:root{
  --paper:#EFEAD8;--paper2:#E6E0CC;--ink:#1a1a18;--ink2:#2a2a25;
  --mute:#6b675a;--dim:#9a9688;--line:rgba(26,26,24,0.18);--hair:rgba(26,26,24,0.1);
  --accent:#d4462a;--accent-dk:#b23619;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Inter',-apple-system,system-ui,sans-serif;
  --disp:'Archivo','Inter',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}

nav.top{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;border-bottom:1px solid var(--ink);position:sticky;top:0;background:var(--paper);z-index:50;gap:16px;flex-wrap:wrap}
.logo{font-family:var(--disp);font-weight:900;font-size:20px;letter-spacing:-0.02em;text-transform:uppercase}
nav.top ul{display:flex;gap:24px;list-style:none;font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;align-items:center;flex-wrap:wrap;justify-content:flex-end}
nav.top ul a{color:var(--mute);transition:color .2s}
nav.top ul a:hover{color:var(--accent)}
nav.top ul a.active{color:var(--ink)}
.cta{background:var(--accent);color:var(--paper) !important;padding:8px 18px;border-radius:100px;white-space:nowrap;transition:background .2s}
.cta:hover{background:var(--ink)}

/* breadcrumb */
.crumb{padding:20px 40px;border-bottom:1px solid var(--hair);font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute)}
.crumb a{color:var(--mute);transition:color .2s}
.crumb a:hover{color:var(--accent)}
.crumb b{color:var(--ink);font-weight:500}
.crumb span{margin:0 10px;opacity:.5}

/* hero */
.s-hero{padding:72px 40px 64px;border-bottom:1px solid var(--ink);display:grid;grid-template-columns:minmax(0,1.5fr) 380px;gap:64px;align-items:end}
.s-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:28px}
.s-h1{font-family:var(--serif);font-weight:400;font-size:96px;line-height:0.98;letter-spacing:-0.035em;text-wrap:balance;margin-bottom:40px;padding-bottom:8px;color:var(--ink)}
.s-h1 i{font-style:italic;color:var(--mute)}
.s-lede{font-family:var(--serif);font-size:24px;line-height:1.4;max-width:620px;color:var(--ink)}
.s-lede i{font-style:italic;color:var(--mute)}

.s-pull{border:1px solid var(--ink);padding:28px;background:var(--ink);color:var(--paper)}
.s-pull-l{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.s-pull blockquote{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.25;color:var(--paper);margin-bottom:20px}
.s-pull blockquote::before{content:'\201C';font-size:38px;line-height:0;position:relative;top:8px;color:var(--accent);margin-right:4px}
.s-pull-meta{padding-top:16px;border-top:1px solid rgba(239,234,216,0.2);font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(239,234,216,0.55);line-height:1.7}
.s-pull-meta b{color:var(--paper);font-weight:500}

/* summary bar */
.s-bar{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--ink)}
.s-bar-i{padding:32px 28px;border-right:1px solid var(--hair)}
.s-bar-i:last-child{border-right:none}
.s-bar-k{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.s-bar-v{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:-0.01em;color:var(--ink);line-height:1.2}
.s-bar-v i{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--accent)}

/* section */
section.s-sec{padding:96px 40px;border-bottom:1px solid var(--ink)}
section.s-sec.dark{background:var(--ink);color:var(--paper)}
section.s-sec.cream{background:var(--paper2)}

.s-sec-head{display:grid;grid-template-columns:200px 1fr;gap:48px;margin-bottom:56px;align-items:baseline}
.s-sec-eye{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);padding-top:14px}
.s-sec-eye b{color:var(--ink);font-weight:500;display:block;margin-bottom:4px}
.dark .s-sec-eye{color:rgba(239,234,216,0.5)}
.dark .s-sec-eye b{color:var(--paper)}
.s-sec-h{font-family:var(--serif);font-weight:400;font-size:64px;line-height:0.98;letter-spacing:-0.03em;text-wrap:balance}
.s-sec-h i{font-style:italic;color:var(--accent)}

