/* MotoSpyn website */
@font-face{font-family:"Big Shoulders Display";font-weight:800;font-display:swap;src:url(../fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:900;font-display:swap;src:url(../fonts/big-shoulders-display-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:400;font-display:swap;src:url(../fonts/archivo-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:500;font-display:swap;src:url(../fonts/archivo-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:600;font-display:swap;src:url(../fonts/archivo-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}

/* MotoSpyn website, version 2
   Pitch black, ultra-condensed display type, safety-orange signals.
   Palette: #FB8B24 safety orange  #E36414 burnt orange  #9A031E crimson  #5F0F40 plum  #0F4C5C teal */
:root{
  --black:#000;--s1:#0B0B0B;--s2:#111;--s3:#181818;--line:#232323;--line-2:#333;
  --white:#FFF;--text:#C9C6C1;--muted:#8F8B86;
  --orange:#FB8B24;--burnt:#E36414;--crimson:#9A031E;--plum:#5F0F40;--teal:#0F4C5C;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Archivo",ui-sans-serif,system-ui,"Segoe UI",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --header-h:72px;--pad:clamp(20px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--black);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 24px);color-scheme:dark}
body{margin:0;background:var(--black);color:var(--text);font-family:var(--body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:900;text-transform:uppercase;color:var(--white);line-height:.9;letter-spacing:-.005em}
p{margin:0}
p + p{margin-top:.85em}
a{color:var(--white);text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:var(--orange)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
strong{color:var(--white);font-weight:600}
.mono{font-family:var(--mono);font-size:.9em}
.skip-link{position:absolute;left:16px;top:-80px;z-index:100;background:var(--orange);color:#000;padding:12px 18px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px;color:#000}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--pad)}

/* type scale */
.kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--body);font-weight:600;font-size:.78rem;line-height:1.2;letter-spacing:.24em;text-transform:uppercase;color:var(--orange)}
.kicker::before{content:"";width:9px;height:9px;background:var(--orange);flex:none}
.d1{font-size:clamp(2.7rem,8.6vw,8.3rem);line-height:.94;letter-spacing:-.012em}
.d2{font-size:clamp(2.9rem,6.6vw,6rem);line-height:.88}
.d3{font-size:clamp(2rem,3.4vw,3rem);line-height:.92}
.d4{font-size:1.65rem;line-height:.95;font-weight:800}
.lead{font-size:clamp(1.08rem,1.4vw,1.25rem);line-height:1.6;color:var(--text);max-width:60ch}
.head{display:grid;gap:22px;max-width:980px;margin-bottom:56px}

/* sections */
.sec{padding:clamp(80px,10vw,128px) 0;border-top:1px solid var(--line)}
.sec--flush{border-top:none}
.sec--s1{background:var(--s1)}

/* buttons: hard edges, condensed caps */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:17px 28px;min-height:54px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.btn--primary{background:var(--orange);color:#000}
.btn--primary:hover{background:var(--burnt);color:#000}
.btn--line{border-color:var(--white);color:var(--white);background:transparent}
.btn--line:hover{background:var(--white);color:#000}
.arr{width:18px;height:18px;flex:none}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.tlink{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;color:var(--white);text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:4px}
.tlink:hover{color:var(--orange)}

/* markers: filled square = MotoSpyn handles it, hollow diamond = a person signs it off */
.sq{display:inline-block;flex:none;width:11px;height:11px;background:var(--orange)}
.dm{display:inline-block;flex:none;width:11px;height:11px;border:2px solid var(--white);transform:rotate(45deg)}
.legend{display:flex;flex-wrap:wrap;gap:12px 30px;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:12px}

/* product keys */
.k-ai{--k:var(--orange);--k-text:#000}
.k-ws{--k:var(--crimson);--k-text:#fff}
.k-dl{--k:var(--teal);--k-text:#fff}
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:7px 12px;background:var(--k);color:var(--k-text)}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(0,0,0,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h);position:relative}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--white);text-decoration:none}
.brand .logo-svg{height:38px;width:auto}
.brand span{font-family:var(--display);font-weight:900;font-size:1.75rem;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.nav{display:flex;align-items:center;gap:2px;height:100%}
.nav > a:not(.btn),.dd-btn{font-family:var(--body);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text);text-decoration:none;padding:0 13px;height:var(--header-h);display:inline-flex;align-items:center;gap:8px;line-height:1;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer}
.nav > a:not(.btn):hover,.dd-btn:hover,.dd.is-open .dd-btn{color:var(--white)}
.nav > a:not(.btn)[aria-current="page"],.dd.has-current .dd-btn{color:var(--white);border-bottom-color:var(--orange)}
.dd-btn svg{width:12px;height:12px;transition:transform .15s ease}
.dd.is-open .dd-btn svg{transform:rotate(180deg)}
.dd{position:relative;height:100%}
.dd-panel{display:none;position:absolute;top:100%;left:0;width:380px;background:#000;border:1px solid var(--line-2);border-top:3px solid var(--orange);padding:8px;box-shadow:0 30px 50px -20px rgba(0,0,0,.9);z-index:70}
.dd-panel.wide{width:440px}
.dd.is-open .dd-panel{display:grid}
@media (hover:hover) and (min-width:1081px){.dd:hover .dd-panel{display:grid}.dd:hover .dd-btn{color:var(--white)}}
.dd-link{display:grid;grid-template-columns:14px 1fr;gap:4px 14px;padding:12px 14px;text-decoration:none;color:var(--text);border-left:2px solid transparent}
.dd-link::before{content:"";grid-row:1 / span 2;width:10px;height:10px;margin-top:6px;background:var(--k,var(--line-2))}
.dd-link b{font-family:var(--display);font-weight:800;font-size:1.3rem;line-height:1.05;text-transform:uppercase;color:var(--white);letter-spacing:.02em}
.dd-link span{font-size:.86rem;color:var(--muted)}
.dd-link:hover{background:var(--s2);color:var(--text)}
.dd-link[aria-current="page"]{border-left-color:var(--orange);background:var(--s2)}
.nav .btn{margin-left:14px;font-size:1.05rem;padding:13px 20px;min-height:46px;height:auto;color:#000;letter-spacing:.06em;font-family:var(--display);font-weight:800}
.nav .btn:hover{color:#000}
.nav .btn[aria-current="page"]{color:#000;background:var(--burnt)}
.nav-toggle{display:none;width:50px;height:50px;align-items:center;justify-content:center;background:transparent;border:2px solid var(--line-2);color:var(--white);cursor:pointer}
.nav-toggle svg{width:22px;height:22px}
@media (max-width:1080px){
  .nav-toggle{display:inline-flex}
  .nav{position:absolute;left:0;right:0;top:var(--header-h);height:auto;max-height:calc(100vh - var(--header-h));overflow-y:auto;background:#000;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:6px var(--pad) 24px;display:none}
  .nav.is-open{display:flex}
  .nav > a:not(.btn),.dd-btn{height:auto;padding:17px 0;font-size:.86rem;border-bottom:1px solid var(--line);width:100%;justify-content:space-between}
  .dd{height:auto}
  .dd-panel,.dd-panel.wide{position:static;width:auto;border:none;border-left:3px solid var(--orange);box-shadow:none;padding:4px 0 10px 6px;margin:0 0 6px}
  .nav .btn{margin:18px 0 0}
}

/* photo slots: placeholders for the client's own photography */
.slot{position:relative;margin:0;aspect-ratio:var(--ar,4/5);background:#0A0A0A repeating-linear-gradient(135deg,transparent 0 13px,rgba(255,255,255,.035) 13px 14px);border:1px solid var(--line-2);overflow:hidden}
.slot::before,.slot::after{content:"";position:absolute;width:26px;height:26px;z-index:2;pointer-events:none}
.slot::before{left:12px;top:12px;border-left:3px solid var(--orange);border-top:3px solid var(--orange)}
.slot::after{right:12px;bottom:12px;border-right:3px solid var(--orange);border-bottom:3px solid var(--orange)}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot figcaption{position:absolute;left:24px;right:24px;bottom:24px;display:grid;gap:6px}
.slot figcaption b{font-family:var(--body);font-weight:700;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--orange)}
.slot figcaption span{font-family:var(--display);font-weight:800;font-size:1.45rem;line-height:1;text-transform:uppercase;color:var(--white)}
.slot figcaption small{font-size:.8rem;color:var(--muted)}
.slot .cam{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:54px;height:54px;color:#3A3A3A}
.slot.has-photo,.slot.has-illus{background:#000}
.slot .illus{position:absolute;inset:0;width:100%;height:100%}
.slot.has-photo .illus{display:none}
.slot.has-photo figcaption,.slot.has-photo .cam{display:none}

/* hero */
.hero{position:relative;padding:clamp(48px,7vw,96px) 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:end}
.hero h1{margin-top:26px}
@media (min-width:761px){.hero h1 .ln{white-space:nowrap}}
.hero h1 .ln + .ln{margin-top:.16em}
.hero-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:start;margin-top:clamp(32px,4vw,52px)}
.hero-row .lead{margin-top:0}
.keyrow{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.keyrow span{display:inline-flex;align-items:center;gap:10px}
.keyrow span::before{content:"";width:12px;height:12px;background:var(--k)}
@media (max-width:980px){.hero-row{grid-template-columns:1fr}}
.hero h1 .ln{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px)}
.hero h1 .ln::before{content:"";flex:none;width:clamp(10px,1.2vw,16px);height:clamp(10px,1.2vw,16px);background:var(--k);margin-top:-.08em}
.hero .lead{max-width:56ch}
.hero-media{position:relative}
.float{position:absolute;left:-28px;top:56px;z-index:3;background:#000;border:1px solid var(--line-2);border-left:4px solid var(--orange);padding:14px 16px;min-width:250px;box-shadow:0 24px 40px -18px rgba(0,0,0,.9)}
.float .t{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.float .v{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1;text-transform:uppercase;color:var(--white);margin-top:6px}
.float .s{font-size:.82rem;color:var(--muted);margin-top:4px}
.proof{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line)}
.proof > div{padding:26px 26px 30px 0;border-right:1px solid var(--line)}
.proof > div + div{padding-left:26px}
.proof > div:last-child{border-right:none}
.proof b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:.9;text-transform:uppercase;color:var(--white)}
.proof span{display:block;margin-top:10px;font-size:.95rem;color:var(--text);max-width:34ch}
@media (prefers-reduced-motion:no-preference){
  .js .hero h1 .ln{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
  .js .hero h1 .ln:nth-child(2){animation-delay:.12s}
  .js .hero h1 .ln:nth-child(3){animation-delay:.24s}
  @keyframes rise{from{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-media{max-width:520px}
  .float{left:12px;top:12px}
}
@media (max-width:720px){
  .proof{grid-template-columns:1fr}
  .proof > div,.proof > div + div{padding:22px 0;border-right:none;border-bottom:1px solid var(--line)}
}

/* product hero */
.phero{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,104px);border-bottom:1px solid var(--line)}
.phero .hero-grid{align-items:center}
.phero h1{margin-top:26px;font-size:clamp(3rem,6.4vw,6.1rem);line-height:.88}
.phero .lead{margin-top:28px}
.phero .bar{height:8px;background:var(--k);margin-bottom:0}

/* ticker */
.ticker{background:var(--orange);color:#000;overflow:hidden;border-top:1px solid #000;border-bottom:1px solid #000}
.ticker .track{display:flex;width:max-content}
.ticker ul{display:flex;align-items:center;gap:28px;margin:0;padding:16px 14px;list-style:none;font-family:var(--display);font-weight:900;font-size:clamp(1.4rem,2.4vw,2rem);text-transform:uppercase;letter-spacing:.02em;line-height:1;white-space:nowrap}
.ticker li{display:flex;align-items:center;gap:28px}
.ticker li::after{content:"";width:10px;height:10px;background:#000}
@media (prefers-reduced-motion:no-preference){
  .ticker .track{animation:tick 38s linear infinite}
  @keyframes tick{to{transform:translateX(-50%)}}
}

/* why: three promise rows */
.rows{border-top:2px solid var(--white)}
.row{display:grid;grid-template-columns:120px minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:32px;padding:36px 0;border-bottom:1px solid var(--line-2);align-items:start}
.row .n{font-family:var(--display);font-weight:900;font-size:4.2rem;line-height:.8;color:var(--white);border-top:8px solid var(--k);padding-top:16px}
.row h3{font-size:clamp(2rem,3.4vw,3rem)}
.row .tag{margin-top:16px}
.row h4{font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;line-height:1.2}
.row p{font-size:1rem}
@media (max-width:980px){.row{grid-template-columns:72px 1fr;gap:18px 22px}.row .n{font-size:3rem}.row > div:nth-child(3),.row > div:nth-child(4){grid-column:2}}

/* platform: product bands */
.band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line)}
.band:first-of-type{border-top:none;padding-top:0}
.band.flip .slot{order:2}
.band .name{font-size:clamp(3rem,7vw,6.4rem);line-height:.85;margin-top:18px}
.band .one{font-size:1.15rem;color:var(--white);margin-top:20px;max-width:46ch}
.band ul{list-style:none;margin:24px 0 30px;padding:0;display:grid;gap:12px}
.band li{display:flex;gap:14px;align-items:flex-start;font-size:1rem}
.band li::before{content:"";flex:none;width:9px;height:9px;margin-top:.55em;background:var(--k)}
@media (max-width:900px){.band{grid-template-columns:1fr}.band.flip .slot{order:0}}

/* framework */
.frame{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--white);border-left:1px solid var(--line-2)}
.step{position:relative;padding:28px 26px 34px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);display:flex;flex-direction:column}
.step .n{font-family:var(--mono);font-size:.8rem;color:var(--orange);letter-spacing:.1em}
.step h3{font-size:clamp(2.6rem,4.4vw,4rem);margin-top:14px;line-height:.85}
.step .what{margin-top:18px;color:var(--white);font-size:1.02rem}
.step dl{margin:22px 0 0;display:grid;gap:14px}
.step dt{font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.step dd{margin:4px 0 0;font-size:.95rem;display:flex;gap:10px;align-items:flex-start}
.step dd .sq,.step dd .dm{margin-top:.5em}
.step dl{margin-bottom:26px}
.step .tag{margin-top:auto;align-self:flex-start}
.frame-foot{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
@media (max-width:1060px){.frame{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.frame{grid-template-columns:1fr}}

/* sign-off: review mock + never list */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:start}
@media (max-width:980px){.split{grid-template-columns:1fr}}
.never{list-style:none;margin:0;padding:0;border-top:2px solid var(--white);counter-reset:nv}
.never li{counter-increment:nv;display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-2);color:var(--white);font-size:1.05rem;line-height:1.45}
.never li::before{content:counter(nv,decimal-leading-zero);font-family:var(--mono);font-size:.8rem;color:var(--orange);padding-top:.25em}
.never-title{font-size:clamp(2rem,3.2vw,2.8rem);margin-bottom:22px}

/* dark UI mockups */
.ui{background:var(--s2);border:1px solid var(--line-2);color:var(--text);font-size:.92rem}
.ui-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-2);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ui-top .live{display:inline-flex;align-items:center;gap:8px;color:var(--orange)}
.ui-top .live::before{content:"";width:7px;height:7px;background:var(--orange)}
.ui-body{padding:18px}
.review{display:grid;grid-template-columns:minmax(0,1fr) 200px}
.review .side{border-left:1px solid var(--line-2);padding:18px 16px;font-size:.84rem}
.bubble{background:var(--s3);padding:12px 14px;color:var(--white);border-left:3px solid var(--line-2)}
.meta{font-size:.76rem;color:var(--muted);margin-bottom:8px}
.draft{margin-top:14px;padding:14px;border:1px solid var(--orange);color:var(--white)}
.draft .who{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pill{font-size:.72rem;font-weight:600;padding:4px 9px;border:1px solid var(--line-2);color:var(--text);white-space:nowrap}
.pill--o{border-color:var(--orange);color:var(--orange)}
.pill--r{border-color:#C2384F;color:#F2A4B1}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fb{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:9px 13px;border:1px solid var(--line-2);color:var(--white)}
.fb--p{background:var(--orange);border-color:var(--orange);color:#000}
.kv{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
.kv:last-of-type{border-bottom:none}
.kv b{color:var(--white);font-weight:600;white-space:nowrap}
.kv b.o{color:var(--orange)}
.meter{position:relative;height:6px;background:var(--s3);margin:4px 0 6px}
.meter i{position:absolute;left:0;top:0;bottom:0;width:92%;background:var(--orange)}
.meter b{position:absolute;left:85%;top:-5px;width:2px;height:16px;background:var(--white)}
.review .side p{margin-top:12px;color:var(--muted);line-height:1.45}
@media (max-width:640px){.review{grid-template-columns:1fr}.review .side{border-left:none;border-top:1px solid var(--line-2)}}

/* roles table */
.roles{border-top:2px solid var(--white)}
.role{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:40px;padding:34px 0;border-bottom:1px solid var(--line-2)}
.role .rn{font-family:var(--mono);font-size:.8rem;color:var(--orange)}
.role h3{font-size:clamp(2.2rem,3.8vw,3.4rem);margin-top:10px}
.role .line{margin-top:12px;color:var(--white)}
.role .pills{margin-top:16px}
.ticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 36px;align-content:start}
.ticks li{position:relative;padding-left:22px;font-size:.98rem;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;background:var(--orange)}
@media (max-width:900px){.role{grid-template-columns:1fr;gap:18px}.ticks{grid-template-columns:1fr}}

/* numbered steps + scorecard */
.hire{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(28px,4vw,64px);align-items:start}
.steps{list-style:none;margin:0;padding:0;border-top:2px solid var(--white)}
.steps li{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line-2)}
.steps .n{font-family:var(--display);font-weight:900;font-size:3.6rem;line-height:.8;color:var(--orange)}
.steps h3{font-size:1.9rem}
.steps p{margin-top:8px}
.score{position:sticky;top:calc(var(--header-h) + 24px)}
.kpis{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-2)}
.kpi{padding:16px;border-bottom:1px solid var(--line-2)}
.kpi:nth-child(odd){border-right:1px solid var(--line-2)}
.kpi b{display:block;font-family:var(--display);font-weight:900;font-size:2.6rem;line-height:.9;color:var(--white)}
.kpi span{display:block;font-size:.78rem;color:var(--muted);margin-top:6px}
.qs{padding:16px}
.qs h4{font-family:var(--body);font-weight:700;font-size:.7rem;letter-spacing:.2em;color:var(--muted);margin-bottom:8px;line-height:1.2}
.qs .q{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:.86rem;color:var(--white)}
.qs .q span:last-child{color:var(--orange);font-weight:700;white-space:nowrap}
.score .ex{padding:0 16px 16px;font-size:.76rem;color:var(--muted)}
@media (max-width:980px){.hire{grid-template-columns:1fr}.score{position:static}}

/* inbox */
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line-2);min-width:760px}
.tabs span{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:14px 16px;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent}
.tabs span.on{color:var(--white);border-bottom-color:var(--orange)}
.tabs i{font-style:normal;color:var(--orange);margin-left:8px}
table.inbox{width:100%;min-width:760px;border-collapse:collapse;font-size:.92rem}
.inbox th{text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:14px 16px 10px}
.inbox td{padding:14px 16px;border-top:1px solid var(--line);color:var(--white);vertical-align:top}
.inbox td small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}

/* feature grid */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--white);border-left:1px solid var(--line-2)}
.grid3 > div{padding:28px 26px 32px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.grid3 h3{font-size:1.75rem;line-height:.95}
.grid3 p{margin-top:12px;font-size:.98rem}
.grid3 .ic{width:26px;height:26px;color:var(--orange);margin-bottom:18px}
@media (max-width:980px){.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grid3{grid-template-columns:1fr}}
.grid2{grid-template-columns:1fr 1fr}
@media (max-width:620px){.grid2{grid-template-columns:1fr}}

/* recovery sequence */
.seq{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:sq}
.seq li{counter-increment:sq;position:relative;padding:24px 24px 28px;border:1px solid var(--line-2);margin-left:-1px}
.seq li::before{content:counter(sq,decimal-leading-zero);display:block;font-family:var(--mono);font-size:.78rem;color:var(--orange);margin-bottom:12px}
.seq li b{display:block;font-family:var(--display);font-weight:900;font-size:1.8rem;line-height:.92;text-transform:uppercase;color:var(--white);margin-bottom:10px}
.seq li:last-child{background:var(--orange);border-color:var(--orange);color:#000}
.seq li:last-child b,.seq li:last-child::before{color:#000}
@media (max-width:900px){.seq{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.seq{grid-template-columns:1fr}.seq li{margin-left:0;margin-top:-1px}}

/* workshop stage timeline */
.stages{list-style:none;margin:0;padding:0;border-top:2px solid var(--white)}
.stage{display:grid;grid-template-columns:110px minmax(0,.9fr) minmax(0,1.4fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--line-2);align-items:start}
.stage .n{font-family:var(--display);font-weight:900;font-size:3.4rem;line-height:.8;color:var(--muted);display:flex;align-items:center;gap:16px}
.stage .n i{margin-top:2px}
.stage h3{font-size:2rem;line-height:.92}
.stage .who{display:inline-block;margin-top:10px;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--white);border:1px solid var(--white);padding:4px 9px}
.stage p{font-size:1rem}
.stage.sign .n{color:var(--white)}
@media (max-width:860px){.stage{grid-template-columns:70px 1fr;gap:12px 18px}.stage .n{font-size:2.6rem;flex-direction:column;align-items:flex-start;gap:10px}.stage p{grid-column:2}}

/* phone mock */
.phone{max-width:360px;margin:0 auto;background:#000;border:2px solid var(--line-2);padding:10px}
.phone .ui-top{border-bottom:none;background:var(--crimson);color:#fff}
.phone .veh{padding:0 16px 14px;background:var(--crimson);color:#fff;font-size:.82rem}
.phone .veh h4{font-size:1.7rem;line-height:.95;margin-bottom:4px}
.li{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--white);font-size:.9rem}
.li b{font-weight:600}
.li .tg{grid-column:1/-1;display:flex;gap:6px}
.tg span{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--line-2);color:var(--muted)}
.tg .y{background:var(--white);border-color:var(--white);color:#000}
.tg .n{border-color:#C2384F;color:#F2A4B1}
.tot{display:flex;justify-content:space-between;align-items:baseline;padding:16px 16px 2px;color:var(--white)}
.tot b{font-family:var(--display);font-weight:900;font-size:2.2rem;line-height:1}
.tot2{display:flex;justify-content:space-between;padding:0 16px;font-size:.8rem;color:var(--muted)}
.phone .acts{display:grid;grid-template-columns:1fr 1fr;padding:16px}
.phone .fb{text-align:center}

/* delivery lifecycle */
.life{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);border-top:2px solid var(--white)}
.life li{position:relative;padding:22px 16px 26px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:.92;text-transform:uppercase;color:var(--white)}
.life li:first-child{border-left:1px solid var(--line-2)}
.life li .n{display:block;font-family:var(--mono);font-weight:400;font-size:.74rem;color:var(--muted);margin-bottom:12px;letter-spacing:.06em}
.life li small{display:block;font-family:var(--body);font-weight:500;font-size:.8rem;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:10px;line-height:1.35}
.life li.opt{color:var(--muted)}
.life li.acc{outline:2px solid var(--white);outline-offset:-2px}
.life li.acc .n{color:var(--white)}
.life li.done{background:var(--teal)}
.life li.done small,.life li.done .n{color:#CFE3E8}
@media (max-width:1060px){.life{grid-template-columns:repeat(4,1fr)}}
@media (max-width:620px){.life{grid-template-columns:1fr 1fr}}

.vcard .hd{padding:16px 16px 14px;border-bottom:1px solid var(--line-2)}
.vcard h4{font-size:1.9rem;line-height:.95}
.vcard .vin{font-size:.8rem;color:var(--muted);margin-top:6px}
.vcard .pills{margin-top:12px}
.vcard .sec2{padding:14px 16px;border-bottom:1px solid var(--line)}
.vcard .sec2:last-child{border-bottom:none}
.vcard h5{margin:0 0 8px;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.eta{display:grid;grid-template-columns:58px 1fr;gap:10px;font-size:.86rem;padding:5px 0;color:var(--white)}
.eta .d{color:var(--muted);font-family:var(--mono);font-size:.8rem}
.eta .r{display:block;margin-top:6px;padding:8px 10px;border-left:3px solid var(--orange);background:var(--s3);font-size:.84rem}
.job{display:flex;justify-content:space-between;font-size:.88rem;color:var(--white);padding:4px 0}
.job .mono{color:var(--muted);margin-right:8px}
.prog{height:6px;background:var(--s3);margin:4px 0 10px}
.vcard .small{font-size:.8rem;color:var(--muted)}

/* seats */
.seats{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--white);border-left:1px solid var(--line-2)}
.seat{padding:26px 24px 30px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.seat h3{font-size:1.7rem;line-height:.95}
.seat p{margin-top:10px;font-size:.96rem}
@media (max-width:900px){.seats{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.seats{grid-template-columns:1fr}}

/* start blocks */
.start{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.start a{display:flex;flex-direction:column;min-height:300px;padding:30px 28px;background:var(--k);color:var(--k-text);text-decoration:none;transition:transform .2s ease}
.start a:hover{color:var(--k-text);transform:translateY(-6px)}
.start .q{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:.88;text-transform:uppercase}
.start p{margin-top:14px;font-size:1rem;max-width:34ch}
.start .go{margin-top:auto;padding-top:24px;font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.start .go svg{width:20px;height:20px}
@media (max-width:900px){.start{grid-template-columns:1fr}.start a{min-height:0}}

/* big CTA */
.cta{padding:clamp(80px,10vw,128px) 0;border-top:1px solid var(--line)}
.cta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.cta h2{font-size:clamp(3.2rem,8vw,7.4rem);line-height:.85}
.cta p{margin-top:24px}
@media (max-width:900px){.cta-grid{grid-template-columns:1fr}}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:64px 0 36px}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.site-footer h2{font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.22em;color:var(--orange);margin-bottom:14px;line-height:1.2}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:9px 0}
.site-footer a{color:var(--text);text-decoration:none}
.site-footer a:hover{color:var(--orange)}
.site-footer .tagline{margin-top:16px;max-width:34ch;font-size:.95rem}
.wordmark{margin-top:56px}
.wordmark .logo-svg{width:100%;height:auto}
.site-footer .brand .logo-svg{height:44px}
.legal{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.82rem;color:var(--muted)}
@media (max-width:900px){.foot-cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-cols{grid-template-columns:1fr}}

/* simple pages */
.page-intro{padding:clamp(48px,7vw,96px) 0 clamp(36px,5vw,56px);border-bottom:1px solid var(--line)}
.page-intro h1{font-size:clamp(3.4rem,8.4vw,7.6rem);margin-top:22px;line-height:.86}
.page-intro .lead{margin-top:24px}

/* form */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(80px,10vw,120px);align-items:start}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}
@media (max-width:640px){.form{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:9px}
.field--full,.form fieldset,.form-status{grid-column:1/-1}
.form label,.form legend{font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--white)}
.form .opt{color:var(--muted);font-weight:600}
.req{color:var(--orange)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{font:inherit;font-size:1.05rem;color:var(--white);background:var(--s2);border:none;border-bottom:2px solid var(--line-2);border-radius:0;padding:14px 14px;min-height:54px;width:100%}
.form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--orange) 50%),linear-gradient(135deg,var(--orange) 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-bottom-color:var(--orange);background:var(--s3)}
.form [aria-invalid="true"]{border-bottom-color:#E0476A!important}
.err{font-size:.86rem;color:#F2A4B1}
.err:empty{display:none}
.form fieldset{border:none;margin:0;padding:0}
.checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.checks label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:2px solid var(--line-2);padding:12px 16px;min-height:50px;font-size:.78rem}
.checks input{width:18px;height:18px;accent-color:var(--orange)}
.checks label:has(input:checked){border-color:var(--orange);color:var(--orange)}
.consent{display:flex!important;gap:12px;align-items:flex-start;font-size:.95rem!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--text)!important;line-height:1.5}
.consent input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--orange)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-status{display:none;padding:14px 16px;font-size:.98rem}
.form-status.is-error{display:block;border-left:4px solid #E0476A;background:var(--s2);color:var(--white)}
.form .btn{justify-self:start}
.aside{border-top:2px solid var(--white);padding-top:26px}
.aside h2{font-size:2rem}
.aside ol{list-style:none;margin:20px 0 0;padding:0;counter-reset:a}
.aside ol li{counter-increment:a;display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.aside ol li::before{content:counter(a,decimal-leading-zero);font-family:var(--mono);font-size:.8rem;color:var(--orange);padding-top:.2em}
.aside .contacts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.aside .contacts li{display:flex;gap:12px;align-items:center}
.aside .contacts svg{width:20px;height:20px;color:var(--orange);flex:none}
.aside .gap{height:44px}

/* prose */
.prose{max-width:74ch;padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(80px,10vw,120px)}
.prose h2{font-size:2.2rem;margin-top:44px}
.prose p,.prose ul{margin-top:14px}
.prose li{margin:6px 0}
.notice{border-left:4px solid var(--orange);background:var(--s2);padding:14px 16px;color:var(--white)}
.nf{padding:clamp(64px,9vw,120px) 0}
.nf h1{font-size:clamp(3.6rem,9vw,8rem);line-height:.85;margin-top:22px;max-width:14ch}
.nf .lead{margin-top:24px}

@media print{.site-header,.ticker,.cta,.site-footer{display:none}}

.ar-45{--ar:4/5}.ar-1610{--ar:16/10}.ar-43{--ar:4/3}.ar-219{--ar:21/9}
.cta h2{margin-top:22px}
.score-h{padding-bottom:0}
.mt56{margin-top:56px}
@media (max-width:620px){.ar-219{--ar:16/10}}

/* ---------- additional pages ---------- */
.foot-cols{grid-template-columns:1.3fr repeat(4,1fr)}
@media (max-width:1060px){.foot-cols{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:620px){.foot-cols{grid-template-columns:1fr 1fr}}

/* framework tiles (how it works hero) */
.fw-tiles{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fw-tiles div{aspect-ratio:1/1;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:var(--k);color:var(--k-text)}
.fw-tiles .n{font-family:var(--mono);font-size:.82rem}
.fw-tiles b{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:.85;text-transform:uppercase}
.fw-tiles .k-plum{--k:var(--plum);--k-text:#fff}

/* in-depth framework steps */
.deep{border-top:2px solid var(--white)}
.deep-step{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(24px,4vw,64px);padding:44px 0;border-bottom:1px solid var(--line-2)}
.deep-step .n{display:block;font-family:var(--mono);font-size:.82rem;color:var(--orange)}
.deep-step h3{font-size:clamp(3rem,6vw,5.4rem);line-height:.84;margin-top:12px}
.deep-step .sees{margin-top:18px;color:var(--white);font-size:1.12rem;max-width:34ch}
.deep-step .chips-row{margin-top:20px}
.deep-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line-2)}
.deep-grid > div{padding:0 22px 6px;border-right:1px solid var(--line-2)}
.deep-grid h4{display:flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:.7rem;letter-spacing:.2em;color:var(--muted);line-height:1.2;margin-bottom:14px}
.deep-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.deep-grid li{font-size:.97rem;line-height:1.5;color:var(--text)}
@media (max-width:980px){.deep-step{grid-template-columns:1fr}.deep-grid{grid-template-columns:1fr;border-left:none}.deep-grid > div{padding:16px 0;border-right:none;border-top:1px solid var(--line)}}
.chips-row{display:flex;flex-wrap:wrap;gap:8px}
.chips-row a{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--white);border:1px solid var(--line-2);padding:7px 11px;display:inline-flex;align-items:center;gap:8px}
.chips-row a::before{content:"";width:8px;height:8px;background:var(--k,var(--orange))}
.chips-row a:hover{border-color:var(--orange);color:var(--orange)}

/* rule columns */
.rule3{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--white)}
.rule3 > div{padding:28px 26px 30px 0;border-right:1px solid var(--line-2)}
.rule3 > div + div{padding-left:26px}
.rule3 > div:last-child{border-right:none}
.rule3 .mk{display:flex;align-items:center;gap:12px;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.rule3 h3{font-size:clamp(1.9rem,3vw,2.6rem);margin-top:14px}
.rule3 p{margin-top:12px}
@media (max-width:860px){.rule3{grid-template-columns:1fr}.rule3 > div,.rule3 > div + div{padding:24px 0;border-right:none;border-bottom:1px solid var(--line-2)}}

/* two journeys */
.journeys{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.journeys h3{font-size:2.4rem;margin-bottom:8px}
.jlist{list-style:none;margin:20px 0 0;padding:0;border-top:2px solid var(--white)}
.jlist li{display:grid;grid-template-columns:22px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.jlist li > i{margin-top:.45em}
.jlist b{display:block;font-family:var(--display);font-weight:800;font-size:1.45rem;line-height:1;text-transform:uppercase;color:var(--white)}
.jlist em{font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-left:10px}
.jlist p{font-size:.95rem;margin-top:6px}
@media (max-width:900px){.journeys{grid-template-columns:1fr}}

/* one-record diagram */
.record{display:grid;grid-template-columns:1fr 70px 1.1fr 70px 1fr;align-items:stretch}
.record .blk{border:1px solid var(--line-2);padding:24px}
.record .blk.core{background:var(--orange);border-color:var(--orange);color:#000}
.record .blk.core h3,.record .blk.core .t{color:#000}
.record .t{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.record h3{font-size:2rem;margin-top:10px}
.record p{margin-top:10px;font-size:.96rem}
.record .ar{display:flex;align-items:center;justify-content:center;color:var(--orange)}
.record .ar svg{width:34px;height:34px}
@media (max-width:900px){.record{grid-template-columns:1fr}.record .ar svg{transform:rotate(90deg)}.record .ar{padding:8px 0}}

/* message thread mock */
.thread .ui-body{display:grid;gap:12px}
.msg{max-width:88%;padding:11px 14px;font-size:.9rem;line-height:1.45}
.msg small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}
.msg.out{background:var(--s3);color:var(--white);border-left:3px solid var(--orange)}
.msg.out small{color:var(--orange)}
.msg.in{justify-self:end;background:var(--white);color:#000}
.msg.in small{color:#555}
.sys{justify-self:center;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);padding:5px 10px}

/* email mock */
.mail .hdr{padding:14px 16px;border-bottom:1px solid var(--line-2);font-size:.84rem;display:grid;gap:4px}
.mail .hdr b{color:var(--white);font-weight:600}
.mail .sub{font-family:var(--display);font-weight:900;font-size:1.7rem;line-height:.95;text-transform:uppercase;color:var(--white);padding:18px 16px 0}
.mail .body{padding:12px 16px 18px;font-size:.92rem}
.mail .slots{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.mail .slots span{border:1px solid var(--orange);color:var(--orange);font-weight:700;font-size:.8rem;padding:7px 10px}
.mail .unsub{margin-top:16px;font-size:.76rem;color:var(--muted);text-decoration:underline}

/* audit log mock */
.audit .row2{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--white)}
.audit .row2:last-child{border-bottom:none}
.audit .row2 .tm{font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.audit .row2 small{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}
.audit .row2 i{margin-right:8px}

/* day log */
.daylog{list-style:none;margin:0;padding:0;border-top:2px solid var(--white)}
.daylog li{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line-2)}
.daylog .tm{font-family:var(--display);font-weight:900;font-size:2.2rem;line-height:.9;color:var(--orange)}
.daylog b{display:block;color:var(--white);font-weight:600}
.daylog p{margin-top:4px;font-size:.96rem}
.example{margin-top:14px;font-size:.8rem;color:var(--muted)}
@media (max-width:560px){.daylog li{grid-template-columns:1fr;gap:6px}}

/* faq */
.faq-group{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr);gap:clamp(24px,4vw,64px);padding:44px 0;border-top:1px solid var(--line-2)}
.faq-group:first-child{border-top:2px solid var(--white)}
.faq-group h2{font-size:clamp(2.2rem,3.6vw,3.2rem)}
.faq-list details{border-bottom:1px solid var(--line-2)}
.faq-list details:first-child{border-top:1px solid var(--line-2)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-family:var(--display);font-weight:800;font-size:1.55rem;line-height:1.05;text-transform:uppercase;color:var(--white)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:var(--body);font-weight:400;font-size:1.8rem;color:var(--orange);flex:none;line-height:1}
.faq-list details[open] summary::after{content:"\2212"}
.faq-list summary:hover{color:var(--orange)}
.faq-list .a{padding:0 0 22px;max-width:68ch}
.faq-list .a p + p{margin-top:10px}
@media (max-width:900px){.faq-group{grid-template-columns:1fr}}

/* related */
.related{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--white);border-left:1px solid var(--line-2)}
.related a{display:flex;flex-direction:column;gap:10px;padding:24px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--text);min-height:170px}
.related a:hover{background:var(--s2);color:var(--text)}
.related b{font-family:var(--display);font-weight:900;font-size:1.8rem;line-height:.92;text-transform:uppercase;color:var(--white)}
.related .go{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
@media (max-width:980px){.related{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.related{grid-template-columns:1fr}}

.foot-contact{list-style:none;margin:36px 0 0;padding:22px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 36px}
.foot-contact a{font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:.02em;text-transform:uppercase;color:var(--white);text-decoration:none}
.foot-contact a:hover{color:var(--orange)}
.role-link{margin-top:22px;font-size:1rem}
.example-note{margin-top:40px;font-size:1rem;max-width:72ch}
.role-chans{margin-top:24px}

/* ---------- hero slideshow: one slide per product ---------- */
.hs{padding-top:clamp(32px,3.6vw,52px)}
.hs-h1{max-width:78ch;padding-left:22px;border-left:4px solid var(--orange);font-family:var(--body);font-weight:400;font-size:clamp(1.08rem,1.55vw,1.4rem);line-height:1.45;letter-spacing:0;text-transform:none;color:var(--text)}
.hs-h1 strong{color:var(--white);font-weight:700}
.hs-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(22px,2.4vw,32px)}
.hs-stack{display:grid}
.hs-slide{grid-area:1/1;visibility:hidden}
.hs-slide.is-active,.hs-slide.is-out{visibility:visible}
.hs-slide.is-out{pointer-events:none}
.hs-title{font-size:clamp(3rem,6.3vw,6.1rem);line-height:.9;margin-top:20px;max-width:9ch}
.hs-title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.hs-title .w > span{display:inline-block}
.hs-slide .lead{margin-top:20px;max-width:52ch}
.hs-slide .tlink{margin-top:22px}
.hs-slide .tag{position:relative}
.hs-slide .tlink{display:inline-flex}
.hs-vis{display:grid;position:relative}
.hs-v{grid-area:1/1;position:relative;visibility:hidden}
.hs-v.is-active,.hs-v.is-out{visibility:visible}
.hs-v .float{left:-24px;top:auto;bottom:32px}
.hs-nav{display:grid;grid-template-columns:1fr 58px;align-items:stretch;margin-top:clamp(32px,3.4vw,44px);border-top:1px solid var(--line)}
.hs-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
.hs-tab{position:relative;display:grid;gap:4px;align-content:start;text-align:left;background:none;border:none;border-right:1px solid var(--line);padding:22px 22px 24px 0;margin-right:22px;color:var(--muted);cursor:pointer;font:inherit}
.hs-tab + .hs-tab{padding-left:0}
.hs-tab .bar{position:absolute;left:0;right:0;top:-2px;height:3px;background:var(--line-2)}
.hs-tab .bar i{display:block;height:100%;background:var(--k);transform:scaleX(0);transform-origin:left}
.hs-tab[aria-selected="true"] .bar i{transform:scaleX(1)}
.hs-tab .num{font-family:var(--mono);font-size:.76rem;color:var(--muted)}
.hs-tab b{font-family:var(--display);font-weight:900;font-size:clamp(1.4rem,2.2vw,2rem);line-height:.95;text-transform:uppercase;color:var(--muted);transition:color .2s ease}
.hs-tab .d{font-size:.88rem}
.hs-tab:hover b,.hs-tab[aria-selected="true"] b{color:var(--white)}
.hs-tab[aria-selected="true"] .num{color:var(--orange)}
.hs-pause{align-self:center;justify-self:end;width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;background:none;border:2px solid var(--line-2);color:var(--white);cursor:pointer}
.hs-pause:hover{border-color:var(--orange)}
.hs-pause svg{width:18px;height:18px}
.hs-pause .i-play{display:none}
.hs-pause[aria-pressed="true"] .i-play{display:block}
.hs-pause[aria-pressed="true"] .i-pause{display:none}
.hs .proof{margin-top:clamp(36px,4vw,56px)}

@media (prefers-reduced-motion:no-preference){
  .hs.is-playing .hs-tab[aria-selected="true"] .bar i{animation:hsProg 7s linear both}
  .hs.is-playing.is-paused .hs-tab[aria-selected="true"] .bar i,.hs.is-playing.is-hover .hs-tab[aria-selected="true"] .bar i,.hs.is-playing.is-focus .hs-tab[aria-selected="true"] .bar i{animation-play-state:paused}
  .hs-slide.is-active .w > span{animation:hsWIn .75s cubic-bezier(.2,.75,.2,1) both}
  .hs-slide.is-active .w:nth-child(2) > span{animation-delay:.07s}
  .hs-slide.is-active .w:nth-child(3) > span{animation-delay:.14s}
  .hs-slide.is-active .w:nth-child(4) > span{animation-delay:.21s}
  .hs-slide.is-out .w > span{animation:hsWOut .45s cubic-bezier(.6,0,.8,.2) both}
  .hs-slide.is-active .hs-fade{animation:hsFIn .6s ease .3s both}
  .hs-slide.is-active .tlink.hs-fade{animation-delay:.42s}
  .hs-slide.is-out .hs-fade{animation:hsFOut .3s ease both}
  .hs-v.is-active{animation:hsVIn .8s cubic-bezier(.2,.75,.2,1) both}
  .hs-v.is-out{animation:hsVOut .45s ease both}
  .hs-v.is-active .float{animation:hsFIn .5s ease .55s both}
  @keyframes hsProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes hsWIn{from{transform:translateY(108%)}to{transform:none}}
  @keyframes hsWOut{from{transform:none}to{transform:translateY(-108%)}}
  @keyframes hsFIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes hsFOut{from{opacity:1}to{opacity:0;transform:translateY(-10px)}}
  @keyframes hsVIn{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
  @keyframes hsVOut{from{opacity:1;transform:none}to{opacity:0;transform:translateX(-40px)}}
}
@media (prefers-reduced-motion:reduce){.hs-slide.is-out,.hs-v.is-out{visibility:hidden}}
@media (max-width:980px){
  .hs-grid{grid-template-columns:1fr}
  .hs-v .float{left:12px;bottom:12px}
}
@media (max-width:640px){
  .hs-tab{padding:16px 10px 18px 0;margin-right:10px}
  .hs-tab .d{display:none}
  .hs-tab b{font-size:1.15rem}
  .hs-nav{grid-template-columns:1fr 50px}
}
@media (max-width:640px){
  .hs-v .float{min-width:0;padding:10px 12px;left:10px;bottom:10px}
  .hs-v .float .v{font-size:1.15rem}
  .hs-v .float .s{display:none}
  .hs-tab b{font-size:1rem}
}

/* security check (Google reCAPTCHA) */
.captcha-label{font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--white)}
.g-recaptcha{min-height:78px}
.captcha-preview{display:flex;align-items:center;gap:14px;min-height:65px;padding:12px 16px;border:1px dashed var(--line-2);background:var(--s2);font-size:.9rem;color:var(--muted)}
.captcha-preview i{flex:none;width:24px;height:24px;border:2px solid var(--muted)}
.captcha-preview b{color:var(--white);font-weight:600}

/* ---------- PDI demo app download ---------- */
[hidden]{display:none!important}
.cta-note{margin-top:16px;font-size:.9rem;color:var(--muted);max-width:52ch}
.seats4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.seats4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.seats4{grid-template-columns:1fr}}
.seq3{grid-template-columns:repeat(3,1fr);margin-top:0}
@media (max-width:760px){.seq3{grid-template-columns:1fr}}
#demo-app .btns{margin-top:36px}
.ticks1{grid-template-columns:1fr;margin-top:16px}
.flow-steps{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--line-2)}
.flow-steps li{display:flex;align-items:center;gap:10px;padding:14px 12px 0 0;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);position:relative}
.flow-steps li span{font-family:var(--mono);font-weight:400;letter-spacing:0}
.flow-steps li::before{content:"";position:absolute;left:0;right:12px;top:-2px;height:2px;background:transparent}
.flow-steps li.is-current,.flow-steps li.is-done{color:var(--white)}
.flow-steps li.is-current::before{background:var(--orange)}
.flow-steps li.is-done::before{background:var(--teal)}
.flow-steps li.is-current span{color:var(--orange)}
.code-sent{margin:0}
.code-sent strong{word-break:break-all}
.code-input{font-family:var(--mono)!important;font-size:2rem!important;letter-spacing:.5em;max-width:320px;text-align:left}
.code-actions{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:14px!important}
.linkbtn{background:none;border:none;padding:8px 0;color:var(--white);font:inherit;font-size:.95rem;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px;cursor:pointer}
.linkbtn:hover{color:var(--orange)}
.code-help{grid-column:1/-1;font-size:.88rem;color:var(--muted)}
.app-done{border-top:2px solid var(--teal);padding-top:26px}
.app-done h2{margin-top:18px}
.app-done .lead{margin-top:14px}
.install-t{font-size:1.6rem;margin-top:40px}
.install{margin:16px 0 0;padding:0;list-style:none;counter-reset:ins}
.install li{counter-increment:ins;display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.install li::before{content:counter(ins,decimal-leading-zero);font-family:var(--mono);font-size:.8rem;color:var(--orange);padding-top:.2em}
.form-status.is-ok{display:block;border-left:4px solid var(--teal);background:var(--s2);color:var(--white)}

/* customisation and hosting note under product heroes */
.assure{border-bottom:1px solid var(--line);background:var(--s1)}
.assure .wrap{display:flex;align-items:center;gap:16px;padding-top:18px;padding-bottom:18px}
.assure svg{flex:none;width:26px;height:26px;color:var(--orange)}
.assure p{font-size:1rem;color:var(--text)}
.assure strong{font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:.03em;text-transform:uppercase;color:var(--white);margin-right:6px}
