:root{
  --paper:#F4F1EC;      /* page background */
  --soft:#E8E3D9;
  --card:#FCFAF6;       /* elevated cards */
  --ink:#3D405B;
  --ink-soft:#585B73;
  --muted:#8A8AA0;
  --accent:#C84363;
  --accent-deep:#A93A56;
  --line:#DED8CC;
  --line-soft:#E8E3D9;
  --maxw:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 36px;}

/* WORDMARK — exact from base8.pt */
.wordmark{font-family:"Jost","Inter",sans-serif;font-weight:200;line-height:1;letter-spacing:-0.01em;color:var(--ink);display:inline-flex;align-items:flex-start;white-space:nowrap;vertical-align:baseline;text-decoration:none;}
.wordmark sup{color:var(--accent);font-size:0.42em;font-weight:300;margin-left:0.04em;margin-top:0.12em;line-height:1;}

.display{font-family:"Jost","Inter",sans-serif;font-weight:300;line-height:1.05;letter-spacing:-0.005em;}
.eyebrow{font-family:"Inter",sans-serif;font-size:12px;font-weight:500;letter-spacing:0.24em;text-transform:uppercase;color:var(--muted);}

/* top bar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(244,241,236,0);border-bottom:1px solid rgba(222,216,204,0);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;}
.bar-measure{font-size:28px;visibility:hidden;}
.nav-link{font-family:"Inter",sans-serif;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color .2s,color .2s;}
.nav-link:hover{color:var(--accent);border-color:var(--accent);}

.wm-travel{position:fixed;z-index:60;transform-origin:top left;display:none;font-size:28px}

/* SPLASH — full viewport */
.splash{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:0 24px;}
.wm-hero{font-size:clamp(112px,15.3vw,220px);margin:0;}
.splash .tagline{font-family:"Jost","Inter",sans-serif;font-weight:400;font-size:clamp(15px,2.1vw,22px);letter-spacing:0.05em;color:var(--muted);margin:24px 0 0;}
.scrollcue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted);font-family:"Inter",sans-serif;font-size:10.5px;letter-spacing:0.26em;text-transform:uppercase;}
.scrollcue .chev{width:14px;height:14px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);animation:bob 1.9s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:rotate(45deg) translate(-2px,-2px);opacity:.45;}50%{transform:rotate(45deg) translate(2px,2px);opacity:1;}}

/* all major sections at least 90vh, content centered */
.intro,.cta-sec,section.block{min-height:90vh;min-height:90svh;display:flex;flex-direction:column;justify-content:center;padding:96px 0;}
section.block{border-top:1px solid var(--line-soft);}

/* INTRO */
.intro h1{margin:0;font-size:clamp(36px,5.4vw,64px);color:var(--ink);max-width:15ch;}
.intro h1 .dot{color:var(--accent);}
.intro p.lede{margin:26px 0 0;max-width:44ch;font-size:19px;color:var(--ink-soft);}
.actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:36px;}
.btn{font-family:"Inter",sans-serif;font-size:15px;font-weight:500;text-decoration:none;border-radius:2px;padding:15px 26px;display:inline-flex;align-items:center;gap:10px;transition:background .2s,color .2s,transform .15s;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px);}
.btn .arr{transition:transform .2s;}.btn-primary:hover .arr{transform:translateX(3px);}
.txt-link{font-family:"Inter",sans-serif;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--line);padding-bottom:3px;transition:border-color .2s,color .2s;}
.txt-link:hover{color:var(--accent);border-color:var(--accent);}

.sec-head{max-width:48ch;margin-bottom:64px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head h2{font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:clamp(28px,4vw,44px);line-height:1.1;letter-spacing:-0.005em;margin:18px 0 0;color:var(--ink);}
.sec-head h2 .dot{color:var(--accent);}
.sec-head p{margin:18px 0 0;font-size:18px;color:var(--ink-soft);}

/* ZIG-ZAG TIMELINE */
.timeline{position:relative;max-width:920px;margin:0 auto;width:100%;}
.timeline::before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:1px;background:var(--line);transform:translateX(-50%);}
.tl-step{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;align-items:center;margin-bottom:52px;position:relative;}
.tl-step:last-child{margin-bottom:0;}
.tl-step::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 0 5px var(--paper);}
.tl-content{max-width:34ch;}
.tl-step.left .tl-content{grid-column:1;text-align:right;margin-left:auto;}
.tl-step.right .tl-content{grid-column:2;text-align:left;}
.tl-n{font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:32px;color:var(--ink);line-height:1;}
.tl-content h3{font-family:"Jost","Inter",sans-serif;font-weight:400;font-size:20px;margin:12px 0 8px;color:var(--ink);}
.tl-content p{margin:0;font-size:14.5px;color:var(--ink-soft);line-height:1.55;}
.tl-step.left .tl-content p{margin-left:auto;}
.loop{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:60px;font-family:"Jost","Inter",sans-serif;font-weight:400;font-size:15px;color:var(--muted);text-align:center;}
.loop .ico{color:var(--accent);font-size:20px;line-height:1;}.loop b{color:var(--ink);font-weight:400;}

