* { box-sizing: border-box; }body {margin: 0;font-family: var(--f-body);font-size: 1.125rem;line-height: 1.55;color: color-mix(in srgb, var(--c-ink) 88%, white);background: var(--c-white);}h1, h2, h3 {font-family: var(--f-display);font-weight: 400;line-height: 1.04;letter-spacing: -0.02em;color: var(--c-ink);margin: 0 0 0.55em;}h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); text-wrap: balance; }h2 { font-size: clamp(1.9rem, 3.6vw, 2.65rem); text-wrap: balance; }h3 { font-size: 1.3125rem; letter-spacing: -0.01em; }p { margin: 0 0 1em; }a { color: var(--c-navy); }strong { font-weight: 600; color: var(--c-ink); }img { max-width: 100%; height: auto; }ul, ol { margin: 0; padding: 0; }.visually-hidden { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }.skip-link { position: absolute; left: -999px; top: 0; z-index: 60; background: var(--c-ink); color: var(--c-white); padding: 0.6rem 1rem; }.skip-link:focus{left:0}:focus-visible{outline:2px solid var(--c-navy);outline-offset:2px}.band-ink :focus-visible,.site-footer :focus-visible{outline-color:var(--c-aqua)}.tile-mark {display: inline-grid;grid-template-columns: 6px 6px;gap: 2px;margin-right: 0.5rem;vertical-align: -1px;}.tile-mark i { width: 6px; height: 6px; display: block; }.tile-mark i:nth-child(1) { background: var(--c-navy); }.tile-mark i:nth-child(2) { background: var(--c-aqua); }.tile-mark i:nth-child(3) { background: var(--c-coral); }.tile-mark i:nth-child(4) { background: var(--c-gold); }.eyebrow {font-size: 0.875rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: var(--c-navy);margin-bottom: 0.75rem;}.eyebrow-light { color: var(--c-aqua); }.site-header {position: sticky;top: 0;z-index: 50;display: grid;grid-template-columns: auto minmax(0, 1fr) auto;align-items: center;gap: clamp(1rem, 2.5vw, 2.5rem);width: 100%;padding: 0.75rem max(1.5rem, calc((100vw - 1200px) / 2));background: color-mix(in srgb, var(--c-white) 94%, transparent);border-bottom: 1px solid color-mix(in srgb, var(--c-gold) 48%, white);box-shadow: 0 8px 28px rgba(30,34,72,0.06);backdrop-filter: blur(14px);}.brand { flex-shrink: 0; display: flex; }.brand img { width: 184px; height: auto; }.site-nav { display: flex; align-items: center; justify-content: center; gap: clamp(0.9rem, 1.7vw, 1.5rem); min-width: 0; }.site-nav a,.site-nav summary {color: var(--c-ink);text-decoration: none;font-weight: 500;font-size: 1rem;line-height: 1.2;padding: 0.55rem 0;white-space: nowrap;}.site-nav > a { border-bottom: 2px solid transparent; }.site-nav > a:hover,.site-nav > a[aria-current="page"] { color: var(--c-navy); border-bottom-color: var(--c-orange); }.nav-group { position: relative; }.nav-group summary { list-style: none; cursor: pointer; }.nav-group summary::-webkit-details-marker { display: none; }.nav-group summary::after {content: "+";display: inline-block;margin-left: 0.42rem;color: var(--c-coral-deep);transition: transform 160ms ease;}.nav-group[open] summary::after { transform: rotate(45deg); }.nav-panel {position: absolute;top: calc(100% + 0.7rem);left: 50%;width: 220px;padding: 0.75rem 1rem 0.9rem;background: var(--c-white);border-top: 3px solid var(--c-orange);box-shadow: 0 18px 45px rgba(30,34,72,0.16);transform: translateX(-50%);}.nav-panel a { display: block; padding: 0.55rem 0; white-space: normal; border-bottom: 1px solid var(--c-sand-deep); }.nav-panel a:last-child { border-bottom: 0; }.nav-panel a:hover { color: var(--c-coral-deep); }@media (max-width: 1120px) and (min-width: 861px) {.site-header { gap: 1rem; }.site-nav { gap: 0.75rem; }.site-nav a, .site-nav summary { font-size: 0.9375rem; }.brand img { width: 164px; }.header-phone { font-size: 1.05rem; }}.header-phone {font-family: var(--f-display);font-size: 1.3125rem;font-weight: 400;color: var(--c-ink);text-decoration: none;white-space: nowrap;border-bottom: 2px solid var(--c-orange);padding-bottom: 1px;}.header-phone:hover { color: var(--c-orange-deep); }.nav-toggle{display:none}@media (max-width: 860px) {.nav-toggle { display: inline-flex; flex-direction: column; gap: 4px; margin-left: auto; background: none; border: 0; padding: 10px; min-width: 44px; min-height: 44px; cursor: pointer; }.nav-toggle-bar { width: 22px; height: 2px; background: var(--c-ink); }.site-nav {display: none;position: absolute;top: 100%; left: 0; right: 0;background: var(--c-white);border-bottom: 2px solid var(--c-gold);flex-direction: column;align-items: stretch;gap: 0;padding: 0.75rem 1.5rem 1.25rem;box-shadow: 0 18px 32px rgba(30,34,72,0.12);z-index: 51;}.site-nav > a,.site-nav summary { padding: 0.75rem 0; width: 100%; }.nav-group { width: 100%; border-bottom: 1px solid var(--c-sand-deep); }.nav-panel {position: static;width: 100%;padding: 0 0 0.65rem 1rem;border-top: 0;box-shadow: none;transform: none;}.nav-panel a { font-size: 1rem; padding: 0.5rem 0; display: flex; align-items: center; min-height: 44px; }.header-phone { display: inline-flex; align-items: center; min-height: 44px; }.nav-open .site-nav { display: flex; }.site-header { grid-template-columns: auto 1fr auto; }}@media (max-width: 600px) {.site-header { gap: 0.45rem; padding: 0.55rem 1rem; }.brand img { width: 130px; height: 52px; }.header-phone { font-size: 1rem; }.nav-toggle { padding: 8px; }}.hero { position: relative; overflow: hidden; }.hero-media { position: absolute; inset: 0; display: block; }.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-position, center); }.hero::before {content: "";position: absolute; inset: 0;z-index: 1;background: linear-gradient(93deg,rgba(252,250,246,0.92) 0%,rgba(252,250,246,0.80) 34%,rgba(252,250,246,0.42) 58%,rgba(252,250,246,0) 80%);}.hero-content {position: relative;z-index: 2;max-width: 1200px;margin: 0 auto;padding: clamp(2.75rem, 6vw, 5rem) 1.5rem clamp(6.5rem, 11vw, 9rem);}.hero-content h1 { max-width: 25ch; text-wrap: balance; margin-bottom: 0.3em; }.hero-location {font-family: var(--f-display);font-size: clamp(1.25rem, 2.2vw, 1.6rem);color: var(--c-navy);margin: 0 0 0.9rem;}.hero-sub { max-width: 46ch; font-size: 1.1875rem; }.hero-page { min-height: clamp(480px, 54svh, 600px); display: grid; align-items: center; }.hero-page .hero-content { width: 100%; padding: clamp(2rem, 4vw, 3.5rem) 1.5rem clamp(5.5rem, 9vw, 7.5rem); }.hero-page h1 { font-size: clamp(2.35rem, 4.6vw, 3.7rem); max-width: 20ch; text-wrap: balance; }.hero-page .hero-sub { max-width: 40ch; }.hero-page .hero-wave { color: var(--c-ink); }.crumbs { font-size: 0.875rem; font-weight: 500; margin-bottom: 1.1rem; }.crumbs a { color: var(--c-navy); text-decoration: none; }.crumbs a:hover { text-decoration: underline; }.crumbs span[aria-current] { color: color-mix(in srgb, var(--c-ink) 68%, white); }.hero-trust { display: flex; align-items: center; gap: 0.55rem; font-size: 0.9375rem; font-weight: 500; letter-spacing: 0.02em; color: color-mix(in srgb, var(--c-ink) 82%, white); margin: 0.9rem 0 0; }.hero-trust-stars { color: var(--c-gold); letter-spacing: 0.12em; }.copy-list { max-width: 62ch; margin: 0.9rem 0 1.4rem; padding-left: 1.25rem; }.copy-list li { line-height: 1.55; margin-bottom: 0.45rem; }.copy-list li::marker { color: var(--c-gold); font-weight: 600; }.hero-wave { position: absolute; left: 0; right: 0; bottom: -1px; color: var(--c-ink); z-index: 3; }.hero-wave svg { display: block; width: 100%; height: clamp(56px, 8vw, 110px); }.hero-actions .cta-editorial { margin-top: 1.35rem; }.hero-actions .cta-call {font-family: var(--f-body);font-size: 1rem;font-weight: 600;border-bottom-width: 1px;margin-top: 0.75rem;}.hero-actions .cta-sub { display: none; }.hero-proof-strip { background: var(--c-ink); color: var(--c-sand); }.hero-proof-inner {max-width: 1200px;margin: 0 auto;padding: 1.15rem 1.5rem 1.35rem;display: grid;grid-template-columns: repeat(3, 1fr);gap: 1rem 2rem;}.hero-proof-inner p { margin: 0; font-size: 1rem; line-height: 1.35; }.hero-proof-inner p + p { border-left: 1px solid color-mix(in srgb, var(--c-sand) 25%, transparent); padding-left: 2rem; }.hero-proof-inner strong { display: block; color: var(--c-white); font-family: var(--f-display); font-size: 1.35rem; font-weight: 400; }.hero-proof-stars { color: var(--c-gold); letter-spacing: 0.14em; margin-right: 0.45rem; }@media (max-width: 720px) {.hero-page { min-height: clamp(520px, 72svh, 610px); }.hero-img { object-position: var(--hero-position-mobile, center); }.hero::before { background: linear-gradient(180deg, rgba(252,250,246,0.94) 0%, rgba(252,250,246,0.88) 58%, rgba(252,250,246,0.68) 78%, rgba(252,250,246,0.2) 100%); }.hero-page .hero-content { align-self: start; padding-top: 2rem; }.hero-page h1 { font-size: clamp(2.2rem, 10.5vw, 3.25rem); max-width: 17ch; }.hero-page .hero-sub { font-size: 1.0625rem; max-width: 33ch; }.hero-proof-inner { grid-template-columns: 1fr; gap: 0; padding-top: 0.75rem; }.hero-proof-inner p { padding: 0.8rem 0; }.hero-proof-inner p + p { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--c-sand) 25%, transparent); padding-left: 0; }}.cta-editorial { margin-top: 1.6rem; }.cta-line {font-family: var(--f-display);font-size: clamp(1.35rem, 2.6vw, 1.75rem);line-height: 1.2;color: var(--c-ink);text-decoration: none;border-bottom: 2px solid var(--c-ink);padding-bottom: 0.2rem;display: inline-block;}.cta-line:hover { color: var(--c-orange-deep); border-bottom-color: var(--c-orange-deep); }.cta-arrow { font-size: 0.8em; display: inline-block; transition: transform 160ms ease; }.cta-line:hover .cta-arrow, .cta-line:focus-visible .cta-arrow { transform: translate(3px, -3px); }.cta-call {display: block;width: fit-content;font-size: clamp(1.2rem, 2.2vw, 1.5rem);margin-top: 0.9rem;border-bottom-color: var(--c-orange);}.cta-sub { font-family: var(--f-display); font-style: italic; font-size: 1.125rem; color: var(--c-coral-deep); margin: 0.8rem 0 0; }.cta-sub a { color: inherit; font-weight: inherit; }.cta-editorial-light .cta-line { color: var(--c-white); border-bottom-color: var(--c-orange); }.cta-editorial-light .cta-line:hover { color: var(--c-orange); }.cta-editorial-light .cta-sub { color: var(--c-aqua); }.trust-band { background: var(--c-ink); }.trust-grid {max-width: 1200px;margin: 0 auto;padding: 2.25rem 1.5rem;display: grid;grid-template-columns: auto 1fr;gap: clamp(1.75rem, 4vw, 3.5rem);align-items: center;}.trust-proof {display: flex;gap: clamp(1.5rem, 3vw, 2.75rem);padding-right: clamp(1.5rem, 3vw, 2.75rem);border-right: 1px solid color-mix(in srgb, var(--c-sand) 28%, transparent);}.proof-cell { max-width: 12rem; }.proof-stars { display: block; color: var(--c-gold); font-size: 1rem; letter-spacing: 0.18em; }.proof-num {display: block;font-family: var(--f-display);font-size: clamp(2.4rem, 3.4vw, 3.1rem);line-height: 1.05;color: var(--c-white);}.proof-unit { font-size: 0.55em; }.trust-values {list-style: none;display: grid;grid-template-columns: repeat(2, 1fr);gap: 1rem 2.5rem;}.trust-values li { display: flex; align-items: flex-start; gap: 0.8rem; }.trust-icon { color: var(--c-coral); flex-shrink: 0; margin-top: 2px; }.trust-icon svg { width: 28px; height: 28px; }.trust-stat { display: block; font-weight: 700; font-size: 1.0625rem; letter-spacing: 0.03em; color: var(--c-white); text-transform: uppercase; }.trust-label { color: color-mix(in srgb, var(--c-sand) 82%, transparent); font-size: 1rem; line-height: 1.4; display: block; margin-top: 0.15rem; }@media (max-width: 1020px) {.trust-grid { grid-template-columns: 1fr; gap: 1.5rem; }.trust-proof { border-right: 0; padding-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--c-sand) 28%, transparent); padding-bottom: 1.5rem; justify-content: flex-start; gap: 3rem; }}@media (max-width: 640px) {.trust-values { grid-template-columns: 1fr; }}.section {max-width: 1200px;margin: 0 auto;padding: clamp(3.5rem, 8vw, 6rem) 1.5rem;}.section-intro { max-width: 68ch; font-size: 1.1875rem; }.section > p:not(.eyebrow):not(.section-intro):not(.accent-line) { max-width: 68ch; }.editorial-grid {display: grid;grid-template-columns: minmax(0, 7fr) minmax(260px, 4fr);gap: clamp(2rem, 6vw, 6rem);align-items: start;}.reading-column { min-width: 0; }.reading-column > p,.reading-column > ul,.reading-column > ol { max-width: 66ch; }.editorial-aside { align-self: start; }@media (min-width: 981px) {.editorial-grid > .editorial-aside { position: sticky; top: 6.5rem; }.editorial-grid > .editorial-aside:has(> .duo-stats:only-child) { position: static; align-self: stretch; }.editorial-grid > .editorial-aside:has(> .duo-stats:only-child) .duo-stats { height: 100%; margin-top: 0; align-content: space-between; }}.editorial-aside .duo-stats li:last-child { border-bottom: 1px solid var(--c-sand-deep); padding-bottom: 0.9rem; }.proof-quote {max-width: 54rem;margin: clamp(2rem, 5vw, 4rem) 0;padding: 0.25rem 0 0.25rem clamp(1.25rem, 3vw, 2.25rem);border-left: 5px solid var(--c-coral);}.proof-quote::before {content: "“";display: block;height: 0.65em;font-family: var(--f-display);font-size: 4.5rem;line-height: 1;color: var(--c-aqua);}.proof-quote__text {font-family: var(--f-display);font-size: clamp(1.65rem, 3vw, 2.45rem);line-height: 1.16;color: var(--c-ink);text-wrap: balance;}.proof-quote__cite {display: block;margin-top: 1rem;font-style: normal;font-weight: 600;color: var(--c-navy);}.proof-quote--long .proof-quote__text { font-size: clamp(1.4rem, 1.9vw, 1.75rem); line-height: 1.3; }.material-rail {display: grid;grid-auto-flow: column;grid-auto-columns: minmax(220px, 1fr);gap: 1px;overflow-x: auto;background: var(--c-gold);border-block: 1px solid var(--c-gold);scroll-snap-type: x proximity;}.material-rail > * { scroll-snap-align: start; background: var(--c-white); }.section.decision-matrix > h3 { margin-top: 1.65em; padding-top: 0.8em; border-top: 1px solid var(--c-gold); }.section.decision-matrix > h3 + p { max-width: 68ch; }.section.planning-board {position: relative;padding: clamp(2rem, 5vw, 4rem);background:
linear-gradient(90deg, color-mix(in srgb, var(--c-aqua) 14%, white) 1px, transparent 1px),linear-gradient(color-mix(in srgb, var(--c-aqua) 14%, white) 1px, transparent 1px),var(--c-white);background-size: 28px 28px;border-block: 1px solid color-mix(in srgb, var(--c-aqua) 45%, white);}.section.planning-board::after {content: "Measured · Drawn · Reviewed · Built";display: block;margin-top: 2rem;padding-top: 0.9rem;border-top: 1px solid var(--c-gold);font-size: 0.875rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: var(--c-navy);}.closet-sketch {padding: clamp(1.25rem, 3vw, 2rem);background:
linear-gradient(90deg, color-mix(in srgb, var(--c-aqua) 14%, white) 1px, transparent 1px),linear-gradient(color-mix(in srgb, var(--c-aqua) 14%, white) 1px, transparent 1px),color-mix(in srgb, var(--c-white) 96%, transparent);background-size: 28px 28px;border: 1px solid color-mix(in srgb, var(--c-aqua) 52%, white);box-shadow: 8px 8px 0 var(--c-sand-deep);}.closet-sketch ol { list-style: none; border-top: 1px solid var(--c-gold); }.closet-sketch li {display: grid;grid-template-columns: 2.5rem 1fr;gap: 0 0.8rem;padding: 0.9rem 0;border-bottom: 1px solid var(--c-sand-deep);}.closet-sketch li > span { grid-row: 1 / span 2; font-family: var(--f-display); font-size: 1.45rem; color: var(--c-aqua); }.closet-sketch strong { font-family: var(--f-display); font-size: 1.25rem; font-weight: 400; }.closet-sketch small { font-size: 1rem; color: color-mix(in srgb, var(--c-ink) 72%, white); }.section.technical-cutaway { position: relative; }.section.technical-cutaway::before {content: "";position: absolute;top: 12%; bottom: 12%; left: 0.55rem;width: 4px;background: linear-gradient(var(--c-aqua), var(--c-gold), var(--c-coral));}.system-row.decision-matrix { grid-template-columns: 1fr; gap: 0; margin-top: 1.5rem; border-block: 1px solid color-mix(in srgb, var(--c-aqua) 48%, white); }.system-row.decision-matrix > li {display: grid;grid-template-columns: 3.5rem minmax(130px, 0.7fr) minmax(0, 1.3fr);gap: 0.75rem 1.25rem;align-items: baseline;padding: 1rem 0;background: transparent;border: 0;border-bottom: 1px solid color-mix(in srgb, var(--c-aqua) 30%, transparent);border-radius: 0;box-shadow: none;}.system-row.decision-matrix > li:last-child { border-bottom: 0; }.system-row.decision-matrix h3,.system-row.decision-matrix p { margin: 0; }@media (max-width: 980px) {.editorial-grid,.section.specimen-stage { grid-template-columns: 1fr; }.section.specimen-stage img { min-height: 300px; }}@media (max-width: 620px) {.system-row.decision-matrix > li { grid-template-columns: 3rem 1fr; }.system-row.decision-matrix p { grid-column: 2; }}.band-sand { background: var(--c-sand); }.band-ink { background: var(--c-ink); }.band-ink h2, .band-ink strong { color: var(--c-white); }.band-ink .section-intro { color: var(--c-sand); }.text-link {font-family: var(--f-display);font-size: 1.1875rem;color: var(--c-ink);text-decoration: none;border-bottom: 2px solid var(--c-orange);padding-bottom: 0.1rem;}.text-link { transition: color 140ms ease, border-bottom-color 140ms ease; }.text-link:hover { color: var(--c-orange-deep); border-bottom-color: var(--c-orange-deep); }.services { overflow-x: clip; }.services-head {display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);gap: clamp(1.5rem, 4vw, 3.5rem);align-items: end;}.services-head h2 { margin-bottom: 0; text-wrap: balance; }.services-head .section-intro { margin: 0; }@media (max-width: 900px) {.services-head { grid-template-columns: 1fr; gap: 0.9rem; }}.chip-rail {display: grid;grid-template-columns: 3.25rem minmax(0, 1fr);gap: 0.75rem;margin-top: 2rem;}.chip-rail-aside {display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 1rem;}.chip-row {display: flex;gap: 0.9rem;overflow-x: auto;scroll-snap-type: x proximity;margin-right: calc(50% - 50vw + 2rem);padding: 4px 1.5rem 1rem 4px;scroll-padding-inline: 4px 1.5rem;scrollbar-width: thin;scrollbar-color: var(--c-sand-deep) transparent;}.chip-row .chip {flex: 0 0 clamp(215px, 17.5vw, 255px);scroll-snap-align: start;}.chip-row-label {writing-mode: vertical-rl;transform: rotate(180deg);display: flex;align-items: center;gap: 0.6rem;justify-content: center;margin: 0;}.chip-row-caps {font-size: 0.875rem;font-weight: 700;letter-spacing: 0.22em;text-transform: uppercase;color: var(--c-navy);}.chip-row-script {font-family: var(--f-script);font-size: 1.5rem;color: color-mix(in srgb, var(--c-aqua) 60%, var(--c-ink));}.chip-rail-controls {display: grid;gap: 0.45rem;}.chip-rail-button {display: grid;place-items: center;width: 44px;height: 44px;padding: 0;border: 1px solid var(--c-navy);border-radius: 50%;color: var(--c-navy);background: var(--c-white);font: 600 1.2rem/1 var(--f-body);cursor: pointer;}.chip-rail-button:hover:not(:disabled),.chip-rail-button:focus-visible {color: var(--c-white);background: var(--c-navy);}.chip-rail-button:disabled {opacity: 0.32;cursor: default;}.chip {background: var(--c-white);border: 1px solid var(--c-gold);border-radius: 8px;box-shadow: 3px 3px 0 0 var(--c-sand-deep);overflow: visible;text-decoration: none;color: inherit;display: flex;flex-direction: column;}.chip-img {width: 100%;aspect-ratio: 3 / 4;object-fit: cover;display: block;border-radius: 7px 7px 0 0;}.chip-badge {display: grid;place-items: center;width: 42px; height: 42px;border-radius: 50%;background: var(--c-white);border: 1.4px solid var(--c-navy);color: var(--c-navy);margin: -21px auto 0;position: relative;z-index: 1;}.chip-badge svg { width: 22px; height: 22px; }.chip-label { padding: 0.5rem 0.7rem 0.85rem; text-align: center; }.chip h3 {font-family: var(--f-body);font-size: 0.9375rem;font-weight: 600;letter-spacing: 0.05em;text-transform: uppercase;color: var(--c-ink);margin: 0 0 0.25rem;}.chip p { font-size: 0.9375rem; line-height: 1.4; color: color-mix(in srgb, var(--c-ink) 74%, white); margin: 0; }.chip { transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }.chip:hover, .chip:focus-visible { transform: translateY(-3px); border-color: var(--c-coral); box-shadow: 5px 6px 0 0 var(--c-sand-deep); }.chip:hover h3 { color: var(--c-navy); }.chip-static { padding: 1.1rem 1.25rem; box-shadow: 2px 2px 0 0 var(--c-sand-deep); display: block; }.chip-static h3 { margin: 0 0 0.3rem; font-family: var(--f-display); font-size: 1.1rem; font-weight: 400; letter-spacing: -0.01em; text-transform: none; text-align: left; }.chip-static p { font-size: 1rem; margin: 0; color: color-mix(in srgb, var(--c-ink) 76%, white); text-align: left; }@media (max-width: 900px) {.chip-rail { grid-template-columns: 1fr; gap: 0.5rem; }.chip-rail-aside { flex-direction: row; justify-content: space-between; }.chip-row-label { writing-mode: horizontal-tb; transform: none; justify-content: flex-start; }.chip-rail-controls { display: flex; }.chip-row {margin-left: calc(50% - 50vw);margin-right: calc(50% - 50vw + 1rem);padding-left: max(1rem, calc(50vw - 50%));padding-right: max(1rem, calc(50vw - 50%));}.chip-row .chip { flex-basis: min(62vw, 250px); }}.transplant { padding: 0; }.transplant-grid {display: grid;grid-template-columns: 5fr 7fr 2.5fr;align-items: stretch;gap: 0;max-width: none;}.transplant-photo { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 480px; }.transplant-copy {position: relative;background: color-mix(in srgb, var(--c-aqua) 16%, white);padding: clamp(2.75rem, 5vw, 4.5rem) clamp(2.5rem, 5vw, 5rem);text-align: center;z-index: 1;}.transplant-copy::before,.transplant-copy::after {content: "";position: absolute;top: 0; bottom: 0;width: clamp(48px, 6vw, 92px);background-image: url("/assets/img/texture/brush-edge-deckle-broad-b-v.webp");background-size: 100% 100%;pointer-events: none;}.transplant-copy::before { left: 0; transform: translateX(-72%); }.transplant-copy::after { right: 0; transform: translateX(72%) scaleX(-1); }.transplant-sublabel {font-size: 1rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: var(--c-navy);border-top: 1px solid color-mix(in srgb, var(--c-aqua) 55%, white);display: inline-block;padding-top: 0.8rem;margin: 0.1rem 0 1rem;}.transplant-body { max-width: 56ch; margin: 0 auto 1.25rem; text-align: left; }.transplant-texture {background-size: cover;background-position: center;}@media (max-width: 900px) {.transplant-grid { grid-template-columns: 1fr; }.transplant-photo { min-height: 240px; max-height: 340px; }.transplant-texture { display: none; }.transplant-copy::before { top: 0; bottom: auto; left: 0; right: 0; width: auto; height: 44px;background-image: url("/assets/img/texture/brush-aqua-1000.webp"); transform: translateY(-55%); }.transplant-copy::after { display: none; }}.fact-row {list-style: none;display: grid;grid-template-columns: repeat(4, 1fr);gap: 1.25rem 1rem;margin: 1.75rem 0;}.fact-row li { font-size: 1rem; line-height: 1.4; color: color-mix(in srgb, var(--c-ink) 78%, white); }.fact-row .fact-name {display: block;font-size: 0.9375rem;font-weight: 600;letter-spacing: 0.06em;text-transform: uppercase;color: var(--c-ink);margin: 0.55rem 0 0.2rem;}.fact-icon {display: inline-grid;place-items: center;width: 52px; height: 52px;border: 1.4px solid var(--c-navy);border-radius: 50%;background: var(--c-white);color: var(--c-navy);}.fact-icon svg { width: 26px; height: 26px; }@media (max-width: 900px) { .fact-row { grid-template-columns: repeat(2, 1fr); } }.gallery-head { padding-bottom: 2.5rem; }.gallery-head.section { padding-top: clamp(3.5rem, 7vw, 5.5rem); }.gallery-poster {font-size: clamp(2.7rem, 5.9vw, 4.6rem);line-height: 1.0;letter-spacing: -0.025em;max-width: none;text-wrap: balance;margin-bottom: 0.4em;}.gallery-poster em { font-style: italic; }.gallery-lede {display: grid;grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);gap: clamp(1.5rem, 4vw, 3.5rem);align-items: end;}.gallery-lede .section-intro { margin: 0; }@media (max-width: 900px) {.gallery-lede { grid-template-columns: 1fr; gap: 1rem; }}.gallery-strip {display: grid;grid-template-columns: minmax(72px, 0.9fr) repeat(4, 2.6fr);gap: 0;width: 100%;}.gallery-strip img {width: 100%;height: 100%;min-height: 280px;max-height: 390px;object-fit: cover;display: block;border-radius: 0;}.gallery-strip-label {background: var(--c-coral-deep);color: var(--c-white);writing-mode: vertical-rl;transform: rotate(180deg);display: flex;align-items: center;justify-content: center;font-size: 1rem;font-weight: 700;letter-spacing: 0.18em;text-transform: uppercase;margin: 0;padding: 1rem 0;}.gallery-strap { margin: 0; text-align: right; }.gallery-strap .eyebrow { display: block; margin-bottom: 0.6rem; }.gallery-strap .text-link { font-size: 1.3125rem; white-space: nowrap; }@media (max-width: 900px) { .gallery-strap { text-align: left; } }@media (max-width: 900px) {.gallery-strip { grid-template-columns: 60px repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }.gallery-strip-label { grid-row: 1 / span 2; }}@media (max-width: 520px) {.gallery-strip { grid-template-columns: 48px 1fr; grid-template-rows: repeat(4, 1fr); }.gallery-strip-label { grid-row: 1 / span 4; }.gallery-strip img { min-height: 180px; }}.contractor { padding: 0; overflow: hidden; }.contractor-grid {display: grid;grid-template-columns: max(1.5rem, calc((100% - 1200px) / 2)) minmax(0, 560px) 1fr;align-items: stretch;}.contractor-copy {grid-column: 2;padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 4vw, 4rem) clamp(2.5rem, 5vw, 4.5rem) 0;align-self: center;}.check-list { list-style: none; margin: 0 0 1.5rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem 1.5rem; }.check-list li { color: var(--c-sand); font-size: 1.0625rem; padding-left: 1.5rem; position: relative; }.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--c-coral); font-weight: 700; }.contractor-photo { margin: 0; position: relative; grid-column: 3; min-height: 340px; }.contractor-photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }.contractor-tear {position: absolute;top: 0; bottom: 0; left: 0;width: clamp(40px, 5vw, 76px);transform: translateX(-50%) scaleX(-1);background: url("/assets/img/texture/brush-edge-deckle-broad-b-v.webp") no-repeat center / 100% 100%;z-index: 1;pointer-events: none;}.contractor-photo figcaption {font-size: 1rem;font-weight: 500;color: var(--c-sand);margin-top: 0.75rem;padding-left: 0.75rem;border-left: 3px solid var(--c-gold);}@media (max-width: 860px) {.contractor-grid { grid-template-columns: 1fr; }.contractor-copy { grid-column: 1; padding: 2.5rem 1.5rem; }.contractor-photo { grid-column: 1; min-height: 240px; }.contractor-tear { top: 0; bottom: auto; left: 0; right: 0; width: auto; height: 40px;background-image: url("/assets/img/texture/brush-edge-deckle-broad-b.webp"); transform: translateY(-50%); }.check-list { grid-template-columns: 1fr; }}.process { padding: clamp(3rem, 6vw, 5rem) 1.5rem; position: relative; overflow: hidden; }.process-inner {max-width: 1200px;margin: 0 auto;display: grid;grid-template-columns: 3fr 9fr;gap: clamp(1.5rem, 3.5vw, 3.5rem);align-items: start;position: relative;z-index: 1;}.side-label-inline {font-size: 0.9375rem;font-weight: 700;letter-spacing: 0.2em;text-transform: uppercase;color: var(--c-navy);margin-bottom: 0.6rem;}.process-heading h2 { margin-bottom: 0; }.process-row {list-style: none;display: grid;grid-template-columns: repeat(5, 1fr);gap: 1.5rem;text-align: center;}.process-row li { position: relative; }.process-row li:not(:last-child)::after {content: "→";position: absolute;right: -1.15rem;top: 34px;color: var(--c-coral);font-weight: 700;}.process-num {display: inline-grid;place-items: center;width: 24px; height: 24px;border-radius: 50%;background: var(--c-navy);color: var(--c-white);font-size: 0.875rem;font-weight: 600;margin-bottom: 0.5rem;}.process-icon { display: block; color: var(--c-ink); margin-bottom: 0.5rem; }.process-icon svg { width: 34px; height: 34px; }.process-row h3 { font-size: 1.0625rem; margin-bottom: 0.3rem; font-family: var(--f-body); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }.process-row p { font-size: 1rem; margin: 0; line-height: 1.45; }.process-bristle {position: absolute;top: -20px; right: -60px;width: 340px; height: 120px;background: url("/assets/img/texture/brush-bristle-800.webp") no-repeat center / contain;opacity: 0.5;transform: rotate(-8deg);}@media (max-width: 980px) {.process-inner { grid-template-columns: 1fr; }.process-row { grid-template-columns: repeat(2, 1fr); text-align: left; }.process-row li::after { display: none; }}@media (max-width: 520px) { .process-row { grid-template-columns: 1fr; } }.content-duo {display: grid;grid-template-columns: 7fr 5fr;gap: clamp(1.5rem, 4vw, 4rem);align-items: center;}.duo-copy p { max-width: 62ch; }.duo-links { display: flex; gap: 1.75rem; flex-wrap: wrap; }.duo-photo { margin: 0; }.duo-photo img { border-radius: 10px; display: block; width: 100%; }.duo-stats { list-style: none; margin: 1.5rem 0 0; display: grid; gap: 1.1rem; }.duo-stats li {border-top: 1px solid var(--c-sand-deep);padding-top: 0.9rem;font-size: 1rem;line-height: 1.45;color: color-mix(in srgb, var(--c-ink) 76%, white);}.duo-stats .stat {display: block;font-family: var(--f-display);font-weight: 400;font-size: clamp(1.8rem, 2.6vw, 2.5rem);letter-spacing: -0.02em;line-height: 1.08;color: var(--c-ink);margin-bottom: 0.15rem;}.duo-photo figcaption {font-size: 1rem;font-weight: 500;color: color-mix(in srgb, var(--c-ink) 74%, white);margin-top: 0.75rem;padding-left: 0.75rem;border-left: 3px solid var(--c-gold);}.showroom-story { padding: 0; }.showroom-story .content-duo { max-width: 1200px; margin: 0 auto; }@media (max-width: 860px) {.content-duo { grid-template-columns: 1fr; }}.area-grid {display: grid;grid-template-columns: 7fr 4fr;gap: clamp(1.5rem, 4vw, 4rem);align-items: center;}.area-map { position: relative; max-width: 340px; margin: 0 auto; }.area-map img { width: 100%; height: auto; display: block; opacity: 0.92; }.map-pin {position: absolute;transform: translate(0, -50%);display: flex;align-items: center;gap: 0.4rem;font-size: 0.9375rem;font-weight: 600;color: var(--c-ink);white-space: nowrap;}.map-pin i {width: 11px; height: 11px;border-radius: 50%;background: var(--c-navy);border: 2px solid var(--c-white);box-shadow: 0 1px 3px rgba(30,34,72,0.35);transform: translateX(-50%);}.map-pin-home { font-weight: 700; }.map-pin-home i { width: 14px; height: 14px; background: var(--c-orange-deep); position: relative; }.map-pin-home i::after {content: "";position: absolute; inset: -3px;border-radius: 50%;border: 2px solid var(--c-orange-deep);animation: pin-pulse 2.8s ease-out infinite;}@keyframes pin-pulse {0% { transform: scale(1); opacity: 0.85; }65%, 100% { transform: scale(2.1); opacity: 0; }}.city-row {list-style: none;display: grid;grid-template-columns: repeat(4, 1fr);gap: 1rem;margin: 1.5rem 0;}@media (max-width: 900px) {.area-grid { grid-template-columns: 1fr; }}@media (max-width: 720px) { .city-row { grid-template-columns: repeat(2, 1fr); } }.faq-section { background: var(--c-sand); padding: 0; }.faq-grid {display: grid;grid-template-columns: minmax(140px, 170px) repeat(3, minmax(0, 1fr)) minmax(150px, 190px);gap: 0 1.5rem;align-items: stretch;}.faq-title {font-size: clamp(1.25rem, 1.8vw, 1.5rem);line-height: 1.15;margin: 0;align-self: start;padding: 1.1rem 0 1rem 1.5rem;}.faq-title span { display: block; }.faq-cols { display: contents; }.faq-col { padding: 1.4rem 0; align-self: start; }.faq-col + .faq-col { border-left: 1px solid color-mix(in srgb, var(--c-ink) 12%, transparent); padding-left: 1.5rem; }.faq-col details { border-top: 1px solid color-mix(in srgb, var(--c-ink) 14%, transparent); padding: 0.45rem 0; }.faq-col details:first-child { border-top: 0; }.faq-col summary {list-style: none;display: flex;align-items: baseline;justify-content: space-between;gap: 0.9rem;cursor: pointer;font-weight: 500;font-size: 1.0625rem;line-height: 1.4;color: var(--c-ink);}.faq-col summary::-webkit-details-marker { display: none; }.faq-col summary::after {content: "+";font-weight: 300;font-size: 1.45rem;line-height: 1;color: var(--c-ink);flex-shrink: 0;transition: transform 200ms ease;}.faq-col details[open] summary::after { transform: rotate(45deg); }.faq-col details p { margin: 0.5rem 0 0.2rem; font-size: 1rem; color: color-mix(in srgb, var(--c-ink) 78%, white); }.faq-img { overflow: hidden; position: relative; }.faq-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }@media (max-width: 1100px) {.faq-section { padding: 1.5rem; }.faq-grid { grid-template-columns: 1fr; }.faq-img { display: none; }.faq-title { padding: 0 0 0.75rem; }.faq-title span { display: inline; }.faq-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2rem; }.faq-col + .faq-col { border-left: 0; padding-left: 0; }.faq-col:nth-child(2) { border-left: 1px solid color-mix(in srgb, var(--c-ink) 12%, transparent); padding-left: 2rem; }}@media (max-width: 640px) {.faq-cols { grid-template-columns: 1fr; }.faq-col { padding: 0; }.faq-col:nth-child(2) { border-left: 0; padding-left: 0; }.faq-col + .faq-col details:first-child { border-top: 1px solid color-mix(in srgb, var(--c-ink) 14%, transparent); }}.site-footer { background: var(--c-ink); color: var(--c-sand); padding: 2.25rem 1.5rem 1.5rem; font-size: 1rem; }.site-footer a { color: var(--c-aqua); }.footer-grid {max-width: 1200px;margin: 0 auto;display: grid;grid-template-columns: 1.9fr 1fr 2.3fr auto;gap: 1.75rem;align-items: start;}.footer-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.5rem; align-content: start; }.footer-nav a { font-size: 1rem; padding: 0.12rem 0; }.footer-hours div { line-height: 1.5; }.footer-heading {font-family: var(--f-body);font-size: 0.875rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--c-gold);margin-bottom: 0.75rem;}.footer-nap .footer-name { color: var(--c-white); font-size: 1.1rem; font-weight: 600; }.footer-rating { color: var(--c-gold); font-size: 0.9375rem; margin: 0.35rem 0 0.6rem; }.footer-rating a { color: inherit; }.footer-nap .tile-mark { margin-bottom: 0.75rem; display: inline-grid; }.footer-nav a { display: block; padding: 0.2rem 0; text-decoration: none; }.footer-nav a:hover { text-decoration: underline; }.footer-note { font-size: 1rem; margin-top: 1rem; }.footer-stamp svg { width: 110px; height: 110px; display: block; }.footer-social { display: flex; gap: 1.4rem; flex-wrap: wrap; margin-top: 1.25rem; }.footer-social a { text-decoration: none; font-weight: 500; }.footer-social a:hover { text-decoration: underline; }.footer-phone-big {font-family: var(--f-display);font-size: 1.5rem;border-bottom: 2px solid var(--c-orange);padding-bottom: 1px;text-decoration: none;}.site-footer .footer-phone-big { color: var(--c-white); }.site-footer .footer-phone-big:hover { color: var(--c-orange); }.footer-area {max-width: 1200px;margin: 1.5rem auto 0;padding-top: 1rem;border-top: 1px solid color-mix(in srgb, var(--c-sand) 25%, transparent);font-size: 1rem;}@media (max-width: 720px) {.footer-grid { grid-template-columns: 1fr; gap: 1.75rem; }.footer-stamp { display: none; }}.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.25rem; }.form-field { display: grid; gap: 0.35rem; }.form-field label { font-weight: 600; font-size: 1rem; }.form-field input, .form-field select, .form-field textarea {font: inherit; color: var(--c-ink); background: var(--c-white);border: 1px solid color-mix(in srgb, var(--c-ink) 32%, white);border-radius: 6px; padding: 0.7rem 0.8rem; width: 100%;}.form-field textarea { min-height: 7.5rem; resize: vertical; }.form-field-full { grid-column: 1 / -1; }.btn-submit {grid-column: 1 / -1; justify-self: start;font-family: var(--f-display); font-size: 1.3rem; color: var(--c-ink);background: var(--c-orange); border: 0; border-radius: 6px;padding: 0.85rem 2rem; cursor: pointer;}.btn-submit:hover { background: var(--c-orange-deep); }.form-note { font-size: 1rem; color: color-mix(in srgb, var(--c-ink) 72%, white); }.contact-aside { background: var(--c-sand); border: 1px solid var(--c-gold); border-radius: 10px; padding: 1.5rem; }.contact-aside img { border-radius: 8px; display: block; margin-bottom: 1.1rem; }.contact-aside h2 { font-size: 1.45rem; }.contact-aside .footer-phone-big { color: var(--c-ink); }.contact-aside .footer-phone-big:hover { color: var(--c-orange-deep); }@media (max-width: 860px) { .form-grid { grid-template-columns: 1fr; } }.article-head { max-width: 820px; margin: 0 auto; padding: clamp(2.25rem, 4.5vw, 3.5rem) 1.5rem 0; }.article-head h1 { font-size: clamp(1.9rem, 3.6vw, 2.7rem); text-wrap: balance; }.article-meta { font-size: 1rem; color: color-mix(in srgb, var(--c-ink) 65%, white); }.article-featured { max-width: 980px; margin: 1.75rem auto 0; padding: 0 1.5rem; }.article-featured img { border-radius: 10px; display: block; width: 100%; }.prose { max-width: 72ch; margin: 0 auto; padding: 1.25rem 1.5rem clamp(3rem, 6vw, 4.5rem); }.prose h2 { font-size: clamp(1.45rem, 2.4vw, 1.8rem); margin-top: 1.5em; }.gallery-masonry { columns: 3 320px; column-gap: 1.1rem; }.gallery-masonry figure {margin: 0 0 1.1rem;break-inside: avoid;background: var(--c-white);border: 1px solid var(--c-gold);border-radius: 8px;box-shadow: 3px 3px 0 0 var(--c-sand-deep);transition: border-color 150ms ease;}.gallery-masonry figure:hover { border-color: var(--c-coral); }.gallery-masonry img { width: 100%; display: block; border-radius: 7px 7px 0 0; }.gallery-masonry figcaption {font-size: 1rem;font-weight: 500;margin: 0.6rem 0.85rem 0.85rem;padding-left: 0.65rem;border-left: 3px solid var(--c-gold);color: color-mix(in srgb, var(--c-ink) 76%, white);}.chip-static h3 a { color: inherit; text-decoration: none; border-bottom: 2px solid var(--c-orange); }.chip-static h3 a:hover { color: var(--c-orange-deep); }@view-transition { navigation: auto; }::view-transition-old(root), ::view-transition-new(root) { animation-duration: 220ms; }.cta-poster { display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr); gap: 0.75rem clamp(2rem, 6vw, 5rem); align-items: start; padding-block: clamp(3.5rem, 6vw, 5rem); text-align: left; }.cta-poster h2 {font-size: clamp(2.5rem, 5.4vw, 4.1rem);line-height: 1.02;letter-spacing: -0.025em;max-width: 19ch;margin: 0;grid-row: 1 / span 2;}.cta-poster h2 em { font-style: italic; }.cta-poster p { max-width: 58ch; margin: 0; }.cta-poster .cta-editorial { margin-top: 1rem; }@media (max-width: 720px) {.cta-poster { grid-template-columns: 1fr; gap: 1.25rem; }.cta-poster h2 { grid-row: auto; }}.band-wash {position: relative;background: color-mix(in srgb, var(--c-aqua) 16%, white);}.band-wash::before {content: "";position: absolute;left: 0; right: 0; top: 0;height: clamp(34px, 4vw, 56px);background: url("/assets/img/texture/edge-wash-top.webp") no-repeat center / 100% 100%;transform: translateY(-52%);pointer-events: none;}.city-row-photos { grid-template-columns: repeat(2, 1fr); gap: 1.1rem; margin: 1.75rem 0; }.city-row-photos li { display: flex; }.city-row-photos .chip { flex: 1; }.city-row-photos .local-brief--link .chip-img { aspect-ratio: 16 / 10; }@media (min-width: 561px) {.city-row-photos li:only-child { grid-column: 1 / -1; }.city-row-photos li:only-child .local-brief--link { flex: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 0 clamp(1.5rem, 4vw, 3rem); align-items: center; }.city-row-photos li:only-child .local-brief--link img { margin-bottom: 0; aspect-ratio: 16 / 10; border-radius: 7px; }.city-row-photos li:only-child .chip-label { text-align: left; padding: 0 0.5rem; }}@media (max-width: 560px) { .city-row-photos { grid-template-columns: 1fr; } }.material-row {list-style: none;display: grid;grid-template-columns: repeat(3, 1fr);gap: 1.1rem;margin: 2rem 0 1.25rem;}.material-row li { display: flex; }.material-row .chip { flex: 1; }.material-row .chip:hover { transform: none; border-color: var(--c-gold); box-shadow: 3px 3px 0 0 var(--c-sand-deep); }.material-row .chip-img { aspect-ratio: 4 / 5; }.material-row .chip-label { text-align: left; padding: 0.7rem 0.9rem 0.95rem; }.chip-name {display: block;font-family: var(--f-display);font-weight: 400;font-size: 1.25rem;letter-spacing: -0.01em;color: var(--c-ink);margin-bottom: 0.25rem;}.material-row .chip-label p { font-size: 1rem; text-align: left; }@media (max-width:720px) { .material-row { grid-template-columns:1fr; grid-auto-flow:row; grid-auto-columns:auto; overflow:visible; scroll-snap-type:none; } .material-row .chip-img { aspect-ratio:16/10; } }.system-row {list-style: none;display: grid;grid-template-columns: repeat(4, 1fr);gap: 1.25rem;margin-top: 2.25rem;}.system-row li {background: var(--c-white);border: 1px solid color-mix(in srgb, var(--c-aqua) 42%, white);border-radius: 8px;padding: 1.15rem 1.25rem;box-shadow: 2px 2px 0 0 color-mix(in srgb, var(--c-aqua) 24%, white);}.system-row h3 {font-family: var(--f-body);font-size: 1rem;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;margin: 0.6rem 0 0.3rem;}.system-row p { font-size: 1rem; line-height: 1.45; margin: 0; }@media (max-width: 980px) { .system-row { grid-template-columns: repeat(2, 1fr); } }@media (max-width: 520px) { .system-row { grid-template-columns: 1fr; } }.prose > p:first-of-type { font-size: 1.1875rem; }.prose h2 { margin-top: 1.7em; }.prose h2::before {content: "";display: block;width: 46px; height: 3px;background: var(--c-gold);margin-bottom: 0.5em;}.support-hero {position: relative;box-shadow: 0 0 0 100vmax var(--c-sand);clip-path: inset(0 -100vmax);background:
radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--c-aqua) 22%, transparent), transparent 26rem),linear-gradient(120deg, var(--c-sand), var(--c-white));padding-block: clamp(3.5rem, 8vw, 6.5rem);}.support-hero::after {content: "";position: absolute;right: 0; bottom: 0;width: min(32vw, 420px); height: 8px;background: linear-gradient(90deg, var(--c-aqua), var(--c-gold), var(--c-orange));}.support-hero h1 { max-width: 19ch; font-size: clamp(2.8rem, 6vw, 5rem); text-wrap: balance; }.support-hero .section-intro { max-width: 58ch; }.contact-paths {display: grid;grid-template-columns: repeat(3, 1fr);margin-top: clamp(2rem, 5vw, 4rem);border-block: 1px solid var(--c-gold);}.contact-path {display: grid;align-content: start;gap: 0.25rem;min-height: 150px;padding: 1.25rem clamp(1rem, 2vw, 1.75rem);color: var(--c-ink);text-decoration: none;transition: background 160ms ease, transform 160ms ease;}.contact-path + .contact-path { border-left: 1px solid var(--c-gold); }.contact-path:hover { background: color-mix(in srgb, var(--c-aqua) 12%, white); transform: translateY(-3px); }.contact-path .eyebrow { margin: 0 0 0.5rem; }.contact-path strong { font-family: var(--f-display); font-size: 1.45rem; font-weight: 400; }.contact-path span:last-child { color: color-mix(in srgb, var(--c-ink) 72%, white); }.local-brief { border-top: 3px solid var(--c-orange); padding-top: 1.25rem; }.local-brief--link { display: block; color: var(--c-ink); text-decoration: none; transition: transform 160ms ease; }.local-brief--link:hover { transform: translateY(-3px); }.local-brief img { display: block; width: 100%; margin-bottom: 1rem; }.budget-path { list-style: none; counter-reset: budget; }.budget-path li {counter-increment: budget;display: grid;grid-template-columns: 2.5rem 1fr;gap: 0 0.9rem;padding: 1rem 0;border-bottom: 1px solid var(--c-sand-deep);}.budget-path li::before { content: "0" counter(budget); grid-row: 1 / span 2; font-family: var(--f-display); font-size: 1.8rem; color: var(--c-aqua); }.budget-path strong,.budget-path span { grid-column: 2; }.support-hero > .gallery-groups {display: flex;flex-wrap: wrap;gap: 0.65rem 1.5rem;margin-top: 2rem;}.support-hero > .gallery-groups a { font-family: var(--f-display); color: var(--c-ink); text-decoration: none; border-bottom: 2px solid var(--c-orange); }.gallery-feature {display: grid;grid-template-columns: 1.2fr 0.8fr 0.8fr;gap: 2px;background: var(--c-white);}.gallery-feature figure { position: relative; min-height: clamp(320px, 43vw, 620px); margin: 0; overflow: hidden; }.gallery-feature img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.75,.2,1); }.gallery-feature figure:hover img { transform: scale(1.025); }.gallery-feature figcaption {position: absolute;left: 1rem; right: 1rem; bottom: 1rem;padding: 0.75rem 0.9rem;font-family: var(--f-display);font-size: 1.2rem;color: var(--c-white);background: color-mix(in srgb, var(--c-ink) 82%, transparent);}.section.gallery-groups { display: grid; gap: clamp(4rem, 9vw, 7rem); }.gallery-group { scroll-margin-top: 7rem; }.gallery-group > .reading-column { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: 2rem; align-items: end; margin-bottom: 1.5rem; }.gallery-group > .reading-column h2 { margin: 0; }.gallery-group .gallery-masonry { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }.gallery-group .gallery-masonry figure { border: 0; border-radius: 0; box-shadow: none; background: transparent; }.gallery-group .gallery-masonry img { border-radius: 0; }.gallery-group .gallery-masonry figcaption { margin: 0.7rem 0 1.5rem; padding: 0 0 0.55rem; border-left: 0; border-bottom: 1px solid var(--c-gold); }.gallery-group .gallery-masonry figure:last-child:nth-child(odd) { grid-column:1/-1; }.gallery-group .gallery-masonry figure:last-child:nth-child(odd) img { aspect-ratio:16/7; object-fit:cover; }.article-body-grid {max-width: 1080px;margin: 0 auto;padding: clamp(2rem, 5vw, 4rem) 1.5rem;grid-template-columns: minmax(180px, 0.55fr) minmax(0, 1.45fr);}.article-rail { padding-top: 1.25rem; }@media (min-width: 981px) {.article-rail { position: sticky; top: 6.5rem; align-self: start; }}.article-rail > ol { list-style: decimal-leading-zero; padding-left: 2rem; border-top: 1px solid var(--c-gold); }.article-rail > ol li { padding: 0.6rem 0; border-bottom: 1px solid var(--c-sand-deep); }.article-rail .local-brief { margin-top: 2rem; }.article-body-grid .prose { padding: 0; margin: 0; }.article-body-grid--single { display: block; }.article-body-grid--single .prose { max-width: 760px; margin-inline: auto; }.article-related { max-width: 1080px; margin: 0 auto clamp(3rem, 7vw, 6rem); padding: clamp(2rem, 5vw, 3.5rem); background: var(--c-sand); }.article-related .duo-links { align-self: center; }.contact-aside { background: transparent; border: 0; border-top: 3px solid var(--c-orange); border-radius: 0; padding: 1.25rem 0 0; }.contact-aside img { border-radius: 0; }.material-row.material-rail {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 1px;margin: 2rem 0;background: var(--c-gold);border-block: 1px solid var(--c-gold);}.material-row.material-rail > li { background: var(--c-white); }@media (max-width: 900px) {.contact-paths { grid-template-columns: 1fr; }.contact-path { min-height: 0; }.contact-path + .contact-path { border-left: 0; border-top: 1px solid var(--c-gold); }.gallery-feature { grid-template-columns: 1fr 1fr; }.gallery-feature figure:first-child { grid-column: 1 / -1; }.gallery-group > .reading-column { grid-template-columns: 1fr; gap: 0.25rem; }.article-body-grid { grid-template-columns: 1fr; }.article-rail { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }.article-rail .local-brief { margin-top: 0; }}@media (max-width: 620px) {.support-hero h1 { font-size: clamp(2.5rem, 12vw, 3.5rem); }.gallery-feature { grid-template-columns: 1fr; }.gallery-feature figure,.gallery-feature figure:first-child { grid-column: auto; min-height: 70vw; }.article-rail { grid-template-columns: 1fr; }}.stone-comparison { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2.5rem 0; }.stone-comparison article { padding-top: 1rem; border-top: 3px solid var(--c-gold); }.stone-comparison h3 { margin: 0 0 0.65rem; }@media (min-width:901px) { .stone-comparison { grid-template-columns:repeat(2,1fr); } .stone-comparison article:first-child { grid-column:1/-1; columns:2; } .stone-comparison article:first-child h3 { column-span:all; } }.surface-decisions { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(1.5rem, 4vw, 3.5rem); margin-top: 2.5rem; }.surface-decisions section { padding-top: 1rem; border-top: 1px solid var(--c-gold); }.closet-elevation { margin: 0; padding: 1rem; border: 1px solid color-mix(in srgb, var(--c-aqua) 55%, white); background: var(--c-white); box-shadow: 8px 8px 0 var(--c-sand-deep); }.closet-elevation figcaption { margin-bottom: 0.75rem; color: var(--c-navy); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }.closet-elevation__drawing { display: grid; grid-template: repeat(2, 180px) / repeat(3, 1fr); border: 2px solid var(--c-navy); }.elevation-bay { display: flex; align-items: flex-end; padding: 0.55rem; border: 1px solid color-mix(in srgb, var(--c-navy) 45%, white); background: repeating-linear-gradient(to bottom, transparent 0 31%, color-mix(in srgb, var(--c-aqua) 45%, white) 32% 33%); color: var(--c-navy); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; }.elevation-bay--long, .elevation-bay--double { grid-row: 1 / 3; }.elevation-bay--double { background: linear-gradient(to bottom, transparent 49%, var(--c-navy) 49% 51%, transparent 51%); }.elevation-bay--drawers { background: repeating-linear-gradient(to bottom, transparent 0 23%, var(--c-navy) 24% 25%); }.support-hero--financing, .support-hero--routes { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr); gap: 1.5rem clamp(2rem, 6vw, 5rem); align-items: end; }.support-hero--financing > .crumbs, .support-hero--routes > .crumbs { grid-column: 1 / -1; }.quote-sheet { padding: 1.35rem; background: var(--c-white); border-top: 6px solid var(--c-orange); box-shadow: 10px 10px 0 var(--c-sand-deep); transform: rotate(0.7deg); }.quote-sheet__kicker { margin: 0 0 1rem; color: var(--c-navy); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }.quote-sheet div, .quote-sheet__total { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: 0.75rem 0; border-bottom: 1px solid var(--c-sand-deep); }.quote-sheet div strong { color: var(--c-navy); }.quote-sheet__total { margin-top: 0.75rem; border-bottom: 3px double var(--c-navy); font-family: var(--f-display); }.financing-brief { padding: 0; background: transparent; box-shadow: none; }.support-hero__map { padding: 1rem; border-left: 1px solid var(--c-gold); background: color-mix(in srgb, var(--c-aqua) 10%, transparent); }.support-hero__map .area-map { max-width: 400px; }.route-stage .area-copy { max-width: 1100px; margin-inline: auto; }.route-stage .city-row-photos { max-width: none; grid-template-columns: repeat(5, 1fr); }.support-hero--gallery, .support-hero--contact { padding-block: clamp(3rem, 5vw, 4.75rem); }.gallery-hero-layout, .contact-hero-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; }.gallery-hero-index { display: grid; gap: 0; margin: 0; counter-reset: gallery-index; }@media (min-width: 981px) {.gallery-hero-layout .gallery-hero-index { align-self: stretch; align-content: space-between; }}.gallery-hero-index a:last-child { border-bottom: 1px solid var(--c-gold); }.gallery-hero-index a { counter-increment: gallery-index; display: grid; grid-template-columns: 2.25rem 1fr; gap: 0.5rem; padding: 0.9rem 0; border-top: 1px solid var(--c-gold); color: var(--c-ink); font-family: var(--f-display); text-decoration: none; }.gallery-hero-index a::before { content: "0" counter(gallery-index); color: var(--c-coral); }.contact-hero-intro { padding-left: clamp(1.5rem, 4vw, 3rem); border-left: 1px solid var(--c-gold); }.contact-hero-paths { margin-top: clamp(2rem, 4vw, 3rem); }.support-hero--contact .contact-paths { background: var(--c-white); box-shadow: 8px 8px 0 var(--c-sand-deep); }.about-hero-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }.about-hero-stamp { justify-self: center; }.about-hero-stamp svg { width: clamp(180px, 20vw, 250px); height: auto; display: block; }.article-body-grid .prose { grid-column: 2; grid-row: 1 / span 2; }.engineering-figure { grid-column: 1; grid-row: 2; align-self: start; margin: 2rem 0 0; padding: 1rem; border: 1px solid var(--c-gold); background: var(--c-sand); }.engineering-figure figcaption { margin-bottom: 1rem; font-family: var(--f-display); font-size: 1.25rem; }.engineering-layer { padding: 0.55rem; border: 1px solid var(--c-white); color: var(--c-ink); font-size: 0.8rem; font-weight: 600; }.engineering-layer--tile { background: repeating-linear-gradient(90deg, var(--c-sand-deep) 0 28%, var(--c-white) 29% 30%); }.engineering-layer--membrane { background: var(--c-orange); }.engineering-layer--slope { padding-bottom: 1rem; background: linear-gradient(176deg, color-mix(in srgb, var(--c-aqua) 35%, white) 50%, var(--c-aqua) 51%); }.engineering-drain { width: 60%; margin: -0.25rem auto 0; padding: 0.45rem; text-align: center; color: var(--c-white); background: var(--c-navy); font-size: 0.8rem; }.counter-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }.counter-intro__quote { max-width: none; margin: 0; }.counter-intro__quote .proof-quote__text { font-size: clamp(1.65rem, 2.25vw, 2.15rem); }.counter-intro__aside { display: grid; gap: clamp(1.75rem, 3.5vw, 2.75rem); align-content: start; }.counter-intro__aside .duo-photo img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }.counter-install { grid-template-columns: 5fr 7fr; align-items: start; }.counter-install__visual img { min-height: 430px; aspect-ratio: 16 / 11; object-fit: cover; }.counter-install .duo-stats { grid-template-columns: repeat(3, 1fr); gap: 1rem; }.counter-install .duo-stats .stat { font-size: clamp(1.45rem, 2vw, 2rem); }.counter-price { margin-top: clamp(2rem, 5vw, 4rem); align-items: center; }.counter-cta__stone { margin: 0; overflow: hidden; }.counter-cta__stone img { display: block; width: 100%; height: clamp(360px, 42vw, 520px); object-fit: cover; }.counter-cta__copy h2 { max-width: 15ch; font-size: clamp(2.6rem, 4.8vw, 4.3rem); line-height: 1.02; }.counter-cta__copy h2 em { font-style: italic; }.closet-process__inner, .shower-system__inner { display: grid; grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr); gap: 1rem clamp(2rem, 6vw, 5rem); align-items: start; }.closet-process__steps, .shower-system__steps { margin-top: 0; }.closet-process__note { max-width: 46ch; padding-top: 1rem; border-top: 1px solid var(--c-gold); }.closet-types__inner, .shower-finishes__inner { display: grid; grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }.closet-types__gallery, .shower-finishes__gallery { grid-column: 2; grid-row: 1 / span 2; display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 3px; min-height: 650px; background: var(--c-gold); }.closet-types__feature, .closet-types__item, .shower-finishes__feature, .shower-finishes__item { position: relative; min-height: 0; margin: 0; overflow: hidden; background: var(--c-ink); }.closet-types__supporting, .shower-finishes__supporting { display: grid; grid-template-rows: 1fr 1fr; gap: 3px; }.closet-types__gallery .chip-img, .shower-finishes__gallery .chip-img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }.closet-types__caption, .shower-finishes__caption { position: absolute; inset: auto 0 0; padding: 1.5rem; color: var(--c-white); background: linear-gradient(transparent, color-mix(in srgb, var(--c-ink) 92%, transparent)); }.closet-types__caption .chip-name, .shower-finishes__caption .chip-name { color: var(--c-white); }.closet-types__caption p, .shower-finishes__caption p { margin: 0; }.closet-types__closing, .shower-finishes__details { padding-top: 1.5rem; border-top: 1px solid var(--c-gold); }@media (max-width: 900px) {.stone-comparison, .surface-decisions { grid-template-columns: 1fr; }.support-hero--financing, .support-hero--routes, .gallery-hero-layout, .contact-hero-layout, .about-hero-layout { grid-template-columns: 1fr; }.about-hero-stamp { display: none; }.counter-intro__aside .duo-photo { display: none; }.contact-hero-intro { padding-left: 0; padding-top: 1.25rem; border-left: 0; border-top: 1px solid var(--c-gold); }.support-hero__map { border-left: 0; border-top: 1px solid var(--c-gold); }.route-stage .city-row-photos { grid-template-columns: repeat(2, 1fr); }.article-body-grid .prose, .engineering-figure { grid-column: auto; grid-row: auto; }.gallery-hero-index { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }.counter-intro, .counter-install, .counter-price, .closet-process__inner, .shower-system__inner, .closet-types__inner, .shower-finishes__inner { grid-template-columns: 1fr; }.counter-install .duo-stats { grid-template-columns: 1fr; }.closet-types__gallery, .shower-finishes__gallery { grid-column: auto; grid-row: auto; min-height: 560px; }.closet-types__closing, .shower-finishes__details { padding-top: 0; }}@media (max-width: 720px) {.footer-grid { gap: 1.25rem; }.footer-nav { grid-template-columns: 1fr; gap: 1.25rem; }.footer-nav a { display: flex; align-items: center; min-height: 44px; }}@media (max-width: 620px) {.material-row.material-rail,.route-stage .city-row-photos { grid-template-columns:1fr; }.support-hero--routes .area-map { max-width:260px; }.gallery-group .gallery-masonry { grid-template-columns: 1fr; }.gallery-group .gallery-masonry figure:last-child:nth-child(odd) img { aspect-ratio:auto; }.gallery-hero-index { grid-template-columns: 1fr; }.counter-intro { grid-template-columns: minmax(0, 1fr); }.counter-intro__quote .proof-quote__text { font-size: 1.55rem; }.counter-install__visual img { min-height: 0; }.closet-types__gallery, .shower-finishes__gallery { grid-template-columns: 1fr; min-height: 0; background: transparent; }.closet-types__feature, .shower-finishes__feature { min-height: 110vw; }.closet-types__supporting, .shower-finishes__supporting { grid-template: none / 1fr 1fr; }.closet-types__item, .shower-finishes__item { min-height: 72vw; }.closet-types__caption, .shower-finishes__caption { padding: 1rem; }.contact-hero-layout { gap:1rem; }.contact-hero-paths { margin-top:1rem; }.contact-path { grid-template-columns:4.5rem 1fr; padding-block:.8rem; }.contact-path .eyebrow { grid-row:1/span 2; }}@media (max-width: 360px) { .footer-nav { grid-template-columns: 1fr; } .footer-nav .footer-heading { grid-column: auto; } }@media (prefers-reduced-motion: reduce) {.chip, .chip:hover, .chip:focus-visible { transform: none; transition: none; }.cta-arrow { transition: none; }.cta-line:hover .cta-arrow, .cta-line:focus-visible .cta-arrow { transform: none; }.faq-col summary::after { transition: none; }.map-pin-home i::after { animation: none; opacity: 0; }.gallery-feature img,.contact-path,.local-brief--link { transition: none; }.gallery-feature figure:hover img,.contact-path:hover,.local-brief--link:hover { transform: none; }@view-transition { navigation: none; }}.review-wall { columns: 3 320px; column-gap: 1.5rem; }.review-wall .proof-quote { break-inside: avoid; margin: 0 0 1.5rem; }.review-wall .proof-quote__text { font-size: 1.125rem; }.nav-panel-all{margin-top:.35rem;padding-top:.45rem;border-top:1px solid rgba(39,43,145,.14);font-size:.85rem;letter-spacing:.02em}