:root{--color-paper:oklch(98.5% .004 250);--color-paper-2:oklch(96% .007 250);--color-rule:oklch(88% .01 252);--color-neutral:oklch(52% .016 256);--color-muted:oklch(40% .018 257);--color-ink:oklch(24% .02 258);--color-ink-2:oklch(33% .018 257);--color-accent:oklch(58% .2 256);--color-accent-strong:oklch(47% .185 256);--color-accent-ink:oklch(98.5% .004 250);--color-focus:oklch(55% .2 256);--color-graphite:oklch(22% .016 260);--color-graphite-2:oklch(27% .018 260);--color-band:oklch(20% .016 260);--color-band-ink:oklch(94% .008 250);--color-band-muted:oklch(74% .014 252);--color-rule-dark:oklch(34% .02 258);--color-scrim:oklch(15% .02 258/.85);--color-shadow:oklch(24% .02 258/.08);--font-display:"Space Grotesk", "Space Grotesk Fallback", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", "Inter Fallback", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-display-s:clamp(1.9531rem, 2.5vw + 1rem, 2.8rem);--text-display:clamp(2.5rem, 4.2vw + 1rem, 4.4rem);--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hairline:1px solid var(--color-rule);--radius-btn:6px;--radius-card:10px;--page-gutter:clamp(1rem, 4vw, 4rem);--page-max:72rem;--z-base:1;--z-sticky:200;--z-modal:400}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:optional;src:url(/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:optional;src:url(/fonts/space-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial Bold),local(Arial);size-adjust:105%;ascent-override:93%;descent-override:25%;line-gap-override:0%}@font-face{font-family:Inter Fallback;src:local(Arial);size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}html{scroll-behavior:smooth;overflow-x:clip}body{overflow-x:clip}*{box-sizing:border-box;margin:0}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink-2);background:var(--color-paper);padding-inline:max(0px, env(safe-area-inset-left));line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);overflow-wrap:anywhere;min-width:0;font-style:normal;font-weight:700;line-height:1.12}a{color:inherit}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}::selection{background:var(--color-accent);color:var(--color-accent-ink)}.wrap{max-width:var(--page-max);padding-inline:var(--page-gutter);margin-inline:auto}.mono-tag{font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral);font-weight:500}.nav{z-index:var(--z-sticky);background:color-mix(in oklab, var(--color-paper) 86%, transparent);-webkit-backdrop-filter:blur(10px)saturate(140%);border-bottom:var(--rule-hairline);position:sticky;top:0}.nav__inner{max-width:var(--page-max);padding-inline:var(--page-gutter);align-items:center;gap:var(--space-md);grid-template-columns:1fr auto 1fr;min-height:64px;margin-inline:auto;display:grid}.nav__brand{justify-self:start;align-items:baseline;gap:var(--space-xs);white-space:nowrap;text-decoration:none;display:inline-flex}.nav__brand strong{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.01em;color:var(--color-ink)}.nav__brand .brand-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral);font-size:.75rem;font-weight:500}.nav__brand:hover strong{color:var(--color-accent-strong)}.nav__center{justify-self:center;gap:var(--space-lg);display:flex}.nav__center a{white-space:nowrap;color:var(--color-muted);padding-block:var(--space-2xs);background-image:linear-gradient(var(--color-accent), var(--color-accent));transition:background-size var(--dur-short) var(--ease-out), color var(--dur-micro) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;font-weight:500;text-decoration:none}.nav__center a:hover,.nav__center a[aria-current=page]{color:var(--color-ink);background-size:100% 2px}.nav__right{justify-self:end;align-items:center;gap:var(--space-sm);display:flex}.btn-tel{min-height:44px;padding:var(--space-xs) var(--space-md);background:var(--color-accent-strong);color:var(--color-accent-ink);font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);letter-spacing:.02em;white-space:nowrap;border-radius:var(--radius-btn);transition:background-color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.btn-tel:hover{background:var(--color-accent)}.btn-tel:active{transform:translateY(1px)}.cta-chip{min-height:44px;padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-ink);border-radius:var(--radius-btn);font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.01em;color:var(--color-ink);white-space:nowrap;transition:border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);align-items:center;gap:.45em;text-decoration:none;display:inline-flex}.cta-chip:hover{border-color:var(--color-accent-strong);color:var(--color-accent-strong)}.cta-chip:active{transform:translateY(1px)}.cta-tel{margin-block-start:var(--space-xs)}.cta-tel a{font-family:var(--font-mono);font-weight:500;font-size:var(--text-md);color:var(--color-muted);white-space:nowrap;text-decoration:none}.cta-tel a:hover{color:var(--color-accent-strong)}.cta-mail{font-size:var(--text-sm);color:var(--color-neutral);margin-block-start:var(--space-2xs)}.cta-mail a{text-decoration-color:var(--color-rule);text-underline-offset:.2em}.cta-mail a:hover{color:var(--color-accent-strong);text-decoration-color:var(--color-accent)}.fold{padding-block:var(--space-2xl) var(--space-3xl)}.fold-grid{gap:var(--space-2xl);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;display:grid}.fold h1{font-size:var(--text-display);max-width:16ch;margin-block-start:var(--space-md);line-height:1.05}.fold h1 .hl{color:var(--color-accent-strong)}.fold .lede{max-width:50ch;font-size:var(--text-md);color:var(--color-muted);margin-block-start:var(--space-lg)}.fold .cta-row{margin-block-start:var(--space-xl)}.panel-card{background:var(--color-graphite);border:1px solid var(--color-rule-dark);border-radius:var(--radius-card);box-shadow:0 1px 2px var(--color-shadow);padding:var(--space-lg);transition:border-color var(--dur-short) var(--ease-out)}.panel-card:hover{border-color:var(--color-accent)}.panel-card .panel-head{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-block-end:var(--space-md);display:flex}.panel-card .panel-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-band-muted);font-size:.75rem;font-weight:500}.panel-card .panel-chip{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-paper);background:var(--color-accent-strong);padding:var(--space-2xs) var(--space-xs);white-space:nowrap;border-radius:999px;font-size:.75rem;font-weight:600}.panel-card svg{width:100%;height:auto;display:block}.panel-legend{margin:var(--space-lg) 0 0;counter-reset:pl;gap:var(--space-sm) var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.panel-legend li{counter-increment:pl;font-size:var(--text-sm);color:var(--color-muted);padding-inline-start:2.1rem;position:relative}.panel-legend li:before{content:counter(pl);inset-inline-start:0;background:var(--color-accent-strong);width:1.45rem;height:1.45rem;color:var(--color-accent-ink);font-family:var(--font-mono);border-radius:999px;place-items:center;font-size:.75rem;font-weight:600;line-height:1;display:grid;position:absolute;top:.15em}.panel-legend strong{color:var(--color-ink);font-weight:600}.d-frame{stroke:var(--color-rule-dark);fill:var(--color-graphite-2)}.d-mod{stroke:var(--color-band-muted);fill:var(--color-graphite);stroke-width:1.5px}.d-mod-on{stroke:var(--color-band-ink);fill:var(--color-graphite-2);stroke-width:1.5px}.d-lever{fill:var(--color-band-ink)}.d-lever-acc{fill:var(--color-accent)}.d-line{stroke:var(--color-band-muted);stroke-width:2px;fill:none}.d-bus{stroke:var(--color-accent);stroke-width:3px;fill:none;stroke-dasharray:8 10;animation:2.4s linear infinite current-flow}@keyframes current-flow{to{stroke-dashoffset:-36px}}.d-marker circle{fill:var(--color-accent-strong)}.d-marker text{fill:var(--color-accent-ink);font-family:var(--font-mono);text-anchor:middle;font-size:15px;font-weight:600}.q-head{padding-block:var(--space-3xl) var(--space-xl)}.q-head h2{font-size:var(--text-2xl);max-width:22ch}.q-head .q-note{max-width:56ch;color:var(--color-neutral);margin-block-start:var(--space-sm)}.services{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));padding-block-end:var(--space-xl);display:grid}.services .cell{border:var(--rule-hairline);border-radius:var(--radius-card);padding:var(--space-lg);align-content:start;gap:var(--space-xs);background:var(--color-paper);transition:border-color var(--dur-short) var(--ease-out);display:grid}.services .cell:hover{border-color:var(--color-accent)}.services .cell h3{font-size:var(--text-lg)}.services .cell p{color:var(--color-muted);max-width:48ch}.services .span-2{border-color:var(--color-accent-strong);grid-column:span 2}.services .cell img{border-radius:var(--radius-btn);width:100%;max-width:100%;height:auto;margin-block-end:var(--space-xs);display:block}.compare{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-block-end:var(--space-2xl);display:grid}.compare>div{border-top:2px solid var(--color-ink);padding-block-start:var(--space-lg)}.compare>div:last-child{border-top-color:var(--color-accent-strong)}.compare h3{font-size:var(--text-lg);margin-block-end:var(--space-md)}.compare ul{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.compare li{color:var(--color-muted);max-width:52ch;padding-inline-start:1.4rem;position:relative}.compare li:before{content:"";inset-inline-start:0;background:var(--color-accent);border-radius:2px;width:.55rem;height:.55rem;position:absolute;top:.55em}.compare strong{color:var(--color-ink);font-weight:600}.band{background:var(--color-band);color:var(--color-band-ink);border-block:1px solid var(--color-rule-dark);padding-block:var(--space-2xl) var(--space-3xl)}.band .q-head{padding-block:0 var(--space-xl)}.band h2{color:var(--color-band-ink)}.band .q-note{color:var(--color-band-muted)}.band-grid{gap:var(--space-2xl);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;display:grid}.band figure{margin:0}.band figure svg{width:100%;height:auto;display:block}.flow-legend{counter-reset:fl;gap:var(--space-md);margin:0;padding:0;list-style:none;display:grid}.flow-legend li{counter-increment:fl;color:var(--color-band-muted);max-width:46ch;padding-inline-start:2.4rem;position:relative}.flow-legend li:before{content:counter(fl);inset-inline-start:0;background:var(--color-accent-strong);width:1.65rem;height:1.65rem;color:var(--color-accent-ink);font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);border-radius:999px;place-items:center;line-height:1;display:grid;position:absolute;top:.15em}.flow-legend strong{color:var(--color-band-ink);font-weight:600}.deliver{gap:var(--space-xl);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);padding-block-end:var(--space-2xl);display:grid}.deliver>div{border-top:var(--rule-hairline);padding-block-start:var(--space-lg)}.deliver h3{font-size:var(--text-lg);margin-block-end:var(--space-xs)}.deliver p{color:var(--color-muted);max-width:44ch}.photo-band{gap:var(--space-2xl);grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;padding-block-end:var(--space-2xl);display:grid}.photo-band img{border:var(--rule-hairline);border-radius:var(--radius-card);width:100%;max-width:100%;height:auto;display:block}.photo-band .pb-text h2{font-size:var(--text-xl);max-width:20ch}.photo-band .pb-text p{margin-block:var(--space-md) var(--space-lg);color:var(--color-muted);max-width:48ch}.faq{max-width:52rem;padding-block-end:var(--space-2xl)}.faq details{border-top:var(--rule-hairline)}.faq details:last-of-type{border-bottom:var(--rule-hairline)}.faq summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:var(--space-md);padding-block:var(--space-lg);font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.01em;color:var(--color-ink);transition:color var(--dur-micro) var(--ease-out);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--color-accent-strong)}.faq summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}.faq summary:after{content:"+";font-family:var(--font-mono);font-weight:500;font-size:var(--text-lg);color:var(--color-accent-strong);transition:transform var(--dur-short) var(--ease-out);line-height:1}.faq details[open] summary:after{transform:rotate(45deg)}.faq .answer{color:var(--color-muted);max-width:60ch;padding-block-end:var(--space-lg)}.faq .answer a{text-underline-offset:.2em}.faq .answer a:hover{color:var(--color-accent-strong)}.faq details[open] .answer{animation:faq-in var(--dur-short) var(--ease-out)}@keyframes faq-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.contact-block{padding-block:var(--space-2xl) var(--space-4xl)}.contact-block .tel{font-family:var(--font-display);font-weight:700;font-size:var(--text-display-s);letter-spacing:-.02em;color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.16em;white-space:nowrap;margin-block-start:var(--space-lg);line-height:1.1;text-decoration-thickness:3px;display:inline-block}.contact-block .tel:hover{color:var(--color-accent-strong)}.contact-block .mail{color:var(--color-muted);text-underline-offset:.2em;margin-block-start:var(--space-md);display:inline-block}.contact-block .mail:hover{color:var(--color-accent-strong)}.contact-block .note{color:var(--color-neutral);max-width:48ch;margin-block-start:var(--space-lg)}.contact-block .area{margin-block-start:var(--space-xl)}.foot-line{border-top:var(--rule-hairline);padding-block:var(--space-lg) var(--space-2xl)}.foot-line p{font-family:var(--font-mono);color:var(--color-neutral);max-width:none;font-size:.8125rem;line-height:1.8}.foot-line a{text-decoration-color:var(--color-rule);text-underline-offset:.2em;white-space:nowrap}.foot-line a:hover{color:var(--color-accent-strong)}.page-head{padding-block:var(--space-2xl) var(--space-lg)}.page-title{font-size:var(--text-display-s)}.intro{max-width:54ch;font-size:var(--text-md);color:var(--color-muted)}.gallery{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));margin-block-start:var(--space-xl);display:grid}.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover;border:var(--rule-hairline);border-radius:var(--radius-card);width:100%;max-width:100%;height:auto;transition:border-color var(--dur-short) var(--ease-out);display:block}.gallery figure:hover img{border-color:var(--color-accent)}.gallery figcaption{font-size:var(--text-sm);color:var(--color-neutral);padding-block-start:var(--space-xs)}.gallery .zoom{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.gallery .zoom:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-card)}.lightbox{border:1px solid var(--color-rule-dark);border-radius:var(--radius-card);background:var(--color-graphite);color:var(--color-band-ink);padding:var(--space-md);max-width:min(92vw,64rem);margin:auto}.lightbox::backdrop{background:var(--color-scrim)}.lightbox figure{margin:0}.lightbox img{border-radius:var(--radius-btn);width:auto;max-width:100%;height:auto;max-height:78svh;margin-inline:auto;display:block}.lightbox figcaption{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-band-muted);padding-block-start:var(--space-sm)}.lb-nav{gap:var(--space-sm);justify-content:end;padding-block-start:var(--space-sm);display:flex}.lb-nav button{border:1px solid var(--color-rule-dark);border-radius:var(--radius-btn);background:var(--color-graphite-2);min-width:44px;min-height:44px;color:var(--color-band-ink);font-family:var(--font-mono);font-weight:600;font-size:var(--text-md);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out)}.lb-nav button:hover{border-color:var(--color-accent);color:var(--color-accent)}.lb-nav button:active{transform:translateY(1px)}.lb-nav button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.page-cta{padding-block:var(--space-2xl) var(--space-4xl)}.page-cta .intro{margin-block-end:var(--space-lg)}.empty-state{gap:var(--space-lg);max-width:60ch;padding-block:var(--space-md) var(--space-3xl);justify-items:start;display:grid}.call-bar{display:none}@media (width<=40rem){.call-bar{inset-inline:0;z-index:var(--z-sticky);min-height:52px;padding:var(--space-sm) var(--space-md);background:var(--color-accent-strong);color:var(--color-accent-ink);font-family:var(--font-display);font-weight:700;font-size:var(--text-md);white-space:nowrap;justify-content:center;align-items:center;padding-block-end:max(var(--space-sm), env(safe-area-inset-bottom));line-height:1;text-decoration:none;display:flex;position:fixed;bottom:0}.call-bar:active{background:var(--color-accent)}body{padding-block-end:76px}}html.js .rv{opacity:0;transition:opacity var(--dur-long) var(--ease-out), transform var(--dur-long) var(--ease-out);transform:translateY(10px)}html.js .rv.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.d-bus{animation:none}html.js .rv{opacity:1;transition:none;transform:none}}@media (width<=60rem){.nav__center{display:none}.fold-grid{gap:var(--space-xl);grid-template-columns:1fr}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.services .span-2{grid-column:span 2}.compare,.band-grid{gap:var(--space-xl);grid-template-columns:1fr}.deliver,.photo-band{gap:var(--space-lg);grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=40rem){.nav__right .btn-tel{display:none}.fold{padding-block:var(--space-xl) var(--space-2xl)}.services{grid-template-columns:1fr}.services .span-2{grid-column:auto}.gallery,.panel-legend{grid-template-columns:1fr}.q-head{padding-block:var(--space-2xl) var(--space-lg)}.contact-block .tel{font-size:var(--text-xl)}.cta-chip{font-size:var(--text-base)}}@media (pointer:coarse){.nav__center a,.foot-line a,.cta-mail a{padding-block:var(--space-2xs)}}
