/* ============================================================================
   UTMOST BUILDS — ARCHITECTURAL EDITORIAL
   Art-direction layer. Loaded last.

   The previous candidate was component-driven: everything lived in a bordered
   box, every section opened with a huge serif statement over a dark green
   field, and photography was reduced to equal thumbnails inside cards. It read
   as a design-system showcase rather than a building company.

   This layer inverts that relationship. Photography is structural — it sets
   the page rhythm, breaks the container, and carries the argument. Type
   annotates the work; it does not replace it.

   Rules this layer enforces:
     · Images are large, few, and specific. No equal-card grids.
     · Ivory is the ground. Dark forest appears once or twice per page, always
       carrying a photograph, never as an empty field.
     · Headings step down hard (display was up to 7.55rem; now 4.4rem max) and
       navigation steps up (was 0.59rem mono; now 0.78rem sans).
     · Borders are removed. Whitespace and image edges define regions.
     · Mono is reserved for figure numbers and captions only.
   ============================================================================ */

body.utmost-launch-final.utmost-final-luxury{
  --ed-max:1440px;
  --ed-gutter:clamp(20px,4.2vw,76px);
  --ed-rhythm:clamp(72px,8vw,150px);
  --ink:#1d211e;
  --ink-soft:#5c635d;
  --rule:rgba(29,33,30,.14);
  --rule-light:rgba(255,255,255,.22);
}

/* ---------------------------------------------------------------------------
   1. TYPE REBALANCE
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury h1,
body.utmost-launch-final.utmost-final-luxury h2,
body.utmost-launch-final.utmost-final-luxury h3{
  font-family:var(--serif);font-weight:500;letter-spacing:-.022em;text-wrap:balance;color:var(--ink);
}
body.utmost-launch-final.utmost-final-luxury h1{font-size:clamp(2.6rem,4.6vw,4.6rem);line-height:1.05}
body.utmost-launch-final.utmost-final-luxury h2{font-size:clamp(2.15rem,3.35vw,3.4rem);line-height:1.09}
body.utmost-launch-final.utmost-final-luxury h3{font-size:clamp(1.28rem,1.65vw,1.72rem);line-height:1.22;letter-spacing:-.014em}
body.utmost-launch-final.utmost-final-luxury p,
body.utmost-launch-final.utmost-final-luxury li{font-size:1.01rem;line-height:1.72;color:var(--ink-soft)}
body.utmost-launch-final.utmost-final-luxury .lead{font-size:clamp(1.06rem,1.25vw,1.2rem);line-height:1.68;color:var(--ink-soft);max-width:56ch}

/* Navigation was 0.59rem monospace — smaller than any legible UI text should be. */
body.utmost-launch-final.utmost-final-luxury .main-nav a{
  font-family:var(--sans);font-size:.79rem;font-weight:500;letter-spacing:.055em;text-transform:none;color:rgba(255,255,255,.9);
}
body.utmost-launch-final.utmost-final-luxury .main-nav a:hover{color:#fff}
body.utmost-launch-final.utmost-final-luxury .utility{font-size:.72rem;letter-spacing:.05em}
body.utmost-launch-final.utmost-final-luxury .btn{
  font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;min-height:54px;padding:15px 30px;
}

/* Eyebrows: drastically reduced in use. Where kept, sans not mono, and quiet. */
body.utmost-launch-final.utmost-final-luxury .eyebrow{
  font-family:var(--sans);font-size:.71rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--brass-700);margin-bottom:16px;
}
/* Mono survives only as figure numbering and captions. */
body.utmost-launch-final.utmost-final-luxury .ed-fig,body.utmost-launch-final.utmost-final-luxury .ed-cap-num,body.utmost-launch-final.utmost-final-luxury .ed-index{font-family:var(--mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase}

/* ---------------------------------------------------------------------------
   2. EDITORIAL SHELL
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed{padding:var(--ed-rhythm) 0;background:var(--paper);position:relative}
body.utmost-launch-final.utmost-final-luxury .ed--tight{padding:calc(var(--ed-rhythm) * .55) 0}
body.utmost-launch-final.utmost-final-luxury .ed--flush{padding:0}
body.utmost-launch-final.utmost-final-luxury .ed--ivory{background:var(--ivory)}
body.utmost-launch-final.utmost-final-luxury .ed--dark{background:var(--green-1000);color:#fff}
body.utmost-launch-final.utmost-final-luxury .ed-wrap{width:min(100% - (var(--ed-gutter) * 2), var(--ed-max));margin-inline:auto}
body.utmost-launch-final.utmost-final-luxury .ed-narrow{width:min(100% - (var(--ed-gutter) * 2), 900px);margin-inline:auto}

/* A grid you can actually compose against, rather than three equal columns. */
body.utmost-launch-final.utmost-final-luxury .ed-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.4vw,40px)}
body.utmost-launch-final.utmost-final-luxury .c1{grid-column-end:span 1}body.utmost-launch-final.utmost-final-luxury .c2{grid-column-end:span 2}body.utmost-launch-final.utmost-final-luxury .c3{grid-column-end:span 3}body.utmost-launch-final.utmost-final-luxury .c4{grid-column-end:span 4}
body.utmost-launch-final.utmost-final-luxury .c5{grid-column-end:span 5}body.utmost-launch-final.utmost-final-luxury .c6{grid-column-end:span 6}body.utmost-launch-final.utmost-final-luxury .c7{grid-column-end:span 7}body.utmost-launch-final.utmost-final-luxury .c8{grid-column-end:span 8}
body.utmost-launch-final.utmost-final-luxury .c9{grid-column-end:span 9}body.utmost-launch-final.utmost-final-luxury .c10{grid-column-end:span 10}body.utmost-launch-final.utmost-final-luxury .c11{grid-column-end:span 11}body.utmost-launch-final.utmost-final-luxury .c12{grid-column-end:span 12}
body.utmost-launch-final.utmost-final-luxury .start2{grid-column-start:2}body.utmost-launch-final.utmost-final-luxury .start3{grid-column-start:3}body.utmost-launch-final.utmost-final-luxury .start4{grid-column-start:4}
body.utmost-launch-final.utmost-final-luxury .start5{grid-column-start:5}body.utmost-launch-final.utmost-final-luxury .start6{grid-column-start:6}body.utmost-launch-final.utmost-final-luxury .start7{grid-column-start:7}body.utmost-launch-final.utmost-final-luxury .start8{grid-column-start:8}
body.utmost-launch-final.utmost-final-luxury .ed-drop{margin-top:clamp(26px,5vw,96px)}
body.utmost-launch-final.utmost-final-luxury .ed-rise{margin-top:calc(clamp(26px,5vw,96px) * -1)}

/* ---------------------------------------------------------------------------
   3. IMAGE AS STRUCTURE
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-img{display:block;width:100%;height:100%;object-fit:cover;background:var(--ivory-2)}
body.utmost-launch-final.utmost-final-luxury .ed-frame{position:relative;overflow:hidden;background:var(--ivory-2)}
body.utmost-launch-final.utmost-final-luxury .ed-frame img{display:block;width:100%;height:100%;object-fit:cover}
body.utmost-launch-final.utmost-final-luxury .r-16x9{aspect-ratio:16/9}body.utmost-launch-final.utmost-final-luxury .r-3x2{aspect-ratio:3/2}body.utmost-launch-final.utmost-final-luxury .r-4x3{aspect-ratio:4/3}
body.utmost-launch-final.utmost-final-luxury .r-1x1{aspect-ratio:1/1}body.utmost-launch-final.utmost-final-luxury .r-3x4{aspect-ratio:3/4}body.utmost-launch-final.utmost-final-luxury .r-4x5{aspect-ratio:4/5}

/* Full-bleed: escapes the wrapper without horizontal overflow. */
body.utmost-launch-final.utmost-final-luxury .ed-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
body.utmost-launch-final.utmost-final-luxury .ed-bleed img{width:100%;display:block}

/* Figure caption: a rule, a number, a fact. Nothing decorative. */
body.utmost-launch-final.utmost-final-luxury .ed-figure{margin:0}
body.utmost-launch-final.utmost-final-luxury .ed-figure figcaption{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);
  display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;
}
body.utmost-launch-final.utmost-final-luxury .ed-figure figcaption .ed-fig{color:var(--brass-700);flex:0 0 auto}
body.utmost-launch-final.utmost-final-luxury .ed-figure figcaption span:last-child{font-size:.84rem;color:var(--ink-soft);line-height:1.55}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-figure figcaption{border-top-color:var(--rule-light)}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-figure figcaption .ed-fig{color:var(--brass-300)}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-figure figcaption span:last-child{color:rgba(255,255,255,.72)}

/* Text panel that sits over the lower corner of a photograph. */
body.utmost-launch-final.utmost-final-luxury .ed-overlap{position:relative;z-index:2;background:var(--paper);padding:clamp(26px,3.4vw,52px)}
@media(min-width:941px){
  body.utmost-launch-final.utmost-final-luxury .ed-overlap--tl{margin-top:clamp(-140px,-9vw,-60px);margin-right:clamp(20px,6vw,110px)}
  body.utmost-launch-final.utmost-final-luxury .ed-overlap--tr{margin-top:clamp(-140px,-9vw,-60px);margin-left:clamp(20px,6vw,110px)}
}

