/* BlueHouse Blinds, Shutters & Rugs: warm editorial brand layer */

:root {
  --bluehouse-navy: #0a2637;
  --bluehouse-navy-deep: #071e2c;
  --bluehouse-blue: #006cb8;
  --bluehouse-action: #005d9e;
  --bluehouse-action-dark: #004a7e;
  --bluehouse-sky: #dcebf4;
  --bluehouse-brass: #c49a5a;
  --bluehouse-brass-light: #dfbd88;
  --bluehouse-linen: #f6f2ea;
  --bluehouse-white: #fffefa;
  --bluehouse-oat: #ded6c8;
  --bluehouse-walnut: #493a32;
  --bluehouse-muted: #68625e;
  --bluehouse-muted-dark: #d9d3ca;
  --bluehouse-rule: rgba(10, 38, 55, 0.14);
  --bluehouse-rule-strong: rgba(10, 38, 55, 0.28);
  --bluehouse-rule-dark: rgba(255, 254, 250, 0.2);
  --bluehouse-display: "Lora", Georgia, "Times New Roman", serif;
  --bluehouse-body: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --bluehouse-label: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --bluehouse-wrap: 1380px;
  --bluehouse-gutter: clamp(1.5rem, 4vw, 3.75rem);
  --bluehouse-section: clamp(5.25rem, 9vw, 9rem);
  --bluehouse-ease: cubic-bezier(0.2, 0.76, 0.28, 1);
  --ink: var(--bluehouse-navy);
  --ink-2: var(--bluehouse-navy-deep);
  --paper: var(--bluehouse-linen);
  --paper-2: #ede7dc;
  --cream: var(--bluehouse-white);
  --copper: var(--bluehouse-action);
  --copper-2: var(--bluehouse-sky);
  --copper-3: var(--bluehouse-action-dark);
  --accent-d: var(--bluehouse-blue);
  --gold: var(--bluehouse-brass);
  --mut: var(--bluehouse-muted);
  --mut-d: var(--bluehouse-muted-dark);
  --line: var(--bluehouse-rule);
  --line-strong: var(--bluehouse-rule-strong);
  --line-d: var(--bluehouse-rule-dark);
  --display: var(--bluehouse-display);
  --serif: var(--bluehouse-display);
  --accent-font: var(--bluehouse-body);
  --sans: var(--bluehouse-body);
  --mono: var(--bluehouse-label);
  --wrap: var(--bluehouse-wrap);
  --gutter: var(--bluehouse-gutter);
  --section: var(--bluehouse-section);
  --shadow: 0 26px 70px -45px rgba(10, 38, 55, 0.42);
  --shadow-strong: 0 38px 90px -48px rgba(10, 38, 55, 0.62);
}

body { background: var(--bluehouse-white); color: var(--bluehouse-navy); font-family: var(--bluehouse-body); }
main { background: var(--bluehouse-white); }
.design-tone-cinematic img:not(.site-logo):not(.custom-logo) { filter: saturate(.96) contrast(1.02); }

h1, h2, h3, h4, h5, h6, .h-xl, .h-lg, .h-md, .foot-statement {
  color: var(--bluehouse-navy);
  font-family: var(--bluehouse-display);
  font-weight: 500;
  letter-spacing: -.035em;
  text-transform: none;
}

h1 em, h2 em, h3 em, .accent, .bluehouse-hero h1 em, .bluehouse-page-hero h1 em {
  color: var(--bluehouse-blue);
  font-style: italic;
}

.sec--dark h1 em, .sec--dark h2 em, .bluehouse-hero h1 em, .bluehouse-page-hero h1 em,
.bluehouse-cta h2 em, .site-foot .foot-statement em { color: var(--bluehouse-brass-light); }

.eyebrow, .hero-eyebrow, .bluehouse-kicker, .mono-note, .fig-cap, .meta-row, .entry-meta,
.post-meta, .bluehouse-meta, .bluehouse-service-card__index, .bluehouse-process__number,
.bluehouse-journal-card__meta { font-family: var(--bluehouse-label); }

.eyebrow, .hero-eyebrow, .bluehouse-kicker {
  color: var(--bluehouse-blue);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.eyebrow::before, .hero-eyebrow::before, .bluehouse-kicker::before {
  width: 2.2rem;
  height: 1px;
  background: var(--bluehouse-brass);
}

.wrap { width: min(100%, var(--bluehouse-wrap)); max-width: var(--bluehouse-wrap); padding-inline: var(--bluehouse-gutter); }
.sec { padding-block: var(--bluehouse-section); }
.sec--tint { background: var(--bluehouse-linen); }
.sec--dark { background: var(--bluehouse-navy); }
.sec-head { gap: clamp(2rem, 6vw, 6rem); margin-bottom: clamp(2.75rem, 6vw, 5rem); }
.sec-head h2, .sec-head--c h2 { max-width: 13ch; }
.sec-head--c h2 { margin-inline: auto; }

.btn, .bluehouse-btn--accent, .bluehouse-btn--primary, .bluehouse-btn--ghost {
  min-height: 50px;
  padding: .9rem 1.35rem;
  border-radius: 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.btn--copper, .btn--gold, .bluehouse-btn--accent, .bluehouse-btn--primary {
  border-color: var(--bluehouse-action);
  background: var(--bluehouse-action);
  color: var(--bluehouse-white);
}

.btn--copper:hover, .btn--gold:hover, .bluehouse-btn--accent:hover, .bluehouse-btn--primary:hover {
  border-color: var(--bluehouse-navy);
  background: var(--bluehouse-navy);
  color: var(--bluehouse-white);
}

.sec--dark .btn--copper:hover, .bluehouse-hero .btn--copper:hover, .bluehouse-page-hero .btn--copper:hover,
.bluehouse-cta .btn--copper:hover, .site-foot .btn--copper:hover {
  border-color: var(--bluehouse-white);
  background: var(--bluehouse-white);
  color: var(--bluehouse-navy);
}

.btn--ghost, .bluehouse-btn--ghost { border-color: var(--bluehouse-rule-strong); color: var(--bluehouse-navy); }
.btn--ghost:hover, .bluehouse-btn--ghost:hover { border-color: var(--bluehouse-blue); color: var(--bluehouse-blue); }
.bluehouse-link, .tlink { color: var(--bluehouse-action); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline-color: var(--bluehouse-blue); }
.sec--dark :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.bluehouse-hero :where(a, button, [tabindex]):focus-visible, .bluehouse-page-hero :where(a, button, [tabindex]):focus-visible,
.site-foot :where(a, button, [tabindex]):focus-visible { outline-color: var(--bluehouse-brass-light); }

/* Header */
.topbar { border-bottom-color: rgba(255,254,250,.12); background: var(--bluehouse-navy-deep); color: var(--bluehouse-muted-dark); }
.topbar a:hover { color: var(--bluehouse-brass-light); }
.site-head {
  border-bottom: 1px solid rgba(10,38,55,.13);
  background: rgba(255,254,250,.95);
  backdrop-filter: blur(18px) saturate(1.1);
}
.site-head.is-stuck { background: rgba(255,254,250,.985); box-shadow: 0 20px 48px -40px rgba(10,38,55,.72); }
.site-head::after {
  position: absolute; right: 0; bottom: -1px; width: clamp(84px,10vw,160px); height: 1px;
  background: var(--bluehouse-brass); content: "";
}
.site-head .wrap { min-height: 86px; }
.site-logo, .custom-logo { max-width: min(238px,39vw); max-height: 58px; }
.brand-name { color: var(--bluehouse-navy); font-family: var(--bluehouse-display); font-weight: 500; letter-spacing: -.025em; text-transform: none; }
.nav { gap: clamp(.75rem,1.18vw,1.3rem); }
.nav > .menu-item > a, .nav > li > a { min-height: 86px; color: var(--bluehouse-navy); font-size: clamp(.72rem,.69rem + .05vw,.78rem); letter-spacing: .075em; }
.nav > .menu-item > a::before, .nav > li > a::before { bottom: 14px; height: 1px; background: var(--bluehouse-brass); }
.nav .current-menu-item > a, .nav .current-menu-ancestor > a { color: var(--bluehouse-action); }
.nav .sub-menu, .nav .sub { border: 1px solid var(--bluehouse-oat); border-top: 2px solid var(--bluehouse-brass); background: rgba(255,254,250,.99); box-shadow: 0 28px 64px -38px rgba(10,38,55,.56); }
.nav .sub-menu a:hover, .nav .sub-menu a:focus-visible, .nav .sub a:hover, .nav .sub a:focus-visible,
.nav .sub-menu .current-menu-item > a { padding-left: 1.08rem; background: rgba(0,108,184,.07); color: var(--bluehouse-action); }
.nav-phone { border-left-color: var(--bluehouse-oat); color: var(--bluehouse-navy); font-family: var(--bluehouse-body); font-size: .88rem; font-weight: 700; letter-spacing: .01em; }
.nav-phone:hover { color: var(--bluehouse-action); }
.burger { border-color: var(--bluehouse-oat); }

.m-menu { background: var(--bluehouse-navy-deep); }
.m-menu .site-logo, .m-menu .custom-logo, .site-foot .site-logo, .site-foot .custom-logo {
  filter: brightness(0) invert(1);
  opacity: .96;
}
.m-menu::before { background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.045) 0 1px,transparent 1px 12px); background-size: auto; mask-image: linear-gradient(to bottom,#000,transparent 88%); }
.m-nav > li > a, .m-nav > a, .m-group > a { color: var(--bluehouse-white); font-family: var(--bluehouse-display); font-weight: 500; line-height: 1.08; }
.m-group > a::after, .m-close span, .m-subwrap a:hover, .m-group .sub-menu a:hover { color: var(--bluehouse-brass-light); }
.m-subwrap-all { border-left-color: var(--bluehouse-brass); background: rgba(196,154,90,.1); color: var(--bluehouse-brass-light) !important; font-family: var(--bluehouse-body); }

/* Split hero */
.bluehouse-hero, .hero {
  position: relative; min-height: min(820px,calc(100svh - 120px)); overflow: hidden;
  border-bottom: 1px solid var(--bluehouse-brass); background: var(--bluehouse-navy); color: var(--bluehouse-white);
}
.bluehouse-hero::before {
  position: absolute; z-index: 2; inset: 0 50% 0 0;
  background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.045) 0 1px,transparent 1px 12px);
  content: ""; pointer-events: none; mask-image: linear-gradient(90deg,#000 52%,transparent 96%);
}
.bluehouse-hero__media { position: absolute; z-index: 0; inset: 0 0 0 50%; overflow: hidden; background: var(--bluehouse-walnut); }
.bluehouse-hero__media::before { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg,var(--bluehouse-navy) 0%,rgba(10,38,55,.62) 13%,rgba(10,38,55,.06) 48%,transparent 100%); content: ""; pointer-events: none; }
.bluehouse-hero__media::after { position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; width: 1px; background: var(--bluehouse-brass); content: ""; }
.bluehouse-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bluehouse-hero__inner { position: relative; z-index: 3; display: flex; min-height: inherit; align-items: center; }
.bluehouse-hero__content { width: min(47%,650px); min-width: 0; padding-block: clamp(5rem,8vw,7.5rem); }
.bluehouse-hero .bluehouse-kicker, .bluehouse-page-hero .bluehouse-kicker { color: var(--bluehouse-brass-light); }
.bluehouse-hero h1 {
  max-width: 10.5ch; color: var(--bluehouse-white); font-size: clamp(4rem,6.7vw,7.1rem); font-weight: 500;
  line-height: .96; letter-spacing: -.055em; overflow-wrap: normal; text-shadow: 0 15px 50px rgba(7,30,44,.3);
  word-break: normal; hyphens: none;
}
.bluehouse-hero__lede { max-width: 43ch; margin: clamp(1.5rem,3vw,2rem) 0 0; color: rgba(255,254,250,.78); font-size: clamp(1.05rem,1rem + .26vw,1.28rem); line-height: 1.65; }
.bluehouse-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.bluehouse-hero .btn--ghost, .bluehouse-page-hero .btn--ghost { border-color: rgba(255,254,250,.3); color: var(--bluehouse-white); }
.bluehouse-hero .btn--ghost:hover, .bluehouse-page-hero .btn--ghost:hover { border-color: var(--bluehouse-brass-light); color: var(--bluehouse-brass-light); }
.bluehouse-hero__proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: clamp(2.5rem,5vw,4rem); border-block: 1px solid rgba(255,254,250,.18); }
.bluehouse-hero__proof span { padding: .95rem; border-right: 1px solid rgba(255,254,250,.18); color: rgba(255,254,250,.7); font-size: .58rem; font-weight: 700; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.bluehouse-hero__proof span:first-child { padding-left: 0; }
.bluehouse-hero__proof span:last-child { border-right: 0; }
.hero-media-note { border-color: rgba(255,254,250,.3); background: rgba(10,38,55,.8); }

/* Interior heroes */
.bluehouse-page-hero, .page-hero {
  position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(4.5rem,8vw,7.5rem);
  border-bottom: 1px solid var(--bluehouse-brass); background: var(--bluehouse-navy); color: var(--bluehouse-white);
}
.bluehouse-page-hero::before, .page-hero::before { position: absolute; z-index: -1; inset: 0; background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.04) 0 1px,transparent 1px 12px); content: ""; mask-image: linear-gradient(90deg,#000,rgba(0,0,0,.2) 78%,transparent); }
.bluehouse-page-hero > .wrap { display: grid; grid-template-columns: minmax(0,.88fr) minmax(360px,.72fr); align-items: center; gap: clamp(3rem,8vw,8rem); }
.bluehouse-page-hero:not(:has(.bluehouse-page-hero__media)) > .wrap { grid-template-columns: minmax(0,900px); }
.bluehouse-page-hero__content { position: relative; z-index: 2; }
.bluehouse-page-hero h1 { max-width: 12ch; color: var(--bluehouse-white); font-size: clamp(3.45rem,6.5vw,6.9rem); font-weight: 500; line-height: .98; }
.bluehouse-page-hero .lede, .page-hero .lede { margin: 1.5rem 0 0; color: rgba(255,254,250,.76); }
.bluehouse-page-hero__media { position: relative; aspect-ratio: 1; min-height: 0; overflow: hidden; border: 1px solid rgba(255,254,250,.25); background: var(--bluehouse-walnut); box-shadow: 22px 22px 0 rgba(196,154,90,.09); }
.bluehouse-page-hero__media::before { position: absolute; z-index: 2; top: 0; left: 0; width: 30%; height: 1px; background: var(--bluehouse-brass-light); content: ""; }
.bluehouse-page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.bluehouse-page-hero .meta-row { display: grid; grid-template-columns: 1fr; margin-top: 2rem; border-block: 1px solid rgba(255,254,250,.18); color: rgba(255,254,250,.7); }
.bluehouse-page-hero .meta-row span { width: 100%; padding: .82rem 1rem; border-bottom: 1px solid rgba(255,254,250,.15); line-height: 1.5; }
.bluehouse-page-hero .meta-row span:last-child { border-bottom: 0; }
.bluehouse-page-hero .meta-row b { color: var(--bluehouse-brass-light); }

/* Editorial splits */
.bluehouse-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(3.5rem,8vw,8.5rem); }
.bluehouse-split--wide-media { grid-template-columns: minmax(0,1.08fr) minmax(320px,.92fr); }
.bluehouse-split--reverse > :first-child { order: 2; }
.bluehouse-split__media { position: relative; min-width: 0; aspect-ratio: 1 / 1.04; min-height: 0; background: var(--bluehouse-oat); }
.bluehouse-split__media::before { position: absolute; z-index: 2; top: -12px; right: -12px; width: 31%; height: 31%; border-top: 1px solid var(--bluehouse-brass); border-right: 1px solid var(--bluehouse-brass); content: ""; pointer-events: none; }
.bluehouse-split__media::after { position: absolute; z-index: 2; right: 0; bottom: 0; width: 58px; height: 58px; border-right: 2px solid var(--bluehouse-brass); border-bottom: 2px solid var(--bluehouse-brass); content: ""; }
.bluehouse-split__media img { width: 100%; height: 100%; object-fit: cover; }
.bluehouse-split__content > h2 { max-width: 13ch; }
.bluehouse-split__content > h2 + p, .bluehouse-split__content > .lede { margin-top: 1.5rem; }
.bluehouse-split__content > p:not(.eyebrow):not(.lede) { color: var(--bluehouse-muted); }
.bluehouse-split__content > p + p { margin-top: 1rem; }
.ticks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1.8rem 0; border-top: 1px solid var(--bluehouse-rule-strong); }
.ticks li { position: relative; padding: .85rem 1rem .85rem 1.35rem; border-bottom: 1px solid var(--bluehouse-rule); color: var(--bluehouse-navy); font-size: .86rem; font-weight: 650; line-height: 1.45; }
.ticks li:nth-child(odd) { border-right: 1px solid var(--bluehouse-rule); }
.ticks li::before { position: absolute; top: 1.15rem; left: 0; width: 7px; height: 1px; background: var(--bluehouse-brass); box-shadow: 0 3px 0 var(--bluehouse-brass),0 6px 0 var(--bluehouse-brass); content: ""; }
.bluehouse-story__quote { max-width: 18ch; margin: 0 0 2rem; font-size: clamp(2.5rem,5vw,5.2rem); line-height: 1.02; }

