/* Keep the hero photograph aligned with both columns above it. */
.bold .bold-image{margin:0;width:100%}
.bold .bold-image img{width:100%;aspect-ratio:2.2;max-height:none}
@media(max-width:600px){.bold .bold-image img{aspect-ratio:1.6}}

/* Group the service introduction; retain the approved service cards. */
.bold .section-heading,.bold .gallery-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:20px 7%;align-items:end}
.bold .section-heading .eyebrow,.bold .gallery-heading .eyebrow{grid-column:1/-1;margin:0}
.bold .section-heading p,.bold .gallery-heading p{grid-column:2;max-width:35ch;margin:0}
.bold .section-heading h2 br{display:none}
.bold .gallery-grid{grid-template-columns:1.45fr 1fr;gap:5%;align-items:start}
.bold .gallery-main img{aspect-ratio:1.05}
.bold .gallery-details{padding-top:60px}
.bold .gallery-details img{aspect-ratio:2.5}
.bold .gallery-details figure+figure{margin-top:28px}
.bold .gallery figcaption{border-bottom:1px solid #52767c;padding-bottom:12px;margin-top:14px}
.bold .gallery-note{margin-top:22px}
.bold .faq-list{grid-template-columns:1fr 1fr;column-gap:50px;align-items:start}
.bold .faq h2{font-size:clamp(40px,4.1vw,70px)}
@media(max-width:850px){.bold .gallery-details{padding-top:24px}.bold .faq-list{column-gap:28px}}
@media(max-width:600px){
.bold .section-heading,.bold .gallery-heading{display:block}
.bold .section-heading .eyebrow,.bold .gallery-heading .eyebrow{margin-bottom:18px}
.bold .section-heading p,.bold .gallery-heading p{margin-top:20px}
.bold .gallery-grid{display:block}
.bold .gallery-main img{aspect-ratio:1.15}
.bold .gallery-details{padding-top:0}
.bold .faq-list{display:block}
}

/* Keep gallery title and supporting copy together as one introduction. */
.bold .gallery-heading{display:block;margin-bottom:36px}
.bold .gallery-heading .eyebrow{margin-bottom:18px}
.bold .gallery-heading p{margin-top:18px;max-width:52ch}

/* Image-led hero: keep the message and action in one coherent group. */
.bold .hero-stage{position:relative;isolation:isolate;overflow:hidden}
.bold .hero-stage .bold-image{position:absolute;inset:0;height:100%;z-index:-2}
.bold .hero-stage .bold-image img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center 65%}
.bold .hero-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,42,.94) 0%,rgba(3,31,42,.82) 30%,rgba(3,31,42,.3) 65%,rgba(3,31,42,.04) 100%);z-index:-1}
.bold .hero-stage .bold-title{display:block;padding:clamp(38px,5vw,88px);min-height:650px}
.bold .hero-stage h1{font-size:clamp(76px,7.8vw,140px);line-height:.94;max-width:8ch}
.bold .hero-stage .bold-summary{margin-top:30px;max-width:37ch}
.bold .hero-stage .bold-summary p{max-width:35ch;font-size:20px;line-height:1.55;margin-bottom:26px}
.bold .hero-stage .text-link{color:var(--paper)}
.bold .hero-stage figcaption{z-index:2}
@media(max-width:850px){.bold .hero-stage .bold-title{min-height:610px}.bold .hero-stage:before{background:linear-gradient(90deg,rgba(3,31,42,.94),rgba(3,31,42,.6) 65%,rgba(3,31,42,.25))}}
@media(max-width:600px){
.bold .hero-stage .bold-title{min-height:650px;padding:28px 22px 185px}
.bold .hero-stage h1{font-size:clamp(57px,14vw,78px)}
.bold .hero-stage .bold-summary{margin-top:24px}
.bold .hero-stage .bold-summary p{font-size:17px}
.bold .hero-stage .actions{gap:12px}
.bold .hero-stage:before{background:linear-gradient(180deg,rgba(3,31,42,.94),rgba(3,31,42,.83) 46%,rgba(3,31,42,.12) 100%)}
.bold .hero-stage .bold-image img{object-position:58% center}
.bold .hero-stage figcaption{font-size:8px}
}