/* ---------------------------------------------------------------------------
   4. HERO — photograph first, type second
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-hero{position:relative;min-height:min(88vh,860px);display:grid;align-items:end;isolation:isolate;background:var(--green-1000)}
body.utmost-launch-final.utmost-final-luxury .ed-hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
body.utmost-launch-final.utmost-final-luxury .ed-hero__media img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-focus,50% 52%)}
/* One soft gradient from the base only. The photograph is not covered. */
body.utmost-launch-final.utmost-final-luxury .ed-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(to top,rgba(8,18,15,.93) 0%,rgba(8,18,15,.78) 22%,rgba(8,18,15,.44) 46%,rgba(8,18,15,.10) 72%,rgba(8,18,15,0) 92%),
    linear-gradient(102deg,rgba(8,18,15,.58) 0%,rgba(8,18,15,.24) 46%,rgba(8,18,15,0) 76%);
}
body.utmost-launch-final.utmost-final-luxury .ed-hero__inner{width:min(100% - (var(--ed-gutter) * 2), var(--ed-max));margin-inline:auto;padding-bottom:clamp(44px,6vw,86px);color:#fff}
body.utmost-launch-final.utmost-final-luxury .ed-hero__kicker{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--brass-200);margin:0 0 18px;display:flex;align-items:center;gap:14px;
}
body.utmost-launch-final.utmost-final-luxury .ed-hero__kicker::after{content:"";height:1px;width:clamp(40px,7vw,120px);background:rgba(213,187,134,.5)}
body.utmost-launch-final.utmost-final-luxury .ed-hero h1{color:#fff;max-width:15ch;margin:0 0 18px;font-size:clamp(2.4rem,4vw,3.9rem);line-height:1.06;text-shadow:0 1px 30px rgba(4,12,10,.4)}
body.utmost-launch-final.utmost-final-luxury .ed-hero__sub{color:rgba(255,255,255,.86);max-width:46ch;font-size:clamp(1rem,1.15vw,1.13rem);line-height:1.68;margin:0 0 30px}
body.utmost-launch-final.utmost-final-luxury .ed-hero__actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
body.utmost-launch-final.utmost-final-luxury .ed-hero__meta{
  margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2);
  display:flex;gap:clamp(20px,3vw,54px);flex-wrap:wrap;
}
body.utmost-launch-final.utmost-final-luxury .ed-hero__meta div{display:grid;gap:3px}
body.utmost-launch-final.utmost-final-luxury .ed-hero__meta dt,body.utmost-launch-final.utmost-final-luxury .ed-hero__meta b{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-200);font-weight:400}
body.utmost-launch-final.utmost-final-luxury .ed-hero__meta dd,body.utmost-launch-final.utmost-final-luxury .ed-hero__meta span{margin:0;font-family:var(--serif);font-size:1.16rem;color:#fff;line-height:1.2}

/* ---------------------------------------------------------------------------
   5. STATEMENT — a paragraph, not a manifesto
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-statement p{
  font-family:var(--serif);font-size:clamp(1.55rem,2.4vw,2.3rem);line-height:1.34;
  letter-spacing:-.018em;color:var(--ink);max-width:30ch;margin:0;
}
body.utmost-launch-final.utmost-final-luxury .ed-statement .ed-sub{
  font-family:var(--sans);font-size:1.01rem;line-height:1.74;color:var(--ink-soft);max-width:46ch;margin:22px 0 0;letter-spacing:0;
}

/* ---------------------------------------------------------------------------
   6. WORK — asymmetric, not a card grid
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-work a{display:block;text-decoration:none;color:inherit}
body.utmost-launch-final.utmost-final-luxury .ed-work figure{margin:0;overflow:hidden;background:var(--ivory-2)}
body.utmost-launch-final.utmost-final-luxury .ed-work img{transition:transform 1s var(--ease)}
body.utmost-launch-final.utmost-final-luxury .ed-work a:hover img{transform:scale(1.025)}
body.utmost-launch-final.utmost-final-luxury .ed-work__meta{padding-top:16px;display:grid;gap:5px}
body.utmost-launch-final.utmost-final-luxury .ed-work__meta .ed-index{color:var(--brass-700)}
body.utmost-launch-final.utmost-final-luxury .ed-work__meta h3{margin:0;font-size:clamp(1.25rem,1.7vw,1.7rem)}
body.utmost-launch-final.utmost-final-luxury .ed-work__meta p{margin:0;font-size:.86rem;color:var(--ink-soft)}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-work__meta h3{color:#fff}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-work__meta p{color:rgba(255,255,255,.66)}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-work__meta .ed-index{color:var(--brass-300)}

/* ---------------------------------------------------------------------------
   7. SERVICES — alternating editorial rows, never five equal cards
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-service{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.6vw,52px);align-items:center}
body.utmost-launch-final.utmost-final-luxury .ed-service + .ed-service{margin-top:clamp(46px,6vw,104px)}
body.utmost-launch-final.utmost-final-luxury .ed-service__media{grid-column:1 / span 7}
body.utmost-launch-final.utmost-final-luxury .ed-service__body{grid-column:9 / span 4}
body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__media{grid-column:6 / span 7}
body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__body{grid-column:1 / span 4}
body.utmost-launch-final.utmost-final-luxury .ed-service__body h3{margin:0 0 12px}
body.utmost-launch-final.utmost-final-luxury .ed-service__body p{margin:0 0 18px;font-size:.96rem}
body.utmost-launch-final.utmost-final-luxury .ed-service__scope{
  margin:0 0 20px;padding:0;list-style:none;display:grid;gap:7px;
  font-size:.85rem;color:var(--ink-soft);
}
body.utmost-launch-final.utmost-final-luxury .ed-service__scope li{padding-left:16px;position:relative}
body.utmost-launch-final.utmost-final-luxury .ed-service__scope li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--brass-500)}
body.utmost-launch-final.utmost-final-luxury .ed-service__link{
  font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--green-800);
  border-bottom:1px solid var(--brass-400);padding-bottom:3px;display:inline-block;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
body.utmost-launch-final.utmost-final-luxury .ed-service__link:hover{color:var(--brass-700);border-color:var(--brass-700)}

/* ---------------------------------------------------------------------------
   8. DARK STATEMENT BAND — always carries a photograph
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-band{position:relative;isolation:isolate;color:#fff;min-height:min(74vh,680px);display:grid;align-items:center;background:var(--green-1000)}
body.utmost-launch-final.utmost-final-luxury .ed-band__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
body.utmost-launch-final.utmost-final-luxury .ed-band__media img{width:100%;height:100%;object-fit:cover;object-position:var(--band-focus,50% 50%)}
body.utmost-launch-final.utmost-final-luxury .ed-band::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(6,17,14,.90) 0%,rgba(6,17,14,.72) 38%,rgba(6,17,14,.28) 66%,rgba(6,17,14,.05) 100%)}
body.utmost-launch-final.utmost-final-luxury .ed-band__inner{width:min(100% - (var(--ed-gutter) * 2), var(--ed-max));margin-inline:auto;padding:clamp(56px,7vw,110px) 0}
body.utmost-launch-final.utmost-final-luxury .ed-band h2{color:#fff;max-width:19ch}
body.utmost-launch-final.utmost-final-luxury .ed-band p{color:rgba(255,255,255,.82);max-width:48ch}
body.utmost-launch-final.utmost-final-luxury .ed-band .ed-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0;max-width:54ch}
body.utmost-launch-final.utmost-final-luxury .ed-band .ed-list li{
  padding:13px 0;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.86);font-size:.93rem;
  display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:baseline;
}
body.utmost-launch-final.utmost-final-luxury .ed-band .ed-list li:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
body.utmost-launch-final.utmost-final-luxury .ed-band .ed-list b{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--brass-300);font-weight:400}

/* ---------------------------------------------------------------------------
   9. PROCESS — an editorial sequence, not a five-circle stepper
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-process{display:grid;gap:0}
body.utmost-launch-final.utmost-final-luxury .ed-process__step{
  display:grid;grid-template-columns:clamp(52px,7vw,110px) minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(16px,3vw,46px);align-items:start;padding:clamp(24px,3vw,42px) 0;border-top:1px solid var(--rule);
}
body.utmost-launch-final.utmost-final-luxury .ed-process__step:last-child{border-bottom:1px solid var(--rule)}
body.utmost-launch-final.utmost-final-luxury .ed-process__step > .ed-index{color:var(--brass-700);padding-top:6px}
body.utmost-launch-final.utmost-final-luxury .ed-process__step h3{margin:0}
body.utmost-launch-final.utmost-final-luxury .ed-process__step p{margin:0;font-size:.95rem}
@media(max-width:940px){
  body.utmost-launch-final.utmost-final-luxury .ed-process__step{grid-template-columns:44px minmax(0,1fr);gap:14px}
  body.utmost-launch-final.utmost-final-luxury .ed-process__step p{grid-column:2}
}

/* ---------------------------------------------------------------------------
   10. QUIET UTILITIES
   --------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-rule{height:1px;background:var(--rule);border:0;margin:0}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-rule{background:var(--rule-light)}
body.utmost-launch-final.utmost-final-luxury .ed-kicker{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--brass-700);margin:0 0 14px}
body.utmost-launch-final.utmost-final-luxury .ed--dark .ed-kicker{color:var(--brass-300)}
body.utmost-launch-final.utmost-final-luxury .ed-linklist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0}
body.utmost-launch-final.utmost-final-luxury .ed-linklist li{border-bottom:1px solid var(--rule)}
body.utmost-launch-final.utmost-final-luxury .ed-linklist a{display:block;padding:13px 0;font-size:.92rem;color:var(--ink);transition:color var(--dur) var(--ease)}
body.utmost-launch-final.utmost-final-luxury .ed-linklist a:hover{color:var(--brass-700)}

/* Motion: the lowest tier that still reads as intentional.
   opacity + 12px rise, 0.35s, once. Nothing floats, nothing parallaxes. */
body.utmost-launch-final.utmost-final-luxury .reveal{transition:opacity .45s var(--ease),transform .45s var(--ease)}
.motion-ready body.utmost-launch-final.utmost-final-luxury .reveal{transform:translateY(12px)}
body.utmost-launch-final.utmost-final-luxury .ed-hero .reveal,body.utmost-launch-final.utmost-final-luxury .ed-hero__inner *{opacity:1 !important;transform:none !important}

/* ---------------------------------------------------------------------------
   11. RESPONSIVE — composed for each width, not collapsed
   --------------------------------------------------------------------------- */
@media(max-width:1180px){
  body.utmost-launch-final.utmost-final-luxury .ed-service__media{grid-column:1 / span 7}
  body.utmost-launch-final.utmost-final-luxury .ed-service__body{grid-column:8 / span 5}
  body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__media{grid-column:6 / span 7}
  body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__body{grid-column:1 / span 5}
}
@media(max-width:940px){
  body.utmost-launch-final.utmost-final-luxury .ed-grid{gap:20px}
  body.utmost-launch-final.utmost-final-luxury .c1,body.utmost-launch-final.utmost-final-luxury .c2,body.utmost-launch-final.utmost-final-luxury .c3,body.utmost-launch-final.utmost-final-luxury .c4,body.utmost-launch-final.utmost-final-luxury .c5,body.utmost-launch-final.utmost-final-luxury .c6,body.utmost-launch-final.utmost-final-luxury .c7,body.utmost-launch-final.utmost-final-luxury .c8,body.utmost-launch-final.utmost-final-luxury .c9,body.utmost-launch-final.utmost-final-luxury .c10,body.utmost-launch-final.utmost-final-luxury .c11,body.utmost-launch-final.utmost-final-luxury .c12{grid-column-end:span 12}
  body.utmost-launch-final.utmost-final-luxury .start2,body.utmost-launch-final.utmost-final-luxury .start3,body.utmost-launch-final.utmost-final-luxury .start4,body.utmost-launch-final.utmost-final-luxury .start5,body.utmost-launch-final.utmost-final-luxury .start6,body.utmost-launch-final.utmost-final-luxury .start7,body.utmost-launch-final.utmost-final-luxury .start8{grid-column-start:auto}
  body.utmost-launch-final.utmost-final-luxury .ed-drop,body.utmost-launch-final.utmost-final-luxury .ed-rise{margin-top:0}
  body.utmost-launch-final.utmost-final-luxury .ed-service,body.utmost-launch-final.utmost-final-luxury .ed-service--flip{grid-template-columns:1fr}
  body.utmost-launch-final.utmost-final-luxury .ed-service__media,body.utmost-launch-final.utmost-final-luxury .ed-service__body,body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__media,body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__body{grid-column:1 / -1}
  body.utmost-launch-final.utmost-final-luxury .ed-service__body{margin-top:18px}
  body.utmost-launch-final.utmost-final-luxury .ed-overlap{margin:0 !important;padding:24px 0 0}
  body.utmost-launch-final.utmost-final-luxury .ed-hero{min-height:min(78vh,660px)}
  body.utmost-launch-final.utmost-final-luxury .ed-hero h1{max-width:none}
}
@media(max-width:650px){
  body.utmost-launch-final.utmost-final-luxury .ed{padding:clamp(48px,11vw,68px) 0}
  body.utmost-launch-final.utmost-final-luxury .ed-hero{min-height:74vh}
  body.utmost-launch-final.utmost-final-luxury .ed-hero h1{font-size:clamp(2.25rem,9.2vw,3rem)}
  body.utmost-launch-final.utmost-final-luxury .ed-hero__sub{font-size:.98rem}
  body.utmost-launch-final.utmost-final-luxury .ed-hero__actions{display:grid;width:100%}
  body.utmost-launch-final.utmost-final-luxury .ed-hero__actions .btn{width:100%}
  body.utmost-launch-final.utmost-final-luxury .ed-hero__meta{gap:18px}
  body.utmost-launch-final.utmost-final-luxury .ed-hero__meta dd,body.utmost-launch-final.utmost-final-luxury .ed-hero__meta span{font-size:1.02rem}
  body.utmost-launch-final.utmost-final-luxury .ed-statement p{font-size:clamp(1.38rem,6vw,1.75rem);max-width:none}
  body.utmost-launch-final.utmost-final-luxury .ed-band{min-height:auto}
  body.utmost-launch-final.utmost-final-luxury .ed-band::after{background:linear-gradient(to top,rgba(6,17,14,.94) 0%,rgba(6,17,14,.80) 46%,rgba(6,17,14,.55) 100%)}
  body.utmost-launch-final.utmost-final-luxury .ed-figure figcaption{gap:8px}
}

/* Anything the old component layer still paints inside an editorial section
   must not reintroduce borders or boxes. */
body.utmost-launch-final.utmost-final-luxury .ed .project-card,body.utmost-launch-final.utmost-final-luxury .ed .service-card,body.utmost-launch-final.utmost-final-luxury .ed .case-study-card,body.utmost-launch-final.utmost-final-luxury .ed .premium-atelier-card{
  border:0 !important;box-shadow:none !important;background:transparent !important;
}

/* ============================================================================
   12. INTERIOR PAGE TRANSFORMATION
   The homepage was rebuilt in markup. The other 44 pages carry substantial SEO
   copy and schema, so they are re-art-directed in CSS instead — same content,
   same markup, new visual language. Three tropes are removed everywhere:

     a) Dark green fields used as decoration. A page now gets at most two dark
        moments, and both carry a photograph (the hero and the closing band).
     b) Floating dark-glass panels hovering inside heroes.
     c) Five-column numbered stat strips rendered as boxes.
   ============================================================================ */
:root{ --U:body.utmost-launch-final.utmost-final-luxury; }

/* --- (a) Sections that were dark for no reason become the ivory ground ----- */
body.utmost-launch-final.utmost-final-luxury .kitchen-principles,
body.utmost-launch-final.utmost-final-luxury .kitchen-portfolio,
body.utmost-launch-final.utmost-final-luxury .bathroom-principles,
body.utmost-launch-final.utmost-final-luxury .bathroom-city-portfolio,
body.utmost-launch-final.utmost-final-luxury .whole-home-principles,
body.utmost-launch-final.utmost-final-luxury .new-home-principles,
body.utmost-launch-final.utmost-final-luxury .related-services,
body.utmost-launch-final.utmost-final-luxury .city-proof,
body.utmost-launch-final.utmost-final-luxury .city-character,
body.utmost-launch-final.utmost-final-luxury .city-neighborhoods,
body.utmost-launch-final.utmost-final-luxury .city-nearby,
body.utmost-launch-final.utmost-final-luxury .city-portfolio,
body.utmost-launch-final.utmost-final-luxury .project-atlas,
body.utmost-launch-final.utmost-final-luxury .portfolio-closing,
body.utmost-launch-final.utmost-final-luxury .services-hub-proof,
body.utmost-launch-final.utmost-final-luxury .project-fit-guide,
body.utmost-launch-final.utmost-final-luxury .service-network,
body.utmost-launch-final.utmost-final-luxury .foundation-dark,
body.utmost-launch-final.utmost-final-luxury .case-study-gallery,
body.utmost-launch-final.utmost-final-luxury .signature-baths,
body.utmost-launch-final.utmost-final-luxury .transformation-types,
body.utmost-launch-final.utmost-final-luxury .residential-construction-proof,
body.utmost-launch-final.utmost-final-luxury .new-home-foundations{
  background:var(--ivory) !important;
  background-image:none !important;
  color:var(--ink) !important;
}
/* alternate them so the page still breathes rather than running as one slab */
body.utmost-launch-final.utmost-final-luxury .kitchen-portfolio,
body.utmost-launch-final.utmost-final-luxury .bathroom-city-portfolio,
body.utmost-launch-final.utmost-final-luxury .city-character,
body.utmost-launch-final.utmost-final-luxury .city-nearby,
body.utmost-launch-final.utmost-final-luxury .project-atlas,
body.utmost-launch-final.utmost-final-luxury .foundation-dark,
body.utmost-launch-final.utmost-final-luxury .case-study-gallery{background:var(--paper) !important}
/* and repaint their contents for a light ground */
body.utmost-launch-final.utmost-final-luxury .kitchen-principles :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .kitchen-portfolio :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .related-services :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .city-proof :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .city-character :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .city-neighborhoods :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .city-nearby :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .city-portfolio :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .project-atlas :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .portfolio-closing :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .services-hub-proof :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .project-fit-guide :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .service-network :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .foundation-dark :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .case-study-gallery :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .signature-baths :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .transformation-types :is(h1,h2,h3,h4),
body.utmost-launch-final.utmost-final-luxury .bathroom-city-portfolio :is(h1,h2,h3,h4){color:var(--ink) !important}
body.utmost-launch-final.utmost-final-luxury .kitchen-principles :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .kitchen-portfolio :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .related-services :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .city-proof :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .city-character :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .city-neighborhoods :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .city-nearby :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .city-portfolio :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .project-atlas :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .portfolio-closing :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .services-hub-proof :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .project-fit-guide :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .service-network :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .foundation-dark :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .case-study-gallery :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .signature-baths :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .transformation-types :is(p,li,span,small,figcaption,dd),
body.utmost-launch-final.utmost-final-luxury .bathroom-city-portfolio :is(p,li,span,small,figcaption,dd){color:var(--ink-soft) !important}
body.utmost-launch-final.utmost-final-luxury .kitchen-portfolio .eyebrow,
body.utmost-launch-final.utmost-final-luxury .city-character .eyebrow,
body.utmost-launch-final.utmost-final-luxury .city-nearby .eyebrow,
body.utmost-launch-final.utmost-final-luxury .project-atlas .eyebrow,
body.utmost-launch-final.utmost-final-luxury .portfolio-closing .eyebrow,
body.utmost-launch-final.utmost-final-luxury .foundation-dark .eyebrow,
body.utmost-launch-final.utmost-final-luxury .case-study-gallery .eyebrow,
body.utmost-launch-final.utmost-final-luxury .services-hub-proof .eyebrow,
body.utmost-launch-final.utmost-final-luxury .project-fit-guide .eyebrow{color:var(--brass-700) !important}

/* --- (b) Floating dark-glass panels become a quiet inline meta block ------- */
body.utmost-launch-final.utmost-final-luxury .case-study-ledger,
body.utmost-launch-final.utmost-final-luxury .city-hero-card,
body.utmost-launch-final.utmost-final-luxury .whole-home-hero-card,
body.utmost-launch-final.utmost-final-luxury .bathroom-hero-note,
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel{
  position:static !important;transform:none !important;width:auto !important;max-width:46ch !important;
  background:none !important;backdrop-filter:none !important;box-shadow:none !important;
  border:0 !important;border-top:1px solid rgba(255,255,255,.24) !important;
  padding:18px 0 0 !important;margin:26px 0 0 !important;border-radius:0 !important;
}
body.utmost-launch-final.utmost-final-luxury .case-study-ledger :is(strong,h3,h4),
body.utmost-launch-final.utmost-final-luxury .city-hero-card :is(strong,h3,h4),
body.utmost-launch-final.utmost-final-luxury .whole-home-hero-card :is(strong,h3,h4),
body.utmost-launch-final.utmost-final-luxury .bathroom-hero-note :is(strong,h3,h4){
  font-size:1.05rem !important;color:#fff !important;margin:0 0 6px !important;font-family:var(--serif);
}
body.utmost-launch-final.utmost-final-luxury .case-study-ledger :is(p,small,span,li,dd),
body.utmost-launch-final.utmost-final-luxury .city-hero-card :is(p,small,span,li,dd),
body.utmost-launch-final.utmost-final-luxury .whole-home-hero-card :is(p,small,span,li,dd),
body.utmost-launch-final.utmost-final-luxury .bathroom-hero-note :is(p,small,span,li,dd){
  font-size:.83rem !important;color:rgba(255,255,255,.74) !important;line-height:1.6;
}

/* --- (c) Numbered stat strips: hairlines, not boxes ----------------------- */
body.utmost-launch-final.utmost-final-luxury .city-proof-grid,
body.utmost-launch-final.utmost-final-luxury .whole-home-proof-grid,
body.utmost-launch-final.utmost-final-luxury .services-hub-proof-grid,
body.utmost-launch-final.utmost-final-luxury .bathroom-proof-grid,
body.utmost-launch-final.utmost-final-luxury .new-home-foundations-grid,
body.utmost-launch-final.utmost-final-luxury .residential-construction-proof-grid,
body.utmost-launch-final.utmost-final-luxury .capability-grid{
  gap:clamp(18px,2.6vw,44px) !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.city-proof-grid,.whole-home-proof-grid,.services-hub-proof-grid,.bathroom-proof-grid,.new-home-foundations-grid,.residential-construction-proof-grid) > *,
body.utmost-launch-final.utmost-final-luxury .capability{
  background:none !important;border:0 !important;border-top:1px solid var(--rule) !important;
  box-shadow:none !important;padding:18px 0 0 !important;text-align:left !important;border-radius:0 !important;
}
body.utmost-launch-final.utmost-final-luxury .capability-strip{background:var(--ivory) !important;border:0 !important}
body.utmost-launch-final.utmost-final-luxury .capability-strip::after{display:none !important}
body.utmost-launch-final.utmost-final-luxury .capability > span{
  grid-row:auto !important;font-family:var(--mono) !important;font-size:.62rem !important;
  letter-spacing:.15em;color:var(--brass-700) !important;display:block;margin-bottom:8px;
}
body.utmost-launch-final.utmost-final-luxury .capability strong{
  display:block;font-family:var(--serif) !important;font-size:1.12rem !important;font-weight:500 !important;
  letter-spacing:-.01em !important;text-transform:none !important;color:var(--ink) !important;margin-bottom:4px;
}
body.utmost-launch-final.utmost-final-luxury .capability small{color:var(--ink-soft) !important;font-size:.82rem}
body.utmost-launch-final.utmost-final-luxury :is(.city-proof-grid,.whole-home-proof-grid,.services-hub-proof-grid,.bathroom-proof-grid,.new-home-foundations-grid) :is(strong,h3){
  font-family:var(--serif) !important;font-size:1.12rem !important;font-weight:500 !important;text-transform:none !important;letter-spacing:-.01em !important;
}

/* --- Hero variants: let the photograph through ---------------------------- */
body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.design-hero,.additions-hero,.partners-hero,.realtor-hero)::before{
  background:
    linear-gradient(to top,rgba(8,18,15,.92) 0%,rgba(8,18,15,.74) 24%,rgba(8,18,15,.40) 48%,rgba(8,18,15,.08) 74%,rgba(8,18,15,0) 94%),
    linear-gradient(102deg,rgba(8,18,15,.56) 0%,rgba(8,18,15,.22) 48%,rgba(8,18,15,0) 78%) !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.realtor-hero)::after{
  background:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.realtor-hero) h1{
  font-size:clamp(2.4rem,3.95vw,3.85rem) !important;line-height:1.06 !important;max-width:17ch;color:#fff !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.realtor-hero) h1 span{
  color:var(--brass-200) !important;font-style:italic;
}
/* the decorative brass graph-paper overlay, wherever it still appears */
body.utmost-launch-final.utmost-final-luxury :is(.hero-gridline,.city-hero-grid,.kitchen-hero-grid,.bathroom-hero-grid,.projects-hero-grid){display:none !important}