/* Services */
.bluehouse-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2vw,1.5rem); }
.bluehouse-service-card { position: relative; display: flex; min-width: 0; min-height: 100%; flex-direction: column; border: 1px solid var(--bluehouse-oat); background: var(--bluehouse-white); color: var(--bluehouse-navy); box-shadow: 0 24px 60px -48px rgba(10,38,55,.42); transition: border-color .35s var(--bluehouse-ease),transform .35s var(--bluehouse-ease),box-shadow .35s var(--bluehouse-ease); }
a.bluehouse-service-card { text-decoration: none; }
.bluehouse-service-card > div:last-child { display: flex; min-height: 265px; flex: 1; flex-direction: column; align-items: flex-start; padding: clamp(1.45rem,3vw,2.35rem); }
.bluehouse-service-card__media { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--bluehouse-oat); }
.bluehouse-service-card__media::after { position: absolute; inset: 0; background: linear-gradient(to top,rgba(10,38,55,.17),transparent 52%); content: ""; }
.bluehouse-service-card__media img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .7s var(--bluehouse-ease); }
.bluehouse-service-card__index { display: block; margin-bottom: clamp(2.25rem,4vw,3.7rem); color: var(--bluehouse-blue); font-size: .64rem; font-weight: 700; letter-spacing: .14em; }
.bluehouse-service-card h3 { max-width: 15ch; margin: 0 0 .85rem; font-size: clamp(1.65rem,2.35vw,2.35rem); line-height: 1.08; }
.bluehouse-service-card p { margin: 0 0 1.5rem; color: var(--bluehouse-muted); font-size: .9rem; line-height: 1.65; }
.bluehouse-service-card .bluehouse-link { margin-top: auto; }
.bluehouse-service-card .ticks { width: 100%; grid-template-columns: 1fr; margin: 1.2rem 0 0; }
.bluehouse-service-card .ticks li:nth-child(odd) { border-right: 0; }
.bluehouse-service-card--link:hover, a.bluehouse-service-card:hover { z-index: 2; border-color: rgba(0,108,184,.36); box-shadow: 0 34px 74px -46px rgba(10,38,55,.5); transform: translateY(-6px); }
.bluehouse-service-card--link:hover h3, a.bluehouse-service-card:hover h3 { color: var(--bluehouse-action); }
.bluehouse-service-card--link:hover img, a.bluehouse-service-card:hover img { transform: scale(1.035); }

@supports selector(:has(*)) {
  body.home #services .bluehouse-service-grid:has(.bluehouse-service-card__media) { grid-template-columns: repeat(6,minmax(0,1fr)); }
  body.home #services .bluehouse-service-card { grid-column: span 2; }
  body.home #services .bluehouse-service-card:nth-child(-n + 2) { grid-column: span 3; }
}

/* Process */
.bluehouse-process { position: relative; isolation: isolate; overflow: hidden; background: var(--bluehouse-navy); color: var(--bluehouse-white); }
.bluehouse-process::before, .bluehouse-testimonials::before, .bluehouse-cta::before { position: absolute; z-index: -1; inset: 0; background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.04) 0 1px,transparent 1px 12px); content: ""; pointer-events: none; mask-image: linear-gradient(90deg,#000,rgba(0,0,0,.28) 76%,transparent); }
.bluehouse-process h2, .bluehouse-process h3 { color: var(--bluehouse-white); }
.bluehouse-process .eyebrow, .bluehouse-process .bluehouse-kicker, .bluehouse-process .bluehouse-process__number { color: var(--bluehouse-brass-light); }
.bluehouse-process .lede, .bluehouse-process p { color: rgba(255,254,250,.72); }
.bluehouse-process__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: clamp(3rem,6vw,5.25rem) 0 0; padding: 0; border-top: 1px solid var(--bluehouse-brass); list-style: none; }
.bluehouse-process__step { position: relative; min-height: 310px; padding: clamp(1.45rem,3vw,2.2rem); border-right: 1px solid rgba(255,254,250,.16); }
.bluehouse-process__step:last-child { border-right: 0; }
.bluehouse-process__step::before { position: absolute; top: -4px; left: clamp(1.45rem,3vw,2.2rem); width: 20px; height: 7px; background-image: repeating-linear-gradient(0deg,var(--bluehouse-brass-light) 0 1px,transparent 1px 3px); content: ""; }
.bluehouse-process__number { display: block; margin: 0 0 clamp(3.5rem,7vw,6rem); font-size: .65rem; font-weight: 700; letter-spacing: .14em; }
.bluehouse-process__step h3 { max-width: 13ch; margin-bottom: .8rem; font-size: clamp(1.65rem,2.35vw,2.35rem); }
.bluehouse-process__step p { margin: 0; font-size: .88rem; line-height: 1.65; }

/* Lookbooks and galleries */
.sec--projects { background: var(--bluehouse-linen); }
.bluehouse-project-grid, .bluehouse-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.8rem,1.6vw,1.25rem); }
.bluehouse-project-card, .bluehouse-gallery__item, .bluehouse-project-card:nth-child(5n + 1),
.bluehouse-project-card:nth-child(5n + 2), .bluehouse-gallery__item:nth-child(5n + 1),
.bluehouse-gallery__item:nth-child(5n + 2) { position: relative; grid-column: auto; aspect-ratio: 1; min-width: 0; min-height: 0; overflow: hidden; background: var(--bluehouse-navy); color: var(--bluehouse-white); }
.bluehouse-project-card { text-decoration: none; }
.bluehouse-project-card img, .bluehouse-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s var(--bluehouse-ease),filter .45s var(--bluehouse-ease); }
.bluehouse-project-card::after { position: absolute; inset: 0; background: linear-gradient(to top,rgba(7,30,44,.95),rgba(7,30,44,.06) 64%); content: ""; }
.bluehouse-project-card::before { position: absolute; z-index: 3; top: 1.2rem; right: 1.2rem; width: 28px; height: 10px; background-image: repeating-linear-gradient(0deg,var(--bluehouse-brass-light) 0 1px,transparent 1px 4px); content: ""; opacity: 0; transform: translateY(-8px); transition: opacity .3s,transform .3s; }
.bluehouse-project-card:hover::before { opacity: 1; transform: translateY(0); }
.bluehouse-project-card:hover img, .bluehouse-gallery__item:hover img { transform: scale(1.035); }
.bluehouse-project-card__caption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: clamp(1.25rem,3vw,2.2rem); }
.bluehouse-project-card__caption strong { display: block; color: var(--bluehouse-white); font-family: var(--bluehouse-display); font-size: clamp(1.55rem,2.6vw,2.45rem); font-weight: 500; line-height: 1.08; }
.bluehouse-project-card__caption > span { display: block; margin-top: .55rem; color: var(--bluehouse-brass-light); font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

/* Facts and forms */
.bluehouse-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: clamp(3.5rem,7vw,6rem); border-block: 1px solid var(--bluehouse-rule-strong); background: rgba(246,242,234,.55); }
.bluehouse-fact { padding: 1.3rem clamp(1rem,2.5vw,2rem); border-right: 1px solid var(--bluehouse-rule); }
.bluehouse-fact:first-child { padding-left: 0; }
.bluehouse-fact:last-child { border-right: 0; }
.bluehouse-fact strong, .bluehouse-fact span { display: block; }
.bluehouse-fact strong { color: var(--bluehouse-navy); font-family: var(--bluehouse-display); font-size: clamp(1.55rem,2.3vw,2.25rem); font-weight: 500; line-height: 1.05; }
.bluehouse-fact strong::before { display: inline-block; width: 16px; height: 7px; margin-right: .65rem; background-image: repeating-linear-gradient(0deg,var(--bluehouse-brass) 0 1px,transparent 1px 3px); content: ""; transform: translateY(-.1em); }
.bluehouse-fact span { margin-top: .45rem; color: var(--bluehouse-muted); font-size: .76rem; line-height: 1.5; }
.estimate-grid, .bluehouse-contact-grid, .bluehouse-careers-split, .bluehouse-form-layout { gap: clamp(3rem,8vw,8rem); }
.est-card, .panel { border-color: var(--bluehouse-oat); border-top: 2px solid var(--bluehouse-brass); background: var(--bluehouse-white); box-shadow: var(--shadow); }
.est-card-kicker { color: var(--bluehouse-blue); }
.bluehouse-form { margin-top: 1.5rem; }
.bluehouse-form input, .bluehouse-form select, .bluehouse-form textarea, .contact-form input, .contact-form select,
.contact-form textarea, .comment-form input, .comment-form textarea { border-color: var(--bluehouse-oat); border-radius: 0; background: #fff; color: var(--bluehouse-navy); }
.bluehouse-form input:focus, .bluehouse-form select:focus, .bluehouse-form textarea:focus, .contact-form input:focus,
.contact-form select:focus, .contact-form textarea:focus, .comment-form input:focus, .comment-form textarea:focus { border-color: var(--bluehouse-blue); box-shadow: 0 0 0 3px rgba(0,108,184,.09); }
.bluehouse-form .btn { justify-self: start; }

/* Reviews */
.bluehouse-testimonials { position: relative; isolation: isolate; overflow: hidden; padding-block: var(--bluehouse-section); background: var(--bluehouse-navy); color: var(--bluehouse-white); }
.bluehouse-testimonials h2, .bluehouse-testimonials h3 { color: var(--bluehouse-white); }
.bluehouse-testimonials .eyebrow, .bluehouse-testimonials .bluehouse-kicker { color: var(--bluehouse-brass-light); }
.bluehouse-testimonials .lede { color: rgba(255,254,250,.72); }
.bluehouse-testimonials__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid rgba(255,254,250,.18); background: rgba(255,254,250,.18); }
.bluehouse-testimonial { display: flex; min-height: 360px; flex-direction: column; padding: clamp(1.5rem,3vw,2.5rem); background: rgba(7,30,44,.92); }
.bluehouse-testimonial__mark { margin-bottom: 1rem; color: var(--bluehouse-brass-light); }
.bluehouse-testimonial blockquote { margin-bottom: 2rem; color: var(--bluehouse-white); font-family: var(--bluehouse-display); font-size: clamp(1.4rem,2.2vw,2.05rem); font-weight: 500; line-height: 1.28; }
.bluehouse-testimonial blockquote p { margin: 0; }
.bluehouse-testimonial__author { margin-top: auto; color: rgba(255,254,250,.68); font-size: .78rem; }

/* Service areas */
.bluehouse-area-grid, .bluehouse-region-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.8rem,1.6vw,1.25rem); }
.bluehouse-area-card, .bluehouse-region-card { position: relative; display: flex; aspect-ratio: 4 / 3; min-height: 300px; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: clamp(1.35rem,3vw,2.2rem); border: 1px solid var(--bluehouse-oat); background: var(--bluehouse-navy); color: var(--bluehouse-white); text-decoration: none; }
.bluehouse-area-card > img, .bluehouse-region-card > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .76; transition: transform .75s var(--bluehouse-ease),opacity .4s; }
.bluehouse-area-card::after, .bluehouse-region-card::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(to top,rgba(7,30,44,.97),rgba(7,30,44,.04) 74%); content: ""; }
.bluehouse-area-card > *, .bluehouse-region-card > * { position: relative; z-index: 2; }
.bluehouse-area-card h2, .bluehouse-area-card h3, .bluehouse-region-card h2, .bluehouse-region-card h3 { color: var(--bluehouse-white); }
.bluehouse-area-card p, .bluehouse-region-card p { margin: .8rem 0 0; color: rgba(255,254,250,.72); font-size: .88rem; }
.bluehouse-area-card:hover > img, .bluehouse-region-card:hover > img { opacity: .88; transform: scale(1.035); }
.bluehouse-area-card:not(:has(> img)), .bluehouse-region-card:not(:has(> img)) { aspect-ratio: auto; min-height: 270px; border-top: 2px solid var(--bluehouse-brass); background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.035) 0 1px,transparent 1px 11px); }

/* Articles */
.bluehouse-journal__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.4rem,3vw,2.4rem); }
.bluehouse-journal-card { border-top: 1px solid var(--bluehouse-brass); }
.bluehouse-journal-card__media { aspect-ratio: 1; margin-bottom: 1.35rem; overflow: hidden; background: var(--bluehouse-oat); }
.bluehouse-journal-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s var(--bluehouse-ease); }
.bluehouse-journal-card:hover .bluehouse-journal-card__media img { transform: scale(1.035); }
.bluehouse-journal-card__meta { margin: 0 0 .65rem; color: var(--bluehouse-blue); font-size: .6rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.bluehouse-journal-card h3 { margin-bottom: .75rem; font-size: clamp(1.65rem,2.5vw,2.45rem); }
.bluehouse-journal-card h3 a { text-decoration: none; }
.bluehouse-journal-card h3 a:hover { color: var(--bluehouse-action); }
.bluehouse-journal-card > p:not(.bluehouse-journal-card__meta) { color: var(--bluehouse-muted); font-size: .88rem; }

/* Cards and details */
.bluehouse-capability-grid, .bluehouse-sector-grid, .bluehouse-equipment-grid, .bluehouse-benefits-grid,
.bluehouse-career-grid, .bluehouse-contact-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid var(--bluehouse-oat); background: var(--bluehouse-oat); }
.bluehouse-capability-card, .bluehouse-sector-card, .bluehouse-equipment-card, .bluehouse-benefit-card,
.bluehouse-career-card, .bluehouse-contact-card, .bluehouse-naics-card { position: relative; min-height: 250px; padding: clamp(1.4rem,3vw,2.35rem); background: var(--bluehouse-white); }
.bluehouse-capability-card::before, .bluehouse-sector-card::before, .bluehouse-equipment-card::before,
.bluehouse-benefit-card::before, .bluehouse-career-card::before, .bluehouse-contact-card::before,
.bluehouse-naics-card::before { position: absolute; top: 0; left: 0; width: 54px; height: 1px; background: var(--bluehouse-brass); content: ""; }
.bluehouse-capability-card h3, .bluehouse-sector-card h3, .bluehouse-equipment-card h3, .bluehouse-benefit-card h3,
.bluehouse-career-card h3, .bluehouse-contact-card h3, .bluehouse-naics-card h3 { margin-bottom: .8rem; }
.bluehouse-capability-card p, .bluehouse-sector-card p, .bluehouse-equipment-card p, .bluehouse-benefit-card p,
.bluehouse-career-card p, .bluehouse-contact-card p, .bluehouse-naics-card p { color: var(--bluehouse-muted); font-size: .88rem; }

