:root{--ink:#171816;--paper:#f2efe6;--white:#fbfaf5;--acid:#c8ff3d;--coral:#ff705d;--line:rgba(23,24,22,.18);--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--serif:'Newsreader',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;top:1rem;left:1rem;z-index:1000;background:var(--acid);padding:.75rem 1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:86px;padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:20;width:100%}.brand{display:flex;align-items:center;gap:.8rem;font-weight:700;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--acid);width:38px;height:38px;border-radius:50%;font-family:var(--mono);font-size:.76rem}.site-nav{display:flex;align-items:center;gap:2.2rem;font-size:.82rem;font-weight:600}.site-nav a{transition:opacity .2s}.site-nav a:hover{opacity:.55}.nav-cta{border-left:1px solid var(--line);padding-left:2.2rem}.nav-cta span{color:#587413;margin-left:.35rem}.menu-toggle{display:none;background:transparent;border:0}.hero{min-height:100svh;padding:clamp(9rem,15vh,11rem) clamp(1.25rem,6vw,7rem) 3rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow,.section-label,.case-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.eyebrow span{color:#799d20;margin:0 .5rem}.hero h1{font-family:var(--serif);font-size:clamp(4.2rem,8.6vw,9rem);font-weight:400;line-height:.78;letter-spacing:-.065em;margin:1.4rem 0 2.3rem;max-width:980px}.hero h1 em,.display-copy em,.services-heading em,.stories-header em,.contact h2 em{font-weight:400;color:#668616}.hero-intro{font-size:clamp(1.08rem,1.6vw,1.35rem);line-height:1.55;max-width:650px;margin:0 0 2.25rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;padding:1rem 1.1rem 1rem 1.35rem;border:1px solid var(--ink);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:transform .2s,box-shadow .2s}.button span{font-size:1.2rem}.button:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}.button-primary{background:var(--acid)}.hero-visual{position:relative;width:min(38vw,530px);aspect-ratio:1;justify-self:end}.orbit{position:absolute;border:1px solid rgba(23,24,22,.25);border-radius:50%;inset:10%;animation:spin 18s linear infinite}.orbit:after{content:"";position:absolute;width:13px;height:13px;background:var(--acid);border:6px solid var(--ink);border-radius:50%;top:8%;left:18%}.orbit-two{inset:25%;animation-direction:reverse;animation-duration:12s}.orbit-two:after{background:var(--coral);top:auto;left:auto;bottom:-9px;right:40%}.signal{position:absolute;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper);width:36%;aspect-ratio:1;font-family:var(--mono);font-size:.72rem;text-transform:uppercase}.signal-one{top:5%;right:0}.signal-two{bottom:0;right:10%;background:var(--acid);color:var(--ink)}.signal-three{left:0;top:45%;background:var(--coral);color:var(--ink)}.hero-stamp{position:absolute;inset:35%;background:var(--white);border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--mono);font-size:.7rem;line-height:1.4;transform:rotate(-8deg)}.hero-foot{position:absolute;bottom:2rem;left:clamp(1.25rem,6vw,7rem);right:clamp(1.25rem,6vw,7rem);display:flex;justify-content:space-between;font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.hero-foot a span{margin-left:1rem}.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,7rem)}.section-label{display:flex;align-items:center;gap:1rem;margin-bottom:clamp(3rem,6vw,6rem)}.section-label:after{content:"";height:1px;background:currentColor;opacity:.25;flex:1}.section-label span{border:1px solid currentColor;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:.6rem}.about{background:var(--white)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:start}.display-copy{font-family:var(--serif);font-size:clamp(3rem,5.6vw,6.2rem);line-height:.98;letter-spacing:-.05em;font-weight:400;margin:0}.about-copy{max-width:670px}.about-copy p{margin:0 0 1.5rem}.lead{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.55;letter-spacing:-.02em}.logo-wall{margin-top:8rem;border-top:1px solid var(--line);border-left:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.logo-wall span{min-height:110px;display:grid;place-items:center;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:700;letter-spacing:-.04em;font-size:clamp(.9rem,1.4vw,1.2rem)}.services-heading{display:grid;grid-template-columns:1fr .35fr;gap:5rem;align-items:end;margin-bottom:5rem}.services-heading h2,.impact h2,.approach h2,.stories-header h2,.contact h2{font-family:var(--serif);font-size:clamp(3.2rem,6vw,6.7rem);line-height:.92;letter-spacing:-.055em;font-weight:400;margin:0}.services-heading p{margin:0}.service-list{border-top:1px solid var(--ink)}.service{display:grid;grid-template-columns:80px 1fr 1fr;padding:2.5rem 0;border-bottom:1px solid var(--ink);gap:2rem}.service-number{font-family:var(--mono);font-size:.7rem}.service h3{font-family:var(--serif);font-size:clamp(2.1rem,3.5vw,4rem);font-weight:400;line-height:1;margin:0}.service ul{list-style:none;margin:0;padding:0}.service li{padding:.55rem 0;border-bottom:1px solid var(--line)}.service li:last-child{border:0}.impact{background:var(--ink);color:var(--paper)}.section-label.light{color:var(--paper)}.impact-intro{display:grid;grid-template-columns:1fr .35fr;gap:4rem;align-items:end;margin-bottom:5rem}.impact-intro p{color:#b7b8b2}.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.case-card{min-height:520px;border:1px solid rgba(255,255,255,.28);padding:2rem;display:flex;flex-direction:column;transition:transform .25s,background .25s}.case-card:hover{transform:translateY(-8px);background:#20221f}.case-card-accent{background:var(--acid);color:var(--ink);border-color:var(--acid)}.case-card-accent:hover{background:#d5ff6e}.case-meta{display:flex;justify-content:space-between}.case-card h3{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.8rem);font-weight:400;line-height:.96;letter-spacing:-.04em;margin:3rem 0 auto}.metric-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.28);padding-top:1.5rem;gap:2rem}.metric-row strong{display:block;color:var(--acid);font-family:var(--serif);font-size:3.5rem;font-weight:400;line-height:1}.metric-row span{display:block;color:#b7b8b2;font-size:.72rem;margin-top:.8rem}.deliverable-row{display:flex;gap:.5rem;flex-wrap:wrap}.deliverable-row span{border:1px solid currentColor;border-radius:100px;padding:.6rem .85rem;font-family:var(--mono);font-size:.65rem;text-transform:uppercase}.approach-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;align-items:center}.availability{text-align:center}.dial{aspect-ratio:1;border-radius:50%;background:var(--coral);display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:430px;margin:auto;box-shadow:0 0 0 18px var(--paper),0 0 0 19px var(--ink)}.dial span{font-family:var(--serif);font-size:clamp(4rem,8vw,8rem);line-height:.8;letter-spacing:-.06em}.dial small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-top:1.3rem}.availability p{max-width:320px;margin:3rem auto 0;font-size:.8rem}.approach-copy .lead{margin:2.5rem 0 1.5rem}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:3rem}.principles span{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;padding:1rem .3rem;border-right:1px solid var(--ink);text-align:center}.principles span:last-child{border:0}.quote-band{background:var(--coral);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,12vw,14rem);text-align:center}.quote-band p{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 2.5rem}.quote-band span{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.stories{background:var(--white)}.stories-header{padding-bottom:4rem}.story{padding-top:2rem}.story-alt{background:var(--paper)}.story-header{display:grid;grid-template-columns:1fr .35fr;gap:3rem;padding:2rem 0 4rem;border-top:1px solid var(--ink);align-items:start}.story-header h3{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.8rem);line-height:.98;letter-spacing:-.05em;font-weight:400;max-width:1000px;margin:1rem 0 0}.story-header>p{font-size:.75rem;border-left:1px solid var(--line);padding-left:1.5rem}.story-layout{display:grid;grid-template-columns:.3fr 1fr;gap:8vw}.story-nav{position:sticky;top:2rem;align-self:start;display:flex;flex-direction:column;border-top:1px solid var(--ink)}.story-nav span,.story-nav a{padding:.75rem 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.65rem;text-transform:uppercase}.story-nav span{color:#71736d}.story-block{display:grid;grid-template-columns:60px .4fr 1fr;padding:2.5rem 0;border-top:1px solid var(--line);gap:2rem}.block-number{font-family:var(--mono);font-size:.65rem}.story-block h4{font-family:var(--serif);font-size:2.2rem;line-height:1;margin:0;font-weight:400}.story-block>p{margin:0;font-size:1.05rem}.check-list{list-style:none;padding:0;margin:0}.check-list li{position:relative;padding:0 0 1.2rem 1.7rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line)}.check-list li:before{content:"↗";position:absolute;left:0;color:#668616}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.result-grid div{border:1px solid var(--ink);padding:1.25rem;min-height:190px}.result-grid strong{font-family:var(--serif);font-size:3.5rem;font-weight:400;color:#668616}.result-grid p{font-size:.75rem;line-height:1.5}.story-conclusion{background:var(--acid);padding:2.5rem;margin-top:2rem;border:0}.deliverable-row.large{margin-top:2rem}.contact{background:var(--acid);display:grid;grid-template-columns:1.15fr .65fr;gap:8vw;align-items:end}.contact .eyebrow{margin-bottom:2rem}.contact-action p{margin:0 0 2rem}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{box-shadow:5px 5px 0 var(--coral)}footer{background:var(--ink);color:var(--paper);padding:2.5rem clamp(1.25rem,6vw,7rem);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:.7rem}footer p:nth-child(2){text-align:center}footer p:last-child{text-align:right}footer .brand-mark{background:var(--paper);color:var(--ink)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.site-header{height:72px;position:absolute}.menu-toggle{display:flex;flex-direction:column;gap:4px;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:1px;background:var(--ink)}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--ink)}.site-nav.open{display:flex}.nav-cta{border-left:0;border-top:1px solid var(--line);padding:1rem 0 0}.hero{grid-template-columns:1fr;padding-top:8rem;align-items:start}.hero h1{font-size:clamp(4rem,17vw,7rem)}.hero-visual{width:74vw;margin-top:3rem}.hero-foot{display:none}.about-grid,.services-heading,.impact-intro,.approach-grid,.story-header,.contact{grid-template-columns:1fr}.about-copy{margin-top:2.5rem}.logo-wall{grid-template-columns:repeat(2,1fr);margin-top:5rem}.impact-grid{grid-template-columns:1fr}.service{grid-template-columns:45px 1fr}.service ul{grid-column:2}.availability{margin-bottom:4rem}.story-layout{grid-template-columns:1fr}.story-nav{display:none}.story-block{grid-template-columns:40px 1fr}.story-block>p,.story-block>ul,.story-block>.result-grid,.story-block>.deliverable-row{grid-column:2}.contact-action{max-width:600px}footer{grid-template-columns:1fr 1fr}footer p:nth-child(2){display:none}}@media(max-width:560px){.section{padding-left:1.25rem;padding-right:1.25rem}.hero h1{font-size:19vw}.hero-visual{width:90vw}.logo-wall span{min-height:82px;font-size:.8rem}.service{gap:1rem}.impact{padding-left:1rem;padding-right:1rem}.case-card{min-height:480px;padding:1.25rem}.metric-row{gap:1rem}.metric-row strong{font-size:2.7rem}.principles{grid-template-columns:1fr}.principles span{border-right:0;border-bottom:1px solid var(--ink)}.principles span:last-child{border:0}.story-block{display:block}.block-number{display:block;margin-bottom:1rem}.story-block h4{margin-bottom:1.5rem}.result-grid{grid-template-columns:1fr}.story-conclusion{margin-left:-.25rem;margin-right:-.25rem}.contact h2{font-size:15vw}footer{grid-template-columns:1fr;gap:1.5rem}footer p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.orbit{animation:none}}

/* Keep identity-story deliverables aligned with their supporting copy. */
.story-block > .deliverable-row {
  grid-column: 3;
}

.deliverable-row.large {
  margin-top: .75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  gap: .75rem;
}

@media (max-width: 900px) {
  .story-block > .deliverable-row {
    grid-column: 2;
  }
}

/* A quieter, more editorial accent palette in place of neon lime. */
:root {
  --acid: #b9c7b3;
  --accent-deep: #4b5f51;
  --accent-hover: #cbd5c7;
}

.eyebrow span,
.nav-cta span,
.hero h1 em,
.display-copy em,
.services-heading em,
.stories-header em,
.contact h2 em,
.check-list li::before,
.result-grid strong {
  color: var(--accent-deep);
}

.case-card-accent:hover {
  background: var(--accent-hover);
}

@media (max-width: 560px) {
  .story-conclusion {
    margin-left: 0;
    margin-right: 0;
    padding: 2.5rem 0;
    background: transparent;
    border-top: 1px solid var(--line);
  }
}

/* Owner feedback: clearer hierarchy, stronger calls to action, and new content. */
.brand > span:last-child {
  font-size: 1.2rem;
}

.site-nav {
  font-size: .92rem;
}

.site-header .nav-cta {
  padding: .72rem 1rem;
  border: 0;
  background: var(--ink);
  color: var(--paper);
}

.eyebrow {
  font-size: .82rem;
}

.section-label {
  font-size: .84rem;
}

.section-label span {
  width: 34px;
  height: 34px;
  font-size: .68rem;
}

.case-meta {
  font-size: .76rem;
}

.hero h1 {
  max-width: 940px;
  font-size: clamp(4rem, 7vw, 7.8rem);
  line-height: .88;
}

.hero .eyebrow {
  max-width: 760px;
  line-height: 1.7;
}

.hero-foot {
  font-size: .78rem;
}

.button-primary {
  background: #9cab97;
  font-size: .86rem;
}

.why-hire {
  background: var(--paper);
}

.reason-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ink);
}

