
:root{--bg:#07080c;--bg2:#0d0f16;--panel:#121521;--text:#f4f4f1;--muted:#a3a8b6;--accent:#e3a824;--accent2:#f5c04a;--on-accent:#0a0a0a;--line:rgba(120,140,255,.22);--hfont:'Oswald','Arial Narrow',sans-serif;--bfont:'Source Sans 3',system-ui,sans-serif;--hdr:rgba(7,8,12,.93);--hdrtext:#f4f4f1}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{width:100%;background:var(--bg);color:var(--text);font-family:var(--bfont);overflow-x:hidden;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-inline:1.6rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
[data-reveal].is-visible{opacity:1;transform:none}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
.h{font-family:var(--hfont);line-height:1.05;font-weight:600;text-transform:uppercase;letter-spacing:.01em;}
.h2{font-size:clamp(1.9rem,4vw,3rem)}
.lede{color:var(--muted);font-size:1.05rem;max-width:58ch}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.8rem;font-family:var(--bfont);font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;border-radius:2px;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 12px 26px -14px var(--accent)}
.btn-primary:hover{transform:translateY(-2px);background:var(--accent2)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}
.btn-block{width:100%;justify-content:center}
/* header */
.site-nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.6rem;background:var(--hdr);color:var(--hdrtext);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{height:46px;width:auto;border-radius:4px;mix-blend-mode:lighten;}
.brand .nm{font-family:var(--hfont);font-weight:600;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase;line-height:1.05;color:var(--hdrtext)}
.brand .nm small{display:block;font-family:var(--bfont);font-size:.6rem;letter-spacing:.26em;font-weight:600;color:var(--accent);margin-top:.15rem}
.nav-links{display:flex;gap:1.7rem;list-style:none}
.nav-links a{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--hdrtext);opacity:.85;padding-bottom:3px;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a.active{opacity:1;border-color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:1rem}
.nav-call{display:none;font-weight:800;text-decoration:none;color:var(--hdrtext);font-size:.95rem}
.nav-cta{display:none;padding:.65rem 1.2rem;font-size:.78rem}
@media(min-width:980px){.nav-call,.nav-cta{display:inline-flex}}
.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem}
.nav-toggle span{width:26px;height:2px;background:var(--hdrtext)}
@media(min-width:980px){.nav-toggle{display:none}}
@media(max-width:979px){.nav-links{display:none}}
.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;transform:translateY(-100%);transition:transform .35s ease}
.mobile-menu.open{transform:none}
.mobile-menu a{font-family:var(--hfont);font-size:1.9rem;text-decoration:none;color:var(--text);text-transform:uppercase}
.mobile-menu a.btn{font-family:var(--bfont);font-size:.9rem;color:var(--on-accent)}
/* hero split */
.hero{padding:7.5rem 0 4.5rem;position:relative;overflow:hidden;isolation:isolate;}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.2rem;align-items:center}
.hero h1{font-size:clamp(2.5rem,6vw,4.8rem);}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lede{margin-top:1.3rem}
.hero .cta-row{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2rem}
.hero .badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.badge{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:600;color:var(--text);background:rgba(127,127,127,.08)}
.badge svg{width:15px;height:15px;color:var(--accent)}
.hero-media{position:relative}
.hero-media .ph{border:1px solid var(--line);overflow:hidden;border-radius:2px;background:var(--panel);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.hero-media .ph img{width:100%;height:100%;object-fit:cover}
.hero-media .main{aspect-ratio:4/5}
.hero-media .float{position:absolute;width:42%;aspect-ratio:1;left:-1.6rem;bottom:-1.6rem;border:5px solid var(--bg)}
@media(max-width:900px){.hero .grid{grid-template-columns:1fr}.hero-media{max-width:460px}.hero-media .float{left:-.5rem}}
/* hero full bleed variant */
.hero.full{min-height:92vh;display:flex;align-items:flex-end;padding-bottom:4rem;color:#fff}
.hero.full .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.hero.full::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.25) 100%),linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.2) 40%,rgba(0,0,0,.85))}
.hero.full .lede{color:#d4d4d4}
.hero.full .badge{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.hero.full .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
/* strips */
.strip{background:var(--accent);color:var(--on-accent)}
.strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-block:1.2rem}
.strip div{display:flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}
.strip svg{width:20px;height:20px}
.section{padding:5.5rem 0}
.section.alt{background:var(--bg2)}
.sec-head{max-width:660px;margin-bottom:3rem}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}
.sec-head .lede{margin-top:1rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.3rem}
.card{background:var(--panel);border:1px solid var(--line);padding:1.8rem;border-radius:2px;transition:transform .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-4px);border-color:var(--accent)}
.card .ic{width:46px;height:46px;border-radius:2px;background:rgba(127,127,127,.12);color:var(--accent);display:grid;place-items:center;margin-bottom:1.1rem}
.card .ic svg{width:24px;height:24px}
.card h3{font-family:var(--hfont);font-weight:600;font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.95rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr}}
.frame{border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--panel)}
.frame img{width:100%;height:100%;object-fit:cover}
.ticks{list-style:none;margin-top:1.4rem;display:grid;gap:.7rem}
.ticks li{display:flex;gap:.7rem;align-items:flex-start;color:var(--text)}
.ticks svg{width:22px;height:22px;color:var(--accent);flex-shrink:0;margin-top:.1rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.2rem;margin-top:2.2rem}
.stat{border-left:3px solid var(--accent);padding-left:1rem}
.stat b{display:block;font-family:var(--hfont);font-size:2rem;line-height:1;font-weight:600}
.stat span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.gal{columns:3 250px;column-gap:1rem}
.gal .frame{margin-bottom:1rem;break-inside:avoid}
.gal img{height:auto}
.reels{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.2rem}
.reel{position:relative;aspect-ratio:9/16;background:#000;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.reel iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.areas{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.areas span{padding:.45rem .95rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:600;background:var(--panel)}
.cta{padding:5.5rem 1.6rem;text-align:center;background:linear-gradient(120deg,#16318f,#2a56ff);color:#fff}
.cta h2{font-size:clamp(2rem,5vw,3.6rem);max-width:20ch;margin:0 auto}
.cta p{margin:1.1rem auto 0;max-width:52ch;opacity:.9}
.cta .cta-row{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}
.cta .btn-primary{background:#e3a824;color:#0a0a0a;box-shadow:none}
.cta .btn-ghost{color:#fff;border-color:currentColor}
.page-hero{padding:9rem 1.6rem 3.5rem;text-align:center;background:var(--bg2);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.2rem,5.4vw,4rem)}
.page-hero .lede{margin:1.1rem auto 0}
.promos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.promo{background:var(--accent);color:var(--on-accent);padding:1.8rem;border-radius:2px}
.promo b{display:block;font-family:var(--hfont);font-size:2.6rem;line-height:1}
.promo span{display:block;margin-top:.5rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}
.promo small{display:block;margin-top:.4rem;opacity:.85}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2.4rem;align-items:start}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.form{background:var(--panel);border:1px solid var(--line);padding:2rem;border-radius:2px}
.form h2{font-size:1.9rem;margin-bottom:.4rem}
.form .sub{color:var(--muted);margin-bottom:1.5rem;font-size:.95rem}
.fg{margin-bottom:1.1rem}
.fg label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.4rem}
.fg input,.fg select,.fg textarea{width:100%;padding:.85rem 1rem;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:2px;font-family:inherit;font-size:.97rem}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:600px){.row2{grid-template-columns:1fr}}
.note{margin-top:.9rem;font-size:.82rem;color:var(--muted)}
.info{background:var(--panel);border:1px solid var(--line);padding:1.8rem;border-radius:2px;margin-bottom:1.2rem}
.info h3{font-family:var(--hfont);font-weight:600;text-transform:uppercase;font-size:1.3rem;margin-bottom:.9rem}
.info a,.info p{display:block;color:var(--muted);text-decoration:none;margin-bottom:.6rem}
.info a.big{font-family:var(--hfont);font-size:1.9rem;color:var(--text);font-weight:600}
.info a:hover{color:var(--accent)}
footer{background:var(--bg2);border-top:1px solid var(--line);padding:3.5rem 0 1.6rem}
.foot{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2.4rem}
@media(max-width:800px){.foot{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot{grid-template-columns:1fr}}
.foot h4{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.foot a,.foot p{display:block;color:var(--muted);text-decoration:none;font-size:.93rem;margin-bottom:.6rem}
.foot a:hover{color:var(--text)}
.foot-bottom{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.8rem;color:var(--muted)}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;background:var(--accent);color:var(--on-accent)}
.callbar a{flex:1;text-align:center;padding:.95rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;font-size:.85rem}
.callbar a+a{border-left:1px solid rgba(0,0,0,.2)}
@media(min-width:980px){.callbar{display:none}}
body{padding-bottom:3.2rem}
@media(min-width:980px){body{padding-bottom:0}}
.strip{background:linear-gradient(90deg,#16318f,#2a56ff);color:#fff}.card .ic,.badge svg,.ticks svg{color:#5b83ff}.stat{border-color:#2a56ff}.eyebrow{color:#5b83ff}.btn-ghost:hover{color:#5b83ff;border-color:#5b83ff}.brand img{height:40px}