/* --- (b2) Any <aside> panel floating inside a hero, whatever it is called.
   Targeting the element rather than the class catches kitchen-hero-plan,
   projects-hero-aside, city-hero-card, case-study-ledger and the rest, and
   will catch any future variant too. ------------------------------------- */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside,
body.utmost-launch-final.utmost-final-luxury .ed-hero aside{
  position:static !important;transform:none !important;float:none !important;
  width:auto !important;max-width:60ch !important;
  background:none !important;backdrop-filter:none !important;box-shadow:none !important;
  border:0 !important;border-top:1px solid rgba(255,255,255,.24) !important;border-radius:0 !important;
  padding:20px 0 0 !important;margin:28px 0 0 !important;
  display:grid !important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  gap:22px 34px !important;align-items:start;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside > span:first-child{
  grid-column:1/-1;font-family:var(--mono) !important;font-size:.6rem !important;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brass-200) !important;margin:0 0 2px !important;display:block;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside :is(strong,h3,h4){
  display:block;font-family:var(--serif) !important;font-size:1.02rem !important;font-weight:500 !important;
  color:#fff !important;margin:0 0 5px !important;letter-spacing:-.01em !important;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside :is(p,small,li,dd,span,em,b){
  font-size:.82rem !important;line-height:1.6 !important;color:rgba(255,255,255,.74) !important;margin:0 !important;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside > div{border:0 !important;padding:0 !important;background:none !important}

/* --- (d) Gallery captions were dark plates sitting under every photograph.
   On the ivory ground they become plain type beneath the image. ---------- */
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-editorial,.bathroom-city-images,.city-gallery,.whole-home-story,.signature-baths-stage,.case-study-grid,.project-atlas,.atlas-rail) figcaption,
body.utmost-launch-final.utmost-final-luxury .portfolio-card figcaption{
  background:none !important;background-image:none !important;position:static !important;
  padding:12px 0 0 !important;color:var(--ink-soft) !important;min-height:0 !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-editorial,.bathroom-city-images,.city-gallery,.whole-home-story,.signature-baths-stage,.case-study-grid,.project-atlas) figcaption :is(span,b,strong,em){color:var(--brass-700) !important}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-editorial,.bathroom-city-images,.city-gallery,.whole-home-story,.case-study-grid) figure,
body.utmost-launch-final.utmost-final-luxury .portfolio-card{
  background:none !important;box-shadow:none !important;border:0 !important;overflow:visible !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-editorial,.bathroom-city-images,.city-gallery,.whole-home-story,.case-study-grid) figure :is(button,a){display:block;overflow:hidden;background:var(--ivory-2)}

/* --- (e) Portfolio index: editorial entries, not bordered cards ---------- */
body.utmost-launch-final.utmost-final-luxury :is(.case-study-card,.project-card,.story-card,.atlas-card){
  background:none !important;border:0 !important;box-shadow:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-card,.project-card) :is(.project-info,.case-study-card-body,figcaption){
  padding:16px 0 0 !important;background:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-card,.project-card):hover{
  transform:none !important;box-shadow:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-card,.project-card) :is(.project-image,figure){overflow:hidden;background:var(--ivory-2)}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-card,.project-card):hover img{transform:scale(1.025)}

/* --- (f) Section rhythm: the bespoke pages carried 100–170px paddings that
   read as empty rather than generous once the boxes were removed. -------- */
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-portfolio,.kitchen-principles,.kitchen-planning,.kitchen-types,.kitchen-process,.kitchen-faq,
  .bathroom-city-portfolio,.bathroom-materials,.signature-baths,.related-services,
  .city-proof,.city-character,.city-neighborhoods,.city-portfolio,.city-nearby,
  .project-atlas,.portfolio-closing,.project-story-index,.portfolio-manifesto,
  .services-hub-proof,.service-pathways,.service-network,.project-fit-guide,
  .foundation-dark,.foundation-intro,.image-story,.case-study-gallery,.case-study-context,.transformation-types){
  padding-top:clamp(58px,6.4vw,110px) !important;padding-bottom:clamp(58px,6.4vw,110px) !important;
}

/* --- (g) Hero layout: the aside now stacks beneath the copy, inside the part
   of the frame the scrim actually darkens, instead of floating over the
   bright side of the photograph where it was unreadable. ----------------- */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] > [class*="hero-inner"],
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] > .container{
  grid-template-columns:minmax(0,1fr) !important;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] [class*="hero-copy"],
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] [class*="hero-content"]{
  max-width:min(100%,760px) !important;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside{max-width:min(100%,760px) !important}

/* --- (h) Vertical rhythm. Once the boxes were removed the inherited 100–170px
   section paddings read as dead space rather than generosity. ------------ */
body.utmost-launch-final.utmost-final-luxury .section{padding:clamp(54px,6vw,102px) 0}
body.utmost-launch-final.utmost-final-luxury .section-head{margin-bottom:clamp(22px,2.6vw,40px);padding-bottom:20px}

/* Caption emphasis: the location reads brass, the description does not. */
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-editorial,.bathroom-city-images,.city-gallery,.whole-home-story,.signature-baths-stage,.case-study-grid,.project-atlas) figcaption > :is(span,b,strong):not(:first-child){color:var(--ink-soft) !important}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-editorial,.bathroom-city-images,.city-gallery,.whole-home-story,.signature-baths-stage,.case-study-grid,.project-atlas) figcaption{
  display:grid;gap:3px;font-size:.85rem;
}

/* --- (i) No dark cards on the ivory ground. Once a section is light, every
   card, figure and caption plate inside it follows. This removes the last
   contrast failures created by lightening the sections above. ------------ */
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.kitchen-portfolio,.bathroom-principles,.bathroom-city-portfolio,
  .whole-home-principles,.new-home-principles,.related-services,.city-proof,.city-character,.city-neighborhoods,
  .city-nearby,.city-portfolio,.project-atlas,.portfolio-closing,.services-hub-proof,.project-fit-guide,
  .service-network,.foundation-dark,.case-study-gallery,.signature-baths,.transformation-types,
  .residential-construction-proof,.new-home-foundations,.image-story,.project-story-index)
  :is(figure,article,.value-card,.signature-bath,[class*="-card"],[class*="-shot"],[class*="-tile"],[class*="-panel"]){
  background:none !important;background-image:none !important;
  border-color:var(--rule) !important;box-shadow:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.kitchen-portfolio,.bathroom-city-portfolio,
  .whole-home-principles,.related-services,.city-proof,.city-character,.city-neighborhoods,.city-nearby,.city-portfolio,
  .project-atlas,.portfolio-closing,.services-hub-proof,.project-fit-guide,.service-network,.foundation-dark,
  .case-study-gallery,.signature-baths,.transformation-types,.image-story,.project-story-index)
  :is(figure,article,.value-card,.signature-bath,[class*="-card"],[class*="-shot"]) :is(h1,h2,h3,h4,strong){color:var(--ink) !important}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.kitchen-portfolio,.bathroom-city-portfolio,
  .whole-home-principles,.related-services,.city-proof,.city-character,.city-neighborhoods,.city-nearby,.city-portfolio,
  .project-atlas,.portfolio-closing,.services-hub-proof,.project-fit-guide,.service-network,.foundation-dark,
  .case-study-gallery,.signature-baths,.transformation-types,.image-story,.project-story-index)
  :is(figure,article,.value-card,.signature-bath,[class*="-card"],[class*="-shot"]) :is(p,li,small,dd,figcaption){color:var(--ink-soft) !important}
/* figcaption plates that were absolutely positioned over the photograph */
body.utmost-launch-final.utmost-final-luxury :is(.signature-bath,.whole-home-story-shot,.image-story-media,.city-gallery figure) figcaption{
  position:static !important;inset:auto !important;background:none !important;
  padding:12px 0 0 !important;min-height:0 !important;
}

/* Breadcrumb follows its surface rather than assuming a dark hero. */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] .service-breadcrumb :is(a,span){color:rgba(255,255,255,.82) !important}
body.utmost-launch-final.utmost-final-luxury .service-breadcrumb :is(a,span){color:var(--ink-soft)}
body.utmost-launch-final.utmost-final-luxury .service-breadcrumb a:hover{color:var(--brass-700)}

/* Remaining brass-on-paper links measured 4.15:1; the darker step clears AA. */
body.utmost-launch-final.utmost-final-luxury :is(.atlas-rail-head,.project-atlas,.portfolio-closing,.city-portfolio) a{color:var(--brass-700)}