.bluehouse-capability-table, .bluehouse-naics-table, .bluehouse-data-table, .capability-table { width: 100%; overflow: hidden; border: 1px solid var(--bluehouse-oat); border-collapse: collapse; background: var(--bluehouse-white); }
.bluehouse-capability-table th, .bluehouse-naics-table th, .bluehouse-data-table th, .capability-table th { padding: .9rem 1rem; background: var(--bluehouse-navy); color: var(--bluehouse-white); font-family: var(--bluehouse-label); font-size: .61rem; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.bluehouse-capability-table td, .bluehouse-naics-table td, .bluehouse-data-table td, .capability-table td { padding: .9rem 1rem; border-top: 1px solid var(--bluehouse-oat); border-right: 1px solid var(--bluehouse-oat); color: var(--bluehouse-muted); font-size: .88rem; vertical-align: top; }
.bluehouse-capability-table tr:hover td, .bluehouse-naics-table tr:hover td, .bluehouse-data-table tr:hover td,
.capability-table tr:hover td { background: rgba(0,108,184,.05); }

.bluehouse-proof-strip, .bluehouse-stats, .bluehouse-certification-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--bluehouse-rule-strong); }
.bluehouse-proof-strip > *, .bluehouse-stats > *, .bluehouse-certification-strip > * { padding: clamp(1rem,2.5vw,1.8rem); border-right: 1px solid var(--bluehouse-rule); }
.bluehouse-proof-strip > :first-child, .bluehouse-stats > :first-child, .bluehouse-certification-strip > :first-child { padding-left: 0; }
.bluehouse-proof-strip > :last-child, .bluehouse-stats > :last-child, .bluehouse-certification-strip > :last-child { border-right: 0; }
.bluehouse-stat strong, .bluehouse-proof-item strong { display: block; color: var(--bluehouse-navy); font-family: var(--bluehouse-display); font-size: clamp(2.4rem,4.8vw,4.8rem); font-weight: 500; line-height: .95; }
.bluehouse-stat span, .bluehouse-proof-item span { display: block; margin-top: .6rem; color: var(--bluehouse-muted); font-size: .59rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.bluehouse-contact-grid, .bluehouse-careers-split, .bluehouse-form-layout { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(440px,1fr); align-items: start; }
.bluehouse-contact-aside, .bluehouse-careers-aside { position: sticky; top: 130px; }
.bluehouse-contact-details, .bluehouse-career-details { margin-top: 2rem; border-top: 1px solid var(--bluehouse-brass); }
.bluehouse-contact-details > *, .bluehouse-career-details > * { padding: .9rem 0; border-bottom: 1px solid var(--bluehouse-rule); }
.bluehouse-job-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1.5rem; padding: 1.4rem 0; border-top: 1px solid var(--bluehouse-rule-strong); }
.bluehouse-job-card:last-child { border-bottom: 1px solid var(--bluehouse-rule-strong); }
.bluehouse-job-card p { margin: 0; color: var(--bluehouse-muted); font-size: .86rem; }

/* FAQ */
.faq-layout, .home-faq { gap: clamp(2.5rem,7vw,7rem); }
.acc-item { border-color: var(--bluehouse-oat); background: var(--bluehouse-white); }
.acc-q { color: var(--bluehouse-navy); font-family: var(--bluehouse-display); font-size: clamp(1.15rem,1.8vw,1.45rem); font-weight: 500; }
.acc-q:hover { color: var(--bluehouse-action); }
.acc-ico { color: var(--bluehouse-blue); }

/* Closing invitation */
.bluehouse-cta { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(4.75rem,9vw,8rem); border-top: 1px solid var(--bluehouse-brass); background: var(--bluehouse-navy); color: var(--bluehouse-white); }
.bluehouse-cta__inner { position: relative; z-index: 2; max-width: 1050px; padding: clamp(2rem,5vw,4.5rem); border: 1px solid rgba(255,254,250,.2); background: rgba(7,30,44,.58); }
.bluehouse-cta__inner::before { position: absolute; top: -1px; left: -1px; width: clamp(80px,14vw,190px); height: 1px; background: var(--bluehouse-brass-light); content: ""; }
.bluehouse-cta .eyebrow, .bluehouse-cta .bluehouse-kicker { color: var(--bluehouse-brass-light); }
.bluehouse-cta h2 { max-width: 13ch; color: var(--bluehouse-white); font-size: clamp(2.8rem,5.7vw,5.8rem); }
.bluehouse-cta .lede { margin: 1.25rem 0 0; color: rgba(255,254,250,.72); }
.bluehouse-cta__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.bluehouse-cta .bluehouse-btn--ghost, .bluehouse-cta .btn--ghost { border-color: rgba(255,254,250,.28); color: var(--bluehouse-white); }
.bluehouse-cta .bluehouse-btn--ghost:hover, .bluehouse-cta .btn--ghost:hover { border-color: var(--bluehouse-brass-light); color: var(--bluehouse-brass-light); }

/* Footer */
.site-foot { border-top: 1px solid var(--bluehouse-brass); background: var(--bluehouse-navy-deep); color: var(--bluehouse-muted-dark); }
.site-foot::before { background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.04) 0 1px,transparent 1px 12px); background-size: auto; mask-image: linear-gradient(to bottom,#000,transparent 82%); }
.foot-statement { max-width: 17ch; color: var(--bluehouse-white); font-size: clamp(2.6rem,5.2vw,5.2rem); line-height: 1.04; }
.foot-h { color: var(--bluehouse-brass-light); }
.foot-links a:hover, .foot-contact a:hover, .foot-bot a:hover { color: var(--bluehouse-brass-light); }
.foot-soc-sq a:hover { border-color: var(--bluehouse-brass); background: var(--bluehouse-brass); color: var(--bluehouse-navy); }
.fc-ic { color: var(--bluehouse-brass-light); }

.bluehouse-service-card__media:empty, .bluehouse-page-hero__media:empty, .bluehouse-split__media:empty,
.bluehouse-project-card:empty, .bluehouse-gallery__item:empty { display: none; }
.bluehouse-service-card:not(:has(.bluehouse-service-card__media)) > div:last-child { min-height: 300px; }
.bluehouse-project-card:not(:has(img)) { background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.045) 0 1px,transparent 1px 12px); }

/* Gallery lightbox */
body.bluehouse-lightbox-open { overflow: hidden; }
.bluehouse-lightbox[hidden] { display: none !important; }
.bluehouse-lightbox {
  position: fixed;
  z-index: 900;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(1rem,3vw,2.5rem);
}
.bluehouse-lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(7,30,44,.94);
  cursor: zoom-out;
  backdrop-filter: blur(14px) saturate(.8);
}
.bluehouse-lightbox__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1120px,calc(100vw - clamp(2rem,6vw,5rem)));
  max-height: calc(100dvh - clamp(2rem,6vw,5rem));
  place-items: center;
}
.bluehouse-lightbox__figure {
  display: grid;
  max-width: 100%;
  max-height: inherit;
  grid-template-rows: minmax(0,1fr) auto;
  margin: 0;
  border: 1px solid rgba(255,254,250,.22);
  background: var(--bluehouse-navy-deep);
  box-shadow: 0 34px 100px -30px rgba(0,0,0,.75);
}
.bluehouse-lightbox__image {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - 9rem);
  margin: auto;
  object-fit: contain;
}
.bluehouse-lightbox__caption {
  min-height: 2.8rem;
  margin: 0;
  padding: .75rem 1rem;
  border-top: 1px solid rgba(255,254,250,.16);
  color: rgba(255,254,250,.76);
  font-size: .76rem;
  line-height: 1.5;
  text-align: center;
}
.bluehouse-lightbox__close,
.bluehouse-lightbox__prev,
.bluehouse-lightbox__next {
  position: absolute;
  z-index: 2;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,254,250,.32);
  border-radius: 0;
  background: rgba(7,30,44,.76);
  color: var(--bluehouse-white);
  font-size: 1.35rem;
  line-height: 1;
  backdrop-filter: blur(10px);
  transition: border-color .2s,background-color .2s,color .2s;
}
.bluehouse-lightbox__close:hover,
.bluehouse-lightbox__prev:hover,
.bluehouse-lightbox__next:hover {
  border-color: var(--bluehouse-brass-light);
  background: var(--bluehouse-white);
  color: var(--bluehouse-navy);
}
.bluehouse-lightbox__close { top: 0; right: 0; transform: translate(36%,-36%); }
.bluehouse-lightbox__prev,
.bluehouse-lightbox__next { top: 50%; transform: translateY(-50%); }
.bluehouse-lightbox__prev { left: 0; transform: translate(-55%,-50%); }
.bluehouse-lightbox__next { right: 0; transform: translate(55%,-50%); }

@media (max-width: 1220px) {
  .nav-phone { display: none; }
}

@media (max-width: 1120px) {
  .bluehouse-service-grid, .bluehouse-area-grid, .bluehouse-region-grid, .bluehouse-journal__grid,
  .bluehouse-testimonials__grid, .bluehouse-capability-grid, .bluehouse-sector-grid,
  .bluehouse-equipment-grid, .bluehouse-benefits-grid, .bluehouse-career-grid,
  .bluehouse-contact-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

  @supports selector(:has(*)) {
    body.home #services .bluehouse-service-grid:has(.bluehouse-service-card__media) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.home #services .bluehouse-service-card, body.home #services .bluehouse-service-card:nth-child(-n + 2) { grid-column: auto; }
  }

  .bluehouse-process__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bluehouse-process__step { min-height: 280px; border-bottom: 1px solid rgba(255,254,250,.16); }
  .bluehouse-process__step:nth-child(even) { border-right: 0; }
  .bluehouse-project-grid, .bluehouse-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bluehouse-proof-strip, .bluehouse-stats, .bluehouse-certification-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bluehouse-proof-strip > :nth-child(2), .bluehouse-stats > :nth-child(2),
  .bluehouse-certification-strip > :nth-child(2) { border-right: 0; }
}

@media (max-width: 920px) {
  .bluehouse-hero { display: flex; min-height: auto; flex-direction: column-reverse; }
  .bluehouse-hero::before { inset: 0; }
  .bluehouse-hero__inner, .bluehouse-hero__media { position: relative; inset: auto; width: 100%; }
  .bluehouse-hero__content { width: 100%; padding-block: clamp(4rem,11vw,5.5rem); }
  .bluehouse-hero__media { min-height: clamp(360px,72vw,620px); }
  .bluehouse-hero__media::before { background: linear-gradient(to bottom,var(--bluehouse-navy),rgba(10,38,55,.08) 36%,transparent 72%); }
  .bluehouse-hero__media::after { top: 0; right: 0; bottom: auto; width: auto; height: 1px; }
  .bluehouse-page-hero > .wrap, .bluehouse-split, .bluehouse-split--wide-media,
  .bluehouse-contact-grid, .bluehouse-careers-split, .bluehouse-form-layout { grid-template-columns: 1fr; }
  .bluehouse-page-hero__content { max-width: 800px; }
  .bluehouse-page-hero__media { width: min(100%,620px); }
  .bluehouse-split--reverse > :first-child { order: 0; }
  .bluehouse-contact-aside, .bluehouse-careers-aside { position: static; }
}

