@font-face{font-family: "Archivo";font-weight: 500;font-style: normal;font-display: swap;src: url("../fonts/archivo-latin-500-normal.woff2") format("woff2")}@font-face{font-family: "Archivo";font-weight: 700;font-style: normal;font-display: swap;src: url("../fonts/archivo-latin-700-normal.woff2") format("woff2")}@font-face{font-family: "IBM Plex Sans";font-weight: 400;font-style: normal;font-display: swap;src: url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2")}@font-face{font-family: "IBM Plex Sans";font-weight: 500;font-style: normal;font-display: swap;src: url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2")}@font-face{font-family: "IBM Plex Sans";font-weight: 600;font-style: normal;font-display: swap;src: url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2")}@font-face{font-family: "IBM Plex Mono";font-weight: 400;font-style: normal;font-display: swap;src: url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}:root{--c-primary: #73a211;--c-primary-ink: #4a6e00;--c-primary-hover: #3f6100;--c-secondary: #a8c94a;--c-accent: #c8f169;--bg-light: #ffffff;--bg-soft: #f4f6f2;--bg-dark: #292a2d;--bg-dark-2: #33353a;--t-ink: #1c1d20;--t-muted: #59626d;--t-on-dark: #e8ede6;--t-on-dark-muted: #a3a8a4;--line: #dde3d9;--line-strong: #c2cbd2;--line-dark: #3d3f44;--grid-line: rgba(14,21,17,.06);--grid-line-dark: rgba(232,237,230,.06);--c-error: #b3261e;--c-success: #4a6e00;--focus: 0 0 0 3px var(--bg-light),0 0 0 5px var(--c-primary-ink);--focus-dark: 0 0 0 3px var(--bg-dark),0 0 0 5px var(--c-accent);--f-head: "Archivo",system-ui,sans-serif;--f-body: "IBM Plex Sans",system-ui,sans-serif;--f-mono: "IBM Plex Mono",ui-monospace,monospace;--fs-0: clamp(.8125rem,.79rem + .1vw,.875rem);--fs-1: clamp(1rem,.97rem + .15vw,1.0625rem);--fs-2: clamp(1.125rem,1.05rem + .35vw,1.3125rem);--fs-3: clamp(1.375rem,1.2rem + .9vw,1.875rem);--fs-4: clamp(1.875rem,1.4rem + 2.2vw,3rem);--fs-5: clamp(2.5rem,1.7rem + 3.4vw,4.5rem);--lh-tight: 1.05;--lh-head: 1.15;--lh-body: 1.6;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: clamp(3.5rem,2rem + 6vw,7rem);--gutter: clamp(1rem,.5rem + 2.5vw,2.5rem);--container: 76rem;--r-1: 2px;--r-2: 6px;--touch: 2.75rem;--ease: cubic-bezier(.2,.7,.2,1);--t-fast: 160ms;--t-med: 420ms}@media (prefers-reduced-motion: reduce){:root{--t-fast: 0ms;--t-med: 0ms}}
*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: 5rem}html.no-scroll{overflow: hidden}body{margin: 0;font: 400 var(--fs-1)/var(--lh-body) var(--f-body);color: var(--t-ink);background: var(--bg-light)}img{display: block;max-width: 100%;height: auto}a{color: inherit}h1,h2,h3,h4{font-family: var(--f-head);line-height: var(--lh-head);margin: 0;text-wrap: balance}p{margin: 0}ul,ol{margin: 0;padding: 0;list-style: none}address{font-style: normal}button{font: inherit;color: inherit}.container{width: 100%;max-width: calc(var(--container) + 2 * var(--gutter));margin-inline: auto;padding-inline: var(--gutter)}.mono{font: 400 var(--fs-0)/1.3 var(--f-mono);letter-spacing: .06em;text-transform: uppercase}.skip{position: absolute;left: var(--s-4);top: -4rem;z-index: 100;background: var(--c-accent);color: var(--bg-dark);padding: var(--s-3) var(--s-4);font-weight: 600}.skip:focus{top: var(--s-3)}:focus-visible{outline: 2px solid var(--c-primary-ink);outline-offset: 3px}.site-header :focus-visible,.hero :focus-visible,.site-footer :focus-visible,.offcanvas :focus-visible{outline-color: var(--c-accent)}.btn{display: inline-flex;align-items: center;justify-content: center;min-height: var(--touch);padding: 0 var(--s-5);border: 1px solid transparent;border-radius: var(--r-1);font: 600 .9375rem/1 var(--f-body);text-decoration: none;cursor: pointer;transition: background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn-primary{background: var(--c-primary);color: var(--bg-dark)}.btn-primary:hover{background: var(--c-accent)}.btn-ghost{border-color: #5b5e63;color: var(--t-on-dark)}.btn-ghost:hover{border-color: var(--c-accent);color: var(--c-accent)}.site-header{position: fixed;inset: 0 0 auto 0;z-index: 50;background: rgba(41,42,45,.92);backdrop-filter: blur(10px);border-bottom: 1px solid var(--line-dark);color: var(--t-on-dark)}.header-row{display: flex;align-items: center;gap: var(--s-5);height: 4.5rem}.is-compact .header-row{height: 3.5rem}.brand{display: block;line-height: 0;margin-right: auto}.brand img{width: 11rem;height: auto;transform-origin: left center;transition: transform var(--t-med) var(--ease)}.is-compact .brand img{transform: scale(.85)}@media (min-width: 62em){.brand{margin-left: calc(var(--gutter) * -.6)}.brand img{width: 15.5rem}}.nav-desktop{display: none;gap: var(--s-6)}.nav-desktop a{position: relative;padding: var(--s-2) 0;text-decoration: none;font-size: .9375rem;color: var(--t-on-dark-muted);transition: color var(--t-fast)}.nav-desktop a::after{content: "";position: absolute;left: 0;right: 0;bottom: 0;height: 1px;background: var(--c-primary);transform: scaleX(0);transform-origin: left;transition: transform var(--t-med) var(--ease)}.nav-desktop a:hover,.nav-desktop a[aria-current]{color: var(--t-on-dark)}.nav-desktop a:hover::after,.nav-desktop a[aria-current]::after{transform: scaleX(1)}.header-cta{display: none;min-height: 2.5rem}.menu-toggle{display: inline-flex;align-items: center;gap: var(--s-3);min-height: var(--touch);padding: 0 var(--s-2);background: none;border: 0;cursor: pointer}.menu-label{font-size: .9375rem}.menu-bars{position: relative;width: 1.5rem;height: 1rem;border-block: 2px solid currentColor}.menu-bars::after{content: "";position: absolute;left: 0;right: 0;top: 50%;height: 2px;margin-top: -1px;background: currentColor}@media (min-width: 62em){.nav-desktop{display: flex}.header-cta{display: inline-flex}.menu-toggle{display: none}.brand{margin-right: var(--s-6)}.nav-desktop{margin-right: auto}}.offcanvas{position: fixed;inset: 0;z-index: 60}.offcanvas[hidden]{display: none}.offcanvas-backdrop{position: absolute;inset: 0;background: rgba(20,21,23,.6);opacity: 0;transition: opacity var(--t-med) var(--ease)}.offcanvas-panel{position: absolute;top: 0;right: 0;bottom: 0;width: min(24rem,100%);display: flex;flex-direction: column;background: var(--bg-dark);color: var(--t-on-dark);border-left: 1px solid var(--line-dark);transform: translateX(100%);transition: transform var(--t-med) var(--ease);overflow-y: auto}.offcanvas.is-open .offcanvas-backdrop{opacity: 1}.offcanvas.is-open .offcanvas-panel{transform: none}.offcanvas-top{display: flex;align-items: center;justify-content: space-between;height: 4.5rem;padding-inline: var(--gutter);border-bottom: 1px solid var(--line-dark);color: var(--t-on-dark-muted)}.menu-close{min-height: var(--touch);padding: 0 var(--s-2);background: none;border: 0;cursor: pointer;color: var(--t-on-dark)}.offcanvas-nav{display: flex;flex-direction: column;padding: var(--s-4) var(--gutter)}.offcanvas-nav a{display: flex;align-items: baseline;gap: var(--s-4);padding: var(--s-4) 0;border-bottom: 1px solid var(--line-dark);font: 500 1.625rem/1.2 var(--f-head);text-decoration: none}.offcanvas-nav a[aria-current]{color: var(--c-primary)}.offcanvas-nav .mono{color: var(--t-on-dark-muted);min-width: 1.5rem}.offcanvas-foot{margin-top: auto;padding: var(--s-5) var(--gutter) var(--s-6);display: grid;gap: var(--s-5);color: var(--t-on-dark-muted);font-size: .9375rem}.offcanvas-foot a:not(.btn){text-decoration: none}.offcanvas-foot a:not(.btn):hover{color: var(--c-accent)}.hero{position: relative;overflow: hidden;background-color: var(--bg-dark);color: var(--t-on-dark);padding: calc(4.5rem + var(--s-7)) 0 var(--s-8)}.hero-grid{display: grid;gap: var(--s-7);align-items: center}.eyebrow{display: flex;align-items: center;gap: var(--s-3);margin-bottom: var(--s-5);font: 400 var(--fs-0)/1.3 var(--f-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--t-on-dark-muted)}.dot{width: .5rem;height: .5rem;border-radius: 50%;background: var(--c-primary);box-shadow: 0 0 0 4px rgba(115,162,17,.25);flex: none}.hero h1{font-size: var(--fs-5);line-height: var(--lh-tight);font-weight: 700;letter-spacing: -.025em;max-width: 16ch}.mark{color: var(--c-accent);background: linear-gradient(var(--c-accent),var(--c-accent)) 0 92% / 100% .09em no-repeat}.hero .lead{margin-top: var(--s-5);max-width: 40ch;font-size: var(--fs-2);line-height: 1.5;color: var(--t-on-dark-muted)}.hero-cta{display: flex;flex-wrap: wrap;gap: var(--s-3);margin-top: var(--s-6)}.hero-facts{display: grid;gap: 0;margin: var(--s-7) 0 0}.hero-facts > div{padding: var(--s-4) 0;border-top: 1px solid var(--line-dark)}.hero-facts dt{color: var(--c-primary);margin-bottom: var(--s-2)}.hero-facts dd{margin: 0;font-size: .9375rem;color: var(--t-on-dark);max-width: 30ch}.hero-stage{position: relative;padding: var(--s-5) 0 var(--s-6)}.hero-stage figure{margin: 0;position: relative}.hero-stage img{width: 100%;filter: drop-shadow(0 24px 40px rgba(0,0,0,.35))}.hero-stage figcaption{margin-top: var(--s-2);color: var(--t-on-dark-muted);font-size: .75rem}.stage-main{width: 100%}.stage-side{width: 56%;margin: calc(var(--s-7) * -1) 0 0 auto}.stage-side figcaption{text-align: right}.crop{position: absolute;width: 1.5rem;height: 1.5rem;border: 0 solid var(--c-primary);opacity: .8;pointer-events: none}.crop-tl{top: 0;left: 0;border-top-width: 1px;border-left-width: 1px}.crop-br{bottom: 0;right: 0;border-bottom-width: 1px;border-right-width: 1px}@media (prefers-reduced-motion: no-preference){.hero-copy > *,.hero-stage figure{opacity: 0;transform: translateY(14px);animation: rise 800ms var(--ease) forwards}.hero-copy > :nth-child(2){animation-delay: 80ms}.hero-copy > :nth-child(3){animation-delay: 160ms}.hero-copy > :nth-child(4){animation-delay: 240ms}.hero-copy > :nth-child(5){animation-delay: 320ms}.hero-stage .stage-main{animation-delay: 200ms}.hero-stage .stage-side{animation-delay: 420ms}.mark{background-size: 0 .09em;animation: draw 700ms var(--ease) 700ms forwards}}@keyframes rise{to{opacity: 1;transform: translate(var(--px,0),var(--py,0))}}@keyframes draw{to{background-size: 100% .09em}}@media (min-width: 40em){.hero-facts{grid-template-columns: repeat(3,1fr);gap: var(--s-5)}.hero-facts > div{padding-right: var(--s-3)}}@media (min-width: 62em){.hero{padding: calc(4.5rem + var(--s-7)) 0 var(--s-7);min-height: min(100svh,56rem);display: flex;align-items: center}.hero > .container{width: 100%}.hero-grid{grid-template-columns: minmax(0,7fr) minmax(0,6fr);gap: var(--s-6)}.hero-stage{margin-right: calc(var(--gutter) * -1.5)}.hero-facts{grid-template-columns: repeat(3,1fr)}}@media (min-width: 90em){.hero-stage{margin-right: calc(var(--gutter) * -3)}}.site-footer{background: var(--bg-dark);color: var(--t-on-dark);border-top: 1px solid var(--line-dark);padding-top: var(--s-7)}.footer-top{display: flex;flex-direction: column;align-items: flex-start;gap: var(--s-5);padding-bottom: var(--s-7);border-bottom: 1px solid var(--line-dark)}.footer-claim{font: 700 var(--fs-4)/1.1 var(--f-head);letter-spacing: -.02em;max-width: 16ch}.footer-claim em{font-style: normal;color: var(--c-accent)}.footer-grid{display: grid;gap: var(--s-6);padding-block: var(--s-7)}.footer-h{margin-bottom: var(--s-4);font: 400 var(--fs-0)/1.3 var(--f-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--c-primary)}.site-footer address,.site-footer li{color: var(--t-on-dark-muted);font-size: .9375rem}.site-footer li + li{margin-top: var(--s-1)}.site-footer a{text-decoration: none;display: inline-block;padding-block: var(--s-1)}.site-footer a:hover,.footer-legal button:hover{color: var(--c-accent)}.footer-bottom{display: flex;flex-direction: column;gap: var(--s-3);padding-block: var(--s-5) var(--s-6);border-top: 1px solid var(--line-dark);color: var(--t-on-dark-muted);font-size: .875rem}.footer-legal{display: flex;flex-wrap: wrap;gap: var(--s-2) var(--s-5)}.footer-legal button{background: none;border: 0;padding: var(--s-1) 0;cursor: pointer;color: var(--t-on-dark-muted);font-size: .875rem}.footer-legal button:focus-visible{outline-color: var(--c-accent)}@media (min-width: 40em){.footer-grid{grid-template-columns: repeat(2,1fr)}}@media (min-width: 62em){.footer-top{flex-direction: row;align-items: center;justify-content: space-between}.footer-grid{grid-template-columns: 1.3fr 1.2fr 1fr 1.3fr}.footer-bottom{flex-direction: row;justify-content: space-between;align-items: center}}
.section{padding-block: var(--s-8)}.section-soft{background: var(--bg-soft)}.section-dark{background-color: var(--bg-dark);color: var(--t-on-dark)}.label{margin-bottom: var(--s-4);font: 400 var(--fs-0)/1.3 var(--f-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--c-primary-ink)}.label-light{color: var(--c-primary)}.section-head h2{font-size: var(--fs-4);font-weight: 700;letter-spacing: -.02em;max-width: 18ch}.intro{margin-top: var(--s-4);max-width: 44ch;font-size: var(--fs-2);line-height: 1.5;color: var(--t-muted)}.section-head-row{display: flex;flex-wrap: wrap;align-items: end;justify-content: space-between;gap: var(--s-4)}.link{display: inline-flex;align-items: center;min-height: var(--touch);font-weight: 600;color: var(--c-primary-ink);text-decoration: none;border-bottom: 1px solid currentColor;align-self: flex-start;transition: color var(--t-fast)}.link:hover{color: var(--t-ink)}.btn-dark{background: var(--bg-dark);color: #fff}.btn-dark:hover{background: #000}@media (prefers-reduced-motion: no-preference){.js .reveal{opacity: 0;transform: translateY(18px);transition: opacity 700ms var(--ease),transform 700ms var(--ease)}.js .reveal.is-in{opacity: 1;transform: none}}.split{display: grid;gap: var(--s-7)}.index li{display: grid;grid-template-columns: 2.5rem 1fr;gap: 0 var(--s-3);padding: var(--s-5) 0;border-top: 1px solid var(--line);transition: border-color var(--t-fast)}.index li:last-child{border-bottom: 1px solid var(--line)}.index li:hover{border-top-color: var(--c-primary)}.index .mono{grid-row: 1 / span 2;color: var(--c-primary-ink);padding-top: .35rem}.index h3{font-size: var(--fs-3);font-weight: 500;letter-spacing: -.01em}.index p{margin-top: var(--s-2);color: var(--t-muted);max-width: 52ch}.service{display: grid;gap: var(--s-6);margin-top: var(--s-8);align-items: center}.service-copy{display: flex;flex-direction: column;gap: var(--s-4)}.service-no{color: var(--c-primary-ink);padding-bottom: var(--s-3);border-bottom: 1px solid var(--line-strong);align-self: stretch}.service h3{font-size: var(--fs-3);font-weight: 700;letter-spacing: -.015em}.service-copy > p{max-width: 46ch}.benefit{padding-left: var(--s-4);border-left: 2px solid var(--c-primary);color: var(--t-muted)}.benefit strong{color: var(--t-ink);font-weight: 600}.caption{margin-top: var(--s-3);color: var(--t-muted);font-size: .75rem}.browser{background: #fff;border: 1px solid var(--line-strong);border-radius: var(--r-1);overflow: hidden}.browser-bar{display: flex;gap: .4rem;padding: .65rem .8rem;background: var(--bg-dark)}.browser-bar i{width: .55rem;height: .55rem;border-radius: 50%;background: #5b5e63}.browser-bar i:first-child{background: var(--c-primary)}.browser-view{aspect-ratio: 16 / 10;overflow: hidden}.browser-scroll{width: 100%;height: auto;transition: transform 9s cubic-bezier(.45,0,.55,1)}@media (hover: hover) and (prefers-reduced-motion: no-preference){.browser:hover .browser-scroll{transform: translateY(-73%)}}.spec{display: grid;grid-template-columns: 1fr 1fr;background-color: var(--bg-dark);color: var(--t-on-dark)}.spec > div{padding: var(--s-5);min-height: 15rem}.spec > div + div{border-left: 1px solid var(--line-dark)}.spec dt{margin-bottom: var(--s-4);color: var(--c-primary)}.spec dd{margin: 0;font: 500 clamp(1.0625rem,.95rem + .6vw,1.5rem)/1.5 var(--f-head)}.more{margin-top: var(--s-8)}.more h3{margin-bottom: var(--s-4);color: var(--c-primary-ink)}.more li a{display: grid;gap: var(--s-1);padding: var(--s-4) var(--s-2);border-top: 1px solid var(--line-strong);text-decoration: none;transition: background var(--t-fast)}.more li:last-child a{border-bottom: 1px solid var(--line-strong)}.more li a:hover{background: #fff}.more strong,.more span{transition: transform var(--t-med) var(--ease)}.more li a:hover strong,.more li a:hover span{transform: translateX(var(--s-3))}.more strong{font: 500 var(--fs-2)/1.3 var(--f-head)}.more span{color: var(--t-muted);font-size: .9375rem}.timeline{margin: var(--s-7) 0 0 .35rem}.timeline li{position: relative;padding: 0 0 var(--s-6) var(--s-6);border-left: 1px solid var(--line-dark)}.timeline li:last-child{padding-bottom: 0;border-left-color: transparent}.timeline li::before{content: "";position: absolute;left: -.3rem;top: .35rem;width: .6rem;height: .6rem;border-radius: 50%;background: var(--c-primary);box-shadow: 0 0 0 4px var(--bg-dark)}.step-no{display: block;margin-bottom: var(--s-2);color: var(--c-primary)}.timeline h3{font-size: 1.25rem;font-weight: 700;letter-spacing: -.01em}.timeline p{margin-top: var(--s-2);color: var(--t-on-dark-muted);font-size: .9375rem;max-width: 34ch}.work-grid{display: grid;gap: var(--s-6);margin-top: var(--s-7)}.work-img{display: grid;place-items: center;padding: var(--s-5);aspect-ratio: 16 / 10;overflow: hidden;background-color: var(--bg-soft);border: 1px solid var(--line)}.work-img img{width: 100%;height: 100%;object-fit: contain;transition: transform 600ms var(--ease)}.work:hover .work-img img{transform: scale(1.03)}.work-meta{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: var(--s-2) var(--s-4);padding-top: var(--s-4)}.work-meta h3{font-size: var(--fs-2);font-weight: 700}.work-meta .mono{color: var(--t-muted);font-size: .75rem}.about{display: grid;gap: var(--s-7);align-items: start}.about-copy{display: flex;flex-direction: column;gap: var(--s-4)}.about-copy h2{font-size: var(--fs-4);font-weight: 700;letter-spacing: -.02em;max-width: 16ch}.about-copy p:not(.label){max-width: 50ch;font-size: var(--fs-2);line-height: 1.55}.direct{padding: var(--s-6);background: var(--bg-dark);color: var(--t-on-dark)}.direct .mono{color: var(--c-primary);margin-bottom: var(--s-4)}.direct-name{font: 700 var(--fs-3)/1.15 var(--f-head);margin-bottom: var(--s-4)}.direct li + li{margin-top: var(--s-1)}.direct a{display: inline-block;padding-block: var(--s-1);font-size: var(--fs-2);text-decoration: none;border-bottom: 1px solid var(--line-dark)}.direct a:hover{color: var(--c-accent);border-color: var(--c-accent)}.direct address{margin-top: var(--s-5);padding-top: var(--s-4);border-top: 1px solid var(--line-dark);color: var(--t-on-dark-muted);font-size: .9375rem}.direct :focus-visible{outline-color: var(--c-accent)}.cta-band{background: var(--c-primary);color: var(--bg-dark);padding-block: var(--s-8)}.cta-inner{display: grid;gap: var(--s-6);align-items: end}.cta-band h2{font-size: var(--fs-5);line-height: var(--lh-tight);font-weight: 700;letter-spacing: -.03em;max-width: 14ch}.cta-actions{display: grid;gap: var(--s-4);font-size: var(--fs-2)}.cta-band :focus-visible{outline-color: var(--bg-dark)}@media (min-width: 40em){.more li a{grid-template-columns: minmax(14rem,1fr) 2fr;align-items: baseline;gap: var(--s-4)}}@media (min-width: 62em){.split{grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: var(--s-8);align-items: start}.split .section-head{position: sticky;top: 7rem}.service{grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: var(--s-8)}.service-flip{grid-template-columns: minmax(0,7fr) minmax(0,5fr)}.service-flip .service-copy{order: 2}.timeline{display: grid;grid-template-columns: repeat(6,1fr);gap: var(--s-4);margin: var(--s-8) 0 0}.timeline li{padding: var(--s-5) var(--s-3) 0 0;border-left: 0;border-top: 1px solid var(--line-dark)}.timeline li:last-child{border-top-color: var(--line-dark)}.timeline li::before{left: 0;top: -.3rem}.work-grid{grid-template-columns: repeat(12,1fr);column-gap: var(--s-6);row-gap: var(--s-7)}.work-l{grid-column: span 7}.work-s{grid-column: span 5}.about{grid-template-columns: minmax(0,7fr) minmax(0,4fr);gap: var(--s-8)}.cta-inner{grid-template-columns: 1.4fr 1fr}}
.page-hero{position: relative;background-color: var(--bg-dark);color: var(--t-on-dark);padding: calc(4.5rem + var(--s-7)) 0 var(--s-7)}.page-hero h1{font-size: var(--fs-5);line-height: var(--lh-tight);font-weight: 700;letter-spacing: -.025em;max-width: 18ch}.page-hero .lead{margin-top: var(--s-5);max-width: 46ch;font-size: var(--fs-2);line-height: 1.5;color: var(--t-on-dark-muted)}.page-hero :focus-visible{outline-color: var(--c-accent)}@media (prefers-reduced-motion: no-preference){.page-hero .container > *{opacity: 0;transform: translateY(14px);animation: rise 800ms var(--ease) forwards}.page-hero .container > :nth-child(2){animation-delay: 80ms}.page-hero .container > :nth-child(3){animation-delay: 160ms}.page-hero .container > :nth-child(4){animation-delay: 240ms}}.chips{display: flex;flex-wrap: wrap;gap: var(--s-2);margin-top: var(--s-6)}.chips a{display: inline-flex;align-items: center;min-height: var(--touch);padding: 0 var(--s-4);border: 1px solid var(--line-dark);border-radius: var(--r-1);font: 400 var(--fs-0)/1 var(--f-mono);letter-spacing: .04em;color: var(--t-on-dark);text-decoration: none;transition: border-color var(--t-fast),color var(--t-fast)}.chips a:hover{border-color: var(--c-accent);color: var(--c-accent)}.services .service{margin-top: 0}.services .service{padding-top: var(--s-8);border-top: 1px solid var(--line-strong)}.services .service:first-child{padding-top: 0;border-top: 0}.service h2{font-size: var(--fs-4);font-weight: 700;letter-spacing: -.02em;max-width: 16ch}.ticks{display: grid;gap: var(--s-2)}.ticks li{position: relative;padding-left: var(--s-5);max-width: 46ch}.ticks li::before{content: "";position: absolute;left: 0;top: .7em;width: .8rem;height: 1px;background: var(--c-primary-ink)}.browser-view-static{aspect-ratio: auto}.browser-view-static img{width: 100%;height: auto}.frame{display: grid;place-items: center;padding: var(--s-4);background-color: #fff;border: 1px solid var(--line-strong);overflow: hidden}.frame img{width: 100%;height: auto;transition: transform 600ms var(--ease)}.frame:hover img{transform: scale(1.03)}.frame-tall{max-width: 16rem}.frame-phone{max-width: 13rem;justify-self: center}.duo{display: grid;gap: var(--s-4);align-items: center}.duo .frame:nth-child(2){margin-top: 0}@media (min-width: 40em){.duo{grid-template-columns: 1fr 1fr}.duo .frame:nth-child(2){margin-top: var(--s-7)}}@media (min-width: 62em){.services .service-visual{min-width: 0}}.crumbs{margin-bottom: var(--s-5);color: var(--t-on-dark-muted)}.crumbs a{color: var(--c-primary);text-decoration: none}.crumbs a:hover{color: var(--c-accent)}.page-hero .hero-cta{margin-top: var(--s-6)}.section-head h2 + .intro{margin-top: var(--s-4)}.intro-light{color: var(--t-on-dark-muted)}.two-col{display: grid;gap: var(--s-6);margin-top: var(--s-7)}.two-col > div{padding-top: var(--s-4);border-top: 1px solid var(--line-strong)}.two-col h3{font-size: var(--fs-3);font-weight: 700;letter-spacing: -.015em}.two-col p{margin-top: var(--s-3);max-width: 46ch;color: var(--t-muted)}.spec-3{grid-template-columns: 1fr;margin-top: var(--s-7);border: 1px solid var(--line-dark);background-image: none;background-color: transparent}.spec-3 > div + div{border-left: 0;border-top: 1px solid var(--line-dark)}.spec-3 > div{min-height: 0}.work-grid-3{gap: var(--s-6)}.work-grid-3 .work-img{aspect-ratio: 16 / 10}@media (min-width: 40em){.two-col{grid-template-columns: 1fr 1fr;gap: var(--s-7)}}@media (min-width: 62em){.spec-3{grid-template-columns: repeat(3,1fr)}.spec-3 > div + div{border-top: 0;border-left: 1px solid var(--line-dark)}.work-grid-3{grid-template-columns: repeat(3,1fr)}.work-grid-3 .work{grid-column: auto}}.projects .project{display: grid;gap: var(--s-5);padding-block: var(--s-7);border-top: 1px solid var(--line-strong);align-items: center}.projects .project:first-child{border-top: 0;padding-top: 0}.project-img{display: grid;place-items: center;padding: var(--s-5);aspect-ratio: 16 / 10;overflow: hidden;background-color: var(--bg-soft);border: 1px solid var(--line)}.project-img img{width: 100%;height: 100%;object-fit: contain;transition: transform 600ms var(--ease)}.project-img img.is-small{width: auto;max-width: 26rem;height: auto;mix-blend-mode: multiply}.project-img-shot{padding: var(--s-6)}.project-img-shot img{height: auto;box-shadow: 0 0 0 1px var(--line-strong)}.project:hover .project-img img{transform: scale(1.02)}.project-meta{display: flex;flex-direction: column;gap: var(--s-4)}.project-no{color: var(--c-primary-ink);padding-bottom: var(--s-3);border-bottom: 1px solid var(--line-strong)}.project h2{font-size: var(--fs-3);font-weight: 700;letter-spacing: -.015em}.project-meta > p:not(.project-no){max-width: 44ch;color: var(--t-muted)}.facts{display: grid;gap: 0;margin: var(--s-2) 0 0}.facts > div{display: grid;grid-template-columns: 6.5rem 1fr;gap: var(--s-3);padding: var(--s-3) 0;border-top: 1px solid var(--line)}.facts dt{color: var(--t-muted);font-size: .75rem;padding-top: .2rem}.facts dd{margin: 0;font-weight: 500}.print-grid{display: grid;grid-template-columns: 1fr 1fr;gap: var(--s-4);margin-top: var(--s-7);align-items: center}.print-link{margin-top: var(--s-6)}@media (min-width: 62em){.projects .project{grid-template-columns: minmax(0,7fr) minmax(0,4fr);gap: var(--s-8);padding-block: var(--s-8)}.projects .project:first-child{padding-top: 0}.projects .project-flip{grid-template-columns: minmax(0,4fr) minmax(0,7fr)}.projects .project-flip .project-img{order: 2}.print-grid{grid-template-columns: 1.2fr 1.2fr .8fr 1.2fr}}.direct p:not(.mono):not(.direct-name){color: var(--t-on-dark);line-height: 1.7}.direct.direct address,address.direct{font-style: normal}.facts-dark{margin-top: var(--s-2)}.facts-dark > div{border-top-color: var(--line-dark);grid-template-columns: 6rem 1fr}.facts-dark dt{color: var(--c-primary)}.facts-dark dd{color: var(--t-on-dark);overflow-wrap: anywhere}.facts-dark a{font-size: 1rem;padding-block: 0}.contact{display: grid;gap: var(--s-7);align-items: start}.form-title{font-size: var(--fs-3);font-weight: 700;letter-spacing: -.015em;margin-bottom: var(--s-5)}.field{display: grid;gap: var(--s-2);margin-bottom: var(--s-5)}.field-row{display: grid;gap: 0 var(--s-5);align-items: start}.field label{font-weight: 600;font-size: .9375rem}.req{color: var(--c-error)}.opt{font-weight: 400;color: var(--t-muted)}.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field select,.field textarea{width: 100%;min-height: 3rem;padding: .7rem var(--s-4);font: inherit;color: var(--t-ink);background: #fff;border: 1px solid #8a9096;border-radius: var(--r-1);transition: border-color var(--t-fast),box-shadow var(--t-fast)}.field textarea{resize: vertical;min-height: 9rem}.field input:hover,.field select:hover,.field textarea:hover{border-color: var(--t-ink)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline: none;border-color: var(--c-primary-ink);box-shadow: 0 0 0 3px rgba(74,110,0,.28)}.field input[aria-invalid="true"],.field textarea[aria-invalid="true"],.field select[aria-invalid="true"]{border-color: var(--c-error);box-shadow: 0 0 0 1px var(--c-error)}.field-error{color: var(--c-error);font-size: .9rem;font-weight: 500}.field-error[hidden]{display: none}.field-check{grid-template-columns: auto 1fr;align-items: start;column-gap: var(--s-3)}.field-check input{width: 1.35rem;height: 1.35rem;margin: .15rem 0 0;accent-color: var(--c-primary-ink)}.field-check label{font-weight: 400;line-height: 1.5}.field-check label a{color: var(--c-primary-ink);font-weight: 600}.field-check .field-error{grid-column: 2}.hp{position: absolute;left: -10000px;width: 1px;height: 1px;overflow: hidden}.form-actions{margin-top: var(--s-6)}.form-actions .btn{min-width: 12rem}.form-actions .btn[disabled]{opacity: .6;cursor: progress}.form-note{margin-top: var(--s-4);font-size: .875rem;color: var(--t-muted)}.form-status{margin-bottom: var(--s-5);padding: var(--s-4) var(--s-5);border: 1px solid;border-radius: var(--r-1);font-weight: 500}.form-status[hidden]{display: none}.form-status.is-ok{border-color: var(--c-primary-ink);background: var(--bg-soft);color: var(--t-ink)}.form-status.is-error{border-color: var(--c-error);background: #fdf3f2;color: #7a1913}.contact-side{position: static}@media (min-width: 40em){.field-row{grid-template-columns: 1fr 1fr}}@media (min-width: 62em){.contact{grid-template-columns: minmax(0,7fr) minmax(0,4fr);gap: var(--s-8)}.contact-side{position: sticky;top: 7rem}}.page-hero-slim{padding-bottom: var(--s-6)}.prose{max-width: 48rem}.prose h2{margin: var(--s-7) 0 var(--s-3);font-size: var(--fs-3);font-weight: 700;letter-spacing: -.015em}.prose h2:first-child{margin-top: 0}.prose h3{margin: var(--s-5) 0 var(--s-2);font-size: var(--fs-2);font-weight: 700}.prose p,.prose ul{margin-top: var(--s-3);max-width: 70ch}.prose ul{list-style: none;display: grid;gap: var(--s-2)}.prose ul li{position: relative;padding-left: var(--s-5)}.prose ul li::before{content: "";position: absolute;left: 0;top: .75em;width: .8rem;height: 1px;background: var(--c-primary-ink)}.prose a{color: var(--c-primary-ink);font-weight: 500;text-underline-offset: .2em}.prose a:hover{color: var(--t-ink)}.prose address{font-style: normal}.prose-note{margin-bottom: var(--s-6);color: var(--t-muted);font: 400 var(--fs-0)/1.3 var(--f-mono);letter-spacing: .06em;text-transform: uppercase}.prose code{padding: .1em .35em;background: var(--bg-soft);border: 1px solid var(--line);font: 400 .9em var(--f-mono)}.prose h3{font-family: var(--f-head)}.prose .btn{text-decoration: none;color: #fff}h1,h2,h3,.prose,.direct{overflow-wrap: break-word;hyphens: auto}.page-hero h1{font-size: clamp(2.125rem,1.4rem + 3.6vw,4.5rem)}.brand{display: flex;align-items: center;min-height: var(--touch)}.service > *{min-width: 0}.field-check input{width: 1.5rem;height: 1.5rem}@media (max-width: 35.99em){.spec:not(.spec-3){grid-template-columns: 1fr}.spec:not(.spec-3) > div{min-height: 0}.spec:not(.spec-3) > div + div{border-left: 0;border-top: 1px solid var(--line-dark)}}.facts-dark dd{overflow-wrap: anywhere}.page-hero{overflow: hidden}.page-hero[data-word]::after{content: attr(data-word);position: absolute;right: -.02em;bottom: -.3em;font: 700 clamp(4.5rem,16vw,15rem)/1 var(--f-head);letter-spacing: -.04em;color: transparent;-webkit-text-stroke: 1px rgba(232,237,230,.16);white-space: nowrap;pointer-events: none}.page-hero .container{position: relative;z-index: 1}
.consent{position: fixed;z-index: 70;left: var(--s-3);right: var(--s-3);bottom: var(--s-3);max-width: 31rem;padding: var(--s-5);background: var(--bg-dark);color: var(--t-on-dark);border: 1px solid #5b5e63;font-size: .9375rem;line-height: 1.55}.consent[hidden]{display: none}.consent-title{margin-bottom: var(--s-2);font: 700 1.125rem/1.2 var(--f-head)}.consent p{color: var(--t-on-dark-muted)}.consent a{color: var(--t-on-dark);text-underline-offset: .2em}.consent a:hover{color: var(--c-accent)}.consent-actions{display: grid;grid-template-columns: 1fr 1fr;gap: var(--s-2);margin-top: var(--s-4)}.consent :focus-visible,.consent-dialog :focus-visible{outline: 2px solid var(--c-accent);outline-offset: 2px}.consent-dialog :focus-visible{outline-color: var(--c-primary-ink)}.cbtn{min-height: var(--touch);padding: 0 var(--s-4);font: 600 .9375rem/1 var(--f-body);color: var(--t-on-dark);background: transparent;border: 1px solid #8b9096;border-radius: var(--r-1);cursor: pointer;transition: border-color var(--t-fast),background var(--t-fast)}.cbtn:hover{border-color: var(--c-accent);background: rgba(255,255,255,.06)}.clink{grid-column: 1 / -1;min-height: var(--touch);background: none;border: 0;color: var(--t-on-dark);font: 500 .9375rem var(--f-body);text-decoration: underline;text-underline-offset: .2em;cursor: pointer}.clink:hover{color: var(--c-accent)}.consent-dialog{width: min(36rem,calc(100% - 2rem));max-height: calc(100dvh - 2rem);padding: 0;color: var(--t-ink);background: #fff;border: 1px solid var(--line-strong);border-radius: var(--r-1);overflow: auto}.consent-dialog::backdrop{background: rgba(20,21,23,.6)}.consent-form{padding: var(--s-5)}.dlg-head{display: flex;align-items: center;justify-content: space-between;gap: var(--s-4)}.dlg-head h2{font: 700 1.375rem/1.2 var(--f-head)}.dlg-close{min-height: var(--touch);padding: 0 var(--s-2);background: none;border: 0;cursor: pointer;font: 500 .9375rem var(--f-body);color: var(--t-muted)}.dlg-close:hover{color: var(--t-ink)}.dlg-intro{margin-top: var(--s-3);color: var(--t-muted);font-size: .9375rem}.cat{padding: var(--s-4) 0;border-top: 1px solid var(--line)}.cat:first-of-type{margin-top: var(--s-4)}.cat-head{display: flex;align-items: center;justify-content: space-between;gap: var(--s-4)}.cat-head label{font-weight: 600;flex: 1;padding-block: var(--s-2)}.cat p{margin-top: var(--s-1);color: var(--t-muted);font-size: .9rem;max-width: 46ch}.switch{appearance: none;position: relative;flex: none;width: 2.9rem;height: 1.6rem;margin: 0;border: 1px solid #8a9096;border-radius: 1rem;background: #e6e8e4;cursor: pointer;transition: background var(--t-fast),border-color var(--t-fast)}.switch::after{content: "";position: absolute;top: 50%;left: .2rem;width: 1.1rem;height: 1.1rem;margin-top: -.55rem;border-radius: 50%;background: #5a6068;transition: transform var(--t-fast) var(--ease),background var(--t-fast)}.switch:checked{background: var(--c-primary-ink);border-color: var(--c-primary-ink)}.switch:checked::after{transform: translateX(1.25rem);background: #fff}.switch:disabled{opacity: .7;cursor: not-allowed}.dlg-actions{display: grid;grid-template-columns: 1fr;gap: var(--s-2);margin-top: var(--s-4);padding-top: var(--s-4);border-top: 1px solid var(--line)}.cbtn-light{color: var(--t-ink);border-color: #8a9096}.cbtn-light:hover{border-color: var(--t-ink);background: var(--bg-soft)}.cbtn-solid{color: #fff;background: var(--bg-dark);border-color: var(--bg-dark)}.cbtn-solid:hover{background: #000;border-color: #000}@media (min-width: 40em){.consent{left: var(--s-5);bottom: var(--s-5);right: auto}.dlg-actions{grid-template-columns: 1fr 1fr 1.2fr}}
.nudge{position: fixed;z-index: 65;left: var(--s-3);right: var(--s-3);bottom: var(--s-3);padding: var(--s-4) var(--s-5) var(--s-4) var(--s-4);background: var(--bg-dark);color: var(--t-on-dark);border: 1px solid #5b5e63;opacity: 0;transform: translateY(12px);transition: opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.nudge[hidden]{display: none}.nudge.is-in{opacity: 1;transform: none}.nudge-label{color: var(--c-primary);margin-bottom: var(--s-2)}.nudge-title{font: 700 1.125rem/1.2 var(--f-head)}.nudge-text{margin-top: var(--s-2);color: var(--t-on-dark-muted);font-size: .9375rem;line-height: 1.5}.nudge-actions{display: flex;flex-wrap: wrap;align-items: center;gap: var(--s-3) var(--s-4);margin-top: var(--s-4)}.nudge-actions .btn{min-height: var(--touch)}.nudge-later{min-height: var(--touch);padding: 0 var(--s-2);background: none;border: 0;color: var(--t-on-dark-muted);font: 500 .9375rem var(--f-body);text-decoration: underline;text-underline-offset: .2em;cursor: pointer}.nudge-later:hover{color: var(--c-accent)}.nudge-close{position: absolute;top: 0;right: 0;width: var(--touch);height: var(--touch);background: none;border: 0;color: var(--t-on-dark-muted);font-size: 1.5rem;line-height: 1;cursor: pointer}.nudge-close:hover{color: var(--c-accent)}.nudge :focus-visible{outline: 2px solid var(--c-accent);outline-offset: 2px}@media (max-width: 39.99em){.nudge-label,.nudge-title{display: none}.nudge{padding: var(--s-3) var(--s-4)}.nudge-text{margin: 0;padding-right: var(--s-6);color: var(--t-on-dark)}.nudge-actions{margin-top: var(--s-3)}}@media (min-width: 40em){.nudge{left: auto;right: var(--s-5);bottom: var(--s-5);width: 22rem;padding: var(--s-5)}}@media (prefers-reduced-motion: reduce){.nudge{transition: none;transform: none}}
:root{--c-ring: #8fbc1d}.dark-pages{--bg-light: #292a2d;--bg-soft: #303236;--t-ink: #eef1ea;--t-muted: #b3b8b4;--line: #3d3f44;--line-strong: #4b4e54;--c-primary-ink: #9ccb2a;color-scheme: dark}.consent-dialog{--t-ink: #1c1d20;--t-muted: #59626d;--line: #dde3d9;--line-strong: #c2cbd2;--bg-soft: #f4f6f2;--c-primary-ink: #4a6e00;color-scheme: light}.dark-pages .frame{background: var(--bg-soft);border-color: var(--line)}.dark-pages .more li a:hover{background: var(--bg-soft)}.dark-pages .direct{background: #1f2022;border: 1px solid var(--line)}.dark-pages .spec{border: 1px solid var(--line-dark)}.dark-pages .field input[type="text"],.dark-pages .field input[type="email"],.dark-pages .field input[type="tel"],.dark-pages .field select,.dark-pages .field textarea{background: #fff;color: #1c1d20}.dark-pages .field-error{color: #ff8f86}.dark-pages .req{color: #ff8f86}.dark-pages .form-status.is-error{background: #3a1f1d;color: #ffd9d5;border-color: #c4574d}.dark-pages .form-status.is-ok{background: #26331a;border-color: var(--c-primary)}.dark-pages .field input[aria-invalid="true"],.dark-pages .field textarea[aria-invalid="true"]{border-color: #ff8f86;box-shadow: 0 0 0 1px #ff8f86}.dark-pages .work-img img.is-small,.dark-pages .project-img img.is-small{mix-blend-mode: normal}.has-rings{position: relative;overflow: hidden}.has-rings > .container{position: relative;z-index: 1}.ring{position: absolute;z-index: 0;border: calc(var(--rw,24px) * .5) solid rgba(143,188,29,.42);pointer-events: none}.ring-full{width: var(--rs,420px);height: var(--rs,420px);border-radius: 50%}.ring-half{width: var(--rs,520px);height: calc(var(--rs,520px) / 2);border-bottom: 0;border-radius: calc(var(--rs,520px) / 2) calc(var(--rs,520px) / 2) 0 0}.ring-quarter{width: var(--rs,300px);height: var(--rs,300px);border-right: 0;border-bottom: 0;border-radius: var(--rs,300px) 0 0 0}.ring-quarter.q-tr{border-left: 0;border-right: calc(var(--rw,24px) * .5) solid rgba(143,188,29,.42);border-radius: 0 var(--rs,300px) 0 0}.ring-bottom{left: 50%;bottom: 0;transform: translateX(-50%)}.ring-light{border-color: rgba(255,255,255,.2)}.ring-dim{border-color: rgba(143,188,29,.3)}.hero .ring-hero{--rs: clamp(420px,54vw,780px);--rw: clamp(30px,3.6vw,54px);right: calc(var(--rs) * -.46);top: 50%;transform: translateY(-44%)}.fields{padding-bottom: calc(var(--s-8) + 9rem)}.section-head-center{text-align: center;margin-inline: auto}.section-head-center h2{margin-inline: auto;max-width: 20ch}.section-head-center .intro{margin-inline: auto}.fields-grid{display: grid;gap: var(--s-7) var(--s-6);margin-top: var(--s-8)}.field-card{position: relative;display: flex;flex-direction: column;align-items: center;text-align: center;padding-inline: var(--s-2)}.field-icon{width: 3.5rem;height: 3.5rem;margin-bottom: var(--s-5);color: var(--c-primary);transition: transform var(--t-med) var(--ease),color var(--t-fast)}.field-card h3{font: 500 clamp(1.125rem,1rem + .5vw,1.375rem)/1.3 var(--f-head);letter-spacing: .2em;text-transform: uppercase}.field-card h3 a{text-decoration: none}.field-card h3 a::after{content: "";position: absolute;inset: -.75rem}.field-card p{margin-top: var(--s-4);max-width: 36ch;color: var(--t-muted);font-size: .9375rem;line-height: 1.65}.field-card:hover .field-icon{transform: translateY(-4px);color: var(--c-accent)}.field-card:hover h3 a{color: var(--c-accent)}.field-card:focus-within{outline: 2px solid var(--c-accent);outline-offset: 6px}.field-card h3 a:focus-visible{outline: none}.panel-green{position: relative;overflow: hidden;background: var(--c-primary);color: #fff;padding-block: var(--s-8)}.panel-grid{display: grid;gap: var(--s-7);align-items: center;position: relative;z-index: 1}.panel-label{font: 500 .9375rem/1.4 var(--f-head);letter-spacing: .2em;text-transform: uppercase;color: var(--bg-dark)}.panel-green h2{margin-top: var(--s-4);font: 500 var(--fs-4)/1.1 var(--f-head);letter-spacing: .06em;text-transform: uppercase;color: #fff;max-width: 14ch;hyphens: manual}.panel-lead{margin-top: var(--s-5);max-width: 36ch;font: 700 1.25rem/1.5 var(--f-body);color: #fff}.panel-copy .btn{margin-top: var(--s-6)}.btn-white{background: #fff;color: #1c1d20}.btn-white:hover{background: var(--bg-dark);color: #fff}.panel-green :focus-visible{outline-color: #fff}.panel-visual{position: relative}.panel-visual img{width: 100%;height: auto;filter: drop-shadow(0 24px 36px rgba(0,0,0,.28))}.panel-green .ring-pg{--rs: clamp(340px,46vw,640px);--rw: clamp(28px,3.2vw,48px);right: calc(var(--rs) * -.4);top: 50%;transform: translateY(-50%)}.cta-band{position: relative;overflow: hidden}.cta-band h2{color: #fff}.cta-band .container{position: relative;z-index: 1}.cta-band .ring-cta{--rs: clamp(300px,34vw,500px);--rw: clamp(26px,3vw,44px);right: calc(var(--rs) * -.36);bottom: calc(var(--rs) * -.6)}.section-dark .q-tr{--rs: clamp(220px,28vw,380px);--rw: clamp(16px,1.8vw,24px);top: 0;right: 0}@media (min-width: 40em){.fields-grid{grid-template-columns: repeat(2,1fr)}}@media (min-width: 62em){.fields-grid{grid-template-columns: repeat(3,1fr)}.panel-grid{grid-template-columns: minmax(0,5fr) minmax(0,6fr);gap: var(--s-8)}}@media (prefers-reduced-motion: reduce){.field-icon{transition: none}}.hero > .container{position: relative;z-index: 1}.dark-pages .section-dark{background-color: #222326}.fields-more{margin-top: var(--s-7);text-align: center}.fields-more .link{align-self: center}.about-side{display: grid;gap: var(--s-6)}.portrait{position: relative;margin: 0;width: min(100%,22rem);justify-self: center;padding: 0}.portrait::before{content: none}.portrait-disc{position: relative;width: 100%;aspect-ratio: 1;border-radius: 50%;overflow: hidden;background: #3a3d42}.portrait-disc img{position: absolute;left: 50%;bottom: 0;height: 108%;width: auto;max-width: none;transform: translateX(-50%)}.portrait figcaption{position: relative;margin-top: var(--s-4);padding-left: .1rem;font: 400 var(--fs-0)/1.3 var(--f-mono);letter-spacing: .06em;text-transform: uppercase;color: var(--t-muted)}.about-contact{display: flex;flex-wrap: wrap;gap: var(--s-2) var(--s-5)}.about-contact a{padding-block: var(--s-1);font-size: var(--fs-2);text-decoration: none;border-bottom: 1px solid var(--line-strong)}.about-contact a:hover{color: var(--c-accent);border-color: var(--c-accent)}@media (min-width: 62em){.portrait{justify-self: end}.about-side .portrait{justify-self: start}}.ring-dome{--rs: clamp(340px,38vw,560px);--rw: clamp(28px,3.2vw,48px);left: clamp(-4rem,6vw,8rem);bottom: 0}.ring-bl{--rs: clamp(240px,26vw,360px);--rw: clamp(22px,2.6vw,36px);left: calc(var(--rs) * -.5);bottom: calc(var(--rs) * -.5)}#ablauf{padding-bottom: calc(var(--s-8) + 7rem)}.ring-side{--rs: clamp(340px,40vw,600px);--rw: clamp(26px,3.2vw,46px);right: calc(var(--rs) * -.52);top: 50%;transform: translateY(-46%)}.pad-ring{padding-bottom: calc(var(--s-8) + 7rem)}.services{position: relative;overflow: hidden}.services .service{position: relative}.services .service-visual{position: relative}.services .service-visual > *{position: relative;z-index: 1}@media (prefers-reduced-motion: no-preference){.timeline.is-armed li{opacity: 0;transform: translateY(14px)}.timeline.is-armed li::before{transform: scale(0)}.timeline.is-armed li::after{content: "";position: absolute;background: var(--c-primary);pointer-events: none;left: -1px;top: 0;bottom: 0;width: 2px;transform: scaleY(0);transform-origin: top}.timeline.is-armed li:last-child::after{display: none}.timeline.is-run li{animation: tl-in 700ms var(--ease) forwards;animation-delay: calc(var(--i,0) * 420ms)}.timeline.is-run li::before{animation: tl-dot 700ms var(--ease) forwards;animation-delay: calc(var(--i,0) * 420ms + 120ms)}.timeline.is-run li::after{animation: tl-line-y 520ms linear forwards;animation-delay: calc(var(--i,0) * 420ms + 260ms)}.timeline li .step-no{transition: color var(--t-med)}@media (min-width: 62em){.timeline.is-armed li::after{left: 0;right: 0;top: -1px;bottom: auto;width: auto;height: 2px;transform: scaleX(0);transform-origin: left}.timeline.is-armed li:last-child::after{display: block}.timeline.is-run li::after{animation-name: tl-line-x}}}@keyframes tl-in{to{opacity: 1;transform: none}}@keyframes tl-dot{0%{transform: scale(0)}55%{transform: scale(1.7);box-shadow: 0 0 0 4px var(--bg-dark),0 0 0 9px rgba(115,162,17,.35)}100%{transform: scale(1)}}@keyframes tl-line-y{to{transform: scaleY(1)}}@keyframes tl-line-x{to{transform: scaleX(1)}}@media print{.timeline.is-armed li{opacity: 1 !important;transform: none !important;animation: none !important}.timeline.is-armed li::before{transform: none !important;animation: none !important}.timeline.is-armed li::after{display: none}.reveal{opacity: 1 !important;transform: none !important}}.ring-bl,.ring-br,.ring-tl,.ring-tr{--rs: clamp(240px,26vw,360px);--rw: clamp(22px,2.6vw,36px)}.ring-br{right: calc(var(--rs) * -.5);bottom: calc(var(--rs) * -.5);left: auto;top: auto}.ring-tl{left: calc(var(--rs) * -.5);top: calc(var(--rs) * -.5);right: auto;bottom: auto}.ring-tr{right: calc(var(--rs) * -.5);top: calc(var(--rs) * -.5);left: auto;bottom: auto}.ring-bl{left: calc(var(--rs) * -.5);bottom: calc(var(--rs) * -.5);right: auto;top: auto}.ring.ring-br,.ring.ring-tl,.ring.ring-tr,.ring.ring-bl{transform: none}.hero .ring-br{bottom: calc(var(--rs) * -.5)}.footer-legal{align-items: center;gap: 0 var(--s-5)}.footer-legal li,.footer-legal li + li{margin: 0}.footer-legal a,.footer-legal button{display: inline-flex;align-items: center;min-height: var(--touch);margin: 0;padding: 0;font: 400 .875rem/1.5 var(--f-body);color: var(--t-on-dark-muted);text-decoration: none;background: none;border: 0;cursor: pointer}.footer-legal a:hover,.footer-legal button:hover{color: var(--c-accent)}.portrait:has(.portrait-photo){width: min(100%,24rem)}.portrait-photo{display: block;width: 100%;height: auto;aspect-ratio: 4 / 5;object-fit: cover;object-position: 50% 30%;border: 1px solid var(--line);background: var(--bg-soft)}.tel-tag{margin-left: .5em;color: var(--t-muted);font: 400 .6875rem/1 var(--f-mono);letter-spacing: .06em;text-transform: uppercase;white-space: nowrap}.about-contact{row-gap: 0}
.sr-only{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.ring-corner{--rs: clamp(220px,28vw,400px);--rw: clamp(22px,2.6vw,38px);top: 0;right: 0}.rgrid{display: grid;gap: var(--s-7) var(--s-6);grid-template-columns: repeat(auto-fill,minmax(min(100%,22rem),1fr))}.rcard{display: flex;flex-direction: column;gap: var(--s-4);min-width: 0}.rcard-media{position: relative;display: grid;place-items: center;aspect-ratio: 16 / 10;overflow: hidden;background: var(--bg-soft);border: 1px solid var(--line)}.rcard-media.no-photo::before{content: none}.rcard:is(:nth-child(2),:nth-child(9),:nth-child(12)) .rcard-media.no-photo::before{content: "";position: absolute;right: -26%;top: -44%;width: 74%;aspect-ratio: 1;border: clamp(10px,1.2vw,16px) solid rgba(143,188,29,.3);border-radius: 50%}.rcard:is(:nth-child(2),:nth-child(12)) .rcard-media.no-photo::before{right: auto;left: -26%}.rcard-photo{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.rcard-media.has-photo::after{content: "";position: absolute;inset: 0;background: linear-gradient(to top,rgba(20,21,23,.6),rgba(20,21,23,.05) 65%);pointer-events: none}.rcard-browser{position: absolute;z-index: 1;right: 6%;bottom: -7%;width: 74%;border-color: var(--line-strong);transition: transform var(--t-med) var(--ease)}.rcard-browser img{display: block;width: 100%;height: auto}.rcard-browser-flat{position: relative;right: auto;bottom: auto;width: 78%}.rcard-mock{position: relative;z-index: 1;width: 88%;height: auto;transition: transform var(--t-med) var(--ease)}.rcard-mock.is-small{width: auto;max-width: 60%}.rcard:hover .rcard-browser{transform: translateY(-5px)}.rcard:hover .rcard-browser-flat{transform: none}.rcard:hover .rcard-mock{transform: scale(1.02)}.rcard-body{display: flex;flex: 1;flex-direction: column;gap: var(--s-2)}.rcard-cat{color: var(--c-primary-ink);font-size: .75rem}.rcard h2{font: 700 var(--fs-3)/1.15 var(--f-head);letter-spacing: -.015em}.rcard-body > p:not(.rcard-cat):not(.rcard-foot){max-width: 44ch;color: var(--t-muted);font-size: .9375rem}.rcard-body > p:nth-last-of-type(2){margin-bottom: var(--s-3)}.rcard-foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--s-2) var(--s-4);margin-top: auto;padding-top: var(--s-3);border-top: 1px solid var(--line)}.rcard-job{color: var(--t-muted);font-size: .75rem}.rcard-foot .link{min-height: 2.5rem}.rcard-tag{padding: .25rem .6rem;border: 1px solid var(--c-primary);color: var(--c-primary-ink);font-size: .75rem}@media (prefers-reduced-motion: reduce){.rcard-browser,.rcard-mock{transition: none}}
.show{display: grid;gap: var(--s-6);margin-top: var(--s-7)}.show-stage{position: relative;order: -1;aspect-ratio: 16 / 11;overflow: hidden;background: var(--bg-soft);border: 1px solid var(--line)}.show-panel{position: absolute;inset: 0;margin: 0;opacity: 0;visibility: hidden;transition: opacity 700ms var(--ease),visibility 0s linear 700ms}.show-panel.is-active{opacity: 1;visibility: visible;transition: opacity 700ms var(--ease),visibility 0s}.show-photo{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transform: scale(1.08);transition: transform 6s var(--ease)}.show-panel.is-active .show-photo{transform: scale(1)}.show-panel:has(.show-photo)::after{content: "";position: absolute;inset: 0;background: linear-gradient(to top,rgba(20,21,23,.65),rgba(20,21,23,.05) 70%);pointer-events: none}.show-ring{position: absolute;right: -18%;top: -36%;width: 70%;aspect-ratio: 1;border: clamp(10px,1.2vw,16px) solid rgba(143,188,29,.3);border-radius: 50%}.show-browser{position: absolute;z-index: 1;right: 6%;bottom: -8%;width: 78%;border-color: var(--line-strong);transform: translateY(28px) scale(.97);transform-origin: bottom right;transition: transform 900ms var(--ease) 120ms}.show-panel.is-active .show-browser{transform: none}.show-browser img{display: block;width: 100%;height: auto}.show-list{display: grid;align-content: start}.show-item{border-top: 1px solid var(--line)}.show-item:last-child{border-bottom: 1px solid var(--line)}.show-tab{position: relative;display: grid;grid-template-columns: 2.5rem 1fr;grid-template-areas: "no name" ". cat";gap: 0 var(--s-3);align-items: baseline;width: 100%;min-height: var(--touch);padding: var(--s-4) 0;text-align: left;background: none;border: 0;color: var(--t-muted);cursor: pointer;transition: color var(--t-fast)}.show-no{grid-area: no;color: var(--t-muted);transition: color var(--t-fast)}.show-name{grid-area: name;font: 700 clamp(1.125rem,1rem + .7vw,1.625rem)/1.2 var(--f-head);letter-spacing: -.01em}.show-cat{grid-area: cat;margin-top: var(--s-1);font-size: .75rem;color: var(--t-muted)}.show-tab:hover,.show-tab[aria-selected="true"]{color: var(--t-ink)}.show-tab:hover .show-no,.show-tab[aria-selected="true"] .show-no{color: var(--c-primary-ink)}.show-tab:focus-visible{outline: 2px solid var(--c-accent);outline-offset: -2px}.show-bar{position: absolute;left: 0;right: 0;bottom: -1px;height: 2px;background: var(--c-primary);transform: scaleX(0);transform-origin: left}.show-tab[aria-selected="true"] .show-bar{transform: scaleX(1)}.show.is-playing .show-tab[aria-selected="true"] .show-bar{transform: scaleX(0);animation: show-bar 6s linear forwards}.show.is-paused .show-tab[aria-selected="true"] .show-bar{animation-play-state: paused}.show-detail{display: none;padding: 0 0 var(--s-5) calc(2.5rem + var(--s-3))}.show-item.is-active .show-detail,.show:not(.is-js) .show-item:first-child .show-detail{display: block}.show-detail p{max-width: 44ch;color: var(--t-muted);font-size: .9375rem}.show-detail .link{margin-top: var(--s-2)}@keyframes show-bar{to{transform: scaleX(1)}}@media (min-width: 62em){.show{grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: var(--s-8);align-items: start}.show-stage{order: 0;position: sticky;top: 6rem;aspect-ratio: 4 / 3}}@media (prefers-reduced-motion: reduce){.show-panel,.show-panel.is-active,.show-photo,.show-browser{transition: none}.show-photo{transform: none}.show-browser{transform: none}.show-bar{display: none}}
.hero-stage{margin-right: 0;padding: var(--s-4) 0 3.5rem}.hero-stage .stage-main{width: 100%;margin: 0}.hero-stage .stage-phone{position: absolute;z-index: 2;left: 1%;bottom: 0;width: 24%;margin: 0}.dev-browser{position: relative;overflow: hidden;background: #0d0e10;border: 1px solid #3f4247;border-radius: 12px;box-shadow: 0 50px 90px -30px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.03) inset}.dv-bar{display: flex;align-items: center;gap: 6px;height: 2.1rem;padding: 0 .8rem;background: #1b1c1f;border-bottom: 1px solid #2c2e32}.dv-bar > i{width: .5rem;height: .5rem;border-radius: 50%;background: #4a4d53;flex: none}.dv-bar > i:first-child{background: var(--c-primary)}.dv-url{display: grid;margin: 0 auto;min-width: min(14rem,55%);padding: .2rem .8rem;border-radius: 6px;background: #0d0e10;color: var(--t-on-dark-muted);font: 400 .6875rem/1.4 var(--f-mono);letter-spacing: .02em;text-align: center}.dv-view{position: relative;aspect-ratio: 16 / 10;overflow: hidden;background: #000}.dv-view::after{content: "";position: absolute;inset: 0;background: linear-gradient(115deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 36%);pointer-events: none}.dev-phone{position: relative;aspect-ratio: 9 / 19;padding: 5px;border-radius: clamp(20px,2.8vw,34px);background: #0d0e10;border: 1px solid #4a4d53;box-shadow: 0 40px 70px -24px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.04) inset}.ph-screen{position: relative;height: 100%;overflow: hidden;border-radius: clamp(15px,2.2vw,28px);background: #000}.ph-island{position: absolute;z-index: 3;top: 9px;left: 50%;width: 30%;height: 12px;transform: translateX(-50%);border-radius: 99px;background: #000}.dv-item{position: absolute;inset: 0;overflow: hidden;opacity: 0}.hero-stage .dv-shot{display: block;width: 100%;height: auto;filter: none;will-change: transform}.dv-cap{margin: var(--s-4) 0 0;display: grid;color: var(--t-on-dark-muted);font-size: .75rem}.dv-c{grid-area: 1 / 1;justify-self: end;opacity: 0}.dv-u{grid-area: 1 / 1;opacity: 0}@media (prefers-reduced-motion: no-preference){.dv-item,.dv-u,.dv-c{animation: dvShow 24s linear infinite backwards;animation-delay: calc(var(--i,0) * 8s)}.dv-shot{animation: dvScroll 24s cubic-bezier(.45,0,.25,1) infinite backwards;animation-delay: calc(var(--i,0) * 8s)}.ph-screen .dv-shot{animation-name: dvScrollM}.hero-stage.is-idle *{animation-play-state: paused !important}}@keyframes dvShow{0%{opacity: 0}2%{opacity: 1}31%{opacity: 1}33.4%{opacity: 0}100%{opacity: 0}}@keyframes dvScroll{0%,4%{transform: translateY(0)}31%{transform: translateY(-46%)}100%{transform: translateY(-46%)}}@keyframes dvScrollM{0%,6%{transform: translateY(0)}31%{transform: translateY(-40%)}100%{transform: translateY(-40%)}}@media (prefers-reduced-motion: reduce){.dv-item.is-first,.dv-u.is-first,.dv-c.is-first{opacity: 1}}@media (max-width: 61.99em){.hero-stage .stage-phone{left: 2%;width: 28%}.hero-stage{padding-bottom: 3rem}}@media (max-width: 61.99em){.hero .ring-hero{top: auto;bottom: -8%;transform: none;right: calc(var(--rs) * -.5)}}.hero::after{content: "";position: absolute;left: 0;right: 0;bottom: 0;height: 1px;background: linear-gradient(90deg,transparent,rgba(143,188,29,.55) 25%,rgba(143,188,29,.55) 75%,transparent);pointer-events: none}
.mbar{display: none}@media (max-width: 61.99em){:root{--bar-h: calc(3.5rem + env(safe-area-inset-bottom,0px))}body{padding-bottom: var(--bar-h)}.mbar{position: fixed;z-index: 55;left: 0;right: 0;bottom: 0;display: grid;grid-template-columns: 1fr 1fr 1.7fr;height: var(--bar-h);padding-bottom: env(safe-area-inset-bottom,0px);background: #1f2022;border-top: 1px solid var(--line-dark)}.mbar-link,.mbar-cta{display: flex;align-items: center;justify-content: center;gap: var(--s-2);min-height: 3.5rem;text-decoration: none;font: 600 .9375rem/1 var(--f-body)}.mbar-link{color: var(--t-on-dark);border-right: 1px solid var(--line-dark)}.mbar-link svg{color: var(--c-primary);flex: none}.mbar-link:active{background: #2a2c2f}.mbar-cta{background: var(--c-primary);color: var(--bg-dark)}.mbar-cta:active{background: var(--c-accent)}.mbar a:focus-visible{outline: 2px solid var(--c-accent);outline-offset: -3px}body:has(.consent:not([hidden])) .mbar{display: none}.nudge{bottom: calc(var(--bar-h) + var(--s-3))}}@media (max-width: 22em){.mbar-link span{display: none}.mbar{grid-template-columns: 1fr 1fr 2fr}}@media print{.mbar{display: none}}