.js .tl-step{opacity:0;transition:opacity .7s ease,transform .7s ease;}
.js .tl-step.left{transform:translate(-22px,10px);}
.js .tl-step.right{transform:translate(22px,10px);}
.js .tl-step.in{opacity:1;transform:none;}

/* TWO BIG PROJECT BLOCKS */
.projects{display:grid;grid-template-columns:1fr 1fr;gap:26px;width:100%;}
.proj{position:relative;background:var(--card);border:1px solid var(--line);border-radius:5px;padding:46px 44px;display:flex;flex-direction:column;min-height:360px;overflow:hidden;}
.proj::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent);}
.proj .p-num{font-family:"Jost","Inter",sans-serif;font-weight:200;font-size:56px;color:var(--soft);line-height:1;position:absolute;top:30px;right:40px;}
.proj .p-kicker{font-family:"Inter",sans-serif;font-size:11px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);}
.proj h3{font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:clamp(26px,2.8vw,34px);line-height:1.14;margin:16px 0 0;color:var(--ink);max-width:18ch;}
.proj p{font-size:16px;color:var(--ink-soft);margin:18px 0 0;line-height:1.62;}
.proj .ptag{margin-top:auto;padding-top:28px;font-family:"Inter",sans-serif;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);}
.proj .ptag b{color:var(--ink);font-weight:500;}