.reason {
  min-height: 310px;
  padding: 1.5rem;
  border-right: 1px solid var(--ink);
}

.reason:last-child {
  border-right: 0;
}

.reason > span {
  font-family: var(--mono);
  font-size: .72rem;
}

.reason h3 {
  margin: 4.5rem 0 1rem;
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.6vw, 3rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.035em;
}

.reason p {
  margin: 0;
  font-size: .9rem;
}

.clients-block {
  margin-top: clamp(5rem, 9vw, 8rem);
}

.clients-block > .eyebrow {
  margin: 0 0 1.5rem;
}

.clients-block .logo-wall {
  margin-top: 0;
}

.services-heading {
  grid-template-columns: 1fr .6fr;
}

.services-heading p {
  font-size: 1.02rem;
}

.case-card h3 {
  font-size: clamp(2.35rem, 3.7vw, 4.5rem);
}

.foundation-detail {
  grid-column: 3;
}

.foundation-detail > p {
  margin: 0 0 1.5rem;
  font-size: 1.05rem;
}

.foundation-detail .check-list li:last-child {
  margin-bottom: 0;
}

.result-grid strong {
  font-size: clamp(2rem, 3vw, 3.5rem);
  white-space: nowrap;
}

.intro-button {
  padding: 1.15rem 1.3rem 1.15rem 1.5rem;
  font-size: .95rem;
}

