@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque.woff2)format("woff2");font-weight:700 800;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3.woff2)format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial),local(Liberation Sans),local(Arimo);size-adjust:93.92%;ascent-override:109.03%;descent-override:42.59%;line-gap-override:0%}:root{--color-paper:oklch(96.5% .012 101.256);--color-surface-sage:oklch(93% .018 120.548);--color-surface-warm:oklch(93.7% .014 88.513);--color-surface-raised:oklch(99.3% .01 94.909);--color-heading:oklch(28.4% .04 192.625);--color-ink:oklch(30.5% .038 192.625);--color-muted:oklch(43.4% .027 192.625);--color-accent:oklch(44.3% .216 297.065);--color-accent-hover:oklch(36.5% .179 297.065);--color-on-accent:oklch(100% 0 0);--color-rule:oklch(81.8% .019 145.395);--color-border-control:oklch(60% .031 151.558);--color-border-control-hover:oklch(50% .031 151.558);--color-focus:var(--color-ink);--color-focus-inverse:var(--color-paper);--color-disabled:oklch(62% .02 192.625);--color-chrome-dot:oklch(72% .015 192.625);--color-device:oklch(17.8% 0 0);--color-map-green:oklch(54.6% .052 125.527);--color-map-green-soft:oklch(92.2% .026 125.527);--color-map-terra:oklch(59.7% .132 44.694);--color-map-terra-soft:oklch(91.8% .028 44.694);--color-contour:oklch(88.7% .026 104.453);--color-contour-index:oklch(83.9% .032 115.092);--color-accent-soft:oklch(90.7% .028 297.065);--color-accent-wash:color-mix(in oklch, var(--color-accent) 13%, transparent);--color-selection:oklch(83.9% .074 297.065);--color-success-surface:oklch(90.3% .031 158.626);--color-success-text:oklch(37% .064 158.626);--color-error-surface:oklch(91.7% .029 40.711);--color-error-text:oklch(42.3% .114 40.711);--color-error-border:oklch(55.7% .137 40.711);--shadow-action:0 7px 17px oklch(0% 0 0/.14);--shadow-preview-hover:0 9px 20px oklch(0% 0 0/.14);--shadow-phone:0 2px 6px oklch(0% 0 0/.2), 0 12px 24px oklch(0% 0 0/.26);--shadow-header:linear-gradient(oklch(0% 0 0/.08), oklch(0% 0 0/0));--gutter:clamp(1.25rem, 4vw, 4.5rem);--edge:max(0px, (100cqw - 90rem) / 2);--inline:calc(var(--edge) + var(--gutter));--ease-out:cubic-bezier(.23, 1, .32, 1);--header-h:76px;color-scheme:light;-webkit-text-size-adjust:100%;color:var(--color-ink);background:var(--color-paper);font-synthesis:none;scroll-behavior:smooth;scrollbar-color:var(--color-muted) var(--color-paper);font-family:"Source Sans 3","Source Sans 3 Fallback",sans-serif;font-size:1.0625rem;line-height:1.55}*{box-sizing:border-box}body{flex-direction:column;min-height:100svh;margin:0;display:flex;container-type:inline-size}body>main{flex:1 0 auto}::selection{background:var(--color-selection);color:var(--color-ink)}a{color:inherit;text-underline-offset:.22em}:is(a,button):focus-visible{outline:3px solid var(--color-focus);outline-offset:4px;border-radius:3px}.site-footer :is(a,button):focus-visible{outline-color:var(--color-focus-inverse)}img{max-width:100%;display:block}.arrow{vertical-align:-.1em;flex:none;width:.95em;height:.95em;display:inline-block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--color-ink);color:var(--color-paper);padding:.7rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}.site-header{z-index:10;min-height:var(--header-h);padding:0 var(--inline);border-bottom:1px solid var(--color-rule);background:var(--color-paper);align-items:center;gap:1.5rem;display:flex;position:sticky;top:0}.brand,.footer-brand{letter-spacing:-.03em;align-items:baseline;gap:.04em;padding-block:.2rem;font:800 2.15rem/1 Bricolage Grotesque,sans-serif;text-decoration:none;display:inline-flex}.brand-symbol{fill:currentColor;flex:none;width:auto;height:.7em}.brand-note{border-left:1px solid var(--color-rule);letter-spacing:0;text-transform:none;color:var(--color-muted);margin:0;padding-left:1.25rem;font-size:.78rem;font-weight:500;line-height:1.38}.main-nav{flex-wrap:wrap;gap:clamp(1rem,1.8vw,2rem);margin-left:auto;font-weight:700;display:flex}.main-nav a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.main-nav a:hover,.site-footer a:hover{text-decoration:underline}}.header-cta,.button{white-space:nowrap;background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-action);-webkit-tap-highlight-color:transparent;transition:background-color .2s ease, transform .16s var(--ease-out);border-radius:12px;justify-content:space-between;align-items:center;gap:1.1rem;padding:.85rem 1.15rem;font-weight:700;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.header-cta:hover,.button:not(:disabled):hover{background:var(--color-accent-hover)}}.cta-short{display:none}.header-cta .arrow,.button .arrow{width:1.05em;height:1.05em}.arrow{transition:transform .2s var(--ease-out)}@media (prefers-reduced-motion:no-preference){.header-cta:active,.button:active{transform:scale(.97)}:is(.project-link,.about-site):active{transform:scale(.99)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.header-cta:hover,.button:not(:disabled):hover{transform:translateY(-2px)}.header-cta:hover:active,.button:not(:disabled):hover:active{transform:translateY(-2px)scale(.97)}:is(.project-link,.about-site):hover{transform:translateY(-3px)}:is(.project-link,.about-site):hover:active{transform:translateY(-3px)scale(.99)}.project-link:hover .project-phone{translate:0 -6%}:is(.header-cta,.button:not(:disabled),.arrow-link,.project-link,.about-site):hover .arrow{transform:translate(2px,-2px)}.footer-top:hover .arrow{transform:translateY(-2px)}}.first-view{padding-left:var(--edge);border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(340px,34%) minmax(0,1fr);display:grid}.intro{padding:clamp(2.2rem, 4vw, 4.7rem) clamp(1.5rem, 3vw, 3.6rem) 2.25rem var(--gutter);border-right:1px solid var(--color-rule);flex-direction:column;align-items:flex-start;display:flex}h1,h2,h3,p{margin-top:0}p,li{text-wrap:pretty}h1,h2,h3{color:var(--color-heading)}h1{letter-spacing:-.03em;text-wrap:balance;max-width:12ch;margin-bottom:1.3rem;font:700 clamp(2.8rem,4.3vw,4.3rem)/1 Bricolage Grotesque,sans-serif}.hero-road{white-space:nowrap;position:relative}.hero-road svg{fill:none;width:100%;height:auto;stroke:var(--color-accent);stroke-width:2.4px;stroke-linecap:round;position:absolute;bottom:-.14em;left:0;overflow:visible}.intro-lead{max-width:32ch;color:var(--color-ink);margin-bottom:1.5rem;font-size:clamp(1.1rem,1.5vw,1.45rem);line-height:1.4}.intro-work-link{align-items:center;width:fit-content;min-height:44px;margin-top:.5rem;font-weight:700;display:flex}.intro-offer{padding:3.5rem var(--inline);border-bottom:1px solid var(--color-rule);background:var(--color-surface-sage);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 3rem;margin:0;display:grid}.services-heading{grid-column:1/-1;max-width:52rem}.services-heading p{color:var(--color-muted);margin:0;font-size:1.1rem}.section-title{letter-spacing:-.02em;text-wrap:balance;margin:0 0 1.25rem;font:700 clamp(2.3rem,3.6vw,3.8rem)/1.05 Bricolage Grotesque,sans-serif}.offer-item{grid-template-columns:54px 1fr;align-items:start;gap:1rem;margin:0;display:grid}.offer-item h3{margin-bottom:.2rem;font:700 1.5rem/1.15 Bricolage Grotesque,sans-serif}.offer-item p{max-width:36ch;color:var(--color-ink);margin-bottom:0;font-size:1rem;line-height:1.5}.offer-marker{width:54px;height:54px;color:var(--color-map-green);display:block;overflow:visible}.marker-ring{fill:none;stroke:currentColor;stroke-width:.9px}.marker-outline{fill:var(--color-map-green-soft);stroke-width:1.5px}.marker-orange{color:var(--color-map-terra)}.marker-orange .marker-outline{fill:var(--color-map-terra-soft)}.work-side{grid-column:2;min-width:0}.route-map{--map-bg:var(--color-paper);background:var(--map-bg);height:clamp(210px,21vw,300px);position:relative;overflow:hidden}.route-map svg,.route-layer{width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.line-reveal{stroke-dasharray:1 1;animation:route-draw var(--branch-draw) cubic-bezier(.61, 1, .88, 1) var(--delay) both}.route-reveal{animation:route-draw var(--route-draw) cubic-bezier(.37, 0, .63, 1) var(--route-start) both}.route-map .map-node{animation:node-pop .45s cubic-bezier(.34, 1.56, .64, 1) var(--delay) both}.map-label{animation:label-rise .5s var(--ease-out) calc(var(--delay) + 80ms) both}.route-stub{animation:fade-in .4s var(--ease-out) var(--route-end) both}.map-stop:last-of-type .node-terminal:after{content:"";background:var(--color-accent);opacity:0;animation:arrival-ripple 1.1s var(--ease-out) calc(var(--delay) + .1s);border-radius:50%;position:absolute;inset:0}}.reveal-ready .route-map:not(.is-revealed) *,.reveal-ready .route-map:not(.is-revealed) :after{animation-play-state:paused}@keyframes route-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes node-pop{0%{opacity:0;scale:.5}}@keyframes label-rise{0%{opacity:0;translate:0 .4rem}}@keyframes fade-in{0%{opacity:0}}@keyframes arrival-ripple{0%{opacity:.4;scale:1}to{opacity:0;scale:3.2}}.route-map svg .line-reveal{fill:none;stroke:oklch(100% 0 0);stroke-width:60px;vector-effect:none}.route-map svg *{vector-effect:non-scaling-stroke}.route-contours{--contour-index:var(--color-contour-index);fill:none;stroke:var(--color-contour);stroke-width:1px}.route-branch{fill:none;stroke:var(--color-map-green);stroke-width:2px;stroke-dasharray:7 6;opacity:.6}.route-branch-orange{stroke:var(--color-map-terra)}.route-halo,.route-main,.route-stub{fill:none;stroke-linecap:round}.route-halo{stroke:var(--color-accent-soft);stroke-width:11px}.route-main{stroke:var(--color-accent);stroke-width:4px}.route-stub{stroke:var(--color-accent);stroke-width:4px;stroke-dasharray:.5 10;opacity:.55}.map-stop,.map-node{left:var(--x);top:var(--y);position:absolute}.map-node{border:3px solid var(--color-accent);background:var(--map-bg);border-radius:50%;width:18px;height:18px;transform:translate(-50%,-50%)}.map-stop .map-node{top:0;left:0}.node-terminal{background:var(--color-accent);border:0;width:16px;height:16px}.node-origin{width:20px;height:20px;box-shadow:0 0 0 7px var(--color-accent-wash)}.node-branch{border:2px solid var(--color-map-green);width:12px;height:12px}.node-orange{border-color:var(--color-map-terra)}.map-label{background:var(--map-bg);color:var(--color-accent);white-space:nowrap;border-radius:4px;padding:0 .2rem;font:700 clamp(.95rem,1.3vw,1.3rem)/1.15 Bricolage Grotesque,sans-serif;position:absolute;bottom:1.7rem}.stop-start .map-label{left:-.4rem}.stop-middle .map-label{bottom:2rem;transform:translate(-50%)}.stop-end .map-label{right:-.4rem}.work{padding:1rem var(--inline) 2.5rem clamp(1rem, 2vw, 2rem)}.work-heading{border-bottom:1px solid var(--color-rule);margin-bottom:1rem}.work-heading h2{text-wrap:balance;letter-spacing:-.02em;margin-bottom:.65rem;font:700 clamp(1.7rem,2.25vw,2.5rem)/1.15 Bricolage Grotesque,sans-serif}.project-controls{justify-content:flex-end;align-items:center;margin-block-start:.5rem;display:flex}.project-controls[hidden]{display:none}.project-arrows{gap:.5rem;display:flex}.project-arrows button{width:44px;height:44px;color:var(--color-ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.project-arrows .project-playback{border-radius:6px;width:auto;min-width:88px;padding-inline:.75rem;font:600 .9rem/1 "Source Sans 3",sans-serif}.project-arrows .project-playback[hidden]{display:none}.project-arrows button:disabled{color:var(--color-disabled);cursor:default}.project-arrows .arrow{width:18px;height:18px}.project-back{display:flex;transform:rotate(-90deg)}.project-forward{display:flex;transform:rotate(90deg)}.project-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:1.25rem;padding:.75rem .5rem 1rem;scroll-padding-inline:.5rem;display:flex;overflow-x:auto}.project-track::-webkit-scrollbar{display:none}.project-track:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.project{scroll-snap-align:start;flex:0 0 82%;min-width:0}@media (hover:hover) and (pointer:fine){.project-arrows button:not(:disabled):hover{background:var(--color-surface-sage)}}@media (prefers-reduced-motion:no-preference){.project-arrows button:not(:disabled):active{transform:scale(.97)}}.project-link{border:1px solid var(--color-rule);background:var(--color-surface-raised);-webkit-tap-highlight-color:transparent;transition:transform .2s var(--ease-out), box-shadow .2s ease;border-radius:12px;text-decoration:none;display:block;overflow:hidden}@media (hover:hover) and (pointer:fine){.project-link:hover{box-shadow:var(--shadow-preview-hover)}}.browser-frame{border-bottom:1px solid var(--color-rule);background:var(--color-paper);align-items:center;gap:5px;height:30px;padding:0 12px;display:flex}.browser-frame span{background:var(--color-chrome-dot);border-radius:50%;width:8px;height:8px}.browser-frame p{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0 auto;font-size:.72rem;overflow:hidden}.project-preview{background:var(--color-surface-sage);position:relative;overflow:hidden}.project-link picture{display:block}.project-link img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;height:auto}.project-phone{border:4px solid var(--color-device);width:20%;box-shadow:var(--shadow-phone);transition:translate .4s var(--ease-out);border-radius:14px;position:absolute;top:24%;right:3%;overflow:hidden}@media (prefers-reduced-motion:no-preference){.project.is-current .project-phone{animation:4.8s cubic-bezier(.45,0,.55,1) infinite paused phone-drift}[data-project-playing] .project.is-current .project-phone{animation-play-state:running}}@keyframes phone-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.project-phone img{aspect-ratio:360/779}.project-title{justify-content:space-between;align-items:center;gap:.5rem;padding:.8rem 1rem;display:flex}.project-title h3{margin:0;font:700 clamp(1.2rem,1.6vw,1.65rem)/1.15 Bricolage Grotesque,sans-serif}.project-title .arrow{width:1.2rem;height:1.2rem}.project-copy{max-inline-size:65ch;color:var(--color-ink);flex-direction:column;gap:.5rem;padding:1rem .2rem 0;font-size:1.0625rem;line-height:1.6;display:flex}.project-copy p{margin:0}.project-category{color:var(--color-heading);font-size:1.125rem;font-weight:650;line-height:1.4}.project-copy .capability-list{color:inherit;font-size:inherit;line-height:inherit;margin-block:.25rem 0}.project-copy .capability-list li::marker{color:currentColor}.method{padding:clamp(4rem, 7vw, 7.5rem) var(--inline);border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.5rem clamp(2rem,6vw,7rem);display:grid}.method-heading h2{max-width:14ch}.method-heading p{max-width:48ch;color:var(--color-muted);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.6}.method-heading{top:calc(var(--header-h) + 2rem);align-self:start;position:sticky}.method-steps{counter-reset:step;margin:0;padding:0;list-style:none}.method-steps li{counter-increment:step;grid-template-columns:minmax(9rem,.35fr) 1fr;align-items:baseline;gap:1.5rem;padding:1.6rem 0 1.6rem 3.25rem;display:grid;position:relative}.method-steps li+li{border-top:1px solid var(--color-rule)}.method-steps li:before{content:counter(step);content:counter(step) / "";color:var(--color-muted);font-variation-settings:"wdth" 85, "opsz" 48;font:700 1.5rem/1.15 Bricolage Grotesque,sans-serif;position:absolute;top:1.6rem;left:0}.method-steps h3{margin:0;font:700 1.5rem/1.15 Bricolage Grotesque,sans-serif}.method-steps p{max-width:38ch;color:var(--color-ink);margin:0;font-size:clamp(1.02rem,1.2vw,1.15rem);line-height:1.55}.about{padding:clamp(3.5rem, 6vw, 6rem) var(--inline);background:var(--color-surface-warm);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(2rem,6vw,7rem);display:grid}.about h2{max-width:14ch}.about-copy>p{max-width:44ch;color:var(--color-ink);margin-bottom:1rem;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.5}.arrow-link{align-items:center;gap:.3em;display:inline-flex}.about-site{border:1px solid var(--color-rule);background:var(--color-surface-raised);max-width:24rem;color:inherit;-webkit-tap-highlight-color:transparent;transition:transform .2s var(--ease-out), box-shadow .2s ease;border-radius:12px;margin-top:1.75rem;text-decoration:none;display:block;overflow:hidden}@media (hover:hover) and (pointer:fine){.about-site:hover{box-shadow:var(--shadow-preview-hover)}}.about-site-body{padding:.9rem 1rem 1rem}.about-site-body p{color:var(--color-muted);margin:0;font-size:1rem}.about-site-body .about-site-label{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.8rem;font-weight:700}.about-site-body .about-site-title{color:var(--color-heading);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem;font:700 1.4rem/1.15 Bricolage Grotesque,sans-serif;display:flex}.contact{padding:clamp(4rem, 7vw, 7.5rem) var(--inline);background:var(--color-surface-sage);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,7rem);display:grid}.contact-intro{top:calc(var(--header-h) + 2rem);align-self:start;position:sticky}.contact-intro p{max-width:34ch;color:var(--color-ink);margin-bottom:1.25rem;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.55}.contact h2{max-width:14ch}.contact-copy{max-width:40rem;font-size:1.08rem;line-height:1.6}.contact-form{gap:.55rem;display:grid}.contact-form input:not([type=checkbox])+label,.contact-form :is(.contact-hint,.field-error)+label{margin-top:.9rem}.field-error{color:var(--color-error-text);margin:0;font-size:.92rem;font-weight:600}.contact-form [aria-invalid=true]{border-color:var(--color-error-border)}.contact-form label{color:var(--color-ink);font-weight:700}.contact-form label span,.contact-hint{font-size:.92rem;font-weight:400}.contact-hint{color:var(--color-muted);margin:0}.contact-form input,.contact-form textarea{box-sizing:border-box;border:1px solid var(--color-border-control);background:var(--color-surface-raised);width:100%;color:var(--color-ink);font:inherit;caret-color:var(--color-accent);border-radius:8px;padding:.8rem 1rem;transition:border-color .2s}@media (hover:hover) and (pointer:fine){.contact-form :is(input,textarea):not([aria-invalid=true]):hover{border-color:var(--color-border-control-hover)}}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.contact-form textarea{resize:vertical;min-height:8rem}.contact-form button{cursor:pointer;font:inherit;border:0;justify-self:start;margin-top:.4rem}.contact-form button:disabled{opacity:.6;cursor:wait}.contact-status{min-height:1.5em;margin:0;font-weight:600}.contact-status[data-state]{background:var(--color-paper);border-radius:8px;padding:.75rem 1rem}.contact-status[data-state=success]{background:var(--color-success-surface);color:var(--color-success-text)}.contact-status[data-state=error]{background:var(--color-error-surface);color:var(--color-error-text)}.contact-trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-footer{padding:2rem var(--inline);background:var(--color-ink);color:var(--color-paper);flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;display:flex}.site-footer>span{font-size:.8rem}.site-footer a:last-child{margin-left:auto;font-size:.88rem}.site-footer a:not(.footer-brand){align-items:center;min-height:44px;display:inline-flex}.footer-top{align-items:center;gap:.35rem;min-height:44px;display:inline-flex}.contact-form .contact-privacy{align-items:flex-start;gap:.75rem;margin-top:.6rem;padding-block:.4rem;font-weight:400;display:flex}.contact-form .contact-privacy input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent);flex:none;margin:0}.contact-privacy span{line-height:1.5}.contact-privacy a{color:var(--color-accent-hover)}.contact-intro .contact-direct{font-size:1rem}.contact-direct a{min-height:44px;color:var(--color-accent-hover);align-items:center;font-weight:700;display:inline-flex}.capability-list{color:var(--color-ink);margin:.85rem 0 0;padding-left:1.15rem;font-size:1rem;line-height:1.5;list-style:outside}.capability-list li+li{margin-top:.35rem}.capability-list li::marker{color:currentColor}.method-contact{min-height:44px;color:var(--color-accent-hover);grid-column:2;justify-self:start;margin-top:-1rem;font-weight:700}@media (width<=1280px){.brand-note{display:none}}@media (width<=1080px){.intro-offer{padding:3rem var(--inline);gap:1.5rem}.first-view{display:block}.intro{padding:clamp(2.5rem, 5vw, 3.5rem) var(--gutter);border-right:0;border-bottom:1px solid var(--color-rule);grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:clamp(2rem,5vw,4rem);display:grid}.intro h1{grid-row:1/span 3;font-size:clamp(2.8rem,6.4vw,4.4rem)}.intro .button{place-self:start}.route-map{height:clamp(190px,26vw,250px)}.work{padding:1rem var(--gutter) 3rem}}@media (width<=900px){:root{--header-h:60px}.main-nav{display:none}.header-cta{margin-left:auto}}@media (width<=950px){.header-cta{gap:.6rem;padding:.6rem .9rem}.cta-long{display:none}.cta-short{display:inline}}@media (width<=700px){.brand{font-size:1.75rem}.intro{padding:2.25rem var(--gutter) 1.5rem;display:block}.intro h1{max-width:12ch;font-size:clamp(2.7rem,11.7vw,4.3rem)}.intro-lead{max-width:34ch}.intro-offer{padding:2.5rem var(--gutter);grid-template-columns:1fr}.services-heading h2{max-width:18ch}.offer-item{grid-template-columns:44px 1fr;gap:.9rem;margin:0}.offer-marker{width:44px;height:44px}.route-map{height:140px}.map-label{font-size:.95rem}.node-origin{box-shadow:0 0 0 5px var(--color-accent-wash)}.work{padding:.75rem var(--gutter) 3rem}.project{flex-basis:92%}.project-title h3{font-size:1.5rem}.method,.about,.contact{grid-template-columns:1fr;gap:2rem}.method-heading{position:static}.method-contact{grid-column:1}.method-steps li{grid-template-columns:1fr;gap:.35rem;padding:1.35rem 0 1.35rem 2.75rem}.method-steps li:before{font-size:1.5rem;top:1.35rem}.method-steps h3{font-size:1.5rem}.about-copy>p{font-size:1.15rem}.contact-intro{position:static}.contact h2{margin-bottom:1.25rem}.contact-copy{font-size:1rem}.contact-form button{justify-self:stretch}.site-footer{grid-template-columns:1fr auto;gap:.25rem 1rem;padding-block:1.75rem 1.5rem;display:grid}.site-footer .footer-brand{grid-column:1/-1;margin-bottom:.75rem}.site-footer>span{display:none}.site-footer a:not(.footer-brand){align-items:center;min-height:44px;display:inline-flex}.site-footer a:last-child{grid-column:1/-1;margin-left:0}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}body :is(h1,h2,h3,.brand,.footer-brand,.map-label){font-variation-settings:"wdth" 85, "opsz" 48}@media (prefers-reduced-motion:no-preference){.intro>*{animation:enter-rise .6s var(--ease-out) var(--enter,0s) both}.intro>:nth-child(2){--enter:60ms}.intro>:nth-child(3){--enter:.12s}.intro>:nth-child(4){--enter:.16s}}@media (prefers-reduced-motion:reduce){.intro>*{animation:.3s both fade-in}}@media (prefers-reduced-motion:no-preference){.hero-road path{stroke-dasharray:1 1;animation:.9s cubic-bezier(.37,0,.63,1) .5s both route-draw}}@keyframes enter-rise{0%{opacity:0;translate:0 12px}}.first-view .route-contours{width:calc(100% + 24px);height:calc(100% + 24px);inset:-12px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.first-view :is(.route-contours,.route-layer){will-change:transform}}.site-header:after{content:"";background:var(--shadow-header);opacity:0;pointer-events:none;height:14px;position:absolute;inset:100% 0 auto}@supports (animation-timeline:scroll()){.site-header:after{animation:linear both shade-in scroll();animation-range:0 140px}}@keyframes shade-in{to{opacity:1}}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-group(*){animation-duration:.25s;animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
