:root{
  color-scheme: dark;
  --bg:#0F0E0C; --surface:#17150F; --surface2:#1F1B13;
  --border:#332C20; --line:#241F17;
  --text:#F3EAD9; --body:#CDC6B8; --muted:#857E70;
  --accent:#E8722A; --accent-2:#ff8a45; --accent-soft:rgba(232,114,42,.12);
  --on-accent:#1A1712; --gold:#E3B341; --green:#5FBF7F;
  --display:"Chakra Petch","Arial Narrow",system-ui,sans-serif;
  --bodyf:"Archivo",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --wrap:1180px;
}
*{box-sizing:border-box}
.dj{position:relative;background:var(--bg);color:var(--text);font-family:var(--bodyf);
  line-height:1.6;-webkit-font-smoothing:antialiased;font-size:16px;overflow-x:hidden}
.dj ::selection{background:var(--accent);color:var(--on-accent)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.dj a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;text-wrap:balance;line-height:1.02;letter-spacing:.005em;text-transform:uppercase}
p{margin:0}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}

/* topo background layer (ported from Sightline TopoBackground.tsx) */
#topo{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.7}
.dj > .nav,.dj > main,.dj > .foot{position:relative;z-index:1}

.plate{--c:14px;background:var(--surface);border:1px solid var(--border);
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(15,14,12,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:26px;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:19px}
.brand-mark{flex:none;width:30px;height:30px;border-radius:8px;background:url(data:image/png;base64,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) center/contain no-repeat}
.foot .brand-mark{width:25px;height:25px}
.nav nav{display:flex;gap:24px;margin-left:6px}
.nav nav a{font-size:13.5px;color:var(--muted);letter-spacing:.02em;transition:color .2s}
.nav nav a:hover{color:var(--text)}
.nav .spacer{flex:1}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:14px;padding:11px 20px;cursor:pointer;border:1px solid transparent;transition:transform .12s,background .2s,border-color .2s,color .2s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--on-accent);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.dj a:focus-visible,.dj button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.nav .btn{padding:9px 16px;font-size:12.5px}

/* hero */
.hero{border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:72px;padding-bottom:76px;min-height:min(88vh,760px)}
.kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.pr{color:var(--accent)}