/* who */
.who{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start;width:100%;}
.who-list{list-style:none;margin:0;padding:0;}
.who-list li{padding:22px 0;border-bottom:1px solid var(--line-soft);display:flex;gap:18px;align-items:flex-start;}
.who-list li:first-child{padding-top:0;}.who-list li:last-child{border-bottom:none;}
.who-list .k{color:var(--accent);font-size:15px;padding-top:2px;flex:none;}
.who-list .v{font-size:16.5px;color:var(--ink);}.who-list .v b{font-weight:500;}
.aside{background:var(--ink);color:#fff;border-radius:4px;padding:38px 34px;}
.aside .eyebrow{color:#C99FAD;}
.aside p.big{font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:23px;line-height:1.28;color:#fff;margin:16px 0 0;letter-spacing:-0.005em;}
.aside p{margin:16px 0 0;font-size:16px;color:#CBC8D6;line-height:1.6;}

/* team */
.founder{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start;width:100%;}
.founder .bio h2{font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:clamp(26px,3.4vw,38px);line-height:1.12;margin:18px 0 0;letter-spacing:-0.005em;}
.founder .bio h2 .dot{color:var(--accent);}
.founder .bio p{font-size:17px;color:var(--ink-soft);margin:20px 0 0;}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.chip{font-family:"Inter",sans-serif;font-size:13.5px;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:2px;padding:9px 14px;}
.chip .d{color:var(--accent);}
.quotes{display:flex;flex-direction:column;gap:18px;}
.quote{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:26px 28px;}
.quote .mk{font-family:"Jost","Inter",sans-serif;font-weight:500;color:var(--accent);font-size:32px;line-height:0.4;display:block;height:18px;}
.quote p{margin:0;font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:18px;line-height:1.45;color:var(--ink);}
.quote .src{margin-top:16px;font-family:"Inter",sans-serif;font-size:13px;color:var(--muted);letter-spacing:0.02em;}

/* cta */
.cta{background:var(--ink);color:#fff;border-radius:6px;padding:74px 60px;position:relative;overflow:hidden;width:100%;}
.cta .line{position:absolute;left:0;right:0;bottom:40px;height:1px;background:rgba(255,255,255,0.12);}
.cta .line .end{position:absolute;right:60px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translate(0,-50%);}
.cta .line .start{position:absolute;left:60px;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(0,-50%);}
.cta-inner{position:relative;z-index:2;}
.cta .eyebrow{color:#C99FAD;}
.cta h2{font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:clamp(34px,5.4vw,64px);line-height:1.05;margin:18px 0 0;letter-spacing:-0.01em;max-width:14ch;}
.cta h2 .dot{color:var(--accent);}
.cta p{font-size:18px;color:#CBC8D6;margin:22px 0 0;max-width:34ch;}
.cta .actions{margin-top:40px;}
.cta .btn-primary{background:var(--accent);color:#fff;}.cta .btn-primary:hover{background:#fff;color:var(--ink);}
.cta .txt-link{color:#fff;border-color:rgba(255,255,255,0.3);}.cta .txt-link:hover{color:var(--accent);border-color:var(--accent);}

/* contact form */
.form-wrap{margin-top:30px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;}
.form-wrap.show{opacity:1;transform:none;}
.cform{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:34px 32px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cf-field{display:flex;flex-direction:column;margin-top:18px;}
.cf-row .cf-field{margin-top:0;}
.cform > .cf-field:first-of-type{margin-top:0;}
.cf-field label{font-family:"Inter",sans-serif;font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;}
.cf-field label .opt{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400;}
.cf-field input,.cf-field textarea{font-family:"Inter",sans-serif;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:12px 14px;width:100%;resize:vertical;transition:border-color .2s,box-shadow .2s;}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:#B4AFA4;}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,67,99,0.14);}
.cf-actions{display:flex;align-items:center;gap:18px;margin-top:24px;flex-wrap:wrap;}
.cf-actions .btn{cursor:pointer;border:none;}
.cf-note{font-family:"Inter",sans-serif;font-size:13px;color:var(--muted);}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0;}
.cf-done{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:30px 32px;}
.cf-done p{margin:0;font-family:"Jost","Inter",sans-serif;font-weight:300;font-size:20px;color:var(--ink);}

/* note for the agents */
.agents{padding:64px 0 24px;}
.agent-card{max-width:760px;margin:0 auto;background:var(--ink);border-radius:6px;padding:34px 36px;}
.agent-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.agent-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(200,67,99,0.8);flex:none;}
.agent-kicker{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;letter-spacing:0.12em;color:#9FA0C0;}
.agent-msg{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13.5px;line-height:1.75;color:#E6E6EE;margin:0;}
.agent-msg .amk{color:var(--accent);}
.agent-cursor{display:inline-block;width:8px;height:1.05em;background:#E6E6EE;margin-left:3px;vertical-align:-0.16em;animation:blink 1.1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}
.agent-link{display:inline-block;margin-top:18px;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13.5px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.38);padding-bottom:2px;transition:color .2s,border-color .2s;}
.agent-link:hover{color:var(--accent);border-color:var(--accent);}

/* footer */
footer{padding:54px 0 70px;border-top:1px solid var(--line-soft);}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:28px;}
footer .wordmark{font-size:26px;}
footer .tag{font-family:"Jost","Inter",sans-serif;font-weight:400;font-size:13px;color:var(--muted);margin-top:10px;}
footer .meta{font-family:"Inter",sans-serif;font-size:13.5px;color:var(--muted);line-height:1.85;text-align:right;}
footer .meta a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
footer .meta a:hover{color:var(--accent);border-color:var(--accent);}

a:focus-visible,.btn:focus-visible,.nav-link:focus-visible,.txt-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

@media (max-width:880px){
  .who{grid-template-columns:1fr;gap:36px;}
  .founder{grid-template-columns:1fr;gap:40px;}
  .projects{grid-template-columns:1fr;gap:20px;}
  .cta{padding:52px 32px;}.cta .line{display:none;}
}
@media (max-width:720px){
  .wrap{padding:0 26px;}
  .topbar .wrap{height:62px;}
  .nav-link{font-size:13px;}
  /* sections: keep the one-screen feel but trim the heavy padding */
  .intro,.cta-sec,section.block{min-height:auto;padding:72px 0;}
  .splash{min-height:100vh;min-height:100svh;}
  .sec-head{margin-bottom:48px;}
  .intro p.lede{font-size:18px;}
  .timeline::before{left:11px;}
  .tl-step{grid-template-columns:1fr;column-gap:0;margin-bottom:40px;}
  .tl-step .tl-content{grid-column:1;text-align:left;margin-left:0;max-width:none;padding-left:42px;}
  .tl-step.left .tl-content,.tl-step.right .tl-content{text-align:left;margin-left:0;}
  .tl-step.left .tl-content p{margin-left:0;}
  .tl-step::after{left:11px;}
  .js .tl-step.left,.js .tl-step.right{transform:translate(0,14px);}
  .js .tl-step.in{transform:none;}
  .who{gap:32px;}
  .cta h2{font-size:clamp(30px,8vw,44px);}
}
@media (max-width:560px){
  .wrap{padding:0 22px;}
  .wm-hero{font-size:clamp(80px,21vw,128px);}
  .splash .tagline{font-size:16px;}
  .intro,.cta-sec,section.block{padding:60px 0;}
  .intro h1{font-size:clamp(32px,9vw,48px);}
  /* full-width tap targets for primary actions */
  .actions{gap:14px;}
  .intro .btn,.cta .btn{width:100%;justify-content:center;}
  .proj{padding:36px 28px;min-height:0;}
  .proj .p-num{font-size:46px;top:24px;right:28px;}
  .aside{padding:32px 26px;}
  .cf-row{grid-template-columns:1fr;gap:0;}
  .cf-row .cf-field{margin-top:18px;}
  .cf-row .cf-field:first-child{margin-top:0;}
  .cform{padding:26px 22px;}
  .cf-field input,.cf-field textarea{font-size:16px;}/* >=16px stops iOS zoom-on-focus */
  .cf-actions{gap:14px;}
  .cf-actions .btn{width:100%;justify-content:center;}
  .cta{padding:44px 26px;}
  .agent-card{padding:28px 24px;}
  .agent-msg{font-size:13px;}
  footer .wrap{flex-direction:column;align-items:flex-start;gap:22px;}
  footer .meta{text-align:left;}
}
@media (max-width:380px){
  .wm-hero{font-size:clamp(66px,20vw,96px);}
  .intro h1{font-size:30px;}
  .nav-link{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .scrollcue .chev{animation:none;}
  .agent-cursor{animation:none;}
  .form-wrap{transition:none;}
  .js .tl-step{opacity:1!important;transform:none!important;transition:none!important;}
}