/* Buttons keep their own contrast pair; link-colour rules must not reach them. */
body.utmost-launch-final.utmost-final-luxury :is(.atlas-rail-head,.project-atlas,.portfolio-closing,.city-portfolio) a.btn-primary{color:#0a1a15 !important}
body.utmost-launch-final.utmost-final-luxury :is(.atlas-rail-head,.project-atlas,.portfolio-closing,.city-portfolio) a.btn-outline{color:#fff !important}
/* The whole-home story track sits in its own dark section; caption plates there
   stay on the dark ground, so the type stays light. */
body.utmost-launch-final.utmost-final-luxury .whole-home-story .whole-home-story-shot figcaption,
body.utmost-launch-final.utmost-final-luxury .whole-home-story .whole-home-story-shot figcaption :is(p,strong,span,div,small),
body.utmost-launch-final.utmost-final-luxury .whole-home-story figure figcaption :is(p,strong,span,div,small){color:rgba(255,255,255,.86) !important}
body.utmost-launch-final.utmost-final-luxury .whole-home-story-shot figcaption > span:first-child{color:var(--brass-300) !important}

/* --- (j) Mobile: the scrim was heavy enough to erase the photograph. Keep the
   type legible from the base up and let the top two-thirds of the image read. */
@media(max-width:650px){
  body.utmost-launch-final.utmost-final-luxury .ed-hero::after{
    background:linear-gradient(to top,rgba(8,18,15,.94) 0%,rgba(8,18,15,.80) 30%,rgba(8,18,15,.34) 58%,rgba(8,18,15,.05) 84%,rgba(8,18,15,0) 100%);
  }
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]::before{
    background:linear-gradient(to top,rgba(8,18,15,.94) 0%,rgba(8,18,15,.80) 30%,rgba(8,18,15,.34) 58%,rgba(8,18,15,.05) 84%,rgba(8,18,15,0) 100%) !important;
  }
  body.utmost-launch-final.utmost-final-luxury .ed-hero{min-height:82vh}
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]{min-height:min(78vh,640px)}
  /* stat strips read better as two columns than as five stacked rows */
  body.utmost-launch-final.utmost-final-luxury :is(.city-proof-grid,.whole-home-proof-grid,.services-hub-proof-grid,.bathroom-proof-grid,.new-home-foundations-grid,.capability-grid){
    grid-template-columns:1fr 1fr !important;gap:0 22px !important;
  }
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside{grid-template-columns:1fr !important;gap:16px !important}
  body.utmost-launch-final.utmost-final-luxury .ed-hero__meta{gap:14px 26px}
}

/* --- (k) The last thin bordered boxes and decorative grid overlays.
   Mark called both out by name. Cards become hairline-topped columns; the
   brass graph-paper overlays behind statement sections are removed. -------- */
body.utmost-launch-final.utmost-final-luxury :is(.value-card,.foundation-value,.standard-card,.belief-card,.proof-card,.premium-atelier-card,.kitchen-planning-layers article,.bathroom-type,.transformation-type,.city-service-card){
  border:0 !important;border-top:1px solid var(--rule) !important;border-radius:0 !important;
  box-shadow:none !important;background:none !important;padding:20px 0 0 !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.value-card,.foundation-value,.standard-card,.belief-card,.kitchen-planning-layers article) > span:first-child{
  font-family:var(--mono) !important;font-size:.62rem !important;letter-spacing:.15em;color:var(--brass-700) !important;
  display:block;margin-bottom:10px;
}
body.utmost-launch-final.utmost-final-luxury :is(.value-card,.foundation-value,.standard-card,.belief-card) :is(h3,h4,strong){
  font-family:var(--serif) !important;font-size:1.16rem !important;font-weight:500 !important;
  text-transform:none !important;letter-spacing:-.012em !important;margin:0 0 8px !important;
}
/* decorative graph-paper / wireframe overlays wherever they remain */
body.utmost-launch-final.utmost-final-luxury :is(.foundation-dark,.image-story,.why,.services,.premium-atelier,.city-character,.project-fit-guide,.kitchen-planning,.foundation-intro)::before{
  display:none !important;content:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.services,.why)::before{display:none !important}

/* --- (l) The single source of "thin bordered box".
   One rule in the inherited stylesheet painted a 1px brass outline plus a
   white top-gradient via ::before on ELEVEN card families at once. Removing
   that pseudo-element removes the trope everywhere in one move. ---------- */
body.utmost-launch-final.utmost-final-luxury :is(.hero-sidecard,.service-card,.proof-card,.project-fit-card,
  .project-card,.realtor-proof-card,.realtor-moment-card,.realtor-path-grid>.wp-block-column,
  .bathroom-type,.bathroom-process-grid article,.value-card)::before{
  display:none !important;content:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.value-card,.bathroom-type,.project-fit-card,.realtor-proof-card,.realtor-moment-card,.bathroom-process-grid article){
  overflow:visible !important;isolation:auto !important;
}
/* residual decorative gridline overlays on statement grids */
body.utmost-launch-final.utmost-final-luxury :is(.value-grid,.foundation-values,.belief-grid,.kitchen-planning-layers,.standards-grid)::before,
body.utmost-launch-final.utmost-final-luxury :is(.value-grid,.foundation-values,.belief-grid,.kitchen-planning-layers,.standards-grid)::after{
  display:none !important;content:none !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.value-grid,.foundation-values,.belief-grid,.standards-grid){background-image:none !important}

/* ==========================================================================
   13.  REALTOR HERO — brought into the same language as every other hero
   --------------------------------------------------------------------------
   /realtor-partnerships-dfw/ was the one page whose hero never joined the
   editorial system: it was not in the hero-variant list above, so it kept a
   "light architectural glass" treatment (photograph brightened to 1.13, scrim
   at 2.5%, two ivory plates floated over it, panel text forced dark to suit
   them). When the art-direction pass flattened the floating panels, the dark
   colours stayed and the panel text ended up dark-on-photograph — unreadable
   on a phone. That legacy block is deleted from 20-consolidated.css; this
   section replaces it.
   ========================================================================== */
body.utmost-launch-final.utmost-final-luxury .realtor-hero .wp-block-cover__image-background{
  filter:none !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero .wp-block-cover__background{
  background:rgba(7,21,18,.34) !important;opacity:1 !important;
}
/* the copy panel is no longer a plate: type sits on the photograph, inside the
   part of the frame the gradient above actually darkens */
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel{
  background:none !important;backdrop-filter:none !important;box-shadow:none !important;
  border:0 !important;padding:0 !important;max-width:34ch;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel :is(h1,h1 *){
  color:#fff !important;-webkit-text-fill-color:#fff !important;text-shadow:none !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel h1 em{
  color:var(--brass-200) !important;-webkit-text-fill-color:var(--brass-200) !important;font-style:italic;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel .lead{
  color:rgba(255,255,255,.88) !important;-webkit-text-fill-color:rgba(255,255,255,.88) !important;
  text-shadow:none !important;max-width:46ch;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel .eyebrow{
  color:var(--brass-200) !important;-webkit-text-fill-color:var(--brass-200) !important;text-shadow:none !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel .realtor-direct-contact,
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel .realtor-direct-contact a{
  color:rgba(255,255,255,.86) !important;-webkit-text-fill-color:rgba(255,255,255,.86) !important;text-shadow:none !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel .realtor-direct-contact a{
  border-bottom:1px solid rgba(216,188,131,.5);
}
/* buttons: the same pair used on every other hero */
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--brass-400) !important;border-color:var(--brass-400) !important;
  color:var(--green-1000) !important;-webkit-text-fill-color:var(--green-1000) !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-copy-panel .wp-block-button.is-style-outline .wp-block-button__link{
  background:none !important;border:1px solid rgba(255,255,255,.5) !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}
/* the assurance row: it is an <aside>, so section 12(b) already flattens it to
   a hairline row. All it needed was to stop being told to render dark. */
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel{
  background:none !important;border:0 !important;box-shadow:none !important;backdrop-filter:none !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel :is(h3,strong){
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel :is(span,p,li){
  color:rgba(255,255,255,.78) !important;-webkit-text-fill-color:rgba(255,255,255,.78) !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel .realtor-hero-panel-kicker{
  color:var(--brass-200) !important;-webkit-text-fill-color:var(--brass-200) !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel li{
  border-top-color:rgba(255,255,255,.18) !important;
}

/* --------------------------------------------------------------------------
   14.  HERO / HEADER CLEARANCE
   The site header is position:absolute and 77px tall at phone widths, so any
   hero whose first line of copy starts higher than that renders underneath it.
   The Realtor eyebrow was doing exactly that (top:65px). One rule for every
   hero rather than a per-page patch.
   -------------------------------------------------------------------------- */
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] .container,
  body.utmost-launch-final.utmost-final-luxury .realtor-hero .realtor-hero-inner,
  body.utmost-launch-final.utmost-final-luxury .ed-hero .ed-wrap{
    padding-top:max(96px,var(--hero-clear,96px)) !important;
  }
}
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury :is(.legal-hero,.thank-you-hero) .container{
    padding-top:118px !important;
  }
}

/* --------------------------------------------------------------------------
   15.  STACKED GRID RHYTHM ON PHONES
   Several editorial grids carry a 60-90px column gap that is correct beside
   two columns and far too loose once they stack. Row gap only; the column gap
   is irrelevant at one column.
   -------------------------------------------------------------------------- */
@media (max-width:760px){
  body.utmost-launch-final.utmost-final-luxury :is(
    .case-study-intro-grid,.case-study-context-grid,.city-intro-grid,
    .city-character-grid,.city-neighborhoods-grid,.city-nearby-grid,
    .realtor-split,.realtor-promise-grid,.realtor-referral-grid,
    .practice-grid,.foundation-intro-grid,.project-story-index-head){
    gap:30px !important;
  }
}

/* --------------------------------------------------------------------------
   16.  SERVICE ROW — flipped rows were falling to a second grid row
   In .ed-service--flip the media is placed in columns 6-12 and the body in
   columns 1-4, but the media comes first in the DOM, so grid auto-placement
   pushed the body onto the next row: the flipped rows rendered 904px tall
   against 537px for the others, leaving a large void beside every second
   photograph. Pinning both children to row 1 restores the intended pair.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__media,
body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__body{
  grid-row:1;
}
@media (max-width:940px){
  body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__media,
  body.utmost-launch-final.utmost-final-luxury .ed-service--flip .ed-service__body{
    grid-row:auto;
  }
}

/* --------------------------------------------------------------------------
   17.  HERO EYEBROW — legibility over a photograph
   The kicker sat in brass-700 over the upper third of the hero frame, which
   the gradient barely darkens. Lifted to brass-200 with a hairline rule so it
   reads at every width without adding a text shadow.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .ed-hero__kicker{
  color:var(--brass-200) !important;
}
body.utmost-launch-final.utmost-final-luxury .ed-hero::before{
  background:
    linear-gradient(to top,rgba(8,18,15,.90) 0%,rgba(8,18,15,.70) 26%,rgba(8,18,15,.38) 52%,rgba(8,18,15,.16) 76%,rgba(8,18,15,.10) 100%),
    linear-gradient(100deg,rgba(8,18,15,.72) 0%,rgba(8,18,15,.40) 44%,rgba(8,18,15,.06) 80%) !important;
}

/* --------------------------------------------------------------------------
   18.  BRAND MARK — readable at every width
   The header carried the full lockup (mark + "Design. Develop. Renovate.") at
   58px tall, which put the wordmark's cap height at about 10px and the
   strapline at about 4px — decorative rather than legible. The header now
   uses the mark on its own, sized so the wordmark reads at every breakpoint;
   the footer keeps the full lockup, where it renders at 128px and the
   strapline is legible.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .site-header .brand img{
  height:66px !important;max-height:66px !important;max-width:none !important;
  width:auto !important;opacity:1 !important;
}
body.utmost-launch-final.utmost-final-luxury .site-header .brand,
body.utmost-launch-final.utmost-final-luxury .site-header .site-logo-link{
  max-width:none !important;
}
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury .site-header .brand img{
    height:60px !important;max-height:60px !important;
  }
}
@media (max-width:760px){
  body.utmost-launch-final.utmost-final-luxury .site-header .brand img{
    height:54px !important;max-height:54px !important;
  }
}
@media (max-width:400px){
  body.utmost-launch-final.utmost-final-luxury .site-header .brand img{
    height:50px !important;max-height:50px !important;
  }
}
body.utmost-launch-final.utmost-final-luxury .site-footer .footer-brand img{
  height:116px !important;max-height:116px !important;max-width:250px !important;opacity:1 !important;
}

/* --------------------------------------------------------------------------
   19.  TARGET SIZE
   Measured across all 46 pages at 390px. Buttons, cards, gallery tiles, header
   links and form controls already clear 24x24 (most clear 44). Two families
   did not, and neither is exempt under WCAG 2.5.8 because neither is an inline
   link inside a sentence:
     footer link columns   180 links at 20-21px tall
     breadcrumb trails      79 links at 16px tall
   Both are stacked or spaced lists, so the fix is vertical padding rather than
   a font-size change - the type stays exactly as art-directed.
   Links that ARE inline in a sentence (the two phone/email links in body copy)
   are left alone: enlarging them would break the line rhythm and they are
   explicitly exempt.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .site-footer .footer-links a,
body.utmost-launch-final.utmost-final-luxury .site-footer .footer-links span,
body.utmost-launch-final.utmost-final-luxury .site-footer .footer-legal a,
body.utmost-launch-final.utmost-final-luxury .site-footer .footer-consult{
  display:inline-flex;align-items:center;min-height:26px;
}
body.utmost-launch-final.utmost-final-luxury :is(.city-breadcrumbs,.case-study-breadcrumbs,.service-breadcrumb) a,
body.utmost-launch-final.utmost-final-luxury :is(.city-breadcrumbs,.case-study-breadcrumbs,.service-breadcrumb) span{
  display:inline-flex;align-items:center;min-height:26px;
}
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury .site-footer .footer-links a,
  body.utmost-launch-final.utmost-final-luxury .site-footer .footer-links span,
  body.utmost-launch-final.utmost-final-luxury .site-footer .footer-legal a,
  body.utmost-launch-final.utmost-final-luxury .site-footer .footer-consult{
    min-height:38px;
  }
  body.utmost-launch-final.utmost-final-luxury :is(.city-breadcrumbs,.case-study-breadcrumbs,.service-breadcrumb) a{
    min-height:34px;
  }
  body.utmost-launch-final.utmost-final-luxury .faq-list summary,
  body.utmost-launch-final.utmost-final-luxury details > summary{
    min-height:44px;display:flex;align-items:center;
  }
}

/* the two remaining families measured under 24px and not exempt:
   the utility-bar phone/email pair (desktop only) and the "N images - View
   case study" links that close each portfolio entry */
body.utmost-launch-final.utmost-final-luxury .utility-links a{
  display:inline-flex;align-items:center;min-height:26px;
}
body.utmost-launch-final.utmost-final-luxury :is(.project-info,.atlas-rail-head,.portfolio-card,.project-card,.atlas-card) > a{
  display:inline-flex;align-items:center;min-height:26px;
}
body.utmost-launch-final.utmost-final-luxury :is(.city-breadcrumbs,.case-study-breadcrumbs,.service-breadcrumb) a{
  padding-inline:2px;
}

/* --------------------------------------------------------------------------
   20.  HERO SCRIM ON SMALL SCREENS
   Rendered-pixel sampling (not computed CSS) found two places where hero type
   landed on the bright part of a photograph: the Realtor eyebrow at 2.41:1 and
   the Projects headline at 1.98:1. At phone widths the frame is cropped much
   tighter, so the desktop gradient's transparent upper band can end up behind
   the copy. One stronger gradient below 1024px, applied to every hero.
   -------------------------------------------------------------------------- */
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]:not(.ed-hero)::before,
  body.utmost-launch-final.utmost-final-luxury section.realtor-hero::before{
    background:
      linear-gradient(to top,rgba(8,18,15,.94) 0%,rgba(8,18,15,.82) 30%,rgba(8,18,15,.62) 58%,rgba(8,18,15,.48) 82%,rgba(8,18,15,.42) 100%) !important;
  }
  body.utmost-launch-final.utmost-final-luxury .realtor-hero .wp-block-cover__background{
    background:rgba(7,21,18,.46) !important;
  }
}

/* --------------------------------------------------------------------------
   21.  BRASS ON LIGHT GROUNDS
   Found by sampling rendered pixels, not computed CSS. The light brass
   (#d5bb86 / #c6a46c) is correct on the dark green fields and unreadable on
   ivory: 1.69:1 for the section numerals, 1.75:1 for the nearby-area links.
   Those uses take the dark brass instead; the light brass keeps every dark
   -ground use it already had.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .city-nearby .city-nearby-links a strong,
body.utmost-launch-final.utmost-final-luxury .whole-home-intro span,
body.utmost-launch-final.utmost-final-luxury .bathroom-types span,
body.utmost-launch-final.utmost-final-luxury .new-home-foundations span,
body.utmost-launch-final.utmost-final-luxury .city-service-card strong{
  color:var(--brass-700) !important;-webkit-text-fill-color:var(--brass-700) !important;
}
body.utmost-launch-final.utmost-final-luxury .city-nearby .city-nearby-links a:hover strong{
  color:var(--green-800) !important;-webkit-text-fill-color:var(--green-800) !important;
}

/* --------------------------------------------------------------------------
   22.  HERO EYEBROWS
   An 11px brass label at the top of a hero sits on whatever the photograph
   happens to be doing there. Measured on the rendered frame it ran 2.4-3.0:1
   on the brighter heroes. Over photography the eyebrow is ivory; on ivory
   grounds it stays brass. The scrim is also carried further up the frame so
   the label always has a ground.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] .eyebrow,
body.utmost-launch-final.utmost-final-luxury .realtor-hero .eyebrow,
body.utmost-launch-final.utmost-final-luxury .ed-hero__kicker{
  color:rgba(255,255,255,.94) !important;-webkit-text-fill-color:rgba(255,255,255,.94) !important;
}
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]:not(.ed-hero)::before,
  body.utmost-launch-final.utmost-final-luxury section.realtor-hero::before{
    background:
      linear-gradient(to top,rgba(8,18,15,.94) 0%,rgba(8,18,15,.86) 30%,rgba(8,18,15,.74) 58%,rgba(8,18,15,.66) 82%,rgba(8,18,15,.64) 100%) !important;
  }
}

/* --------------------------------------------------------------------------
   23.  SERVICE BREADCRUMB
   The breadcrumb is absolutely positioned over the hero photograph but sits
   OUTSIDE the hero section in the DOM, so the rule that lightens breadcrumb
   text inside a hero never matched it: it rendered in body-copy grey on a
   dark photograph at 2.97:1, at 9.4px. Matched as a sibling instead, and
   given a size a person can actually read.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] + .service-breadcrumb :is(a,span),
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] + nav.service-breadcrumb :is(a,span){
  color:rgba(255,255,255,.86) !important;-webkit-text-fill-color:rgba(255,255,255,.86) !important;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] + .service-breadcrumb a:hover{
  color:var(--brass-200) !important;-webkit-text-fill-color:var(--brass-200) !important;
}
body.utmost-launch-final.utmost-final-luxury .service-breadcrumb{font-size:.72rem !important}
@media (max-width:760px){
  body.utmost-launch-final.utmost-final-luxury .service-breadcrumb{font-size:.7rem !important}
}
/* the small brass city labels under portfolio figures read at 3.94 on ivory */
body.utmost-launch-final.utmost-final-luxury :is(.new-home-portfolio,.new-home-gallery,.portfolio-card,.project-card,.case-study-card) figcaption span,
body.utmost-launch-final.utmost-final-luxury figure figcaption > span:first-child{
  color:var(--brass-700) !important;-webkit-text-fill-color:var(--brass-700) !important;
}

/* --------------------------------------------------------------------------
   24.  SERVICE BREADCRUMB / HERO COPY COLLISION
   The breadcrumb is absolutely positioned over the hero. At 768px and below it
   landed on top of the hero eyebrow - two lines of type printed over each
   other. (That collision is what the rendered-pixel contrast pass was really
   reporting on /design-preconstruction/: the "background" behind the eyebrow
   was the breadcrumb.) The breadcrumb now sits just under the header and the
   hero copy starts below it.
   -------------------------------------------------------------------------- */
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury .service-breadcrumb{top:88px !important}
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] .container{
    padding-top:142px !important;
  }
  body.utmost-launch-final.utmost-final-luxury :is(.legal-hero,.thank-you-hero) .container{
    padding-top:118px !important;
  }
}
/* the breadcrumb is a sibling of the hero on some pages and the first child of
   <main> on others, so match it wherever it sits directly under <main> */
body.utmost-launch-final.utmost-final-luxury main > .service-breadcrumb :is(a,span){
  color:rgba(255,255,255,.86) !important;-webkit-text-fill-color:rgba(255,255,255,.86) !important;
}
body.utmost-launch-final.utmost-final-luxury main > .service-breadcrumb a:hover{
  color:var(--brass-200) !important;-webkit-text-fill-color:var(--brass-200) !important;
}

/* --------------------------------------------------------------------------
   25.  TOP-OF-FRAME STRIP
   The breadcrumb and the hero eyebrow sit in the first 180px of the frame,
   which is the part the bottom-anchored hero gradient barely touches. On the
   brighter photographs that left them at 3.5-4.5:1. A short strip anchored to
   the top of the frame fixes it without darkening the picture as a whole.
   -------------------------------------------------------------------------- */
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]:not(.ed-hero)::after,
  body.utmost-launch-final.utmost-final-luxury section.realtor-hero::after{
    content:"" !important;position:absolute !important;inset:0 0 auto 0 !important;height:220px !important;
    z-index:1 !important;pointer-events:none !important;
    background:linear-gradient(to bottom,rgba(8,18,15,.80) 0%,rgba(8,18,15,.62) 55%,rgba(8,18,15,0) 100%) !important;
  }
}
@media (min-width:1025px){
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]:not(.ed-hero)::after,
  body.utmost-launch-final.utmost-final-luxury section.realtor-hero::after{
    content:"" !important;position:absolute !important;inset:0 0 auto 0 !important;height:250px !important;
    z-index:1 !important;pointer-events:none !important;
    background:linear-gradient(to bottom,rgba(8,18,15,.70) 0%,rgba(8,18,15,.52) 55%,rgba(8,18,15,0) 100%) !important;
  }
}

