:root{--bg:#0d0e10;--bg2:#16181b;--line:#2a2d32;--tx:#e9eaec;--mut:#a3a8b0;--ac:#ff5a1f;--ac2:#ff7a45}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;padding-bottom:64px}
img{max-width:100%;display:block}a{color:var(--ac2)}h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;color:#000;padding:8px;z-index:99}
.top{position:sticky;top:0;z-index:50;background:rgba(13,14,16,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;height:76px}.foot .logo{font-weight:900;letter-spacing:.08em;color:#fff;text-decoration:none;font-size:20px}.logo span{color:var(--ac);margin-left:4px}
#nav{display:flex;gap:18px;align-items:center;margin-left:auto}#nav a{color:var(--tx);text-decoration:none;font-size:15px}#nav a[aria-current]{color:var(--ac)}#nav a:hover{color:#fff}
.hdr-call{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}.menu{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:#fff;padding:8px 12px;border-radius:6px;font:inherit}
.btn{display:inline-block;padding:14px 22px;border-radius:8px;font-weight:700;text-decoration:none;border:2px solid transparent;font-size:16px;cursor:pointer}.btn.sm{padding:8px 14px;font-size:14px}
.btn-accent{background:var(--ac);color:#111}.btn-accent:hover{background:var(--ac2)}.btn-call{border-color:#fff;color:#fff}.btn-call:hover{background:#fff;color:#111}.btn-ghost{border-color:var(--line);color:#fff}
.hero{position:relative;min-height:min(88vh,780px);display:flex;align-items:flex-end;overflow:hidden}.hero-sm{min-height:min(62vh,540px)}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,16,.2) 0%,rgba(13,14,16,.55) 50%,var(--bg) 100%)}.hero-txt{position:relative;padding-bottom:64px;max-width:820px;margin-left:max(20px,calc((100vw - 1200px)/2 + 20px))}
.hero h1{font-size:clamp(34px,6vw,64px);font-weight:900}.lede{font-size:clamp(18px,2vw,21px);color:#d5d7db;max-width:640px}.kicker{color:var(--ac);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:13px;margin:0 0 10px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.sec{padding:72px 0;border-top:1px solid var(--line)}.sec.dark{background:var(--bg2)}
.h1{font-size:clamp(32px,5vw,52px);font-weight:900}.h2{font-size:clamp(26px,3.4vw,38px);font-weight:800}.sub{color:var(--mut);margin-top:-6px}.muted{color:var(--mut);font-size:15px}.center{text-align:center;margin-top:28px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:28px;color:var(--tx);text-decoration:none;border-top:3px solid var(--ac)}a.card:hover{border-color:var(--ac)}.card p{color:var(--mut);margin:0}.card span{display:block;margin-top:14px;color:var(--ac);font-weight:700}
.mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.mosaic figure{aspect-ratio:3/2;overflow:hidden;border-radius:10px;background:#1a1c1f}.mosaic img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.gallery img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;border-radius:8px}figure{margin:0}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}figcaption{color:var(--mut);font-size:14px;padding:8px 2px}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.split.rev figure{order:2}.split figure img{border-radius:12px;width:100%;aspect-ratio:4/3;object-fit:cover}
.ticks,.steps{padding-left:20px}.ticks li,.steps li{margin-bottom:12px}.prose{max-width:780px}.prose h2{margin-top:1.4em}
.areas{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.areas a,.areas span{border:1px solid var(--line);border-radius:999px;padding:10px 18px;color:#fff;text-decoration:none}.areas a{border-color:var(--ac)}
.cta{text-align:center;max-width:700px;margin:0 auto}.cta .ctas{justify-content:center}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:700;font-size:18px}.faq p{color:var(--mut)}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:20px 0}caption{text-align:left;color:var(--mut);padding-bottom:8px}th,td{border:1px solid var(--line);padding:12px;text-align:left}th{background:var(--bg2)}
.qform{display:grid;gap:14px;margin-top:20px}.qform label{display:grid;gap:6px;font-weight:600}.qform input,.qform textarea{background:var(--bg2);border:1px solid var(--line);color:#fff;border-radius:8px;padding:12px;font:inherit}.qform input:focus,.qform textarea:focus{outline:2px solid var(--ac)}
fieldset{border:1px solid var(--line);border-radius:8px;padding:12px}.chk{display:flex!important;align-items:center;gap:10px;font-weight:400}.chk input{width:20px;height:20px}.hp{position:absolute;left:-9999px}
.foot{background:#08090a;border-top:1px solid var(--line);padding:56px 0 20px;font-size:15px}.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.foot h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}.foot a{display:block;color:var(--tx);text-decoration:none;margin:4px 0}.foot p{color:var(--mut)}
.sister{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--mut)}.sister a{display:inline;color:var(--ac2)}.copy{color:#6d727a;font-size:13px;margin-top:10px}
.mbar{position:fixed;bottom:0;left:0;right:0;display:none;z-index:60;box-shadow:0 -4px 20px rgba(0,0,0,.5)}.mbar a{flex:1;text-align:center;padding:18px;font-weight:800;text-decoration:none;color:#fff;background:#1e2125}.mbar a+a{background:var(--ac);color:#111}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
@media(max-width:900px){#nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg);padding:20px;border-bottom:1px solid var(--line)}#nav.open{display:flex}.menu{display:block}.hdr-call{display:none}
.cards3,.split,.fgrid{grid-template-columns:1fr}.split.rev figure{order:0}.mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery{grid-template-columns:1fr}.mbar{display:flex}.hero{min-height:min(78vh,680px)}.sec{padding:52px 0}}
@media(max-width:520px){.mosaic{grid-template-columns:1fr;gap:12px}}
@media(min-width:901px){body{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.cards3{align-items:stretch}.card{display:flex;flex-direction:column}a.card span{margin-top:auto;padding-top:14px}


/* header badge */
.top .logo{align-self:flex-start;display:block;line-height:0;position:relative;z-index:2}
.top .logo img{width:164px;height:164px;margin-top:6px;max-width:none}
.foot .logo img{width:120px;height:120px;margin:0 0 8px}
.hero-txt{padding-top:120px}
@media(max-width:900px){.bar{height:64px}.top .logo img{width:104px;height:104px;margin-top:4px}.hero-txt{padding-top:70px}}
/* r2: sticky mobile bar only <=768px, body padding so footer is never covered */
body{padding-bottom:0}.mbar{display:none}
@media(max-width:768px){.mbar{display:flex}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.mbar{padding-bottom:env(safe-area-inset-bottom);background:#1e2125}.mbar a{padding:16px;min-height:48px}}
.mbar a:focus-visible{outline:3px solid #fff;outline-offset:-3px}

.mbar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;flex-direction:row;align-items:stretch;padding:0}
.mbar a{flex:1 1 50%;display:flex;align-items:center;justify-content:center;height:56px;padding:0 12px;line-height:1}
.mbar{padding-bottom:env(safe-area-inset-bottom)}
/* v4: phone image layout. Hero = landscape photo stacked above copy; no tall cover crops */
@media(max-width:768px){
.hero,.hero-sm{display:block;min-height:0;overflow:visible}
.hero-img{position:static;inset:auto;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 55%}
.hero-shade{display:none}
.hero-txt{padding:24px 20px 36px;margin:0;max-width:none}
.hero h1{font-size:clamp(28px,8vw,40px)}
.split figure img{aspect-ratio:16/10;object-position:center 55%}
.mosaic figure{aspect-ratio:16/10}.mosaic img{object-position:center 55%}
.gallery img{aspect-ratio:auto;height:auto;object-fit:contain}
}
img{height:auto}.hero-img{height:100%}.mosaic img{height:100%}@media(max-width:768px){.hero-img{height:auto}}
