:root{
  --bg:#08070a;
  --panel:#111016;
  --ink:#f6f0e8;
  --muted:#b9b0a7;
  --red:#e53030;
  --deep-red:#7d1117;
  --blue:#214dff;
  --line:rgba(246,240,232,.16);
  --glass:rgba(8,7,10,.58);
  --ease:cubic-bezier(.19,1,.22,1);
  --radius:28px;
  --font-display: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);overflow-x:hidden;cursor:none}
a,button{cursor:none;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--red);color:#fff}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(circle at 14% 10%,rgba(229,48,48,.16),transparent 32%),
  radial-gradient(circle at 88% 24%,rgba(33,77,255,.14),transparent 30%),
  linear-gradient(180deg,#08070a 0%,#0d080b 50%,#08070a 100%)}
.grain{pointer-events:none;position:fixed;inset:-50%;z-index:90;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");animation:grain 1.2s steps(2) infinite;mix-blend-mode:soft-light}.scanline{pointer-events:none;position:fixed;inset:0;z-index:91;opacity:.12;background:repeating-linear-gradient(180deg,transparent 0 4px,rgba(255,255,255,.055) 5px,transparent 6px)}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(3%,3%)}100%{transform:translate(0)}}
#lightfield{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.64}.cursor{position:fixed;left:0;top:0;width:18px;height:18px;border:1px solid rgba(246,240,232,.7);border-radius:50%;z-index:200;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),border-color .25s}.cursor span{position:absolute;inset:5px;border-radius:50%;background:var(--red);box-shadow:0 0 24px var(--red)}.cursor.is-active{width:74px;height:74px;border-color:rgba(229,48,48,.5);mix-blend-mode:difference}.progress{position:fixed;left:24px;top:120px;width:1px;height:calc(100vh - 170px);z-index:80;background:rgba(246,240,232,.12)}.progress i{display:block;width:100%;height:0;background:linear-gradient(var(--ink),var(--red));box-shadow:0 0 18px var(--red)}
.intro{position:fixed;inset:0;z-index:300;background:#050507;display:grid;place-items:center;overflow:hidden;transition:transform 1.2s var(--ease),opacity .9s var(--ease)}.intro.hide{transform:translateY(-110%);opacity:0}.intro__cut{position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 45%,rgba(229,48,48,.9) 45% 46%,transparent 46% 100%);animation:introCut 1.4s var(--ease) infinite}.intro__mark{font-family:var(--font-display);font-size:clamp(7rem,18vw,18rem);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(246,240,232,.24);opacity:.7}.intro__text{position:absolute;bottom:10%;left:10%;display:grid;gap:8px}.intro__text span{font-size:.78rem;letter-spacing:.36em;color:var(--red)}.intro__text strong{font-family:var(--font-display);font-size:clamp(2rem,5vw,6rem);line-height:.85}.intro__text strong:after{content:"";display:inline-block;width:.6em;height:.13em;margin-left:.18em;background:var(--red);animation:blink .9s infinite}@keyframes introCut{0%{transform:translateX(-40%)}100%{transform:translateX(40%)}}@keyframes blink{50%{opacity:.18}}
.nav{position:fixed;z-index:120;left:0;right:0;top:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);background:linear-gradient(180deg,rgba(8,7,10,.82),rgba(8,7,10,0));backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand__seal{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);letter-spacing:-.06em;background:rgba(255,255,255,.03);box-shadow:inset 0 0 20px rgba(229,48,48,.14)}.brand__text{font-family:var(--font-display);font-size:1.1rem;line-height:.82;letter-spacing:.02em}.nav__links{display:flex;gap:24px;align-items:center}.nav__links a{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;color:rgba(246,240,232,.72);position:relative}.nav__links a:not(.nav__cta):after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav__links a:hover{color:var(--ink)}.nav__links a:hover:after{transform:scaleX(1)}.nav__cta{border:1px solid rgba(246,240,232,.24);border-radius:999px;padding:13px 18px;color:#fff!important;background:rgba(229,48,48,.14)}.nav__toggle{display:none;background:none;border:0;width:48px;height:48px;position:relative}.nav__toggle span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:.4s var(--ease)}.nav__toggle span:first-child{top:17px}.nav__toggle span:last-child{bottom:17px}.nav__toggle.open span:first-child{top:23px;transform:rotate(45deg)}.nav__toggle.open span:last-child{bottom:23px;transform:rotate(-45deg)}
.scene{position:relative;min-height:100vh;padding:clamp(90px,10vw,160px) clamp(20px,5vw,88px)}.scene:after{content:attr(data-scene);position:absolute;right:clamp(18px,4vw,54px);top:110px;font-family:var(--font-display);font-size:clamp(3rem,8vw,10rem);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(246,240,232,.07);pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:.32em;font-size:.76rem;color:var(--red);font-weight:800}.lead{font-size:clamp(1.12rem,2.2vw,1.8rem);line-height:1.5;color:rgba(246,240,232,.82)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;padding:0 24px;text-decoration:none;border:1px solid rgba(229,48,48,.7);background:linear-gradient(135deg,var(--red),var(--deep-red));box-shadow:0 16px 60px rgba(229,48,48,.22);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem}.button--ghost{background:rgba(246,240,232,.04);border-color:rgba(246,240,232,.22);box-shadow:none}.reveal{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.section-head{max-width:760px;margin-bottom:52px}.section-head h2,.split-title,.split-scene h2,.wedding h2,.contact h2{font-family:var(--font-display);font-size:clamp(3rem,9vw,9.5rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;margin:.08em 0}.section-head p:last-child{color:var(--muted)}
.hero{height:100vh;display:grid;align-items:end;overflow:hidden;padding-bottom:clamp(28px,6vw,80px)}.hero__photo{position:absolute;inset:0;z-index:-4;overflow:hidden}.hero__photo img{width:100%;height:112%;object-fit:cover;filter:contrast(1.22) grayscale(.92) brightness(.72);transform:scale(1.08)}.hero__mask{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(8,7,10,.98) 0%,rgba(8,7,10,.68) 40%,rgba(8,7,10,.34) 100%),linear-gradient(0deg,rgba(8,7,10,1) 0%,rgba(8,7,10,.1) 42%,rgba(8,7,10,.88) 100%)}.hero__frame{position:absolute;inset:100px clamp(14px,4vw,68px) 34px;border:1px solid rgba(246,240,232,.14);border-radius:34px;pointer-events:none}.hero__frame:before,.hero__frame:after{content:"";position:absolute;background:var(--red);box-shadow:0 0 24px var(--red)}.hero__frame:before{left:38px;top:-1px;width:160px;height:1px}.hero__frame:after{right:-1px;bottom:44px;width:1px;height:150px}.hero__copy{position:relative;z-index:2;max-width:1240px}.hero__title{font-family:var(--font-display);font-size:clamp(5rem,17vw,19rem);line-height:.76;letter-spacing:-.09em;margin:0;text-transform:uppercase}.hero__title span{display:block;text-shadow:0 18px 64px rgba(0,0,0,.65)}.kinetic span:nth-child(2){padding-left:clamp(20px,12vw,170px);color:transparent;-webkit-text-stroke:1px rgba(246,240,232,.84);text-shadow:none}.hero__bottom{display:flex;gap:28px;align-items:flex-end;justify-content:space-between;max-width:1050px;margin-top:28px}.hero__bottom p{max-width:560px;font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.55;color:rgba(246,240,232,.82)}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}.hero__ticker{position:absolute;right:-90px;top:50%;transform:rotate(90deg);font-family:var(--font-display);font-size:clamp(1.1rem,2vw,2rem);color:rgba(246,240,232,.16);white-space:nowrap;overflow:hidden;width:70vh}.hero__ticker div{display:flex;gap:32px;animation:ticker 22s linear infinite}.soundbar{position:absolute;left:clamp(22px,5vw,88px);top:132px;display:flex;gap:5px;height:36px;align-items:end}.soundbar i{width:3px;height:8px;background:rgba(246,240,232,.58);animation:sound 1.1s ease-in-out infinite}.soundbar i:nth-child(2n){animation-delay:.1s}.soundbar i:nth-child(3n){animation-delay:.2s}.soundbar i:nth-child(4n){animation-delay:.32s}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes sound{50%{height:32px;background:var(--red)}}
.manifesto{display:grid;grid-template-columns:minmax(280px,46vw) 1fr;gap:clamp(34px,7vw,110px);align-items:start}.manifesto__sticky{position:sticky;top:130px}.split-title{display:grid}.split-title span:nth-child(2){color:transparent;-webkit-text-stroke:1px rgba(246,240,232,.78)}.manifesto__cards{display:grid;gap:24px;margin-top:8vh}.story-card{min-height:270px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,rgba(246,240,232,.05),rgba(246,240,232,.015));position:relative;overflow:hidden}.story-card:before{content:"";position:absolute;inset:auto -18% -50% 28%;height:200px;background:radial-gradient(circle,rgba(229,48,48,.26),transparent 68%);filter:blur(16px)}.story-card span{font-family:var(--font-display);font-size:6rem;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(246,240,232,.18)}.story-card h3{font-size:clamp(1.45rem,2vw,2.2rem);margin:16px 0 10px}.story-card p{color:var(--muted);line-height:1.65}
.formats{overflow:hidden}.format-stage{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.format-panel{min-height:420px;padding:34px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.018);transition:background .5s var(--ease),transform .5s var(--ease)}.format-panel:hover{background:rgba(229,48,48,.07);transform:translateY(-10px)}.format-panel:last-child{border-right:0}.format-panel__num{font-family:var(--font-display);font-size:clamp(5rem,10vw,10rem);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(246,240,232,.18)}.format-panel h3{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,4.4rem);line-height:.82;margin:0;text-transform:uppercase}.format-panel p{color:var(--muted);line-height:1.6}.image-orbit{position:fixed;z-index:60;right:6vw;top:50%;width:240px;height:320px;border-radius:24px;overflow:hidden;pointer-events:none;opacity:0;transform:translateY(-50%) rotate(-7deg) scale(.85);transition:opacity .45s var(--ease),transform .45s var(--ease);box-shadow:0 30px 100px rgba(0,0,0,.6)}.image-orbit.show{opacity:1;transform:translateY(-50%) rotate(-2deg) scale(1)}.image-orbit img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.12)}
.split-scene{display:grid;grid-template-columns:minmax(260px,42vw) 1fr;gap:clamp(34px,7vw,100px);align-items:center;min-height:105vh}.split-scene__image{height:min(78vh,760px);border-radius:34px;overflow:hidden;position:relative;box-shadow:0 34px 120px rgba(0,0,0,.58)}.split-scene__image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(8,7,10,.38)),radial-gradient(circle at 80% 20%,rgba(33,77,255,.25),transparent 34%)}.split-scene__image img{width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(.85)}.split-scene__copy{max-width:660px}.split-scene__copy p:not(.eyebrow){font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.58;color:var(--muted)}.timeline{margin-top:34px;border-left:1px solid var(--red);padding-left:24px;display:grid;gap:8px}.timeline span{color:var(--red);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:800}.timeline strong{font-family:var(--font-display);font-size:clamp(2rem,5vw,4.8rem);line-height:.82}.timeline small{color:var(--muted)}
.wedding{min-height:110vh;display:flex;align-items:end;overflow:hidden}.wedding__bg{position:absolute;inset:0;z-index:-2}.wedding__bg img{width:100%;height:112%;object-fit:cover;filter:contrast(1.08) saturate(.74) brightness(.66)}.wedding:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,7,10,.98),rgba(8,7,10,.72) 42%,rgba(8,7,10,.14)),linear-gradient(0deg,rgba(8,7,10,.96),transparent 60%)}.wedding__copy{width:min(760px,100%);padding:clamp(24px,4vw,54px);border:1px solid var(--line);border-radius:34px;background:rgba(8,7,10,.55);backdrop-filter:blur(16px);margin-bottom:6vh}.wedding__copy p:not(.eyebrow){font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.6;color:var(--muted)}
.costume__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:center}.costume__big{height:min(72vh,700px);border-radius:34px;overflow:hidden;box-shadow:0 30px 120px rgba(0,0,0,.54);clip-path:polygon(4% 0,100% 0,96% 100%,0 92%)}.costume__big img{width:100%;height:100%;object-fit:cover;filter:grayscale(.7) contrast(1.22)}.costume__copy{font-size:clamp(1.05rem,1.8vw,1.4rem);line-height:1.58;color:var(--muted)}.costume__copy ul{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:12px}.costume__copy li{padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}.costume__copy li:before{content:"//";color:var(--red);margin-right:12px;font-weight:900}
.gallery{padding-bottom:clamp(100px,12vw,180px)}.gallery__intro{max-width:760px;margin-bottom:44px}.gallery__intro h2{font-family:var(--font-display);font-size:clamp(3rem,9vw,9rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;margin:.08em 0}.gallery__intro p:last-child{color:var(--muted);line-height:1.6}.gallery__stage{position:relative;height:min(78vh,760px);border-radius:40px;overflow:hidden;border:1px solid var(--line);background:#050507}.gallery__stage:before{content:"";position:absolute;inset:22px;z-index:5;border:1px solid rgba(246,240,232,.12);border-radius:28px;pointer-events:none}.gallery__item{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.08) translateX(8%);clip-path:polygon(18% 0,100% 0,82% 100%,0 100%);transition:opacity .9s var(--ease),transform .9s var(--ease),clip-path .9s var(--ease)}.gallery__item.active{opacity:1;transform:scale(1);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.gallery__item img{width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(.8)}.gallery__item:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,10,.55),transparent 40%,rgba(8,7,10,.24)),linear-gradient(0deg,rgba(8,7,10,.7),transparent 55%)}.gallery__nav{position:absolute;z-index:10;bottom:28px;width:58px;height:58px;border-radius:50%;border:1px solid rgba(246,240,232,.22);background:rgba(8,7,10,.48);color:var(--ink);font-size:1.4rem;backdrop-filter:blur(12px)}.gallery__nav--prev{right:100px}.gallery__nav--next{right:30px}.gallery__caption{position:absolute;z-index:10;left:30px;bottom:32px;font-family:var(--font-display);font-size:clamp(2rem,5vw,6rem);line-height:.8;text-transform:uppercase;letter-spacing:-.05em;max-width:680px;text-shadow:0 20px 80px rgba(0,0,0,.8)}
.contact{display:grid;grid-template-columns:1fr minmax(300px,520px);gap:clamp(32px,7vw,100px);align-items:center;min-height:90vh;background:linear-gradient(180deg,transparent,rgba(229,48,48,.045))}.contact__copy p{color:var(--muted);line-height:1.6;max-width:620px}.phone{display:block;width:max-content;margin:28px 0;font-family:var(--font-display);font-size:clamp(2rem,5vw,4.8rem);line-height:.85;text-decoration:none;color:transparent;-webkit-text-stroke:1px rgba(246,240,232,.78)}.contact__form{border:1px solid var(--line);border-radius:34px;background:rgba(246,240,232,.045);padding:28px;display:grid;gap:16px;backdrop-filter:blur(16px)}.contact__form label{display:grid;gap:8px;color:rgba(246,240,232,.68);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.contact__form input,.contact__form select,.contact__form textarea{width:100%;border:1px solid rgba(246,240,232,.16);border-radius:16px;background:rgba(8,7,10,.62);color:var(--ink);padding:16px 15px;outline:none;font:inherit}.contact__form input:focus,.contact__form select:focus,.contact__form textarea:focus{border-color:rgba(229,48,48,.72);box-shadow:0 0 0 4px rgba(229,48,48,.13)}.footer{display:flex;justify-content:space-between;gap:18px;padding:28px clamp(20px,5vw,88px);border-top:1px solid var(--line);color:rgba(246,240,232,.58);font-size:.82rem}
@media(max-width:980px){body{cursor:auto}a,button{cursor:pointer}.cursor{display:none}.progress{display:none}.nav{height:76px}.nav__toggle{display:block;z-index:125}.nav__links{position:fixed;inset:0;background:rgba(8,7,10,.96);backdrop-filter:blur(22px);display:grid;place-content:center;gap:24px;transform:translateY(-100%);transition:transform .7s var(--ease);z-index:115}.nav__links.open{transform:none}.nav__links a{font-size:1rem;text-align:center}.scene{padding-left:20px;padding-right:20px}.hero__frame{inset:88px 12px 22px;border-radius:24px}.hero__photo img{object-position:55% center}.hero__bottom{display:grid}.hero__actions{align-items:stretch}.button{width:100%}.hero__ticker{display:none}.manifesto,.split-scene,.costume__grid,.contact{grid-template-columns:1fr}.manifesto__sticky{position:relative;top:auto}.manifesto__cards{margin-top:0}.format-stage{grid-template-columns:1fr}.format-panel{min-height:310px;border-right:0;border-bottom:1px solid var(--line)}.image-orbit{display:none}.split-scene__image{height:60vh}.wedding{align-items:end}.wedding__copy{margin:0}.gallery__stage{height:66vh}.gallery__caption{font-size:clamp(2rem,12vw,5rem);left:20px;bottom:110px}.gallery__nav{bottom:26px}.footer{display:grid}}
@media(max-width:560px){.brand__text{display:none}.hero__title{font-size:clamp(4.5rem,23vw,7rem)}.kinetic span:nth-child(2){padding-left:20px}.hero__bottom p{font-size:1rem}.section-head h2,.split-title,.split-scene h2,.wedding h2,.contact h2,.gallery__intro h2{font-size:clamp(3rem,18vw,5.7rem)}.scene:after{top:86px;right:18px}.story-card{padding:24px}.format-panel{padding:26px}.split-scene__image{height:56vh}.wedding__bg img{object-position:58% center}.costume__big{height:48vh;clip-path:none;border-radius:24px}.gallery__stage{height:60vh;border-radius:24px}.gallery__item img{object-position:center}.contact__form{padding:18px;border-radius:24px}.phone{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.intro{display:none}}