/* the last brass-600 family measured on ivory: the numbered labels in the
   service-area directory, at 3.97:1. Same treatment as the other brass-600
   uses on light grounds. */
body.utmost-launch-final.utmost-final-luxury .areas-directory .area-directory-copy > span,
body.utmost-launch-final.utmost-final-luxury .area-directory-copy > span{
  color:var(--brass-700) !important;-webkit-text-fill-color:var(--brass-700) !important;
}

/* --------------------------------------------------------------------------
   26.  CITY GALLERY — captions were printing underneath the next photograph
   The gallery is a 12-column grid on fixed 150px rows, with each figure given
   a row span. That worked when the caption was a dark plate sitting ON the
   photograph; once the art-direction pass moved captions BENEATH the image,
   every figure grew by the height of its caption and overflowed its row area.
   Measured on /dallas/ at 1440: 13 captions rendering under a neighbouring
   image. Fixed rows are replaced with intrinsic rows and a ratio on the image,
   so a figure is always exactly as tall as its own content.
   -------------------------------------------------------------------------- */
@media (min-width:761px){
  body.utmost-launch-final.utmost-final-luxury .city-gallery{
    grid-auto-rows:auto !important;align-items:start !important;
    gap:clamp(18px,2vw,34px) !important;
  }
  body.utmost-launch-final.utmost-final-luxury .city-gallery > figure{
    grid-row:auto !important;grid-column:span 4 !important;height:auto !important;
  }
  body.utmost-launch-final.utmost-final-luxury .city-gallery > figure:first-child{
    grid-column:1 / -1 !important;
  }
  body.utmost-launch-final.utmost-final-luxury .city-gallery > figure:nth-child(7n+2){
    grid-column:span 8 !important;
  }
  body.utmost-launch-final.utmost-final-luxury .city-gallery > figure :is(button,a){
    height:auto !important;
  }
  body.utmost-launch-final.utmost-final-luxury .city-gallery img{
    aspect-ratio:4/3;height:auto !important;min-height:0 !important;max-height:none !important;object-fit:cover;
  }
  body.utmost-launch-final.utmost-final-luxury .city-gallery > figure:first-child img{
    aspect-ratio:2/1;
  }
}

/* same fixed-row problem in the new-construction proof grid, at phone widths */
body.utmost-launch-final.utmost-final-luxury .residential-construction-proof-grid{
  grid-auto-rows:auto !important;align-items:start !important;
}
body.utmost-launch-final.utmost-final-luxury .construction-proof-card{
  grid-row:auto !important;height:auto !important;
}
body.utmost-launch-final.utmost-final-luxury .construction-proof-card img{
  aspect-ratio:4/3;height:auto !important;min-height:0 !important;max-height:none !important;object-fit:cover;
}

/* --------------------------------------------------------------------------
   27.  BEFORE / AFTER PAIRS
   Four further Plano comparisons exist in the source photography, but the
   camera position moved between the before and the after, so a draggable wipe
   would misrepresent them. They are presented as honest pairs instead, at the
   same width, with the difference in viewpoint stated in the caption.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .project-story-pairs{
  grid-column:1 / -1;width:100%;margin:clamp(40px,5vw,76px) 0 0;
  display:grid;gap:clamp(30px,4vw,58px);
}
body.utmost-launch-final.utmost-final-luxury .ba-pairs-kicker{
  margin:0;color:var(--brass-700);
}
body.utmost-launch-final.utmost-final-luxury .ba-pairs-note{
  margin:0;max-width:56ch;color:var(--ink-soft);font-size:.95rem;
}
body.utmost-launch-final.utmost-final-luxury .ba-pair{margin:0}
body.utmost-launch-final.utmost-final-luxury .ba-pair-frames{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
body.utmost-launch-final.utmost-final-luxury .ba-pair-shot{position:relative;overflow:hidden;background:var(--ivory-2)}
body.utmost-launch-final.utmost-final-luxury .ba-pair-shot img{
  display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
}
body.utmost-launch-final.utmost-final-luxury .ba-pair-tag{
  position:absolute;left:0;bottom:0;padding:6px 12px;
  font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;background:rgba(8,18,15,.72);
}
body.utmost-launch-final.utmost-final-luxury .ba-pair .ba-caption{
  margin:14px 0 0;padding:0;background:none;color:var(--ink-soft);font-size:.92rem;line-height:1.6;max-width:74ch;
}
body.utmost-launch-final.utmost-final-luxury .ba-pair .ba-caption strong{color:var(--ink);font-weight:600}
@media (max-width:760px){
  body.utmost-launch-final.utmost-final-luxury .project-story-pairs{width:calc(100% - 36px)}
  body.utmost-launch-final.utmost-final-luxury .ba-pair-frames{grid-template-columns:1fr;gap:6px}
}

/* --------------------------------------------------------------------------
   28.  PORTFOLIO HIERARCHY
   Eleven project rails were presented as a flat alphabetical list, so a
   visitor met Dallas Whole-Home Remodel 02 before Grapevine. The atlas is now
   in two groups: the six projects with a full photographic record, then the
   five with a partial one. No URL, no project and no photograph is removed -
   the record stays complete, it is just ordered.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .atlas-group-head{
  margin:clamp(46px,6vw,90px) auto clamp(18px,2vw,30px);
  padding-top:clamp(26px,3vw,44px);border-top:1px solid rgba(29,33,30,.14);
  max-width:64ch;
}
body.utmost-launch-final.utmost-final-luxury .atlas-group--featured .atlas-group-head{
  margin-top:clamp(10px,1.5vw,22px);border-top:0;padding-top:0;
}
body.utmost-launch-final.utmost-final-luxury .atlas-group-head .eyebrow{color:var(--brass-700);margin:0 0 10px}
body.utmost-launch-final.utmost-final-luxury .atlas-group-head h3{
  font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,2.4vw,2.05rem);
  line-height:1.12;letter-spacing:-.02em;margin:0 0 10px;color:var(--ink);
}
body.utmost-launch-final.utmost-final-luxury .atlas-group-head p{margin:0;color:var(--ink-soft);font-size:.98rem;line-height:1.66}

/* The homepage hero carries its scrim on ::after, so the shared top-strip rule
   above must not take that pseudo-element over. Its own gradients, tuned for
   the front-elevation photograph, live here. */