@media (max-width: 1100px) {
  .reason-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .reason:nth-child(2) {
    border-right: 0;
  }

  .reason:nth-child(-n + 2) {
    border-bottom: 1px solid var(--ink);
  }
}

@media (max-width: 900px) {
  .site-header .nav-cta {
    padding: .9rem 1rem;
  }

  .hero h1 {
    font-size: clamp(3.5rem, 13vw, 6.5rem);
    line-height: .9;
  }

  .foundation-detail {
    grid-column: 2;
  }
}

@media (max-width: 560px) {
  .brand > span:last-child {
    font-size: 1.08rem;
  }

  .eyebrow {
    font-size: .76rem;
  }

  .section-label {
    font-size: .8rem;
  }

  .hero h1 {
    font-size: 15vw;
  }

  .reason-grid {
    grid-template-columns: 1fr;
  }

  .reason,
  .reason:nth-child(2) {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--ink);
  }

  .reason:last-child {
    border-bottom: 0;
  }

  .reason h3 {
    margin-top: 2.5rem;
  }
}

/* Align conclusion rows to the same story grid as sections 01-03. */
.story-conclusion {
  padding-left: 0;
  padding-right: 0;
}

.contact {
  grid-template-columns: minmax(0, 1.05fr) minmax(180px, .4fr) minmax(280px, .65fr);
  gap: clamp(2rem, 4vw, 5rem);
}

.contact-portrait-wrap {
  width: min(20vw, 280px);
  aspect-ratio: 1;
  align-self: end;
  justify-self: center;
  overflow: hidden;
  border: 1px solid var(--ink);
  border-radius: 50%;
}

.contact-portrait {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

@media (max-width: 900px) {
  .contact {
    grid-template-columns: minmax(160px, .4fr) 1fr;
    align-items: center;
  }

  .contact-copy {
    grid-column: 1 / -1;
  }

  .contact-portrait-wrap {
    width: min(28vw, 220px);
    align-self: center;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .contact {
    grid-template-columns: 1fr;
  }

  .contact-copy {
    grid-column: auto;
  }

  .contact-portrait-wrap {
    width: 160px;
    justify-self: start;
  }
}
