
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600&family=Manrope:wght@500;600;700;800&family=Source+Serif+4:ital,opsz,wght@1,8..60,600;1,8..60,700&display=swap');

:root{--v15-orange:#ff4d00;--v15-black:#090909;--v15-paper:#f1efe8;--v15-ash:#c8c4b8;--v15-rail:78px}
html{background:var(--v15-black)}
body[data-v15]{
  --ink:#11100e;--paper:var(--v15-paper);--mist:#e8e5dc;--haze:#d7d2c5;--blue:var(--v15-orange);
  --blue-ink:#c93400;--blue-soft:rgba(255,77,0,.11);--body:#5b584f;--body-dim:#615d52;
  --line:rgba(17,16,14,.18);--display:'Manrope',system-ui,sans-serif;--sans:'Manrope',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;--wrap:1480px;--wrap-wide:1680px;--read:82ch;
  --r:0;--r-lg:0;--pill:0;background:var(--v15-paper);margin-left:var(--v15-rail);counter-reset:v15-section;overflow-x:hidden
}
body[data-v15]::selection{background:var(--v15-orange);color:#fff}
body[data-v15] .wrap{padding-left:clamp(28px,5vw,86px);padding-right:clamp(28px,5vw,86px)}

/* Permanent command rail: the site reads like an operating system, not a brochure. */
.v15-rail{position:fixed;inset:0 auto 0 0;width:var(--v15-rail);z-index:100;background:var(--v15-black);color:#fff;display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(255,255,255,.13)}
.v15-rail__brand{writing-mode:vertical-rl;rotate:180deg;font:800 15px/1 var(--display);letter-spacing:.16em;margin-top:24px}
.v15-rail__pulse{width:10px;height:10px;background:var(--v15-orange);margin:auto;box-shadow:0 0 0 0 rgba(255,77,0,.55);animation:v15-pulse 2.4s ease-out infinite}
.v15-rail__page{font:500 10px/1 var(--mono);writing-mode:vertical-rl;rotate:180deg;letter-spacing:.13em;color:#a6a6a6;margin-bottom:24px;text-transform:uppercase}
.v15-progress{position:fixed;left:var(--v15-rail);right:0;top:0;height:3px;z-index:120;background:linear-gradient(90deg,var(--v15-orange) calc(var(--v15-scroll,0)*100%),transparent 0);pointer-events:none}

/* Navigation is a compact command bar. */
body[data-v15] .nav{left:var(--v15-rail);height:78px;background:rgba(9,9,9,.94);color:#fff;border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px)}
body[data-v15] .nav--over{background:rgba(9,9,9,.76);backdrop-filter:blur(16px)}
body[data-v15] .nav__row{height:78px;padding-top:0;padding-bottom:0;max-width:none}
body[data-v15] .nav__logo img{height:29px;filter:none}
body[data-v15] .nav__logo .lg-dark{filter:invert(1);opacity:1!important}
body[data-v15] .nav__logo .lg-light{display:none!important;opacity:0!important}
body[data-v15] .nav__links{gap:0;border:1px solid rgba(255,255,255,.18)}
body[data-v15] .nav__links a{padding:10px 18px;color:#d6d6d6;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.18)}
body[data-v15] .nav__links a:last-child{border-right:0}
body[data-v15] .nav__links a::after{height:100%;z-index:-1;background:var(--v15-orange)}
body[data-v15] .nav__links a:hover,body[data-v15] .nav__links a[aria-current]{color:#fff}
body[data-v15] .nav .btn{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:0;background:var(--v15-orange);padding:16px 22px}

/* Hero becomes a split-screen stage. Content and image no longer share one conventional overlay. */
body[data-v15] .hero{min-height:100svh;background:var(--v15-black);align-items:stretch;overflow:hidden}
body[data-v15] .hero__media{left:53%;width:47%;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
body[data-v15] .hero__media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--v15-black),transparent 32%),linear-gradient(0deg,rgba(9,9,9,.55),transparent 42%);mix-blend-mode:multiply}
body[data-v15] .hero__veil{background:linear-gradient(90deg,var(--v15-black) 0 54%,rgba(9,9,9,.6) 65%,transparent 84%)}
body[data-v15] .hero__in{align-self:center;padding-top:150px;padding-bottom:90px}
body[data-v15] .hero__in>.wrap{max-width:none;margin:0}
body[data-v15] .hero h1{font:800 clamp(3.5rem,7.3vw,8.6rem)/.86 var(--display);letter-spacing:-.075em;max-width:9.7ch;text-transform:none;margin-top:30px}
body[data-v15] .hero h1 em{font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-weight:700;color:var(--v15-orange);letter-spacing:-.055em}
body[data-v15] .hero .lede{font-size:clamp(1.03rem,1.4vw,1.25rem);max-width:55ch;color:#c9c7c0;margin-top:30px}
body[data-v15] .hero .tag{padding:0;background:none;border:0;border-radius:0;backdrop-filter:none;color:#fff;font:500 11px/1 var(--mono);letter-spacing:.16em}
body[data-v15] .hero .tag::before{width:42px;height:3px;border-radius:0;background:var(--v15-orange)}
body[data-v15] .hero__cta .btn{border-radius:0;padding:17px 26px;font:600 12px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}
body[data-v15] .hero__cta .btn--go{background:var(--v15-orange)}
body[data-v15] .hero__facts{position:absolute;left:clamp(28px,5vw,86px);right:clamp(28px,5vw,86px);bottom:24px;border-top:1px solid rgba(255,255,255,.2);padding-top:20px;gap:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:calc(53% - clamp(28px,5vw,86px))}
body[data-v15] .hero__facts>div{padding-right:20px}
body[data-v15] .hero__facts b{font-size:1.65rem;color:#fff}
body[data-v15] .hero__facts span{font-size:9px;color:#999}

/* Chapters: every section reads as a numbered argument. */
body[data-v15] .sect{counter-increment:v15-section;padding:clamp(90px,10vw,170px) 0;overflow:hidden}
body[data-v15] .sect::before{content:counter(v15-section,decimal-leading-zero);position:absolute;right:-.02em;top:-.12em;font:800 clamp(9rem,25vw,28rem)/1 var(--display);letter-spacing:-.1em;color:rgba(17,16,14,.035);pointer-events:none}
body[data-v15] .sect--mist{background:#dedbd1}
body[data-v15] .sect--ink{background:var(--v15-black)}
body[data-v15] .head{display:grid;grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);max-width:none;align-items:start;margin-bottom:clamp(50px,7vw,100px)}
body[data-v15] .head .tag{margin-top:12px;color:var(--v15-orange);font-weight:600}
body[data-v15] .head h2{font-size:clamp(2.8rem,6.2vw,7.2rem);line-height:.92;letter-spacing:-.065em;max-width:12ch;margin-top:0}
body[data-v15] .head p{font-size:clamp(1rem,1.35vw,1.24rem);max-width:54ch;margin-top:24px}

/* Evidence architecture instead of a universal card deck. */
body[data-v15] .card{border:0;border-top:2px solid var(--ink);background:transparent;border-radius:0;box-shadow:none;transition:background .22s,color .22s,transform .22s}
body[data-v15] .card:hover{border-color:var(--v15-orange);background:var(--v15-orange);color:#fff;transform:translateY(-5px)}
body[data-v15] .card:hover p,body[data-v15] .card:hover .item__cat,body[data-v15] .card:hover .item__go{color:#fff}
body[data-v15] .grid{gap:clamp(14px,2vw,30px)}
body[data-v15] .grid--4{grid-template-columns:repeat(2,1fr)}
body[data-v15] .grid--3{grid-template-columns:repeat(12,1fr)}
body[data-v15] .grid--3>.item{grid-column:span 4}
body[data-v15] .grid--3>.item:nth-child(5n+1){grid-column:span 8}
body[data-v15] .grid--3>.item:nth-child(5n+2){grid-column:span 4}
body[data-v15] .grid--3>.feat{grid-column:1/-1;min-height:620px}
body[data-v15] .item__img{aspect-ratio:4/3;filter:grayscale(.25) contrast(1.08)}
body[data-v15] .item__body{padding:22px 0 34px}
body[data-v15] .item__body h3{font-size:clamp(1.5rem,2.5vw,3rem);line-height:.98}
body[data-v15] .feat{grid-template-columns:1.4fr .6fr;background:var(--v15-black);color:#fff;border:0}
body[data-v15] .feat__body{padding:clamp(36px,6vw,90px)}
body[data-v15] .feat__body h2{font-size:clamp(2.5rem,5vw,6rem);line-height:.93}
body[data-v15] .feat__body p{color:#bbb}
body[data-v15] .svc{padding:clamp(26px,4vw,56px);min-height:280px}
body[data-v15] .svc h3{font-size:clamp(1.65rem,3vw,3.6rem);line-height:.98;margin-top:34px}
body[data-v15] .mini,body[data-v15] .step{border-radius:0;background:transparent;border:0;border-left:4px solid var(--v15-orange)}
body[data-v15] .steps{gap:1px;background:rgba(17,16,14,.18)}
body[data-v15] .step{background:var(--v15-paper);padding:34px}
body[data-v15] .step__n{color:var(--v15-orange);font-size:2.2rem}
body[data-v15] .filters{border:1px solid var(--ink);padding:6px;gap:0;width:max-content;max-width:100%}
body[data-v15] .chip{border:0;border-radius:0;font:500 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:12px 14px}
body[data-v15] .chip[aria-pressed=true]{background:var(--ink);color:#fff}

/* Long-form pages become a dossier with a strong editorial spine. */
body[data-v15] .doc{display:grid;grid-template-columns:minmax(220px,310px) minmax(0,980px);gap:clamp(44px,8vw,130px);align-items:start}
body[data-v15] .rail{top:110px;border-top:4px solid var(--v15-orange);padding-top:22px}
body[data-v15] .prose{font-size:18px}
body[data-v15] .prose>h2{font-size:clamp(2.5rem,5vw,5.8rem);line-height:.94;letter-spacing:-.055em;margin-top:2em}
body[data-v15] .prose>p,body[data-v15] .prose>ul,body[data-v15] .prose>ol{max-width:74ch}
body[data-v15] .pull{font-family:'Source Serif 4',Georgia,serif;font-style:italic;font-size:clamp(1.8rem,3vw,3.5rem);line-height:1.12;border:0;border-left:7px solid var(--v15-orange);background:transparent;padding:16px 0 16px 34px}
body[data-v15] .note,body[data-v15] .joke{border-radius:0;border:0;background:var(--v15-black);color:#fff;padding:clamp(28px,4vw,52px)}
body[data-v15] .note p,body[data-v15] .joke p{color:#c8c8c8}
body[data-v15] .tbl{border-radius:0;border:1px solid var(--ink)}
body[data-v15] .qa{border-top:2px solid var(--ink)}
body[data-v15] .qa__a{background:#dedbd1}

body[data-v15] .pitch{border-radius:0;background:var(--v15-orange);color:#fff;padding:clamp(38px,6vw,86px)}
body[data-v15] .pitch p{color:rgba(255,255,255,.86)}
body[data-v15] .faceband{min-height:700px}
body[data-v15] .faceband__body h2{font-size:clamp(3rem,7vw,8rem);line-height:.87;max-width:10ch}
body[data-v15] .marks{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
body[data-v15] .foot{position:relative;isolation:isolate;overflow:hidden;background:var(--v15-black);color:#fff;padding-left:0}
body[data-v15] .foot::before{content:'TEAM500';position:absolute;right:-.04em;bottom:-.17em;z-index:0;font:800 clamp(8rem,20vw,24rem)/1 var(--display);letter-spacing:-.08em;color:rgba(255,255,255,.035);pointer-events:none}
body[data-v15] .foot>.wrap{position:relative;z-index:1}
body[data-v15] .foot p,body[data-v15] .foot a{color:#aaa}
body[data-v15] .foot h5,body[data-v15] .foot strong{color:#fff}

body[data-v15-page='404'] .err__n{color:var(--v15-orange);-webkit-text-stroke:0;font-size:clamp(10rem,32vw,34rem)}

@keyframes v15-pulse{70%,100%{box-shadow:0 0 0 18px rgba(255,77,0,0)}}
@media(max-width:1100px){
  body[data-v15] .hero__media{left:42%;width:58%;opacity:.62}
  body[data-v15] .hero__veil{background:linear-gradient(90deg,var(--v15-black) 0 48%,rgba(9,9,9,.72) 70%,rgba(9,9,9,.3))}
  body[data-v15] .hero__facts{max-width:70%}
  body[data-v15] .grid--3>.item,body[data-v15] .grid--3>.item:nth-child(n){grid-column:span 6}
  body[data-v15] .doc{grid-template-columns:1fr}.rail{position:static!important}
}
@media(max-width:760px){
  :root{--v15-rail:0px}
  body[data-v15]{margin-left:0}
  .v15-rail{display:none}.v15-progress{left:0}
  body[data-v15] .nav{left:0;height:70px}
  body[data-v15] .nav__row{height:70px}
  body[data-v15] .nav__logo img{height:25px}
  body[data-v15] .hero{min-height:900px}
  body[data-v15] .hero__media{left:0;top:0;width:100%;height:48%;clip-path:none}
  body[data-v15] .hero__veil{background:linear-gradient(0deg,var(--v15-black) 43%,rgba(9,9,9,.2) 75%,rgba(9,9,9,.5))}
  body[data-v15] .hero__in{padding-top:390px;padding-bottom:190px;align-self:stretch}
  body[data-v15] .hero h1{font-size:clamp(2.7rem,11vw,4.2rem);max-width:11ch;hyphens:auto;overflow-wrap:break-word}
  body[data-v15] .hero__facts{left:20px;right:20px;max-width:none;grid-template-columns:repeat(2,1fr);gap:16px}
  body[data-v15] .head{grid-template-columns:1fr;gap:20px}
  body[data-v15] .grid--4{grid-template-columns:1fr}
  body[data-v15] .grid--3{display:block}
  body[data-v15] .grid--3>.item{margin-bottom:28px}
  body[data-v15] .feat{grid-template-columns:1fr;min-height:0}
  body[data-v15] .feat__img{min-height:300px}
  body[data-v15] .faceband{min-height:760px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
