:root {--c-surface:#FFFFFF;--c-surface-alt:#F4F3F0;--c-surface-dark:#191C1B;--c-chassis:#0E100F;--c-accent-field:#2A2E2C;--c-text:#161918;--c-text-muted:#4C5250;--c-text-invert:#F6F5F2;--c-text-invert-muted:#A9B0AD;--c-border:#E2E0DA;--c-border-strong:#8A8A84;--c-border-dark:#333936;--c-accent:#1F4F8A;--c-accent-hover:#17406F;--c-accent-contrast:#FFFFFF;--c-accent-on-dark:#6FA5E0;--c-secondary:#7A4215;--c-focus:#A85C1E;--font-display:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--shell:1320px;--gutter:clamp(1.25rem, 4vw, 3.25rem);--measure:66ch;--band-tight:clamp(2.5rem, 4vw, 3.5rem);--band:clamp(4rem, 7vw, 6.5rem);--band-loose:clamp(5.5rem, 10vw, 9rem)}*, *::before, *::after { box-sizing:border-box; }html { -webkit-text-size-adjust:100%; overflow-x:hidden; overflow-x:clip; }body {margin:0;background:var(--c-surface);color:var(--c-text);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;font-synthesis-weight:none;overflow-x:hidden;overflow-x:clip}.shell { width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:var(--gutter); }.shell--narrow { max-width:980px; }img { max-width:100%; height:auto; display:block; }.skip-link {position:absolute; left:0; top:0; width:1px; height:1px;overflow:hidden; clip-path:inset(50%); white-space:nowrap;background:var(--c-accent); color:var(--c-accent-contrast); padding:0.75rem 1.25rem; z-index:100}.skip-link:focus { width:auto; height:auto; clip-path:none; overflow:visible; }:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {outline:3px solid var(--c-focus);outline-offset:2px;box-shadow:0 0 0 2px var(--c-surface);border-radius:1px}h1, h2, h3, h4 { margin:0; font-family:var(--font-display); text-wrap:balance; }p { margin:0 0 1.1em; max-width:var(--measure); }.small { font-size:0.9375rem; line-height:1.55; }.num { font-family:var(--font-mono); font-variant-numeric:tabular-nums; letter-spacing:0.04em; }.eyebrow {font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.18em;text-transform:uppercase; color:var(--c-text-muted); font-weight:500}.on-dark, .on-dark h1, .on-dark h2, .on-dark h3 { color:var(--c-text-invert); }.on-dark p { color:var(--c-text-invert-muted); }.on-dark .eyebrow { color:var(--c-text-invert-muted); }.btn {display:inline-flex; align-items:center; justify-content:center; gap:0.55rem;font-family:var(--font-display); font-size:1rem; font-weight:620;letter-spacing:-0.006em; padding:1rem 1.7rem;border:1px solid transparent; text-decoration:none; cursor:pointer;min-height:50px;transition:background-color 120ms linear, color 120ms linear, border-color 120ms linear}.btn--primary { background:var(--c-accent); color:var(--c-accent-contrast); }.btn--primary:hover { background:var(--c-accent-hover); }.btn--paper { background:var(--c-surface); color:var(--c-text); }.btn--paper:hover { background:#FFFFFF; }.btn--ghost { background:transparent; color:var(--c-text); border-color:var(--c-border-strong); }.btn--ghost:hover { border-color:var(--c-text); }.on-dark .btn--ghost { color:var(--c-text-invert); border-color:var(--c-border-dark); }.on-dark .btn--ghost:hover { border-color:var(--c-text-invert); }.on-dark .btn--primary { background:var(--c-surface); color:var(--c-text); }.on-dark .btn--primary:hover { background:#FFFFFF; }.phone-link {font-family:var(--font-display); font-weight:660; letter-spacing:-0.025em;color:inherit; text-decoration:none; white-space:nowrap}.phone-link:hover { text-decoration:underline; text-underline-offset:4px; }.mediafield {position:relative;overflow:hidden;isolation:isolate;background-color:var(--mf-ground, var(--c-surface-alt));background-image:repeating-linear-gradient(
135deg, transparent 0 9px, var(--mf-tex, rgba(0,0,0,0.035)) 9px 10px)}.mediafield > img { width:100%; height:100%; object-fit:cover; object-position:var(--mf-focus, 50% 50%); }.mediafield--arc::before {content:""; position:absolute; z-index:0;right:var(--mf-x, -8%); top:var(--mf-y, 50%); transform:translateY(-50%);height:var(--mf-size, 108%); aspect-ratio:1; border-radius:50%;background:var(--mf-mark, rgba(0,0,0,0.07))}.mediafield--arc::after {content:""; position:absolute; z-index:1;left:0; right:0; top:62%; height:1px;background:var(--mf-line, rgba(0,0,0,0.14))}.mediafield--strata::before {content:""; position:absolute; inset:0; z-index:0;background:linear-gradient(var(--mf-mark, rgba(0,0,0,0.07)), var(--mf-mark, rgba(0,0,0,0.07))) 0 100% / 100% 34% no-repeat,linear-gradient(var(--mf-line, rgba(0,0,0,0.12)), var(--mf-line, rgba(0,0,0,0.12))) 0 66% / 100% 1px no-repeat,linear-gradient(var(--mf-line, rgba(0,0,0,0.08)), var(--mf-line, rgba(0,0,0,0.08))) 0 40% / 100% 1px no-repeat}.mediafield--strata::after {content:""; position:absolute; z-index:1;left:var(--mf-bx, 12%); bottom:0; width:clamp(2.5rem, 7vw, 5rem); height:62%;background:var(--mf-mark2, var(--mf-mark, rgba(0,0,0,0.10)))}.mediafield--wedge::before {content:""; position:absolute; inset:0; z-index:0;background:var(--mf-mark, rgba(0,0,0,0.10));clip-path:polygon(100% 0, 100% 100%, 26% 100%)}.mediafield--wedge::after {content:""; position:absolute; z-index:1;left:7%; top:14%; width:30%; aspect-ratio:4 / 5;border:1px solid var(--mf-line, rgba(0,0,0,0.2))}.mediafield--rings::before {content:""; position:absolute; z-index:0;left:var(--mf-x, 62%); top:var(--mf-y, 48%);width:min(62%, 24rem); aspect-ratio:1; transform:translate(-50%, -50%);border:1px solid var(--mf-line, rgba(0,0,0,0.14))}.mediafield--rings::after {content:""; position:absolute; z-index:1;left:var(--mf-bx, 14%); bottom:var(--mf-by, 16%);width:clamp(2.5rem, 7vw, 5rem); aspect-ratio:1;background:var(--mf-mark, rgba(0,0,0,0.10))}.field { display:grid; gap:0.45rem; }.field label { font-family:var(--font-display); font-weight:620; font-size:0.9375rem; letter-spacing:-0.008em; }.field .req { font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; opacity:0.75; }.field input, .field textarea {font:inherit; font-size:1rem; color:var(--c-text);background:var(--c-surface); border:1px solid var(--c-border-strong);border-radius:2px; padding:0.8rem 0.9rem; min-height:50px; width:100%}.field textarea { min-height:118px; resize:vertical; }.field input:focus-visible, .field textarea:focus-visible { border-color:var(--c-text); }.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }.consent { margin:0.25rem 0 0; }.hp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }.sticky-actions { display:none; }@media (max-width:620px) {.sticky-actions {display:grid; grid-template-columns:1fr 1fr;position:fixed; inset:auto 0 0 0; z-index:50;background:var(--c-surface); border-top:1px solid var(--c-border-strong);padding:0.6rem var(--gutter) calc(0.6rem + env(safe-area-inset-bottom));gap:0.6rem}.sticky-actions .btn { width:100%; padding-inline:0.75rem; }body { padding-bottom:calc(7.5rem + env(safe-area-inset-bottom)); }.field-pair { grid-template-columns:minmax(0, 1fr); }}@media (prefers-reduced-motion:reduce) {*, *::before, *::after { transition-duration:1ms !important; animation-duration:1ms !important; }}.mediastrip { position:relative; }.mediastrip__row {display:grid;grid-template-columns:repeat(auto-fit, minmax(min(9.5rem, 100%), 1fr));gap:1px;background:var(--ms-rule, rgba(255,255,255,0.14));border:1px solid var(--ms-rule, rgba(255,255,255,0.14))}.mediastrip__item {background:var(--ms-ground, var(--c-chassis));padding:clamp(1rem, 2vw, 1.5rem) clamp(0.9rem, 1.6vw, 1.25rem);display:flex; flex-direction:column; gap:0.4rem; justify-content:center}.mediastrip__name {font-family:var(--font-display); font-weight:700;font-size:clamp(0.95rem, 1.25vw, 1.15rem); line-height:1.15; letter-spacing:-0.02em;color:var(--ms-name, var(--c-text-invert))}.mediastrip__kind {font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.16em;text-transform:uppercase; color:var(--ms-kind, var(--c-text-invert-muted))}.mediastrip__note {margin:0.9rem 0 0; max-width:78ch;font-size:0.78rem; line-height:1.5; font-style:italic;color:var(--ms-note, var(--c-text-invert-muted)); opacity:0.78}.mediafield--duotone { background-color:var(--duo-dark, #0B1220); }.mediafield--duotone > img {filter:grayscale(1) contrast(1.12) brightness(0.92);mix-blend-mode:luminosity;opacity:0.85}.mediafield--duotone::after {content:""; position:absolute; inset:0; z-index:2; pointer-events:none;background:linear-gradient(180deg, var(--duo-light, #0B6097) 0%, var(--duo-dark, #0B1220) 100%);mix-blend-mode:multiply;opacity:var(--duo-strength, 0.72)}.disclosure {margin-top:2rem; padding-top:1.5rem;border-top:1px solid var(--c-border-dark);font-size:0.76rem; line-height:1.6; max-width:90ch;color:var(--c-text-invert-muted); opacity:0.8}.cimg { position:relative; overflow:hidden; isolation:isolate; background:var(--c-surface-alt); }.cimg > img { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--ci-focus, 50% 30%); }.cimg--duotone { background:var(--duo-dark, #0B1220); }.cimg--duotone > img { filter:grayscale(1) contrast(1.08) brightness(0.96); mix-blend-mode:luminosity; opacity:0.88; }.cimg--duotone::after {content:""; position:absolute; inset:0; z-index:2; pointer-events:none;background:linear-gradient(165deg, var(--duo-light, #0B6097) 0%, var(--duo-dark, #0B1220) 100%);mix-blend-mode:multiply; opacity:var(--duo-strength, 0.62)}.cimg--tint::after {content:""; position:absolute; inset:0; z-index:2; pointer-events:none;background:linear-gradient(180deg, transparent 40%, var(--duo-light, rgba(11,96,151,0.16)) 100%)}a:hover > .cimg > img, .route:hover .cimg > img { transform:scale(1.03); }.cimg > img { transition:transform 620ms cubic-bezier(0.16, 1, 0.3, 1); }@media (max-width:560px) {html .eyebrow,html .marquee__kind,html .mediastrip__kind,html .airing__label,html .sched__label,html .hero__mediatag,html .wordmark__sub,html .svc__portrait-tag,html .station__n,html .field { font-size:0.76rem; }html .area__chip, html .svc__idx, html .stepcard__n { font-size:0.78rem; }}.bg {position:absolute; inset:0; z-index:0;pointer-events:none; overflow:hidden;color:var(--bg-ink, rgba(234, 246, 255, 0.13))}.bg > svg { position:absolute; display:block; }.bg-host { position:relative; }.bg-host > *:not(.bg) { position:relative; z-index:1; }.bg--coastal > svg {left:50%; top:50%;width:max(1600px, 130%); height:auto;transform:translate(-50%, -50%) scale(var(--bg-scale, 1));opacity:var(--bg-opacity, 1)}.bg--horizon > svg {left:var(--bg-x, 58%); top:var(--bg-y, 46%);width:min(180vw, 2200px); height:auto;transform:translate(-50%, -50%) scale(var(--bg-scale, 1));opacity:var(--bg-opacity, 1)}.bg--flight > svg {left:0; top:var(--bg-y, 0);width:100%; height:auto;opacity:var(--bg-opacity, 1)}.bg--flight path { stroke-dasharray:var(--fp-len, 2400); stroke-dashoffset:0; }.bg--contour > svg {left:50%; top:50%;width:max(1500px, 120%); height:auto;transform:translate(-50%, -50%) rotate(var(--bg-rotate, 0deg)) scale(var(--bg-scale, 1));opacity:var(--bg-opacity, 1)}.bg--grid {background-image:linear-gradient(to right, var(--bg-line, rgba(234,246,255,0.045)) 1px, transparent 1px),linear-gradient(to bottom, var(--bg-line, rgba(234,246,255,0.045)) 1px, transparent 1px);background-size:var(--bg-cell, 72px) var(--bg-cell, 72px);mask-image:radial-gradient(ellipse var(--bg-mask, 90% 80%) at var(--bg-mx, 70%) var(--bg-my, 40%), #000 30%, transparent 78%)}.bg--editorial {background:radial-gradient(120% 80% at var(--bg-x, 78%) var(--bg-y, 8%), var(--bg-wash, rgba(11,96,151,0.05)) 0%, transparent 62%),radial-gradient(90% 70% at 8% 96%, var(--bg-wash2, rgba(6,181,210,0.045)) 0%, transparent 60%)}.bleed-down { overflow:visible; }.bleed-down .bg { bottom:calc(-1 * var(--bleed, 8rem)); }.edge-rule { position:relative; }.edge-rule::after {content:""; position:absolute; left:0; right:0; bottom:0; height:2px;background:linear-gradient(90deg, var(--c-secondary) 0%, transparent 62%);transform:scaleX(var(--edge-scale, 1)); transform-origin:left}.fade-to-next { position:relative; }.fade-to-next::after {content:""; position:absolute; left:0; right:0; bottom:0; height:clamp(3rem, 7vw, 6rem);background:linear-gradient(to bottom, transparent, var(--fade-to, var(--c-surface)));pointer-events:none; z-index:2}:root {--mo-dur:620ms;--mo-ease:cubic-bezier(0.16, 1, 0.3, 1);--mo-dist:22px;--mo-stagger:90ms}.js [data-reveal] {opacity:0;transform:translate3d(0, var(--mo-dist), 0);transition:opacity var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease);transition-delay:var(--mo-delay, 0ms);will-change:opacity, transform}.js [data-reveal="left"]  { transform:translate3d(calc(-1 * var(--mo-dist)), 0, 0); }.js [data-reveal="right"] { transform:translate3d(var(--mo-dist), 0, 0); }.js [data-reveal="fade"]  { transform:none; }.js [data-reveal="mask"]  { opacity:1; transform:none; clip-path:inset(0 0 100% 0); transition:clip-path var(--mo-dur) var(--mo-ease); transition-delay:var(--mo-delay, 0ms); }.js [data-reveal].is-in { opacity:1; transform:none; }.js [data-reveal="mask"].is-in { clip-path:inset(0 0 0 0); }.js [data-reveal].is-done { will-change:auto; }.js [data-draw] { transform:scaleX(0); transform-origin:left; transition:transform var(--mo-dur) var(--mo-ease); transition-delay:var(--mo-delay, 0ms); }.js [data-draw].is-in { transform:scaleX(1); }.js [data-draw-path] path { stroke-dashoffset:var(--fp-len, 2400); transition:stroke-dashoffset calc(var(--mo-dur) * 3) var(--mo-ease); }.js [data-draw-path].is-in path { stroke-dashoffset:0; }.js [data-media-reveal] { overflow:hidden; }.js [data-media-reveal] > img,.js [data-media-reveal] > .mediafield,.js [data-media-reveal] > iframe {transform:var(--mo-place, ) scale(1.08);transition:transform calc(var(--mo-dur) * 2.2) var(--mo-ease), opacity var(--mo-dur) var(--mo-ease);opacity:0}.js [data-media-reveal].is-in > img,.js [data-media-reveal].is-in > .mediafield,.js [data-media-reveal].is-in > iframe { transform:var(--mo-place, ) scale(1); opacity:1; }@keyframes mo-drift {0%   { transform:translate3d(0, 0, 0) scale(1.02); }50%  { transform:translate3d(-1.4%, -1%, 0) scale(1.05); }100% { transform:translate3d(0, 0, 0) scale(1.02); }}.js .is-drifting { animation:mo-drift 34s ease-in-out infinite; }.marquee {position:relative;overflow:hidden;--mq-dur:46s;mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%)}.marquee__track {display:flex;width:max-content;animation:mq-scroll var(--mq-dur) linear infinite}@keyframes mq-scroll { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }.marquee:hover .marquee__track,.marquee:focus-within .marquee__track { animation-play-state:paused; }.marquee__cell {flex:none;display:flex; align-items:center; gap:0.85rem;padding:var(--mq-pad, 1.15rem 1.9rem);border-right:1px solid var(--mq-rule, rgba(234,246,255,0.13))}.marquee__logo {height:var(--mq-logo, 30px); width:auto; flex:none;filter:var(--mq-filter, brightness(0) invert(1));opacity:var(--mq-op, 0.72);transition:opacity 220ms ease, filter 220ms ease}.marquee__cell:hover .marquee__logo { opacity:1; }.marquee__name {font-family:var(--font-display); font-weight:700;font-size:0.9rem; letter-spacing:-0.01em; white-space:nowrap;color:var(--mq-name, var(--c-text-invert))}.marquee__kind {font-family:var(--font-mono); font-size:0.58rem; letter-spacing:0.16em;text-transform:uppercase; white-space:nowrap; color:var(--mq-kind, var(--c-text-invert-muted))}.marquee__note {margin:0.9rem 0 0; max-width:78ch;font-size:0.76rem; line-height:1.5; font-style:italic;color:var(--mq-kind, var(--c-text-invert-muted)); opacity:0.72}.slider { position:relative; }.slider__viewport {display:flex; gap:var(--sl-gap, 1rem);overflow-x:auto; scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:0.5rem}.slider__viewport::-webkit-scrollbar { display:none; }.slider__item { flex:0 0 var(--sl-w, min(30rem, 82%)); scroll-snap-align:start; }.slider__nav { display:flex; gap:0.6rem; margin-top:clamp(1.25rem, 2.5vw, 1.85rem); }.slider__btn {width:3rem; height:3rem; border-radius:50%;border:1px solid var(--sl-rule, currentColor);background:transparent; color:inherit;display:grid; place-items:center; cursor:pointer;font-size:1.05rem; line-height:1;transition:background-color 200ms ease, color 200ms ease, border-color 200ms ease}.slider__btn:hover:not(:disabled) { background:var(--sl-hover, var(--c-secondary)); border-color:var(--sl-hover, var(--c-secondary)); color:var(--sl-hover-ink, var(--c-chassis)); }.slider__btn:disabled { opacity:0.32; cursor:default; }.slider__nav:empty { display:none; }.masthead__nav a { position:relative; }.masthead__nav a::after {content:""; position:absolute; left:0; right:0; bottom:0.15rem; height:1px;background:currentColor; transform:scaleX(0); transform-origin:right;transition:transform 260ms var(--mo-ease)}.masthead__nav a:hover::after, .masthead__nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }.btn { position:relative; overflow:hidden; isolation:isolate; }.btn::before {content:""; position:absolute; inset:0; z-index:-1;background:var(--btn-wipe, rgba(255,255,255,0.14));transform:scaleX(0); transform-origin:left;transition:transform 320ms var(--mo-ease)}.btn:hover::before { transform:scaleX(1); }.btn { transition:background-color 200ms linear, color 200ms linear, border-color 200ms linear, transform 200ms var(--mo-ease); }.btn:hover { transform:translateY(-1px); }.btn:active { transform:translateY(0); }.route, .svccol__row, .idx__row, .sched__row {transition:background-color 240ms ease, padding-left 260ms var(--mo-ease)}.route__go, .sit__link span, .slider__btn { transition:transform 260ms var(--mo-ease), background-color 200ms ease, border-color 200ms ease, color 200ms ease; }.route:hover .route__go, .sit__link:hover span { transform:translateX(4px); }.mediafield, .marquee__cell { transition:transform 420ms var(--mo-ease); }@media (prefers-reduced-motion:reduce) {.js [data-reveal],.js [data-reveal="left"],.js [data-reveal="right"],.js [data-reveal="mask"] {opacity:1 !important; transform:none !important; clip-path:none !important;transition:none !important}.js [data-draw] { transform:none !important; transition:none !important; }.js [data-draw-path] path { stroke-dashoffset:0 !important; transition:none !important; }.js [data-media-reveal] > img,.js [data-media-reveal] > .mediafield,.js [data-media-reveal] > iframe { transform:var(--mo-place, none) !important; opacity:1 !important; transition:none !important; }.js .is-drifting { animation:none !important; }.marquee__track { animation:none !important; width:auto; }.marquee { mask-image:none; overflow-x:auto; }.slider__viewport { scroll-behavior:auto; }.btn:hover { transform:none; }.btn::before { transition:none; }.route:hover .route__go, .sit__link:hover span { transform:none; }}@media (prefers-reduced-motion:reduce) {.rail__track { animation:none !important; width:auto; }.rail {overflow-x:auto;-webkit-mask-image:none; mask-image:none}.rail__cell { transition:none !important; }.sem, .svcrow, .btn, .lib__row { transition:none !important; }.sem:hover, .svcrow:hover, .btn:hover { transform:none !important; }.svcrow__arrow, .sem__go span { transition:none !important; }}.fsurface {position:relative;background:var(--fs-tint, rgba(255, 255, 255, 0.72));-webkit-backdrop-filter:blur(var(--fs-blur, 20px)) saturate(var(--fs-sat, 1.35));backdrop-filter:blur(var(--fs-blur, 20px)) saturate(var(--fs-sat, 1.35));border:1px solid var(--fs-edge, rgba(255, 255, 255, 0.66));border-radius:var(--fs-radius, 3px);box-shadow:var(--fs-shadow, 0 10px 34px rgba(11, 34, 64, 0.13))}.fsurface::before {content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;background:linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 42%);opacity:var(--fs-sheen, 0.85)}.fsurface > * { position:relative; z-index:1; }@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))) {.fsurface { background:var(--fs-tint-fallback, rgba(255, 255, 255, 0.95)); }}@font-face { font-family:"Archivo"; src:url("../media/archivo-var-latin.woff2") format("woff2"); font-weight:100 900; font-stretch:62% 125%; font-display:swap; }@font-face { font-family:"Instrument Sans"; src:url("../media/instrument-sans-var-latin.woff2") format("woff2"); font-weight:400 700; font-stretch:75% 100%; font-display:swap; }:root {--c-surface:#FFFFFF;--c-surface-alt:#F4F2EE;--c-surface-dark:#15171A;--c-chassis:#0F1113;--c-accent-field:#C8161D;--c-text:#15171A;--c-text-muted:#555B62;--c-text-invert:#F7F5F1;--c-text-invert-muted:#AEB4BA;--c-border:#DCDFE2;--c-border-strong:#7C838A;--c-border-dark:#33373D;--c-accent:#C8161D;--c-accent-hover:#A3141A;--c-accent-contrast:#FFFFFF;--c-accent-on-dark:#F0373C;--c-secondary:#8A9097;--c-focus:#C8161D;--mist:#ECEEF0;--steel:#8A9097;--graphite:#2B2E33;--stone:#EAE6DF;--font-display:"Archivo", ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif;--font-body:"Instrument Sans", ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif;--wide:118%;--shell:1320px;--mo-dur:760ms;--mo-dist:26px;--mo-stagger:110ms}body { font-size:1.0625rem; line-height:1.62; }.field .req { font-size:0.72rem; }.os-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }h1, h2, h3 { font-stretch:var(--wide); color:var(--c-text); }.kicker {max-width:none; display:flex; align-items:center; gap:0.75rem; margin:0 0 1.25rem;font-family:var(--font-display); font-stretch:125%; font-weight:620;font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-text-muted)}.kicker__tick { flex:none; width:30px; height:2px; background:var(--c-accent); }.kicker--dark { color:var(--c-text-invert-muted); }.h2 { font-size:clamp(2rem, 3.7vw, 3.4rem); line-height:1.02; font-weight:680; letter-spacing:-0.035em; }.h2--sm { font-size:clamp(1.75rem, 2.8vw, 2.6rem); }.btn { border-radius:0; font-family:var(--font-display); font-stretch:108%; font-weight:620; letter-spacing:0; }.btn--lg { padding:1.1rem 1.75rem; min-height:56px; }.btn--primary { --btn-wipe:rgba(0,0,0,0.16); }.btn--line { background:transparent; color:var(--c-text); border-color:var(--c-text); --btn-wipe:var(--c-text); }.btn--line:hover { color:#fff; }.btn__arrow { position:relative; width:18px; height:2px; background:currentColor; transition:transform 260ms var(--mo-ease); }.btn__arrow::after { content:""; position:absolute; right:0; top:-4px; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); }.btn:hover .btn__arrow { transform:translateX(4px); }.on-dark .btn--primary, .est .btn--primary { background:var(--c-accent); color:#fff; }.on-dark .btn--primary:hover, .est .btn--primary:hover { background:var(--c-accent-hover); }.textlink { display:inline-flex; align-items:center; gap:0.6rem; font-family:var(--font-display); font-stretch:108%; font-weight:620; color:var(--c-text); text-decoration:none; border-bottom:2px solid var(--c-accent); padding-bottom:0.2rem; }.textlink::after { content:"\2192"; transition:transform 260ms var(--mo-ease); }.textlink:hover::after { transform:translateX(4px); }.head { position:sticky; top:0; z-index:60; padding:0.7rem 0; transition:padding 220ms var(--mo-ease); }.head.is-scrolled { padding:0.35rem 0; }.head__inner {display:flex; align-items:center; gap:2rem; min-height:72px;padding-inline:clamp(1rem, 2vw, 1.6rem);--fs-tint:rgba(255,255,255,0.72); --fs-tint-fallback:rgba(255,255,255,0.96);--fs-blur:20px; --fs-edge:rgba(255,255,255,0.8); --fs-radius:2px;--fs-shadow:0 10px 34px rgba(21,23,26,0.10); --fs-sheen:0.7;transition:box-shadow 220ms ease}.head.is-scrolled .head__inner { --fs-shadow:0 14px 40px rgba(21,23,26,0.16); }.head__brand { flex:none; display:block; }.head__logo { height:46px; width:auto; }.nav { margin-left:auto; }.nav__list { display:flex; gap:1.7rem; list-style:none; margin:0; padding:0; }.nav__list a, .masthead__nav a { position:relative; color:var(--c-text); text-decoration:none; font-size:0.94rem; font-weight:520; padding:0.4rem 0; }.nav__list a::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--c-accent); transform:scaleX(0); transform-origin:right; transition:transform 260ms var(--mo-ease); }.nav__list a:hover::after, .nav__list a:focus-visible::after { transform:scaleX(1); transform-origin:left; }.head__actions { display:flex; align-items:center; gap:1.25rem; }.head__phone { color:var(--c-text); text-decoration:none; font-family:var(--font-display); font-stretch:108%; font-weight:640; white-space:nowrap; }.head__phone:hover { color:var(--c-accent); }.head__cta { min-height:46px; padding:0.7rem 1.2rem; font-size:0.94rem; }.hero { position:relative; background:var(--c-surface-alt); padding:clamp(2.5rem, 5vw, 4.75rem) 0 0; isolation:isolate; }.hero__grid-bg {position:absolute; inset:0; z-index:-1; pointer-events:none;background-image:linear-gradient(rgba(21,23,26,0.13) 1px, transparent 1px),linear-gradient(90deg, rgba(21,23,26,0.13) 1px, transparent 1px),linear-gradient(rgba(21,23,26,0.07) 1px, transparent 1px),linear-gradient(90deg, rgba(21,23,26,0.07) 1px, transparent 1px);background-size:112px 112px, 112px 112px, 28px 28px, 28px 28px;background-position:-1px -1px;mask-image:radial-gradient(ellipse 88% 95% at 64% 42%, #000 42%, transparent 92%)}.hero__inner { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:clamp(2rem, 4.5vw, 4.5rem); align-items:center; }.hero__copy { padding-bottom:clamp(2rem, 6vw, 6rem); }.hero__title { font-size:clamp(2.2rem, 3.9vw, 3.9rem); line-height:0.98; font-weight:720; letter-spacing:-0.042em; font-stretch:116%; }.hero__title em { font-style:normal; color:var(--c-accent); }.hero__promise {margin:1.15rem 0 0; max-width:30ch; text-wrap:balance;font-family:var(--font-display); font-stretch:108%; font-weight:560;font-size:clamp(1.1rem, 1.5vw, 1.45rem); line-height:1.15; letter-spacing:-0.02em; color:var(--c-text)}.dot { color:var(--c-accent); }.hero__lede { margin:1.25rem 0 0; font-size:clamp(1.05rem, 1.25vw, 1.2rem); color:var(--c-text-muted); max-width:44ch; }.hero__actions { display:flex; flex-wrap:wrap; gap:0.85rem; margin-top:2rem; }.hero__call { margin:1.25rem 0 0; font-size:0.97rem; color:var(--c-text-muted); }.hero__call a { color:var(--c-text); font-weight:650; text-underline-offset:4px; text-decoration-color:var(--c-accent); }.hero__stage { position:relative; align-self:stretch; min-height:100%;--bleed:calc(max(0px, (100vw - var(--shell)) / 2) + var(--gutter));margin-right:calc(-1 * var(--bleed)); }.hero__photo {position:relative; margin-left:9%; aspect-ratio:1044 / 896;clip-path:polygon(24% 0, 100% 0, 100% 100%, 0 100%, 0 40%)}.hero__photo img { width:100%; height:100%; object-fit:cover; }.hero__cut {position:absolute; left:9%; top:0; width:91%; aspect-ratio:1044 / 896; z-index:2; pointer-events:none;background:var(--c-accent);clip-path:polygon(19.2% 0, 21.3% 0, 0 35.4%, 0 32%);transform:translate(-14px, -12px)}.hero__line { display:block; overflow:hidden; padding-bottom:0.1em; margin-bottom:-0.1em; }.hero__line > span { display:block; }.js .hero__line[data-reveal] { opacity:1; transform:none; }.js .hero__line[data-reveal] > span { transform:translate3d(0, 108%, 0); transition:transform 980ms var(--mo-ease); transition-delay:var(--mo-delay, 0ms); }.js .hero__line[data-reveal].is-in > span { transform:none; }.hero__rise { position:relative; }.js .hero__rise[data-reveal] { opacity:1; transform:none; }.js .hero__rise[data-reveal] .hero__mask { clip-path:inset(100% 0 0 0); transition:clip-path 1300ms var(--mo-ease) 380ms; }.js .hero__rise[data-reveal].is-in .hero__mask { clip-path:inset(0 0 0 0); }.js .hero__rise[data-reveal] img { transform:scale(1.08); transition:transform 1900ms var(--mo-ease) 380ms; }.js .hero__rise[data-reveal].is-in img { transform:scale(1); }.js .hero__cut { clip-path:polygon(19.2% 0, 21.3% 0, 21.3% 0, 19.2% 0); transition:clip-path 1100ms var(--mo-ease) 1150ms; }.js .hero__rise.is-in ~ .hero__cut { clip-path:polygon(19.2% 0, 21.3% 0, 0 35.4%, 0 32%); }.hero__ba {position:absolute; left:0; bottom:-18%; width:42%; z-index:4; padding:0.7rem 0.7rem 0.8rem;--fs-tint:rgba(255,255,255,0.74); --fs-tint-fallback:rgba(255,255,255,0.97);--fs-blur:22px; --fs-edge:rgba(255,255,255,0.9); --fs-radius:2px;--fs-shadow:0 40px 70px -34px rgba(21,23,26,0.55); --fs-sheen:0.55}.js .hero__ba[data-reveal] { transition-delay:900ms; }.ba__head, .box__head {display:flex; align-items:baseline; gap:0.75rem; margin:0.15rem 0 0.65rem; max-width:none;font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.72rem;letter-spacing:0.18em; text-transform:uppercase; line-height:1.3; color:var(--c-text)}.ba__tag { flex:none; color:var(--c-accent); }.hero__ba .cmp__tag { top:10px; padding:0.32rem 0.55rem; }.hero__ba .cmp__tag--before { left:10px; }.hero__ba .cmp__tag--after { right:10px; }.hero__ba .cmp__knob { width:42px; height:42px; }.hero__ba .cmp__stage { aspect-ratio:1 / 1; }.hero__ba .cmp.is-live .cmp__after { height:100%; }.hero__foot {display:flex; align-items:center; justify-content:space-between; gap:2rem;margin-top:clamp(7.5rem, 13vw, 11rem); padding-block:1.15rem 1.35rem; border-top:1px solid rgba(21,23,26,0.18)}.hero__foot .pillars { padding:0; }.pillars--bar { gap:1.6rem; }.hero__scroll {display:flex; align-items:center; gap:0.8rem; margin:0; max-width:none;font-family:var(--font-display); font-stretch:125%; font-weight:620; font-size:0.72rem;letter-spacing:0.26em; text-transform:uppercase; color:var(--c-text-muted)}.hero__scroll-line { display:block; width:56px; height:2px; background:linear-gradient(90deg, var(--c-accent), transparent); }.edge {position:absolute; left:0; right:0; top:0; height:56px; z-index:-1; pointer-events:none;background:var(--edge-bg, #fff); clip-path:polygon(0 0, 60% 0, 71% 100%, 0 100%)}.edge::before { content:""; position:absolute; left:0; top:0; width:clamp(90px, 12vw, 190px); height:3px; background:var(--c-accent); }.edge::after { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:var(--edge-rule, rgba(21,23,26,0.14)); }.edge--from-white { --edge-bg:#FFFFFF; }.edge--from-alt { --edge-bg:var(--c-surface-alt); }.edge--from-stone { --edge-bg:var(--stone); }.hero__chip {position:absolute; right:calc(var(--bleed, 0px) + 1.25rem); bottom:1.25rem; z-index:4; margin:0;display:flex; align-items:center; gap:0.9rem; padding:0.6rem 1rem; max-width:none;--fs-tint:rgba(255,255,255,0.62); --fs-tint-fallback:rgba(255,255,255,0.94);--fs-blur:16px; --fs-edge:rgba(255,255,255,0.7); --fs-radius:2px; --fs-shadow:0 8px 26px rgba(21,23,26,0.22); --fs-sheen:0.6;font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-text)}.hero__chip-n { color:var(--c-accent); }.pillars { display:flex; align-items:center; gap:1rem; margin:0; padding:clamp(5.5rem, 10vw, 8rem) 0 1.4rem; font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.78rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--c-text); max-width:none; }.pillar-sep { width:7px; height:7px; background:var(--c-accent); transform:rotate(45deg); }.pillars--small { padding:0; font-size:0.72rem; color:var(--c-text-muted); }.tex { position:relative; isolation:isolate; }.hero::after, .svc::after, .area::after {content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;background-image:url("../media/tex-concrete-640.webp");background-size:cover; background-position:center;mix-blend-mode:multiply; opacity:0.16}.svc, .area { position:relative; isolation:isolate; }.hero__ghost {position:absolute; z-index:-1; left:20%; top:4%; width:30%; height:104%;background:linear-gradient(180deg, rgba(21,23,26,0.085), rgba(21,23,26,0));clip-path:polygon(46% 0, 100% 74%, 58% 100%, 0 26%);pointer-events:none}.corner-ticks {position:absolute; z-index:-1; left:var(--gutter); top:2.5rem; width:72px; height:72px;border-left:1px solid rgba(21,23,26,0.4); border-top:1px solid rgba(21,23,26,0.4);pointer-events:none}.corner-ticks::after {content:""; position:absolute; left:10px; top:10px; width:10px; height:10px;border-left:1px solid var(--c-accent); border-top:1px solid var(--c-accent)}.work { position:relative; isolation:isolate; overflow:hidden; }.work__field {position:absolute; z-index:-1; right:0; top:0; width:min(52%, 720px); height:62%;background-image:repeating-linear-gradient(-45deg, rgba(21,23,26,0.10) 0 1px, transparent 1px 10px);clip-path:polygon(28% 0, 100% 0, 100% 100%, 0 100%);mask-image:linear-gradient(200deg, #000 30%, transparent 85%);pointer-events:none}.work__rule {position:absolute; z-index:-1; left:0; right:0; top:0; height:1px;background:repeating-linear-gradient(90deg, rgba(21,23,26,0.34) 0 1px, transparent 1px 9px);pointer-events:none}.svc__guides {position:absolute; inset:0; z-index:-1; display:grid; grid-template-columns:repeat(3, 1fr);max-width:var(--shell); margin-inline:auto; padding-inline:var(--gutter); pointer-events:none}.svc__guides span { border-right:1px solid rgba(21,23,26,0.10); }.svc__chevrons {position:absolute; z-index:-1; right:-6%; top:8%; width:min(44%, 560px); aspect-ratio:1;background:linear-gradient(135deg, transparent calc(50% - 1.5px), rgba(21,23,26,0.18) 50%, transparent calc(50% + 1.5px)) 0 0 / 33% 33%,linear-gradient(135deg, transparent calc(50% - 1.5px), rgba(21,23,26,0.13) 50%, transparent calc(50% + 1.5px)) 0 0 / 66% 66%,linear-gradient(135deg, transparent calc(50% - 1.5px), rgba(200,22,29,0.30) 50%, transparent calc(50% + 1.5px)) 0 0 / 100% 100%;background-repeat:no-repeat;mask-image:radial-gradient(circle at 70% 30%, #000 20%, transparent 78%);pointer-events:none}.faq { position:relative; isolation:isolate; }.faq__hatch {position:absolute; z-index:-1; left:0; bottom:0; width:min(46%, 620px); height:84%;background-image:repeating-linear-gradient(72deg, rgba(21,23,26,0.10) 0 1px, transparent 1px 13px);mask-image:linear-gradient(20deg, #000 30%, transparent 86%);pointer-events:none}.strip { background:#fff; border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); }.strip__list { list-style:none; margin:0 auto; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); }.strip__list li { display:grid; gap:0.35rem; padding:1.6rem 1.5rem; border-left:1px solid var(--c-border); }.strip__list li:first-child { border-left:0; padding-left:0; }.strip__k { font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-text-muted); }.strip__v { font-family:var(--font-display); font-stretch:108%; font-weight:640; font-size:1.04rem; line-height:1.3; }.tf { position:relative; isolation:isolate; padding:calc(var(--band) + 1.5rem) 0 var(--band-loose); background:var(--stone); color:var(--c-text); overflow:clip; }.tf::before {content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;background-image:url("../media/tex-concrete-640.webp"); background-size:cover; background-position:center;mix-blend-mode:multiply; opacity:0.14}.tf__ruler {position:absolute; z-index:-1; left:clamp(0.6rem, 1.5vw, 1.4rem); top:7rem; bottom:4rem; width:14px; pointer-events:none;background:repeating-linear-gradient(180deg, rgba(21,23,26,0.24) 0 1px, transparent 1px 22px);mask-image:linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent)}.tf__head { display:grid; gap:0; margin-bottom:clamp(2rem, 4vw, 3rem); }.tf__title { max-width:18ch; }.tag { position:absolute; top:14px; z-index:2; padding:0.4rem 0.7rem; font-family:var(--font-display); font-stretch:125%; font-weight:660; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; background:rgba(21,23,26,0.86); color:#fff; left:14px; }.tag--red { background:var(--c-accent); left:auto; right:14px; }.scrub__grid { display:grid; grid-template-columns:minmax(0, 9fr) minmax(0, 3.4fr); gap:clamp(1.5rem, 3vw, 3rem); align-items:end; }.scrub__fig { position:relative; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:6px; }.scrub__pane { position:relative; overflow:hidden; background:var(--mist); }.scrub__pane img { width:100%; height:100%; object-fit:cover; display:block; }.scrub__edge, .scrub__meter, .scrub__hint { display:none; }.scrub__n { margin:0 0 0.8rem; max-width:none; font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-accent); }.scrub__n span { color:var(--c-text-muted); margin-left:0.5rem; }.scrub__title { font-size:clamp(1.7rem, 2.6vw, 2.4rem); line-height:1.05; letter-spacing:-0.03em; font-weight:700; margin-bottom:0.9rem; }.scrub__notes p { color:var(--c-text-muted); }.scrub__notes { padding-bottom:0.5rem; }.scrub.is-scrub { height:230vh; }.scrub.is-scrub .scrub__sticky { position:sticky; top:96px; height:calc(100vh - 96px); display:flex; align-items:center; }.scrub.is-scrub .scrub__sticky > .shell { width:100%; }.scrub.is-scrub .scrub__fig { display:block; aspect-ratio:1044 / 896; max-height:calc(100vh - 150px); max-width:min(100%, calc((100vh - 150px) * 1.165)); overflow:hidden; }.scrub.is-scrub .scrub__pane { position:absolute; inset:0; }.scrub.is-scrub { --r:clamp(0, calc((var(--p, 0) - 0.12) / 0.7), 1); }.scrub.is-scrub .scrub__pane--after { clip-path:inset(0 calc((1 - var(--r)) * 100%) 0 0); }.scrub.is-scrub .scrub__pane--after .tag--red { left:14px; right:auto; }.scrub.is-scrub .scrub__pane--before .tag { left:auto; right:14px; }.scrub.is-scrub .scrub__edge { display:block; position:absolute; top:0; bottom:0; left:calc(var(--r) * 100%); width:3px; margin-left:-1.5px; background:var(--c-accent); z-index:3; box-shadow:0 0 0 1px rgba(0,0,0,0.25); }.scrub.is-scrub .scrub__pane--before img { transform:scale(calc(1.06 - var(--r) * 0.06)); }.scrub.is-scrub .scrub__meter { display:block; position:relative; height:1px; background:rgba(21,23,26,0.22); margin:1.6rem 0 0.8rem; }.scrub.is-scrub .scrub__meter-fill { position:absolute; left:0; top:-1px; height:3px; width:calc(var(--r) * 100%); background:var(--c-accent); }.scrub.is-scrub .scrub__hint { display:block; margin:0; font-family:var(--font-display); font-stretch:125%; font-weight:620; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-text-muted); }.gal { margin-top:clamp(3.5rem, 7vw, 6rem); }.gal__group + .gal__group { margin-top:clamp(3rem, 6vw, 5rem); }.gal__bar { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:0 0 1rem; margin-bottom:clamp(1.5rem, 3vw, 2.25rem); border-bottom:1px solid rgba(21,23,26,0.18); }.gal__k { display:flex; align-items:center; gap:0.9rem; margin:0; max-width:none; font-family:var(--font-display); font-stretch:125%; font-weight:660; font-size:0.8rem; letter-spacing:0.26em; text-transform:uppercase; color:var(--c-text); }.gal__hint { margin:0; max-width:none; font-size:0.9rem; color:var(--c-text-muted); }.gal__grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(1.5rem, 3vw, 2.5rem); }.box { position:relative; padding:0.8rem 0.8rem 1.1rem; background:#FFFFFF; border:1px solid var(--c-border); box-shadow:0 34px 64px -46px rgba(21,23,26,0.5); }.box::before { content:""; position:absolute; left:-1px; top:-1px; width:64px; height:3px; background:var(--c-accent); }.box__head { color:var(--c-text); align-items:flex-start; min-height:calc(2 * 1.3 * 0.72rem); }.box__n { flex:none; color:var(--c-accent); }.box__label { flex:1 1 auto; }.box__svc { flex:none; color:var(--c-text-muted); font-weight:600; letter-spacing:0.12em; }.box .cmp__stage { aspect-ratio:4 / 3; }.box .cmp__stage img { object-fit:cover; }.box__sum { margin:0.9rem 0.2rem 0; font-size:0.95rem; color:var(--c-text-muted); max-width:58ch; }.gal__foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.25rem; margin-top:clamp(2.5rem, 5vw, 4rem); padding-top:1.6rem; border-top:1px solid rgba(21,23,26,0.14); }.gal__foot p { margin:0; font-family:var(--font-display); font-stretch:108%; font-weight:560; font-size:1.12rem; color:var(--c-text); }.box .cmp.is-live .cmp__after { height:100%; }.cmp { margin:0; }.cmp__stage { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:6px; }.cmp__after, .cmp__before { position:relative; overflow:hidden; background:var(--mist); }.cmp__before { order:-1; }.cmp__stage img { display:block; width:100%; height:100%; object-fit:cover; }.cmp__range, .cmp__handle { display:none; }.cmp__tag {position:absolute; top:14px; z-index:2; padding:0.4rem 0.7rem;font-family:var(--font-display); font-stretch:125%; font-weight:660; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase;background:rgba(21,23,26,0.86); color:#fff}.cmp__tag--before { left:14px; }.cmp__tag--after { right:14px; background:var(--c-accent); }.cmp.is-live .cmp__stage { display:block; overflow:hidden; touch-action:pan-y; cursor:ew-resize; user-select:none; -webkit-user-select:none; }.cmp.is-live .cmp__before { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--pos, 50%)) 0 0); }.cmp.is-live .cmp__stage img { pointer-events:none; -webkit-user-drag:none; }.cmp.is-live .cmp__range { display:block; position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; pointer-events:none; }.cmp.is-live .cmp__handle { display:block; position:absolute; top:0; bottom:0; left:var(--pos, 50%); width:2px; margin-left:-1px; background:#fff; z-index:3; box-shadow:0 0 0 1px rgba(21,23,26,0.12); }.cmp__knob {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);width:52px; height:52px; display:grid; place-items:center;background:#fff; color:var(--c-text); border-radius:50%;box-shadow:0 10px 30px -10px rgba(21,23,26,0.55);transition:transform 220ms var(--mo-ease), background-color 200ms ease, color 200ms ease}.cmp.is-live .cmp__stage:hover .cmp__knob, .cmp.is-dragging .cmp__knob { background:var(--c-accent); color:#fff; transform:translate(-50%, -50%) scale(1.06); }.cmp__range:focus-visible + .cmp__handle .cmp__knob { outline:3px solid var(--c-focus); outline-offset:3px; background:var(--c-accent); color:#fff; }.cmp__cap { display:flex; justify-content:space-between; gap:1rem; margin-top:0.9rem; font-size:0.9rem; color:var(--c-text-muted); }.cmp__label { font-weight:600; color:var(--c-text); }.cmp__hint { display:none; }.cmp.is-live .cmp__hint { display:inline; }.cmp__hint::before { content:"\2194\00a0"; color:var(--c-accent); }.svc { position:relative; padding:var(--band-loose) 0; background:var(--c-surface-alt); }.svc__head { margin-bottom:clamp(2.25rem, 4vw, 3.5rem); }.svc__head .h2 { max-width:16ch; }.sw { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); gap:clamp(2rem, 5vw, 5rem); align-items:start; }.sw__list { list-style:none; margin:0; padding:0; border-bottom:1px solid var(--c-border-strong); }.sw__row {position:relative; display:grid; grid-template-columns:3.2rem minmax(0, 1fr) 5rem; gap:1.25rem; align-items:center;padding:1.7rem 0.5rem 1.7rem 0; border-top:1px solid var(--c-border-strong);transition:padding-left 360ms var(--mo-ease), background-color 260ms ease}.sw__row::before { content:""; position:absolute; left:0; top:-1px; width:100%; height:3px; background:var(--c-accent); transform:scaleX(0); transform-origin:left; transition:transform 480ms var(--mo-ease); }.sw__row.is-on, .sw__row:hover { padding-left:1.1rem; background:rgba(255,255,255,0.72); }.sw__row.is-on::before, .sw__row:hover::before { transform:scaleX(1); }.sw__n { align-self:start; padding-top:0.5rem; font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.16em; color:var(--c-accent); }.sw__name { font-size:clamp(1.25rem, 1.9vw, 1.65rem); line-height:1.12; letter-spacing:-0.03em; font-weight:680; margin-bottom:0.4rem; transition:color 220ms ease; }.sw__text p { margin:0; color:var(--c-text-muted); font-size:0.97rem; }.sw__rule { display:block; justify-self:end; width:2.5rem; height:1px; background:var(--c-border-strong); transition:width 380ms var(--mo-ease), background-color 260ms ease; }.sw__row.is-on .sw__rule, .sw__row:hover .sw__rule { width:4.5rem; background:var(--c-accent); }.sw__thumb { display:none; }.sw__panel { position:sticky; top:118px; aspect-ratio:4 / 4.5; }.sw__img {position:absolute; inset:0; margin:0; overflow:hidden; opacity:0; visibility:hidden; background:var(--mist);clip-path:polygon(0 0, 100% 0, 100% 86%, 84% 100%, 0 100%);transform:translate3d(28px, 0, 0);transition:opacity 520ms ease, transform 620ms var(--mo-ease), visibility 0s linear 620ms}.sw__img.is-on { opacity:1; visibility:visible; transform:none; transition:opacity 520ms ease, transform 620ms var(--mo-ease), visibility 0s; }.sw__img img { width:100%; height:100%; object-fit:cover; transform:scale(1.05); transition:transform 1300ms var(--mo-ease); }.sw__img.is-on img { transform:scale(1); }.sw__img figcaption {position:absolute; left:0; bottom:0; margin:0; padding:0.65rem 0.95rem; background:var(--c-text); color:#fff;font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase}.sw__art { position:absolute; inset:0; display:grid; place-items:center; padding:10%; color:var(--c-text); background:linear-gradient(rgba(21,23,26,0.06) 1px, transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg, rgba(21,23,26,0.06) 1px, transparent 1px) 0 0 / 28px 28px,var(--c-surface-alt); }.study { width:100%; height:auto; display:block; }.study__accent { stroke:var(--c-accent); }.svc__foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.25rem; margin-top:clamp(2.5rem, 5vw, 4rem); }.svc__foot p { margin:0; font-family:var(--font-display); font-stretch:108%; font-weight:560; font-size:1.12rem; }.proc { position:relative; padding:calc(var(--band-loose) + 1rem) 0 var(--band-loose); background:var(--stone); overflow:hidden; isolation:isolate; }.proc__bg { position:absolute; right:-4%; top:6%; width:min(46vw, 600px); color:var(--c-text); opacity:0.075; z-index:-1; }.proc::before {content:""; position:absolute; left:0; right:0; top:0; bottom:0; z-index:-2; pointer-events:none;background-image:url("../media/tex-plan.webp");background-size:cover; background-position:20% 40%;opacity:0.26; mask-image:linear-gradient(180deg, #000 0 64%, transparent 94%)}.plan-art { width:100%; height:auto; display:block; }.proc__line { position:relative; height:1px; background:var(--c-border-strong); margin-top:clamp(3rem, 6vw, 5rem); }.proc__fill { position:absolute; inset:0; background:var(--c-accent); height:3px; top:-1px; }.proc__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(1.5rem, 3vw, 3rem); }.proc__step { position:relative; padding-top:2.4rem; }.proc__step:nth-child(2) { margin-top:2.2rem; }.proc__step:nth-child(1) .proc__node, .proc__step:nth-child(2) .proc__node, .proc__step:nth-child(3) .proc__node, .proc__step:nth-child(4) .proc__node { top:-7px; }.proc__step:nth-child(3) { margin-top:4.4rem; }.proc__step:nth-child(4) { margin-top:6.6rem; }.proc__step::before { content:""; position:absolute; left:0; top:-0.5px; width:1px; height:2.4rem; background:var(--c-border-strong); }.proc__step:nth-child(2)::before { top:calc(-2.2rem - 0.5px); height:4.6rem; }.proc__step:nth-child(3)::before { top:calc(-4.4rem - 0.5px); height:6.8rem; }.proc__step:nth-child(4)::before { top:calc(-6.6rem - 0.5px); height:9rem; }.proc__node { position:absolute; top:-7px; left:-6px; width:13px; height:13px; background:#fff; border:2px solid var(--c-accent); transform:rotate(45deg); }.proc__n { display:block; font-family:var(--font-display); font-stretch:125%; font-weight:300; font-size:clamp(2.6rem, 4vw, 3.6rem); line-height:1; color:var(--steel); letter-spacing:-0.04em; }.proc__title { font-size:1.45rem; letter-spacing:-0.02em; font-weight:700; margin:0.9rem 0 0.6rem; }.proc__step p { color:var(--c-text-muted); font-size:0.98rem; margin:0; }.proc__list--5 { grid-template-columns:repeat(5, minmax(0, 1fr)); gap:clamp(1.1rem, 2vw, 2rem); }.proc__list--5 .proc__step:nth-child(2) { margin-top:1.8rem; }.proc__list--5 .proc__step:nth-child(3) { margin-top:3.6rem; }.proc__list--5 .proc__step:nth-child(4) { margin-top:5.4rem; }.proc__list--5 .proc__step:nth-child(5) { margin-top:7.2rem; }.proc__list--5 .proc__step:nth-child(2)::before { top:calc(-1.8rem - 0.5px); height:4.2rem; }.proc__list--5 .proc__step:nth-child(3)::before { top:calc(-3.6rem - 0.5px); height:6rem; }.proc__list--5 .proc__step:nth-child(4)::before { top:calc(-5.4rem - 0.5px); height:7.8rem; }.proc__list--5 .proc__step:nth-child(5)::before { top:calc(-7.2rem - 0.5px); height:9.6rem; }.proc__list--5 .proc__step:nth-child(5) .proc__node { top:-7px; }.proc__list--5 .proc__title { font-size:1.28rem; }.proc__list--5 .proc__step p { font-size:0.95rem; }.proc .proc__node { background:var(--stone); }.split { position:relative; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0; }.split__pane { position:relative; aspect-ratio:5 / 3.4; overflow:hidden; }.split__pane img { width:100%; height:100%; object-fit:cover; }.split::after { content:""; position:absolute; top:-10px; bottom:-10px; left:50%; width:3px; margin-left:-1.5px; background:var(--c-accent); transform:skewX(-9deg); }.split__tag { position:absolute; left:10px; bottom:10px; padding:0.32rem 0.6rem; background:#fff; color:var(--c-text); font-family:var(--font-display); font-stretch:125%; font-weight:660; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; }.split__pane--after .split__tag { left:auto; right:10px; background:var(--c-text); color:#fff; }.why { position:relative; isolation:isolate; padding:calc(var(--band-loose) + 1rem) 0 var(--band-loose); background:#fff; }.why__grid { display:grid; grid-template-columns:minmax(0, 6fr) minmax(0, 5fr); gap:clamp(2.5rem, 6vw, 6rem); align-items:start; }.why__slogan { font-size:clamp(2.3rem, 4.6vw, 4.6rem); line-height:1; letter-spacing:-0.045em; font-weight:740; font-stretch:120%; }.why__brand { position:relative; margin-top:clamp(2.5rem, 5vw, 4rem); width:88%; aspect-ratio:5 / 3.4; display:grid; place-content:center; gap:1.4rem; background:var(--c-surface-alt); overflow:hidden; isolation:isolate; }.why__brand::before { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(21,23,26,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(21,23,26,0.05) 1px, transparent 1px); background-size:48px 48px; }.why__brand-field { position:absolute; right:0; top:0; bottom:0; width:36%; z-index:-1; background:var(--c-text); opacity:0.06; clip-path:polygon(46% 0, 100% 0, 100% 100%, 0 100%); }.why__mark { width:clamp(120px, 16vw, 190px); height:auto; margin-inline:auto; }.pillars--brand { justify-content:center; padding:0; font-size:0.72rem; }.why__list { list-style:none; margin:0; padding:clamp(0rem, 6vw, 5.5rem) 0 0; }.why__item { display:grid; grid-template-columns:3rem minmax(0, 1fr); column-gap:1rem; padding:1.8rem 0; border-top:1px solid var(--c-border); }.why__item:last-child { border-bottom:1px solid var(--c-border); }.why__n { grid-row:span 2; font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.16em; color:var(--c-accent); padding-top:0.4rem; }.why__t { font-size:1.3rem; font-weight:680; letter-spacing:-0.02em; margin-bottom:0.45rem; }.why__item p { margin:0; color:var(--c-text-muted); font-size:0.98rem; }.area { position:relative; isolation:isolate; padding:var(--band) 0; background:var(--c-surface-alt); overflow:hidden; }.area::before {content:""; position:absolute; inset:0; z-index:-2; pointer-events:none;background-image:url("../media/bg-framing.webp");background-size:cover; background-position:50% 62%;opacity:0.2; filter:grayscale(0.45);mask-image:linear-gradient(90deg, transparent 0 22%, #000 78%)}.area__inner { display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 7fr); gap:clamp(2rem, 6vw, 6rem); align-items:center; }.area__mark { position:relative; color:var(--steel); max-width:300px; }.survey { width:100%; height:auto; display:block; }.survey__pin { fill:var(--c-accent); }.area__coord { display:block; margin-top:0.9rem; font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.2em; color:var(--c-text-muted); text-align:center; }.area__copy p { color:var(--c-text-muted); margin-top:1rem; }.faq { padding:var(--band) 0; background:#fff; }.faq__grid { display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 7fr); gap:clamp(2rem, 5vw, 5rem); align-items:start; }.faq__intro { position:sticky; top:120px; }.faq__intro p { color:var(--c-text-muted); }.faq__item { border-top:1px solid var(--c-border); }.faq__item:last-child { border-bottom:1px solid var(--c-border); }.faq__item summary {display:flex; align-items:center; justify-content:space-between; gap:1.5rem;list-style:none; cursor:pointer; padding:1.25rem 0;font-family:var(--font-display); font-stretch:112%; font-weight:640;font-size:clamp(1.05rem, 1.5vw, 1.25rem); letter-spacing:-0.015em; color:var(--c-text)}.faq__item summary::-webkit-details-marker { display:none; }.faq__item summary:hover { color:var(--c-accent); }.faq__mark { position:relative; flex:none; width:16px; height:16px; }.faq__mark::before, .faq__mark::after { content:""; position:absolute; left:0; top:7px; width:16px; height:2px; background:var(--c-accent); transition:transform 260ms var(--mo-ease); }.faq__mark::after { transform:rotate(90deg); }.faq__item[open] .faq__mark::after { transform:rotate(0deg); }.faq__answer { padding:0 0 1.4rem; }.faq__answer p { margin:0; color:var(--c-text); max-width:62ch; font-size:1.05rem; line-height:1.72; }.faq__qn { flex:none; align-self:flex-start; padding-top:0.3rem; font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.16em; color:var(--c-accent); }.faq__q { flex:1 1 auto; }.faq__answer { padding-left:2.6rem; }.est { position:relative; padding:var(--band-loose) 0; background:var(--c-surface-dark); color:var(--c-text-invert); overflow:hidden; isolation:isolate; }.est::before { content:""; position:absolute; inset:0; z-index:-2; background-image:linear-gradient(rgba(255,255,255,0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px); background-size:96px 96px; mask-image:linear-gradient(90deg, #000, transparent 70%); }.est__field { position:absolute; top:0; right:0; bottom:0; width:22%; z-index:-1; background:var(--c-accent); clip-path:polygon(62% 0, 100% 0, 100% 100%, 0 100%); }.est__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 6fr); gap:clamp(2.5rem, 6vw, 6rem); align-items:start; }.est__title { font-size:clamp(2.4rem, 4.8vw, 4.6rem); line-height:0.98; letter-spacing:-0.045em; font-weight:720; color:#fff; }.est__lede { margin-top:1.4rem; font-size:1.1rem; }.est__facts { margin:2.25rem 0 0; display:grid; gap:0; }.est__facts div { display:grid; grid-template-columns:11rem minmax(0, 1fr); gap:1rem; padding:1.1rem 0; border-top:1px solid var(--c-border-dark); }.est__facts dt { font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-text-invert-muted); padding-top:0.35rem; }.est__facts dd { margin:0; color:#fff; font-weight:560; font-size:1.05rem; }.est__facts dd span { display:block; color:var(--c-text-invert-muted); font-size:0.9rem; font-weight:400; }.est__facts .phone-link { font-size:1.5rem; color:#fff; }.est__card { background:#fff; color:var(--c-text); padding:clamp(1.6rem, 3vw, 2.6rem); box-shadow:0 40px 80px -40px rgba(0,0,0,0.6); }.est__card-title { margin:0 0 1.4rem; font-family:var(--font-display); font-stretch:118%; font-weight:700; font-size:1.45rem; letter-spacing:-0.02em; color:var(--c-text); }.est__card .quote { display:grid; gap:1.1rem; }.est__card p, .on-dark .est__card p { color:var(--c-text-muted); }.est__card .field label { color:var(--c-text); }.est__card .btn { width:100%; }.foot { position:relative; overflow:hidden; isolation:isolate; background:#fff; padding:clamp(3.5rem, 6vw, 5rem) 0 1.5rem; border-top:1px solid var(--c-border); }.foot__watermark { position:absolute; right:-2%; bottom:-18%; z-index:-1; width:clamp(220px, 30vw, 420px); opacity:0.06; pointer-events:none; }.foot__watermark img { width:100%; height:auto; }.foot__grid { display:grid; grid-template-columns:minmax(0, 4fr) repeat(3, minmax(0, 2.6fr)); gap:2.5rem; }.foot__logo { width:190px; height:auto; }.foot__slogan { margin-top:1.2rem; font-family:var(--font-display); font-stretch:118%; font-weight:640; font-size:0.95rem; }.foot__h { margin:0 0 1rem; font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-text-muted); }.foot ul { list-style:none; margin:0; padding:0; display:grid; gap:0.55rem; font-size:0.95rem; }.foot a { color:var(--c-text); text-decoration:none; }.foot a:hover { color:var(--c-accent); }.foot__lic { font-size:0.85rem; color:var(--c-text-muted); }.foot__base { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; margin-top:3rem; padding-top:1.4rem; border-top:1px solid var(--c-border); font-size:0.85rem; color:var(--c-text-muted); }.foot__base p { margin:0; }@media (max-width:1180px) {.head__inner { flex-wrap:wrap; gap:0.6rem 1.2rem; padding-block:0.7rem; }.nav { order:3; width:100%; margin-left:0; padding-top:0.55rem; border-top:1px solid var(--c-border); }.nav__list { gap:1.25rem; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }.nav__list::-webkit-scrollbar { display:none; }.nav { mask-image:linear-gradient(90deg, #000 90%, transparent); }.nav__list li { flex:none; }.nav__list a { white-space:nowrap; }.head__actions { margin-left:auto; }}@media (max-width:960px) {.hero__inner { grid-template-columns:minmax(0, 1fr); }.hero__copy { padding-bottom:0; max-width:640px; }.hero__stage { margin-top:0.5rem; }.hero__photo { margin-left:6%; }.hero__cut, .hero__mark { left:6%; }.hero__cut { width:94%; }.strip__list { grid-template-columns:repeat(2, minmax(0, 1fr)); }.strip__list li:nth-child(3) { border-left:0; padding-left:0; }.strip__list li:nth-child(n+3) { border-top:1px solid var(--c-border); }.work__head, .work__panel, .svc__grid, .why__grid, .area__inner, .est__grid, .faq__grid { grid-template-columns:minmax(0, 1fr); }.faq__intro { position:static; }.work__notes { margin-left:0; margin-bottom:0; }.hero__stage { margin-right:calc(-1 * var(--gutter)); }.work__notes { padding-bottom:0; }.feature { position:static; }.feature__photo { aspect-ratio:16 / 11; }.proc__list { grid-template-columns:repeat(2, minmax(0, 1fr)); row-gap:3rem; }.proc__line { display:none; }.proc__list--5 { grid-template-columns:minmax(0, 1fr); row-gap:0; border-left:2px solid var(--c-border-strong); margin-top:2.5rem; }.proc__list--5 .proc__step { margin-top:0 !important; padding:0 0 2.4rem 1.75rem; }.proc__list--5 .proc__step::before { display:none; }.proc__list--5 .proc__node, .proc__list--5 .proc__step:nth-child(n) .proc__node { top:0.2rem; left:-8px; }.sw { grid-template-columns:minmax(0, 1fr); }.sw__panel { display:none; }.sw__row { grid-template-columns:3.2rem minmax(0, 1fr); }.sw__rule { display:none; }.sw__thumb { display:block; grid-column:2; aspect-ratio:16 / 9; overflow:hidden; margin-top:0.4rem; }.sw__thumb img { width:100%; height:100%; object-fit:cover; }.scrub__grid { grid-template-columns:minmax(0, 1fr); }.scrub.is-scrub .scrub__fig { max-width:100%; }.scrub__notes { order:-1; }.scrub.is-scrub .scrub__grid { gap:1.25rem; }.scrub.is-scrub .scrub__notes > p:not(.scrub__n):not(.scrub__hint) { display:none; }.scrub.is-scrub .scrub__meter { margin:0.8rem 0 0; }.hero__ba { width:52%; bottom:-16%; }.hero__foot { flex-wrap:wrap; }.why__brand { width:100%; aspect-ratio:16 / 9; }.why__list { padding-top:0; }.area__mark { max-width:220px; }.est__field { width:34%; height:40%; bottom:auto; clip-path:polygon(70% 0, 100% 0, 100% 100%); }.foot__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }}@media (max-width:760px) {.head__inner { min-height:68px; gap:1rem; }.head__logo { height:38px; }.head__cta { display:none; }.head__phone { font-size:0.95rem; }.hero__title { font-size:clamp(2.3rem, 10.2vw, 3.2rem); }.hero__actions .btn { flex:1 1 100%; }.hero__inset { width:46%; border-width:6px; bottom:-12%; }.hero__tag { display:none; }.pillars { padding-top:clamp(4.5rem, 20vw, 6rem); font-size:0.72rem; letter-spacing:0.22em; gap:0.75rem; }.strip__list li { padding:1.2rem 1rem 1.2rem 0; }.strip__list li:nth-child(even) { padding-left:1rem; }.tabs__tab { padding-right:0.5rem; margin-right:1.1rem; font-size:0.95rem; }.work__notes { border-top-width:2px; }.cmp__knob { width:44px; height:44px; }.index__row { grid-template-columns:2.2rem minmax(0, 1fr); padding-right:0; }.index__row:hover { padding-left:0; background:transparent; }.index__rule { display:none; }.index__n { grid-row:1 / span 2; }.proc__line { display:none; }.proc__list { grid-template-columns:minmax(0, 1fr); row-gap:0; border-left:2px solid var(--c-border); margin-top:2.5rem; }.proc__step { padding:0 0 2.4rem 1.75rem; }.proc__node { top:0.2rem; left:-8px; }.proc__bg { display:none; }.split__pane { aspect-ratio:4 / 3.2; }.hero__ba { width:64%; bottom:-30%; padding:0.5rem 0.5rem 0.6rem; }.hero__chip { display:none; }.tf__ruler { display:none; }.ba__head { font-size:0.66rem; letter-spacing:0.14em; }.hero__foot { margin-top:clamp(8rem, 36vw, 10rem); }.hero__scroll { display:none; }.pillars--bar { gap:0.75rem; letter-spacing:0.2em; }.edge { height:34px; }.gal__grid { grid-template-columns:minmax(0, 1fr); }.gal__bar { flex-wrap:wrap; }.box__svc { display:none; }.scrub.is-scrub .scrub__sticky { top:78px; height:calc(100vh - 78px); }.sw__row { grid-template-columns:2.2rem minmax(0, 1fr); padding-right:0; }.sw__row.is-on, .sw__row:hover { padding-left:0.5rem; }.faq__answer { padding-left:0; }.craft__slab { width:100%; margin-top:-3.5rem; }.est__facts div { grid-template-columns:minmax(0, 1fr); gap:0.25rem; }.foot__grid { grid-template-columns:minmax(0, 1fr); gap:2rem; }}@media (prefers-reduced-motion:reduce) {.index__row, .index__thumb img, .tabs__tab::after, .cmp__knob, .btn__arrow, .textlink::after { transition:none !important; }.index__row:hover { padding-left:0; }.js .hero__line[data-reveal] > span { transform:none !important; transition:none !important; }.js .hero__rise[data-reveal] .hero__mask { clip-path:none !important; transition:none !important; }.js .hero__rise[data-reveal] img { transform:none !important; transition:none !important; }.js .hero__cut { clip-path:polygon(19.2% 0, 21.3% 0, 0 35.4%, 0 32%) !important; transition:none !important; }.sw__row, .sw__row::before, .sw__rule, .sw__name { transition:none !important; }.sw__img, .sw__img img { transition:none !important; transform:none !important; }}.crumbs { padding-top:1.1rem; }.crumbs ol { display:flex; flex-wrap:wrap; gap:0.4rem 0.6rem; list-style:none; margin:0; padding:0; font-size:0.9rem; color:var(--c-text-muted); }.crumbs li + li::before { content:"/"; margin-right:0.6rem; color:var(--c-border-strong); }.crumbs a { color:var(--c-text); text-underline-offset:3px; text-decoration-color:var(--c-accent); }.ph { position:relative; isolation:isolate; padding:clamp(2rem, 4vw, 3.5rem) 0 clamp(2.5rem, 5vw, 4.5rem); background:var(--c-surface-alt); border-bottom:1px solid var(--c-border); }.ph__grid-bg {position:absolute; inset:0; z-index:-1; pointer-events:none;background-image:linear-gradient(rgba(21,23,26,0.10) 1px, transparent 1px),linear-gradient(90deg, rgba(21,23,26,0.10) 1px, transparent 1px);background-size:112px 112px; background-position:-1px -1px;mask-image:radial-gradient(ellipse 80% 90% at 70% 40%, #000 30%, transparent 85%)}.ph__inner { display:grid; gap:clamp(2rem, 4vw, 4rem); align-items:center; }.ph--split .ph__inner { grid-template-columns:minmax(0, 6fr) minmax(0, 5fr); }.ph__title { font-size:clamp(2.1rem, 4.2vw, 3.8rem); line-height:1; font-weight:720; letter-spacing:-0.04em; font-stretch:116%; max-width:18ch; }.ph__lede { margin:1.25rem 0 0; max-width:52ch; font-size:clamp(1.05rem, 1.3vw, 1.2rem); color:var(--c-text-muted); }.ph__media { aspect-ratio:5 / 4; clip-path:polygon(14% 0, 100% 0, 100% 100%, 0 100%, 0 22%); background:var(--mist); }.ph__media img { width:100%; height:100%; object-fit:cover; }.hub { padding:var(--band) 0; background:#fff; }.hub__grid { list-style:none; margin:0 auto; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(1.25rem, 2.5vw, 2rem); }.card { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--c-border); transition:border-color 260ms ease, transform 320ms var(--mo-ease); }.card::before { content:""; position:absolute; left:-1px; top:-1px; width:56px; height:3px; background:var(--c-accent); }.card__media { aspect-ratio:16 / 10; overflow:hidden; background:var(--mist); }.card__media img { width:100%; height:100%; object-fit:cover; transition:transform 900ms var(--mo-ease); }.card__media--plain { background:linear-gradient(rgba(21,23,26,0.07) 1px, transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg, rgba(21,23,26,0.07) 1px, transparent 1px) 0 0 / 28px 28px,var(--c-surface-alt); }.card__media--study { position:relative; margin:0; display:grid; grid-template:minmax(0, 1fr) / minmax(0, 1fr); padding:1.1rem 1.5rem 3rem; color:var(--c-text); background:linear-gradient(rgba(21,23,26,0.06) 1px, transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg, rgba(21,23,26,0.06) 1px, transparent 1px) 0 0 / 28px 28px,var(--c-surface-alt); }.card__media--study .study { width:100%; height:100%; }.card__media--study figcaption {position:absolute; left:0; bottom:0; margin:0; padding:0.5rem 0.8rem; background:var(--c-text); color:#fff;font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase}.card__body { padding:1.3rem 1.4rem 1.6rem; }.card__n { margin:0 0 0.4rem; font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.16em; color:var(--c-accent); }.card__title { font-size:clamp(1.25rem, 1.8vw, 1.5rem); line-height:1.12; letter-spacing:-0.025em; font-weight:700; margin-bottom:0.5rem; }.card__body p { margin:0; color:var(--c-text-muted); font-size:0.97rem; }.card__link { color:inherit; text-decoration:none; }.card__link::after { content:""; position:absolute; inset:0; }.card--linked:hover { border-color:var(--c-text); }.card--linked:hover .card__media img { transform:scale(1.04); }.card__link:focus-visible { outline:none; }.card--linked:has(.card__link:focus-visible) { outline:3px solid var(--c-focus); outline-offset:3px; }.sw__link { color:inherit; text-decoration:none; }.sw__link::after { content:""; position:absolute; inset:0; }.sw__row:has(.sw__link) { cursor:pointer; }.sw__link:focus-visible { outline:none; }.sw__row:has(.sw__link:focus-visible) { outline:3px solid var(--c-focus); outline-offset:2px; }.sp-work { padding:var(--band) 0; background:var(--stone); position:relative; isolation:isolate; }.sp-head { margin-bottom:clamp(1.5rem, 3vw, 2.5rem); }.sp-hint { margin:0.75rem 0 0; color:var(--c-text-muted); font-size:0.95rem; }.gal__grid--page { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(1.5rem, 3vw, 2.5rem); }.box__svc a { color:inherit; text-underline-offset:3px; text-decoration-color:var(--c-accent); }.sp-steps { padding:var(--band) 0; background:#fff; }.steps { list-style:none; margin:0 0 1.75rem; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); border-top:3px solid var(--c-accent); }.steps__item { display:grid; gap:0.35rem; padding:1.1rem 1rem 1.1rem 0; border-right:1px solid var(--c-border); }.steps__item + .steps__item { padding-left:1rem; }.steps__item:last-child { border-right:0; }.steps__n { font-family:var(--font-display); font-stretch:125%; font-weight:300; font-size:1.9rem; line-height:1; color:var(--steel); }.steps__t { font-family:var(--font-display); font-stretch:112%; font-weight:680; font-size:1.08rem; letter-spacing:-0.015em; }.sp-rel { padding:clamp(2.5rem, 5vw, 4rem) 0; background:var(--c-surface-alt); border-top:1px solid var(--c-border); }.sp-rel__inner { display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 7fr); gap:2rem; align-items:start; }.rel { list-style:none; margin:0; padding:0; border-top:1px solid var(--c-border-strong); }.rel li { border-bottom:1px solid var(--c-border-strong); }.rel__link {display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.1rem 0;font-family:var(--font-display); font-stretch:112%; font-weight:640; font-size:clamp(1.05rem, 1.5vw, 1.25rem);color:var(--c-text); text-decoration:none; transition:padding-left 320ms var(--mo-ease), color 200ms ease}.rel__link::after { content:"\2192"; color:var(--c-accent); transition:transform 260ms var(--mo-ease); }.rel__link:hover { padding-left:0.6rem; }.rel__link:hover::after { transform:translateX(4px); }.band--alt { background:var(--c-surface-alt); }.band--stone { background:var(--stone); }.sp-intro { padding:var(--band) 0; background:#fff; }.sp-intro.band--alt { background:var(--c-surface-alt); }.sp-intro__grid { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); gap:clamp(2rem, 5vw, 5rem); align-items:start; }.sp-intro__grid--solo { grid-template-columns:minmax(0, 1fr); max-width:52rem; }.sp-intro__copy .h2 { margin-bottom:1.2rem; }.sp-intro__copy p { max-width:62ch; margin:0 0 1rem; font-size:1.06rem; line-height:1.7; }.sp-intro__copy p:last-child { margin-bottom:0; }.sp-signs { position:relative; padding:clamp(1.4rem, 2.5vw, 2rem); background:var(--c-surface-alt); border-left:3px solid var(--c-accent); }.band--alt .sp-signs { background:#fff; }.sp-signs__t { margin:0 0 1rem; font-family:var(--font-display); font-stretch:112%; font-weight:700; font-size:1.15rem; letter-spacing:-0.015em; }.sp-signs__note { margin:1.2rem 0 0; color:var(--c-text-muted); font-size:0.95rem; }.sp-signs a, .sp-signs__note a { color:var(--c-text); font-weight:650; text-underline-offset:3px; text-decoration-color:var(--c-accent); }.ticks { list-style:none; margin:0; padding:0; display:grid; gap:0.7rem; }.ticks li { position:relative; padding-left:1.5rem; line-height:1.5; }.ticks li::before { content:""; position:absolute; left:0.1rem; top:0.5em; width:7px; height:7px; border:2px solid var(--c-accent); transform:rotate(45deg); }.sp-opts { padding:var(--band) 0; background:#fff; }.sp-opts.band--alt { background:var(--c-surface-alt); }.opts { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(1rem, 2vw, 1.75rem); }.opt { position:relative; padding:1.7rem 1.5rem 1.6rem; background:#fff; border:1px solid var(--c-border); }.opt::before { content:""; position:absolute; left:-1px; top:-1px; width:56px; height:3px; background:var(--c-accent); }.opt__t { font-size:1.3rem; line-height:1.15; letter-spacing:-0.02em; font-weight:700; margin-bottom:0.6rem; }.opt p { margin:0; color:var(--c-text-muted); font-size:0.98rem; line-height:1.6; }.sp-steps.band--alt { background:var(--c-surface-alt); }.steps__d { margin:0.35rem 0 0; color:var(--c-text-muted); font-size:0.93rem; line-height:1.55; }.sp-why { padding:clamp(2.5rem, 5vw, 4rem) 0; background:#fff; border-top:1px solid var(--c-border); }.sp-why__h { font-size:clamp(1.35rem, 2vw, 1.7rem); letter-spacing:-0.02em; font-weight:700; margin-bottom:1.6rem; }.sp-why__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(1.25rem, 2.5vw, 2.25rem); }.sp-why__list li { padding-top:1rem; border-top:2px solid var(--c-text); }.sp-why__t { font-size:1.08rem; letter-spacing:-0.01em; font-weight:700; margin-bottom:0.45rem; }.sp-why__list p { margin:0; color:var(--c-text-muted); font-size:0.94rem; line-height:1.6; }.sp-factors { padding:var(--band) 0; background:#fff; border-top:1px solid var(--c-border); }.sp-factors__grid { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:clamp(2rem, 5vw, 5rem); align-items:start; }.sp-factors__copy p { margin:1rem 0 1.4rem; max-width:46ch; color:var(--c-text-muted); line-height:1.65; }.factors { margin:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:clamp(1.5rem, 3vw, 2.5rem); }.factors div { padding:1.1rem 0; border-top:1px solid var(--c-border); }.factors dt { font-family:var(--font-display); font-stretch:108%; font-weight:680; font-size:1.05rem; letter-spacing:-0.01em; }.factors dd { margin:0.3rem 0 0; color:var(--c-text-muted); font-size:0.95rem; line-height:1.55; }.faq--page.band--alt { background:var(--c-surface-alt); }.faq--page.band--stone { background:var(--stone); }.faq--page .faq__intro .textlink { margin-top:1.2rem; }.stages { padding:clamp(1rem, 3vw, 2rem) 0 var(--band); background:#fff; }.stages__list { list-style:none; margin:0; padding:0; }.stage { display:grid; grid-template-columns:5.5rem minmax(0, 1fr) minmax(0, 18rem); gap:clamp(1.25rem, 3vw, 3rem); padding:clamp(2rem, 4vw, 3rem) 0; border-top:1px solid var(--c-border); }.stage:first-child { border-top:0; }.stage__n { font-family:var(--font-display); font-stretch:125%; font-weight:300; font-size:clamp(2.6rem, 4vw, 3.6rem); line-height:1; color:var(--steel); }.stage__t { font-size:clamp(1.6rem, 2.6vw, 2.2rem); line-height:1.05; letter-spacing:-0.03em; font-weight:720; margin-bottom:0.8rem; }.stage__lede { margin:0 0 0.8rem; font-size:1.12rem; line-height:1.6; font-weight:520; }.stage__body p:not(.stage__lede) { margin:0; max-width:62ch; color:var(--c-text-muted); line-height:1.7; }.stage__get { align-self:start; padding:1.3rem 1.3rem 1.4rem; background:var(--c-surface-alt); border-left:3px solid var(--c-accent); }.stage__get-t { margin:0 0 0.8rem; font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-text-muted); }.stage__get .ticks { gap:0.5rem; font-size:0.95rem; }.next { padding:var(--band) 0; background:#fff; }.next__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(1.25rem, 3vw, 2.5rem); }.next__item { padding-top:1.2rem; border-top:3px solid var(--c-accent); }.next__n { display:block; font-family:var(--font-display); font-stretch:125%; font-weight:300; font-size:2.2rem; line-height:1; color:var(--steel); }.next__t { font-size:1.25rem; letter-spacing:-0.02em; font-weight:700; margin:0.7rem 0 0.45rem; }.next__item p { margin:0; color:var(--c-text-muted); line-height:1.6; }.hub { background:var(--stone); }.hub__group + .hub__group { margin-top:clamp(2.5rem, 5vw, 4rem); }.hub__h { margin-bottom:1.4rem; padding-bottom:0.8rem; border-bottom:1px solid var(--c-border-strong); font-size:clamp(1.35rem, 2vw, 1.7rem); letter-spacing:-0.02em; font-weight:700; }.hub .hub__grid { margin:0; padding:0; grid-template-columns:repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }.ph__media--study { position:relative; margin:0; display:grid; grid-template:minmax(0, 1fr) / minmax(0, 1fr); padding:8% 10% 16%; color:var(--c-text); background:linear-gradient(rgba(21,23,26,0.07) 1px, transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg, rgba(21,23,26,0.07) 1px, transparent 1px) 0 0 / 28px 28px,#fff; }.ph__media--study .study { width:100%; height:100%; }.ph__media--study figcaption {position:absolute; left:0; bottom:0; margin:0; padding:0.55rem 0.9rem; background:var(--c-text); color:#fff;font-family:var(--font-display); font-stretch:125%; font-weight:640; font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase}.sp-rel__lede { margin:1rem 0 0; max-width:40ch; color:var(--c-text-muted); }.sp-rel__lede a { color:var(--c-text); font-weight:650; text-underline-offset:3px; text-decoration-color:var(--c-accent); }.proc__more { margin-top:clamp(2.5rem, 5vw, 3.5rem); }.area__copy .textlink, .faq__intro .textlink { margin-top:1.2rem; }.work-page { padding:var(--band) 0 var(--band-loose); background:var(--stone); }.why--page { padding:var(--band) 0; }.facts { background:#fff; border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); }.facts__list { margin:0 auto; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); }.facts__list div { display:grid; gap:0.35rem; padding:1.6rem 1.5rem; border-left:1px solid var(--c-border); }.facts__list div:first-child { border-left:0; padding-left:0; }.facts__list dt { font-family:var(--font-display); font-stretch:125%; font-weight:600; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-text-muted); }.facts__list dd { margin:0; font-family:var(--font-display); font-stretch:108%; font-weight:640; font-size:1.04rem; line-height:1.3; }.facts__list dd span { display:block; font-family:var(--font-body); font-weight:400; font-size:0.92rem; color:var(--c-text-muted); }.close { position:relative; isolation:isolate; overflow:hidden; padding:var(--band) 0; background:var(--c-surface-dark); color:var(--c-text-invert); }.close__inner { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 4fr); gap:2.5rem; align-items:end; }.close__title { font-size:clamp(2rem, 3.8vw, 3.4rem); line-height:1; letter-spacing:-0.04em; font-weight:720; color:#fff; }.close__lede { margin-top:1rem; max-width:48ch; color:var(--c-text-invert-muted); }.close__actions { display:grid; gap:1rem; justify-items:start; }.close__call { margin:0; color:var(--c-text-invert-muted); }.close__call .phone-link { color:#fff; font-weight:650; }.legal { padding:var(--band) 0; background:#fff; }.legal__inner { max-width:46rem; }.legal__sec + .legal__sec { margin-top:2.4rem; padding-top:2.4rem; border-top:1px solid var(--c-border); }.legal__h { font-size:clamp(1.3rem, 2vw, 1.6rem); line-height:1.15; letter-spacing:-0.02em; font-weight:700; margin-bottom:0.8rem; }.legal p { margin:0 0 0.9rem; max-width:68ch; }.legal p:last-child { margin-bottom:0; }.legal__list { margin:0 0 0.9rem; padding-left:1.2rem; display:grid; gap:0.6rem; max-width:68ch; }.legal a { color:var(--c-text); font-weight:650; text-underline-offset:3px; text-decoration-color:var(--c-accent); }.est--page { padding-top:clamp(3rem, 6vw, 5rem); }.ghl-form__frame { display:block; width:100%; min-height:581px; border:0; border-radius:15px; background:#fff; }.ghl-form__fallback { margin:0.9rem 0 0; color:var(--c-text-muted); }.ghl-form__fallback a { color:var(--c-text); font-weight:650; }@media (max-width:620px) {.sticky-actions { grid-template-columns:auto minmax(0, 1fr); }.sticky-actions .btn { white-space:nowrap; font-size:0.8125rem; padding-inline:0.5rem; }chat-widget:not([data-active="true"]) {position:fixed; right:0; bottom:calc(5rem + env(safe-area-inset-bottom));width:0; height:0; transform:translateZ(0); z-index:60}body:has(chat-widget[data-active="true"]) .sticky-actions { visibility:hidden; }}@media (max-width:359px) {.sticky-actions .btn { white-space:normal; }}@media (max-width:960px) {.ph--split .ph__inner, .sp-rel__inner, .close__inner { grid-template-columns:minmax(0, 1fr); }.sp-intro__grid, .sp-factors__grid { grid-template-columns:minmax(0, 1fr); }.opts { grid-template-columns:repeat(2, minmax(0, 1fr)); }.sp-why__list { grid-template-columns:repeat(2, minmax(0, 1fr)); }.stage { grid-template-columns:4rem minmax(0, 1fr); }.stage__get { grid-column:2; }.hub__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }.facts__list { grid-template-columns:repeat(2, minmax(0, 1fr)); }.facts__list div:nth-child(3) { border-left:0; padding-left:0; }.facts__list div:nth-child(n+3) { border-top:1px solid var(--c-border); }}@media (max-width:760px) {.hub__grid, .gal__grid--page { grid-template-columns:minmax(0, 1fr); }.opts, .sp-why__list, .factors, .next__list { grid-template-columns:minmax(0, 1fr); }.stage { grid-template-columns:minmax(0, 1fr); gap:0.9rem; }.stage__get { grid-column:auto; }.stage__n { font-size:2.2rem; }.next__list { gap:1.5rem; }.next__n { display:inline-block; font-size:1.5rem; margin-right:0.55rem; }.next__t { display:inline; font-size:1.15rem; }.next__item p { margin-top:0.45rem; }.opt { padding:1.35rem 1.2rem 1.3rem; }.sp-factors__copy p { line-height:1.6; }.steps { grid-template-columns:minmax(0, 1fr); border-top:0; border-left:3px solid var(--c-accent); }.steps__item, .steps__item + .steps__item { padding:0.9rem 0 0.9rem 1rem; border-right:0; border-bottom:1px solid var(--c-border); }.facts__list div { padding:1.2rem 1rem 1.2rem 0; }.facts__list div:nth-child(even) { padding-left:1rem; }}@media (max-width:760px) {:root { --band:3.5rem; --band-loose:4.25rem; }.head .nav { max-height:4rem; transition:max-height 260ms ease, opacity 200ms ease, padding-top 260ms ease, border-color 200ms ease; }.head.is-scrolled:not(.is-up) .nav { max-height:0; opacity:0; padding-top:0; border-top-color:transparent; overflow:hidden; pointer-events:none; }.head__inner { padding-block:0.55rem; }.kicker { letter-spacing:0.13em; gap:0.6rem; margin-bottom:1rem; }.kicker__tick { width:22px; }.strip__k, .facts__list dt, .stage__get-t, .gal__k, .sw__n, .why__n, .card__n { letter-spacing:0.12em; }.sp-intro__copy p, .stage__body p, .faq__answer p, .opt p, .why__item p, .proc__step p,.hero__lede, .ph__lede, .close__lede, .est__lede, .next__item p, .factors dd, .legal p { line-height:1.6; }.sp-intro__copy p, .faq__answer p { font-size:1rem; }.faq__answer { padding-left:0; }.ph { padding:1.5rem 0 2.25rem; }.crumbs ol { flex-wrap:nowrap; white-space:nowrap; overflow:hidden; }.crumbs li { flex:none; }.crumbs li:last-child { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }.ph__title { font-size:clamp(2rem, 9vw, 2.6rem); }.corner-ticks { display:none; }.hero__actions .btn--line, .hero__call { display:none; }.hero__ba { display:none; }.hero__stage { margin-top:1.5rem; }.strip__list { grid-template-columns:minmax(0, 1fr); }.strip__list li, .strip__list li:nth-child(even), .strip__list li:nth-child(3) { padding:0.95rem 0; border-left:0; }.strip__list li + li { border-top:1px solid var(--c-border); }.scrub.is-scrub { height:190vh; }.scrub.is-scrub .scrub__sticky { align-items:flex-start; padding-top:1rem; }.sw__row.is-on, .sw__row:hover { padding-left:0; background:transparent; }.sw__row::before { display:none; }.sw__thumb { display:none !important; }.sw__row { gap:0.75rem; padding:1.25rem 0; }.sw__text p, .svc__foot p { line-height:1.55; }.svc__guides, .svc__chevrons { display:none; }.proc__step { padding-bottom:1.8rem; }.proc__n { display:inline-block; font-size:1.5rem; margin-right:0.6rem; vertical-align:baseline; }.proc__title { display:inline; font-size:1.25rem; }.proc__step p { margin-top:0.5rem; }.proc { padding:var(--band) 0; }.foot__grid { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); column-gap:1.25rem; row-gap:2rem; }.foot__brand, .foot__contact { grid-column:1 / -1; }.foot li + li { margin-top:0.35rem; }.foot__nav a, .foot__services a, .foot__services li { font-size:0.95rem; }}@media (prefers-reduced-motion:reduce) {.head .nav { transition:none !important; }.card, .card__media img, .rel__link, .rel__link::after { transition:none !important; }.card--linked:hover .card__media img { transform:none; }}