@font-face{font-family:Manrope;src:url('assets/fonts/Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
body{font-family:Manrope,Arial,sans-serif;font-weight:450;font-feature-settings:"ss01" 1}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
h1{font-weight:580;letter-spacing:-.055em;line-height:1.075}
h2{font-weight:580;letter-spacing:-.045em;line-height:1.15}
h3{font-weight:650;letter-spacing:-.025em}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:650}
.nav-row{height:92px}.nav-row nav{gap:30px;font-size:14px}
.nav-row nav>a{position:relative}.nav-row nav>a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--pine);transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.nav-row nav>a:hover::after,.nav-row nav>a[aria-current="location"]::after{transform:scaleX(1)}
.hero{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);column-gap:5%;padding-top:60px;padding-bottom:78px;min-height:calc(100svh - 92px)}
.hero-copy{max-width:820px}.hero h1{font-size:clamp(44px,4.6vw,78px);max-width:13.5em;margin-bottom:30px}.hero-intro{font-size:clamp(18px,1.35vw,21px);max-width:32em;line-height:1.65;margin-bottom:34px}.hero-visual{margin-right:0!important}.hero-visual .technical-logo{max-width:480px;margin:auto}
.button{gap:16px;border-radius:4px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;font-weight:600}
.button::after{content:'';display:block;width:18px;height:18px;flex-shrink:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 10h13M11 5l5 5-5 5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s ease}
.button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #28543e12}.button:hover::after{transform:translateX(3px)}
.text-link{border-bottom-color:var(--line);transition:border-color .2s,color .2s}.text-link:hover{border-color:var(--pine)}
.language-options:not([hidden]){animation:picker-appear .18s ease-out}.language-trigger[aria-expanded="true"] .language-chevron{transform:rotate(180deg)}.language-chevron{transition:transform .2s}
@keyframes picker-appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.services.section{padding-top:72px;padding-bottom:76px}.services .section-heading{display:flex;align-items:baseline;gap:8%;margin-bottom:38px}.services .section-heading>.eyebrow{width:110px;flex-shrink:0;margin:0}.services .section-heading h2{font-size:clamp(30px,3vw,46px)}
.service-offers{border-radius:3px}.service-offer-main{padding:42px;background:#eeebe3}.service-offer-main h3{font-weight:580;font-size:clamp(29px,2.6vw,39px)}.service-offer{padding:32px 42px}.service-offer-secondary h3{font-size:23px}.service-offer p{font-size:17px;line-height:1.65}.express-option{margin-top:22px;border-radius:3px}.express-option h3{font-size:16px;line-height:1.5}.express-option p{font-size:14px}.services-inquiry{margin-top:30px}
.workflow.section{padding-top:80px;padding-bottom:88px}.workflow h2{font-size:clamp(32px,3.3vw,49px);margin-bottom:48px}.workflow-copy h3{font-size:20px}.workflow-copy p{font-size:15px;line-height:1.65}.workflow-node{font-variant-numeric:tabular-nums}
.expertise{padding:90px 0}.expertise-grid{grid-template-columns:.8fr 1.2fr;gap:13%;align-items:start}.experience{padding-top:16px}.experience-number{font-size:clamp(125px,14vw,205px);font-weight:500;letter-spacing:-.08em}.experience-number>span{font-weight:400}.experience-caption{max-width:250px;font-size:14px;line-height:1.7;margin-top:32px}.expertise-copy h2{font-size:clamp(34px,3.2vw,50px);max-width:520px}.expertise-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-top:22px;margin-bottom:24px}.expertise-copy .expertise-secondary{font-size:14px!important;line-height:1.7;margin-top:26px}
.technical-checks{list-style:none;padding:0;margin:28px 0 0}.technical-checks li{display:flex;align-items:baseline;gap:18px;padding:16px 0;border-top:1px solid #faf8f329}.check-index{font-size:11px;color:#a9c4b0;font-variant-numeric:tabular-nums}.technical-checks h3{font-size:16px;letter-spacing:-.01em;margin:0 0 5px;font-weight:600}.technical-checks p{font-size:14px;line-height:1.6;color:#c7bfb3;margin:0}
.faq.section{padding-top:70px;padding-bottom:76px}.faq h2{font-size:clamp(32px,3vw,45px)}.faq-list summary{font-size:16px;font-weight:600;padding-top:18px;padding-bottom:18px}.faq-list details p{font-size:15px;line-height:1.7}
.contact.section{padding-top:84px;padding-bottom:86px}.contact-grid{grid-template-columns:.9fr 1.1fr;gap:10%;align-items:start}.contact h2{font-size:clamp(36px,3.4vw,53px);max-width:450px}.contact .section-intro{font-size:17px;line-height:1.75;max-width:370px}.contact-form{background:var(--paper);border:1px solid #ded8cd;border-radius:5px;padding:30px 32px;box-shadow:0 8px 24px #30272003}.contact-form label{font-size:13px;margin-bottom:20px}.contact-form input,.contact-form select,.contact-form textarea{background:transparent;border-color:#d5cec3;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:0;border-color:var(--pine);box-shadow:0 0 0 2px #346b5015}.contact-form textarea{min-height:120px}.channels{margin-top:30px}.channels button{padding:17px 0;transition:color .2s}.channel-name{display:flex;flex-direction:column;gap:4px}.channel-name small{font-size:11px;line-height:1.4;color:var(--muted)}.channel-detail{font-size:13px}.form-note{font-size:11px;max-width:none}.form-help{font-size:12px}
.footer-top{font-size:15px}.footer-bottom{font-size:11px}.footer-brand{--height:clamp(50px,15vw,235px)}
.polish-reveal{animation:polish-reveal .6s cubic-bezier(.22,1,.36,1) both}@keyframes polish-reveal{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero{min-height:780px}}
@media(max-width:1000px){.nav-row{height:84px}.hero{min-height:640px;gap:4%;padding-top:50px}.hero h1{font-size:clamp(43px,5.2vw,64px)}.contact-grid{gap:6%}.contact-form{padding:26px}.expertise-grid{gap:8%}.services .section-heading{gap:5%}}
@media(max-width:700px){.nav-row{height:80px}.nav-row nav{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:40px;padding-bottom:42px;gap:0}.hero h1{font-size:clamp(38px,9.5vw,56px);line-height:1.1;max-width:100%;margin-bottom:24px}.hero-intro{font-size:17px;line-height:1.7}.hero-actions{gap:20px}.hero-actions .button{padding:13px 20px;gap:10px;font-size:14px}.hero-actions .text-link{font-size:14px}.hero-visual:has(.technical-logo){max-width:290px!important;margin:26px auto 0!important}.services.section{padding:48px 0 55px}.services .section-heading{display:block;margin-bottom:28px}.services .section-heading>.eyebrow{margin-bottom:14px;width:auto}.services .section-heading h2{font-size:32px}.service-offer{padding:26px}.service-offer-main{display:block}.service-offer-main h3{font-size:29px;margin-bottom:16px}.service-offer p{font-size:16px}.service-offer-secondary h3{font-size:21px}.express-option{padding:20px}.express-option h3{font-size:16px}.workflow.section{padding:55px 0 60px}.workflow h2{font-size:34px;margin-bottom:34px}.workflow-copy h3{font-size:18px}.workflow-copy p{font-size:14px}.workflow-step{grid-template-columns:70px minmax(0,1fr);gap:14px;padding-left:36px}.workflow-drawing{width:70px}.expertise{padding:60px 0}.expertise-grid{grid-template-columns:1fr;gap:38px}.experience{padding-top:0}.experience-number{font-size:145px}.experience-caption{margin-top:20px;font-size:13px}.expertise-copy h2{font-size:36px}.technical-checks{margin-top:24px}.faq.section{padding:50px 0 55px}.faq h2{font-size:32px}.faq-list summary{font-size:16px}.contact.section{padding:55px 0 60px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact h2{font-size:36px}.contact .section-intro{font-size:16px;max-width:none}.contact-form{padding:24px 20px}.channels{max-width:none}.channels button{flex-wrap:nowrap}.channel-detail{font-size:12px}.form-help,.form-note{font-size:12px}.footer-brand{--height:12.9vw}}
@media(prefers-reduced-motion:reduce){.polish-reveal{opacity:1;transform:none}.language-options:not([hidden]){animation:none}}
