/* Homepage alternatives only. Inner pages retain the approved stylesheet. */
@font-face {
  font-family: "DM Sans";
  src: url("assets/fonts/dm-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --home-bg: #151e23;
  --home-surface: #1c282e;
  --home-ink: #f6f4ed;
  --home-muted: #c0cacb;
  --home-line: #435056;
  --home-accent: #efb850;
  --home-action-ink: #192228;
  --home-gutter: clamp(24px, 5.5vw, 88px);
}
:root[data-view="daylight"] {
  --home-bg: #f4f2eb;
  --home-surface: #eae8df;
  --home-ink: #202c2e;
  --home-muted: #525e5d;
  --home-line: #c6c9c0;
  --home-accent: #293c3a;
  --home-action-ink: #fff;
}
:root[data-view="parkway"] {
  --home-bg: #163e33;
  --home-surface: #1d483c;
  --home-ink: #f6f3e8;
  --home-muted: #c2d4c7;
  --home-line: #557466;
  --home-accent: #e5c988;
  --home-action-ink: #173a30;
}
:root[data-view="classic"] {
  --home-bg: #f7f8f4;
  --home-surface: #fff;
  --home-ink: #101820;
  --home-muted: #5f6c73;
  --home-line: rgba(45,57,66,.17);
  --home-accent: #9b6200;
  --home-action-ink: #fff;
  --classic-charcoal: #26343d;
  --classic-gold: #f2a51a;
}
html { scroll-padding-top: 90px; }
.home-review {
  font-family: "DM Sans", "Segoe UI", sans-serif;
  color: var(--home-ink);
  background: var(--home-bg);
  --gold: var(--home-accent);
  --gold-dark: var(--home-accent);
  --gold-bright: var(--home-accent);
  --muted: var(--home-muted);
  --line: var(--home-line);
  --radius: 3px;
  --radius-lg: 0px;
}
.home-review ::selection { background: var(--home-accent); color: var(--home-action-ink); }
.home-review h1, .home-review h2, .home-review h3 { color: var(--home-ink); overflow-wrap: normal; }
.home-review h2 { font-size: clamp(30px, 3.3vw, 48px); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; }
.home-review h3 { font-weight: 500; }
.home-review a { text-underline-offset: 5px; }
.home-review button { cursor: pointer; }
.home-review [hidden] { display: none !important; }
.home-review :focus-visible { outline: 2px solid var(--home-accent); outline-offset: 5px; }
.home-review .skip-link:focus { z-index: 100; top: 64px; }

/* The neutral review toolbar stays independent of each brand direction. */
.review-bar {
  position: sticky;
  top: 0;
  z-index: 60;
  min-height: 56px;
  padding: 7px 24px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  color: #283130;
  background: #f7f7f3;
  border-bottom: 1px solid #d6dad5;
  font-size: 12px;
}
.review-brand { text-decoration: none; font-size: 13px; font-weight: 700; }
.review-brand span { padding-left: 12px; margin-left: 12px; border-left: 1px solid #c5cbc4; color: #58605a; font-size: 11px; font-weight: 400; }
.direction-switcher { display: flex; gap: 3px; }
.direction-switcher a { display: flex; gap: 8px; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border-radius: 4px; text-decoration: none; font-weight: 500; }
.direction-switcher a:hover { background: #e8ebe4; }
.direction-switcher a[aria-current="true"] { color: #fff; background: #29342e; }
.direction-swatch { width: 10px; height: 10px; border: 1px solid currentColor; border-radius: 50%; }
.swatch-skyline { background: #dca744; }
.swatch-daylight { background: #f3efe1; }
.swatch-parkway { background: #527d60; }
.swatch-classic { background: #d98a00; }
.copy-direction { justify-self: end; padding: 10px 0 10px 12px; min-height: 40px; color: #364238; background: transparent; border: 0; font-size: 12px; }
.copy-direction:hover { text-decoration: underline; }
.review-bar :focus-visible { outline-color: #315d42; }

/* A compact wordmark makes room for the actual property imagery. */
.home-review .topbar { position: relative; top: auto; padding: 19px var(--home-gutter); min-height: 86px; background: var(--home-bg); border: 0; box-shadow: none; flex-wrap: nowrap; gap: 28px; }
.home-review .brand-mini { gap: 11px; }
.home-review .brand-mini img { width: 45px; height: 45px; padding: 4px; border-radius: 2px; }
.home-review .brand-mini strong { color: var(--home-ink); font-size: 12px; font-weight: 600; letter-spacing: .055em; }
.home-review .brand-mini small { color: var(--home-accent); font-size: 11px; letter-spacing: .09em; font-weight: 500; }
.home-review .primary-nav { flex-wrap: nowrap; gap: clamp(16px, 1.8vw, 28px); }
.home-review .primary-nav a { font-size: 12px; font-weight: 400; text-transform: none; color: var(--home-ink); }
.home-review .primary-nav a[aria-current] { color: var(--home-accent); }
.home-review .primary-nav a::after { height: 1px; background: var(--home-accent); }
.home-review .primary-nav .nav-phone { color: var(--home-muted); }
.home-review .primary-nav .nav-cta { padding: 12px 17px; color: var(--home-action-ink); background: var(--home-accent); border: 0; border-radius: 3px; font-weight: 600; box-shadow: none; }
.home-review .primary-nav .nav-cta:hover { transform: none; filter: brightness(1.07); }
.home-review .nav-toggle { color: var(--home-ink); border-color: var(--home-line); }

/* ==================================================================
   Three hero worlds. Skyline is the city and nothing else, Daylight
   runs a reel of the work itself, Parkway composes both into a
   mosaic. Only the film and the material panels are shared parts.
   ================================================================== */
.home-review { --topbar-h: 86px; --review-h: 56px; }
.city-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--home-bg); }
.city-media { position: absolute; z-index: -3; inset: 0; overflow: hidden; background: #22343a; }
.city-frame { position: absolute; inset: 0; }
.city-poster, .city-film { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 55% 54%; }
.city-poster { transform: scale(1.03); }
.city-film { opacity: 0; transition: opacity 750ms linear; }
.film-ready .city-film.is-front { opacity: 1; }
.city-shade { position: absolute; z-index: -1; inset: 0; pointer-events: none; }

.home-review .city-hero h1 { margin: 0; color: var(--home-ink); font-weight: 400; line-height: 1.07; letter-spacing: -.038em; text-wrap: pretty; }
.hero-service-line { margin: 0; color: var(--home-muted); font-size: 14px; line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 22px; }
.primary-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 52px; padding: 13px 20px; color: var(--home-action-ink); background: var(--home-accent); border-radius: 3px; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.primary-action span { display: inline-flex; align-items: center; transition: transform 240ms cubic-bezier(.16,1,.3,1); }
.primary-action:hover { filter: brightness(1.06); }
.primary-action:hover span { transform: translate3d(3px,-3px,0); }
.quiet-action { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: var(--home-ink); font-size: 13px; text-decoration: none; border-bottom: 1px solid var(--home-line); }
.quiet-action span { transition: transform 240ms cubic-bezier(.16,1,.3,1); }
.quiet-action:hover { border-color: var(--home-accent); }
.quiet-action:hover span { transform: translateX(5px); }
.city-caption { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--home-muted); font-size: 12px; line-height: 1.5; }
.hero-index, .hero-stage, .mosaic-scope, .mosaic-work { display: none; }

/* ---- Material studies -------------------------------------------
   Every panel rests in the finished state and animates the surface
   being brought back to it, so a still frame is never a half-effect.
   ----------------------------------------------------------------- */
.work-panel { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: #191f22; opacity: 0; visibility: hidden; transition: opacity 260ms ease, visibility 0s 260ms; }
.work-panel[data-active="true"] { opacity: 1; visibility: visible; transition-delay: 0s; animation: panel-reveal 480ms cubic-bezier(.16,1,.3,1) both; }
.panel-art {
  /* Procedural grain and aggregate, so a surface reads as a material. */
  --grain: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="g"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/></filter><rect width="200" height="200" filter="url(%23g)"/></svg>');
  --grit: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="240" height="240"><filter id="a"><feTurbulence type="fractalNoise" baseFrequency="0.5" numOctaves="4" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/><feComponentTransfer><feFuncA type="discrete" tableValues="0 0 0 0.35 0.85"/></feComponentTransfer></filter><rect width="240" height="240" filter="url(%23a)"/></svg>');
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.panel-art::before, .panel-art::after { content: ""; position: absolute; inset: 0; }
.panel-photo { display: none; }
.panel-sweep { position: absolute; inset: 0; opacity: 0; }
.panel-draw { position: absolute; inset: 0; width: 100%; height: 100%; }
.panel-draw line, .panel-draw path { fill: none; stroke: #f2efe2; stroke-width: 7; vector-effect: non-scaling-stroke; }
.panel-label { position: relative; padding: clamp(18px, 2vw, 28px); background: linear-gradient(0deg, rgba(8,12,14,.92) 14%, rgba(8,12,14,.48) 64%, transparent); }
.panel-name { margin: 0; color: #fff; font-size: clamp(21px, 2.1vw, 30px); font-weight: 500; line-height: 1.12; letter-spacing: -.03em; }
.panel-note { margin: 8px 0 0; max-width: 34ch; color: #dde3da; font-size: 13px; line-height: 1.55; }

[data-work="power"] .panel-art {
  background-image:
    var(--grain),
    repeating-linear-gradient(0deg, rgba(22,28,27,.32) 0 2px, transparent 2px 33%),
    repeating-linear-gradient(90deg, rgba(22,28,27,.42) 0 2px, transparent 2px 22%),
    linear-gradient(183deg, #aab0a7 0%, #838b85 48%, #5c6562 100%);
  background-size: 200px 200px, auto, auto, auto;
  background-blend-mode: overlay, normal, normal, normal;
}
[data-work="power"] .panel-art::before {
  background-image:
    repeating-linear-gradient(90deg, rgba(44,34,19,.6) 0 8px, rgba(44,34,19,.14) 8px 17px, rgba(44,34,19,.46) 17px 29px, rgba(44,34,19,.05) 29px 48px),
    linear-gradient(0deg, rgba(36,28,16,.88) 0%, rgba(43,34,19,.52) 44%, rgba(48,39,22,.28) 100%);
  opacity: 0;
}
[data-work="power"] .panel-art::after { display: none; }
[data-work="power"] .panel-sweep { inset: auto -12% -20% -12%; height: 32%; background: linear-gradient(0deg, rgba(222,240,247,.6), rgba(222,240,247,.1) 58%, transparent); filter: blur(2px); }
[data-work="power"][data-active="true"] .panel-art::before { animation: surface-clear-up 2500ms 200ms ease-in-out both; }
[data-work="power"][data-active="true"] .panel-sweep { animation: sweep-up 2500ms 200ms ease-in-out both; }

[data-work="glass"] .panel-art {
  background-image:
    var(--grain),
    linear-gradient(118deg, rgba(198,228,238,.5) 0%, rgba(116,154,168,.16) 34%, rgba(210,234,242,.44) 58%, rgba(98,136,152,.14) 100%),
    linear-gradient(168deg, #3a5b67, #1b2b31 76%);
  background-size: 200px 200px, auto, auto;
  background-blend-mode: soft-light, normal, normal;
}
[data-work="glass"] .panel-art::before { background: repeating-linear-gradient(90deg, rgba(9,15,17,.85) 0 6px, transparent 6px 25%), repeating-linear-gradient(0deg, rgba(9,15,17,.85) 0 6px, transparent 6px 20%); }
[data-work="glass"] .panel-art::after {
  background-image:
    repeating-linear-gradient(84deg, rgba(206,200,178,.5) 0 12px, rgba(180,176,158,.32) 12px 27px),
    linear-gradient(190deg, rgba(198,192,170,.5), rgba(142,141,124,.56));
  opacity: 0;
}
[data-work="glass"] .panel-sweep { inset: -8% -30%; background: linear-gradient(104deg, transparent 42%, rgba(255,255,255,.52) 49%, rgba(255,255,255,.08) 55%, transparent 62%); }
[data-work="glass"][data-active="true"] .panel-art::after { animation: haze-clear 2400ms 220ms ease-in-out both; }
[data-work="glass"][data-active="true"] .panel-sweep { animation: sweep-right 2400ms 220ms ease-in-out both; }

[data-work="porter"] .panel-art {
  background-image:
    var(--grain),
    repeating-linear-gradient(0deg, rgba(14,12,9,.34) 0 2px, transparent 2px 58px),
    repeating-linear-gradient(90deg, rgba(14,12,9,.34) 0 2px, transparent 2px 58px),
    linear-gradient(158deg, #8d8779 0%, #514e46 78%);
  background-size: 200px 200px, auto, auto, auto;
  background-blend-mode: overlay, normal, normal, normal;
}
[data-work="porter"] .panel-art::before { background: radial-gradient(5px 4px at 22% 34%, rgba(30,25,16,.9), transparent 62%), radial-gradient(7px 4px at 61% 52%, rgba(30,25,16,.82), transparent 64%), radial-gradient(4px 5px at 38% 71%, rgba(30,25,16,.85), transparent 62%), radial-gradient(6px 4px at 80% 78%, rgba(30,25,16,.8), transparent 62%); opacity: 0; }
[data-work="porter"] .panel-art::after { background: radial-gradient(6px 4px at 14% 62%, rgba(30,25,16,.85), transparent 62%), radial-gradient(5px 5px at 47% 22%, rgba(30,25,16,.78), transparent 62%), radial-gradient(8px 4px at 72% 36%, rgba(30,25,16,.82), transparent 64%), radial-gradient(5px 4px at 29% 90%, rgba(30,25,16,.8), transparent 62%); opacity: 0; }
[data-work="porter"] .panel-sweep { inset: -26% -40% auto -40%; height: 58%; background: radial-gradient(62% 100% at 50% 100%, rgba(255,255,255,.2), transparent 72%); }
[data-work="porter"][data-active="true"] .panel-art::before { animation: debris-clear 1400ms 420ms ease-out both; }
[data-work="porter"][data-active="true"] .panel-art::after { animation: debris-clear 1400ms 900ms ease-out both; }
[data-work="porter"][data-active="true"] .panel-sweep { animation: sweep-down 2300ms 220ms ease-in-out both; }

[data-work="stripe"] .panel-art {
  background-image: var(--grit), var(--grain), radial-gradient(125% 92% at 50% 0%, #41464a, #1d2123 74%);
  background-size: 240px 240px, 200px 200px, auto;
  background-blend-mode: soft-light, overlay, normal;
}
[data-work="stripe"] .panel-art::before { display: none; }
[data-work="stripe"] .panel-art::after { display: none; }
[data-work="stripe"] .panel-draw line { stroke-dasharray: 340; stroke-dashoffset: 0; }
[data-work="stripe"] .panel-draw-curb { stroke: var(--home-accent); stroke-width: 5; }
[data-work="stripe"] .panel-draw line:nth-child(1) { animation-delay: 120ms; }
[data-work="stripe"] .panel-draw line:nth-child(2) { animation-delay: 210ms; }
[data-work="stripe"] .panel-draw line:nth-child(3) { animation-delay: 300ms; }
[data-work="stripe"] .panel-draw line:nth-child(4) { animation-delay: 390ms; }
[data-work="stripe"] .panel-draw line:nth-child(5) { animation-delay: 480ms; }
[data-work="stripe"] .panel-draw line:nth-child(6) { animation-delay: 570ms; }
[data-work="stripe"] .panel-draw line:nth-child(7) { animation-delay: 700ms; }
[data-work="stripe"][data-active="true"] .panel-draw line { animation-name: line-draw; animation-duration: 900ms; animation-timing-function: cubic-bezier(.22,1,.3,1); animation-fill-mode: both; }

[data-work="seal"] .panel-art {
  background-image:
    var(--grit),
    var(--grain),
    radial-gradient(120% 82% at 28% 6%, rgba(196,218,228,.14), transparent 58%),
    linear-gradient(170deg, #1b1f21, #090b0c 86%);
  background-size: 240px 240px, 200px 200px, auto, auto;
  background-blend-mode: soft-light, overlay, screen, normal;
}
[data-work="seal"] .panel-art::before { display: none; }
[data-work="seal"] .panel-art::after {
  background-image: var(--grit), linear-gradient(165deg, rgba(160,158,148,.74), rgba(118,118,109,.62));
  background-size: 240px 240px, auto;
  background-blend-mode: overlay, normal;
  opacity: 0;
}
[data-work="seal"] .panel-sweep { inset: -6% -25%; background: linear-gradient(170deg, transparent 44%, rgba(212,228,234,.3) 50%, transparent 57%); }
[data-work="seal"][data-active="true"] .panel-art::after { animation: coat-down 2500ms 200ms ease-in-out both; }
[data-work="seal"][data-active="true"] .panel-sweep { animation: sweep-down 2500ms 200ms ease-in-out both; }

[data-work="repair"] .panel-art {
  background-image:
    var(--grit),
    var(--grain),
    linear-gradient(174deg, #4b5150, #3c4243),
    linear-gradient(172deg, #7d837f, #474d4e 84%);
  background-size: 240px 240px, 200px 200px, 52% 58%, auto;
  background-position: 0 0, 0 0, 86% 104%, 0 0;
  background-repeat: repeat, repeat, no-repeat, repeat;
  background-blend-mode: soft-light, overlay, normal, normal;
}
[data-work="repair"] .panel-art::before { display: none; }
[data-work="repair"] .panel-art::after { background: linear-gradient(104deg, rgba(58,64,66,0) 40%, rgba(66,72,74,.92) 50%, rgba(40,45,47,0) 61%); opacity: 0; }
[data-work="repair"] .panel-draw-crack { stroke: #23282a; stroke-width: 6; stroke-dasharray: 560; stroke-dashoffset: -560; }
[data-work="repair"][data-active="true"] .panel-draw-crack { animation: crack-close 2700ms 200ms ease-in-out both; }
[data-work="repair"][data-active="true"] .panel-art::after { animation: patch-pass 2700ms 200ms ease-in-out both; }

/* ---- Skyline: the city, full frame, nothing else ------------------ */
[data-view="skyline"] .home-review .topbar { position: relative; z-index: 20; margin-bottom: calc(-1 * var(--topbar-h)); background: transparent; }
[data-view="skyline"] .city-hero { display: grid; grid-template-rows: 1fr auto; min-height: calc(100svh - var(--review-h)); padding: calc(var(--topbar-h) + 44px) var(--home-gutter) 26px; background: #16222a; }
[data-view="skyline"] .city-shade {
  background:
    linear-gradient(180deg, rgba(5,13,17,.76) 0%, rgba(5,13,17,.3) 13%, transparent 31%),
    linear-gradient(90deg, rgba(5,13,17,.86) 0%, rgba(5,13,17,.58) 36%, rgba(5,13,17,.1) 76%, rgba(5,13,17,.04) 100%),
    linear-gradient(0deg, rgba(5,13,17,.72) 0%, rgba(5,13,17,.2) 32%, transparent 50%);
}
[data-view="skyline"] .city-media::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 170px 26px rgba(3,9,12,.5); }
[data-view="skyline"] .city-frame { animation: city-breathe 76s ease-in-out infinite alternate; }
[data-view="skyline"] .hero-content { align-self: end; width: min(1440px, 100%); margin-inline: auto; }
[data-view="skyline"] .city-hero h1 { max-width: 16ch; color: #fff; font-size: clamp(42px, 4.6vw, 68px); line-height: 1.04; letter-spacing: -.042em; }
[data-view="skyline"] .city-hero h1 span { display: block; color: #f2c76f; }
[data-view="skyline"] .hero-action-block { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-top: 34px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.22); }
[data-view="skyline"] .hero-service-line { max-width: 34ch; color: #e8ede8; font-size: 15px; }
[data-view="skyline"] .hero-actions { margin-top: 0; }
[data-view="skyline"] .quiet-action { color: #fff; border-bottom-color: rgba(255,255,255,.55); }
[data-view="skyline"] .quiet-action:hover { border-bottom-color: #fff; }
[data-view="skyline"] .city-caption { width: min(1440px, 100%); margin: 30px auto 0; color: #eef1ea; }
[data-view="skyline"] .home-review .primary-nav.is-open { padding: 18px 20px 14px; background: rgba(8,18,22,.95); border-top-color: rgba(255,255,255,.22); }

/* ---- Daylight: a reel of the work, indexed beside it -------------- */
[data-view="daylight"] .city-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  grid-template-rows: 1fr auto;
  grid-template-areas: "copy stage" "caption stage";
  gap: clamp(24px, 3vw, 52px);
  padding: clamp(28px, 2.6vw, 38px) var(--home-gutter) clamp(20px, 2vw, 26px);
}
[data-view="daylight"] .city-shade { display: none; }
[data-view="daylight"] .hero-content { grid-area: copy; display: flex; flex-direction: column; }
[data-view="daylight"] .city-caption { grid-area: caption; padding-top: 14px; border-top: 1px solid var(--home-line); }
[data-view="daylight"] .city-media { grid-area: stage; position: relative; z-index: 0; }
[data-view="daylight"] .city-poster, [data-view="daylight"] .city-film { object-position: 50% 30%; }
[data-view="daylight"] .hero-stage { grid-area: stage; position: relative; z-index: 1; display: block; min-height: clamp(392px, 41vw, 548px); }
[data-view="daylight"] .hero-stage .panel-art { background: #1d2826; }
[data-view="daylight"] .hero-stage .panel-art::before,
[data-view="daylight"] .hero-stage .panel-art::after,
[data-view="daylight"] .hero-stage .panel-sweep,
[data-view="daylight"] .hero-stage .panel-draw { display: none; }
[data-view="daylight"] .hero-stage .panel-photo { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); transform: scale(1.01); }
[data-view="daylight"] .hero-stage .work-panel[data-active="true"] .panel-photo { animation: daylight-photo-in 620ms cubic-bezier(.16,1,.3,1) both; }
[data-view="daylight"] .hero-stage [data-work="power"] .panel-photo { object-position: 50% 60%; }
[data-view="daylight"] .hero-stage [data-work="glass"] .panel-photo { object-position: 45% 50%; }
[data-view="daylight"] .hero-stage [data-work="porter"] .panel-photo { object-position: 58% 52%; }
[data-view="daylight"] .hero-stage [data-work="stripe"] .panel-photo { object-position: 50% 45%; }
[data-view="daylight"] .hero-stage [data-work="seal"] .panel-photo { object-position: 54% 56%; }
[data-view="daylight"] .hero-stage [data-work="repair"] .panel-photo { object-position: 50% 58%; }
[data-view="daylight"] .city-hero h1 { font-size: clamp(34px, 3.2vw, 48px); }
[data-view="daylight"] .city-hero h1 span { color: var(--home-accent); }
[data-view="daylight"] .hero-index { display: block; margin: clamp(20px, 2vw, 26px) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--home-line); }
[data-view="daylight"] .hero-index li { border-bottom: 1px solid var(--home-line); }
.hero-index button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 34px; padding: 6px 0; color: var(--home-muted); background: none; border: 0; font: inherit; font-size: 13px; text-align: left; }
.hero-index button::before { content: ""; flex: none; width: 0; height: 1px; background: var(--home-accent); transition: width 340ms cubic-bezier(.16,1,.3,1); }
.hero-index button:hover { color: var(--home-ink); }
.hero-index button[aria-current="true"] { color: var(--home-ink); font-weight: 500; }
.hero-index button[aria-current="true"]::before { width: 26px; }
[data-view="daylight"] .hero-action-block { margin-top: auto; padding-top: clamp(18px, 2vw, 24px); }
[data-view="daylight"] .hero-actions { margin-top: 18px; }
.reel-progress { position: absolute; z-index: 3; left: 0; bottom: 0; width: 100%; height: 2px; background: rgba(240,238,228,.2); }
.reel-progress::after { content: ""; display: block; width: 0; height: 100%; background: var(--home-accent); }
.reel-running .reel-progress::after { animation: reel-fill var(--dwell, 4600ms) linear both; }
.reel-hold .reel-progress::after { animation-play-state: paused; }

/* ---- Parkway: city, type, work, and scope in one mosaic ----------- */
[data-view="parkway"] .city-hero {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 20px);
  padding: clamp(26px, 3vw, 42px) var(--home-gutter) clamp(18px, 2.2vw, 28px);
}
[data-view="parkway"] .city-shade { display: none; }
[data-view="parkway"] .hero-content { grid-column: 1 / 7; grid-row: 1; display: flex; flex-direction: column; justify-content: center; padding: 0 clamp(18px, 2.2vw, 34px) clamp(20px, 2.4vw, 32px) 0; }
[data-view="parkway"] .city-media { grid-column: 7 / 13; grid-row: 1 / 3; position: relative; z-index: 0; min-height: clamp(360px, 40vw, 540px); }
[data-view="parkway"] .city-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(196deg, rgba(10,44,36,.4), transparent 46%, rgba(6,22,18,.52)); }
[data-view="parkway"] .city-poster, [data-view="parkway"] .city-film { object-position: 50% 28%; filter: grayscale(1) sepia(.52) hue-rotate(107deg) saturate(.92) contrast(1.16) brightness(.66); }
[data-view="parkway"] .city-frame { animation: city-breathe 104s ease-in-out infinite alternate; }
[data-view="parkway"] .city-hero h1 { font-size: clamp(34px, 3.3vw, 52px); }
[data-view="parkway"] .city-hero h1 span { color: var(--home-accent); }
[data-view="parkway"] .hero-action-block { margin-top: clamp(18px, 2vw, 28px); }
[data-view="parkway"] .work-panel--mini .panel-art { transition: transform 600ms cubic-bezier(.16,1,.3,1); }
[data-view="parkway"] .work-panel--mini:hover .panel-art { transform: scale(1.04); }
[data-view="parkway"] .mosaic-scope { grid-column: 1 / 4; grid-row: 2; display: block; padding-top: 14px; border-top: 1px solid var(--home-line); }
[data-view="parkway"] .mosaic-work { grid-column: 4 / 7; grid-row: 2; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(12px, 1.5vw, 20px); }
[data-view="parkway"] .city-caption { grid-column: 1 / 13; grid-row: 3; padding-top: 16px; border-top: 1px solid var(--home-line); }
.mosaic-heading { margin: 0 0 10px; color: var(--home-ink); font-size: 13px; font-weight: 500; }
.mosaic-scope ul { margin: 0; padding: 0; list-style: none; }
.mosaic-scope li { padding: 8px 0; color: var(--home-muted); font-size: 12.5px; border-bottom: 1px solid var(--home-line); }
.mosaic-scope li:last-child { border-bottom: 0; }
.work-panel--mini { position: relative; inset: auto; min-height: clamp(148px, 15vw, 206px); opacity: 1; visibility: visible; }
.work-panel--mini .panel-label { padding: 12px 14px; }
.work-panel--mini .panel-name { font-size: 13px; letter-spacing: 0; }

/* ---- Motion ------------------------------------------------------- */
@keyframes city-breathe { from { transform: scale(1.02); } to { transform: scale(1.15) translate3d(-1.6%, -1%, 0); } }
@keyframes panel-reveal { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes daylight-photo-in {
  from { transform: scale(1.035); filter: saturate(.72) contrast(1.08); }
  to { transform: scale(1.01); filter: saturate(.82) contrast(1.04); }
}
@keyframes surface-clear-up { from { opacity: 1; clip-path: inset(0 0 0 0); } to { opacity: 1; clip-path: inset(0 0 100% 0); } }
@keyframes haze-clear { from { opacity: 1; clip-path: inset(0 0 0 0); } to { opacity: 1; clip-path: inset(0 0 0 100%); } }
@keyframes coat-down { from { opacity: 1; clip-path: inset(0 0 0 0); } to { opacity: 1; clip-path: inset(100% 0 0 0); } }
@keyframes debris-clear { from { opacity: 1; } to { opacity: 0; } }
@keyframes line-draw { from { stroke-dashoffset: 340; } to { stroke-dashoffset: 0; } }
@keyframes crack-close { 0% { stroke-dashoffset: 560; } 28% { stroke-dashoffset: 0; } 46% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -560; } }
@keyframes patch-pass { 0%, 44% { opacity: 0; transform: translate3d(-24%, -18%, 0); } 62% { opacity: .9; } 100% { opacity: 0; transform: translate3d(26%, 34%, 0); } }
@keyframes sweep-up { 0% { opacity: 0; transform: translateY(0); } 10% { opacity: 1; } 86% { opacity: .7; } 100% { opacity: 0; transform: translateY(-330%); } }
@keyframes sweep-down { 0% { opacity: 0; transform: translateY(-30%); } 14% { opacity: 1; } 88% { opacity: .7; } 100% { opacity: 0; transform: translateY(195%); } }
@keyframes sweep-right { 0% { opacity: 0; transform: translateX(-62%); } 12% { opacity: 1; } 90% { opacity: .8; } 100% { opacity: 0; transform: translateX(62%); } }
@keyframes reel-fill { from { width: 0; } to { width: 100%; } }
@keyframes hero-title-in { from { opacity: .2; clip-path: inset(0 0 100% 0); transform: translateY(22px); } to { opacity: 1; clip-path: inset(0 0 -12% 0); transform: translateY(0); } }
@keyframes hero-detail-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes stage-in { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes tile-in { from { opacity: 0; clip-path: inset(0 0 100% 0); } to { opacity: 1; clip-path: inset(0 0 0 0); } }

.hero-entering .hero-content h1 { animation: hero-title-in 820ms cubic-bezier(.16,1,.3,1) both; }
.hero-entering .hero-action-block { animation: hero-detail-in 620ms 190ms cubic-bezier(.16,1,.3,1) both; }
.hero-entering .city-caption { animation: hero-detail-in 520ms 320ms cubic-bezier(.16,1,.3,1) both; }
[data-view="daylight"] .hero-entering .hero-index li { animation: hero-detail-in 460ms cubic-bezier(.16,1,.3,1) both; }
[data-view="daylight"] .hero-entering .hero-index li:nth-child(1) { animation-delay: 150ms; }
[data-view="daylight"] .hero-entering .hero-index li:nth-child(2) { animation-delay: 195ms; }
[data-view="daylight"] .hero-entering .hero-index li:nth-child(3) { animation-delay: 240ms; }
[data-view="daylight"] .hero-entering .hero-index li:nth-child(4) { animation-delay: 285ms; }
[data-view="daylight"] .hero-entering .hero-index li:nth-child(5) { animation-delay: 330ms; }
[data-view="daylight"] .hero-entering .hero-index li:nth-child(6) { animation-delay: 375ms; }
[data-view="daylight"] .hero-entering .hero-index li:nth-child(7) { animation-delay: 420ms; }
[data-view="daylight"] .hero-entering .city-media, [data-view="daylight"] .hero-entering .hero-stage { animation: stage-in 940ms 60ms cubic-bezier(.16,1,.3,1) both; }
[data-view="parkway"] .hero-entering .city-media { animation: tile-in 920ms 70ms cubic-bezier(.16,1,.3,1) both; }
[data-view="parkway"] .hero-entering .mosaic-scope { animation: tile-in 700ms 280ms cubic-bezier(.16,1,.3,1) both; }
[data-view="parkway"] .hero-entering .mosaic-work > * { animation: tile-in 700ms 360ms cubic-bezier(.16,1,.3,1) both; }
[data-view="parkway"] .hero-entering .panel-draw line { animation-name: line-draw; animation-duration: 800ms; animation-timing-function: cubic-bezier(.22,1,.3,1); animation-fill-mode: both; animation-delay: 520ms; }
[data-view="parkway"] .hero-entering .panel-sweep { animation: sweep-right 1300ms 560ms ease-in-out both; }

.motion-paused .city-frame,
.motion-paused .panel-art::before,
.motion-paused .panel-art::after,
.motion-paused .panel-sweep,
.motion-paused .panel-draw line,
.motion-paused .panel-draw path,
.motion-paused .reel-progress::after { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .city-frame { animation: none !important; transform: none; }
  .city-film { transition: none; }
  .work-panel, .panel-art::before, .panel-art::after, .panel-sweep,
  .panel-draw line, .panel-draw path, .reel-progress::after,
  .hero-entering .hero-content h1, .hero-entering .hero-action-block,
  .hero-entering .city-caption, .hero-entering .hero-index li,
  .hero-entering .city-media, .hero-entering .hero-stage,
  .hero-entering .mosaic-scope, .hero-entering .mosaic-work > * { animation: none !important; }
  .home-review *, .home-review *::before, .home-review *::after { scroll-behavior: auto; transition-duration: 0s; }
}

/* The same approved content, given a calmer reading rhythm. */
.home-introduction { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(36px, 6vw, 100px); padding: 48px var(--home-gutter); border-bottom: 1px solid var(--home-line); }
.home-review .hero-summary { margin: 0; max-width: 720px; color: var(--home-muted); font-size: 16px; line-height: 1.7; }
.home-review .stat-strip { align-self: center; display: grid; grid-template-columns: 1fr; gap: 16px; margin: 0; background: none; }
.home-review .stat-strip span { display: grid; grid-template-columns: 120px 1fr; min-height: 0; padding: 0 0 16px; color: var(--home-muted); background: transparent; border-bottom: 1px solid var(--home-line); font-size: 12px; gap: 14px; }
.home-review .stat-strip span:last-child { border: 0; padding-bottom: 0; }
.home-review .stat-strip b { color: var(--home-ink); font-size: 11px; font-weight: 600; letter-spacing: .05em; }
.home-review .full-section, .home-review #approach.full-section { padding: 78px var(--home-gutter); background: var(--home-bg); color: var(--home-ink); }
.home-review .section-inner { width: min(1440px, 100%); }
.home-review .eyebrow { display: none; }
.home-review .section-head h2 { max-width: 760px; margin-top: 0; }
.home-review .text-link { color: var(--home-accent); font-weight: 500; }
.home-review .service-detail-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 56px; margin-top: 32px; }
.home-review .service-detail-grid article { display: grid; grid-template-columns: .85fr 1fr; gap: 30px; align-items: start; padding: 25px 0; min-height: 132px; border: 0; border-top: 1px solid var(--home-line); border-radius: 0; background: transparent; box-shadow: none; transition: border-color 180ms ease; }
.home-review .service-detail-grid article:hover { transform: none; background: transparent; border-top-color: var(--home-accent); box-shadow: none; }
.home-review .service-detail-grid article:hover h3 { color: var(--home-accent); }
.home-review .service-number { display: none; }
.home-review .service-detail-grid article h3 { max-width: none; margin: 0; font-size: 21px; line-height: 1.2; font-weight: 400; color: var(--home-ink); transition: color 180ms ease; }
.home-review .service-detail-grid article p { margin: 0; color: var(--home-muted); font-size: 13px; line-height: 1.7; }
.home-review .split-section { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 80px; }
.home-review .operations-panel { background: var(--home-surface); padding: 36px; border: 0; box-shadow: none; }
.home-review .split-section .split-lead { color: var(--home-ink); font-size: 28px; font-weight: 400; line-height: 1.35; }
.home-review .standard-grid span { background: transparent; color: var(--home-muted); border: 0; border-top: 1px solid var(--home-line); padding-inline: 0; }
.home-review .standard-grid b { color: var(--home-ink); }
.home-review .standard-grid { grid-template-columns: 1fr; gap: 15px; background: transparent; }
.home-review .standard-grid span { grid-template-columns: 140px 1fr; min-height: 0; padding-top: 16px; gap: 20px; font-size: 13px; }
.home-review .standard-grid b { font-size: 11px; font-weight: 500; }
.home-review .pillar-list article { border-color: var(--home-line); }
.home-review .pillar-list h3 { color: var(--home-ink); }
.home-review .process-steps { border-top: 1px solid var(--home-line); }
.home-review .process-steps li { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-left: 0; }
.home-review .process-steps h3 { color: var(--home-ink); }
.home-review .step-number { color: var(--home-accent); background: transparent; border: 0; }
.home-review .chip { color: var(--home-ink); background: transparent; border: 0; border-bottom: 1px solid var(--home-line); border-radius: 0; padding: 12px 0; margin-right: 24px; }
.home-review .chip:hover { box-shadow: none; transform: none; }
.home-review .faq-list { border: 0; background: transparent; }
.home-review .faq-list details, .home-review .faq-list details[open] { background: transparent; border-top: 1px solid var(--home-line); }
.home-review .faq-list summary { padding: 24px 0; color: var(--home-ink); font-weight: 500; }
.home-review .faq-list p { padding: 0 45px 26px 0; color: var(--home-muted); }
.home-review .faq-list summary::after { color: var(--home-accent); border: 0; background: transparent; }
.home-review .faq-list details[open] summary::after { color: var(--home-ink); }

.request-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 10vw, 150px); padding: 72px var(--home-gutter); background: var(--home-surface); scroll-margin-top: 85px; }
.request-introduction h2 { margin: 0 0 28px; font-size: clamp(36px, 4vw, 58px); }
.request-introduction p { color: var(--home-muted); font-size: 15px; line-height: 1.7; max-width: 400px; }
.request-phone { display: block; margin-top: 40px; color: var(--home-ink); text-decoration: none; font-size: clamp(25px, 2.5vw, 36px); }
.request-email { display: block; margin-top: 12px; font-size: 13px; overflow-wrap: anywhere; color: var(--home-muted); }
.home-review .lead-form { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; scroll-margin-top: 88px; }
.home-review .lead-form h3 { color: var(--home-ink); margin-bottom: 23px; font-size: 22px; }
.home-review .lead-form label { color: var(--home-ink); text-transform: none; font-size: 12px; font-weight: 400; margin-top: 14px; gap: 8px; }
.home-review .lead-form input, .home-review .lead-form select, .home-review .lead-form textarea { color: var(--home-ink); background: var(--home-bg); border-color: var(--home-line); font-size: 14px; font-weight: 400; caret-color: var(--home-accent); }
.home-review .lead-form input::placeholder, .home-review .lead-form textarea::placeholder { color: var(--home-muted); opacity: 1; }
.home-review .lead-form input:focus, .home-review .lead-form select:focus, .home-review .lead-form textarea:focus { border-color: var(--home-accent); background: var(--home-bg); box-shadow: none; }
.home-review .lead-form button { color: var(--home-action-ink); background: var(--home-accent); font-size: 14px; font-weight: 600; text-transform: none; }
.home-review .lead-form .form-note a { color: var(--home-muted); font-weight: 400; }
.home-review .lead-form .form-status[data-state="error"] { color: #ffc7bd; }
.home-review .lead-form .form-status[data-state="success"] { color: #c6edc7; }
[data-view="daylight"] .lead-form .form-status[data-state="error"] { color: #9c2c25; }
[data-view="daylight"] .lead-form .form-status[data-state="success"] { color: #27603c; }
.home-review .cta-band { padding: 48px var(--home-gutter); background: var(--home-surface); border-color: var(--home-line); }
.home-review .cta-band h2 { color: var(--home-ink); font-weight: 500; }
.home-review .cta-band .nav-phone { color: var(--home-ink); font-weight: 400; }

/* Inner pages: hero banner, and the handful of page-specific components
   that don't exist on the homepage (About story, Service Area chips,
   Services accordion). Reuses the same --home-* tokens as everything
   else so a page never visually "jumps" between sections. */
.home-review .page-hero {
  padding: clamp(48px, 7vw, 96px) var(--home-gutter) clamp(40px, 5vw, 64px);
  background: var(--home-bg);
  border-bottom: 1px solid var(--home-line);
}
[data-view="skyline"] .home-review .page-hero {
  padding-top: max(clamp(48px, 7vw, 96px), calc(var(--topbar-h) + 20px));
}
.home-review .page-hero-inner { width: min(1440px, 100%); margin: 0 auto; }
.home-review .page-hero h1 { color: var(--home-ink); font-weight: 500; }
.home-review .page-hero .lede { color: var(--home-muted); }
.home-review .breadcrumbs { display: flex; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; color: var(--home-muted); font-size: 13px; }
.home-review .breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; }
.home-review .breadcrumbs a { color: var(--home-muted); }
.home-review .breadcrumbs a:hover { color: var(--home-ink); }
.home-review .breadcrumbs li[aria-current] { color: var(--home-ink); }

.home-review .muted-section { background: var(--home-surface); }

/* About page */
.home-review .about-copy p { color: var(--home-muted); }
.home-review .about-display { color: var(--home-ink); font-weight: 500; }

/* Service Area page */
.home-review .area-chips li { color: var(--home-ink); background: var(--home-surface); border: 1px solid var(--home-line); }
.home-review .area-note { color: var(--home-muted); }

/* Services page accordion */
.home-review .service-accordion { background: var(--home-line); border-color: var(--home-line); }
.home-review .service-accordion details { background: var(--home-bg); transition: background-color 180ms ease; }
.home-review .service-accordion details[open] { background: var(--home-surface); }
.home-review .service-accordion details:not([open]):hover { background: var(--home-surface); }
.home-review .service-accordion summary h2 { color: var(--home-ink); font-weight: 500; transition: color 180ms ease; }
.home-review .service-accordion details:not([open]):hover summary h2 { color: var(--home-accent); }
.home-review .service-accordion summary::after { color: var(--home-accent); border-color: var(--home-line); background: transparent; transition: border-color 180ms ease; }
.home-review .service-accordion details:not([open]):hover summary::after { border-color: var(--home-accent); }
.home-review .service-accordion details[open] summary::after { color: var(--home-action-ink); background: var(--home-accent); }
.home-review .service-icon { color: var(--home-accent); background: var(--home-surface); }
.home-review .service-reveal p { color: var(--home-muted); }
.home-review .service-text { max-width: 680px; padding-top: 6px; }
.home-review .service-reveal p { font-size: 22px; line-height: 1.45; }
.home-review .service-includes { margin: 20px 0 0; padding: 0; list-style: none; }
.home-review .service-includes li { position: relative; padding-left: 24px; margin-top: 13px; color: var(--home-muted); font-size: 18px; line-height: 1.6; }
.home-review .service-includes li::before { content: "\2013"; position: absolute; left: 0; color: var(--home-accent); font-weight: 900; }

.home-review .clients-band {
  padding: 40px var(--home-gutter) 48px;
  background: var(--home-bg);
  border-top: 1px solid var(--home-line);
  text-align: center;
}
.home-review .clients-label {
  margin: 0 0 28px;
  color: var(--home-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-review .clients-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 4vw, 56px);
}
.home-review .clients-row img {
  height: 32px;
  width: auto;
  opacity: .82;
  filter: grayscale(1) brightness(1.6);
  transition: opacity 180ms ease, filter 180ms ease;
}
.home-review .clients-row img:hover { opacity: 1; filter: none; }
.home-review .clients-row img.full-color { opacity: 1; filter: none; }
.home-review .btn { color: var(--home-action-ink); background: var(--home-accent); box-shadow: none; }
.home-review .site-footer { background: var(--home-bg); color: var(--home-ink); }
.home-review .footer-grid { width: 100%; grid-template-columns: 1.3fr 1fr .6fr 1.1fr; padding: 64px var(--home-gutter) 42px; gap: 35px; }
.home-review .footer-grid h2 { color: var(--home-ink); font-weight: 500; letter-spacing: 0; font-size: 13px; text-transform: none; }
.home-review .footer-grid p, .home-review .footer-grid nav a, .home-review .footer-contact a { color: var(--home-muted); font-size: 12px; }
.home-review .footer-contact a { overflow-wrap: anywhere; }
.home-review .footer-bottom { width: 100%; padding: 28px var(--home-gutter); border-color: var(--home-line); color: var(--home-muted); font-size: 12px; }
.home-review .footer-credential { color: var(--home-accent); font-size: 20px; font-weight: 500; }

/* ---- Classic: the live site's palette, type, and layout, with the
   two boxes lifted off the hero so the photograph carries it -------- */
[data-view="classic"] .home-review { font-family: Aptos, "Segoe UI", Arial, sans-serif; --radius: 12px; --radius-lg: 16px; }
[data-view="classic"] .home-review h1, [data-view="classic"] .home-review h2 { font-weight: 800; letter-spacing: -.022em; }
[data-view="classic"] .home-review .section-head h2,
[data-view="classic"] .home-review .request-introduction h2,
[data-view="classic"] .home-review .cta-band h2 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.07; }
[data-view="classic"] .home-review h3 { font-weight: 700; }

[data-view="classic"] .home-review .topbar { background: var(--classic-charcoal); }
[data-view="classic"] .home-review .brand-mini strong { color: #fff; font-weight: 800; }
[data-view="classic"] .home-review .brand-mini small { color: var(--classic-gold); font-weight: 700; }
[data-view="classic"] .home-review .primary-nav a { color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
[data-view="classic"] .home-review .primary-nav a[aria-current] { color: #fff; }
[data-view="classic"] .home-review .primary-nav a::after { background: var(--classic-gold); }
[data-view="classic"] .home-review .primary-nav .nav-phone { color: var(--classic-gold); }
[data-view="classic"] .home-review .primary-nav .nav-cta { padding: 12px 18px; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.85); border-radius: 12px; font-size: 12px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
[data-view="classic"] .home-review .primary-nav .nav-cta:hover { background: rgba(255,255,255,.14); filter: none; }
[data-view="classic"] .home-review .nav-toggle { color: #fff; border-color: rgba(255,255,255,.4); }
[data-view="classic"] .home-review .primary-nav.is-open { border-top-color: rgba(255,255,255,.18); }

[data-view="classic"] .city-hero { display: grid; grid-template-rows: 1fr auto; align-items: center; min-height: min(640px, calc(100svh - var(--review-h) - var(--topbar-h))); padding: clamp(46px, 5vw, 78px) var(--home-gutter) 22px; background: #1d2b33; }
[data-view="classic"] .city-shade {
  background:
    linear-gradient(90deg, rgba(11,19,24,.9) 0%, rgba(11,19,24,.74) 34%, rgba(11,19,24,.3) 68%, rgba(11,19,24,.14) 100%),
    linear-gradient(0deg, rgba(11,19,24,.58), transparent 44%);
}
[data-view="classic"] .city-poster, [data-view="classic"] .city-film { object-position: 50% 44%; }
[data-view="classic"] .city-frame { animation: city-breathe 92s ease-in-out infinite alternate; }
[data-view="classic"] .hero-content { display: flex; flex-direction: column; align-items: flex-start; width: min(1440px, 100%); margin-inline: auto; }
[data-view="classic"] .hero-action-block { display: contents; }
[data-view="classic"] .hero-service-line { order: -1; max-width: 70ch; margin-bottom: 15px; color: var(--classic-gold); font-size: 12.5px; font-weight: 800; letter-spacing: .085em; line-height: 1.5; text-transform: uppercase; }
[data-view="classic"] .city-hero h1 { max-width: 19ch; color: #fff; font-size: clamp(38px, 3.8vw, 55px); font-weight: 800; line-height: 1.06; }
[data-view="classic"] .city-hero h1 span { color: var(--classic-gold); }
[data-view="classic"] .hero-actions { margin-top: 30px; }
[data-view="classic"] .primary-action { gap: 28px; color: #231800; background: var(--classic-gold); border-radius: 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
[data-view="classic"] .quiet-action { color: #fff; border-bottom-color: rgba(255,255,255,.55); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
[data-view="classic"] .quiet-action:hover { border-bottom-color: #fff; }
[data-view="classic"] .city-caption { width: min(1440px, 100%); margin: 26px auto 0; color: #eaeeea; }

[data-view="classic"] .home-review .stat-strip b { font-weight: 800; }
[data-view="classic"] .home-review .service-detail-grid { gap: 16px; }
[data-view="classic"] .home-review .service-detail-grid article { grid-template-columns: 1fr; gap: 9px; min-height: 0; padding: 22px; background: #fff; border: 1px solid var(--home-line); border-radius: 16px; box-shadow: 0 1px 0 rgba(16,24,32,.03); }
[data-view="classic"] .home-review .service-detail-grid article h3 { font-size: 20px; font-weight: 700; }
[data-view="classic"] .home-review .operations-panel { background: #fff; border: 1px solid var(--home-line); border-radius: 16px; }
[data-view="classic"] .home-review .request-section { background: #edefe9; }
[data-view="classic"] .home-review .lead-form input, [data-view="classic"] .home-review .lead-form select, [data-view="classic"] .home-review .lead-form textarea { background: #fff; border-radius: 12px; }
[data-view="classic"] .home-review .lead-form button, [data-view="classic"] .home-review .btn { border-radius: 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
[data-view="classic"] .home-review .cta-band { color: #fff; background: var(--classic-charcoal); border-color: rgba(255,255,255,.14); }
[data-view="classic"] .home-review .cta-band h2, [data-view="classic"] .home-review .cta-band .nav-phone { color: #fff; }
[data-view="classic"] .home-review .cta-band p { color: rgba(255,255,255,.78); }
[data-view="classic"] .home-review .site-footer { color: #fff; background: var(--classic-charcoal); }
[data-view="classic"] .home-review .footer-grid h2 { color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
[data-view="classic"] .home-review .footer-grid p, [data-view="classic"] .home-review .footer-grid nav a, [data-view="classic"] .home-review .footer-contact a { color: rgba(255,255,255,.76); }
[data-view="classic"] .home-review .footer-bottom { color: rgba(255,255,255,.7); border-color: rgba(255,255,255,.16); }
[data-view="classic"] .home-review .footer-credential { color: var(--classic-gold); font-weight: 800; }

@media (min-width: 1700px) {
  .home-review { --home-gutter: max(88px, calc((100vw - 1510px) / 2)); }
}
@media (max-width: 1150px) {
  .review-brand span { display: none; }
  .home-review { --topbar-h: 82px; }
  .home-review .topbar { gap: 18px; }
  .home-review .primary-nav { gap: 17px; }
  [data-view="skyline"] .city-hero h1 { max-width: 16ch; font-size: clamp(40px, 5.4vw, 60px); }
  [data-view="daylight"] .city-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  [data-view="daylight"] .city-hero h1 { font-size: 40px; }
  [data-view="daylight"] .hero-stage { min-height: 430px; }
  [data-view="parkway"] .city-hero h1 { font-size: 38px; }
  [data-view="parkway"] .city-media { min-height: 380px; }
  .panel-note { font-size: 12.5px; }
  .home-review .service-detail-grid article { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 800px) {
  .review-bar { padding: 6px 16px; grid-template-columns: 1fr auto; gap: 10px; }
  .review-brand { display: none; }
  .direction-switcher { justify-self: start; }
  .direction-switcher a { padding: 0 12px; }
  .copy-direction { font-size: 11px; }
  .home-review { --topbar-h: 76px; }
  .home-review .topbar { padding-block: 14px; min-height: 76px; flex-wrap: wrap; }
  .home-review .nav-toggle { display: inline-flex; }
  .home-review .primary-nav { display: none; flex: 0 0 100%; padding: 18px 0 8px; border-top: 1px solid var(--home-line); gap: 22px; flex-wrap: wrap; }
  .home-review .primary-nav.is-open { display: flex; }
  .home-review .primary-nav a { font-size: 14px; }
  .city-poster, .city-film { object-position: 62% 50%; }
  [data-view="skyline"] .city-hero { padding-top: calc(var(--topbar-h) + 30px); padding-bottom: 20px; }
  [data-view="skyline"] .city-hero h1 { max-width: 15ch; font-size: clamp(36px, 7.4vw, 50px); }
  [data-view="skyline"] .hero-action-block { flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 28px; padding-top: 22px; }
  [data-view="skyline"] .city-shade { background: linear-gradient(180deg, rgba(5,13,17,.68) 0%, transparent 27%), linear-gradient(0deg, rgba(5,13,17,.88) 0%, rgba(5,13,17,.34) 54%, rgba(5,13,17,.04) 100%); }
  [data-view="daylight"] .city-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; grid-template-areas: "copy" "stage" "caption"; gap: 24px; }
  [data-view="daylight"] .hero-stage { min-height: 340px; }
  [data-view="daylight"] .hero-index { display: grid; grid-template-columns: 1fr 1fr; column-gap: 22px; }
  [data-view="daylight"] .hero-action-block { margin-top: 4px; }
  [data-view="parkway"] .city-hero { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  [data-view="parkway"] .hero-content { grid-column: 1 / 7; grid-row: 1; padding: 0 0 4px; }
  [data-view="parkway"] .city-media { grid-column: 1 / 7; grid-row: 2; min-height: 280px; }
  [data-view="parkway"] .mosaic-scope { grid-column: 1 / 4; grid-row: 3; }
  [data-view="parkway"] .mosaic-work { grid-column: 4 / 7; grid-row: 3; }
  [data-view="parkway"] .city-caption { grid-column: 1 / 7; grid-row: 4; }
  [data-view="classic"] .city-hero { min-height: 520px; padding-top: 46px; }
  [data-view="classic"] .city-hero h1 { max-width: 14ch; font-size: clamp(32px, 7vw, 46px); }
  [data-view="classic"] .city-shade { background: linear-gradient(180deg, rgba(11,19,24,.86) 0%, rgba(11,19,24,.58) 56%, rgba(11,19,24,.8) 100%); }
  [data-view="classic"] .home-review .service-detail-grid article { grid-template-columns: 1fr; }
  .home-introduction { grid-template-columns: 1fr; gap: 32px; }
  .home-review .stat-strip { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .home-review .stat-strip span { grid-template-columns: 1fr; border: 0; gap: 7px; padding: 0; }
  .home-review .split-section { grid-template-columns: 1fr; gap: 36px; }
  .request-section { grid-template-columns: 1fr; gap: 42px; }
  .request-phone { margin-top: 22px; }
  .home-review .footer-grid { grid-template-columns: 1fr 1fr; }
  .home-review .full-section, .home-review #approach.full-section { padding-block: 56px; }
}
@media (max-width: 480px) {
  .review-bar { padding: 5px 10px; gap: 3px; min-height: 53px; }
  .direction-switcher { gap: 0; }
  .direction-switcher a { padding: 0 10px; gap: 6px; font-size: 11px; }
  .direction-swatch { width: 8px; height: 8px; }
  .copy-direction { padding-left: 5px; font-size: 11px; max-width: 65px; line-height: 1.4; }
  .home-review .topbar { min-height: 75px; }
  .home-review .brand-mini strong { font-size: 11px; }
  .home-review .brand-mini small { font-size: 11px; }
  .home-review { --review-h: 53px; --topbar-h: 75px; }
  .hero-service-line { font-size: 13px; max-width: 320px; }
  .hero-actions { gap: 18px; }
  .primary-action { min-height: 49px; font-size: 13px; padding-inline: 17px; gap: 28px; }
  .quiet-action { font-size: 12px; gap: 14px; }
  .city-caption { align-items: end; font-size: 11px; }
  .city-caption > span { max-width: 170px; }
  .panel-name { font-size: 20px; }
  .panel-note { font-size: 12.5px; }
  [data-view="skyline"] .city-hero h1 { font-size: 38px; line-height: 1.08; letter-spacing: -.035em; }
  [data-view="skyline"] .hero-service-line { font-size: 13.5px; }
  [data-view="daylight"] .city-hero h1 { font-size: 33px; }
  [data-view="daylight"] .hero-index { display: none; }
  [data-view="daylight"] .hero-stage { min-height: 300px; }
  [data-view="parkway"] .city-hero h1 { font-size: 32px; }
  [data-view="parkway"] .city-media { min-height: 230px; }
  [data-view="parkway"] .mosaic-scope { grid-column: 1 / 7; }
  [data-view="parkway"] .mosaic-work { grid-column: 1 / 7; grid-row: 4; }
  [data-view="parkway"] .city-caption { grid-row: 5; }
  [data-view="classic"] .city-hero { min-height: 470px; }
  [data-view="classic"] .city-hero h1 { max-width: none; font-size: 30px; }
  [data-view="classic"] .hero-service-line { font-size: 11.5px; letter-spacing: .07em; }
  .work-panel--mini { min-height: 124px; }
  .home-introduction { padding-block: 34px; }
  .home-review .hero-summary { font-size: 15px; }
  .home-review .stat-strip { grid-template-columns: 1fr; gap: 15px; }
  .home-review .stat-strip span { grid-template-columns: 110px 1fr; font-size: 11px; }
  .home-review .service-detail-grid { grid-template-columns: 1fr; gap: 0; }
  .home-review .service-detail-grid article { grid-template-columns: 1fr; gap: 10px; min-height: 0; padding: 23px 0; }
  .home-review .service-detail-grid article h3 { font-size: 23px; max-width: none; }
  .home-review .service-detail-grid article p { font-size: 14px; }
  .request-section { padding-block: 45px; }
  .home-review .operations-panel { padding: 25px; }
  .home-review .standard-grid span { grid-template-columns: 1fr; gap: 8px; }
  .home-review .split-section .split-lead { font-size: 25px; }
  .home-review .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .home-review .footer-brand, .home-review .footer-contact { grid-column: 1 / -1; }
  .home-review .footer-bottom { display: block; }
  .home-review .footer-credential { margin: 24px 0 0; text-align: left; max-width: none; }
}