/* what we do — list */
.what{display:grid;grid-template-columns:200px 1fr;gap:48px}
.what-l{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute)}
.what-list{list-style:none}
.what-list li{padding:28px 0;border-top:1px solid var(--hair);display:grid;grid-template-columns:60px 1fr;gap:28px;align-items:baseline}
.what-list li:first-child{border-top:1px solid var(--ink)}
.what-list li:last-child{border-bottom:1px solid var(--ink)}
.what-list .n{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:0.08em}
.what-list h3{font-family:var(--disp);font-weight:700;font-size:24px;letter-spacing:-0.01em;line-height:1.15;margin-bottom:10px}
.what-list p{font-size:15px;line-height:1.6;color:var(--mute);max-width:720px}
.what-list p b{color:var(--ink);font-weight:500}

/* deliverables grid */
.deliv{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(239,234,216,0.15);border-left:1px solid rgba(239,234,216,0.15)}
.deliv-i{padding:32px 28px 40px;border-right:1px solid rgba(239,234,216,0.15);border-bottom:1px solid rgba(239,234,216,0.15)}
.deliv-n{font-family:var(--serif);font-style:italic;font-size:40px;line-height:1;color:var(--accent);margin-bottom:18px}
.deliv-i h4{font-family:var(--disp);font-weight:700;font-size:18px;margin-bottom:10px;color:var(--paper)}
.deliv-i p{font-size:13.5px;line-height:1.55;color:rgba(239,234,216,0.65)}

/* stack */
.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.stack-i{padding:24px 22px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper2)}
.stack-i .k{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.stack-i .v{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--ink);line-height:1.3}

/* case */
.case{display:grid;grid-template-columns:200px 1fr 320px;gap:40px;padding:64px 40px;border-bottom:1px solid var(--ink);background:var(--paper)}
.case-eye{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);padding-top:4px}
.case-eye b{color:var(--ink);font-weight:500;display:block}
.case-main .brief{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.45;color:var(--mute);margin-bottom:16px}
.case-main h3{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1.05;letter-spacing:-0.02em;margin-bottom:20px;text-wrap:balance}
.case-main h3 i{font-style:italic;color:var(--accent)}
.case-main p{font-size:15px;line-height:1.7;color:var(--ink2);margin-bottom:14px;max-width:640px}
.case-stats{border:1px solid var(--ink);background:var(--paper2)}
.case-stat{padding:18px 20px;border-bottom:1px solid var(--hair);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.case-stat:last-child{border-bottom:none}
.case-stat-l{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mute)}
.case-stat-v{font-family:var(--disp);font-weight:700;font-size:32px;letter-spacing:-0.02em;color:var(--ink);line-height:1}
.case-stat-v sup{font-size:14px;color:var(--accent);margin-left:2px}

/* fit / refuse */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink)}
.fit-col{padding:56px 40px;border-right:1px solid var(--ink)}
.fit-col:last-child{border-right:none;background:var(--paper2)}
.fit-k{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-bottom:24px}
.fit-col h3{font-family:var(--serif);font-size:40px;line-height:1.05;letter-spacing:-0.02em;margin-bottom:28px;font-weight:400;text-wrap:balance}
.fit-col h3 i{font-style:italic;color:var(--accent)}
.fit-list{list-style:none}
.fit-list li{padding:14px 0;border-top:1px solid var(--hair);font-size:15.5px;line-height:1.5;color:var(--ink2);display:flex;gap:12px}
.fit-list li:first-child{border-top:1px solid var(--ink)}
.fit-list li::before{content:'';width:6px;height:6px;border-radius:50%;margin-top:9px;flex-shrink:0;background:var(--accent)}
.fit-col.no .fit-list li::before{background:var(--mute)}