@media (max-width: 720px) {
  .bluehouse-lightbox { padding: max(.75rem,env(safe-area-inset-top)) .75rem max(.75rem,env(safe-area-inset-bottom)); }
  .bluehouse-lightbox__dialog { width: 100%; max-height: calc(100dvh - max(1.5rem,env(safe-area-inset-top) + env(safe-area-inset-bottom))); }
  .bluehouse-lightbox__image { max-height: calc(100dvh - 8.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .bluehouse-lightbox__close,
  .bluehouse-lightbox__prev,
  .bluehouse-lightbox__next { width: 44px; height: 44px; background: rgba(7,30,44,.9); }
  .bluehouse-lightbox__close { top: .5rem; right: .5rem; transform: none; }
  .bluehouse-lightbox__prev,
  .bluehouse-lightbox__next { top: auto; bottom: .5rem; transform: none; }
  .bluehouse-lightbox__prev { left: .5rem; }
  .bluehouse-lightbox__next { right: .5rem; }
  .bluehouse-lightbox__caption { min-height: 3.75rem; padding: .72rem 3.5rem; }
  .site-head .wrap { min-height: 76px; }
  .site-logo, .custom-logo { max-width: min(210px,58vw); max-height: 50px; }
  .bluehouse-hero .bluehouse-kicker { position: relative; display: block; width: 100%; max-width: 100%; padding-left: 3rem; line-height: 1.65; overflow-wrap: anywhere; }
  .bluehouse-hero .bluehouse-kicker::before { position: absolute; top: .76em; left: 0; width: 2rem; }
  .bluehouse-hero h1 { width: 100%; max-width: 10.5ch; font-size: clamp(2.85rem,14vw,4.25rem); line-height: .98; }
  .bluehouse-hero__proof, .bluehouse-facts, .bluehouse-process__grid, .bluehouse-service-grid,
  .bluehouse-area-grid, .bluehouse-region-grid, .bluehouse-journal__grid,
  .bluehouse-testimonials__grid, .bluehouse-capability-grid, .bluehouse-sector-grid,
  .bluehouse-equipment-grid, .bluehouse-benefits-grid, .bluehouse-career-grid,
  .bluehouse-contact-card-grid, .bluehouse-proof-strip, .bluehouse-stats,
  .bluehouse-certification-strip, .bluehouse-project-grid, .bluehouse-gallery { grid-template-columns: 1fr; }
  body.home #services .bluehouse-service-grid { grid-template-columns: 1fr; }
  @supports selector(:has(*)) { body.home #services .bluehouse-service-grid:has(.bluehouse-service-card__media) { grid-template-columns: 1fr; } }
  .bluehouse-hero__proof span, .bluehouse-fact, .bluehouse-proof-strip > *, .bluehouse-stats > *,
  .bluehouse-certification-strip > * { padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--bluehouse-rule); }
  .bluehouse-hero__proof span { border-bottom-color: rgba(255,254,250,.17); }
  .bluehouse-process__step { min-height: auto; border-right: 0; }
  .bluehouse-process__number { margin-bottom: 2.5rem; }
  .bluehouse-split__media, .bluehouse-page-hero__media { aspect-ratio: 1; min-height: 0; }
  .ticks { grid-template-columns: 1fr; }
  .ticks li:nth-child(odd) { border-right: 0; }
  .bluehouse-capability-table, .bluehouse-naics-table, .bluehouse-data-table, .capability-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .bluehouse-job-card { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .bluehouse-hero__actions, .bluehouse-cta__actions { flex-direction: column; }
  .bluehouse-hero__actions .btn, .bluehouse-cta__actions .btn { width: 100%; }
  .bluehouse-cta__inner { padding: 1.5rem; }
  .bluehouse-page-hero h1 { font-size: clamp(2.75rem,14vw,4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .bluehouse-service-card, .bluehouse-service-card img, .bluehouse-project-card img,
  .bluehouse-area-card img, .bluehouse-region-card img, .bluehouse-journal-card img,
  .bluehouse-gallery__item img { transition: none; }
}

@media (prefers-contrast: more) {
  :root { --bluehouse-rule: rgba(10,38,55,.42); --bluehouse-rule-dark: rgba(255,254,250,.42); }
  .lede, .bluehouse-service-card p, .bluehouse-journal-card > p, .bluehouse-capability-card p,
  .bluehouse-sector-card p, .bluehouse-equipment-card p, .bluehouse-career-card p { color: #45413e; }
}

body.design-corners-architectural :where(.bluehouse-service-card,.bluehouse-area-card,.bluehouse-project-card,.bluehouse-testimonial,.bluehouse-cta__inner,.panel,.est-card) {
  clip-path: none;
}

.sec--tint {
  background-color: var(--bluehouse-linen);
  background-image:
    linear-gradient(45deg,rgba(73,58,50,.022) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.022) 75%),
    linear-gradient(-45deg,rgba(73,58,50,.018) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.018) 75%);
  background-position: 0 0,7px 7px;
  background-size: 14px 14px;
}

.sec-head--c {
  max-width: 980px;
  margin-inline: auto;
}

.sec-head--c .lede {
  max-width: 62ch;
}

.bluehouse-hero {
  min-height: min(890px,calc(100svh - 120px));
  background:
    radial-gradient(circle at 34% 33%,rgba(0,108,184,.11),transparent 30%),
    var(--bluehouse-navy-deep);
}

.bluehouse-hero::before {
  inset: 0 56% 0 0;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,254,250,.05) 0 1px,transparent 1px 13px),
    linear-gradient(90deg,transparent,rgba(196,154,90,.08));
  mask-image: none;
}

.bluehouse-hero::after {
  position: absolute;
  z-index: 1;
  top: 7%;
  bottom: 7%;
  left: calc(44% - 17px);
  width: 34px;
  border-inline: 1px solid rgba(223,189,136,.52);
  background:
    linear-gradient(90deg,transparent 0 7px,rgba(255,254,250,.09) 7px 8px,transparent 8px 17px,rgba(255,254,250,.06) 17px 18px,transparent 18px);
  content: "";
  pointer-events: none;
}

.bluehouse-hero__media {
  left: 44%;
  clip-path: polygon(3.5% 0,100% 0,100% 100%,0 100%,0 7%);
}

.bluehouse-hero__media::before {
  background:
    linear-gradient(90deg,var(--bluehouse-navy-deep) 0%,rgba(7,30,44,.66) 7%,rgba(7,30,44,.08) 33%,transparent 62%),
    linear-gradient(0deg,rgba(7,30,44,.2),transparent 35%);
}

.bluehouse-hero__media::after {
  left: 3.5%;
  width: 14px;
  background:
    linear-gradient(90deg,var(--bluehouse-brass) 0 1px,transparent 1px 5px,rgba(255,254,250,.42) 5px 6px,transparent 6px 11px,rgba(196,154,90,.5) 11px 12px,transparent 12px);
}

.bluehouse-hero__content {
  position: relative;
  width: min(53%,735px);
  padding-block: clamp(5.25rem,8vw,8rem);
}

.bluehouse-hero__content::after {
  position: absolute;
  top: clamp(4rem,8vw,7rem);
  right: -4.4rem;
  width: 3.2rem;
  height: 8.2rem;
  background-image: repeating-linear-gradient(0deg,rgba(223,189,136,.56) 0 1px,transparent 1px 9px);
  content: "";
  opacity: .72;
}

.bluehouse-hero h1 {
  max-width: 9.4ch;
  font-size: clamp(4.35rem,7.1vw,7.75rem);
  line-height: .94;
}

.bluehouse-hero__lede {
  max-width: 42ch;
}

.bluehouse-hero__proof {
  width: calc(100% + clamp(1rem,3vw,3rem));
  border-bottom: 0;
}

.hero-media-note {
  right: clamp(1.25rem,3vw,3rem);
  bottom: clamp(1.25rem,3vw,3rem);
  border: 0;
  border-left: 1px solid var(--bluehouse-brass-light);
  background: rgba(255,254,250,.9);
  color: var(--bluehouse-navy);
  box-shadow: 0 18px 50px -34px rgba(7,30,44,.7);
}

.bluehouse-page-hero {
  min-height: 700px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 28% 35%,rgba(0,108,184,.12),transparent 31%),
    var(--bluehouse-navy-deep);
}

.bluehouse-page-hero::before {
  background-image:
    repeating-linear-gradient(0deg,rgba(255,254,250,.045) 0 1px,transparent 1px 12px),
    linear-gradient(90deg,transparent,rgba(196,154,90,.055));
  mask-image: linear-gradient(90deg,#000,rgba(0,0,0,.6) 56%,transparent 78%);
}

.bluehouse-page-hero > .wrap {
  grid-template-columns: minmax(0,1.03fr) minmax(390px,.72fr);
  gap: clamp(2rem,5vw,5rem);
}

.bluehouse-page-hero__content {
  padding-right: clamp(1rem,5vw,5rem);
}

.bluehouse-page-hero h1 {
  max-width: 11.5ch;
  font-size: clamp(3.7rem,6.45vw,7rem);
  line-height: .97;
}

.bluehouse-page-hero__media {
  width: calc(100% + var(--bluehouse-gutter));
  aspect-ratio: 4 / 5;
  border: 0;
  box-shadow: -20px 20px 0 rgba(196,154,90,.12);
}

.bluehouse-page-hero__media::before {
  inset: 0 auto 0 -13px;
  width: 13px;
  height: auto;
  background:
    linear-gradient(90deg,rgba(223,189,136,.65) 0 1px,transparent 1px 5px,rgba(255,254,250,.34) 5px 6px,transparent 6px 10px,rgba(196,154,90,.65) 10px 11px,transparent 11px);
}

.bluehouse-page-hero__media::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(90deg,rgba(7,30,44,.22),transparent 28%);
  content: "";
  pointer-events: none;
}

.bluehouse-story {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 22%,rgba(220,235,244,.58),transparent 25%),
    var(--bluehouse-white);
}

.bluehouse-story::before {
  position: absolute;
  right: -5rem;
  bottom: -5rem;
  width: clamp(18rem,34vw,34rem);
  aspect-ratio: 1;
  background:
    repeating-linear-gradient(45deg,rgba(73,58,50,.04) 0 1px,transparent 1px 8px),
    repeating-linear-gradient(-45deg,rgba(196,154,90,.04) 0 1px,transparent 1px 8px);
  content: "";
  transform: rotate(7deg);
}

.bluehouse-story .bluehouse-split {
  grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr);
  gap: 0;
}

.bluehouse-story .bluehouse-split__media {
  aspect-ratio: 5 / 4;
  min-height: clamp(560px,55vw,760px);
}

.bluehouse-story .bluehouse-split__content {
  position: relative;
  z-index: 3;
  margin-left: clamp(-7rem,-7vw,-3.5rem);
  padding: clamp(2.4rem,5vw,5rem);
  background: rgba(255,254,250,.96);
  box-shadow: 0 35px 90px -58px rgba(10,38,55,.72);
}

.bluehouse-story .bluehouse-split__content::before {
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  left: -13px;
  width: 13px;
  background:
    linear-gradient(90deg,rgba(196,154,90,.7) 0 1px,transparent 1px 5px,rgba(10,38,55,.12) 5px 6px,transparent 6px 10px,rgba(196,154,90,.45) 10px 11px,transparent 11px);
  content: "";
}

.bluehouse-split__media {
  overflow: hidden;
  box-shadow: 0 30px 75px -55px rgba(10,38,55,.65);
}

.bluehouse-split__media img {
  transition: transform 1.1s var(--bluehouse-ease);
}

.bluehouse-split:hover .bluehouse-split__media img {
  transform: scale(1.018);
}

.bluehouse-service-grid {
  gap: clamp(1.5rem,3vw,3rem);
}

@supports selector(:has(*)) {
  .bluehouse-service-card:has(.bluehouse-service-card__media) {
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .bluehouse-service-card:has(.bluehouse-service-card__media) > div:last-child {
    min-height: 0;
    padding: 1.35rem .2rem 0;
    border-top: 1px solid var(--bluehouse-brass);
  }

  .bluehouse-service-card:has(.bluehouse-service-card__media):hover {
    border-color: transparent;
    box-shadow: none;
    transform: translateY(-4px);
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) {
    border: 0;
    border-top: 1px solid var(--bluehouse-brass);
    background: transparent;
    box-shadow: none;
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) > div:last-child {
    min-height: 270px;
    padding: 2rem clamp(1rem,2.5vw,2rem) 2.25rem 0;
  }

  body.home #services .bluehouse-service-grid:has(.bluehouse-service-card__media) {
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: clamp(1rem,2vw,1.7rem);
  }

  body.home #services .bluehouse-service-card:nth-child(1) { grid-column: span 7; }
  body.home #services .bluehouse-service-card:nth-child(2) { grid-column: span 5; }
  body.home #services .bluehouse-service-card:nth-child(n + 3) { grid-column: span 3; }
  body.home #services .bluehouse-service-card:nth-child(-n + 2) .bluehouse-service-card__media { aspect-ratio: 4 / 3; }
  body.home #services .bluehouse-service-card:nth-child(n + 3) .bluehouse-service-card__media { aspect-ratio: 4 / 5; }
}

.bluehouse-service-card__media {
  aspect-ratio: 4 / 5;
}

.bluehouse-service-card__media::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
  pointer-events: none;
}

.bluehouse-service-card:nth-child(6n + 1) .bluehouse-service-card__media::before {
  right: 0;
  left: auto;
  width: 17%;
  background: repeating-linear-gradient(0deg,rgba(255,254,250,.24) 0 1px,transparent 1px 11px);
}

.bluehouse-service-card:nth-child(6n + 2) .bluehouse-service-card__media::before {
  width: 15%;
  background: repeating-linear-gradient(90deg,rgba(255,254,250,.15) 0 2px,transparent 2px 9px);
}

.bluehouse-service-card:nth-child(6n + 4) .bluehouse-service-card__media::before {
  background:
    repeating-linear-gradient(45deg,rgba(255,254,250,.055) 0 1px,transparent 1px 8px),
    repeating-linear-gradient(-45deg,rgba(255,254,250,.045) 0 1px,transparent 1px 8px);
}

.bluehouse-service-card__index {
  margin-bottom: clamp(1.8rem,3vw,3rem);
}

.bluehouse-service-card h3 {
  font-size: clamp(1.75rem,2.35vw,2.5rem);
}

.bluehouse-process {
  background:
    radial-gradient(circle at 76% 26%,rgba(0,108,184,.12),transparent 27%),
    var(--bluehouse-navy-deep);
}

.bluehouse-process__grid {
  align-items: start;
  border-top: 0;
  gap: clamp(1rem,2vw,2rem);
}

.bluehouse-process__step {
  min-height: 350px;
  padding: 1.75rem clamp(1rem,2vw,1.8rem);
  border: 0;
  border-top: 1px solid rgba(223,189,136,.58);
  background: linear-gradient(180deg,rgba(255,254,250,.045),transparent 72%);
}

.bluehouse-process__step:nth-child(even) {
  margin-top: clamp(2.5rem,5vw,4.75rem);
}

.bluehouse-process__step::before {
  top: .85rem;
  right: 1rem;
  left: auto;
  width: 3.1rem;
  height: 4.5rem;
  background-image: repeating-linear-gradient(0deg,rgba(223,189,136,.48) 0 1px,transparent 1px 8px);
}

.bluehouse-process__number {
  margin-bottom: clamp(2.5rem,5vw,4.5rem);
  font-family: var(--bluehouse-display);
  font-size: clamp(3rem,5vw,5rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1;
  opacity: .68;
}

.bluehouse-project-grid {
  grid-template-columns: repeat(12,minmax(0,1fr));
  grid-auto-rows: clamp(220px,27vw,410px);
  grid-auto-flow: dense;
  gap: clamp(.65rem,1.2vw,1rem);
}

.bluehouse-project-card,
.bluehouse-project-card:nth-child(5n + 1),
.bluehouse-project-card:nth-child(5n + 2) {
  grid-column: span 4;
  aspect-ratio: auto;
}

.bluehouse-project-card:nth-child(5n + 1) {
  grid-column: span 7;
  grid-row: span 2;
}

.bluehouse-project-card:nth-child(5n + 2),
.bluehouse-project-card:nth-child(5n + 3) {
  grid-column: span 5;
}

.bluehouse-project-card:nth-child(5n + 4),
.bluehouse-project-card:nth-child(5n + 5) {
  grid-column: span 6;
}

.bluehouse-project-card__caption {
  padding: clamp(1.4rem,3vw,2.8rem);
}

.bluehouse-project-card__caption strong {
  max-width: 15ch;
  font-size: clamp(1.65rem,2.8vw,2.8rem);
}

.bluehouse-gallery {
  grid-template-columns: repeat(12,minmax(0,1fr));
  grid-auto-rows: clamp(220px,25vw,390px);
  grid-auto-flow: dense;
  gap: clamp(.6rem,1.2vw,.95rem);
}

.bluehouse-gallery__item,
.bluehouse-gallery__item:nth-child(5n + 1),
.bluehouse-gallery__item:nth-child(5n + 2) {
  grid-column: span 4;
  aspect-ratio: auto;
}

.bluehouse-gallery__item:nth-child(6n + 1) {
  grid-column: span 7;
  grid-row: span 2;
}

.bluehouse-gallery__item:nth-child(6n + 2),
.bluehouse-gallery__item:nth-child(6n + 3) {
  grid-column: span 5;
}

.bluehouse-gallery__item:nth-child(6n + 4),
.bluehouse-gallery__item:nth-child(6n + 5),
.bluehouse-gallery__item:nth-child(6n + 6) {
  grid-column: span 4;
}

.bluehouse-gallery__item a {
  display: block;
  width: 100%;
  height: 100%;
  cursor: zoom-in;
}

.filter-chips,
[data-filter] {
  gap: 0;
  margin-bottom: clamp(2rem,5vw,4rem);
  border-block: 1px solid var(--bluehouse-oat);
}

.chip {
  min-height: 50px;
  padding: .75rem 1rem;
  border: 0;
  border-right: 1px solid var(--bluehouse-oat);
  background: transparent;
  color: var(--bluehouse-muted);
}

.chip:hover,
.chip.is-on {
  background: var(--bluehouse-navy);
  color: var(--bluehouse-white);
}

.bluehouse-testimonials {
  background:
    radial-gradient(circle at 13% 22%,rgba(0,108,184,.14),transparent 25%),
    var(--bluehouse-navy-deep);
}

.bluehouse-testimonials__grid {
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 0;
  border: 0;
  background: transparent;
}

.bluehouse-testimonial {
  grid-column: span 5;
  min-height: 300px;
  border-top: 1px solid rgba(223,189,136,.5);
  background: transparent;
}

.bluehouse-testimonial:first-child {
  grid-column: span 7;
  grid-row: span 2;
  min-height: 620px;
  padding: clamp(2rem,5vw,5rem);
  border: 1px solid rgba(255,254,250,.17);
  background: rgba(255,254,250,.035);
}

.bluehouse-testimonial:nth-child(n + 2) {
  padding: clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3vw,3rem);
  border-left: 1px solid rgba(255,254,250,.15);
}

