/* Nick Ty the AI Guy: Cloud #F4F6F8 · Ink #0F1419 · Signal Teal #0B7F6B
   Slate #5B6B7C (muted) · Hairline #D5DDE7 (rules + grid) · Charcoal #1B1F24.
   IBM Plex Sans only: 600 headlines, 400 body, 500 caps labels. */
:root{--cloud:#F4F6F8;--ink:#0F1419;--teal:#0B7F6B;--slate:#5B6B7C;--hair:#D5DDE7;--ink2:#243040;--char:#1B1F24;--pad:64px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:var(--cloud);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;position:relative;overflow-x:hidden;line-height:1.5}
a{color:inherit}
.grid{position:absolute;left:0;right:0;top:0;height:900px;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 35% 35%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 35% 35%,#000 10%,transparent 70%)}
.wrap{position:relative;width:100%;max-width:1200px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
/* nav */
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav::after{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:var(--hair)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:18px;letter-spacing:-.01em;white-space:nowrap}
.ink{color:var(--ink)}.teal{color:var(--teal)}
.links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500;color:var(--ink2)}
.links a:not(.btn){text-decoration:none}.links a:not(.btn):hover{color:var(--teal)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;font-weight:600;border-radius:8px;text-decoration:none;height:52px;padding:0 26px;font-size:16px;transition:background .15s;white-space:nowrap}
.btn:hover,.btn:focus-visible{background:var(--teal)}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
/* type */
.label{font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
h1{font-weight:600;font-size:78px;line-height:.98;letter-spacing:-.025em;margin-top:18px}
h1 .g{color:var(--teal);display:block}
h2{font-weight:600;font-size:40px;line-height:1.1;letter-spacing:-.02em;margin-top:12px}
h3{font-weight:600;font-size:20px;letter-spacing:-.01em;line-height:1.25}
.text{font-size:17px;line-height:1.6;color:var(--slate);margin-top:14px;max-width:560px}
.text a{color:var(--ink);font-weight:500}
/* hero */
.hero{display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:start;padding-top:56px;padding-bottom:72px}
.promise{font-size:26px;font-weight:600;letter-spacing:-.01em;margin-top:26px;color:var(--ink2)}
.body{font-size:17px;line-height:1.6;color:var(--slate);margin-top:12px;max-width:500px;text-wrap:pretty}
.cta{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}
.contact{font-size:14px;line-height:1.5;color:var(--ink2)}
.contact a{text-decoration:none}.contact a:hover{text-decoration:underline}
.contact b{font-weight:600}.contact span{color:var(--slate)}
.photo{width:100%;aspect-ratio:420/470;border-radius:14px;overflow:hidden;border:1px solid var(--hair);box-shadow:0 24px 48px -24px rgba(15,20,25,.28);background:#5c5f64}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
/* proof strip */
.proof{padding-top:28px;padding-bottom:28px}
.proof::before,.proof::after{content:"";position:absolute;left:var(--pad);right:var(--pad);height:1px;background:var(--hair)}
.proof::before{top:0}.proof::after{bottom:0}
.proof ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:14px}
.proof strong{display:block;font-weight:600;font-size:17px}
.proof li span{display:block;color:var(--slate);font-size:15px;margin-top:4px}
/* sections */
.section{display:grid;grid-template-columns:72px 1fr;gap:0;padding-top:88px;padding-bottom:8px;scroll-margin-top:8px}
.num{font-size:14px;font-weight:600;color:var(--teal);padding-top:4px;letter-spacing:.04em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.two .btn{margin-top:26px}
.card{background:#fff;border:1px solid var(--hair);border-radius:12px;padding:28px}
.card h3{margin-top:8px}
.ticks{list-style:none;margin-top:16px}
.ticks li{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--hair);color:var(--ink2);font-size:15.5px}
.ticks li::before{content:"";position:absolute;left:0;top:21px;width:10px;height:2px;background:var(--teal)}
/* talk */
.talk{display:grid;grid-template-columns:1fr 260px;gap:48px;background:var(--char);color:#E6E9ED;border-radius:14px;padding:44px}
.talk .label{color:#9AA3AE}
.talk h2{color:#fff;font-size:46px}
.deck{font-size:22px;font-weight:600;color:#5FD0B8;margin-top:8px}
.talk .text{color:#B7BEC7}
.talk-aside{display:flex;flex-direction:column;justify-content:space-between;gap:24px;border-left:1px solid #343A42;padding-left:32px}
.talk-aside strong{display:block;white-space:nowrap;font-size:19px;color:#fff;margin-top:6px}
.talk .btn{background:var(--teal)}.talk .btn:hover{background:#0A6E5D}
/* case studies */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.case{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hair);border-radius:12px;padding:26px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.case:hover{border-color:var(--teal);box-shadow:0 18px 36px -24px rgba(15,20,25,.3)}
.case h3{margin-top:10px}
.case > p:not(.label){color:var(--slate);font-size:15px;line-height:1.55;margin-top:10px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--hair)}
.metrics dt{font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--teal);white-space:nowrap}
.metrics dd{font-size:12.5px;color:var(--slate);margin-top:2px}
.more{margin-top:auto;padding-top:18px;font-weight:600;font-size:14.5px;color:var(--ink)}
/* audit steps */
.steps{list-style:none;border-top:1px solid var(--ink)}
.steps li{display:grid;grid-template-columns:44px 1fr;padding:20px 0 22px;border-bottom:1px solid var(--hair)}
.step{font-weight:600;color:var(--teal);font-size:14px;padding-top:2px}
.steps strong{display:block;font-weight:600;font-size:18px}
.steps li span:not(.step){display:block;color:var(--slate);font-size:15px;line-height:1.55;margin-top:4px}
/* book */
.book{padding-bottom:72px}
.phone{display:inline-block;margin-top:22px;font-size:56px;font-weight:600;letter-spacing:-.02em;color:var(--teal);text-decoration:none;line-height:1}
.phone:hover{color:var(--ink)}
.hint{font-size:14px;color:var(--slate);margin-top:8px}
/* footer */
.foot{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:20px;padding-bottom:28px;font-size:12.5px;color:var(--slate)}
.foot::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:var(--hair)}
.foot span:last-child{text-align:right;max-width:520px}
/* case-study detail pages */
.cs{padding-top:48px;padding-bottom:80px;max-width:960px}
.back{display:inline-block;font-size:14px;font-weight:500;color:var(--slate);text-decoration:none;margin-bottom:28px}
.back:hover{color:var(--teal)}
.cs h1{font-size:52px;line-height:1.05;margin-top:14px}
.cs .lede{font-size:19px;line-height:1.6;color:var(--ink2);margin-top:18px;max-width:760px}
.cs .metrics{border-top:none;margin-top:32px;gap:16px}
.cs .metrics > div{background:#fff;border:1px solid var(--hair);border-radius:12px;padding:20px}
.cs .metrics dt{font-size:30px}
.cs h2{font-size:28px;margin-top:56px;margin-bottom:16px}
.cs .card{margin-top:14px;padding:24px}
.cs .card h3{margin-top:0}
.cs .card p{color:var(--slate);margin-top:8px;font-size:15.5px;line-height:1.6}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ba .card h3{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);font-weight:500}
.ba .after h3{color:var(--teal)}
.ba dl > div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--hair);font-size:15px}
.ba dl > div:first-child{margin-top:12px}
.ba dt{color:var(--slate)}.ba dd{font-weight:600;text-align:right}
.cs-cta{margin-top:56px;padding:32px;border-radius:14px;background:var(--char);color:#fff}
.cs-cta h2{color:#fff;margin:6px 0 0}
.cs-cta p.t{color:#B7BEC7;margin-top:8px}
.cs-cta .label{color:#9AA3AE}
.cs-cta .row{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:22px}
.cs-cta .btn{background:var(--teal)}
.cs-cta a.mail{color:#fff;font-weight:500}
/* responsive */
@media (max-width:1000px){
  .links a:not(.btn){display:none}
  .talk{grid-template-columns:1fr}
  .talk-aside{border-left:none;padding-left:0;border-top:1px solid #343A42;padding-top:24px;flex-direction:row;align-items:center}
}
@media (max-width:900px){
  :root{--pad:24px}
  .hero{grid-template-columns:1fr;gap:36px;padding-top:36px;padding-bottom:48px}
  .photo{max-width:420px;order:-1}
  h1{font-size:clamp(48px,13vw,78px)}
  h2{font-size:32px}
  .talk h2{font-size:34px}
  .promise{font-size:22px}
  .proof ul,.two,.cases,.ba{grid-template-columns:1fr}
  .proof ul{gap:18px}
  .section{grid-template-columns:1fr;padding-top:64px}
  .num{margin-bottom:6px}
  .talk{padding:28px}
  .phone{font-size:40px}
  .foot{flex-direction:column;align-items:flex-start;gap:6px}
  .foot span:last-child{text-align:left}
  .cs h1{font-size:36px}
  .cs .metrics{grid-template-columns:1fr}
}
@media (max-width:360px){.brand .teal{display:none}}