/* process mini */
.proc{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.proc-i{padding:36px 28px 44px;border-right:1px solid var(--ink);transition:background .25s}
.proc-i:last-child{border-right:none}
.proc-i:hover{background:var(--ink);color:var(--paper)}
.proc-i:hover .proc-d{color:rgba(239,234,216,0.65)}
.proc-i:hover .proc-n i{color:var(--accent)}
.proc-n{font-family:var(--serif);font-style:italic;font-size:56px;line-height:1;color:var(--paper2);margin-bottom:20px}
.proc-i:hover .proc-n{color:var(--ink2)}
.proc-k{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.proc-t{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:-0.01em;line-height:1.15;margin-bottom:12px}
.proc-d{font-size:13px;line-height:1.6;color:var(--mute)}

/* faq */
.faq{display:grid;grid-template-columns:200px 1fr;gap:48px}
.faq-l{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute)}
.faq-list{list-style:none}
.faq-list details{padding:22px 0;border-top:1px solid var(--hair);cursor:pointer}
.faq-list details:first-child{border-top:1px solid var(--ink)}
.faq-list details:last-child{border-bottom:1px solid var(--ink)}
.faq-list summary{font-family:var(--serif);font-size:26px;line-height:1.25;letter-spacing:-0.01em;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--ink);font-weight:400}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';font-family:var(--disp);font-weight:400;font-size:28px;color:var(--accent);flex-shrink:0;transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin-top:14px;font-size:15px;line-height:1.65;color:var(--mute);max-width:720px}