.bluehouse-testimonial:first-child blockquote {
  font-size: clamp(2rem,4vw,4rem);
  line-height: 1.15;
}

.bluehouse-testimonial__mark {
  font-size: 7rem;
  opacity: .74;
}

#consultation {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 30%,rgba(255,254,250,.92),transparent 36%),
    linear-gradient(115deg,var(--bluehouse-linen),#ece4d6);
}

#consultation::before {
  position: absolute;
  right: -7rem;
  bottom: -7rem;
  width: clamp(22rem,45vw,46rem);
  aspect-ratio: 1;
  background:
    repeating-linear-gradient(45deg,rgba(73,58,50,.045) 0 1px,transparent 1px 9px),
    repeating-linear-gradient(-45deg,rgba(196,154,90,.05) 0 1px,transparent 1px 9px);
  content: "";
  transform: rotate(8deg);
}

#consultation .wrap {
  position: relative;
}

.bluehouse-facts {
  border-block-color: var(--bluehouse-brass);
  background: transparent;
}

.bluehouse-fact strong {
  font-size: clamp(1.7rem,2.7vw,2.7rem);
}

.est-card,
.bluehouse-contact-grid .panel {
  position: relative;
  border: 0;
  background: rgba(255,254,250,.98);
  box-shadow: 22px 25px 0 rgba(196,154,90,.1),0 38px 90px -55px rgba(10,38,55,.58);
}

.est-card::before,
.bluehouse-contact-grid .panel::before {
  position: absolute;
  top: 1.1rem;
  bottom: 1.1rem;
  left: -14px;
  width: 14px;
  background:
    linear-gradient(90deg,rgba(196,154,90,.7) 0 1px,transparent 1px 5px,rgba(10,38,55,.12) 5px 6px,transparent 6px 10px,rgba(196,154,90,.45) 10px 11px,transparent 11px);
  content: "";
}

.trust-badges {
  border-top-color: var(--bluehouse-brass);
}

.tbadge-ic {
  color: var(--bluehouse-blue);
}

.home-faq {
  background:
    linear-gradient(90deg,rgba(220,235,244,.2),transparent 34%),
    var(--bluehouse-white);
}

.acc-item {
  border: 0;
  border-bottom: 1px solid var(--bluehouse-oat);
  background: transparent;
}

.acc-q {
  padding-block: 1.65rem;
  font-size: clamp(1.25rem,2vw,1.7rem);
}

.acc-ico {
  border-radius: 50%;
}

.bluehouse-area-grid {
  counter-reset: bluehouse-area;
  gap: 0;
  border-top: 1px solid var(--bluehouse-brass);
}

.bluehouse-area-card {
  counter-increment: bluehouse-area;
}

.bluehouse-area-card:not(:has(> img)),
.bluehouse-region-card:not(:has(> img)) {
  aspect-ratio: auto;
  min-height: 285px;
  padding: clamp(1.5rem,3vw,2.5rem);
  border: 0;
  border-right: 1px solid var(--bluehouse-oat);
  border-bottom: 1px solid var(--bluehouse-oat);
  background: transparent;
  color: var(--bluehouse-navy);
}

.bluehouse-area-card:not(:has(> img))::before {
  display: block;
  margin-bottom: auto;
  color: var(--bluehouse-brass);
  content: counter(bluehouse-area,decimal-leading-zero);
  font-family: var(--bluehouse-display);
  font-size: 2.5rem;
  line-height: 1;
}

.bluehouse-area-card:not(:has(> img))::after,
.bluehouse-region-card:not(:has(> img))::after {
  display: none;
}

.bluehouse-area-card:not(:has(> img)) h2,
.bluehouse-area-card:not(:has(> img)) h3,
.bluehouse-region-card:not(:has(> img)) h2,
.bluehouse-region-card:not(:has(> img)) h3 {
  color: var(--bluehouse-navy);
}

.bluehouse-area-card:not(:has(> img)) p,
.bluehouse-region-card:not(:has(> img)) p {
  color: var(--bluehouse-muted);
}

.bluehouse-cta {
  min-height: 620px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 24% 45%,rgba(0,108,184,.15),transparent 31%),
    var(--bluehouse-navy-deep);
}

.bluehouse-cta::after {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: min(44vw,650px);
  height: 100%;
  background:
    linear-gradient(90deg,transparent,rgba(196,154,90,.08)),
    repeating-linear-gradient(0deg,rgba(255,254,250,.07) 0 1px,transparent 1px 34px);
  clip-path: polygon(18% 0,100% 0,100% 100%,0 100%,8% 76%,2% 52%,12% 28%);
  content: "";
}

.bluehouse-cta__inner {
  max-width: 900px;
  padding: 0;
  border: 0;
  background: transparent;
}

.bluehouse-cta__inner::before {
  top: -2.2rem;
  left: 0;
  width: 7rem;
  height: 1px;
}

.bluehouse-cta h2 {
  max-width: 11.5ch;
  font-size: clamp(3.3rem,6.4vw,6.7rem);
  line-height: .98;
}

.site-foot::before {
  background-image:
    repeating-linear-gradient(0deg,rgba(255,254,250,.04) 0 1px,transparent 1px 13px),
    linear-gradient(90deg,transparent,rgba(196,154,90,.05));
}

@media (max-width: 1120px) {
  .bluehouse-hero::before { right: 52%; }
  .bluehouse-hero__content::after { display: none; }
  .bluehouse-story .bluehouse-split__content { margin-left: -3rem; padding: clamp(2rem,4vw,3.5rem); }
  @supports selector(:has(*)) {
    body.home #services .bluehouse-service-grid:has(.bluehouse-service-card__media) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.home #services .bluehouse-service-card:nth-child(n) { grid-column: auto; }
    body.home #services .bluehouse-service-card:nth-child(n) .bluehouse-service-card__media { aspect-ratio: 4 / 5; }
  }
  .bluehouse-testimonials__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bluehouse-testimonial,
  .bluehouse-testimonial:first-child { grid-column: auto; grid-row: auto; min-height: 390px; padding: clamp(1.5rem,3vw,2.75rem); }
  .bluehouse-testimonial:nth-child(n + 2) { border-left: 1px solid rgba(255,254,250,.15); }
  .bluehouse-testimonial:first-child blockquote { font-size: clamp(1.7rem,3vw,2.7rem); }
}

@media (max-width: 920px) {
  .bluehouse-hero { display: flex; min-height: auto; flex-direction: column-reverse; }
  .bluehouse-hero::before { inset: 0; }
  .bluehouse-hero::after { display: none; }
  .bluehouse-hero__media { left: auto; clip-path: none; }
  .bluehouse-hero__media::after { left: 0; width: 100%; height: 12px; top: 0; bottom: auto; background: linear-gradient(0deg,var(--bluehouse-brass) 0 1px,transparent 1px 5px,rgba(255,254,250,.3) 5px 6px,transparent 6px); }
  .bluehouse-hero__content { width: 100%; }
  .bluehouse-hero__proof { width: 100%; }
  .bluehouse-page-hero { min-height: 0; }
  .bluehouse-page-hero__media { width: min(100%,620px); aspect-ratio: 5 / 4; }
  .bluehouse-story .bluehouse-split { grid-template-columns: 1fr; }
  .bluehouse-story .bluehouse-split__media { min-height: 0; aspect-ratio: 5 / 4; }
  .bluehouse-story .bluehouse-split__content { margin: -2.5rem clamp(1rem,4vw,2rem) 0; }
  .bluehouse-process__step:nth-child(even) { margin-top: 1.5rem; }
  .bluehouse-project-grid,
  .bluehouse-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: clamp(280px,52vw,470px); }
  .bluehouse-project-card:nth-child(n),
  .bluehouse-gallery__item:nth-child(n) { grid-column: auto; grid-row: auto; }
}

@media (max-width: 720px) {
  .bluehouse-hero h1 { font-size: clamp(3rem,14vw,4.55rem); }
  .bluehouse-page-hero__media { aspect-ratio: 1; }
  .bluehouse-service-grid { gap: 2.2rem; }
  @supports selector(:has(*)) {
    body.home #services .bluehouse-service-grid:has(.bluehouse-service-card__media) { grid-template-columns: 1fr; }
    .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) > div:last-child { min-height: 0; padding-right: 0; }
  }
  .bluehouse-process__grid { gap: 1rem; }
  .bluehouse-process__step,
  .bluehouse-process__step:nth-child(even) { min-height: 0; margin-top: 0; }
  .bluehouse-process__number { margin-bottom: 2rem; font-size: 3rem; }
  .bluehouse-project-grid,
  .bluehouse-gallery { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .bluehouse-project-card:nth-child(n),
  .bluehouse-gallery__item:nth-child(n) { aspect-ratio: 4 / 5; }
  .bluehouse-testimonials__grid { grid-template-columns: 1fr; }
  .bluehouse-testimonial,
  .bluehouse-testimonial:first-child { min-height: 340px; }
  .bluehouse-testimonial:nth-child(n + 2) { border-left: 0; }
  .bluehouse-area-card:not(:has(> img)),
  .bluehouse-region-card:not(:has(> img)) { min-height: 240px; border-right: 0; }
  .bluehouse-cta { min-height: 560px; }
  .bluehouse-cta::after { width: 62vw; opacity: .55; }
}

.bh-home {
  overflow: clip;
}

.bh-kicker {
  display: flex;
  align-items: center;
  gap: .85rem;
}

.bh-kicker::before {
  position: static;
  flex: 0 0 2.2rem;
}

.bh-section-head,
.bh-process__head,
.bh-reviews__head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(260px,.52fr);
  align-items: end;
  gap: clamp(2rem,7vw,7rem);
  margin-bottom: clamp(3rem,7vw,6rem);
}

.bh-section-head h2,
.bh-process__head h2,
.bh-reviews__head h2 {
  max-width: 12ch;
}

.bh-section-head__copy,
.bh-process__head > p,
.bh-reviews__head > p {
  max-width: 38ch;
  margin: 0;
  color: var(--bluehouse-muted);
  font-size: clamp(1rem,1rem + .18vw,1.18rem);
  line-height: 1.7;
}

.bh-text-link {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  font-size: .78rem;
  text-decoration: none;
}

.bh-text-link span {
  font-size: 1rem;
  transition: transform .25s var(--bluehouse-ease);
}

.bh-text-link:hover span {
  transform: translate(.15rem,-.15rem);
}

.bh-hero__shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(0deg,rgba(7,30,44,.2),transparent 35%);
  pointer-events: none;
}

.bh-hero__title > span,
.bh-hero__title > em {
  display: block;
}

.bh-hero__proof span {
  font-size: .74rem;
}

.bh-hero__scroll {
  position: absolute;
  z-index: 4;
  right: clamp(1.25rem,3vw,3rem);
  bottom: clamp(1.5rem,3vw,3rem);
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: var(--bluehouse-white);
  font-family: var(--bluehouse-label);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.bh-hero__scroll span {
  color: var(--bluehouse-brass-light);
  font-size: 1rem;
}

.bh-services {
  position: relative;
  overflow: hidden;
  background-color: var(--bluehouse-linen);
  background-image:
    linear-gradient(45deg,rgba(73,58,50,.022) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.022) 75%),
    linear-gradient(-45deg,rgba(73,58,50,.018) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.018) 75%);
  background-position: 0 0,7px 7px;
  background-size: 14px 14px;
}

.bh-services::before {
  position: absolute;
  top: -7rem;
  right: -6rem;
  width: clamp(20rem,38vw,38rem);
  aspect-ratio: 1;
  border: 1px solid rgba(196,154,90,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(196,154,90,.025),0 0 0 140px rgba(196,154,90,.018);
  content: "";
}

.bh-services > .wrap {
  position: relative;
}

.bh-service-index {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  grid-auto-rows: clamp(235px,25vw,390px);
  grid-auto-flow: dense;
  gap: clamp(.65rem,1.25vw,1rem);
}

.bh-service-tile {
  position: relative;
  grid-column: span 4;
  min-width: 0;
  overflow: hidden;
  background: var(--bluehouse-navy);
  color: var(--bluehouse-white);
  text-decoration: none;
  isolation: isolate;
}

.bh-service-tile--feature {
  grid-column: span 7;
  grid-row: span 2;
}

.bh-service-tile:nth-child(2),
.bh-service-tile:nth-child(3) {
  grid-column: span 5;
}

.bh-service-tile:nth-child(4),
.bh-service-tile:nth-child(5),
.bh-service-tile:nth-child(6) {
  grid-column: span 4;
}

.bh-service-tile__media {
  position: absolute;
  z-index: -2;
  inset: 0;
  margin: 0;
  overflow: hidden;
}

.bh-service-tile__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--bluehouse-ease),filter .45s var(--bluehouse-ease);
}

.bh-service-tile__media::after {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .85;
  pointer-events: none;
}

.bh-service-tile:nth-child(6n + 1) .bh-service-tile__media::after {
  right: 0;
  left: auto;
  width: 18%;
  background: repeating-linear-gradient(0deg,rgba(255,254,250,.18) 0 1px,transparent 1px 12px);
}

.bh-service-tile:nth-child(6n + 2) .bh-service-tile__media::after {
  width: 16%;
  background: repeating-linear-gradient(90deg,rgba(255,254,250,.14) 0 2px,transparent 2px 10px);
}

.bh-service-tile:nth-child(6n + 4) .bh-service-tile__media::after {
  background:
    repeating-linear-gradient(45deg,rgba(255,254,250,.045) 0 1px,transparent 1px 8px),
    repeating-linear-gradient(-45deg,rgba(255,254,250,.04) 0 1px,transparent 1px 8px);
}

.bh-service-tile__shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(0deg,rgba(7,30,44,.97),rgba(7,30,44,.05) 72%);
}

.bh-service-tile__content {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: .7rem 1.2rem;
  padding: clamp(1.25rem,2.8vw,2.6rem);
}

.bh-service-tile__index {
  position: absolute;
  top: clamp(1rem,2vw,1.7rem);
  left: clamp(1rem,2vw,1.7rem);
  color: var(--bluehouse-brass-light);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.bh-service-tile h3 {
  grid-column: 1;
  max-width: 14ch;
  color: var(--bluehouse-white);
  font-size: clamp(1.6rem,2.6vw,2.65rem);
  line-height: 1.04;
}

.bh-service-tile--feature h3 {
  font-size: clamp(2.5rem,4.5vw,4.8rem);
}

.bh-service-tile p {
  grid-column: 1;
  max-width: 44ch;
  margin: 0;
  color: rgba(255,254,250,.73);
  font-size: .84rem;
  line-height: 1.55;
}

.bh-service-tile:not(.bh-service-tile--feature) p {
  display: none;
}

.bh-arrow {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255,254,250,.32);
  color: var(--bluehouse-white);
  font-size: 1rem;
  transition: border-color .25s,background-color .25s,color .25s,transform .25s;
}

