:root{--bg:#0f0f10;--panel:#181819;--text:#e6dfcd;--muted:#8c887f;--line:#2c2b29;--accent:#c4573b;--ph1:#1a1a1b;--ph2:#222223;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Josefin Sans",system-ui,sans-serif;font-weight:300;line-height:1.7;text-align:center}
a{color:inherit;text-decoration:none}
nav{display:flex;justify-content:center;gap:34px;padding:22px 5vw;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted)}
nav a:hover{color:var(--accent)}
.hero{padding:9vh 5vw 11vh}
.sign{display:inline-block;border:1px solid var(--text);outline:1px solid var(--text);outline-offset:6px;padding:34px clamp(22px,6vw,70px);margin:6px}
.sign small{display:block;font-size:.7rem;letter-spacing:.5em;text-transform:uppercase;color:var(--muted)}
h1{font-family:Limelight,serif;font-weight:400;font-size:clamp(2.2rem,7vw,5rem);line-height:1.05;margin:.25em 0;color:var(--accent);letter-spacing:.02em}
.hero p{margin:34px auto 0;max-width:440px;color:var(--muted);letter-spacing:.08em}
section{padding:9vh 5vw;border-top:1px solid var(--line)}
h2{font-weight:400;font-size:.8rem;letter-spacing:.5em;text-transform:uppercase;margin:0 0 40px;color:var(--accent)}
.reel{display:flex;align-items:center;justify-content:center;max-width:860px;margin:0 auto;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ph1),var(--ph2));border:1px solid var(--text);outline:1px solid var(--text);outline-offset:6px;flex-direction:column;gap:14px}
.reel b{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-weight:300;transition:.25s}
.reel:hover b{background:var(--accent);color:var(--bg)}
.reel span{font-size:.72rem;letter-spacing:.4em;text-transform:uppercase}
.menu{list-style:none;margin:0 auto;padding:0;max-width:520px}
.menu li{padding:16px 0;border-bottom:1px dotted var(--line);font-size:1.05rem;letter-spacing:.3em;text-transform:uppercase}
.menu li:last-child{border:0}
.grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;max-width:1000px;margin:0 auto}
.rv{position:relative;overflow:hidden;display:block;border:1px solid var(--line)}
.rv img{width:100%;height:100%;object-fit:cover;display:block}
.grid .rv{width:calc(33.333% - 12px);min-width:240px;flex:1 1 240px;max-width:320px;aspect-ratio:2/3}
.sub{font-size:.7rem;letter-spacing:.45em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.film{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1000px;margin:0 auto}
.film .rv{aspect-ratio:3/2}
.film .rv:first-child{grid-column:1/-1}
@media(max-width:560px){.film{grid-template-columns:1fr}}
.hero p.line{font-size:.75rem;letter-spacing:.4em;text-transform:uppercase}
.js .rv::after{content:"";position:absolute;inset:0;background:var(--bg);transform-origin:right center;transition:transform 1.2s cubic-bezier(.77,0,.18,1);z-index:1}
.js .rv img{transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.js .rv.in::after{transform:scaleX(0)}
.js .rv.in img{transform:scale(1)}
@media (prefers-reduced-motion:reduce){.js .sign h1 span{animation:none}.js .rv::after{display:none}.js .rv img{transform:none;transition:none}}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1000px;margin:0 auto}
.story-img{aspect-ratio:1/1}
.story-img img{object-position:61% 50%}
@media(max-width:700px){.story-grid{grid-template-columns:1fr;gap:34px}}
.story-txt{text-align:left;color:var(--muted);letter-spacing:.03em}
.story-txt p{margin:0 0 1.4em}
.sign h1{color:#ff8a6e;text-shadow:0 0 3px #ffd2c4,0 0 9px #ff6a48,0 0 22px #e8452b,0 0 46px rgba(232,69,43,.75),0 0 90px rgba(232,69,43,.5)}
.sign h1 span{display:inline-block}
@keyframes ignite{0%,5%{color:#3b2521;text-shadow:none}6%,7%{color:#ff8a6e;text-shadow:0 0 3px #ffd2c4,0 0 9px #ff6a48,0 0 22px #e8452b,0 0 46px rgba(232,69,43,.75),0 0 90px rgba(232,69,43,.5)}8%,11%{color:#3b2521;text-shadow:none}12%,13%{color:#8a4a3c;text-shadow:0 0 6px rgba(232,69,43,.35)}14%,18%{color:#3b2521;text-shadow:none}19%,22%{color:#ff8a6e;text-shadow:0 0 3px #ffd2c4,0 0 9px #ff6a48,0 0 22px #e8452b,0 0 46px rgba(232,69,43,.75),0 0 90px rgba(232,69,43,.5)}23%,26%{color:#8a4a3c;text-shadow:0 0 6px rgba(232,69,43,.35)}27%,32%{color:#3b2521;text-shadow:none}33%,40%{color:#ff8a6e;text-shadow:0 0 3px #ffd2c4,0 0 9px #ff6a48,0 0 22px #e8452b,0 0 46px rgba(232,69,43,.75),0 0 90px rgba(232,69,43,.5)}41%,43%{color:#3b2521;text-shadow:none}44%,100%{color:#ff8a6e;text-shadow:0 0 3px #ffd2c4,0 0 9px #ff6a48,0 0 22px #e8452b,0 0 46px rgba(232,69,43,.75),0 0 90px rgba(232,69,43,.5)}}
@keyframes hum{0%,88%{opacity:1}89%{opacity:.55}90%{opacity:1}91%{opacity:.8}92%,100%{opacity:1}}
.js .sign h1 span{animation:ignite 2.4s both,hum 8s 4s infinite}
.js .sign h1 span:nth-child(1){animation-delay:.3s,4s}
.js .sign h1 span:nth-child(2){animation-delay:.8s,5.3s}
.js .sign h1 span:nth-child(3){animation-delay:1.3s,6.7s}
.reel{position:relative;overflow:hidden}
.reel .thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:brightness(.7);transition:filter .4s,transform 1.2s}
.reel:hover .thumb{filter:brightness(.9);transform:scale(1.03)}
.reel b,.reel span{position:relative;z-index:1}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:1000px;margin:0 auto}
.quote{margin:0;border:1px solid var(--line);padding:34px 26px;text-align:left}
.quote blockquote{margin:0 0 22px;color:var(--text);font-size:1rem;line-height:1.8}
.quote figcaption{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.quotes .quote{grid-column:1/-1;padding:44px clamp(24px,5vw,56px)}
.quotes .quote blockquote{font-size:1.05rem;max-width:760px}
.pq{max-width:700px;margin:84px auto 0;text-align:center}
.pq blockquote{margin:0 0 18px;font-size:1.25rem;line-height:1.7;letter-spacing:.04em}
.pq figcaption{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent)}
#v-portraits .rv{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:100;background:rgba(8,8,9,.94);display:flex;align-items:center;justify-content:center;padding:4vh 4vw;opacity:0;pointer-events:none;transition:opacity .3s}
.lb.open{opacity:1;pointer-events:auto}
.lb img{max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--line);cursor:zoom-out}
.lb button{position:absolute;background:none;border:0;color:var(--text);font:inherit;font-size:1.6rem;cursor:pointer;padding:16px;opacity:.7}
.lb button:hover{opacity:1;color:var(--accent)}
.lb .x{top:6px;right:10px}.lb .pv{left:6px;top:50%;transform:translateY(-50%)}.lb .nx{right:6px;top:50%;transform:translateY(-50%)}
form{display:grid;gap:14px;max-width:460px;margin:0 auto;text-align:left}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--text);color:var(--text);padding:12px 2px;font:inherit;font-size:.95rem;border-radius:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
select option{background:var(--bg);color:var(--text)}
::placeholder{color:var(--muted)}
.btn{justify-self:center;margin-top:16px;padding:14px 34px;border:1px solid var(--accent);color:var(--accent);background:none;font:inherit;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;cursor:pointer}
.btn:hover{background:var(--accent);color:var(--bg)}
footer{padding:44px 5vw;border-top:1px solid var(--line);font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted)}
footer p{margin:6px 0}
@media(max-width:560px){nav{gap:18px;letter-spacing:.2em}}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:1000px;margin:0 auto}
.door{border:1px solid var(--line);padding:46px 24px;display:block;transition:.25s}
.door:hover{border-color:var(--accent)}
.door b{display:block;font-family:Limelight,serif;font-weight:400;font-size:1.5rem;color:var(--accent);margin-bottom:10px}
.door span{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.intro{max-width:520px;margin:0 auto 44px;color:var(--muted);letter-spacing:.06em}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:34px;max-width:900px;margin:0 auto}
.steps div small{display:block;font-family:Limelight,serif;color:var(--accent);font-size:1.3rem;margin-bottom:6px}
.steps div p{margin:0;color:var(--muted);font-size:.92rem}
.offer{font-size:.75rem;letter-spacing:.4em;text-transform:uppercase;margin:0 0 44px;color:var(--text)}
nav a.on{color:var(--accent)}
[hidden]{display:none!important}
.reel iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.reel.playing{background:#000}

.sent{max-width:460px;margin:0 auto;text-align:center;font-size:1.05rem;line-height:1.7;color:var(--text)}