body.utmost-launch-final.utmost-final-luxury .ed-hero::after{
  background:
    linear-gradient(to top,rgba(8,18,15,.94) 0%,rgba(8,18,15,.80) 26%,rgba(8,18,15,.52) 52%,rgba(8,18,15,.34) 78%,rgba(8,18,15,.30) 100%) !important;
}
@media (max-width:940px){
  body.utmost-launch-final.utmost-final-luxury .ed-hero::after{
    background:
      linear-gradient(to top,rgba(8,18,15,.95) 0%,rgba(8,18,15,.88) 26%,rgba(8,18,15,.74) 52%,rgba(8,18,15,.64) 78%,rgba(8,18,15,.62) 100%) !important;
  }
}

/* the homepage hero's copy column is .ed-hero__inner, not .ed-wrap - it needs
   the same clearance under the absolute header as every other hero */
@media (max-width:1024px){
  body.utmost-launch-final.utmost-final-luxury .ed-hero__inner{padding-top:120px !important}
}
@media (max-width:650px){
  body.utmost-launch-final.utmost-final-luxury .ed-hero__inner{padding-top:112px !important}
}

/* --------------------------------------------------------------------------
   29.  OWNER-VERIFIED CREDIBILITY FACTS
   Three facts Mark has confirmed directly: hands-on experience, projects
   personally completed, and that the business is insured. Set as a quiet
   hairline row under the practice statement rather than as a badge strip -
   the photography and the project record remain the primary trust signals.
   -------------------------------------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .practice-facts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.4vw,40px);margin:clamp(26px,3vw,42px) 0 0;padding:0;
  border-top:1px solid rgba(29,33,30,.16);padding-top:clamp(20px,2.4vw,30px);
}
body.utmost-launch-final.utmost-final-luxury .practice-facts > div{margin:0}
body.utmost-launch-final.utmost-final-luxury .practice-facts dt{
  font-family:var(--serif);font-weight:500;font-size:clamp(1.32rem,2vw,1.72rem);
  line-height:1.06;letter-spacing:-.02em;color:var(--ink);margin:0 0 7px;
}
body.utmost-launch-final.utmost-final-luxury .practice-facts dd{
  margin:0;font-family:var(--sans);font-size:.83rem;line-height:1.5;color:var(--ink-soft);
}
@media (max-width:640px){
  body.utmost-launch-final.utmost-final-luxury .practice-facts{grid-template-columns:1fr;gap:16px}
  body.utmost-launch-final.utmost-final-luxury .practice-facts > div{
    display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:12px;
  }
  body.utmost-launch-final.utmost-final-luxury .practice-facts dt{margin:0;white-space:nowrap}
}

/* ===========================================================================
   30. HERO GRADE — corrected after the live-vs-candidate review
   ---------------------------------------------------------------------------
   Measured against the production site at 1440. The live hero grade is deeper
   than this candidate's was, and on daylight exteriors and bright interiors
   that difference decided legibility: breadcrumbs over open sky, brass display
   type over a white wall, and the hero side-note over a concrete driveway all
   read on production and did not read here. Production solved it partly with
   floating glass cards, which this direction removes on purpose. The fix keeps
   the cards gone and takes the part that was actually doing the work — the
   photographic grade — one step further than production, plus a top band so
   the breadcrumb zone is never left on bare sky.
   =========================================================================== */
body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.design-hero,.additions-hero,.partners-hero,.realtor-hero)::before{
  background:
    linear-gradient(to bottom,rgba(8,18,15,.74) 0%,rgba(8,18,15,.44) 9%,rgba(8,18,15,.14) 19%,rgba(8,18,15,0) 30%),
    linear-gradient(to top,rgba(8,18,15,.95) 0%,rgba(8,18,15,.86) 22%,rgba(8,18,15,.62) 42%,rgba(8,18,15,.32) 62%,rgba(8,18,15,.10) 82%,rgba(8,18,15,.02) 100%),
    linear-gradient(102deg,rgba(8,18,15,.66) 0%,rgba(8,18,15,.40) 42%,rgba(8,18,15,.20) 70%,rgba(8,18,15,.14) 100%),
    linear-gradient(rgba(8,18,15,.14),rgba(8,18,15,.14)) !important;
}
body.utmost-launch-final.utmost-final-luxury .ed-hero::after{
  background:
    linear-gradient(to bottom,rgba(8,18,15,.74) 0%,rgba(8,18,15,.44) 9%,rgba(8,18,15,.14) 19%,rgba(8,18,15,0) 30%),
    linear-gradient(to top,rgba(8,18,15,.95) 0%,rgba(8,18,15,.86) 22%,rgba(8,18,15,.62) 42%,rgba(8,18,15,.32) 62%,rgba(8,18,15,.10) 82%,rgba(8,18,15,.02) 100%),
    linear-gradient(102deg,rgba(8,18,15,.66) 0%,rgba(8,18,15,.40) 42%,rgba(8,18,15,.20) 70%,rgba(8,18,15,.14) 100%),
    linear-gradient(rgba(8,18,15,.14),rgba(8,18,15,.14));
}

/* Display scale. The candidate was setting the hero line at ~57px against
   production's ~90px, and at that size the first frame stopped reading as the
   most confident thing on the page. This lands between the two. */
body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.realtor-hero) h1{
  font-size:clamp(2.5rem,5.3vw,4.85rem) !important;line-height:1.02 !important;
  max-width:15ch;letter-spacing:-.022em;
  text-shadow:0 2px 34px rgba(4,12,10,.5),0 1px 3px rgba(4,12,10,.28);
}
body.utmost-launch-final.utmost-final-luxury .ed-hero h1{
  font-size:clamp(2.5rem,5.3vw,4.85rem);line-height:1.02;max-width:15ch;letter-spacing:-.022em;
  text-shadow:0 2px 34px rgba(4,12,10,.5),0 1px 3px rgba(4,12,10,.28);
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] h1 span,
body.utmost-launch-final.utmost-final-luxury .ed-hero h1 span{
  text-shadow:0 2px 28px rgba(4,12,10,.62),0 1px 3px rgba(4,12,10,.34);
}
body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.realtor-hero) :is([class*="hero-copy"],[class*="hero-content"]) > p,
body.utmost-launch-final.utmost-final-luxury .ed-hero__sub{
  color:rgba(255,255,255,.92) !important;text-shadow:0 1px 20px rgba(4,12,10,.45);
}

/* Hero side-note: still a hairline rail, never a glass card, but sized and
   weighted so it survives a bright photograph underneath it. */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside :is(p,small,li,dd,span,em,b){
  font-size:.855rem !important;line-height:1.62 !important;color:rgba(255,255,255,.84) !important;
  text-shadow:0 1px 16px rgba(4,12,10,.5);
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside :is(strong,h3,h4){
  text-shadow:0 1px 18px rgba(4,12,10,.5);
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside{
  border-top-color:rgba(255,255,255,.34) !important;
}

/* Breadcrumb and kicker sit inside the new top band. */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] :is(.service-breadcrumb,.city-breadcrumbs) :is(a,span){
  color:rgba(255,255,255,.9) !important;text-shadow:0 1px 14px rgba(4,12,10,.6);
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] :is([class*="hero-kicker"],[class*="hero-eyebrow"],.ed-hero__kicker),
body.utmost-launch-final.utmost-final-luxury .ed-hero__kicker{
  text-shadow:0 1px 14px rgba(4,12,10,.6);
}

@media(max-width:650px){
  body.utmost-launch-final.utmost-final-luxury .ed-hero::after{
    background:
      linear-gradient(to bottom,rgba(8,18,15,.76) 0%,rgba(8,18,15,.40) 11%,rgba(8,18,15,0) 26%),
      linear-gradient(to top,rgba(8,18,15,.95) 0%,rgba(8,18,15,.84) 30%,rgba(8,18,15,.44) 58%,rgba(8,18,15,.14) 84%,rgba(8,18,15,.06) 100%);
  }
  body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]::before{
    background:
      linear-gradient(to bottom,rgba(8,18,15,.76) 0%,rgba(8,18,15,.40) 11%,rgba(8,18,15,0) 26%),
      linear-gradient(to top,rgba(8,18,15,.95) 0%,rgba(8,18,15,.84) 30%,rgba(8,18,15,.44) 58%,rgba(8,18,15,.14) 84%,rgba(8,18,15,.06) 100%) !important;
  }
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.realtor-hero) h1{
    font-size:clamp(2.3rem,9.4vw,3.15rem) !important;
  }
  body.utmost-launch-final.utmost-final-luxury .ed-hero h1{font-size:clamp(2.3rem,9.4vw,3.15rem)}
}
@media(min-width:651px) and (max-width:1023px){
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-hero,.city-hero,.foundation-hero,.whole-home-hero,.services-hub-hero,.projects-hero,.new-home-hero,.kitchen-hero,.bathroom-hero,.areas-hub-hero,.realtor-hero) h1{
    font-size:clamp(2.6rem,6.2vw,3.5rem) !important;
  }
  body.utmost-launch-final.utmost-final-luxury .ed-hero h1{font-size:clamp(2.6rem,6.2vw,3.5rem)}
}

/* --- 30b. Hero rail placement -------------------------------------------
   Three heroes were still laying the side-note out as a second column, so
   the rail landed on the bright half of the photograph while every other
   page put it under the copy on the dark half. Stack them all the same way.
   The realtor hero keeps its two-column reading order — the panel is part of
   the argument there — and gets its own right-edge grade instead. */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]:not(.realtor-hero) > [class*="hero-inner"],
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]:not(.realtor-hero) > .container{
  display:flex !important;flex-direction:column !important;align-items:stretch !important;
}
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"]:not(.realtor-hero) aside{
  width:100% !important;margin-right:auto !important;
}
/* The label above a hero rail is a <p> on some pages and a <span> on others. */
body.utmost-launch-final.utmost-final-luxury section[class*="-hero"] aside > :is(span,p):first-child{
  grid-column:1/-1;font-family:var(--mono) !important;font-size:.6rem !important;letter-spacing:.16em !important;
  text-transform:uppercase !important;color:var(--brass-200) !important;margin:0 0 2px !important;display:block;
  line-height:1.4 !important;
}
/* Realtor hero: the panel sits over the right of the frame, so the frame is
   graded from both edges rather than only from the left. */