.bh-service-tile:hover .bh-service-tile__media img,
.bh-service-tile:focus-visible .bh-service-tile__media img {
  transform: scale(1.035);
}

.bh-service-tile:hover h3,
.bh-service-tile:focus-visible h3 {
  color: var(--bluehouse-white);
}

.bh-service-tile:hover .bh-arrow,
.bh-service-tile:focus-visible .bh-arrow {
  border-color: var(--bluehouse-brass-light);
  background: var(--bluehouse-white);
  color: var(--bluehouse-navy);
  transform: translate(.15rem,-.15rem);
}

.bh-material-band {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  align-items: center;
  gap: clamp(.55rem,1vw,.9rem);
  margin-top: clamp(4rem,8vw,8rem);
  padding-block: clamp(1rem,2vw,1.5rem);
  border-block: 1px solid var(--bluehouse-oat);
}

.bh-material {
  position: relative;
  aspect-ratio: 5 / 3;
  overflow: hidden;
}

.bh-material:nth-child(even) {
  transform: translateY(1rem);
}

.bh-material img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bh-material::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,rgba(7,30,44,.74),transparent 64%);
  content: "";
}

.bh-material figcaption {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: .8rem;
  left: 1rem;
  color: var(--bluehouse-white);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bh-story {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 28%,rgba(220,235,244,.6),transparent 24%),
    var(--bluehouse-white);
}

.bh-story::after {
  position: absolute;
  right: -8rem;
  bottom: -6rem;
  width: clamp(22rem,42vw,42rem);
  aspect-ratio: 1;
  background:
    repeating-linear-gradient(45deg,rgba(73,58,50,.035) 0 1px,transparent 1px 9px),
    repeating-linear-gradient(-45deg,rgba(196,154,90,.04) 0 1px,transparent 1px 9px);
  content: "";
  transform: rotate(7deg);
}

.bh-story > .wrap {
  position: relative;
  z-index: 1;
}

.bh-room-study {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  align-items: start;
  min-height: clamp(580px,58vw,800px);
}

.bh-room-study figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  box-shadow: 0 34px 85px -58px rgba(10,38,55,.68);
}

.bh-room-study__wide {
  grid-column: 1 / span 9;
  grid-row: 1;
  aspect-ratio: 16 / 10;
}

.bh-room-study__detail {
  z-index: 2;
  grid-column: 8 / -1;
  grid-row: 1;
  aspect-ratio: 4 / 5;
  margin-top: clamp(10rem,20vw,17rem) !important;
  border: clamp(.65rem,1.2vw,1rem) solid var(--bluehouse-white);
}

.bh-room-study img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s var(--bluehouse-ease);
}

.bh-room-study:hover img {
  transform: scale(1.018);
}

.bh-room-study figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: .7rem .9rem;
  border-left: 1px solid var(--bluehouse-brass);
  background: rgba(255,254,250,.92);
  color: var(--bluehouse-navy);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bh-story__copy {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(320px,.72fr);
  gap: clamp(3rem,9vw,9rem);
  margin-top: clamp(1rem,3vw,2.5rem);
  padding-top: clamp(2.5rem,5vw,4.5rem);
  border-top: 1px solid var(--bluehouse-brass);
}

.bh-story__copy h2 {
  max-width: 11ch;
}

.bh-story__copy h2 span,
.bh-story__copy h2 em {
  display: block;
}

.bh-story__body > p {
  color: var(--bluehouse-muted);
}

.bh-proof-list {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin: 1.8rem 0 2rem;
  border-top: 1px solid var(--bluehouse-oat);
  list-style: none;
}

.bh-proof-list li {
  position: relative;
  padding: .8rem .75rem .8rem 1rem;
  border-right: 1px solid var(--bluehouse-oat);
  border-bottom: 1px solid var(--bluehouse-oat);
  color: var(--bluehouse-navy);
  font-size: .77rem;
  font-weight: 700;
  line-height: 1.45;
}

.bh-proof-list li::before {
  position: absolute;
  top: 1.13rem;
  left: 0;
  width: 6px;
  height: 1px;
  background: var(--bluehouse-brass);
  box-shadow: 0 3px 0 var(--bluehouse-brass),0 6px 0 var(--bluehouse-brass);
  content: "";
}

.bh-process__head h2,
.bh-process__step h3 {
  color: var(--bluehouse-white);
}

.bh-process__head > p {
  color: rgba(255,254,250,.7);
}

.bh-process__rail {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  align-items: start;
  gap: clamp(1rem,2vw,2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.bh-process__step {
  position: relative;
  min-height: 350px;
  padding: 1.75rem clamp(1rem,2vw,1.8rem);
  border-top: 1px solid rgba(223,189,136,.58);
  background: linear-gradient(180deg,rgba(255,254,250,.045),transparent 72%);
}

.bh-process__step:nth-child(even) {
  margin-top: clamp(2.5rem,5vw,4.75rem);
}

.bh-process__step::before {
  position: absolute;
  top: .85rem;
  right: 1rem;
  width: 3.1rem;
  height: 4.5rem;
  background-image: repeating-linear-gradient(0deg,rgba(223,189,136,.48) 0 1px,transparent 1px 8px);
  content: "";
}

.bh-process__number {
  display: block;
  margin-bottom: clamp(2.5rem,5vw,4.5rem);
  color: var(--bluehouse-brass-light);
  font-family: var(--bluehouse-display);
  font-size: clamp(3rem,5vw,5rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1;
  opacity: .68;
}

.bh-process__step > div {
  position: relative;
}

.bh-process--compact .bh-process__step {
  min-height: 265px;
}

.bh-process--compact .bh-process__step:nth-child(even) {
  margin-top: 0;
}

.bh-lookbook {
  background-color: var(--bluehouse-linen);
  background-image:
    linear-gradient(45deg,rgba(73,58,50,.02) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.02) 75%),
    linear-gradient(-45deg,rgba(73,58,50,.017) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.017) 75%);
  background-position: 0 0,7px 7px;
  background-size: 14px 14px;
}

.bh-lookbook-card__shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(0deg,rgba(7,30,44,.95),rgba(7,30,44,.03) 64%);
  pointer-events: none;
}

.bh-lookbook-card::after {
  display: none;
}

.bh-lookbook-card__caption {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: .45rem 1rem;
}

.bh-lookbook-card__caption small {
  grid-column: 1;
  color: var(--bluehouse-brass-light);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bh-lookbook-card__caption strong {
  grid-column: 1;
}

.bh-lookbook-card__caption > span {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin: 0;
  border: 1px solid rgba(255,254,250,.3);
  color: var(--bluehouse-white);
  font-size: 1rem;
  letter-spacing: 0;
}

.bh-reviews {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 24%,rgba(0,108,184,.14),transparent 25%),
    var(--bluehouse-navy-deep);
  color: var(--bluehouse-white);
}

.bh-reviews::before {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg,rgba(255,254,250,.035) 0 1px,transparent 1px 13px);
  content: "";
  pointer-events: none;
}

.bh-reviews > .wrap {
  position: relative;
}

.bh-reviews h2,
.bh-reviews h3 {
  color: var(--bluehouse-white);
}

.bh-reviews .bh-kicker {
  color: var(--bluehouse-brass-light);
}

.bh-reviews__head > p {
  color: rgba(255,254,250,.7);
}

.bh-reviews__grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
}

.bh-review-card {
  grid-column: span 5;
  min-height: 300px;
  padding: clamp(1.5rem,3vw,2.8rem);
  border-top: 1px solid rgba(223,189,136,.5);
  background: transparent;
}

.bh-review-card:first-child {
  grid-column: span 7;
  grid-row: span 2;
  min-height: 620px;
  padding: clamp(2.2rem,5vw,5rem);
  border: 1px solid rgba(255,254,250,.17);
  background: rgba(255,254,250,.035);
}

.bh-review-card:nth-child(n + 2) {
  border-left: 1px solid rgba(255,254,250,.15);
}

.bh-review-card__mark {
  display: block;
  height: .65em;
  margin-bottom: 1rem;
  color: var(--bluehouse-brass-light);
  font-family: Georgia,serif;
  font-size: 6rem;
  line-height: .8;
}

.bh-review-card blockquote {
  margin: 0 0 2rem;
  color: var(--bluehouse-white);
  font-family: var(--bluehouse-display);
  font-size: clamp(1.35rem,2.2vw,2.05rem);
  line-height: 1.25;
}

.bh-review-card:first-child blockquote {
  font-size: clamp(2rem,4vw,4rem);
  line-height: 1.15;
}

.bh-review-card footer {
  margin-top: auto;
}

.bh-review-card cite,
.bh-review-card footer span {
  display: block;
}

.bh-review-card cite {
  color: var(--bluehouse-white);
  font-style: normal;
  font-size: .78rem;
  font-weight: 700;
}

.bh-review-card footer span {
  margin-top: .2rem;
  color: rgba(255,254,250,.62);
  font-size: .67rem;
}

.bh-reviews__link {
  margin: 2rem 0 0;
  text-align: right;
}

.bh-reviews .bh-text-link {
  color: var(--bluehouse-brass-light);
}

.bh-consult {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 30%,rgba(255,254,250,.94),transparent 35%),
    linear-gradient(115deg,var(--bluehouse-linen),#ece4d6);
}

.bh-consult::before {
  position: absolute;
  right: -8rem;
  bottom: -8rem;
  width: clamp(24rem,46vw,48rem);
  aspect-ratio: 1;
  background:
    repeating-linear-gradient(45deg,rgba(73,58,50,.04) 0 1px,transparent 1px 9px),
    repeating-linear-gradient(-45deg,rgba(196,154,90,.048) 0 1px,transparent 1px 9px);
  content: "";
  transform: rotate(8deg);
}

.bh-consult > .wrap {
  position: relative;
}

.bh-consult__layout {
  display: grid;
  grid-template-columns: minmax(0,1.02fr) minmax(470px,.88fr);
  align-items: center;
}

.bh-consult__visual {
  position: relative;
  min-width: 0;
}

.bh-consult__visual > figure {
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
}

.bh-consult__visual > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bh-consult__intro {
  position: relative;
  z-index: 2;
  width: min(86%,680px);
  margin: clamp(-11rem,-13vw,-7rem) 0 0;
  padding: clamp(2rem,4vw,3.8rem);
  background: var(--bluehouse-navy);
  color: rgba(255,254,250,.74);
}

.bh-consult__intro h2 {
  color: var(--bluehouse-white);
}

.bh-consult__intro .bh-kicker {
  color: var(--bluehouse-brass-light);
}

.bh-consult__intro p:last-child {
  margin-bottom: 0;
}

.bh-consult__proof {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  width: min(92%,760px);
  margin: 0;
  padding: 0;
  border: 1px solid var(--bluehouse-oat);
  border-top: 0;
  background: rgba(255,254,250,.94);
  list-style: none;
}

.bh-consult__proof li {
  padding: 1rem;
  border-right: 1px solid var(--bluehouse-oat);
}

.bh-consult__proof li:last-child {
  border-right: 0;
}

.bh-consult__proof strong,
.bh-consult__proof span {
  display: block;
}

.bh-consult__proof strong {
  color: var(--bluehouse-navy);
  font-family: var(--bluehouse-display);
  font-size: 1.1rem;
  font-weight: 500;
}

.bh-consult__proof span {
  margin-top: .3rem;
  color: var(--bluehouse-muted);
  font-size: .63rem;
  line-height: 1.4;
}

.bh-consult__card {
  z-index: 3;
  margin-left: clamp(-5rem,-5vw,-2rem);
  padding: clamp(1.6rem,3.5vw,3.25rem);
}

.bh-consult__card h3 {
  font-size: clamp(2rem,3.8vw,3.4rem);
}

.bh-faq__head {
  position: sticky;
  top: 135px;
}

.bh-faq__head h2 {
  max-width: 10ch;
}

.bh-faq__head .bh-text-link {
  margin-top: 1.5rem;
}

.bh-cta,
.bh-service-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.bh-cta__media,
.bh-service-cta__media {
  position: absolute;
  z-index: -3;
  inset: 0;
  margin: 0;
}

.bh-cta__media img,
.bh-service-cta__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bh-cta__shade,
.bh-service-cta__shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg,rgba(7,30,44,.98) 0%,rgba(7,30,44,.88) 42%,rgba(7,30,44,.28) 74%,rgba(7,30,44,.16));
}

.bh-cta__wrap,
.bh-service-cta__wrap {
  position: relative;
  z-index: 2;
}

.bh-cta__content > p:not(.bh-kicker),
.bh-service-cta__content > p:not(.bh-kicker) {
  max-width: 48ch;
  color: rgba(255,254,250,.74);
}

.bh-page-hero {
  position: relative;
  display: block;
  min-height: min(820px,calc(100svh - 120px));
  padding: 0;
  overflow: hidden;
  background: var(--bluehouse-navy-deep);
}

.bh-page-hero::before {
  z-index: 0;
}

.bh-page-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 44%;
  margin: 0;
  overflow: hidden;
}

.bh-page-hero__media::after {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg,transparent 0 16px,rgba(255,254,250,.045) 16px 17px),
    linear-gradient(90deg,rgba(7,30,44,.28),transparent 35%);
  content: "";
  pointer-events: none;
}

.bh-page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bh-page-hero__shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg,var(--bluehouse-navy-deep) 0%,var(--bluehouse-navy-deep) 39%,rgba(7,30,44,.8) 49%,rgba(7,30,44,.08) 73%,transparent);
  pointer-events: none;
}

.bh-page-hero > .bh-page-hero__wrap {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: inherit;
  align-items: center;
}

.bh-page-hero__content {
  width: min(52%,720px);
  padding-block: clamp(5rem,8vw,7.5rem);
}

.bh-page-hero__content h1 {
  max-width: 10.5ch;
  color: var(--bluehouse-white);
  font-size: clamp(3.8rem,6.5vw,7.1rem);
  line-height: .96;
}

.bh-page-hero--long-title .bh-page-hero__content h1 {
  max-width: 12.5ch;
  font-size: clamp(3.35rem,5.35vw,6.2rem);
}

.bh-page-hero__content > p:not(.bh-kicker) {
  max-width: 44ch;
  color: rgba(255,254,250,.76);
  font-size: clamp(1.02rem,1rem + .2vw,1.2rem);
  line-height: 1.7;
}

.bh-page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.4rem;
  margin-top: 2rem;
}

.bh-page-hero__actions .bh-text-link {
  color: var(--bluehouse-white);
}

.bh-meta-row {
  margin-top: 2rem;
}

.bh-services-page {
  background: var(--bluehouse-linen);
}

.bh-service-index--page {
  margin-top: 1rem;
}

.bh-texture-band {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem,9vw,9rem);
  background: var(--bluehouse-walnut);
  color: var(--bluehouse-white);
}

.bh-texture-band::before {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(45deg,rgba(255,254,250,.035) 0 1px,transparent 1px 9px),
    repeating-linear-gradient(-45deg,rgba(196,154,90,.04) 0 1px,transparent 1px 9px);
  content: "";
}

.bh-texture-band > .wrap {
  position: relative;
}

.bh-texture-band__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2.5rem,5vw,4.5rem);
}

.bh-texture-band__head h2 {
  max-width: 12ch;
  color: var(--bluehouse-white);
  font-size: clamp(2.8rem,5.4vw,5.5rem);
}

