@font-face{font-family:Phenomena;src:url(/fonts/phenomena/Phenomena-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Comfortaa;src:url(/fonts/comfortaa/Comfortaa-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Comfortaa;src:url(/fonts/comfortaa/Comfortaa-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Comfortaa;src:url(/fonts/comfortaa/Comfortaa-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--color-brand-green:oklch(68.896% .12871 123.717);--color-brand-blue:oklch(35.733% .05396 252.354);--color-ink:oklch(22% .05396 252.354);--color-navy:var(--color-brand-blue);--color-navy-soft:oklch(46% .05396 252.354);--color-steel:oklch(58% .042 252.354);--color-slate:oklch(48% .024 252.354);--color-muted:oklch(54% .018 252.354);--color-page:oklch(98.5% .008 115);--color-surface:oklch(100% 0 0);--color-surface-soft:oklch(96.5% .018 252.354);--color-surface-cool:oklch(93% .032 252.354);--color-green-soft:oklch(91% .12871 123.717);--color-paper:var(--color-page);--color-mist:var(--color-surface-soft);--color-stone:oklch(79% .014 252.354);--color-line:oklch(35.733% .05396 252.354/.18);--color-white:var(--color-surface);--color-accent-clay:oklch(59% .14 123.717);--color-accent-cyan:oklch(68% .065 252.354);--color-success:oklch(47% .11 123.717);--color-warning:oklch(79% .13 123.717);--font-hero:"Phenomena", "Arial Narrow", sans-serif;--font-display:"Phenomena", "Arial Narrow", sans-serif;--font-body:"Comfortaa", system-ui, sans-serif;--container:min(100% - 2rem, 1320px);--space-section:clamp(5rem, 10vw, 9rem);--header-height:72px;--ease:cubic-bezier(.22, 1, .36, 1);--text-xs:clamp(.78rem, .72rem + .15vw, .86rem);--text-sm:clamp(.88rem, .82rem + .18vw, .96rem);--text-base:clamp(1rem, .94rem + .22vw, 1.1rem);--text-md:clamp(1.12rem, 1.02rem + .32vw, 1.28rem);--text-lg:clamp(1.35rem, 1.18rem + .6vw, 1.75rem);--text-xl:clamp(1.8rem, 1.45rem + 1.2vw, 2.7rem);--text-2xl:clamp(2.6rem, 1.9rem + 2.8vw, 5rem);--text-hero:clamp(4rem, 7vw, 9rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto}body{color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:var(--text-base);margin:0;line-height:1.6}body,p,li,a,button,input,textarea,small{font-family:var(--font-body)}main:not(.technical-page){padding-top:var(--header-height)}h1,h2,.hero-title,.section-title{font-family:var(--font-hero);letter-spacing:-.02em;font-weight:700}h3{font-family:var(--font-body);font-weight:700}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.container{width:var(--container);margin-inline:auto}.section{padding-block:var(--space-section)}.section-title{max-width:900px;font-size:var(--text-xl);letter-spacing:-.035em;margin-bottom:clamp(2.5rem,5vw,5rem);line-height:1.2}.button{background:var(--color-brand-green);min-height:3.25rem;color:var(--color-white);letter-spacing:.05em;text-transform:uppercase;transition:background .25s, color .25s, border-color .25s, transform .25s var(--ease);border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:.7rem;padding:.82rem 1.2rem;font-size:.76rem;font-weight:700;display:inline-flex}.button:hover{transform:translateY(-2px)}.button span{transition:transform .25s var(--ease)}.button:hover span{transform:translate(5px)}.button:hover{background:var(--color-success)}.button--outline{color:inherit;background:0 0;border-color:currentColor}.button--outline:hover{background:var(--color-white);color:var(--color-ink)}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}:focus-visible{outline:3px solid var(--color-success);outline-offset:4px}.skip-link{z-index:100;color:#000;background:#fff;padding:.5rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.legal-page{min-height:70vh;padding:calc(var(--header-height) + 3rem) 0 var(--space-section);background:var(--color-page)}.legal-content{max-width:820px}.legal-content .back,.legal-content .eyebrow{color:var(--color-success);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:inline-block}.legal-content .back{margin-bottom:3rem}.legal-content .eyebrow{margin:0 0 .75rem}.legal-content h1,.legal-content h2{color:var(--color-navy);font-family:var(--font-hero)}.legal-content h1{margin:0;font-size:clamp(3.5rem,7vw,6rem);line-height:.85}.legal-content .updated{color:var(--color-muted);font-size:var(--text-sm);margin:1.5rem 0 3rem}.legal-content h2{font-size:var(--text-xl);margin:3rem 0 1rem;line-height:.95}.legal-content>p{max-width:720px;color:var(--color-slate)}.legal-content a{color:var(--color-success);text-underline-offset:.18em;text-decoration:underline}.legal-content .notice{border-left:3px solid var(--color-brand-green);background:var(--color-surface-soft);font-size:var(--text-sm);margin-top:3rem;padding:1rem 1.25rem}@media (width<=700px){:root{--container:min(100% - 1.25rem, 1320px);--space-section:4.5rem}.button{width:100%}}html.has-motion [data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(18px)}html.has-motion [data-reveal=line]{transform-origin:0;transform:scaleX(0)}html.has-motion [data-reveal=mask]{opacity:1;clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease), transform 1.4s var(--ease);transform:scale(1.02)}html.has-motion [data-reveal=stagger]{opacity:1;transform:none}html.has-motion [data-reveal=stagger]>*{opacity:0;transition:opacity .7s var(--ease), transform .85s var(--ease);transform:translateY(105%)}html.has-motion [data-reveal=stagger].is-visible>*{opacity:1;transform:none}html.has-motion [data-reveal=stagger].is-visible>:nth-child(2){transition-delay:.1s}html.has-motion [data-reveal=stagger].is-visible>:nth-child(3){transition-delay:.2s}html.has-motion [data-reveal=stagger].is-visible>:nth-child(4){transition-delay:.3s}html.has-motion [data-reveal].is-visible{opacity:1;clip-path:inset(0);transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-reveal=stagger]>*{transition-delay:calc(var(--reveal-index,0) * 90ms)}[data-reveal=project-row]{transition:background-color .25s ease, color .25s ease, transform .55s var(--ease), opacity .55s ease}html.has-motion .motion-a [data-reveal]{transform:translateY(12px)}html.has-motion .motion-a [data-reveal=line]{transform:scaleX(0)}html.has-motion .motion-b [data-reveal]{transform:translateY(24px)}html.has-motion .motion-b [data-reveal=project-row]{transform:translate(-18px)}html.has-motion .motion-b [data-reveal=mask]{transform:scale(1.025)}html.has-motion .motion-a [data-reveal].is-visible,html.has-motion .motion-b [data-reveal].is-visible{transform:none}.motion-b [data-reveal=mask] :is(img,.visual){transition:transform 1.5s var(--ease);transform:scale(1.025)}.motion-b [data-reveal=mask].is-visible :is(img,.visual){transform:scale(1)}.technical-line{stroke-dasharray:700;stroke-dashoffset:700px;animation:draw-line 1.2s var(--ease) .3s forwards}.coordination-point{opacity:0;animation:.45s 1.1s forwards point-in}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes point-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1!important;clip-path:none!important;transform:none!important}}.header[data-astro-cid-nen7h5rs]{z-index:1000;width:100%;min-height:var(--header-height);background:color-mix(in oklch, var(--color-surface) 50%, transparent);box-shadow:0 8px 18px color-mix(in oklch, var(--color-ink) 15%, transparent);backdrop-filter:blur(25px)saturate(145%);color:var(--color-ink);justify-content:space-between;align-items:center;padding-inline:max(1rem,50% - 660px);display:flex;position:fixed;top:0;left:0;right:0}.brand[data-astro-cid-nen7h5rs]{width:150px;stroke:var(--color-white);padding:.28rem .55rem}.header-right[data-astro-cid-nen7h5rs],nav[data-astro-cid-nen7h5rs]{align-items:center;gap:clamp(1rem,2.2vw,2.25rem);display:flex}.desktop-nav[data-astro-cid-nen7h5rs]{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding-block:1.2rem;position:relative}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{z-index:1;background:var(--color-navy-soft);content:"";opacity:0;height:2px;transition:opacity .25s ease-in-out;position:absolute;bottom:.82rem;left:0;right:0}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover:after{opacity:1}.header-cta[data-astro-cid-nen7h5rs]{background:var(--color-brand-green);box-shadow:0 6px 12px color-mix(in oklch, var(--color-ink) 40%, transparent);color:var(--color-white);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.55rem;margin-left:.5rem;padding:.78rem 1rem;font-size:.78rem;font-weight:700;transition:box-shadow .25s,background .25s;display:flex}.header-cta[data-astro-cid-nen7h5rs]:hover{background:color-mix(in oklch, var(--color-brand-green) 80%, transparent);box-shadow:0 6px 10px color-mix(in oklch, var(--color-ink) 60%, transparent)}.header-cta[data-astro-cid-nen7h5rs] svg{transition:transform .25s var(--ease)}.header-cta[data-astro-cid-nen7h5rs]:hover svg{transform:translate(4px)}.mobile-menu[data-astro-cid-nen7h5rs]{display:none}summary[data-astro-cid-nen7h5rs]{cursor:pointer;list-style:none}summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}@media (width<=760px){.header[data-astro-cid-nen7h5rs]{min-height:72px}.header-right[data-astro-cid-nen7h5rs]{display:none}.brand[data-astro-cid-nen7h5rs]{width:126px}.mobile-menu[data-astro-cid-nen7h5rs]{display:block;position:relative}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{text-transform:uppercase;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs]{z-index:100;border:1px solid color-mix(in oklch, var(--color-stone) 72%, transparent);background:color-mix(in oklch, var(--color-navy) 90%, transparent);min-width:230px;box-shadow:0 12px 30px color-mix(in oklch, var(--color-navy) 12%, transparent);backdrop-filter:blur(18px);color:var(--color-white);padding:.75rem;display:grid;position:absolute;top:calc(100% + 1rem);right:0}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-bottom:1px solid color-mix(in oklch, var(--color-surface-cool) 18%, transparent);padding:.7rem}}footer[data-astro-cid-jo6i4kqk]{z-index:10;background:var(--color-navy);color:var(--color-white);padding:5rem 0 1.5rem;position:relative}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.8fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,5rem);padding-bottom:4rem;display:grid}img[data-astro-cid-jo6i4kqk]{filter:brightness(0)invert();margin-bottom:1.5rem}.footer-intro[data-astro-cid-jo6i4kqk]>p[data-astro-cid-jo6i4kqk]{max-width:310px;color:var(--color-white);font-family:var(--font-hero);margin:0;font-size:2.2rem;line-height:.92}.footer-intro[data-astro-cid-jo6i4kqk]>span[data-astro-cid-jo6i4kqk]{max-width:280px;color:var(--color-accent-cyan);margin-top:1rem;font-size:.78rem;line-height:1.55;display:block}.social-links[data-astro-cid-jo6i4kqk]{flex-direction:row;gap:.65rem;margin-top:1.35rem;display:flex}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border:1px solid color-mix(in oklch, var(--color-surface-cool) 45%, transparent);width:2.2rem;height:2.2rem;color:var(--color-surface-cool);place-items:center;margin:0;transition:border-color .2s,background .2s,color .2s;display:grid}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{border-color:var(--color-green-soft);background:var(--color-green-soft);color:var(--color-navy)}.social-links[data-astro-cid-jo6i4kqk] svg{width:1rem;height:1rem}.footer-cta[data-astro-cid-jo6i4kqk]{border-bottom:2px solid var(--color-green-soft);color:var(--color-white);letter-spacing:.04em;text-transform:uppercase;gap:.6rem;margin-top:2rem;padding-bottom:.4rem;font-size:.76rem;font-weight:700;display:inline-flex}.footer-cta[data-astro-cid-jo6i4kqk] b[data-astro-cid-jo6i4kqk]{color:var(--color-green-soft);transition:transform .25s var(--ease)}.footer-cta[data-astro-cid-jo6i4kqk]:hover b[data-astro-cid-jo6i4kqk]{transform:translate(4px)}small[data-astro-cid-jo6i4kqk]{color:var(--color-green-soft);letter-spacing:.09em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.7rem;font-weight:700;display:block}a[data-astro-cid-jo6i4kqk]{color:var(--color-surface-cool);margin-bottom:.7rem;font-size:.82rem;transition:color .2s;display:block}a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-white)}.location[data-astro-cid-jo6i4kqk]{color:var(--color-accent-cyan);margin:1.5rem 0 0;font-size:.78rem;line-height:1.5}.legal[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-steel);color:var(--color-accent-cyan);letter-spacing:.02em;justify-content:space-between;padding-top:1.5rem;font-size:.7rem;display:flex}.legal-links[data-astro-cid-jo6i4kqk]{gap:1rem;display:flex}.legal-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{font-size:inherit;margin:0}@media (width<=800px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.footer-intro[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.legal[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:.5rem}}@media (width<=480px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}
