@font-face{font-family:Studio;src:url("/assets/fonts/open-sans-regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Studio;src:url("/assets/fonts/open-sans-bold.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Studio;src:url("/assets/fonts/open-sans-extrabold.woff") format("woff");font-style:normal;font-weight:800;font-display:swap}
:root{
  --ink:#102636;--dark:#0d2331;--dark-line:#32505a;--paper:#f1faf7;--white:#fbfffd;
  --teal:#0aab9a;--deep-teal:#08766b;--signal:#46e5c7;--muted:#435d62;--line:#c4dcd6;
  --mono:"Courier New",monospace;--wrap:1336px;--gutter:clamp(22px,4.2vw,72px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 Studio,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
p,h1,h2,h3,ul,ol{margin:0}
h1,h2,h3{line-height:1.04;letter-spacing:-.065em;font-weight:800;text-wrap:balance}
h1{font-size:clamp(52px,7.05vw,112px)}
h2{font-size:clamp(40px,5.2vw,80px)}
h3{font-size:clamp(23px,3vw,40px)}
em{color:var(--deep-teal);font-style:normal}
:focus-visible{outline:2px solid var(--deep-teal);outline-offset:5px}
[hidden]{display:none!important}
.wrap{width:min(var(--wrap),calc(100% - 2 * var(--gutter)));margin-inline:auto}
.section-pad{padding-block:clamp(68px,9vw,135px)}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;z-index:50;top:10px;left:10px;padding:12px 16px;background:var(--ink);color:white}
.kicker,.project-kicker{font:700 .76rem/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.kicker{margin-bottom:clamp(18px,2.7vw,36px);color:var(--muted)}
.kicker span,.project-kicker span{color:var(--deep-teal);margin-right:.45em}
.lead{font-size:clamp(17px,1.55vw,22px);line-height:1.62;color:var(--muted)}
.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.button,.text-link{
  display:inline-flex;align-items:center;justify-content:space-between;gap:16px;
  font-weight:700;line-height:1.25;transition:background-color .2s,color .2s,border-color .2s;
}
.button{min-height:52px;padding:12px 17px;border-radius:7px;border:1px solid transparent;font-size:.9rem}
.button span,.text-link span{font-size:1.12em}
.arrow-icon{display:inline-block;vertical-align:-.17em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.button-dark{background:var(--ink);color:var(--white)}
.button-dark:hover{background:#164552}
.button-light{background:var(--signal);color:var(--dark)}
.button-light:hover{background:#8bf6df}
.button-plain,.button-outline{background:transparent;color:var(--ink)}
.button-outline{border-color:#759a92}
.button-outline:hover,.button-plain:hover{background:#dff3ed}
.text-link{color:var(--deep-teal);text-underline-offset:5px}
.text-link:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:10;background:rgba(241,250,247,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:flex;align-items:center;flex:none}
.brand img{width:152px;height:auto;mix-blend-mode:multiply}
.site-header nav{display:flex;align-items:center;gap:clamp(14px,3.1vw,43px);font-size:.9rem;font-weight:700}
.site-header nav>a:not(.nav-contact){padding-block:10px;color:#3c5659}
.site-header nav>a:not(.nav-contact):hover,.site-header nav>a[aria-current]:not(.nav-contact){color:var(--deep-teal);box-shadow:0 2px var(--teal)}
.nav-contact{padding:10px 15px;border:1px solid #759a92;border-radius:6px;white-space:nowrap}
.nav-contact:hover,.nav-contact[aria-current]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.nav-contact .arrow-icon{margin-left:7px}
.menu-toggle{display:none}

.home-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:clamp(30px,5vw,72px);padding-block:clamp(48px,6vw,88px) clamp(36px,4.2vw,65px)}
.hero-copy h1{font-size:clamp(49px,5.65vw,92px);line-height:.98;letter-spacing:-.076em;text-wrap:initial}
.hero-copy h1 em{color:var(--deep-teal)}
.hero-copy .lead{max-width:500px;margin-block:25px 26px}
.signal{
  position:relative;align-self:stretch;min-width:0;min-height:460px;display:grid;grid-template-rows:auto 1fr auto;
  padding:19px 20px;background:#0b2432;color:#c5e8de;border:1px solid #1c3d47;
  border-radius:15px;overflow:hidden;isolation:isolate;
}
.signal-head,.signal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:2;font:700 .68rem/1.3 var(--mono);letter-spacing:.105em}
.signal-head{padding-bottom:14px}
.signal-head b{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal)}
.signal-foot{padding-top:13px;color:#a4c2bc}
.signal-foot span:last-child{color:var(--signal);letter-spacing:.18em}
.signal-field{
  position:relative;min-height:355px;display:grid;place-items:center;isolation:isolate;border:1px solid #36555a;
  background-image:radial-gradient(ellipse at center,#0d605c70 0%,transparent 70%),linear-gradient(#548b7c28 1px,transparent 1px),linear-gradient(90deg,#548b7c28 1px,transparent 1px);
  background-size:auto,25px 25px,25px 25px;background-position:center;
}
.signal-field::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(112deg,transparent 0 88px,#8deed70c 88px 90px,transparent 90px 138px);
}
.cross{position:absolute;color:#a5d9ce;font:15px var(--mono);line-height:1}
.cross-tl{top:8px;left:9px}.cross-tr{top:8px;right:9px}.cross-bl{bottom:8px;left:9px}.cross-br{bottom:8px;right:9px}
.signal-drawing{width:94%;height:100%;max-height:430px;position:absolute;inset:0;margin:auto;overflow:visible;fill:none;stroke:#90e8d13b;stroke-width:1}
.signal-drawing path:not(.signal-line){stroke-dasharray:3 7}
.signal-drawing .signal-line{stroke:#75eecbb0;stroke-dasharray:4 6;animation:signal-shift 20s linear infinite}
.signal-drawing .signal-point{fill:#54f0c8;stroke:#54f0c8;filter:drop-shadow(0 0 5px #42ffc9)}
@keyframes signal-shift{to{stroke-dashoffset:-160}}
.hero-mark{width:41%;max-width:220px;position:relative;transform:translateY(3%);filter:drop-shadow(0 7px 22px #0a161c) drop-shadow(0 0 20px #21d8a445);transition:transform .35s ease}
.signal-field:focus-within .hero-mark,.signal-field:hover .hero-mark{transform:translateY(1%) scale(1.035)}
.mark-upper{fill:#d9fff5}.mark-lower{fill:#05b7a1}
.signal-link{position:absolute;z-index:1;padding:5px 9px;border:1px solid #4f827e;background:#0d2d39;border-radius:4px;color:#d4f4e9;font:700 .72rem/1.3 var(--mono);letter-spacing:.05em}
.signal-link:hover,.signal-link:focus-visible{background:var(--signal);border-color:var(--signal);color:var(--dark)}
.signal-web{left:6%;top:18%}.signal-content{right:6%;top:18%}.signal-social{left:6%;bottom:18%}.signal-ads{right:6%;bottom:18%}
.chapter-line{border-block:1px solid var(--line);padding-block:13px;display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 .68rem/1.35 var(--mono);letter-spacing:.09em;color:var(--muted)}
.chapter-line>span:first-child{display:flex;align-items:center;gap:clamp(6px,1.5vw,21px)}
.chapter-line b{background:var(--teal);width:4px;height:4px;border-radius:50%}
.chapter-line a{white-space:nowrap}.chapter-line a:hover{color:var(--deep-teal)}

.section-heading{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:end;gap:32px;margin-bottom:clamp(29px,4.6vw,64px)}
.section-heading>p{max-width:405px;color:var(--muted);font-size:clamp(16px,1.4vw,19px);margin-bottom:3px}
.section-heading>.button{justify-self:end;margin-bottom:3px}
.service-list{list-style:none;padding:0;border-top:1px solid var(--line)}
.service-list li{border-bottom:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:57px minmax(220px,1fr) minmax(220px,.95fr) 46px;align-items:center;gap:21px;padding:20px 0;transition:padding .2s,background .2s}
.service-row:hover{background:#e1f4ee;padding-inline:13px}
.service-index,.step-index{font:700 .83rem var(--mono);color:var(--deep-teal)}
.service-name{font-size:clamp(21px,3vw,39px);line-height:1.08;letter-spacing:-.055em;font-weight:800}
.service-lead{color:var(--muted);font-size:.95rem}
.round-arrow{display:grid;place-items:center;flex:none;width:43px;height:43px;border:1px solid #92b4ab;border-radius:50%;font-size:1.2rem;transition:background .2s,color .2s,border-color .2s}
.service-row:hover .round-arrow,.project-card a:hover .round-arrow{color:var(--white);background:var(--ink);border-color:var(--ink)}
.method-band,.lab-section{background:var(--dark);color:var(--white)}
.method-inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:center;padding-block:clamp(63px,7vw,104px)}
.method-inner h2{font-size:clamp(40px,4.7vw,73px)}
.method-inner em,.lab em,.method-inner .kicker span,.lab .kicker span{color:var(--signal)}
.method-inner .kicker,.lab .kicker{color:#badbd4}
.method-inner p:not(.kicker){max-width:520px;margin-block:25px;color:#c4d9d7}
.method-list{list-style:none;padding:0;border-top:1px solid var(--dark-line)}
.method-list li{padding:19px 0;border-bottom:1px solid var(--dark-line);font-size:clamp(17px,2.15vw,28px);font-weight:700;letter-spacing:-.045em;display:flex;align-items:center;gap:20px}
.method-list span{color:var(--signal);font:700 .8rem var(--mono)}

.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px clamp(17px,2.9vw,40px)}
.projects-featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.project-card{min-width:0}
.project-card>a{display:block;height:100%}
.project-art{
  --project-bg:#cde8dc;--project-accent:#2d887a;aspect-ratio:1.45;overflow:hidden;display:grid;place-items:center;
  border-radius:10px;background:radial-gradient(ellipse at 80% 16%,#ffffff84,transparent 68%),var(--project-bg);
  position:relative;isolation:isolate;padding:9% 8% 0;
}
.project-art::before{
  content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(132deg,transparent 0 48px,var(--project-accent) 49px 50px,transparent 51px 94px);opacity:.13
}
.tone-rose{--project-bg:#e9cfcb;--project-accent:#9f493c}
.tone-sand{--project-bg:#d9dbc6;--project-accent:#8b8058}
.tone-peach{--project-bg:#f0d5b9;--project-accent:#b05736}
.tone-gold{--project-bg:#eadbae;--project-accent:#856316}
.tone-blue{--project-bg:#d0e5f0;--project-accent:#276f9d}
.tone-green{--project-bg:#d5e5ba;--project-accent:#537e2b}
.browser-mock{width:100%;border:1px solid #13273950;border-radius:9px 9px 0 0;background:#f9fbfa;box-shadow:0 15px 34px #0e233444;align-self:end;overflow:hidden;transform:translateY(4%);transition:transform .32s ease}
.project-card a:hover .browser-mock{transform:translateY(1%)}
.browser-bar{height:clamp(16px,2.15vw,31px);display:flex;align-items:center;gap:4px;padding:0 8px;color:#38525b;overflow:hidden;white-space:nowrap;font:700 clamp(.51rem,.8vw,.68rem) var(--mono)}
.browser-bar i{width:5px;height:5px;border-radius:50%;background:#97aaa8;flex:none}
.browser-bar span{margin:auto;padding-right:22px}
.browser-mock img{width:100%;height:auto;aspect-ratio:1160/725;object-fit:cover;object-position:top}
.project-caption{padding:19px 0 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.project-kicker{font-size:.68rem;color:var(--muted);margin-bottom:8px}
.project-caption h3{font-size:clamp(22px,2.8vw,41px);text-wrap:initial}
.project-tags{margin-top:9px;font-size:.86rem;color:var(--muted)}
.project-tags span{padding-inline:3px;color:var(--deep-teal)}
.projects-featured .project-caption h3{font-size:clamp(19px,2.15vw,30px)}
.projects-featured .round-arrow{width:37px;height:37px}
.action-block{
  background:#79e4cf;border-radius:12px;padding:clamp(28px,5.1vw,73px);margin-block:0 clamp(60px,7vw,105px);
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  background-image:linear-gradient(124deg,transparent 0 71%,#e0fff652 71% 75%,transparent 75% 77%,#e0fff650 77% 78%,transparent 78%);
}
.action-block h2{font-size:clamp(39px,4.9vw,72px);text-wrap:initial}
.action-block p:not(.kicker){margin-top:16px;max-width:510px}
.action-block .kicker,.action-block .kicker span{color:#194d4e}
.action-block .button{flex:none}
.site-footer{background:#0b202e;color:#e3f7f0}
.footer-main{padding-block:53px;display:grid;grid-template-columns:1.35fr 1fr .95fr 1.12fr;gap:26px}
.footer-brand{display:inline-flex;align-items:center;gap:10px;font-size:2rem;font-weight:800;letter-spacing:-.075em;line-height:1}
.footer-brand svg{width:37px;height:auto}
.footer-main>div:first-child p{margin-top:14px;color:#bed2d1}
.footer-main ul{list-style:none;padding:0}
.footer-main li+li{margin-top:8px}
.footer-main li a{font-size:.9rem;overflow-wrap:anywhere}
.footer-main li .text-link{color:inherit;font-weight:400;gap:6px}
.footer-main a:hover,.footer-end a:hover{color:var(--signal)}
.footer-label{color:#87e7d0;font:700 .75rem var(--mono);text-transform:uppercase;letter-spacing:.12em;margin:3px 0 13px}
.footer-end{border-top:1px solid var(--dark-line);padding-block:17px;display:flex;justify-content:space-between;gap:15px;color:#c0d7d5;font-size:.78rem}

.inner-intro{
  padding-block:clamp(58px,8vw,118px) clamp(36px,5vw,68px);display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);align-items:end;gap:clamp(18px,4vw,65px);
}
.inner-intro h1{font-size:clamp(48px,6.5vw,100px);text-wrap:initial;line-height:1}
.inner-intro .lead{margin-bottom:4px;max-width:425px}
.inner-intro .button{margin-top:20px}
.jump-links,.filters,.scenario-buttons,.tags{display:flex;flex-wrap:wrap;gap:9px}
.jump-links{padding-block:13px 22px;border-top:1px solid var(--line)}
.jump-links a,.filters button,.scenario-buttons button,.tags span{
  border:1px solid #88aaa3;border-radius:100px;background:none;color:var(--ink);
  padding:8px 13px;font-size:.85rem;font-weight:700;line-height:1.35;
}
.jump-links a:hover,.filters button:hover{background:#d9f0e9}
.jump-links span{padding-left:5px}
.service-detail{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(22px,7vw,100px);padding-block:35px;border-top:1px solid var(--line)}
.service-detail:last-child{margin-bottom:clamp(40px,7vw,100px)}
.service-visual{min-height:245px;position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:#d9f3eb;border-radius:10px;color:#0e6c62}
.service-detail:nth-of-type(even) .service-visual{background:#123242;color:var(--signal)}
.service-visual::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(135deg,transparent 0 38px,currentColor 39px 40px,transparent 41px 65px);opacity:.16}
.service-visual>span{position:absolute;top:16px;left:16px;font:700 .72rem var(--mono)}
.service-visual strong{font:400 clamp(85px,14vw,190px)/.9 Arial,sans-serif}
.service-details-copy{padding:10px 0 13px}
.service-details-copy h2,.case-story h2{font-size:clamp(31px,4.3vw,60px);text-wrap:initial}
.service-details-copy .lead{margin:12px 0}
.service-details-copy>p:not(.lead){max-width:580px;color:var(--muted)}
.checklist{list-style:none;padding:0;margin:19px 0 22px}
.checklist li{padding:7px 0 7px 23px;position:relative}
.checklist li::before{position:absolute;left:0;top:7px;content:"↗";color:var(--deep-teal);font-weight:700}
.folio-list{padding-top:17px;margin-bottom:clamp(65px,8vw,115px);border-top:1px solid var(--line)}
.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--white)}
.filter-count{font:700 .75rem var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:13px 0 20px}

.case-study{padding-block:30px clamp(67px,8vw,115px)}
.back{margin-bottom:clamp(32px,5vw,61px)}
.case-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:29px}
.case-heading h1{font-size:clamp(44px,6.4vw,96px);text-wrap:initial}
.case-heading .lead{margin-top:15px}
.case-meta{display:grid;justify-items:end;gap:13px;flex:none}
.case-study>.project-art{aspect-ratio:2.15;padding:3.5% 10% 0}
.case-study .browser-mock{max-width:860px;transform:translateY(1%)}
.case-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,82px);padding-block:clamp(36px,6vw,86px)}
.case-story p:not(.kicker){margin-top:16px;color:var(--muted)}
.case-story .checklist{margin-bottom:0}
.case-result{border-top:1px solid var(--line);padding-block:28px 45px;max-width:810px}
.case-result .kicker{margin-bottom:13px}
.case-result p:not(.kicker){font-size:clamp(22px,3.3vw,43px);font-weight:700;line-height:1.25;letter-spacing:-.04em}
.next-project{padding:clamp(22px,4vw,46px);display:flex;align-items:end;justify-content:space-between;gap:15px;border-radius:9px;background:#dff4ec}
.next-project .kicker{margin-bottom:10px}.next-project h2{font-size:clamp(28px,3.7vw,50px)}

.approach-steps{margin-bottom:clamp(62px,8vw,102px)}
.approach-steps ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;list-style:none;padding:0}
.approach-steps li{border-top:2px solid #3b9b8b;padding:18px 8px 0 0}
.approach-steps h3{font-size:clamp(20px,2.2vw,31px);margin:14px 0 9px;text-wrap:initial}
.approach-steps p{font-size:.94rem;color:var(--muted)}
.lab{padding-block:clamp(58px,8vw,105px)}
.lab .section-heading{margin-bottom:27px}
.lab .section-heading>p,.scenario-panels p{color:#bdd7d3}
.scenario-buttons button{color:#ddf9f0;border-color:#658d8c}
.scenario-buttons button:hover{background:#204754}
.scenario-buttons button[aria-pressed="true"]{background:var(--signal);border-color:var(--signal);color:var(--dark)}
.scenario-panels{padding-top:22px}
.journey{padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none}
.journey li{background:#143645;min-height:100px;border:1px solid #315c62;border-radius:7px;padding:12px 15px;font-weight:700}
.journey li span{display:block;color:var(--signal);font:700 .72rem var(--mono);margin-bottom:9px}
.scenario-panels p{margin-top:15px}
.faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:30px}
.faq details{border-top:1px solid var(--line);padding:15px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-size:1.05rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:700 1.4rem var(--mono);color:var(--deep-teal)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-top:10px;color:var(--muted)}

.contact-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(16px,3vw,42px);margin-bottom:clamp(65px,8vw,115px);align-items:start}
.contact-direct,.brief-form{border-radius:11px;padding:clamp(20px,3.8vw,49px)}
.contact-direct{background:var(--dark);color:var(--white)}
.contact-direct .kicker{color:#c8e5df}.contact-direct .kicker span{color:var(--signal)}
.contact-direct .email,.contact-direct .phone{display:block;padding:10px 0;font-size:clamp(15px,2vw,25px);font-weight:700;border-bottom:1px solid var(--dark-line);overflow-wrap:anywhere}
.contact-direct .email:hover,.contact-direct .phone:hover{color:var(--signal)}
.contact-social{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px}
.contact-social a{color:var(--signal)}
.brief-form{background:var(--white);border:1px solid var(--line)}
.brief-form h2{font-size:clamp(30px,4vw,56px);text-wrap:initial;margin-bottom:24px}
.brief-form label{font-size:.88rem;font-weight:700;display:grid;align-content:start;gap:6px}
.brief-form input,.brief-form textarea,.brief-form select{width:100%;min-width:0;padding:10px 11px;background:var(--paper);border:1px solid #8aada5;border-radius:5px;color:var(--ink);font-weight:400}
.brief-form textarea{resize:vertical}
.brief-form form,.form-pair{display:grid;gap:15px}
.form-pair{grid-template-columns:1fr 1fr}
.form-note,.form-status{color:var(--muted);font-size:.84rem}
.form-status:empty{display:none}

@media(max-width:1060px){
  .home-hero{gap:32px}
  .signal{min-height:410px}
  .signal-field{min-height:310px}
  .footer-main{grid-template-columns:1.2fr .75fr .8fr 1.1fr}
}
@media(max-width:840px){
  .home-hero{grid-template-columns:1fr 1fr;gap:23px}
  .hero-copy h1{font-size:clamp(38px,5.75vw,55px)}
  .signal{min-height:355px;padding:14px}
  .signal-field{min-height:285px}
  .signal-head,.signal-foot{font-size:.59rem}
  .service-row{grid-template-columns:30px minmax(0,.9fr) minmax(0,1fr) 40px;gap:13px}
  .round-arrow{width:38px;height:38px}
  .projects-featured{gap:13px}
  .projects-featured .project-kicker{font-size:.56rem}
  .projects-featured .round-arrow{width:30px;height:30px;font-size:1rem}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  html{scroll-padding-top:82px}
  .header-inner{min-height:62px;flex-wrap:wrap;gap:0}
  .brand img{width:130px}
  .has-js .menu-toggle{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid #90aaa5;border-radius:5px;color:var(--ink);background:none;font-weight:700;font-size:.8rem}
  .menu-toggle i{width:15px;height:10px;border-block:2px solid currentColor}
  .site-header nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 15px}
  .has-js .site-header nav:not(.open){display:none}
  .site-header nav>a:not(.nav-contact){padding:9px 4px}
  .site-header nav>a:not(.nav-contact):hover,.site-header nav>a[aria-current]:not(.nav-contact){box-shadow:none}
  .nav-contact{align-self:start;margin-top:8px}
  .home-hero{grid-template-columns:1fr;gap:25px;padding-block:43px 23px}
  .hero-copy h1{font-size:clamp(33px,9.8vw,64px)}
  .hero-copy .lead{margin-block:18px}
  .hero-copy .button-row{gap:6px}
  .button{min-height:47px;padding:10px 12px;font-size:.84rem;gap:9px}
  .signal{min-height:0}
  .signal-field{min-height:clamp(235px,67vw,355px)}
  .signal-drawing{width:94%}
  .hero-mark{width:39%}
  .chapter-line{font-size:.6rem}
  .section-heading{grid-template-columns:1fr;gap:15px}
  .section-heading>.button{justify-self:start}
  .section-heading .kicker{margin-bottom:15px}
  .service-row{grid-template-columns:26px 1fr 36px;gap:6px 9px;padding:13px 0}
  .service-index{grid-row:1/span 2;align-self:start;margin-top:4px}
  .service-name{grid-column:2}
  .service-lead{grid-column:2;font-size:.87rem}
  .service-row .round-arrow{grid-column:3;grid-row:1/span 2;width:34px;height:34px}
  .method-inner,.case-story,.faq,.contact-grid,.inner-intro{grid-template-columns:1fr}
  .inner-intro{gap:17px}
  .inner-intro h1{font-size:clamp(35px,9.5vw,62px)}
  .projects-grid,.projects-featured{grid-template-columns:1fr;gap:23px}
  .project-caption,.projects-featured .project-caption{padding:14px 0}
  .project-caption h3,.projects-featured .project-caption h3{font-size:clamp(24px,6vw,34px)}
  .projects-featured .project-kicker{font-size:.68rem}
  .projects-featured .round-arrow{width:36px;height:36px}
  .action-block,.case-heading,.next-project{align-items:start;flex-direction:column}
  .service-detail{grid-template-columns:1fr;gap:15px;padding-block:20px 25px}
  .service-visual{min-height:155px}
  .service-details-copy{padding-block:4px}
  .case-meta{justify-items:start}
  .case-study>.project-art{aspect-ratio:1.4;padding:7% 6% 0}
  .approach-steps ol,.journey{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-grid{gap:13px}
}
@media(max-width:370px){
  .footer-main,.form-pair{grid-template-columns:1fr}
  .hero-copy .button-row{align-items:start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
}