.bh-texture-band__head .bh-kicker {
  color: var(--bluehouse-brass-light);
}

.bh-texture-band__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  align-items: center;
  gap: clamp(.6rem,1.2vw,1rem);
}

.bh-texture-band__grid figure {
  aspect-ratio: 3 / 4;
  margin: 0;
  overflow: hidden;
}

.bh-texture-band__grid figure:nth-child(even) {
  transform: translateY(2.2rem);
}

.bh-texture-band__grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bh-option-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid var(--bluehouse-brass);
}

.bh-option-card {
  min-height: 285px;
  padding: clamp(1.5rem,3vw,2.6rem) clamp(1.4rem,2.5vw,2.2rem) 2rem;
  border-right: 1px solid var(--bluehouse-oat);
  border-bottom: 1px solid var(--bluehouse-oat);
}

.bh-option-card > span {
  display: block;
  margin-bottom: clamp(2rem,4vw,4rem);
  color: var(--bluehouse-brass);
  font-family: var(--bluehouse-display);
  font-size: 2.4rem;
  line-height: 1;
}

.bh-option-card h3 {
  margin-bottom: .7rem;
  font-size: clamp(1.55rem,2.2vw,2.25rem);
}

.bh-option-card p {
  color: var(--bluehouse-muted);
  font-size: .88rem;
}

.bh-service-study {
  background:
    radial-gradient(circle at 10% 26%,rgba(220,235,244,.45),transparent 26%),
    var(--bluehouse-white);
}

.bh-service-study__grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  align-items: center;
}

.bh-service-study__media {
  position: relative;
  grid-column: 1 / span 8;
  aspect-ratio: 5 / 4;
  margin: 0;
  overflow: hidden;
}

.bh-service-study__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bh-service-study__media figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: .75rem 1rem;
  background: rgba(255,254,250,.92);
  color: var(--bluehouse-navy);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bh-service-study__copy {
  position: relative;
  z-index: 2;
  grid-column: 8 / -1;
  margin-left: clamp(-4rem,-4vw,-2rem);
  padding: clamp(2.3rem,5vw,4.8rem);
  background: rgba(255,254,250,.97);
  box-shadow: 0 35px 85px -58px rgba(10,38,55,.72);
}

.bh-service-study__copy::before {
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  left: -13px;
  width: 13px;
  background: linear-gradient(90deg,rgba(196,154,90,.7) 0 1px,transparent 1px 5px,rgba(10,38,55,.12) 5px 6px,transparent 6px 10px,rgba(196,154,90,.45) 10px 11px,transparent 11px);
  content: "";
}

.bh-service-study__copy h2 {
  max-width: 11ch;
}

.bh-service-study__copy > p:not(.bh-kicker),
.bh-service-note__body p {
  color: var(--bluehouse-muted);
}

.bh-service-note {
  background-color: var(--bluehouse-linen);
  background-image:
    linear-gradient(45deg,rgba(73,58,50,.02) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.02) 75%),
    linear-gradient(-45deg,rgba(73,58,50,.017) 25%,transparent 25%,transparent 75%,rgba(73,58,50,.017) 75%);
  background-position: 0 0,7px 7px;
  background-size: 14px 14px;
}

.bh-service-note__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(300px,.72fr);
  gap: clamp(3rem,8vw,8rem);
  padding-top: clamp(2.5rem,5vw,4rem);
  border-top: 1px solid var(--bluehouse-brass);
}

.bh-service-note__inner > .bh-kicker {
  grid-column: 1 / -1;
  margin-bottom: -1.5rem;
}

.bh-service-note__inner h2 {
  max-width: 11ch;
}

.bh-related {
  background: var(--bluehouse-white);
}

.bh-related__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(1rem,2vw,1.6rem);
}

.bh-related-card {
  color: var(--bluehouse-navy);
  text-decoration: none;
}

.bh-related-card figure {
  aspect-ratio: 4 / 5;
  margin: 0 0 1rem;
  overflow: hidden;
}

.bh-related-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s var(--bluehouse-ease);
}

.bh-related-card > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--bluehouse-brass);
}

.bh-related-card strong {
  font-family: var(--bluehouse-display);
  font-size: clamp(1.4rem,2vw,2rem);
  font-weight: 500;
}

.bh-related-card:hover img {
  transform: scale(1.025);
}

.bh-inline-cta {
  min-height: 470px;
}

.bh-inline-cta__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: clamp(2rem,6vw,6rem);
  max-width: none;
}

.bh-inline-cta__inner h2 {
  max-width: 10ch;
}

@media (max-width: 1120px) {
  .bh-service-index { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: clamp(330px,48vw,510px); }
  .bh-service-tile,
  .bh-service-tile--feature,
  .bh-service-tile:nth-child(n) { grid-column: auto; grid-row: auto; }
  .bh-service-tile--feature h3 { font-size: clamp(2rem,4vw,3.4rem); }
  .bh-service-tile:not(.bh-service-tile--feature) p { display: block; }
  .bh-room-study { min-height: 0; }
  .bh-story__copy { grid-template-columns: minmax(0,1fr) minmax(280px,.8fr); gap: 3rem; }
  .bh-reviews__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bh-review-card,
  .bh-review-card:first-child { grid-column: auto; grid-row: auto; min-height: 390px; padding: clamp(1.6rem,3vw,2.8rem); }
  .bh-review-card:first-child blockquote { font-size: clamp(1.7rem,3vw,2.7rem); }
  .bh-consult__layout { grid-template-columns: minmax(0,1fr) minmax(430px,.9fr); }
  .bh-consult__card { margin-left: -2.5rem; }
  .bh-page-hero__content { width: 55%; }
  .bh-option-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 920px) {
  .bh-section-head,
  .bh-process__head,
  .bh-reviews__head { grid-template-columns: 1fr; align-items: start; gap: 1.5rem; }
  .bh-hero__scroll { display: none; }
  .bh-material-band { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bh-material:nth-child(even) { transform: none; }
  .bh-room-study__wide { grid-column: 1 / -3; }
  .bh-room-study__detail { grid-column: 7 / -1; margin-top: clamp(7rem,24vw,12rem) !important; }
  .bh-story__copy { grid-template-columns: 1fr; }
  .bh-process__rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bh-consult__layout { grid-template-columns: 1fr; }
  .bh-consult__visual > figure { aspect-ratio: 5 / 4; }
  .bh-consult__card { width: calc(100% - clamp(1rem,5vw,3rem)); margin: -2rem 0 0 auto; }
  .bh-faq__head { position: static; }
  .bh-page-hero { display: flex; min-height: 0; flex-direction: column-reverse; }
  .bh-page-hero__media { position: relative; inset: auto; width: 100%; min-height: clamp(360px,72vw,620px); }
  .bh-page-hero__shade { background: linear-gradient(0deg,transparent 40%,var(--bluehouse-navy-deep)); }
  .bh-page-hero > .bh-page-hero__wrap { min-height: 0; }
  .bh-page-hero__content { width: 100%; padding-block: clamp(4rem,11vw,5.5rem); }
  .bh-texture-band__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bh-texture-band__grid figure:nth-child(even) { transform: none; }
  .bh-option-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bh-service-study__grid { grid-template-columns: 1fr; }
  .bh-service-study__media,
  .bh-service-study__copy { grid-column: 1; }
  .bh-service-study__media { aspect-ratio: 5 / 4; }
  .bh-service-study__copy { width: calc(100% - clamp(1rem,5vw,3rem)); margin: -2rem 0 0 auto; }
  .bh-service-note__inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .bh-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bh-inline-cta__inner { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 720px) {
  .bh-service-index { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .bh-service-tile,
  .bh-service-tile--feature,
  .bh-service-tile:nth-child(n) { aspect-ratio: 5 / 4; min-height: 0; }
  .bh-service-tile--feature { aspect-ratio: 4 / 5; }
  .bh-service-tile:not(.bh-service-tile--feature) p { display: none; }
  .bh-service-tile h3,
  .bh-service-tile--feature h3 { font-size: clamp(1.8rem,9vw,2.6rem); }
  .bh-service-tile p { font-size: .8rem; }
  .bh-material-band { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .bh-material { aspect-ratio: 1; }
  .bh-room-study { display: block; }
  .bh-room-study__wide { aspect-ratio: 4 / 5; }
  .bh-room-study__detail { width: 58%; margin: -5rem 0 0 auto !important; }
  .bh-story__copy { margin-top: 3rem; padding-top: 2.5rem; }
  .bh-proof-list { grid-template-columns: 1fr; }
  .bh-process__rail { grid-template-columns: 1fr; }
  .bh-process__step,
  .bh-process__step:nth-child(even) { min-height: 0; margin-top: 0; }
  .bh-process__number { margin-bottom: 2rem; font-size: 3rem; }
  .bh-process--compact .bh-process__step:nth-child(even) { margin-top: 0; }
  .bh-reviews__grid { grid-template-columns: 1fr; }
  .bh-review-card,
  .bh-review-card:first-child { min-height: 340px; }
  .bh-review-card:nth-child(n + 2) { border-left: 0; }
  .bh-consult__visual > figure { aspect-ratio: 4 / 5; }
  .bh-consult__intro { width: calc(100% - 1rem); margin-top: -4rem; padding: 1.5rem; }
  .bh-consult__proof { width: calc(100% - 1rem); grid-template-columns: 1fr; }
  .bh-consult__proof li { border-right: 0; border-bottom: 1px solid var(--bluehouse-oat); }
  .bh-consult__proof li:last-child { border-bottom: 0; }
  .bh-consult__card { width: calc(100% - 1rem); margin-top: 1.5rem; padding: 1.4rem; }
  .bh-page-hero__content h1 { font-size: clamp(2.8rem,14vw,4.4rem); }
  .bh-page-hero--long-title .bh-page-hero__content h1 { font-size: clamp(2.45rem,11.5vw,3.75rem); }
  .bh-page-hero__actions { align-items: stretch; flex-direction: column; }
  .bh-page-hero__actions .btn { width: 100%; }
  .bh-texture-band__head { align-items: start; flex-direction: column; }
  .bh-texture-band__grid { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .bh-texture-band__grid figure { aspect-ratio: 1; }
  .bh-option-grid { grid-template-columns: 1fr; }
  .bh-option-card { min-height: 0; border-right: 0; }
  .bh-service-study__media { aspect-ratio: 4 / 5; }
  .bh-service-study__copy { width: calc(100% - 1rem); margin-top: -1.5rem; padding: 1.6rem; }
  .bh-related__grid { grid-template-columns: 1fr; }
  .bh-related-card figure { aspect-ratio: 5 / 4; }
}

/* Editorial home hero */
.bh-hero {
  position: relative;
  isolation: isolate;
  display: block;
  min-height: clamp(760px,calc(100svh - 112px),920px);
  overflow: hidden;
  border: 0;
  background: var(--bluehouse-navy-deep);
}

.bh-hero::before,
.bh-hero::after,
.bh-hero__media::after,
.bh-hero__content::after,
.bh-hero .bluehouse-kicker::before {
  content: none;
}

.bh-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 43.5%;
  width: auto;
  min-height: 0;
  overflow: hidden;
  clip-path: polygon(8% 0,100% 0,100% 100%,0 100%);
  background: var(--bluehouse-walnut);
}

.bh-hero__media::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg,rgba(7,30,44,.3),rgba(7,30,44,.08) 20%,transparent 42%),
    linear-gradient(0deg,rgba(7,30,44,.18),transparent 38%);
  content: "";
  pointer-events: none;
}

.bh-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bh-hero__shade {
  display: none;
}

.bh-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: inherit;
  align-items: center;
}

.bh-hero__inner > .wrap {
  width: 100%;
}

.bh-hero__content {
  position: relative;
  width: min(45%,640px);
  padding-block: clamp(4.75rem,7.5vw,7.5rem);
}

.bh-hero .bh-kicker {
  display: block;
  padding: 0;
  color: var(--bluehouse-brass-light);
  line-height: 1.55;
}

.bh-hero h1 {
  width: 100%;
  max-width: 9.15ch;
  margin-top: clamp(1rem,2vw,1.5rem);
  font-size: clamp(4.4rem,7.15vw,7.75rem);
  line-height: .92;
  letter-spacing: -.058em;
}

.bh-hero__title > em {
  margin-left: 0;
}

.bh-hero__lede {
  max-width: 39ch;
  margin-top: clamp(1.5rem,2.5vw,2rem);
}

.bh-hero__actions {
  margin-top: clamp(1.6rem,2.6vw,2.25rem);
}

.bh-hero__proof {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: .8rem clamp(1rem,2vw,1.65rem);
  margin-top: clamp(2.25rem,4vw,3.5rem);
  border: 0;
}

.bh-hero__proof span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: 0;
  border: 0;
  color: rgba(255,254,250,.7);
  font-size: .7rem;
  line-height: 1.5;
}

.bh-hero__proof span::before {
  width: .3rem;
  height: .3rem;
  flex: 0 0 .3rem;
  background: var(--bluehouse-brass-light);
  content: "";
  transform: rotate(45deg);
}

@media (max-width: 1120px) and (min-width: 921px) {
  .bh-hero__content {
    width: 45.5%;
  }

  .bh-hero h1 {
    font-size: clamp(4rem,7.4vw,5.25rem);
  }

  .bh-hero__proof {
    gap: .65rem 1rem;
  }
}