/* Full-bleed media, readable inset text. */
.bold .bold-hero.wrap{width:100%;max-width:none;padding-top:0;margin-inline:0}
.bold .bold-hero:before{display:none}
.bold .bold-hero-top,.bold .hero-bottomline{width:calc(100% - var(--edge)*2);max-width:2100px;margin-inline:auto}
.bold .bold-hero-top{padding-block:28px}
.bold .hero-stage .bold-title{padding-inline:var(--edge);min-height:clamp(620px,72vh,900px)}
@media(max-width:600px){.bold .bold-hero-top{padding-block:22px}.bold .hero-stage .bold-title{padding:32px var(--edge) 200px;min-height:650px}}

/* The photo fills the complete hero beneath the solid navigation. */
.bold .bold-hero.wrap{padding-bottom:0}
.bold .hero-stage{display:flex;flex-direction:column;min-height:clamp(700px,80svh,980px)}
.bold .hero-stage .bold-hero-top{position:relative;padding-block:26px;align-items:center;gap:20px}
.bold .hero-stage .bold-hero-top .eyebrow{margin:0}
.bold .hero-stage .bold-title{min-height:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;justify-content:center;padding-block:42px 86px}
.bold .hero-stage .hero-bottomline{position:relative;margin-top:0;padding-block:22px;border-color:#ffffff55}
.bold .hero-stage figcaption{bottom:76px;right:var(--edge);background:transparent;padding:0;text-shadow:0 1px 4px #001c28}
.bold .hero-stage:before{background:linear-gradient(180deg,rgba(3,31,42,.65),transparent 23%,transparent 70%,rgba(3,31,42,.62)),linear-gradient(90deg,rgba(3,31,42,.94),rgba(3,31,42,.8) 30%,rgba(3,31,42,.25) 65%,rgba(3,31,42,.04))}
@media(max-width:600px){
.bold .hero-stage{min-height:760px}
.bold .hero-stage .bold-hero-top{flex-wrap:wrap;gap:8px;padding-block:20px}
.bold .hero-stage .bold-hero-top .eyebrow{font-size:9px}
.bold .hero-stage .edition{display:block;font-size:9px}
.bold .hero-stage .bold-title{padding:26px var(--edge) 190px;justify-content:flex-start}
.bold .hero-stage .hero-bottomline{font-size:9px;padding-block:18px;gap:12px}
.bold .hero-stage figcaption{bottom:65px;font-size:8px}
.bold .hero-stage:before{background:linear-gradient(180deg,rgba(3,31,42,.95),rgba(3,31,42,.83) 43%,rgba(3,31,42,.12) 80%,rgba(3,31,42,.7))}
}

/* Owner refinement: clean transition from navigation to photo. */
.bold .header{border-bottom:0}

/* More breathing room for the expansive photo hero. */
.bold .hero-stage .bold-summary{margin-top:46px}
.bold .hero-stage .bold-summary p{margin-bottom:36px}
.bold .header nav a{border-bottom:0;text-decoration:underline;text-decoration-color:var(--mint);text-underline-offset:9px;text-decoration-thickness:1px}
.bold .header nav a:hover,.bold .header nav a:focus-visible{text-decoration-thickness:2px}
@media(max-width:600px){.bold .hero-stage .bold-summary{margin-top:32px}.bold .hero-stage .bold-summary p{margin-bottom:28px}.bold .header nav a{text-decoration-color:var(--ink)}}

/* Persistent underline with restrained hover and keyboard-focus polish. */
.bold .header nav a{--nav-line:var(--mint);position:relative;text-decoration:none;transition:color .2s ease,transform .2s ease}
.bold .header nav a:before,.bold .header nav a:after{content:"";position:absolute;left:0;right:0;bottom:5px;background:var(--nav-line);pointer-events:none}
.bold .header nav a:after{height:1px;opacity:.55}
.bold .header nav a:before{height:2px;transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.bold .header nav a:hover,.bold .header nav a:focus-visible{color:white;transform:translateY(-1px)}
.bold .header nav a:hover:before,.bold .header nav a:focus-visible:before{transform:scaleX(1)}
@media(max-width:600px){.bold .header nav a{--nav-line:var(--ink)}.bold .header nav a:hover,.bold .header nav a:focus-visible{color:var(--accent)}}
@media(prefers-reduced-motion:reduce){.bold .header nav a:hover,.bold .header nav a:focus-visible{transform:none}}

/* Full-width review viewport; readable inset heading and source. */
.reviews>.wrap{width:100%;max-width:none;padding-inline:0}.reviews .review-heading,.reviews .review-note{width:84%;max-width:1600px;margin-inline:auto}.reviews .review-viewport{width:100%;max-width:none}@media(max-width:600px){.reviews .review-heading,.reviews .review-note{width:calc(100% - 44px)}}
