@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}:root{--naef-blue:#4fafd4;--naef-green:#57956a;--naef-yellow:#e3b505;--naef-red:#c53a33;--naef-umber:#4a3d1a;--naef-blue-deep:#23708f;--naef-green-deep:#3d7350;--naef-yellow-deep:#8f7300;--naef-red-deep:#a32e28;--naef-blue-tint:#e4f1f6;--naef-green-tint:#e6efe8;--naef-yellow-tint:#f7efd2;--naef-red-tint:#f6e4e2;--naef-ink:#262115;--naef-ink-soft:#5c543f;--naef-ink-mute:#8b8270;--naef-line:#e4e0d4;--naef-paper:#faf9f5;--naef-cream:#f3f1e9;--naef-white:#fff;--naef-night:#211d12;--naef-night-soft:#2e2919;--naef-on-night:#f3f1e9;--naef-on-night-soft:#b5ad97;--font-display:var(--font-bricolage);--font-body:var(--font-archivo);--font-mono:var(--font-plex-mono);--text-xs:.8125rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-4xl:3.052rem;--text-5xl:3.815rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--shadow-card:0 1px 2px #2621150f, 0 8px 24px -8px #2621151a;--region-accent:var(--naef-green);--region-accent-deep:var(--naef-green-deep);--region-accent-tint:var(--naef-green-tint)}[data-region=winterthur]{--region-accent:var(--naef-blue);--region-accent-deep:var(--naef-blue-deep);--region-accent-tint:var(--naef-blue-tint)}[data-region=memmingen]{--region-accent:var(--naef-red);--region-accent-deep:var(--naef-red-deep);--region-accent-tint:var(--naef-red-tint)}[data-region=capetown]{--region-accent:var(--naef-yellow);--region-accent-deep:var(--naef-yellow-deep);--region-accent-tint:var(--naef-yellow-tint)}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{font-family:var(--font-body);color:var(--naef-ink);background:var(--naef-paper);-webkit-font-smoothing:antialiased}a{color:var(--naef-green-deep);text-decoration:none}a:hover{color:var(--naef-ink)}button{font-family:var(--font-body)}::selection{background:var(--region-accent-tint)}:focus-visible{outline:2px solid var(--region-accent-deep);outline-offset:2px}[hidden]{display:none!important}:root{--density:1;--sec-pad:calc(104px * var(--density));--wrap:1200px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}.section{padding:var(--sec-pad) 0}.rmenu{position:relative}.rmenu .pip,.nav-extra .pip{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.rmenu-btn{font:500 13.5px/1 var(--font-body);color:var(--naef-ink-soft);border:1px solid var(--naef-line);border-radius:var(--radius-pill);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:9px 14px;transition:border-color .2s,color .2s;display:flex}.rmenu-btn:hover{border-color:var(--naef-ink-mute);color:var(--naef-ink)}.rmenu-btn .chev{color:var(--naef-ink-mute);flex-shrink:0;transition:transform .2s}.rmenu.open .rmenu-btn .chev{transform:rotate(180deg)}.rmenu-pop{z-index:70;background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);min-width:210px;padding:10px;animation:.18s cubic-bezier(.22,.8,.3,1) both popIn;position:absolute;top:calc(100% + 8px);right:0}.rmenu:not(.open) .rmenu-pop{display:none}@keyframes popIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.rmenu-lbl{font:500 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--naef-ink-mute);padding:4px 8px 8px}.rmenu-item{width:100%;font:500 14px/1 var(--font-body);color:var(--naef-ink-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 8px;display:flex}.rmenu-item:hover{background:var(--naef-cream);color:var(--naef-ink)}.rmenu-item.on{background:var(--naef-cream);color:var(--naef-ink);font-weight:600}.rmenu-item .cc{font:400 11px/1 var(--font-mono);color:var(--naef-ink-mute);margin-left:auto}.rmenu-langs{gap:6px;padding:0 8px 4px;display:flex}.rmenu-langs a{font:500 12px/1 var(--font-mono);border:1px solid var(--naef-line);border-radius:var(--radius-pill);color:var(--naef-ink-mute);cursor:pointer;padding:8px 14px}.rmenu-langs a.on{background:var(--naef-ink);border-color:var(--naef-ink);color:var(--naef-paper)}.loc-band{border-top:1px solid var(--naef-line);border-bottom:1px solid var(--naef-line);background:var(--naef-paper)}.loc-band-grid{grid-template-columns:repeat(4,1fr);display:grid}.loc-tile{text-align:left;border:0;border-left:1px solid var(--naef-line);cursor:pointer;background:0 0;align-content:start;gap:5px;padding:20px 22px 18px;transition:background .2s;display:grid;position:relative}.loc-tile:before{content:"";background:var(--tile-accent,var(--naef-line));transform-origin:0;height:3px;transition:transform .25s cubic-bezier(.22,.8,.3,1);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.loc-tile:first-child{border-left:0}.loc-tile:hover{background:var(--naef-cream)}.loc-tile.on{background:var(--tile-tint)}.loc-tile.on:before,.loc-tile:hover:before{transform:scaleX(1)}.loc-tile b{font:600 16px/1.2 var(--font-display);color:var(--naef-ink);align-items:center;gap:8px;display:flex}.loc-tile b em{font:500 10.5px/1 var(--font-mono);color:var(--naef-ink-mute);letter-spacing:.08em;font-style:normal}.loc-tile .pip{background:var(--tile-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.loc-tile .area{font:500 13px/1.3 var(--font-body);color:var(--naef-ink-soft)}.loc-tile.on .area{color:var(--tile-deep)}.loc-tile .meta{font:400 11px/1.5 var(--font-mono);color:var(--naef-ink-mute)}.loc-tile-remote{cursor:default}.loc-tile-remote b{color:var(--naef-ink-soft)}.loc-tile-remote svg{color:var(--naef-ink-mute)}@media (width<=980px){.loc-band-grid{grid-template-columns:1fr 1fr}.loc-tile:nth-child(3){border-left:0}.loc-tile:nth-child(n+3){border-top:1px solid var(--naef-line)}}@media (width<=520px){.loc-band-grid{grid-template-columns:1fr}.loc-tile{border-left:0}.loc-tile+.loc-tile{border-top:1px solid var(--naef-line)}}.hdr{z-index:50;background:color-mix(in srgb, var(--naef-paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--naef-line);position:fixed;top:0;left:0;right:0}.hdr-in{align-items:center;gap:28px;height:72px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand img{border-radius:4px;width:34px;height:34px;display:block}.brand .wm{font:650 20px/1 var(--font-display);letter-spacing:-.02em;color:var(--naef-ink)}.brand .wm .dot{color:var(--region-accent);transition:color .4s}.brand .wm .lt{font-weight:350}.nav{gap:4px;margin-left:12px;display:flex}.nav a{font:500 15px/1 var(--font-body);color:var(--naef-ink-soft);border-radius:var(--radius-pill);padding:10px 14px}.nav a:hover{color:var(--naef-ink);background:var(--naef-cream)}.nav a[aria-current=page]{color:var(--naef-ink);font-weight:600}.nav a[aria-current=page] .navdot{color:var(--region-accent)}.hdr-ctl{align-items:center;gap:12px;margin-left:auto;display:flex}.menu-btn,.nav-backdrop,.nav-extra{display:none}html.menu-open{overflow:hidden}.page{animation:.55s cubic-bezier(.22,.8,.3,1) both pageIn}main.leaving .page{animation:.34s cubic-bezier(.6,0,.8,.4) both pageOut}@keyframes pageIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pageOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-22px)}}.wipe{z-index:60;pointer-events:none;background:var(--region-accent);transform-origin:top;animation:.6s cubic-bezier(.7,0,.25,1) both wipeOut;position:fixed;inset:0}@keyframes wipeOut{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@media (prefers-reduced-motion:reduce){.page,main.leaving .page{animation:none}.wipe{display:none}}html.js .rv{opacity:0;transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1);transform:translateY(24px)}html.js .rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.rv{opacity:1;transition:none;transform:none}}.kicker{font:500 13px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--naef-ink-mute);margin-bottom:14px}.h-display{font:650 clamp(42px, 5vw, 64px)/1.06 var(--font-display);letter-spacing:-.025em}.h1{font:650 clamp(36px, 4vw, 49px)/1.1 var(--font-display);letter-spacing:-.02em}.h2{font:600 clamp(28px, 3vw, 39px)/1.15 var(--font-display);letter-spacing:-.015em}.h3{font:600 24px/1.25 var(--font-display)}.lede{color:var(--naef-ink-soft);font-size:18px;line-height:1.6}.btn{font:600 15px/1 var(--font-body);border-radius:var(--radius-pill);cursor:pointer;border:0;align-items:center;gap:10px;padding:15px 28px;transition:background .2s,box-shadow .2s,transform .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--naef-ink);color:var(--naef-paper)}.btn-primary:hover{background:var(--naef-umber);color:var(--naef-paper)}.btn-secondary{color:var(--naef-ink);box-shadow:inset 0 0 0 1.5px var(--naef-line);background:0 0}.btn-secondary:hover{box-shadow:inset 0 0 0 1.5px var(--naef-ink);color:var(--naef-ink)}.btn-accent{background:var(--region-accent-deep);color:#fff}.btn-accent:hover{color:#fff;filter:brightness(1.08)}.btn-on-dark{background:var(--naef-yellow);color:var(--naef-night)}.btn-on-dark:hover{color:var(--naef-night);background:#f0c520}.tag{font:500 13px/1 var(--font-body);border-radius:var(--radius-pill);background:var(--naef-cream);color:var(--naef-ink-soft);padding:8px 14px;display:inline-block}.tag.accent{background:var(--region-accent-tint);color:var(--region-accent-deep)}.media{border-radius:var(--radius-lg);border:1px solid var(--naef-line);background:var(--naef-cream);position:relative;overflow:hidden}.media img,.media video{object-fit:cover;width:100%;height:100%;display:block}.media figcaption{font:400 11px/1.4 var(--font-mono);color:var(--naef-paper);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2621158c;border-radius:6px;padding:5px 9px;position:absolute;bottom:12px;left:12px}.hero{padding:calc(72px + 64px * var(--density)) 0 calc(56px * var(--density));overflow:hidden}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;display:grid}.dotchain{font:650 clamp(15px, 1.4vw, 18px)/1 var(--font-display);letter-spacing:-.01em;color:var(--naef-ink-soft);flex-wrap:wrap;align-items:baseline;margin-bottom:24px;display:flex}.dotchain .d{color:var(--region-accent);margin:0 3px;font-size:1.25em}.hero .h-display{margin-bottom:22px}.hero .lede{max-width:520px;margin-bottom:34px}.hero-ctas{flex-wrap:wrap;gap:14px;display:flex}.globe-wrap{aspect-ratio:1;max-height:560px;position:relative}.globe-chip{font:500 12.5px/1 var(--font-mono);letter-spacing:.06em;background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-pill);cursor:pointer;color:var(--naef-ink-soft);align-items:center;gap:8px;padding:8px 14px;transition:border-color .2s,color .2s;display:flex}.globe-chip .pip{border-radius:50%;width:8px;height:8px}.globe-chip:hover{border-color:var(--naef-ink-mute)}.globe-chip.active{border-color:var(--naef-ink);color:var(--naef-ink)}.svc-grid{margin-top:calc(48px * var(--density));grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.svc-card{background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-lg);padding:calc(30px * var(--density)) 28px;height:100%;color:inherit;cursor:pointer;flex-direction:column;transition:transform .25s cubic-bezier(.22,.8,.3,1),box-shadow .25s;display:flex}.svc-card:hover{box-shadow:var(--shadow-card);color:inherit;transform:translateY(-4px)}.svc-card .num{font:500 13px/1 var(--font-mono);color:var(--region-accent-deep)}.svc-card h4{font:600 22px/1.25 var(--font-display);margin:14px 0 8px}.svc-card h4 .d{color:var(--region-accent)}.svc-card p{color:var(--naef-ink-soft);flex:1;font-size:14.5px;line-height:1.55}.svc-card .foot{justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.svc-card .link{font:600 14px/1 var(--font-body);color:var(--naef-ink);border-bottom:2px solid var(--region-accent);padding-bottom:3px}.svc-card .dimmed{font:400 11.5px/1.4 var(--font-mono);color:var(--naef-ink-mute)}.svc-card:not(.off) .dimmed{display:none}.svc-card.off{opacity:.55}.svc-row{padding:calc(40px * var(--density)) 0;border-bottom:1px solid var(--naef-line);grid-template-columns:90px 1fr;align-items:start;gap:36px;display:grid}.svc-row:last-child{border-bottom:0}.svc-row .num{font:500 15px/1 var(--font-mono);color:var(--region-accent-deep);padding-top:8px}.svc-row h3{margin-bottom:10px}.svc-row h3 .d{color:var(--region-accent)}.svc-row p{color:var(--naef-ink-soft);max-width:560px;font-size:16px;line-height:1.6}.svc-toggle{font:600 14.5px/1 var(--font-body);color:var(--naef-ink);border:1.5px solid var(--naef-line);border-radius:var(--radius-pill);cursor:pointer;background:0 0;align-items:center;gap:9px;margin-top:18px;padding:12px 20px;transition:border-color .2s,background .2s;display:inline-flex}.svc-toggle:hover{border-color:var(--region-accent-deep);color:var(--naef-ink)}.svc-toggle .chev{color:var(--naef-ink-mute);flex-shrink:0}.svc-crumb-bar{border-bottom:1px solid var(--naef-line);margin-top:72px}.svc-crumb-in{justify-content:space-between;align-items:center;height:64px;display:flex}.svc-crumb{font:500 13px/1 var(--font-mono);letter-spacing:.06em;color:var(--naef-ink-mute)}.svc-crumb a{color:var(--naef-ink-mute)}.svc-crumb a:hover{color:var(--naef-ink)}.svc-crumb .sep{color:var(--region-accent);margin:0 6px}.svc-detail-hero{padding:calc(56px * var(--density)) 0 0}.svc-detail-grid{margin-top:calc(48px * var(--density));grid-template-columns:1fr 380px;align-items:start;gap:56px;display:grid}.svc-detail-media{gap:16px;display:grid}.svc-detail-txt{color:var(--naef-ink-soft);max-width:620px;margin-bottom:22px;font-size:17px;line-height:1.65}.svc-examples{gap:12px;display:grid}.svc-example{background:var(--naef-cream);border-radius:var(--radius-md);gap:4px;padding:14px 16px;display:grid}.svc-example b{font:600 14.5px/1.3 var(--font-body)}.svc-example span{color:var(--naef-ink-soft);font-size:13.5px;line-height:1.5}.svc-video{aspect-ratio:16/10}.svc-code{margin-top:56px}.svc-code pre{background:var(--naef-night);color:var(--naef-on-night);border-radius:var(--radius-lg);font:400 13.5px/1.7 var(--font-mono);padding:28px 32px;overflow-x:auto}.svc-code code{font-family:var(--font-mono)}.svc-detail-cta{border-top:1px solid var(--naef-line);flex-wrap:wrap;gap:14px;margin-top:64px;padding-top:40px;display:flex}.region-grid{margin-top:calc(48px * var(--density));grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.region-card{background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-lg);transition:transform .25s cubic-bezier(.22,.8,.3,1),box-shadow .25s;overflow:hidden}.region-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.region-card .band{height:8px}.region-card .body{padding:26px}.region-card .flag{font:500 11.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-pill);margin-bottom:14px;padding:6px 10px;display:inline-block}.region-card h4{font:600 24px/1.2 var(--font-display);margin-bottom:4px}.region-card .sub{font:500 13px/1.4 var(--font-body);color:var(--naef-ink-mute);margin-bottom:12px}.region-card p{color:var(--naef-ink-soft);min-height:44px;font-size:14.5px;line-height:1.55}.region-card .foot{align-items:center;gap:10px;margin-top:18px;display:flex}.region-card .pick{font:600 13.5px/1 var(--font-body);border:1.5px solid var(--naef-line);border-radius:var(--radius-pill);cursor:pointer;color:var(--naef-ink);background:0 0;padding:10px 16px}.region-card .pick:hover{border-color:var(--naef-ink)}.region-card .pick.on{background:var(--naef-ink);border-color:var(--naef-ink);color:var(--naef-paper)}.proc-grid{margin-top:calc(48px * var(--density));grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.proc-step .pnum{font:650 44px/1 var(--font-display);color:var(--region-accent);margin-bottom:14px}.proc-step h4{font:600 20px/1.2 var(--font-display);margin-bottom:8px}.proc-step h4 .d{color:var(--region-accent)}.proc-step p{color:var(--naef-ink-soft);font-size:14.5px;line-height:1.55}.cta-dark{background:var(--naef-night);color:var(--naef-on-night)}.cta-dark .h1{color:#fff}.cta-dark .lede{color:var(--naef-on-night-soft)}.cta-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;display:flex}.about-grid{grid-template-columns:1fr 380px;align-items:start;gap:64px;display:grid}.about-grid .lede+.lede{margin-top:18px}.stats{margin-top:calc(56px * var(--density));padding-top:calc(40px * var(--density));border-top:1px solid var(--naef-line);grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.stat b{font:650 44px/1 var(--font-display);letter-spacing:-.02em;display:block}.stat b em{color:var(--region-accent);font-style:normal}.stat span{font:400 13px/1.5 var(--font-mono);color:var(--naef-ink-mute);margin-top:8px;display:block}.brands{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.values-grid{margin-top:calc(40px * var(--density));grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.value-card{background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-lg);padding:28px}.value-card h4{font:600 20px/1.2 var(--font-display);margin-bottom:8px}.value-card h4 .d{color:var(--region-accent)}.value-card p{color:var(--naef-ink-soft);font-size:14.5px;line-height:1.55}.client-logos{flex-wrap:wrap;align-items:center;gap:34px 44px;margin-top:28px;display:flex}.client-logos img{object-fit:contain;filter:grayscale();opacity:.62;width:auto;max-width:150px;height:30px;transition:filter .25s,opacity .25s}.client-logos img:hover{filter:none;opacity:1}.work-region-head{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.work-region-head .pip{border-radius:50%;flex-shrink:0;align-self:center;width:10px;height:10px}.work-region-sub{font:400 14px/1.4 var(--font-body);color:var(--naef-ink-mute)}.work-empty{font:400 15px/1.6 var(--font-body);color:var(--naef-ink-mute);margin-top:18px}.work-grid{margin-top:calc(28px * var(--density));grid-template-columns:1fr 1fr;gap:20px;display:grid}.work-card{background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-lg);color:inherit;flex-direction:column;transition:transform .25s cubic-bezier(.22,.8,.3,1),box-shadow .25s;display:flex;overflow:hidden}.work-card:hover{box-shadow:var(--shadow-card);color:inherit;transform:translateY(-4px)}.work-card .media{border:0;border-bottom:1px solid var(--naef-line);border-radius:0}.work-card-body{flex-direction:column;gap:8px;padding:22px 24px 24px;display:flex}.work-card-meta{font:500 12px/1 var(--font-mono);letter-spacing:.06em;color:var(--naef-ink-mute);justify-content:space-between;gap:10px;display:flex}.work-card h3{font:600 20px/1.25 var(--font-display)}.work-card p{color:var(--naef-ink-soft);font-size:14.5px;line-height:1.55}.work-facts{background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-lg);padding:24px 26px}.work-facts-logo{object-fit:contain;width:auto;max-width:170px;height:34px;margin-bottom:6px}.work-facts dl{gap:2px;display:grid}.work-facts dt{font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--naef-ink-mute);margin-top:14px}.work-facts dd{font:400 14.5px/1.5 var(--font-body);color:var(--naef-ink-soft);margin:4px 0 0}@media (width<=720px){.work-grid{grid-template-columns:1fr}.client-logos{gap:26px 32px}.client-logos img{max-width:120px;height:24px}}.contact-grid{margin-top:calc(48px * var(--density));grid-template-columns:1fr 380px;align-items:start;gap:64px;display:grid}.field{gap:8px;margin-bottom:20px;display:grid}.field label{font:500 13.5px/1 var(--font-body)}.field input,.field textarea,.field select{font:400 15px/1.4 var(--font-body);border-radius:var(--radius-md);border:1.5px solid var(--naef-line);background:var(--naef-white);color:var(--naef-ink);outline:none;width:100%;padding:14px 16px;transition:border-color .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--region-accent-deep)}.field select{appearance:none;background:var(--naef-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238B8270' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center / 11px 7px;cursor:pointer;padding-right:44px}.field textarea{resize:vertical;min-height:130px}.field-err{font:500 12.5px/1.4 var(--font-body);color:var(--naef-red-deep);display:none}.field.invalid .field-err{display:block}.field.invalid input,.field.invalid textarea{border-color:var(--naef-red-deep)}.btn-send .plane{flex-shrink:0;transition:transform .2s}.btn-send:hover:not(:disabled) .plane{transform:translate(2px,-2px)}.btn-send.sending .plane{animation:1.1s cubic-bezier(.45,0,.55,1) infinite planeLoop}@keyframes planeLoop{0%{opacity:1;transform:translate(0)}45%{opacity:0;transform:translate(30px,-20px)}50%{opacity:0;transform:translate(-30px,20px)}to{opacity:1;transform:translate(0)}}.btn-send.sent .plane{animation:.5s cubic-bezier(.5,0,.8,.4) both planeOut}@keyframes planeOut{to{opacity:0;transform:translate(70px,-46px)rotate(8deg)}}@media (prefers-reduced-motion:reduce){.btn-send .plane,.btn-send.sending .plane,.btn-send.sent .plane{transition:none;animation:none}}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-mail{font:500 16px/1.4 var(--font-mono);margin-bottom:6px;display:inline-block}.contact-globe{max-width:380px;margin:0 auto}@media (width>=981px){.contact-globe{width:620px;max-width:none;max-height:none;margin:-150px -180px -24px -60px}}.globe-tip{z-index:5;pointer-events:none;border-radius:var(--radius-md);opacity:0;gap:3px;width:max-content;max-width:240px;padding:10px 14px;transition:opacity .25s;display:grid;position:absolute;top:0;left:0}.globe-tip b{font:600 13.5px/1.3 var(--font-body)}.globe-tip span{font:400 12px/1.5 var(--font-body)}.globe-chips-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex;position:relative}.globe-info{background:var(--naef-white);border:1px solid var(--naef-line);border-radius:var(--radius-lg);gap:6px;margin-top:18px;padding:18px 20px;display:grid;position:relative}.globe-info b{font:600 17px/1.3 var(--font-display)}.globe-info span{color:var(--naef-ink-soft);font-size:13.5px;line-height:1.55}.globe-info .meta{font:400 12px/1.6 var(--font-mono);color:var(--naef-ink-mute)}.sent-note{font:500 14.5px/1.4 var(--font-body);color:var(--region-accent-deep);background:var(--region-accent-tint);border-radius:var(--radius-md);align-items:center;gap:10px;margin-top:8px;padding:14px 18px;display:flex}.err-note{font:500 14.5px/1.4 var(--font-body);color:var(--naef-red-deep);background:var(--naef-red-tint);border-radius:var(--radius-md);align-items:center;gap:10px;margin-top:8px;padding:14px 18px;display:flex}.shard-modal{z-index:80;cursor:pointer;justify-content:center;align-items:center;transition:clip-path .65s cubic-bezier(.7,0,.25,1);display:flex;position:fixed;inset:0}.shard-modal-in{text-align:center;cursor:default;opacity:0;max-width:720px;padding:40px;transition:opacity .5s .3s,transform .5s cubic-bezier(.22,.8,.3,1) .3s;transform:translateY(16px)}.shard-modal-in.show{opacity:1;transform:none}.sm-kicker{font:500 13px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}.sm-title{font:650 clamp(52px, 8vw, 96px)/1 var(--font-display);letter-spacing:-.03em;margin-bottom:24px}.sm-body{font:400 19px/1.6 var(--font-body);opacity:.92;max-width:560px;margin:0 auto 36px}.sm-ctas{justify-content:center;align-items:center;gap:16px;display:flex}.sm-btn{font:600 15px/1 var(--font-body);border-radius:var(--radius-pill);cursor:pointer;border:0;padding:15px 28px;display:inline-block}.sm-close-txt{font:500 14px/1 var(--font-body);opacity:.75;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.sm-close{font:300 26px/1 var(--font-body);cursor:pointer;opacity:.8;background:0 0;border:1.5px solid;border-radius:50%;width:48px;height:48px;position:absolute;top:28px;right:32px}.sm-close:hover{opacity:1}@media (prefers-reduced-motion:reduce){.shard-modal{transition:none}.shard-modal-in{opacity:1;transition:none;transform:none}}.bk-overlay{z-index:90;background:#2621158c;justify-content:center;align-items:center;padding:24px;animation:.25s both bkFade;display:flex;position:fixed;inset:0}@keyframes bkFade{0%{opacity:0}to{opacity:1}}.bk-card{background:var(--naef-paper);border-radius:var(--radius-lg);width:640px;max-width:100%;max-height:calc(100vh - 48px);padding:36px 40px 32px;animation:.35s cubic-bezier(.22,.8,.3,1) both bkUp;position:relative;overflow-y:auto;box-shadow:0 24px 80px -16px #26211573}@keyframes bkUp{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:none}}.bk-x{font:300 24px/1 var(--font-body);color:var(--naef-ink-mute);cursor:pointer;background:0 0;border:0;padding:6px;position:absolute;top:18px;right:20px}.bk-x:hover{color:var(--naef-ink)}.bk-title{font:650 28px/1.15 var(--font-display);letter-spacing:-.015em}.bk-title .d{color:var(--region-accent)}.bk-sub{color:var(--naef-ink-soft);margin-top:6px;font-size:14.5px}.bk-progress{border-bottom:1px solid var(--naef-line);gap:6px;margin-top:22px;padding-bottom:16px;display:flex}.bk-step{font:500 12.5px/1 var(--font-body);color:var(--naef-ink-mute);border-radius:var(--radius-pill);background:0 0;border:0;align-items:center;gap:7px;padding:6px 8px;display:flex}.bk-step .bk-dot{width:20px;height:20px;font:600 10.5px/1 var(--font-mono);background:var(--naef-cream);color:var(--naef-ink-mute);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.bk-step.on{color:var(--naef-ink);font-weight:600}.bk-step.on .bk-dot{background:var(--naef-ink);color:var(--naef-paper)}.bk-step.past{color:var(--region-accent-deep);cursor:pointer}.bk-step.past .bk-dot{background:var(--region-accent-tint);color:var(--region-accent-deep)}.bk-step:disabled{cursor:default}.bk-body{min-height:240px;padding:24px 0 8px;animation:.3s cubic-bezier(.22,.8,.3,1) both bkStep}@keyframes bkStep{0%{opacity:0;transform:translateX(calc(24px * var(--dir,1)))}to{opacity:1;transform:none}}.bk-q{font:600 20px/1.25 var(--font-display);margin-bottom:6px}.bk-hint{color:var(--naef-ink-mute);margin-bottom:16px;font-size:13.5px}.bk-chips{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.bk-chip{font:500 14.5px/1 var(--font-body);border-radius:var(--radius-pill);background:var(--naef-white);border:1.5px solid var(--naef-line);color:var(--naef-ink-soft);cursor:pointer;padding:12px 18px;transition:border-color .15s,background .15s,color .15s}.bk-chip:hover{border-color:var(--naef-ink-mute)}.bk-chip.on{background:var(--region-accent-tint);border-color:var(--region-accent-deep);color:var(--region-accent-deep);font-weight:600}.bk-chip.wide{text-align:center;width:100%}.bk-slider-block{margin-top:26px}.bk-slider-head{font:500 14px/1 var(--font-body);justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.bk-slider-head b{font:600 15px/1 var(--font-body);color:var(--region-accent-deep)}.bk-range{width:100%;accent-color:var(--region-accent-deep);cursor:pointer;height:32px}.bk-seg{background:var(--naef-cream);border-radius:var(--radius-pill);margin:10px 0 20px;padding:4px;display:inline-flex}.bk-seg button{font:500 13.5px/1 var(--font-body);border-radius:var(--radius-pill);color:var(--naef-ink-soft);cursor:pointer;background:0 0;border:0;padding:10px 18px}.bk-seg button.on{background:var(--naef-white);color:var(--naef-ink);font-weight:600;box-shadow:0 1px 3px #2621151f}.bk-lbl{font:500 11.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--naef-ink-mute);margin:18px 0 10px}.bk-tz{text-transform:none;letter-spacing:0}.bk-dates{gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.bk-date{border-radius:var(--radius-md);background:var(--naef-white);border:1.5px solid var(--naef-line);cursor:pointer;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:64px;padding:10px 0 8px;transition:border-color .15s;display:flex}.bk-date .wd{font:500 10.5px/1 var(--font-mono);text-transform:uppercase;color:var(--naef-ink-mute)}.bk-date b{font:650 20px/1.1 var(--font-display)}.bk-date .mo{font:400 10.5px/1 var(--font-mono);color:var(--naef-ink-mute)}.bk-date:hover:not(:disabled){border-color:var(--naef-ink-mute)}.bk-date.on{border-color:var(--region-accent-deep);background:var(--region-accent-tint)}.bk-date:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.bk-slots{flex-wrap:wrap;gap:8px;display:flex}.bk-slot{font:500 14px/1 var(--font-mono);border-radius:var(--radius-pill);background:var(--naef-white);border:1.5px solid var(--naef-line);color:var(--naef-ink-soft);cursor:pointer;padding:11px 16px}.bk-slot:hover:not(:disabled){border-color:var(--naef-ink-mute)}.bk-slot.on{background:var(--region-accent-deep);border-color:var(--region-accent-deep);color:#fff}.bk-slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.bk-summary{font:400 13.5px/1.6 var(--font-mono);background:var(--naef-cream);border-radius:var(--radius-md);margin-bottom:20px;padding:12px 16px}.bk-foot{border-top:1px solid var(--naef-line);justify-content:space-between;align-items:center;margin-top:10px;padding-top:18px;display:flex}.bk-done{text-align:center;padding:32px 12px 16px}.bk-done-mark{background:var(--region-accent-tint);width:64px;height:64px;color:var(--region-accent-deep);border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;font-size:26px;display:inline-flex}@media (prefers-reduced-motion:reduce){.bk-overlay,.bk-card,.bk-body{animation:none}}.legal-copy{max-width:720px;margin-right:auto}.legal-copy h2{font:600 20px/1.3 var(--font-display);margin:36px 0 10px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{color:var(--naef-ink-soft);margin-bottom:12px;font-size:15.5px;line-height:1.7}.legal-date{font:400 12.5px/1.5 var(--font-mono);color:var(--naef-ink-mute);margin-top:40px}.ftr{background:var(--naef-night);color:var(--naef-on-night-soft);padding:calc(64px * var(--density)) 0 40px}.ftr-claim{font:650 clamp(28px, 3vw, 40px)/1.2 var(--font-display);color:#fff;letter-spacing:-.015em;margin-bottom:40px}.ftr-claim .d{color:var(--region-accent)}.ftr-grid{border-top:1px solid var(--naef-night-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;padding-top:32px;display:flex}.ftr a{color:var(--naef-on-night-soft)}.ftr a:hover{color:#fff}.ftr .cols{gap:56px;display:flex}.ftr .col{flex-direction:column;gap:10px;font-size:14px;display:flex}.ftr .col b{font:500 11.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#78705c;margin-bottom:4px}.ftr-mail{font:400 13px/1.5 var(--font-mono)}.ftr .legal{font:400 12.5px/1.6 var(--font-mono);color:#78705c;flex-wrap:wrap;gap:24px;margin-top:40px;display:flex}@media (width<=1120px){.hdr-in{gap:16px}.nav{margin-left:0}.nav a{padding:10px;font-size:14px}}@media (width<=980px){.hero-grid,.about-grid,.contact-grid,.svc-detail-grid{grid-template-columns:1fr}.svc-grid,.region-grid,.values-grid,.proc-grid,.stats{grid-template-columns:1fr 1fr}.svc-row{grid-template-columns:60px 1fr}.about-grid .media{max-width:380px}}@media (width<=720px){.hdr{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--naef-paper)}.hdr-in{gap:12px;height:64px}.brand img{width:30px;height:30px}.brand .wm{font-size:19px}.hdr-ctl .rmenu{display:none}.menu-btn{border:1px solid var(--naef-line);cursor:pointer;background:0 0;border-radius:50%;flex-direction:column;justify-content:center;align-items:stretch;gap:6px;width:42px;height:42px;padding:0 9px;transition:border-color .2s;display:flex}.menu-btn:hover{border-color:var(--naef-ink-mute)}.menu-btn .l1,.menu-btn .l2{background:var(--naef-ink);border-radius:2px;height:1.8px;transition:transform .38s cubic-bezier(.34,1.56,.64,1)}.menu-btn .l1{transform-origin:0}html:not(.menu-open) .menu-btn:hover .l1{transform:scaleX(.62)}.menu-btn .l2{transition-delay:40ms}html.menu-open .menu-btn .l1{transform-origin:50%;transform:translateY(3.9px)rotate(45deg)}html.menu-open .menu-btn .l2{transform:translateY(-3.9px)rotate(-45deg)}.nav-backdrop{z-index:1;-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#26211559;transition:opacity .3s;display:block;position:fixed;inset:64px 0 0}html.menu-open .nav-backdrop{opacity:1;pointer-events:auto}.nav{z-index:2;background:var(--naef-paper);border-left:1px solid var(--naef-line);flex-direction:column;align-items:stretch;gap:4px;width:min(78vw,320px);margin:0;padding:20px 20px 24px;transition:transform .3s cubic-bezier(.22,.8,.3,1);display:flex;position:fixed;top:64px;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}html.menu-open .nav{transform:none;box-shadow:-32px 0 80px -32px #26211566}.nav a{padding:14px 12px;font-size:18px}.nav-extra{border-top:1px solid var(--naef-line);margin-top:auto;padding-top:20px;display:block}.rmenu-item{padding:13px 10px}.rmenu-langs{padding:6px 8px 0}.rmenu-langs a{text-align:center;flex:1;padding:11px 0;font-size:12px}@media (prefers-reduced-motion:reduce){.nav,.nav-backdrop,.menu-btn .l1,.menu-btn .l2{transition:none}}.hero{padding-top:calc(64px + 40px * var(--density))}.wrap{padding:0 22px}.svc-grid,.region-grid,.values-grid,.proc-grid,.stats{grid-template-columns:1fr}.svc-crumb-bar{margin-top:64px}.svc-code pre{padding:18px 16px;font-size:12.5px}.ftr .cols{flex-wrap:wrap;gap:28px}}@media (width<=520px){.svc-row{grid-template-columns:1fr;gap:10px}.svc-row .num{padding-top:0}.bk-overlay{padding:10px}.bk-card{max-height:calc(100dvh - 20px);padding:24px 18px 20px}.bk-progress{gap:2px}.bk-step{padding:6px 5px}.bk-step:not(.on) .bk-step-txt{display:none}.bk-foot{flex-wrap:wrap;gap:10px}.h-display{font-size:36px}.lede{font-size:16.5px}.shard-modal-in{padding:28px 20px}.stat b{font-size:36px}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