@media (max-width: 920px) {
  .bh-hero {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .bh-hero__media {
    position: relative;
    inset: auto;
    order: 0;
    width: 100%;
    height: clamp(28rem,calc(46.8vw + 19.1rem),46rem);
    min-height: 0;
    aspect-ratio: auto;
    clip-path: polygon(0 0,100% 0,100% 100%,0 calc(100% - clamp(2.75rem,14vw,4.5rem)));
  }

  .bh-hero__media::before {
    background: linear-gradient(0deg,rgba(7,30,44,.16),transparent 34%);
  }

  .bh-hero__media img {
    object-position: center;
  }

  .bh-hero__inner {
    position: relative;
    inset: auto;
    order: 1;
    width: 100%;
    min-height: 0;
  }

  .bh-hero__content {
    width: 100%;
    padding-block: clamp(3.25rem,12vw,4.75rem) clamp(4.75rem,14vw,6.5rem);
  }

  .bh-hero h1 {
    max-width: 9.2ch;
    font-size: clamp(3.8rem,12.5vw,5.4rem);
    line-height: .91;
  }

  .bh-hero__title > em {
    margin-left: 0;
  }

  .bh-hero__lede {
    max-width: 42ch;
  }

  .bh-hero__proof {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .bh-hero__content {
    padding-top: clamp(3rem,12vw,4rem);
  }

  .bh-hero h1 {
    max-width: 9.15ch;
    font-size: clamp(3.25rem,15.4vw,4.75rem);
  }

  .bh-hero__proof {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Balanced interior layouts */
.bh-page-hero__content h1 {
  margin: 0;
  text-wrap: balance;
}

.bh-page-hero__content > p:not(.bh-kicker) {
  margin: clamp(1.25rem,2.2vw,1.75rem) 0 0;
}

.bluehouse-area-grid {
  counter-reset: none;
}

.bluehouse-area-card {
  counter-increment: none;
}

.bh-service-study__media,
.bh-service-study__copy {
  grid-row: 1;
}

.bh-service-study__media figcaption {
  right: auto;
  left: 0;
}

@supports selector(:has(*)) {
  .bluehouse-area-card:not(:has(> img)) {
    min-height: clamp(12rem,15vw,14rem);
  }

  .bluehouse-area-card:not(:has(> img))::before {
    display: none;
    content: none;
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) {
    overflow: hidden;
    border: 1px solid rgba(10,38,55,.1);
    background:
      linear-gradient(138deg,rgba(220,235,244,.5),transparent 42%),
      linear-gradient(180deg,var(--bluehouse-white),rgba(248,244,235,.74));
    box-shadow: 0 30px 68px -52px rgba(10,38,55,.55);
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media))::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 42%;
    height: 5.75rem;
    background: repeating-linear-gradient(to bottom,rgba(10,38,55,.065) 0 1px,transparent 1px 8px);
    content: "";
    pointer-events: none;
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media))::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 46%;
    height: 4px;
    background: linear-gradient(90deg,var(--bluehouse-action),var(--bluehouse-brass));
    content: "";
    pointer-events: none;
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) > div:last-child {
    position: relative;
    z-index: 1;
    min-height: clamp(14.5rem,17vw,17.5rem);
    padding: clamp(1.65rem,2.8vw,2.45rem);
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) .bluehouse-service-card__index {
    margin-bottom: clamp(1.8rem,3vw,3rem);
    color: var(--bluehouse-action);
    font-size: .72rem;
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) h3 {
    max-width: 16ch;
  }

  .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) p {
    max-width: 38ch;
  }

  @media (min-width: 1121px) {
    .bluehouse-service-grid:has(> :nth-child(4):last-child) {
      grid-template-columns: repeat(4,minmax(0,1fr));
    }

    .bh-option-grid:has(> :nth-child(6):last-child) {
      grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .bh-option-grid:has(> :nth-child(4):last-child) {
      grid-template-columns: repeat(4,minmax(0,1fr));
    }
  }

  @media (min-width: 721px) and (max-width: 1120px) {
    .bluehouse-service-grid:has(> :nth-child(4):last-child) {
      grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .bh-option-grid {
      grid-template-columns: repeat(2,minmax(0,1fr));
    }
  }

  @media (min-width: 861px) and (max-width: 1120px) {
    .bluehouse-service-grid:has(> :nth-child(3):last-child) {
      grid-template-columns: repeat(3,minmax(0,1fr));
    }
  }

  @media (min-width: 721px) and (max-width: 860px) {
    .bluehouse-service-grid:has(> :nth-child(3):last-child) {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 720px) {
    .bluehouse-service-grid:has(> :nth-child(4):last-child) {
      grid-template-columns: 1fr;
    }

    .bh-option-grid {
      grid-template-columns: 1fr;
    }

    .bluehouse-service-card:not(:has(.bluehouse-service-card__media)) > div:last-child {
      min-height: 13rem;
      padding: 1.6rem;
    }
  }
}

@media (max-width: 920px) {
  .bh-process__step,
  .bluehouse-process__step { padding-inline: 1.25rem; }

  .bluehouse-page-hero:not(.bh-page-hero) {
    min-height: 0;
    padding-block: clamp(3.75rem,10vw,5.5rem);
  }

  .bluehouse-page-hero:not(.bh-page-hero) > .wrap {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0,1fr);
    align-items: start;
    gap: clamp(2.5rem,8vw,4rem);
  }

  .bluehouse-page-hero:not(.bh-page-hero) .bluehouse-page-hero__content {
    width: 100%;
    max-width: 46rem;
    min-width: 0;
    padding-right: 0;
  }

  .bluehouse-page-hero:not(.bh-page-hero) h1 {
    width: 100%;
    max-width: 11.5ch;
    font-size: clamp(3rem,10.5vw,5rem);
    line-height: .98;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .bluehouse-page-hero:not(.bh-page-hero) .bluehouse-page-hero__media {
    width: min(100%,40rem);
    max-width: 100%;
    aspect-ratio: 5 / 4;
    margin: 0;
    box-shadow: 14px 14px 0 rgba(196,154,90,.1);
  }

  .bh-service-study__media,
  .bh-service-study__copy {
    grid-row: auto;
  }
}

@media (max-width: 520px) {
  .bluehouse-page-hero:not(.bh-page-hero) {
    padding-block: clamp(3.25rem,14vw,4.25rem);
  }

  .bluehouse-page-hero:not(.bh-page-hero) h1 {
    max-width: 12ch;
    font-size: clamp(2.8rem,12.5vw,3.85rem);
  }

  .bluehouse-page-hero:not(.bh-page-hero) .lede {
    font-size: 1rem;
    line-height: 1.65;
  }

  .bluehouse-page-hero:not(.bh-page-hero) .bluehouse-page-hero__media {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 660px) {
  .chips[data-filter] {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: 0;
  }

  .chips[data-filter] .chip {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: .7rem .4rem;
    border-right: 1px solid var(--bluehouse-oat);
    border-bottom: 1px solid var(--bluehouse-oat);
    line-height: 1.3;
    text-align: center;
    white-space: normal;
  }

  .chips[data-filter] .chip:nth-child(3n) {
    border-right: 0;
  }

  .chips[data-filter] .chip:nth-last-child(-n + 3) {
    border-bottom: 0;
  }
}

@media (max-width: 720px) {
  .bh-service-tile.bh-service-tile--feature {
    aspect-ratio: 4 / 5;
  }

  .bh-service-tile__content {
    padding: 1.5rem;
  }

  .bh-service-tile__index {
    top: 1.5rem;
    left: 1.5rem;
  }

}

/* Why BlueHouse editorial page */
.bh-why-hero .bluehouse-page-hero__media img {
  object-position: 52% center;
}

.bh-why-hero .bluehouse-btn--ghost {
  border-color: rgba(255,254,250,.34);
  color: var(--bluehouse-white);
}

.bh-why-hero .bluehouse-btn--ghost:hover {
  border-color: var(--bluehouse-brass-light);
  color: var(--bluehouse-brass-light);
}

.bh-why-story .bh-room-study__wide img {
  object-position: center 48%;
}

.bh-why-story .bh-room-study__wide figcaption {
  right: auto;
  left: 0;
  border-right: 1px solid var(--bluehouse-brass);
  border-left: 0;
}

.bh-why-story .bh-room-study__detail img {
  object-position: center;
}

.bh-why-journey {
  position: relative;
  overflow: hidden;
}

.bh-why-journey::before {
  position: absolute;
  top: 0;
  right: 0;
  width: min(31vw,30rem);
  height: 100%;
  background: repeating-linear-gradient(90deg,rgba(10,38,55,.028) 0 1px,transparent 1px 14px);
  content: "";
  pointer-events: none;
}

.bh-why-journey > .wrap {
  position: relative;
  z-index: 1;
}

.bh-why-journey__list {
  border-top: 1px solid var(--bluehouse-brass);
}

.bh-why-chapter {
  display: grid;
  grid-template-columns: minmax(0,1.14fr) minmax(340px,.86fr);
  align-items: center;
  gap: clamp(3rem,8vw,8rem);
  padding-block: clamp(3.5rem,7vw,7rem);
  border-bottom: 1px solid var(--bluehouse-oat);
}

.bh-why-chapter__media {
  position: relative;
  aspect-ratio: 5 / 4;
  margin: 0;
  overflow: hidden;
  background: var(--bluehouse-oat);
  box-shadow: 0 34px 82px -58px rgba(10,38,55,.68);
}

.bh-why-chapter__media::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: clamp(3rem,7vw,6rem);
  aspect-ratio: 1;
  border-right: 1px solid var(--bluehouse-brass-light);
  border-bottom: 1px solid var(--bluehouse-brass-light);
  content: "";
  pointer-events: none;
}

.bh-why-chapter__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--bluehouse-ease);
}

.bh-why-chapter:hover .bh-why-chapter__media img {
  transform: scale(1.018);
}

.bh-why-chapter--reverse .bh-why-chapter__media {
  order: 2;
}

.bh-why-chapter--reverse .bh-why-chapter__content {
  order: 1;
}

.bh-why-chapter--reverse {
  grid-template-columns: minmax(340px,.86fr) minmax(0,1.14fr);
}

.bh-why-chapter__content {
  max-width: 34rem;
}

.bh-why-chapter__content h3 {
  max-width: 12ch;
  margin: 0 0 clamp(1.25rem,2.5vw,2rem);
  color: var(--bluehouse-navy);
  font-family: var(--bluehouse-display);
  font-size: clamp(2.5rem,4.1vw,4.65rem);
  font-weight: 500;
  line-height: .99;
  letter-spacing: -.035em;
}

.bh-why-chapter__content > p:not(.eyebrow) {
  color: var(--bluehouse-muted);
  font-size: clamp(.98rem,1.1vw,1.08rem);
  line-height: 1.72;
}

.bh-why-chapter__content > p + p {
  margin-top: .85rem;
}

.bh-why-chapter__notes {
  margin: clamp(1.4rem,3vw,2.2rem) 0 1.8rem;
  border-top: 1px solid var(--bluehouse-oat);
  list-style: none;
}

.bh-why-chapter__notes li {
  position: relative;
  padding: .85rem 0 .85rem 1.25rem;
  border-bottom: 1px solid var(--bluehouse-oat);
  color: var(--bluehouse-navy);
  font-size: .77rem;
  font-weight: 700;
  line-height: 1.45;
}

.bh-why-chapter__notes li::before {
  position: absolute;
  top: 1.15rem;
  left: 0;
  width: 7px;
  height: 1px;
  background: var(--bluehouse-brass);
  box-shadow: 0 3px 0 var(--bluehouse-brass),0 6px 0 var(--bluehouse-brass);
  content: "";
}

.bh-why-showroom {
  background:
    radial-gradient(circle at 92% 18%,rgba(220,235,244,.58),transparent 25%),
    var(--bluehouse-white);
}

.bh-why-showroom .bluehouse-split__media {
  aspect-ratio: 5 / 4;
}

.bh-why-showroom .bluehouse-split__content {
  padding-block: clamp(1rem,3vw,2.5rem);
}

.bh-why-proof {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 34%,rgba(0,108,184,.15),transparent 29%),
    var(--bluehouse-navy-deep);
  color: var(--bluehouse-white);
}

.bh-why-proof::after {
  position: absolute;
  right: -5rem;
  bottom: -8rem;
  width: min(36vw,34rem);
  aspect-ratio: 1;
  background:
    repeating-linear-gradient(45deg,rgba(255,254,250,.04) 0 1px,transparent 1px 9px),
    repeating-linear-gradient(-45deg,rgba(196,154,90,.05) 0 1px,transparent 1px 9px);
  content: "";
  transform: rotate(8deg);
}

.bh-why-proof > .wrap {
  position: relative;
  z-index: 1;
}

.bh-why-proof .bh-section-head h2 {
  color: var(--bluehouse-white);
}

.bh-why-proof .bh-section-head > p {
  color: rgba(255,254,250,.7);
}

.bh-why-proof .eyebrow {
  color: var(--bluehouse-brass-light);
}

.bh-why-proof__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(223,189,136,.55);
  list-style: none;
}

.bh-why-proof__grid li {
  min-height: 220px;
  padding: clamp(1.6rem,3vw,2.7rem);
  border-right: 1px solid rgba(255,254,250,.14);
  border-bottom: 1px solid rgba(255,254,250,.14);
}

.bh-why-proof__grid li:nth-child(3n) {
  border-right: 0;
}

.bh-why-proof__grid strong,
.bh-why-proof__grid span {
  display: block;
}

.bh-why-proof__grid strong {
  max-width: 14ch;
  color: var(--bluehouse-white);
  font-family: var(--bluehouse-display);
  font-size: clamp(1.7rem,2.4vw,2.55rem);
  font-weight: 500;
  line-height: 1.04;
}

.bh-why-proof__grid span {
  max-width: 34ch;
  margin-top: 1rem;
  color: rgba(255,254,250,.68);
  font-size: .86rem;
  line-height: 1.65;
}

.bh-why-review {
  background:
    linear-gradient(90deg,rgba(220,235,244,.42),transparent 42%),
    var(--bluehouse-white);
}

.bh-why-review__grid {
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
  align-items: center;
  gap: clamp(3rem,10vw,10rem);
}

.bh-why-review__grid > div > h2 {
  max-width: 12ch;
}

.bh-why-review__grid > div > p:not(.eyebrow) {
  max-width: 40ch;
  margin: 1.25rem 0 1.5rem;
  color: var(--bluehouse-muted);
}

.bh-why-review blockquote {
  position: relative;
  margin: 0;
  padding: clamp(2.25rem,5vw,4.5rem) 0 clamp(2.25rem,5vw,4.5rem) clamp(3rem,7vw,6.5rem);
  border-left: 1px solid var(--bluehouse-brass);
}

.bh-why-review blockquote > span {
  position: absolute;
  top: clamp(1rem,2vw,2rem);
  left: clamp(1rem,2.5vw,2.2rem);
  color: var(--bluehouse-brass);
  font-family: var(--bluehouse-display);
  font-size: clamp(4rem,8vw,7rem);
  line-height: 1;
}

.bh-why-review blockquote > p {
  max-width: 24ch;
  color: var(--bluehouse-navy);
  font-family: var(--bluehouse-display);
  font-size: clamp(2rem,3.8vw,4rem);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.bh-why-review blockquote footer {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-top: 1.5rem;
  color: var(--bluehouse-muted);
  font-size: .75rem;
}

.bh-why-review blockquote cite {
  color: var(--bluehouse-navy);
  font-style: normal;
  font-weight: 700;
}

@media (max-width: 920px) {
  .bh-why-chapter {
    grid-template-columns: 1fr;
    gap: clamp(2rem,7vw,3.5rem);
  }

  .bh-why-chapter--reverse {
    grid-template-columns: 1fr;
  }

  .bh-why-chapter--reverse .bh-why-chapter__media,
  .bh-why-chapter--reverse .bh-why-chapter__content {
    order: initial;
  }

  .bh-why-chapter__content {
    max-width: 42rem;
  }

  .bh-why-proof__grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .bh-why-proof__grid li:nth-child(3n) {
    border-right: 1px solid rgba(255,254,250,.14);
  }

  .bh-why-proof__grid li:nth-child(2n) {
    border-right: 0;
  }

  .bh-why-review__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .bh-why-review blockquote {
    max-width: 48rem;
  }
}

@media (max-width: 720px) {
  .bh-why-chapter {
    padding-block: 3.25rem;
  }

  .bh-why-chapter__media {
    aspect-ratio: 4 / 3;
  }

  .bh-why-chapter__content h3 {
    font-size: clamp(2.25rem,10vw,3.35rem);
  }

  .bh-why-proof__grid {
    grid-template-columns: 1fr;
  }

  .bh-why-proof__grid li,
  .bh-why-proof__grid li:nth-child(2n),
  .bh-why-proof__grid li:nth-child(3n) {
    min-height: 0;
    border-right: 0;
  }

  .bh-why-review blockquote {
    padding: 4.5rem 0 1rem;
    border-top: 1px solid var(--bluehouse-brass);
    border-left: 0;
  }

  .bh-why-review blockquote > span {
    top: .4rem;
    left: 0;
  }

  .bh-why-review blockquote > p {
    font-size: clamp(2rem,9vw,3rem);
  }

  .bh-why-review blockquote footer {
    align-items: flex-start;
    flex-direction: column;
    gap: .35rem;
  }
}
