@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/outfit-300.ttf) format("truetype")}
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/outfit-400.ttf) format("truetype")}
@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/outfit-500.ttf) format("truetype")}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/outfit-600.ttf) format("truetype")}
@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/outfit-700.ttf) format("truetype")}
:root{--paper:#eeefe8;--ink:#252824;--muted:#64685f;--accent:#cee69a;--line:#c8ccc0;--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(22px,4.5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Outfit,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:active{transform:scale(.98)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:7px}::selection{background:var(--accent);color:var(--ink)}h1,h2,h3,p{margin:0}button{border:0}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-70px;padding:16px;background:var(--accent);z-index:5}.skip:focus{top:20px}
.header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-bottom:1px solid var(--line);gap:28px}.wordmark{display:flex;gap:12px;align-items:center;font-size:26px;letter-spacing:-1.1px;font-weight:600;line-height:.92}.wordmark-label{white-space:nowrap}.mark{display:flex;gap:4px;align-items:center;height:34px}.mark i{width:4px;height:29px;background:var(--ink);display:block;animation:markMove 5s var(--ease) infinite}.mark i:nth-child(2){height:17px;animation-delay:-1.7s}.mark i:nth-child(3){height:23px;animation-delay:-3.3s}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{position:relative;padding:8px 0}.header nav a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.header nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:36px}.language{display:flex;align-items:center;gap:8px;font-size:12px}.language button{background:none;padding:8px 2px;opacity:.4}.language button[aria-pressed=true]{opacity:1}.language span{opacity:.3}.header-contact{background:none;font-size:14px;display:flex;gap:20px;align-items:center;padding:10px 0}.header-contact>span:last-child{font-size:24px}
.hero{padding:62px var(--gutter) 0;min-height:calc(100dvh - 104px);display:flex;flex-direction:column;overflow:hidden}.hero-top{display:grid;grid-template-columns:1.45fr 1fr;gap:9vw;align-items:end;position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:.055em;line-height:1.5}.hero-heading .eyebrow{margin-bottom:30px}h1{font-size:clamp(47px,5.8vw,96px);font-weight:500;letter-spacing:-.055em;line-height:1.03}.serifless{color:var(--muted);font-weight:300}.hero-aside{max-width:320px;padding-bottom:5px}.hero-aside>p{font-size:18px;line-height:1.55;letter-spacing:-.02em}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:transparent;padding:0;font-size:14px}.hero-aside .text-link{margin-top:28px;gap:22px}.arrow-disc{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);font-size:22px;transition:background .3s,transform .45s var(--ease)}.text-link:hover .arrow-disc{background:var(--accent);transform:rotate(45deg)}
.kinetic{position:relative;width:100%;height:clamp(225px,28vw,500px);margin-top:auto;padding-top:24px;isolation:isolate}.letters{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.5%;font-size:clamp(260px,32.8vw,610px);font-weight:600;line-height:.82;letter-spacing:-.09em}.letters span{display:inline-block;transform-origin:50% 80%;will-change:transform;animation:letterDrift 9s var(--ease) infinite;animation-delay:calc(var(--i) * -1.15s)}.letters span:nth-child(1){--i:0}.letters span:nth-child(2){--i:1}.letters span:nth-child(3){--i:2}.letters span:nth-child(4){--i:3}.letters span:nth-child(5){--i:4}.letters span:nth-child(6){--i:5}.letters span:nth-child(7){--i:6}.letters span:nth-child(3),.letters span:nth-child(6){color:transparent;-webkit-text-stroke:1.3px var(--ink)}.kinetic-guide{position:absolute;left:-10%;right:-10%;top:57%;height:42%;background:var(--accent);z-index:-1;transform:rotate(-3deg) scaleY(.32);animation:bandMove 12s var(--ease) infinite;transform-origin:center}.kinetic-floor{position:absolute;left:0;right:0;bottom:8%;height:1px;background:var(--line);z-index:-2}.hero-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:20px;padding:28px 0 30px}.hero-foot>p{display:flex;gap:12px;align-items:center}.live-line{width:28px;height:2px;background:var(--ink);display:block;transform-origin:left;animation:lineMove 4s var(--ease) infinite}.explore{display:flex;gap:24px;align-items:center}.explore>span:last-child{font-size:24px;animation:arrowMove 3s var(--ease) infinite}
.section{padding:130px var(--gutter)}.approach{border-top:1px solid var(--line);padding-bottom:0}.section-intro{display:grid;grid-template-columns:1fr 1.6fr;column-gap:7vw;row-gap:32px}.section-intro .eyebrow{grid-column:1;grid-row:1;padding-top:8px}.section-intro h2{grid-column:2;grid-row:1;font-size:clamp(36px,4.1vw,64px);font-weight:400;letter-spacing:-.045em;line-height:1.08}.intro-copy{grid-column:2;max-width:560px;font-size:18px;line-height:1.65;color:var(--muted)}.transition-studio{margin-top:84px;background:var(--ink);color:var(--paper);overflow:hidden}.studio-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;padding:26px 32px;border-bottom:1px solid #51564b}.studio-caption{color:#c1c6b9}.composition{position:relative;height:480px;overflow:hidden;isolation:isolate}.composition-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);opacity:.3}.composition-grid i{border-right:1px solid #6b725f}.composition-small{position:absolute;top:35px;left:32px;font-size:12px;transition:transform 1s var(--ease)}.composition-word{position:absolute;left:8%;right:4%;top:50%;transform:translateY(-52%);font-size:clamp(100px,20vw,340px);letter-spacing:-.08em;line-height:.8;font-weight:500;display:flex;align-items:baseline;transition:transform 1.25s var(--ease);white-space:nowrap}.phase-word{display:inline-block;transition:transform 1.25s var(--ease),opacity .35s;transform-origin:left}.word-period{color:var(--accent);display:inline-block;transition:transform 1.25s var(--ease)}.composition-echo{position:absolute;top:50%;left:8%;right:4%;font-size:clamp(100px,20vw,340px);letter-spacing:-.08em;line-height:.8;font-weight:500;color:transparent;-webkit-text-stroke:1px #7b826e;white-space:nowrap;z-index:-1;transform:translateY(-10%) translateX(7%);transition:transform 1.25s var(--ease),opacity 1.25s;opacity:.6}.composition-rule{position:absolute;top:60%;left:0;width:100%;height:2px;background:var(--accent);transform:translateY(0) rotate(-8deg) scaleX(.9);transition:transform 1.25s var(--ease);transform-origin:center;z-index:2}.composition-end{position:absolute;bottom:30px;right:32px;font-size:13px}.studio-bottom{border-top:1px solid #51564b;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 32px;min-height:87px}.phase-tabs{display:flex;gap:32px}.phase-tabs button{color:var(--paper);background:none;font-size:14px;display:flex;align-items:center;gap:10px;padding:6px 0;opacity:.48}.phase-tabs button[aria-selected=true]{opacity:1}.phase-dot{height:6px;width:6px;border:1px solid currentColor;border-radius:50%;transition:background .3s}.phase-tabs button[aria-selected=true] .phase-dot{background:var(--accent);border-color:var(--accent)}.phase-tabs button:focus-visible{outline-color:var(--accent)}.studio-bottom>p{font-size:12px;color:#c1c6b9;text-align:right}.transition-studio[data-phase="1"] .composition-word{transform:translateY(-52%) translateX(5%)}.transition-studio[data-phase="1"] .phase-word{transform:scaleX(.8)}.transition-studio[data-phase="1"] .word-period{transform:translateX(-8vw) translateY(-10px)}.transition-studio[data-phase="1"] .composition-echo{transform:translateY(-95%) translateX(-3%) scaleX(.8);opacity:.35}.transition-studio[data-phase="1"] .composition-rule{transform:translateY(35px) rotate(0) scaleX(.75)}.transition-studio[data-phase="1"] .composition-small{transform:translateX(4vw)}.transition-studio[data-phase="2"] .composition-word{transform:translateY(-52%) translateX(-3%)}.transition-studio[data-phase="2"] .phase-word{transform:scaleX(1.1)}.transition-studio[data-phase="2"] .word-period{transform:translateX(3vw)}.transition-studio[data-phase="2"] .composition-echo{transform:translateY(18%) translateX(14%) scaleX(1.1);opacity:.35}.transition-studio[data-phase="2"] .composition-rule{transform:translateY(-140px) rotate(4deg) scaleX(1.2)}.transition-studio[data-phase="2"] .composition-small{transform:translateX(11vw)}
.services-heading{display:flex;justify-content:space-between;gap:32px;align-items:start;margin-bottom:60px}.services-heading>p:last-child{font-size:24px;line-height:1.35;letter-spacing:-.025em;max-width:360px}.service-list{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.service-name{font-size:clamp(25px,3.5vw,58px);letter-spacing:-.045em;line-height:1.2;transition:transform .6s var(--ease)}summary:hover .service-name{transform:translateX(12px)}.service-toggle{width:27px;height:27px;position:relative;flex-shrink:0}.service-toggle:before,.service-toggle:after{content:"";position:absolute;left:0;top:13px;width:27px;height:1px;background:var(--ink);transition:transform .35s var(--ease)}.service-toggle:after{transform:rotate(90deg)}details[open] .service-toggle:after{transform:rotate(0)}.service-description{padding:0 0 35px 35%;display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:50px;animation:reveal .6s var(--ease)}.service-description>p{font-size:17px;color:var(--muted);line-height:1.6;max-width:450px}.service-description .text-link{justify-self:end;align-self:end;text-align:left;line-height:1.4}.service-description .text-link>span:last-child{font-size:24px}
.work{display:grid;grid-template-columns:1fr 1.4fr;gap:9vw;border-top:1px solid var(--line);padding-top:110px;padding-bottom:130px}.work-intro h2{font-size:clamp(34px,3.4vw,52px);line-height:1.1;letter-spacing:-.04em;font-weight:400;margin-top:30px}.work-intro>p:last-child{font-size:17px;line-height:1.65;color:var(--muted);max-width:330px;margin-top:28px}.project-list{border-top:1px solid var(--ink)}.project-list>a,.project-static{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:136px;padding:24px 0;border-bottom:1px solid var(--line);position:relative}.project-list>a:before{content:"";background:var(--accent);position:absolute;inset:0 -16px;transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease);z-index:-1}.project-list>a:hover:before{transform:scaleY(1)}.project-kind{font-size:12px;color:var(--muted);display:block;margin-bottom:12px}h3{font-weight:400;letter-spacing:-.04em;font-size:clamp(28px,3vw,42px)}.project-action{font-size:13px;white-space:nowrap}.project-action>span{margin-right:12px}.project-status{font-size:11px;border:1px solid var(--line);padding:8px 12px;border-radius:20px}
.contact-section{background:var(--ink);color:var(--paper);padding:52px var(--gutter) 70px;overflow:hidden}.contact-top{display:flex;justify-content:space-between;gap:24px}.contact-top .eyebrow{color:#c1c6b9}.contact-location{font-size:12px;color:#c1c6b9}.contact-big{background:transparent;color:var(--paper);display:flex;align-items:center;justify-content:space-between;width:100%;gap:40px;padding:66px 0 58px;text-align:left}.contact-big>span:first-child{font-size:clamp(66px,9.6vw,160px);font-weight:400;line-height:.94;letter-spacing:-.06em}.contact-last{color:var(--accent)}.contact-arrow{font-size:clamp(90px,17vw,260px);line-height:1;font-weight:300;transition:transform .7s var(--ease)}.contact-big:hover .contact-arrow{transform:translate(14px,-14px)}.contact-big:focus-visible{outline-color:var(--accent)}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:32px;border-top:1px solid #51564b;padding-top:32px}.contact-bottom>p{font-size:17px;line-height:1.6;color:#c1c6b9}.contact-button{background:var(--accent);color:var(--ink);padding:20px 26px;display:flex;gap:40px;align-items:center;font-size:15px;transition:transform .35s var(--ease)}.contact-button:hover{transform:translateY(-4px)}.contact-button>span:last-child{font-size:24px}footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px var(--gutter);font-size:12px}.footer-brand{font-size:19px;letter-spacing:-.6px}footer>p{color:var(--muted)}.motion-toggle{display:flex;align-items:center;gap:10px;background:none;padding:8px 0;font-size:11px}.pause-icon{width:7px;height:8px;border-left:2px solid var(--ink);border-right:2px solid var(--ink)}.motion-toggle[aria-pressed=true] .pause-icon{width:0;height:0;border:4px solid transparent;border-left:7px solid var(--ink)}
.contact-dialog{border:0;background:var(--paper);color:var(--ink);padding:48px;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto}.contact-dialog::backdrop{background:#252824a6;backdrop-filter:blur(6px)}.contact-dialog[open]{animation:reveal .45s var(--ease)}.dialog-close{position:absolute;top:15px;right:20px;background:transparent;font-size:36px;line-height:1;padding:4px 8px}.contact-dialog h2{font-size:50px;line-height:1.03;font-weight:400;letter-spacing:-.04em;margin:20px 0 32px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field label{font-size:13px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:12px;font-size:16px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--ink);outline-offset:1px}.field textarea{resize:vertical;min-height:80px}.form-button{padding:16px 22px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px}.form-button>span:last-child{font-size:22px}.prototype-note{font-size:11px;line-height:1.5;color:var(--muted);margin-top:15px;max-width:380px}.draft>p{font-size:14px;margin-bottom:16px}.draft pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.6 Outfit,Arial,sans-serif;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:0 0 24px}.draft-actions{display:flex;gap:24px;align-items:center}.copy-status{font-size:12px!important;color:var(--muted);margin-top:18px;min-height:18px}
@keyframes letterDrift{0%,100%{transform:translateY(0) scaleX(1)}30%{transform:translateY(-8%) scaleX(.91)}65%{transform:translateY(3%) scaleX(1.035)}}@keyframes bandMove{0%,100%{transform:rotate(-3deg) scaleY(.32) translateY(-12%)}50%{transform:rotate(2deg) scaleY(.68) translateY(16%)}}@keyframes markMove{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.5)}}@keyframes lineMove{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.35)}}@keyframes arrowMove{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.motion-paused :is(.mark i,.letters span,.kinetic-guide,.live-line,.explore>span:last-child){animation-play-state:paused!important}.motion-paused .composition *{transition:none!important}
@media(min-width:1600px){.header,.hero,.section,.contact-section,footer{padding-left:max(var(--gutter),calc((100vw - 1560px)/2));padding-right:max(var(--gutter),calc((100vw - 1560px)/2))}.hero{min-height:900px}.kinetic{height:440px}.letters{font-size:525px}}
@media(max-width:1050px){.header{height:88px}.header nav{gap:20px}.header-actions{gap:22px}.hero{min-height:calc(100dvh - 88px);padding-top:48px}.hero-top{gap:6vw;grid-template-columns:1.4fr 1fr}.hero-aside>p{font-size:16px}.hero-heading .eyebrow{margin-bottom:26px}.section{padding-top:90px;padding-bottom:90px}.approach{padding-bottom:0}.section-intro{grid-template-columns:.75fr 1.6fr;gap:28px}.composition{height:370px}.service-description{padding-left:20%;gap:30px}.work{gap:6vw}.contact-big{padding:70px 0}.contact-top{max-width:100%}}
@media(max-width:767px){.header{height:86px;gap:12px}.wordmark{font-size:24px}.header nav{display:none}.header-actions{gap:18px}.header-contact{font-size:12px;gap:10px}.header-contact>span:last-child{font-size:20px}.hero{padding-top:42px;min-height:calc(100dvh - 86px)}.hero-top{grid-template-columns:1fr;gap:30px}.hero-heading .eyebrow{margin-bottom:22px}h1{font-size:clamp(44px,8.8vw,68px);letter-spacing:-.045em}.hero-aside{max-width:380px;display:block}.hero-aside>p{font-size:16px;line-height:1.6;max-width:330px}.hero-aside .text-link{margin-top:20px;font-size:13px;gap:20px}.arrow-disc{width:38px;height:38px;font-size:20px}.kinetic{height:clamp(140px,31vw,260px);min-height:140px;margin-top:34px}.letters{font-size:34.4vw;padding:0 2%;letter-spacing:-.085em}.kinetic-guide{height:55%;top:48%}.hero-foot{font-size:10px;padding:22px 0 26px;align-items:center;gap:10px}.hero-foot>p{gap:8px;max-width:75%}.live-line{width:18px;flex-shrink:0}.explore{gap:10px;font-size:10px}.explore>span:last-child{font-size:19px}.section{padding-top:72px;padding-bottom:72px}.approach{padding-bottom:0}.section-intro{display:flex;flex-direction:column;gap:22px}.section-intro h2{font-size:clamp(31px,6vw,45px);line-height:1.12}.intro-copy{font-size:16px;line-height:1.65;max-width:480px}.transition-studio{margin-top:40px}.studio-top{padding:20px;font-size:11px;align-items:start}.studio-caption{max-width:120px;text-align:right;font-size:10px;line-height:1.5}.composition{height:290px}.composition-word,.composition-echo{font-size:27vw}.composition-word{left:8%}.composition-small{left:20px;top:26px;font-size:10px}.composition-end{right:20px;bottom:23px;font-size:11px}.studio-bottom{padding:20px;flex-direction:column;align-items:stretch;gap:18px}.phase-tabs{gap:24px;justify-content:space-between}.phase-tabs button{font-size:12px;gap:8px}.studio-bottom>p{text-align:left;font-size:11px}.transition-studio[data-phase="1"] .word-period{transform:translateX(-11vw)}.transition-studio[data-phase="2"] .composition-rule{transform:translateY(-80px) rotate(4deg) scaleX(1.2)}.services-heading{flex-direction:column;gap:25px;margin-bottom:30px}.services-heading>p:last-child{font-size:22px}.service-name{font-size:clamp(23px,5.5vw,34px)}summary{padding:25px 0;gap:20px}.service-toggle{width:18px;height:18px}.service-toggle:before,.service-toggle:after{width:18px;top:9px}.service-description{padding:0 0 28px;display:flex;flex-direction:column;gap:22px;align-items:start}.service-description>p{font-size:15px;line-height:1.65}.service-description .text-link{align-self:start;font-size:12px}.work{grid-template-columns:1fr;gap:36px}.work-intro h2{font-size:36px;margin-top:24px}.work-intro>p:last-child{font-size:16px;margin-top:22px;max-width:400px}.project-list>a,.project-static{min-height:122px;gap:14px}.project-kind{font-size:11px}h3{font-size:30px}.project-action{font-size:11px}.project-action>span{margin-right:5px}.project-status{font-size:9px;padding:7px 9px}.contact-section{padding-top:35px;padding-bottom:40px}.contact-top{flex-direction:column;gap:15px}.contact-top .eyebrow{font-size:11px;max-width:260px}.contact-location{font-size:10px}.contact-big{gap:10px;padding:55px 0 42px}.contact-big>span:first-child{font-size:clamp(55px,12.7vw,88px)}.contact-arrow{font-size:20vw}.contact-bottom{flex-direction:column;align-items:start;gap:28px;padding-top:26px}.contact-bottom>p{font-size:15px}.contact-button{padding:16px 20px;font-size:13px;gap:30px}.contact-button>span:last-child{font-size:20px}footer{flex-wrap:wrap;padding-top:28px;padding-bottom:28px;gap:18px}.footer-brand{font-size:18px}footer>p{order:3;width:100%;font-size:11px}.motion-toggle{margin-left:auto;font-size:10px}.contact-dialog{padding:34px 24px;max-height:calc(100dvh - 24px)}.contact-dialog h2{font-size:42px;margin-top:18px}.dialog-close{right:14px;top:12px}.draft-actions{flex-direction:column;align-items:start;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.motion-allowed) *,body:not(.motion-allowed) *:before,body:not(.motion-allowed) *:after{animation:none!important;transition:none!important}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.motion-header{padding:10px;flex-shrink:0}@media(max-width:767px){.header-actions{gap:10px}.motion-header{margin:0;padding:9px 3px}}

/* Keep the navigation centered independently of the two outer groups. */
.header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
.wordmark { justify-self: start; line-height: 1; }
.header nav { justify-self: center; justify-content: center; white-space: nowrap; }
.header-actions { justify-self: end; }
#home { scroll-margin-top: 128px; }
.arrow-disc { flex-shrink: 0; line-height: 1; }
.arrow-disc svg { display: block; width: 20px; height: 20px; }

/* These labels introduce sections; give them a readable editorial scale. */
.section-intro > .eyebrow,
.services-heading > .eyebrow,
.work-intro > .eyebrow,
.contact-top > .eyebrow {
  font-size: clamp(18px, 1.45vw, 23px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.35;
  max-width: 29ch;
}

/* Keep the explanation and its action together. Desktop aligns both columns. */
.service-description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 0 36px;
  margin-left: 0;
  max-width: none;
  gap: 22px;
}
.service-description > p { max-width: 600px; }
.service-description .text-link { align-self: flex-start; justify-content: flex-start; }

@media (max-width: 1050px) {
  .header {
    height: 128px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 40px 24px;
    padding-top: 24px;
    padding-bottom: 24px;
    gap: 16px 20px;
  }
  .header nav { display: flex; grid-column: 1 / -1; grid-row: 2; gap: 30px; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .hero { min-height: calc(100dvh - 128px); }
}
@media (max-width: 767px) {
  .wordmark { font-size: 20px; gap: 9px; }
  .header nav { font-size: 12px; gap: 28px; }
  .arrow-disc svg { width: 18px; height: 18px; }
  .section-intro > .eyebrow,
  .services-heading > .eyebrow,
  .work-intro > .eyebrow,
  .contact-top > .eyebrow { font-size: 18px; max-width: 30ch; }
  .service-description { margin-left: 0; padding-bottom: 28px; }
}
@media (max-width: 430px) {
  .header-actions { gap: 12px; }
  .header-contact { width: 28px; justify-content: center; padding: 8px 0; }
  .header-contact > span[data-i18n] {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0, 0, 0, 0); white-space: nowrap;
  }
  .header-contact > span:last-child { font-size: 24px; }
}

@media (min-width: 768px) {
  .service-list details[open] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 27px;
    column-gap: clamp(32px, 4vw, 72px);
  }
  .service-list details[open]::details-content { display: contents; }
  .service-list details[open] > summary {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: subgrid;
    align-items: start;
  }
  .service-list details[open] .service-name { grid-column: 1; }
  .service-list details[open] .service-toggle {
    grid-column: 3;
    margin-top: calc(clamp(25px, 3.5vw, 58px) * .6 - 13.5px);
  }
  .service-list details[open] .service-description {
    grid-column: 2;
    grid-row: 1;
    padding: 40px 0 36px;
    position: relative;
  }
}

.language a{padding:8px 2px;opacity:.4}.language a[aria-current=page]{opacity:1}.service-name{font-weight:400}

.footer-contact{display:flex;align-items:center;gap:24px;font-size:12px;white-space:nowrap}
.footer-contact a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){footer{flex-wrap:wrap}.footer-contact{margin-left:auto}footer>p{order:3;flex-basis:100%}}
@media(max-width:767px){.footer-contact{order:2;flex-basis:100%;margin-left:0;gap:24px}}

/* Contact delivery states keep the existing dialog typography and spacing. */
.contact-trap{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-notice{font-size:12px;line-height:1.5;color:var(--muted);margin-top:15px;max-width:440px}
.form-status{font-size:14px;line-height:1.5;margin-top:16px;max-width:440px}
.form-status:empty{display:none}
.form-button:disabled{opacity:.6;cursor:wait}
.contact-success p{font-size:16px;line-height:1.6;color:var(--muted)}
