
:root{--bg:#0a0a0a;--tx:#f5f5f2;--mu:#8c8c88;--line:rgba(255,255,255,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--tx);font:300 17px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}
.w{max-width:1280px;margin:0 auto;padding:0 32px}
nav{position:fixed;inset:0 0 auto 0;z-index:5;transition:background .3s}nav.s{background:rgba(10,10,10,.82);backdrop-filter:blur(10px)}
nav .w{display:flex;align-items:center;height:76px;gap:36px}nav .logo{height:22px;width:auto}nav .sp{flex:1}
nav a.l{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,245,242,.75)}nav a.l:hover{color:#fff}
.order{font-size:13px;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.5);padding:11px 20px;border-radius:2px}.order:hover{background:#fff;color:#000}
.hero{position:relative;height:100vh;min-height:620px;overflow:hidden}.hero img{position:absolute;inset:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 55%,rgba(0,0,0,.65))}
.hero .t{position:absolute;left:0;right:0;bottom:9vh;z-index:2}
h1{font-weight:300;font-size:clamp(44px,7vw,104px);line-height:1;letter-spacing:-.04em;margin:0}
.hero p{max-width:460px;color:rgba(245,245,242,.8);margin:22px 0 0;font-size:18px}
.lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu)}
.st{padding:150px 0}.st h2{font-weight:300;font-size:clamp(30px,4vw,56px);line-height:1.08;letter-spacing:-.03em;margin:18px 0 0;max-width:15ch}
.st p{color:var(--mu);max-width:520px;margin:26px 0 0}
.full{height:88vh;min-height:520px;position:relative}.full figcaption{position:absolute;right:32px;bottom:20px;font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.06em}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:84vh}.split .im{position:relative}.split .tx{display:flex;flex-direction:column;justify-content:center;padding:96px 7vw}
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:90px}.nums div{padding:34px 24px 0 0}
.nums b{display:block;font-weight:300;font-size:clamp(34px,3.4vw,52px);letter-spacing:-.03em}.nums small{color:var(--mu);font-size:13.5px}.nums i{font-style:normal;font-size:10px;letter-spacing:.12em;color:var(--mu);margin-left:6px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);margin-top:70px}.team div{padding:30px 24px 0 0}.team b{display:block;font-weight:400;font-size:19px}.team span{color:var(--mu);font-size:14px}
.sup{margin-top:110px;border-top:1px solid var(--line);padding-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.sup b{display:block;font-weight:400}.sup span{color:var(--mu);font-size:14.5px}
.cta{padding:170px 0;text-align:center}.cta h2{margin:0 auto 34px}
footer{border-top:1px solid var(--line);padding:40px 0 60px;color:var(--mu);font-size:13px}footer .w{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between}footer a:hover{color:#fff}
@media(max-width:900px){.split{grid-template-columns:1fr}.split .im{height:60vh}.nums,.team,.sup{grid-template-columns:1fr 1fr}nav a.l{display:none}.st{padding:100px 0}.w{padding:0 22px}}
@media(max-width:520px){.nums,.team,.sup{grid-template-columns:1fr}}

.page-hero{position:relative;height:72vh;min-height:480px;overflow:hidden}.page-hero img{position:absolute;inset:0}.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,0) 35%,rgba(0,0,0,.6))}
.page-hero .t{position:absolute;left:0;right:0;bottom:8vh;z-index:2}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px;border-top:1px solid var(--line);padding-top:34px}.cols b{display:block;font-weight:400;font-size:19px;margin-bottom:8px}.cols p{margin:0;color:var(--mu);font-size:15.5px}
.sup{margin-top:90px;border-top:1px solid var(--line);padding-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.sup b{display:block;font-weight:400;margin-bottom:6px}.sup span{color:var(--mu);font-size:15px}
nav a.l.on{color:#fff}
@media(max-width:900px){.cols,.sup{grid-template-columns:1fr}}

/* brand (Bob chose option A, 4 Nov): calm neutrals, gradient only as an accent; soft glow sections, never flat colour blocks; headings stay white */
:root{--grad:linear-gradient(120deg,#8e3fbf,#d6457c 55%,#f08a3c)}
.lbl{color:#e0659a}.order{background:var(--grad);border:0;color:#fff;font-weight:500;border-radius:99px}.order:hover{background:var(--grad);color:#fff;filter:brightness(1.12)}
.nums b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}nav a.l.on{color:#e0659a}
nav .logo{height:30px}
.cta,.glow{position:relative;background:radial-gradient(55% 90% at 88% 12%,rgba(214,69,124,.2),transparent 72%),radial-gradient(45% 80% at 8% 92%,rgba(142,63,191,.18),transparent 72%),radial-gradient(30% 50% at 60% 100%,rgba(240,138,60,.08),transparent 70%)}
.cta::before,.glow::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--grad);opacity:.7}

/* the only two full gradient sections: deep tones, large type, lots of space */
.band{background:linear-gradient(120deg,#3b1654,#7d1f50 58%,#8f4d24);color:#fff}.band .lbl{color:rgba(255,255,255,.75)}.band p,.band small,.band .nums i{color:rgba(255,255,255,.82)}.band .nums{border-top-color:rgba(255,255,255,.25)}.band .nums b{background:none;color:#fff;-webkit-text-fill-color:#fff}
.cta{background:linear-gradient(120deg,#3b1654,#7d1f50 58%,#8f4d24)}.cta::before{display:none}.cta p{color:rgba(255,255,255,.85)!important}.cta .order{background:#fff;color:#14141a}.cta .order:hover{filter:none;background:#f1f1f1;color:#14141a}