/* terminal log motif (updates + contact) */
.loghead{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:16px}
.loghead .cmd{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;max-width:0}
.loghead.in .cmd{max-width:420px;transition:max-width 1.1s steps(26,end) .15s}
.sysline{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:16px;line-height:1.7}
.sysline .ok{color:var(--green)}
.updates .upd.reveal:nth-child(1){transition-delay:.05s}
.updates .upd.reveal:nth-child(2){transition-delay:.22s}
.updates .upd.reveal:nth-child(3){transition-delay:.39s}
.hero h1{font-size:clamp(40px,5.8vw,72px)}
.hero h1 .em{color:var(--accent)}
.hero p.lead{margin-top:22px;max-width:44ch;color:var(--body);font-size:18px}
.hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.stats{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:26px;margin-top:8px;padding-top:26px;border-top:1px solid var(--line)}
.stat .n{font-family:var(--mono);font-size:26px;color:var(--text);font-weight:500}
.stat .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-top:2px}
.scope{position:relative;aspect-ratio:1;width:100%;max-width:460px;margin-left:auto}
#reticle{width:100%;height:100%;display:block}
.scope .readout{position:absolute;left:50%;transform:translateX(-50%);bottom:8px;white-space:nowrap;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.scope .readout .hot{color:var(--gold)}

/* hero load-in choreography */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero .kicker{animation:rise .6s cubic-bezier(.16,1,.3,1) both}
.hero h1{animation:rise .7s cubic-bezier(.16,1,.3,1) .08s both}
.hero .lead{animation:rise .7s cubic-bezier(.16,1,.3,1) .16s both}
.hero .hero-cta{animation:rise .7s cubic-bezier(.16,1,.3,1) .24s both}
.hero .scope{animation:rise .9s cubic-bezier(.16,1,.3,1) .18s both}
.hero .stats{animation:rise .7s cubic-bezier(.16,1,.3,1) .36s both}

/* smooth anchors + branded scrollbar */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:78px}
::-webkit-scrollbar{width:12px}
::-webkit-scrollbar-track{background:#0F0E0C}
::-webkit-scrollbar-thumb{background:#332C20;border-radius:6px;border:3px solid #0F0E0C}
::-webkit-scrollbar-thumb:hover{background:var(--accent)}

/* sections */
section{padding:94px 0;border-bottom:1px solid var(--line)}
.head{margin-bottom:44px}
.head h2{font-size:clamp(30px,4vw,46px)}
.head p{color:var(--body);margin-top:14px;max-width:52ch}

/* products */
.product{display:grid;grid-template-columns:1fr .82fr;margin-bottom:26px;border:1px solid var(--border);--c:20px;
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
  background:linear-gradient(180deg,var(--surface),#12100B);transition:border-color .25s}
.product:hover{border-color:#453A29}
.product .info{padding:38px 40px}
.product .art{position:relative;border-left:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:30px;background:radial-gradient(120% 120% at 70% 10%,var(--accent-soft),transparent 60%)}
.lockup{display:flex;align-items:center;gap:13px;margin-bottom:8px}
.p-name{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:32px}
.p-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--border);color:var(--muted)}
.tag.live{color:var(--green);border-color:rgba(95,191,127,.4)}
.tag.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px;vertical-align:middle}
.product p.desc{color:var(--body);max-width:50ch;font-size:16.5px}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0 28px}
.chip{font-size:12.5px;letter-spacing:.03em;padding:7px 13px;background:var(--surface2);border:1px solid var(--line);color:var(--text)}
.chip::before{content:"";display:inline-block;width:5px;height:5px;background:var(--accent);margin-right:8px;vertical-align:middle;transform:rotate(45deg)}

.lpicon{display:inline-flex;width:36px;height:36px;border-radius:9px;overflow:hidden;border:1px solid var(--border);flex:none}
.lpicon svg{display:block}
.radar-wrap{width:100%;max-width:288px}
#asvab{width:100%;height:auto;display:block}
.radar-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;text-align:center;margin-top:4px}

/* sightline live target (Analyze flow: shots -> group -> clicks) */
.target-wrap{width:100%;max-width:250px}
#tgt{width:100%;height:auto;display:block;cursor:pointer}
#asvab{cursor:pointer}
.btn-soon{background:transparent;color:var(--muted);border:1px solid var(--border);cursor:default}
.btn-soon:hover{transform:none}
#tgt .hole{transform:scale(0);transform-box:fill-box;transform-origin:center}
#tgt.fire .hole{transform:scale(1);transition:transform .3s cubic-bezier(.34,1.56,.64,1);transition-delay:var(--d)}
#tgt .imp{opacity:0}
#tgt.fire .imp{animation:imp .55s ease-out var(--d) forwards}
@keyframes imp{0%{opacity:.9;r:4}100%{opacity:0;r:17}}
#tgt .grp-el{stroke-dasharray:114;stroke-dashoffset:114}
#tgt.fire .grp-el{stroke-dashoffset:0;transition:stroke-dashoffset .55s ease 1.35s}
#tgt .corr{stroke-dasharray:21;stroke-dashoffset:21}
#tgt.fire .corr{stroke-dashoffset:0;transition:stroke-dashoffset .4s ease 1.95s}
#tgt .corr-head,#tgt .read{opacity:0}
#tgt.fire .corr-head{opacity:1;transition:opacity .25s ease 2.3s}
#tgt.fire .read{opacity:1;transition:opacity .45s ease 2.05s}