body.utmost-launch-final.utmost-final-luxury .realtor-hero::before{
  background:
    linear-gradient(to bottom,rgba(8,18,15,.74) 0%,rgba(8,18,15,.44) 9%,rgba(8,18,15,.14) 19%,rgba(8,18,15,0) 30%),
    linear-gradient(to top,rgba(8,18,15,.95) 0%,rgba(8,18,15,.86) 22%,rgba(8,18,15,.62) 42%,rgba(8,18,15,.34) 62%,rgba(8,18,15,.16) 82%,rgba(8,18,15,.08) 100%),
    linear-gradient(102deg,rgba(8,18,15,.70) 0%,rgba(8,18,15,.44) 40%,rgba(8,18,15,.30) 60%,rgba(8,18,15,.10) 100%),
    linear-gradient(258deg,rgba(8,18,15,.62) 0%,rgba(8,18,15,.34) 26%,rgba(8,18,15,.06) 46%,rgba(8,18,15,0) 62%),
    linear-gradient(rgba(8,18,15,.16),rgba(8,18,15,.16)) !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel :is(p,small,li,dd,span,em,b){
  font-size:.875rem !important;line-height:1.62 !important;color:rgba(255,255,255,.86) !important;
  text-shadow:0 1px 16px rgba(4,12,10,.55);
}
body.utmost-launch-final.utmost-final-luxury .realtor-hero-panel :is(strong,h2,h3,h4){
  text-shadow:0 1px 18px rgba(4,12,10,.55);
}

/* --- 30c. Tablet buttons -------------------------------------------------
   The full-width button rule was scoped to 940px, which is a phone rule
   applied to tablets: at 768 both hero buttons ran the width of the column
   and stacked. Production keeps them side by side at that width and reads
   better for it. Phones keep the full-width targets. */
@media(min-width:651px) and (max-width:940px){
  body.utmost-launch-final.utmost-final-luxury .btn{width:auto;min-height:54px}
  body.utmost-launch-final.utmost-final-luxury :is(.hero-actions,.projects-hero-actions,.city-hero-actions,.foundation-hero-actions,.kitchen-hero-actions,.new-home-hero-actions,.realtor-hero-buttons,.ed-hero__actions){
    display:flex;flex-wrap:wrap;gap:12px;
  }
}

/* --- 30d. The band under the hero --------------------------------------
   Production runs a dark band directly under every service and city hero,
   and that band is what gave those pages their vertical rhythm: the hero
   does not end, it lands. This candidate kept the band dark on bathroom and
   whole-home and lightened it on kitchen, services, the city pages and new
   construction, which was both a downgrade against production and an
   inconsistency inside the candidate. All six match now. The two-up mobile
   grid is unaffected — the problem with production's version on a phone was
   six full-height rows, not the colour. */
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.services-hub-proof,.city-proof,.new-home-foundations){
  background:var(--green-900,#102622) !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.services-hub-proof,.city-proof,.new-home-foundations) :is(.city-proof-grid,.services-hub-proof-grid,.new-home-foundations-grid,.capability-grid) > *,
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.services-hub-proof,.city-proof,.new-home-foundations) .capability{
  border-top-color:rgba(255,255,255,.2) !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.services-hub-proof,.city-proof,.new-home-foundations) :is(h2,h3,h4,strong,b){
  color:#fff !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.services-hub-proof,.city-proof,.new-home-foundations) :is(p,li,small,dd,figcaption,em){
  color:rgba(255,255,255,.74) !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.services-hub-proof,.city-proof,.new-home-foundations) :is(.eyebrow,span,.capability > span){
  color:var(--brass-300,#d5bb86) !important;
}
body.utmost-launch-final.utmost-final-luxury :is(.kitchen-principles,.services-hub-proof,.city-proof,.new-home-foundations) a:not(.btn){
  color:var(--brass-300,#d5bb86) !important;
}
/* Same band, same type. The kitchen module set its item titles in uppercase
   sans while the city, services and new-construction bands used the serif. */
body.utmost-launch-final.utmost-final-luxury .kitchen-principles-grid > * > strong{
  font-family:var(--serif) !important;font-size:1.12rem !important;font-weight:500 !important;
  text-transform:none !important;letter-spacing:-.01em !important;color:#fff !important;
  display:block;margin:0 0 5px !important;
}
body.utmost-launch-final.utmost-final-luxury .kitchen-principles-grid > * > span:first-child{
  font-family:var(--mono) !important;font-size:.62rem !important;letter-spacing:.15em !important;
  color:var(--brass-300,#d5bb86) !important;display:block;margin-bottom:8px;
}

/* --- New-home hero: recede the blueprint under the display line. The
   linework and its sheet labels are baked into the SVG artwork, so the
   shared 102deg side grade still leaves brass lines and a rotated label
   running through the headline. A left-weighted grade on the artwork
   container quiets the drawing where the type sits and leaves it articulate
   on the right of the frame - the same placement logic the photographic
   heroes use. The flat layer knocks the whole sheet back half a step so the
   ivory line owns the frame. -------------------------------------------- */
body.utmost-launch-final.utmost-final-luxury .new-home-hero .new-home-blueprint::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(97deg,rgba(8,18,15,.80) 0%,rgba(8,18,15,.58) 32%,rgba(8,18,15,.22) 56%,rgba(8,18,15,0) 74%),
    linear-gradient(rgba(8,18,15,.10),rgba(8,18,15,.10));
}

/* ===========================================================================
   LUXURY PASS (V5) - final art-direction elevation. Each block below is
   additive polish over the settled V4 system: same palette, same type,
   same vocabulary, no new dependencies.
   =========================================================================== */

/* --- 50. City neighbourhood index, redrawn for the light ground. The dark-era
   rules left the serif names #fff (invisible on ivory), brass hairlines at
   24% (invisible on ivory), a radial gold stain, and a card-lift hover.
   This is the light-ground version: ink serif names, dark-brass numerals,
   the site's standard hairline, and a brass rule that draws in on hover. */
body.utmost-launch-final.utmost-final-luxury .city-neighborhoods::before{
  display:none !important;
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhood-list{
  border-top:1px solid var(--rule) !important;
  border-left:1px solid var(--rule) !important;
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhood-name{
  position:relative;
  min-height:96px;
  padding:24px 26px;
  border-right:1px solid var(--rule) !important;
  border-bottom:1px solid var(--rule) !important;
  background:transparent !important;
  transition:background .4s var(--ease);
  transform:none !important;
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhood-name::after{
  content:"";position:absolute;left:26px;bottom:0;height:1px;width:0;
  background:var(--brass-500,#9b7444);
  transition:width .45s var(--ease);
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhood-name:hover{
  background:var(--ivory-2) !important;
  transform:none !important;
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhood-name:hover::after{
  width:56px;
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhood-name span{
  color:var(--brass-700) !important;
  font-size:.64rem !important;
  letter-spacing:.18em !important;
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhood-name strong{
  color:var(--ink) !important;
  font-size:1.3rem !important;
  font-weight:500 !important;
  letter-spacing:-.01em;
}
body.utmost-launch-final.utmost-final-luxury .city-neighborhoods-note{
  color:var(--ink-soft) !important;
  border-left:2px solid var(--brass-700) !important;
}

/* --- 51. Contrast repairs surfaced by the sitewide light-ground scan. ---- */
/* The proof-section outline button kept the dark-hero white variant because
   the baseline patch sits one class short in specificity. Restate it from
   the final layer with the light-ground colours. */
body.utmost-launch-final.utmost-final-luxury .realtor-proof-button .wp-block-button.is-style-outline .wp-block-button__link{
  color:var(--green-900) !important;
  border:1px solid var(--green-900) !important;
  background:transparent !important;
}
body.utmost-launch-final.utmost-final-luxury .realtor-proof-button .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(16,38,34,.06) !important;
  transform:none;
}
/* The partner-form submit inherited a soft grey onto the brass fill. Restore
   the button spec: deep forest on brass. */
body.utmost-launch-final.utmost-final-luxury .utmost-realtor-form .wp-block-button__link{
  color:#102622 !important;
}
/* Kitchen project-type numerals were mid-brass on ivory (2.8:1). Dark brass
   is the light-ground rule for mono labels. */
body.utmost-launch-final.utmost-final-luxury .kitchen-types .reveal > span:first-child,
body.utmost-launch-final.utmost-final-luxury .kitchen-type-grid span{
  color:var(--brass-700) !important;
}

/* --- 52. Flagship motion. The veil (inline in index.html) hands the page
   to a staged hero entrance; the photograph settles from a slow scale; a
   quiet cue invites the first scroll. Every piece respects reduced motion
   and disappears without JavaScript (the hidden states key off classes the
   scripts add). ---------------------------------------------------------- */

/* Hero entrance - homepage only, gated on .hero-boot so no-JS renders
   instantly, resolved by .hero-live. */
body.home.hero-boot .ed-hero__inner > *{
  opacity:0;transform:translateY(16px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
body.home.hero-live .ed-hero__inner > *{opacity:1;transform:none}
body.home.hero-live .ed-hero__inner > .ed-hero__kicker{transition-delay:.05s}
body.home.hero-live .ed-hero__inner > h1{transition-delay:.14s}
body.home.hero-live .ed-hero__inner > .ed-hero__sub{transition-delay:.3s}
body.home.hero-live .ed-hero__inner > .ed-hero__actions{transition-delay:.44s}
body.home.hero-live .ed-hero__inner > .ed-hero__meta{transition-delay:.58s}

/* The photograph arrives already framed, then settles. Composited scale
   only; runs once per page view. */
@keyframes edHeroSettle{from{transform:scale(1.05)}to{transform:scale(1)}}
body.home.hero-live .ed-hero__media img{
  animation:edHeroSettle 8.5s var(--ease) both;
  will-change:transform;
}

/* Scroll cue - one hairline and one word, gone at the first scroll. */
body.utmost-launch-final.utmost-final-luxury .ed-hero__cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  opacity:0;transition:opacity .9s var(--ease) 1.1s;z-index:3;
  pointer-events:none;
}
body.home.hero-live .ed-hero__cue{opacity:1}
body.utmost-launch-final.utmost-final-luxury .ed-hero__cue span{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(255,255,255,.62);
}
body.utmost-launch-final.utmost-final-luxury .ed-hero__cue::after{
  content:"";width:1px;height:42px;
  background:linear-gradient(to bottom,rgba(213,187,134,.7),rgba(213,187,134,0));
  animation:cueDrift 2.6s var(--ease) infinite;
}
@keyframes cueDrift{0%,100%{transform:translateY(0);opacity:1}55%{transform:translateY(7px);opacity:.55}}
body.utmost-launch-final.utmost-final-luxury .ed-hero__cue.is-done{opacity:0;transition-delay:0s;transition-duration:.4s}
@media(max-width:940px){body.utmost-launch-final.utmost-final-luxury .ed-hero__cue{display:none}}

/* Staggered arrival inside indexed containers. The container is the reveal
   unit; its children follow one another by a beat. */
body.utmost-launch-final.utmost-final-luxury :is(.city-neighborhood-list,.practice-facts,.faq-list).reveal > *{
  opacity:0;transform:translateY(12px);
  transition:opacity .55s var(--ease),transform .55s var(--ease);
}
body.utmost-launch-final.utmost-final-luxury :is(.city-neighborhood-list,.practice-facts,.faq-list).reveal.visible > *{
  opacity:1;transform:none;
}
body.utmost-launch-final.utmost-final-luxury :is(.city-neighborhood-list,.practice-facts,.faq-list).reveal.visible > *:nth-child(2){transition-delay:.08s}
body.utmost-launch-final.utmost-final-luxury :is(.city-neighborhood-list,.practice-facts,.faq-list).reveal.visible > *:nth-child(3){transition-delay:.16s}
body.utmost-launch-final.utmost-final-luxury :is(.city-neighborhood-list,.practice-facts,.faq-list).reveal.visible > *:nth-child(4){transition-delay:.24s}
body.utmost-launch-final.utmost-final-luxury :is(.city-neighborhood-list,.practice-facts,.faq-list).reveal.visible > *:nth-child(5){transition-delay:.32s}
body.utmost-launch-final.utmost-final-luxury :is(.city-neighborhood-list,.practice-facts,.faq-list).reveal.visible > *:nth-child(6){transition-delay:.4s}
/* Sibling stagger where each item carries its own .reveal. */
body.utmost-launch-final.utmost-final-luxury .ed-process__step:nth-child(2){transition-delay:.09s}
body.utmost-launch-final.utmost-final-luxury .ed-process__step:nth-child(3){transition-delay:.18s}
body.utmost-launch-final.utmost-final-luxury .ed-process__step:nth-child(4){transition-delay:.27s}
body.utmost-launch-final.utmost-final-luxury .ed-process__step:nth-child(5){transition-delay:.36s}

/* Editorial figures settle into focus as they reveal. The parallax frame is
   excluded - its transform belongs to the scroll script. */
body.utmost-launch-final.utmost-final-luxury .ed-figure.reveal{overflow:hidden}
body.utmost-launch-final.utmost-final-luxury .ed-figure.reveal img:not([data-parallax]){
  transform:scale(1.035);transition:transform 1.2s var(--ease);
}
body.utmost-launch-final.utmost-final-luxury .ed-figure.reveal.visible img:not([data-parallax]){transform:scale(1)}
body.utmost-launch-final.utmost-final-luxury .ed-figure img[data-parallax]{
  transform:scale(1.05);will-change:transform;
}

/* Interaction polish: the arrow answers the hand; keyboard focus carries
   the brass. */
body.utmost-launch-final.utmost-final-luxury .btn::after{transition:transform .3s var(--ease)}
body.utmost-launch-final.utmost-final-luxury .btn:hover::after{transform:translateX(4px)}
body.utmost-launch-final.utmost-final-luxury :is(a,button,summary,input,select,textarea):focus-visible{
  outline:2px solid var(--brass-500);outline-offset:3px;
}
::selection{background:rgba(213,187,134,.85);color:#102622}

/* The homepage facts row sits tight above the closing conversation. */
body.utmost-launch-final.utmost-final-luxury .home-facts{padding-bottom:calc(var(--ed-rhythm) * .35)}
body.utmost-launch-final.utmost-final-luxury .home-facts .practice-facts{
  border-top:1px solid var(--rule);padding-top:34px;
}

/* --- 53. Viewer and accordion finesse. The lightbox dialog arrives instead
   of appearing; the frame counter reads as an editorial plate number; FAQ
   answers unfold instead of snapping. All CSS, no behaviour changes. ------ */
@keyframes lbIn{from{opacity:0;transform:translateY(12px) scale(.988)}to{opacity:1;transform:none}}
body.utmost-launch-final.utmost-final-luxury .project-lightbox.is-open .project-lightbox-dialog{
  animation:lbIn .4s var(--ease) both;
}
body.utmost-launch-final.utmost-final-luxury .project-lightbox-media img{transition:opacity .32s var(--ease)}
body.utmost-launch-final.utmost-final-luxury [data-lightbox-count]{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass-300);margin-top:14px;display:block;
}
body.utmost-launch-final.utmost-final-luxury :is(.project-lightbox-close,.project-lightbox-prev,.project-lightbox-next){
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}

@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
body.utmost-launch-final.utmost-final-luxury :is(.faq-list,.faq-group) details[open] > p{
  animation:faqIn .45s var(--ease) both;
}
body.utmost-launch-final.utmost-final-luxury :is(.faq-list,.faq-group) summary{
  transition:color .3s var(--ease);
}
body.utmost-launch-final.utmost-final-luxury :is(.faq-list,.faq-group) summary:hover{
  color:var(--brass-700);
}
body.utmost-launch-final.utmost-final-luxury :is(.faq-list,.faq-group) summary::after{
  transition:transform .35s var(--ease),color .3s var(--ease);
}
body.utmost-launch-final.utmost-final-luxury :is(.faq-list,.faq-group) details[open] summary::after{
  transform:rotate(180deg);
}

/* Case-study plates settle like the editorial figures, and follow one
   another when several enter together. */
body.utmost-launch-final.utmost-final-luxury .case-study-shot.reveal{overflow:hidden}
body.utmost-launch-final.utmost-final-luxury .case-study-shot.reveal img{
  transform:scale(1.03);transition:transform 1.1s var(--ease);
}
body.utmost-launch-final.utmost-final-luxury .case-study-shot.reveal.visible img{transform:scale(1)}
body.utmost-launch-final.utmost-final-luxury .case-study-shot:nth-of-type(2){transition-delay:.08s}
body.utmost-launch-final.utmost-final-luxury .case-study-shot:nth-of-type(3){transition-delay:.16s}
/* Same numeral repair for the remaining light sections that carried
   mid-brass index numerals (2.8:1 on ivory). The dark bands
   (.new-home-foundations, .new-home-preconstruction) keep their light
   brass - dark brass belongs to light grounds only. */
body.utmost-launch-final.utmost-final-luxury :is(.new-home-pathways,.new-home-process) .reveal > span:first-child,
body.utmost-launch-final.utmost-final-luxury :is(.new-home-pathways,.new-home-process) div > span:first-child,
body.utmost-launch-final.utmost-final-luxury .design-language-list div > span:first-child{
  color:var(--brass-700) !important;
}

/* --- 54. Composed galleries and de-chromed indexes (final pass). The
   photographic collections stop being automatic grids: every gallery opens
   on a full-width plate (the strongest frame, reordered in the HTML), and
   everything after it runs in calm, uniform pairs on one caption baseline.
   The remaining bordered-card sections give up their boxes for the site's
   hairline index language. ---------------------------------------------- */

/* Case-study collections: plate + pairs. Overrides the 7n+1/7n+5/7n+6
   ragged cycle from the consolidated layer. */
@media(min-width:761px){
  body.utmost-launch-final .case-study-shot,
  body.utmost-launch-final .case-study-shot:nth-child(7n+1),
  body.utmost-launch-final .case-study-shot:nth-child(7n+5),
  body.utmost-launch-final .case-study-shot:nth-child(7n+6){grid-column:span 6}
  body.utmost-launch-final .case-study-shot:first-child{grid-column:span 12}
  body.utmost-launch-final .case-study-shot:last-child:nth-child(even){grid-column:span 12}
  body.utmost-launch-final .case-study-shot button,
  body.utmost-launch-final .case-study-shot:nth-child(7n+1) button{height:460px}
  body.utmost-launch-final .case-study-shot:first-child button{height:640px}
  body.utmost-launch-final .case-study-shot:last-child:nth-child(even) button{height:560px}
  body.utmost-launch-final.utmost-final-luxury .case-study-shot figcaption{min-height:88px}
}
body.utmost-launch-final.utmost-final-luxury .case-study-shot{border:0 !important;background:transparent !important}
body.utmost-launch-final.utmost-final-luxury .case-study-shot button{background:var(--ivory-2) !important}
body.utmost-launch-final.utmost-final-luxury .case-study-shot figcaption{padding:16px 2px 26px !important}

/* City collections: the same composition. */
@media(min-width:761px){
  body.utmost-launch-final.utmost-final-luxury .city-gallery{grid-auto-rows:auto}
  body.utmost-launch-final.utmost-final-luxury .city-gallery-item{grid-column:span 6 !important;grid-row:auto !important}
  body.utmost-launch-final.utmost-final-luxury .city-gallery-item:first-child{grid-column:span 12 !important}
  body.utmost-launch-final.utmost-final-luxury .city-gallery-item:last-child:nth-child(even){grid-column:span 12 !important}
  body.utmost-launch-final.utmost-final-luxury .city-gallery-item img{aspect-ratio:3/2 !important;height:auto !important}
  body.utmost-launch-final.utmost-final-luxury .city-gallery-item:first-child img,
  body.utmost-launch-final.utmost-final-luxury .city-gallery-item:last-child:nth-child(even) img{aspect-ratio:21/10 !important}
  body.utmost-launch-final.utmost-final-luxury .city-gallery figure figcaption{min-height:74px}
}

/* Professional-audience and guide columns (partners, insights): the boxes
   become hairline columns with a drawn brass rule on hover. */
body.utmost-launch-final.utmost-final-luxury .audience-grid{gap:44px clamp(28px,3vw,52px)}
body.utmost-launch-final.utmost-final-luxury .audience-card{
  position:relative;
  background:transparent !important;border:0 !important;box-shadow:none !important;
  border-top:1px solid var(--rule) !important;
  padding:26px 8px 6px 0 !important;min-height:0 !important;
  transform:none !important;transition:none;
}
body.utmost-launch-final.utmost-final-luxury .audience-card::before{
  content:"";position:absolute;top:-1px;left:0;height:1px;width:0;
  background:var(--brass-500);transition:width .5s var(--ease);
}
body.utmost-launch-final.utmost-final-luxury .audience-card:hover{transform:none !important;box-shadow:none !important}
body.utmost-launch-final.utmost-final-luxury .audience-card:hover::before{width:64px}
body.utmost-launch-final.utmost-final-luxury .audience-card > span{
  font-family:var(--mono) !important;font-size:.63rem !important;
  letter-spacing:.18em;color:var(--brass-700) !important;margin-bottom:22px !important;
}
body.utmost-launch-final.utmost-final-luxury .audience-card h3{font-size:1.4rem}

/* Addition project types: six items as two clean rows of three (the
   container on that page is the audience grid). */
@media(min-width:941px){
  body.utmost-launch-final.utmost-final-luxury .addition-types .audience-grid{
    grid-template-columns:repeat(3,1fr);
  }
}
body.utmost-launch-final.utmost-final-luxury .addition-types .number-grid{
  grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
}
body.utmost-launch-final.utmost-final-luxury .addition-types .number-card{
  background:transparent !important;box-shadow:none !important;min-height:0;
  padding:32px 28px 36px;border-right:1px solid var(--rule);border-bottom:0;
}
body.utmost-launch-final.utmost-final-luxury .addition-types .number-card:nth-child(3n){border-right:0}
body.utmost-launch-final.utmost-final-luxury .addition-types .number-card:nth-child(-n+3){border-bottom:1px solid var(--rule)}
body.utmost-launch-final.utmost-final-luxury .addition-types .number-card > span{
  font-family:var(--mono) !important;font-size:.63rem !important;letter-spacing:.18em;
  color:var(--brass-700) !important;margin-bottom:20px !important;
}
@media(max-width:940px){
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-grid{grid-template-columns:1fr 1fr}
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-card:nth-child(3n){border-right:1px solid var(--rule)}
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-card:nth-child(2n){border-right:0}
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-card:nth-child(-n+4){border-bottom:1px solid var(--rule)}
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-card:nth-child(n+5){border-bottom:0}
}
@media(max-width:650px){
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-grid{grid-template-columns:1fr}
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-card{border-right:0 !important;border-bottom:1px solid var(--rule) !important}
  body.utmost-launch-final.utmost-final-luxury .addition-types .number-card:last-child{border-bottom:0 !important}
}

/* The service-area directory: flat editorial rows instead of floating
   cards. The photograph is a fixed plate; the copy carries the index. */
body.utmost-launch-final.utmost-final-luxury .areas-directory-grid{gap:56px clamp(28px,3.4vw,56px)}
body.utmost-launch-final.utmost-final-luxury .area-directory-card{
  background:transparent !important;border:0 !important;box-shadow:none !important;
  min-height:0 !important;transform:none !important;
  grid-template-columns:.92fr 1.08fr;gap:26px;
}
body.utmost-launch-final.utmost-final-luxury .area-directory-card:hover{transform:none !important;box-shadow:none !important}
body.utmost-launch-final.utmost-final-luxury .area-directory-image img{aspect-ratio:3/2;height:100%}
body.utmost-launch-final.utmost-final-luxury .area-directory-copy{
  padding:6px 0 0 0 !important;border-top:1px solid var(--rule);
}
body.utmost-launch-final.utmost-final-luxury .area-directory-copy > span{
  font-family:var(--mono) !important;font-size:.6rem !important;letter-spacing:.18em;
  color:var(--brass-700) !important;
}
body.utmost-launch-final.utmost-final-luxury .area-directory-copy h2{font-size:1.9rem;margin:12px 0 10px}
body.utmost-launch-final.utmost-final-luxury .area-directory-copy strong{color:var(--brass-700)}
body.utmost-launch-final.utmost-final-luxury .area-directory-card:hover .area-directory-copy h2{color:var(--green-800)}

/* Insights: the planning-notes placeholder becomes a quiet editorial note
   rather than a floating card. */
body.utmost-launch-final.utmost-final-luxury .insight-card.insight-empty{
  background:transparent !important;border:0 !important;box-shadow:none !important;
  border-left:2px solid var(--brass-700) !important;padding:4px 0 4px 26px;
}
/* An odd final row in the area directory closes full-width instead of
   sitting orphaned beside empty ivory. */
@media(min-width:761px){
  body.utmost-launch-final.utmost-final-luxury .area-directory-card:last-child:nth-child(odd){
    grid-column:1 / -1;
    grid-template-columns:.55fr .45fr;
  }
  body.utmost-launch-final.utmost-final-luxury .area-directory-card:last-child:nth-child(odd) .area-directory-image img{
    aspect-ratio:21/9;
  }
}

/* ===========================================================================
   55. THE COMPOSED SEQUENCE - owner-directed gallery rebuild. Every
   photographic collection runs one deliberate desktop rhythm:

     [1] full-width lead, 16:9
     [2]+[3] a 60/40 spread, one height
     [4]+[5] a 50/50 spread, one height
     [6] full-width cinematic plate on forest - the dark section break

   then repeats. No three-across grids, no orphans (a pair-opener that
   would end alone becomes full-width), fixed heights inside each spread,
   one gutter, one caption baseline. The strongest frames are ordered into
   slots [1], [6] and [2] in the HTML.
   =========================================================================== */
@media(min-width:761px){
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images){
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    grid-auto-rows:auto !important;
    gap:20px 20px !important;
    align-items:start !important;
  }
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure{
    margin:0 !important;grid-row:auto !important;height:auto !important;
  }
  /* the six slots */
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+1){grid-column:span 12 !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+2){grid-column:span 7 !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+3){grid-column:span 5 !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+4){grid-column:span 6 !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+5){grid-column:span 6 !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6){grid-column:span 12 !important}
  /* media heights: one height per spread */
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure :is(button,a){
    display:block !important;width:100% !important;padding:0 !important;border:0 !important;
    overflow:hidden !important;background:var(--ivory-2) !important;cursor:zoom-in;
  }
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure img{
    width:100% !important;height:100% !important;object-fit:cover !important;aspect-ratio:auto !important;
  }
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+1) :is(button,a){height:620px !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+2) :is(button,a),
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+3) :is(button,a){height:540px !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+4) :is(button,a),
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+5) :is(button,a){height:470px !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) :is(button,a){height:560px !important}
  /* orphaned pair-openers close full-width */
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+2):last-child,
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+4):last-child{grid-column:span 12 !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+2):last-child :is(button,a),
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+4):last-child :is(button,a){height:620px !important}
  /* slot [6] is the dark cinematic plate - the photo-led section break */
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6){
    background:var(--green-1000) !important;
    padding:clamp(26px,3vw,48px) clamp(26px,3vw,48px) clamp(20px,2.2vw,34px) !important;
  }
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) figcaption{color:rgba(255,255,255,.86) !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) figcaption :is(span,b,em){color:var(--brass-300) !important}
  body.utmost-launch-final :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) figcaption strong{color:#fff !important}
  /* one caption baseline */
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure figcaption{
    min-height:84px;padding:16px 2px 22px !important;
  }
}

/* The projects atlas: each record leads with one large feature frame; the
   remaining photographs run as a tight uniform index strip - a contact
   sheet, not a gallery. */
@media(min-width:761px){
  body.utmost-launch-final .atlas-track{
    display:grid !important;
    grid-template-columns:repeat(10,minmax(0,1fr)) !important;
    gap:14px !important;align-items:start !important;
  }
  body.utmost-launch-final .atlas-track > .atlas-card{grid-column:span 2 !important;margin:0 !important}
  body.utmost-launch-final .atlas-track > .atlas-card:first-child{grid-column:span 6 !important;grid-row:span 2 !important}
  body.utmost-launch-final .atlas-track > .atlas-card :is(button,a){display:block !important;width:100% !important;overflow:hidden !important;height:130px !important;background:var(--ivory-2) !important}
  body.utmost-launch-final .atlas-track > .atlas-card:first-child :is(button,a){height:274px !important}
  body.utmost-launch-final .atlas-track > .atlas-card img{width:100% !important;height:100% !important;object-fit:cover !important}
  body.utmost-launch-final .atlas-track > .atlas-card figcaption{display:none !important}
  body.utmost-launch-final .atlas-track > .atlas-card:first-child figcaption{
    display:block !important;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;
    text-transform:uppercase;color:var(--brass-700);padding:10px 2px 0;
  }
}

/* The service-area directory leads with a full-width row, like every other
   composed sequence on the site. */
@media(min-width:761px){
  body.utmost-launch-final.utmost-final-luxury .area-directory-card:first-child{
    grid-column:1 / -1;
    grid-template-columns:.55fr .45fr;
  }
  body.utmost-launch-final.utmost-final-luxury .area-directory-card:first-child .area-directory-image img{
    aspect-ratio:21/9;
  }
}

/* dense packing keeps the atlas strips gap-free around the feature */
@media(min-width:761px){
  body.utmost-launch-final .atlas-track{grid-auto-flow:row dense !important}
}

/* --- 55b. The kitchen portfolio joins the composed sequence. The
   consolidated layer pinned it to a three-across card grid at higher
   specificity (grid-column:auto on .kitchen-editorial-shot:nth-child(n));
   these selectors outrank that block and hand the collection to the same
   [lead / 60-40 / 50-50 / dark plate] rhythm as every other gallery. */
@media(min-width:761px){
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial{
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    gap:20px 20px !important;
  }
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot,
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(n){
    background:transparent !important;border:0 !important;
  }
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+1){grid-column:span 12 !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+2){grid-column:span 7 !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+3){grid-column:span 5 !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+4){grid-column:span 6 !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+5){grid-column:span 6 !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+6){grid-column:span 12 !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(n) button{
    aspect-ratio:auto !important;
  }
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+1) button{height:620px !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+2) button,
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+3) button{height:540px !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+4) button,
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+5) button{height:470px !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+6) button{height:560px !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+2):last-child,
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+4):last-child{grid-column:span 12 !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+2):last-child button,
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+4):last-child button{height:620px !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+6){
    background:var(--green-1000) !important;
    padding:clamp(26px,3vw,48px) clamp(26px,3vw,48px) clamp(20px,2.2vw,34px) !important;
  }
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(n) figcaption{
    background:transparent !important;
  }
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+6) figcaption p{color:rgba(255,255,255,.72) !important}
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+6) figcaption :is(strong){color:#fff !important}
}