/* next up / cta band */
.nxt{padding:72px 40px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;border-bottom:1px solid var(--ink)}
.nxt h2{font-family:var(--serif);font-weight:400;font-size:64px;line-height:0.98;letter-spacing:-0.03em;color:var(--paper);text-wrap:balance}
.nxt h2 i{font-style:italic;color:var(--accent)}
.nxt p{font-family:var(--serif);font-size:20px;color:rgba(239,234,216,0.7);margin-top:18px;max-width:600px;line-height:1.4}
.nxt-cta{display:flex;gap:10px;flex-shrink:0}
.btn{padding:14px 26px;font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:0.05em;text-transform:uppercase;background:var(--accent);color:var(--paper);border-radius:100px;transition:all .2s;display:inline-block;white-space:nowrap}
.btn.ghost{background:transparent;color:var(--paper);border:1px solid rgba(239,234,216,0.4)}
.btn:hover{background:var(--paper);color:var(--ink)}
.btn.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* other services */
.others{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.oth{padding:40px 28px;border-right:1px solid var(--ink);transition:background .25s;display:block}
.oth:last-child{border-right:none}
.oth:hover{background:var(--paper2)}
.oth-k{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.oth h3{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:-0.01em;line-height:1.15;margin-bottom:10px;color:var(--ink)}
.oth p{font-size:13.5px;line-height:1.55;color:var(--mute)}
.oth .arr{font-family:var(--disp);font-weight:700;font-size:18px;color:var(--accent);margin-top:16px;display:inline-block}

/* footer */
footer.foot{padding:40px 40px 28px;background:var(--paper);border-top:1px solid var(--ink)}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:32px;border-bottom:1px solid var(--hair)}
.foot-mark{font-family:var(--serif);font-size:56px;line-height:0.9;letter-spacing:-0.03em;color:var(--ink);font-weight:400}
.foot-mark i{font-style:italic;color:var(--accent)}
.foot-tag{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-top:16px}
.foot-col h4{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.foot-col ul{list-style:none}
.foot-col ul li{padding:5px 0}
.foot-col ul a{font-family:var(--sans);font-size:14px;color:var(--ink);transition:color .2s}
.foot-col ul a:hover{color:var(--accent)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;gap:16px}
.foot-bottom b{color:var(--ink);font-weight:500}

/* ──────── RESPONSIVE ──────── */
@media (max-width: 960px){
  nav.top{padding:14px 18px;gap:10px}
  nav.top ul{gap:14px;font-size:10px;letter-spacing:0.1em}
  nav.top ul li:not(:last-child){display:none}
  .logo{font-size:17px}

  .crumb{padding:14px 18px;font-size:10px}
  .crumb span{margin:0 6px}

  .s-hero{padding:40px 18px 44px;grid-template-columns:1fr;gap:32px;align-items:start}
  .s-eyebrow{margin-bottom:18px}
  .s-h1{font-size:44px;margin-bottom:24px}
  .s-lede{font-size:18px}
  .s-pull{padding:22px 20px}
  .s-pull blockquote{font-size:18px}
  .s-pull blockquote::before{font-size:30px;top:6px}

  .s-bar{grid-template-columns:1fr 1fr}
  .s-bar-i{padding:22px 18px;border-bottom:1px solid var(--hair)}
  .s-bar-i:nth-child(odd){border-right:1px solid var(--hair)}
  .s-bar-i:nth-child(even){border-right:none}
  .s-bar-i:nth-last-child(-n+2){border-bottom:none}
  .s-bar-v{font-size:17px}

  section.s-sec{padding:56px 18px}
  .s-sec-head{grid-template-columns:1fr;gap:14px;margin-bottom:32px}
  .s-sec-eye{padding-top:0}
  .s-sec-h{font-size:36px}

  .what{grid-template-columns:1fr;gap:18px}
  .what-list li{grid-template-columns:40px 1fr;gap:14px;padding:22px 0}
  .what-list h3{font-size:20px}
  .what-list p{font-size:14px}

  .deliv{grid-template-columns:1fr}
  .deliv-i{padding:26px 22px 30px}
  .deliv-n{font-size:32px;margin-bottom:12px}

  .stack-grid{grid-template-columns:1fr 1fr}
  .stack-i{padding:20px 18px}

  .case{grid-template-columns:1fr;gap:24px;padding:40px 18px}
  .case-main h3{font-size:28px}
  .case-main .brief{font-size:15px}
  .case-stat{padding:14px 16px}
  .case-stat-v{font-size:26px}

  .fit{grid-template-columns:1fr}
  .fit-col{padding:40px 18px;border-right:none;border-bottom:1px solid var(--ink)}
  .fit-col:last-child{border-bottom:none}
  .fit-col h3{font-size:28px;margin-bottom:20px}

  .proc{grid-template-columns:1fr 1fr}
  .proc-i{padding:28px 20px 32px}
  .proc-i:nth-child(2n){border-right:none}
  .proc-i:nth-last-child(-n+2){border-bottom:1px solid var(--ink)}
  .proc-n{font-size:42px;margin-bottom:14px}
  .proc-t{font-size:17px}

  .faq{grid-template-columns:1fr;gap:18px}
  .faq-list summary{font-size:20px;gap:12px}
  .faq-list summary::after{font-size:22px}

  .nxt{padding:48px 18px;grid-template-columns:1fr;gap:24px;align-items:start}
  .nxt h2{font-size:36px}
  .nxt p{font-size:16px;margin-top:12px}
  .nxt-cta{flex-direction:column;width:100%}
  .nxt-cta .btn{text-align:center;width:100%}

  .others{grid-template-columns:1fr}
  .oth{padding:28px 20px;border-right:none;border-bottom:1px solid var(--ink)}
  .oth:last-child{border-bottom:none}

  footer.foot{padding:32px 18px 22px}
  .foot-top{grid-template-columns:1fr 1fr;gap:24px}
  .foot-top > div:first-child{grid-column:1 / -1}
  .foot-mark{font-size:40px}
  .foot-bottom{font-size:9px}
}

@media (max-width: 480px){
  .s-h1{font-size:36px}
  .s-sec-h{font-size:30px}
  .nxt h2{font-size:30px}
  .case-main h3{font-size:24px}
  .fit-col h3{font-size:24px}
  .proc{grid-template-columns:1fr}
  .proc-i{border-right:none}
  .proc-i:nth-last-child(-n+2){border-bottom:1px solid var(--ink)}
  .stack-grid{grid-template-columns:1fr}
  .s-bar{grid-template-columns:1fr}
  .s-bar-i{border-right:none !important}
  .s-bar-i:nth-last-child(-n+2){border-bottom:1px solid var(--hair)}
  .s-bar-i:last-child{border-bottom:none}
  .foot-top{grid-template-columns:1fr}
  .foot-top > div:first-child{grid-column:auto}
  .foot-bottom{flex-direction:column;align-items:flex-start}
}