/* consulting: explainer + cycling client scenarios */
.consult{display:grid;grid-template-columns:1fr 1.08fr;gap:44px;align-items:stretch}
.who{display:flex;flex-direction:column;gap:26px;align-items:flex-start;justify-content:center}
.who h3{font-size:20px;letter-spacing:.03em;margin-bottom:8px}
.who p{color:var(--body);font-size:15.5px;max-width:52ch}
.sc-tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--accent);display:block;margin-bottom:12px;text-transform:uppercase}
.rotator{position:relative;border:1px solid var(--border);--c:16px;clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));background:linear-gradient(180deg,var(--surface),#12100B);padding:38px 36px 64px;min-height:250px}
.rot-item{position:absolute;left:36px;right:36px;top:38px;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.rot-item.on{opacity:1;transform:none;pointer-events:auto}
.rot-item h3{font-size:24px;margin-bottom:10px}
.rot-item p{color:var(--body);font-size:15px;max-width:44ch}
.rot-ticks{position:absolute;left:36px;bottom:24px;display:flex;gap:8px}
.tick{width:24px;height:3px;background:var(--border);border:0;cursor:pointer;padding:0;transition:background .2s}
.tick:hover{background:var(--muted)}
.tick.on{background:var(--accent)}
.tiernote{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-top:14px}

/* guides / gumroad */
.guide{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--border);--c:20px;
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
  background:linear-gradient(180deg,var(--surface),#12100B);margin-bottom:16px}
.guide .term{padding:34px;border-right:1px solid var(--border);background:#0C0B09;display:flex;align-items:center}
.termwin{width:100%;font-family:var(--mono);font-size:13px;background:#0A0908;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.termbar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line)}
.termbar i{width:10px;height:10px;border-radius:50%;background:#332C20;display:block}
.termbody{padding:16px 16px 20px;line-height:1.9;color:var(--body)}
.termbody .p{color:var(--muted)}
.termbody .a{color:var(--accent)}
.termbody .o{color:var(--muted);opacity:.8}
.cur{display:inline-block;width:8px;height:15px;background:var(--accent);vertical-align:-2px;margin-left:2px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.guide .info{padding:38px 40px;display:flex;flex-direction:column;justify-content:center}
.guide .price{font-family:var(--mono);color:var(--accent);font-size:13px;letter-spacing:.1em;margin-bottom:14px}
.guide h3{font-size:30px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px}
.guide .sub{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:16px;margin-bottom:16px}
.guide p{color:var(--body);max-width:52ch;font-size:16px;margin-bottom:26px}
.guide-more{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.gm{display:flex;flex-direction:column;gap:6px;padding:22px;background:var(--surface);border:1px solid var(--border);--c:12px;
  clip-path:polygon(var(--c) 0,100% 0,100% 100%,0 100%,0 var(--c));transition:border-color .2s,transform .12s}
.gm:hover{border-color:var(--accent);transform:translateY(-2px)}
.gm .gp{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.08em}
.gm h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:19px;font-weight:700}
.gm p{color:var(--muted);font-size:13.5px}
.gm.all{align-items:flex-start;justify-content:center;background:var(--accent-soft);border-color:rgba(232,114,42,.3)}
.gm.all span{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:19px;color:var(--accent)}

/* capabilities bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cell{padding:28px;background:var(--surface);border:1px solid var(--border);--c:12px;clip-path:polygon(var(--c) 0,100% 0,100% 100%,0 100%,0 var(--c));min-height:180px;display:flex;flex-direction:column;justify-content:space-between}
.cell.wide{grid-column:span 2}
.cell.hot{background:linear-gradient(140deg,var(--accent-soft),var(--surface) 60%);border-color:rgba(232,114,42,.3)}
.cell h3{font-size:22px;letter-spacing:.02em}
.cell p{color:var(--body);font-size:14.5px;margin-top:8px}
.cell .no{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.18em}

/* next builds */
.builds{display:flex;flex-direction:column}
.build{display:grid;grid-template-columns:34px 1fr auto;gap:20px;align-items:center;padding:22px 4px;border-top:1px solid var(--line)}
.build:last-child{border-bottom:1px solid var(--line)}
.build .no{font-family:var(--mono);color:var(--muted);font-size:13px}
.build .bn{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:22px;font-weight:700}
.build .bd{color:var(--body);font-size:14.5px;margin-top:2px}
.pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:5px 11px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}
.build:hover .bn{color:var(--accent)}

/* updates */
.updates{display:grid;gap:2px}
.upd{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:24px 4px;border-top:1px solid var(--line);transition:background .2s}
.upd:hover{background:var(--surface)}
.upd .date{font-family:var(--mono);font-size:12.5px;color:var(--muted);letter-spacing:.06em}
.upd h3{font-size:21px;text-transform:none;font-family:var(--display);letter-spacing:.01em}
.upd p{color:var(--body);font-size:14.5px;margin-top:6px;max-width:60ch}

/* contact */
.contact{background:linear-gradient(160deg,#17150F,#100E0B);text-align:center;padding:110px 0}
.contact h2{font-size:clamp(34px,5vw,58px);max-width:16ch;margin:0 auto 26px}
.contact p{color:var(--body);max-width:46ch;margin:0 auto 34px;font-size:17px}

/* footer */
.foot{padding:56px 0 44px;border-bottom:none}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px;margin-bottom:30px}
.fcol{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.fcol h4{margin:0 0 5px;font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--muted)}
.fcol a{font-size:13.5px;color:var(--body);transition:color .2s}
.fcol a:hover{color:var(--accent)}
.fbrand p{color:var(--muted);font-size:13.5px;max-width:30ch;margin-top:12px}
.foot .fine{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.05em;padding-top:22px;border-top:1px solid var(--line)}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (scripting: none){
  .reveal{opacity:1;transform:none}
  #tgt .hole{transform:none}
  #tgt .grp-el,#tgt .corr{stroke-dashoffset:0}
  #tgt .corr-head,#tgt .read{opacity:1}
  .loghead .cmd{max-width:none}
}

@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:30px;padding-top:52px;padding-bottom:56px}
  .scope{max-width:340px;margin:0 auto}
  .product,.guide{grid-template-columns:1fr}
  .product .art{border-left:none;border-top:1px solid var(--border)}
  .guide .term{border-right:none;border-bottom:1px solid var(--border)}
  .guide-more{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .cell.wide{grid-column:span 1}
  .nav nav{display:none}
  .consult{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .build{grid-template-columns:1fr auto;gap:12px}
  .build .no{display:none}
  .upd{grid-template-columns:1fr;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .btn:active{transform:none}
  .cur{animation:none}
  #tgt{cursor:default}
  #tgt.fire .hole,#tgt.fire .grp-el,#tgt.fire .corr,#tgt.fire .corr-head,#tgt.fire .read{transition:none}
  #tgt.fire .imp{animation:none}
  .rot-item{transition:none}
  .hero .kicker,.hero h1,.hero .lead,.hero .hero-cta,.hero .scope,.hero .stats{animation:none}
  html{scroll-behavior:auto}
  .loghead .cmd,.loghead.in .cmd{max-width:none;transition:none}
  .updates .upd.reveal{transition-delay:0s}
}

/* ===== v2 additions: shared chrome for a multi-page site ===== */

/* fonts served from /assets/fonts (extracted from the v1 single-file build) */
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/chakra-petch-500.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/chakra-petch-700.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/archivo-400.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/archivo-600.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500.woff2) format("woff2")}

html,body{margin:0;background:var(--bg)}
.dj{overflow-x:clip}                 /* clip, not hidden: keeps the sticky header working */
.dj > .nav{z-index:50}               /* beats the .dj > * z-index:1 rule so the header and menu sit above content */
.card .body .tag,.person .body .tag{align-self:flex-start}
.nav nav a.on{color:var(--text)}
.nav nav a.on::after{content:"";display:block;height:2px;background:var(--accent);margin-top:3px}

/* mobile menu */
.navtoggle{display:none;width:44px;height:44px;border:1px solid var(--border);background:transparent;cursor:pointer;position:relative;flex:none}
.navtoggle span,.navtoggle span::before,.navtoggle span::after{content:"";position:absolute;left:11px;width:20px;height:2px;background:var(--text);transition:transform .2s,opacity .2s}
.navtoggle span{top:21px}
.navtoggle span::before{top:-6px;left:0}
.navtoggle span::after{top:6px;left:0}
.nav.open .navtoggle span{background:transparent}
.nav.open .navtoggle span::before{transform:translateY(6px) rotate(45deg)}
.nav.open .navtoggle span::after{transform:translateY(-6px) rotate(-45deg)}
.nav nav .m-only{display:none}
@media(max-width:900px){
  .navtoggle{display:block}
  .nav nav{display:none}
  .nav.open nav{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:66px;background:var(--bg);border-bottom:1px solid var(--border);padding:8px 0 12px;margin:0}
  .nav.open nav a{padding:14px 24px;font-size:16px;border-top:1px solid var(--line)}
  .nav.open nav a.on::after{display:none}
  .nav.open nav a.on{color:var(--accent)}
  .nav nav .m-only{display:block}
}
@media(max-width:560px){.nav .btn{display:none}}

/* compact hero for inner pages */
.pagehero{border-bottom:1px solid var(--line)}
.pagehero .wrap{padding-top:64px;padding-bottom:56px;max-width:900px;margin-left:0}
.pagehero h1{font-size:clamp(34px,5vw,60px)}
.pagehero p.lead{margin-top:20px;max-width:56ch;color:var(--body);font-size:18px}
.pagehero .hero-cta{margin-top:30px}

/* generic card grid */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);--c:14px;clip-path:polygon(var(--c) 0,100% 0,100% 100%,0 100%,0 var(--c));transition:border-color .2s,transform .12s}
a.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card .img{aspect-ratio:4/3;overflow:hidden;background:#0C0B09;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.card .img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.card .img.portrait img{object-fit:contain;height:100%}
.card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:22px;letter-spacing:.02em}
.card p{color:var(--body);font-size:14.5px}
.card .more{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.card .gp{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.08em}

/* product logos on cards */
.card .img.logo{aspect-ratio:4/3;background:#0C0B09;display:flex;align-items:center;justify-content:center;padding:28px}
.card .img.logo img{width:auto;height:100%;max-height:150px;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--border);border-radius:22%;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.logo-sm{width:42px;height:42px;border-radius:11px;border:1px solid var(--border);display:block;object-fit:cover;flex:none}
.case .lockup{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.case .lockup h3{margin-bottom:0}
.build .logo-sm{width:36px;height:36px;border-radius:9px}
.build.haslogo{grid-template-columns:34px 44px 1fr auto}

/* general guide cover: one frame for every guide, title set per guide */
.gcover{position:relative;aspect-ratio:4/3;background:#0C0B09 radial-gradient(70% 70% at 78% 18%,rgba(232,114,42,.22),transparent 70%);border-bottom:1px solid var(--border);padding:24px 26px;display:flex;flex-direction:column;overflow:hidden}
.gcover::before{content:"";position:absolute;inset:14px;border:1px solid var(--border);pointer-events:none}
.gcover .mark{width:22px;height:22px;border-radius:6px;background:url(/assets/je-mark.png) center/contain no-repeat;margin-bottom:12px}
.gcover .eb{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.gcover .t{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(18px,1.7vw,24px);line-height:1.05;color:var(--text);margin-top:10px;max-width:15ch;text-wrap:balance}
.gcover .pill{margin-top:auto;align-self:flex-start;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;background:var(--accent);color:var(--on-accent);border:0}

/* case studies */
.case{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;padding:56px 0;border-top:1px solid var(--line);align-items:start}
.case:first-of-type{border-top:none;padding-top:8px}
.case h3{font-size:clamp(26px,3vw,36px);margin-bottom:8px}
.case .p-top{margin-bottom:22px}
.case dl{display:grid;grid-template-columns:150px 1fr;gap:10px 22px;margin:0}
.case dt{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding-top:4px}
.case dd{margin:0;color:var(--body);font-size:15.5px;max-width:60ch}
.case .cta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.media{display:flex;gap:16px;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap}
.phone{width:min(46%,230px);aspect-ratio:9/16;background:#0C0B09;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.phone img,.phone video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.media.single .phone{width:min(60%,260px)}
.media .wide{width:100%;border:1px solid var(--border);overflow:hidden;background:#0C0B09}
.media .wide img{width:100%;display:block}
.capt{width:100%;text-align:right;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* people */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.person{background:var(--surface);border:1px solid var(--border);--c:14px;clip-path:polygon(var(--c) 0,100% 0,100% 100%,0 100%,0 var(--c))}
.person .photo{aspect-ratio:4/5;background:#0C0B09;border-bottom:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center}
.person .photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9)}
.person .photo .mono-avatar{font-family:var(--display);font-weight:700;font-size:64px;letter-spacing:.06em;color:var(--muted)}
.person .body{padding:20px 22px 24px}
.person h3{font-size:22px;letter-spacing:.02em;text-transform:none}
.person .role{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:4px 0 10px}
.person p{color:var(--body);font-size:14.5px}
.person .tag{margin-top:14px;display:inline-block}
.teamstrip .person .photo{aspect-ratio:1/1}

/* crew / tools block */
.crew{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.crew div{padding:16px 18px;background:var(--surface);border:1px solid var(--border)}
.crew b{display:block;font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:17px;color:var(--text)}
.crew span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.notice{font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--body);padding:18px 22px;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);max-width:70ch}

/* principles / plain lists */
.principles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.principles div{padding:22px 24px;background:var(--surface);border:1px solid var(--border)}
.principles .no{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.18em}
.principles h3{font-size:20px;margin:8px 0 6px;letter-spacing:.02em}
.principles p{color:var(--body);font-size:14.5px}
.prose{max-width:68ch}
.prose p{color:var(--body);font-size:16.5px;margin-bottom:16px}
.prose h3{font-size:22px;margin:30px 0 10px}
.prose ul{color:var(--body);padding-left:20px;margin:0 0 16px}
.prose li{margin-bottom:8px}
.prose a{color:var(--accent)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
.split .photo{border:1px solid var(--border);overflow:hidden;background:#0C0B09;max-width:400px}
.split .photo img{width:100%;display:block;filter:saturate(.9)}

/* services route */
.route{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.route .gm{min-height:200px}
.route .gm.start{background:var(--accent-soft);border-color:rgba(232,114,42,.35)}
.route .gm.start .gp{color:var(--text)}

/* four-up promise strip (home) */
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.four.two{grid-template-columns:1fr 1fr}
.four .cell{min-height:150px}
.four .cell h3{font-size:18px}
@media(max-width:900px){.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.four,.four.two{grid-template-columns:1fr}}

/* the pitch (home): full width, illustrated */
.pitchsec{background:linear-gradient(180deg,rgba(23,21,15,.6),rgba(23,21,15,0) 38%)}
.eyebrow{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.pitch-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.pitch-hero h2{font-size:clamp(30px,3.8vw,46px);margin-bottom:22px}
.pitch-hero p.big{color:var(--body);font-size:17.5px;max-width:58ch;margin-bottom:16px}
.pitchsec h3.sub{font-size:14px;letter-spacing:.18em;color:var(--muted);margin:60px 0 20px;padding-top:26px;border-top:1px solid var(--line)}
/* AI answer illustration */
.aiq{background:#0A0908;border:1px solid var(--border);--c:16px;clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));font-family:var(--mono);font-size:13px}
.aiq-bar{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}
.aiq-bar i{width:10px;height:10px;border-radius:50%;background:#332C20;display:block}
.aiq-bar span{margin-left:auto;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.aiq-q{padding:18px 20px 12px;color:var(--text);font-size:14px;line-height:1.6}
.aiq-a{padding:6px 14px 14px;display:grid;gap:8px}
.aiq-row{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--line)}
.aiq-row .rank{width:28px;height:28px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}
.aiq-row b{display:block;font-family:var(--bodyf);font-weight:600;color:var(--text);font-size:14px}
.aiq-row div span{display:block;color:var(--muted);font-size:12px;margin-top:2px;font-family:var(--bodyf)}
.aiq-row.you{border:1px dashed rgba(232,114,42,.65);background:rgba(232,114,42,.06)}
.aiq-row.you .rank{color:var(--accent);border-color:var(--accent)}
.aiq-row.you b{color:var(--accent)}
.aiq-foot{padding:12px 20px 14px;border-top:1px solid var(--line);color:var(--body);font-size:12.5px}
.aiq .capt{padding:0 20px 16px;text-align:left;width:auto}
/* four-step timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.timeline::before{content:"";position:absolute;left:10%;right:10%;top:40px;height:1px;background:var(--border);z-index:0}
.tl{position:relative;z-index:1;padding:22px 22px 24px;background:var(--surface);border:1px solid var(--border);--c:12px;clip-path:polygon(var(--c) 0,100% 0,100% 100%,0 100%,0 var(--c))}
.tl .ic{width:36px;height:36px;color:var(--accent);display:block;margin-bottom:14px}
.tl .no{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.2em;display:block;margin-bottom:6px}
.tl b{display:block;font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:17px;color:var(--text);margin-bottom:8px;line-height:1.1}
.tl p{color:var(--body);font-size:14px}
/* offer cards with icons */
.route .gm{min-height:240px;padding:24px}
.route .gm .ic{width:32px;height:32px;color:var(--accent);margin-bottom:10px}
.route .gm .go{margin-top:auto;padding-top:14px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.fineprint{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:14px;line-height:1.7}
/* promises + answers */
.pitch-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.four.two .cell{min-height:140px}
.faq{display:grid;gap:10px}
.faq div{padding:18px 20px;border:1px solid var(--line);background:rgba(23,21,15,.5)}
.faq b{display:block;font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:16px;color:var(--text);margin-bottom:6px}
.faq p{color:var(--body);font-size:14.5px}
/* CTA band */
.band{margin-top:56px;display:grid;grid-template-columns:1.3fr auto;gap:32px;align-items:center;padding:36px 40px;background:linear-gradient(140deg,var(--accent-soft),var(--surface) 55%);border:1px solid rgba(232,114,42,.3);--c:18px;clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}
.band h3{font-size:clamp(22px,2.6vw,30px);max-width:26ch}
.band .loghead{margin-bottom:12px}
.band .hero-cta{margin-top:0;flex-direction:column;align-items:flex-start}
@media(max-width:900px){
  .pitch-hero{grid-template-columns:1fr;gap:32px}
  .timeline{grid-template-columns:1fr 1fr}
  .timeline::before{display:none}
  .pitch-grid{grid-template-columns:1fr}
  .band{grid-template-columns:1fr;padding:28px 24px}
  .band .hero-cta{flex-direction:row}
}
@media(max-width:560px){.timeline{grid-template-columns:1fr}}

/* app rows */
.approw{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px 4px;border-top:1px solid var(--line);align-items:center}
.approw:last-child{border-bottom:1px solid var(--line)}
.approw .bn{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:20px;font-weight:700}
.approw .bd{color:var(--body);font-size:14.5px;margin-top:2px}
.approw .links{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}
.approw .links a{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

/* legal pages */
.legal .wrap{max-width:820px;margin-left:0}
.legal h1{font-size:clamp(30px,4vw,44px)}
.legal .date{font-family:var(--mono);font-size:12.5px;color:var(--muted);letter-spacing:.08em;margin:12px 0 34px}
.legal h2{font-size:22px;margin:34px 0 10px;letter-spacing:.02em}
.legal h3{font-size:17px;margin:20px 0 8px;letter-spacing:.02em}
.legal p,.legal li{color:var(--body);font-size:15.5px;line-height:1.75;margin-bottom:12px}
.legal ul{padding-left:22px;margin:0 0 12px}
.legal a{color:var(--accent)}
.legal .fine{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--muted);line-height:1.7}
.p-top{flex-wrap:wrap;row-gap:8px}

/* links hub */
.hub{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.hub a{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:var(--surface);border:1px solid var(--border);font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:17px;transition:border-color .2s}
.hub a:hover{border-color:var(--accent);color:var(--accent)}
.hub a span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}

/* contact cards */
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kv div{padding:24px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.kv h3{font-size:20px;letter-spacing:.02em}
.kv p{color:var(--body);font-size:14.5px}
.kv a.mail{font-family:var(--mono);color:var(--accent);font-size:14px;word-break:break-all}
.kv .btn{align-self:flex-start;margin-top:auto}

.center{text-align:center}
.mt{margin-top:32px}
.gap{height:44px}

@media(max-width:900px){
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
  .cards,.cards.two,.people,.route,.kv,.principles{grid-template-columns:1fr}
  .crew{grid-template-columns:1fr 1fr}
  .case{grid-template-columns:1fr;gap:28px}
  .case dl{grid-template-columns:1fr;gap:2px 0}
  .case dt{padding-top:12px}
  .media{justify-content:flex-start}
  .split{grid-template-columns:1fr}
  .split .photo{max-width:360px}
  .pagehero .wrap{padding-top:44px;padding-bottom:40px}
  section{padding:64px 0}
}