/* --- 55c. The dark plate, made non-negotiable. On some collections the
   forest background of slot [6] lost a specificity fight while its light
   caption colours won theirs, leaving pale brass on ivory. These selectors
   carry the full page prefix so the plate and its caption always travel
   together. */
@media(min-width:761px){
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6):not(:last-child:nth-child(6n+2)):not(:last-child:nth-child(6n+4)){
    background:var(--green-1000) !important;
    padding:clamp(26px,3vw,48px) clamp(26px,3vw,48px) clamp(20px,2.2vw,34px) !important;
    border:0 !important;
  }
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) figcaption{
    color:rgba(255,255,255,.86) !important;background:transparent !important;
  }
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) figcaption :is(span,b,em),
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) figcaption :is(span,b,strong,em):not(:first-child){
    color:var(--brass-300) !important;
  }
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:nth-child(6n+6) figcaption strong{
    color:#fff !important;
  }
  /* and captions on every LIGHT figure of the cycle keep the dark-brass
     label + ink title, whatever older rules say */
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:not(:nth-child(6n+6)) figcaption :is(span,b,em),
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:not(:nth-child(6n+6)) figcaption :is(span,b,strong,em):not(:first-child){
    color:var(--brass-700) !important;
  }
  body.utmost-launch-final.utmost-final-luxury :is(.case-study-grid,.city-gallery,.kitchen-editorial,.whole-home-story,.signature-baths-stage,.bathroom-city-images) > figure:not(:nth-child(6n+6)) figcaption strong{
    color:var(--ink) !important;
  }
}
@media(min-width:761px){
  body.utmost-launch-final.utmost-final-luxury .kitchen-editorial > figure.kitchen-editorial-shot:nth-child(6n+6){
    background:var(--green-1000) !important;
    padding:clamp(26px,3vw,48px) clamp(26px,3vw,48px) clamp(20px,2.2vw,34px) !important;
  }
}
