@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-Medium.ttf)format("truetype");font-weight:500;font-display:swap}:root{--paper:#f6f7f4;--ink:#17312f;--teal:#28746b;--rule:#bdd0cb;--muted:#526965;--alert:#8a4b32;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Noto Sans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--alert);outline-offset:4px}.skip{z-index:10;background:#fff;padding:.7rem;position:absolute;top:-10rem;left:1rem}.skip:focus{top:1rem}.wrap{width:min(100% - 3rem,1260px);margin-inline:auto}.preview{background:var(--ink);color:#fff;text-align:center;padding:.45rem 1rem;font-size:.82rem;line-height:1.3}.site-header{border-bottom:1px solid var(--rule);align-items:center;gap:3rem;max-width:1440px;margin:auto;padding:1.5rem max(1.5rem,50vw - 630px);display:flex}.wordmark{align-items:center;gap:.8rem;min-width:160px;font-size:.91rem;font-weight:700;line-height:1.05;text-decoration:none;display:flex}.mark{gap:4px;display:flex;transform:skewY(-13deg)}.mark i{background:var(--teal);width:9px;height:32px;display:block}.mark i:last-child{background:var(--ink);margin-top:10px}nav{align-items:center;gap:2.2rem;margin-left:auto;display:flex}nav a,.language{font-size:.92rem;font-weight:600;text-decoration:none}nav a:hover,.language:hover,.text-link:hover{text-underline-offset:4px;text-decoration:underline}.nav-contact{border:1px solid var(--ink);padding:.66rem 1rem}.language{border-left:1px solid var(--rule);padding-left:1.5rem}.hero{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);align-items:center;gap:5vw;min-height:620px;padding-block:6rem;display:grid}.location{color:var(--teal);margin:0 0 1.5rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Noto Serif,Georgia,serif;font-weight:500}h1{letter-spacing:-.052em;max-width:12ch;margin-bottom:2rem;font-size:clamp(3.15rem,6.4vw,6.6rem);line-height:1.05}h2{letter-spacing:-.035em;font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.18}h3{letter-spacing:-.025em;font-size:clamp(1.55rem,2.1vw,2.2rem);line-height:1.2}.lead{max-width:57ch;color:var(--muted);font-size:1.28rem;line-height:1.5}.text-link{text-underline-offset:5px;margin-top:1.5rem;font-weight:700;text-decoration-thickness:1px;display:inline-block}.hero-graphic{border-left:1px solid var(--rule);border-right:1px solid var(--rule);background:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,var(--rule) 64px,var(--rule) 65px);height:390px;position:relative}.axis{letter-spacing:-.07em;justify-content:space-around;align-items:stretch;height:100%;font-family:Noto Serif,Georgia,serif;font-size:clamp(3.5rem,7vw,7rem);display:flex}.axis span{z-index:1;align-items:center;display:flex}.axis span:first-child{color:var(--ink)}.axis span:last-child{color:var(--teal)}.cross{background:var(--teal);width:1px;position:absolute;top:0;bottom:0;left:50%}.paths{padding:3rem 0 7rem}.paths>h2{margin-bottom:2rem}.path-grid{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;display:grid}.path-grid article{padding:2.7rem 3.5rem 3.2rem 0;scroll-margin-top:2rem}.path-grid article+article{border-left:1px solid var(--rule);padding-left:3.5rem}.path-top{align-items:center;gap:1rem;margin-bottom:3rem;display:flex}.path-code{color:var(--teal);font-size:1.1rem;font-weight:700}.path-rule{background:var(--rule);flex:1;height:1px}.path-grid article p{color:var(--muted);max-width:46ch;font-size:1.13rem;line-height:1.5}.path-grid ul{padding-left:1.2rem;line-height:1.9}.bridge{background:var(--ink);color:var(--paper);padding:5rem 0}.bridge-grid{grid-template-columns:1fr 1fr;align-items:end;gap:5rem;display:grid}.bridge h2{max-width:17ch;margin:0}.bridge p:last-child{max-width:48ch;font-size:1.22rem;line-height:1.6}.bridge-symbol{color:#b3dbd1;margin-bottom:2rem;font:500 1.2rem Noto Serif,Georgia,serif}.bridge-symbol span{color:#79a69e;padding:0 2rem}.prepare{grid-template-columns:1fr 1fr;gap:5rem;padding-block:6rem;display:grid}.prepare h2{max-width:15ch}.prepare p{max-width:52ch;font-size:1.22rem;line-height:1.6}.contact{background:#e5edea;padding:5rem 0}.contact-grid{grid-template-columns:1fr 1fr;gap:6rem;display:grid}.contact h2{max-width:16ch}.contact p{max-width:53ch;font-size:1.08rem;line-height:1.55}.privacy{color:var(--muted);margin-top:2rem;font-size:.92rem!important}.contact form{gap:1.1rem;display:grid}.contact label{gap:.3rem;font-weight:600;display:grid}.contact input,.contact textarea{border:1px solid var(--rule);width:100%;font:inherit;resize:vertical;background:#f6f7f4;padding:.8rem}.contact input:disabled,.contact textarea:disabled{opacity:.75}.contact button{background:var(--ink);color:#fff;border:0;justify-self:start;padding:.9rem 1.3rem;font:700 1rem Noto Sans,sans-serif}.contact button:disabled{opacity:.58;cursor:not-allowed}#form-status{color:var(--alert);margin:0;font-size:.88rem}footer{color:var(--muted);justify-content:space-between;gap:2rem;padding-block:2.2rem;font-size:.88rem;display:flex}@media (width<=900px){.site-header{flex-wrap:wrap;gap:1rem}.wordmark{min-width:0}nav{flex-basis:100%;order:3;justify-content:space-between;gap:1rem;margin:0}.language{margin-left:auto}.hero{grid-template-columns:1fr 240px;min-height:0;padding-block:5rem}.hero-graphic{height:300px}.axis{font-size:3.4rem}.path-grid article{padding-right:2rem}.path-grid article+article{padding-left:2rem}.bridge-grid,.prepare,.contact-grid{gap:2rem}}@media (width<=650px){.wrap{width:min(100% - 2rem,1260px)}.site-header{padding:1rem}.preview{font-size:.75rem}nav{white-space:nowrap;padding-bottom:.4rem;overflow-x:auto}nav a{font-size:.82rem}.nav-contact{padding:.45rem .6rem}.hero{padding-block:4rem;display:block}.hero h1{max-width:12ch;font-size:clamp(3rem,13vw,4.8rem)}.lead{font-size:1.1rem}.hero-graphic{border-right:0;height:115px;margin-top:3rem}.axis{font-size:3rem}.paths{padding-bottom:4rem}.path-grid{display:block}.path-grid article,.path-grid article+article{border-left:0;padding:2rem 0 2.5rem}.path-grid article+article{border-top:1px solid var(--rule)}.path-top{margin-bottom:1.7rem}.bridge{padding:4rem 0}.bridge-grid,.prepare,.contact-grid{display:block}.bridge p:last-child{margin-top:2rem}.prepare{padding-block:4rem}.contact{padding:4rem 0}.contact form{margin-top:3rem}footer{display:block}footer a{margin-top:1rem;display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}nav a{white-space:nowrap}.scope-note{color:var(--muted);max-width:58ch;margin:-.7rem 0 2.3rem;line-height:1.5}@media (width<=650px){nav{white-space:normal;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem;padding-bottom:0;display:grid;overflow:visible}nav a{white-space:normal;align-self:center}.nav-contact{justify-self:start}}.contact .field{gap:.3rem;display:grid}.contact .sensitive-notice{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.contact .field-error{color:var(--alert);margin:0;font-size:.88rem;line-height:1.4}.contact .field-error:empty{display:none}.contact [aria-invalid=true]{border-color:var(--alert)}.service-page{padding-block:5rem 6rem}.service-intro{margin-bottom:4rem}.service-intro .text-link{margin:0 0 2.5rem}.service-intro h1{max-width:18ch;margin-bottom:1.5rem;font-size:clamp(2.8rem,5vw,5.5rem)}.service-intro .lead{max-width:59ch}.service-intro .scope-note{margin:1.5rem 0 0}.service-rows{border-top:2px solid var(--ink)}.service-row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5rem;padding:3rem 0;scroll-margin-top:2rem;display:grid}.service-row h2{max-width:17ch;margin:0;font-size:clamp(1.8rem,2.4vw,2.8rem)}.service-row ul{margin:0;padding-left:1.2rem;font-size:1.08rem;line-height:1.65}.service-row li+li{margin-top:.85rem}.service-note{color:var(--muted);max-width:60ch;margin:1.5rem 0 0;font-size:.96rem;line-height:1.55}.service-contact-link{margin-top:3rem}@media (width<=650px){.service-page{padding-block:3rem 4rem}.service-intro{margin-bottom:3rem}.service-intro h1{font-size:clamp(2.8rem,11vw,4.8rem)}.service-row{padding:2.3rem 0;display:block}.service-row h2{margin-bottom:1.2rem}}
