:root{--gold:#e3b24f;--gold2:#f7dd94;--pink:#f08ab4;--line:rgba(227,178,79,.3);--mute:#b8aaa8;--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;background:#08050b;color:#f3ece4;overflow-x:hidden;font-weight:300;line-height:1.8}
h1,h2,h3,h4,.serif{font-family:"Playfair Display",Georgia,serif;font-weight:700}
::selection{background:var(--gold2);color:#08050b}
#pre{position:fixed;inset:0;background:#08050b;z-index:9999;display:grid;place-items:center;transition:opacity .8s,visibility .8s}
#pre.done{opacity:0;visibility:hidden}
#pre b{font:700 2rem "Playfair Display",serif;letter-spacing:.4em;display:block}
#pre i{display:block;height:1px;background:var(--gold2);margin-top:14px;animation:ld .9s var(--ease) forwards;transform-origin:left;transform:scaleX(0)}
@keyframes ld{to{transform:scaleX(1)}}
#bar{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--gold2);transform:scaleX(0);transform-origin:left;z-index:2000}
#petals{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.navbar{transition:background .4s,padding .4s;padding:18px 0}
.navbar.solid{background:rgba(8,5,11,.88);backdrop-filter:blur(12px);padding:8px 0;border-bottom:1px solid var(--line)}
.navbar-brand{display:flex;align-items:center;gap:12px;font:700 1.4rem "Playfair Display",serif;letter-spacing:.2em}
.navbar-brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:18% 50%;filter:none;border:1px solid var(--gold2)}
.nav-link{position:relative;letter-spacing:.08em;padding:.5rem 1rem!important}
.nav-link::after{content:"";position:absolute;left:1rem;right:1rem;bottom:2px;height:1px;background:var(--gold2);transform:scaleX(0);transition:transform .4s var(--ease)}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
@media(max-width:991px){.navbar-collapse{background:#08050b;padding:10px 16px;border:1px solid var(--line);margin-top:10px}}
main,footer{position:relative;z-index:2}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:110px 0 70px;background:radial-gradient(circle at 78% 35%,#3a1530,transparent 55%),radial-gradient(circle at 15% 80%,#2c2108,transparent 50%),#08050b}
.hero h1{font-size:clamp(3.2rem,10vw,8.5rem);line-height:.95;letter-spacing:.02em;margin:0;color:transparent;-webkit-text-stroke:1.5px var(--gold2)}
.hero h1 .f{background:linear-gradient(var(--gold2),var(--gold2)) no-repeat;background-size:0% 100%;-webkit-background-clip:text;background-clip:text;animation:fillx 2s 1s var(--ease) forwards}
@keyframes fillx{to{background-size:100% 100%}}
.hero .sub{font-size:clamp(1rem,2.4vw,1.6rem);letter-spacing:.4em;margin:18px 0 6px}
.hero .biff{font:600 1.4rem "Playfair Display",serif;color:var(--mute);letter-spacing:.3em}
.up{opacity:0;transform:translateY(40px);animation:upin 1.1s var(--ease) forwards;animation-delay:var(--d,.3s)}
@keyframes upin{to{opacity:1;transform:none}}
.logo-card{position:relative;padding:14px;border:1px solid var(--gold2);border-radius:6px;animation:fl 6s ease-in-out infinite}
.logo-card::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--line);border-radius:6px;z-index:-1}
.logo-card img{width:100%;display:block;border-radius:3px;filter:none;transition:filter .9s}
.logo-card:hover img{filter:none}
@keyframes fl{50%{transform:translateY(-14px)}}
.btn-w{background:var(--gold);color:#08050b;border:1px solid var(--gold);border-radius:0;padding:.8rem 2.2rem;letter-spacing:.12em;transition:all .35s}
.btn-w:hover{background:#08050b;color:var(--gold2);letter-spacing:.2em}
.btn-o{border:1px solid var(--gold2);color:var(--gold2);border-radius:0;padding:.8rem 2.2rem;letter-spacing:.12em;transition:all .35s}
.btn-o:hover{background:var(--gold2);color:#08050b}
.film{position:absolute;left:0;right:0;height:26px;background:repeating-linear-gradient(90deg,transparent 0 16px,rgba(227,178,79,.4) 16px 30px);animation:roll 14s linear infinite}
.film.t{top:0}.film.b{bottom:0;animation-direction:reverse}
@keyframes roll{to{background-position:-300px 0}}
.marq{border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;background:var(--gold2);color:#08050b}
.marq div{display:inline-block;padding:16px 0;font:700 1.3rem "Playfair Display",serif;letter-spacing:.3em;animation:mq 28s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:120px 0;position:relative;overflow:hidden}
.sec-t{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05;margin-bottom:10px}
.ln{height:2px;width:90px;background:var(--gold2);margin:18px 0 34px;transition:width 1.2s var(--ease)}
.rv{opacity:0;transition:opacity 1s var(--d,0s),transform 1.1s var(--ease) var(--d,0s);transform:translateY(50px)}
.rv[data-rv=left]{transform:translateX(-80px)}.rv[data-rv=right]{transform:translateX(80px)}
.rv.in{opacity:1;transform:none}
.ghost{position:absolute;font:700 clamp(8rem,25vw,22rem) "Playfair Display",serif;color:transparent;-webkit-text-stroke:1px rgba(240,138,180,.14);z-index:0;pointer-events:none;line-height:1;white-space:nowrap}
.sec .container{position:relative;z-index:2}
.frame{position:relative;padding:0 0 22px 22px}
.frame::before{content:"";position:absolute;left:0;bottom:0;right:22px;top:22px;border:1px solid var(--gold2)}
.frame .ph{position:relative;aspect-ratio:4/5;overflow:hidden;clip-path:inset(0 100% 0 0);transition:clip-path 1.4s var(--ease)}
.frame.in .ph{clip-path:inset(0)}
.frame img{width:100%;height:100%;object-fit:cover;object-position:16% 50%;filter:none;transform:scale(1.25);transition:transform 2s var(--ease),filter .8s}
.frame.in img{transform:scale(1)}.frame:hover img{filter:none}
.pill{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.pill b{font:700 1.5rem "Playfair Display",serif;min-width:150px}
.pill span{color:var(--mute)}
.div-h{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid var(--gold2);padding-bottom:12px;margin-bottom:22px}
.div-h small{color:var(--mute);letter-spacing:.2em}
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--line);--bs-accordion-btn-bg:transparent;--bs-accordion-active-bg:var(--gold);--bs-accordion-active-color:#08050b;--bs-accordion-btn-color:#f3ece4;--bs-accordion-color:#cfcfcf;--bs-accordion-border-radius:0;--bs-accordion-inner-border-radius:0}
.accordion-item{border-radius:0!important;margin-bottom:10px;border:1px solid var(--line);transition:transform .35s}
.accordion-item:hover{transform:translateX(8px)}
.accordion-button{font:700 1.15rem "Playfair Display",serif;gap:14px;box-shadow:none!important}
.accordion-button .n{opacity:.55;min-width:2.4ch}
.card-b{border:1px solid var(--line);padding:34px;background:#120b15;height:100%;transition:border-color .4s,transform .4s}
.card-b:hover{border-color:var(--gold2)}
.mail{font:700 clamp(1.1rem,2.6vw,1.7rem) "Playfair Display",serif;word-break:break-all;color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--gold2)}
.soc a{display:inline-grid;place-items:center;width:50px;height:50px;border:1px solid var(--gold2);border-radius:50%;color:var(--gold2);font-size:1.2rem;margin-right:12px;transition:all .35s;text-decoration:none}
.soc a:hover{background:var(--gold2);color:#08050b;transform:translateY(-6px) rotate(-10deg)}
.form-control{background:#08050b;border:1px solid var(--line);border-radius:0;color:var(--gold2)}
.form-control:focus{background:#08050b;color:var(--gold2);border-color:var(--gold2);box-shadow:0 0 0 .2rem rgba(240,138,180,.3)}
footer{border-top:1px solid var(--line);padding:40px 0;text-align:center;color:var(--mute);background:#08050b}
.stage{min-height:100vh;display:grid;place-items:center;text-align:center;padding:130px 0 80px;position:relative;overflow:hidden}
.beam{position:absolute;top:-10%;width:30%;height:130%;background:linear-gradient(180deg,rgba(247,221,148,.3),transparent 75%);filter:blur(24px);transform-origin:top center}
.beam.a{left:8%;animation:sw 7s ease-in-out infinite alternate}.beam.b{right:8%;animation:sw 8s ease-in-out infinite alternate-reverse}
@keyframes sw{from{transform:rotate(-15deg)}to{transform:rotate(15deg)}}
.trophy{width:120px;animation:fl 3.5s ease-in-out infinite;filter:drop-shadow(0 0 24px rgba(227,178,79,.7))}
.pod{border:1px solid var(--line);padding:36px 20px;background:rgba(18,11,21,.88);animation:fl 5s ease-in-out infinite;transition:border-color .4s}
.pod:hover{border-color:var(--gold2)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.up,.rv{opacity:1;transform:none}.hero h1 .f{background-size:100% 100%}.frame .ph{clip-path:none}}

/* BIFF theme: cinema gold + blossom pink */
.marq{background:linear-gradient(90deg,var(--gold),var(--gold2),var(--gold))}
.btn-w{background:linear-gradient(120deg,var(--gold),var(--gold2));border-color:var(--gold)}
.btn-w:hover{background:transparent;color:var(--gold2)}
.btn-o{border-color:var(--pink);color:var(--pink)}.btn-o:hover{background:var(--pink);color:#08050b}
.sec-t,.hero h1{}
.sec-t{background:linear-gradient(100deg,var(--gold) 20%,var(--gold2) 45%,var(--gold) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}
@keyframes shine{to{background-position:-220% 0}}
.hero h1 .f{background-image:linear-gradient(100deg,var(--gold),var(--gold2) 50%,var(--gold))}
.hero .biff,.pill b,.accordion-button .n,.div-h small{color:var(--pink)}
.accordion-button:not(.collapsed) .n,.accordion-button:not(.collapsed){color:#08050b}
.soc a:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.card-b:hover,.pod:hover,.accordion-item:hover{border-color:var(--pink)}
.pod h3{color:var(--pink)}
.trophy{filter:drop-shadow(0 0 24px rgba(227,178,79,.7))}
.beam.b{background:linear-gradient(180deg,rgba(240,138,180,.32),transparent 75%)}
.logo-card{box-shadow:0 0 60px rgba(240,138,180,.18)}

section[id]{scroll-margin-top:64px}
.accordion-collapse.collapse{display:block!important;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .5s var(--ease),visibility .5s}
.accordion-collapse.collapse.show{max-height:420px;visibility:visible}
@media(min-width:992px){.navbar-collapse{display:flex!important}}

/* submit */
.submit{padding:150px 0;text-align:center;background:radial-gradient(circle at 50% 50%,#3a1530,transparent 60%),#08050b;border-block:1px solid var(--line)}
.submit .beam{opacity:.6}
.submit .sec-t{font-size:clamp(2.6rem,8vw,6rem);margin-bottom:50px}
.btn-sub{position:relative;display:inline-flex;align-items:center;gap:14px;padding:22px 56px;border-radius:99px;font:700 1.3rem "Playfair Display",serif;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#08050b;background:linear-gradient(120deg,var(--gold),var(--gold2),var(--gold));background-size:200% 100%;overflow:hidden;animation:pulse 2.4s infinite,slide 4s linear infinite;transition:transform .35s var(--ease),letter-spacing .35s}
.btn-sub::after{content:"";position:absolute;top:0;bottom:0;width:60px;left:-100px;background:rgba(255,255,255,.55);transform:skewX(-25deg);animation:sweep 3s infinite}
.btn-sub i{font-size:1.6rem;animation:spin 6s linear infinite}
.btn-sub:hover{transform:scale(1.08);letter-spacing:.28em;color:#08050b}
.btn-sub .ring{position:absolute;inset:0;border-radius:99px;border:2px solid var(--pink);animation:ringo 2.4s infinite;pointer-events:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(227,178,79,.6)}70%,100%{box-shadow:0 0 0 34px rgba(227,178,79,0)}}
@keyframes sweep{to{left:120%}}
@keyframes slide{to{background-position:-200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ringo{from{transform:scale(1);opacity:.9}to{transform:scale(1.35,1.9);opacity:0}}
