/* Content hierarchy across core pages and standalone neighbourhood drafts.
   Existing scale fallbacks mirror src/styles/tokens.css for standalone previews. */
body:not(.homepage) main :is(.sectionhead,.section-heading,.service-intro,.planning-layout,.process-intro,.about-story,.showroom-grid,.gallery-notes,.gallery-scope,.gallery-close,.context-copy,.local-services,.area-band,.guides,.close__copy,.service-faq,.contact-form-layout,.local-faq,.local-closing,.area-directory-section) h2,
body:not(.homepage) main h2.sec-title,
body.service-expanded-page #main h2.sec-title,
body.neighbourhood-draft main .section>h2,
body.neighbourhood-draft main #planning>h2 {
 font-family:SourceSerif,var(--font-display,Georgia,serif);
 font-size:var(--step-3,clamp(1.55rem,1.4rem + .72vw,2.1rem));font-weight:400;
 line-height:var(--leading-snug,1.2);letter-spacing:var(--tracking-tight,-.02em);
 text-wrap:balance;max-width:var(--measure-narrow,46ch);margin-top:0;
}
body:not(.homepage) main :is(.sectionhead,.section-heading,.service-intro,.planning-layout,.about-story,.showroom-grid,.context-layout,.split,.sx__top,.sig__top){align-items:start}
body:not(.homepage) main :is(.sectionhead,.section-heading){gap:var(--space-l,2rem);margin-bottom:var(--space-l,2rem)}
body:not(.homepage) main :is(.sectionhead,.section-heading)>:is(div,p),
body:not(.homepage) main :is(.service-intro,.planning-layout,.about-story,.showroom-grid)>div {min-width:0;align-self:start}
body:not(.homepage) main :is(.sectionhead,.section-heading,.process-intro,.service-intro,.about-story,.showroom-grid,.context-copy,.guide-intro) .eyebrow{
 font-size:var(--step--2,clamp(.694rem,.675rem + .09vw,.741rem));line-height:1.6;letter-spacing:.14em;margin-bottom:var(--space-xs,.75rem)
}
body:not(.homepage) main :is(.intro-body,.context-copy,.service-grid-intro,.about-story,.showroom-grid) p,
body:not(.homepage) main :is(.sectionhead,.section-heading)>p,
body.service-expanded-page main .sec-sub {max-width:62ch;line-height:1.65}
body:not(.homepage) main :is(.process-intro,.planning-layout,.context-copy) h2+p {margin-top:var(--space-s,1rem)}
body:not(.homepage) main :is(.sectionhead,.section-heading) h2 {margin-bottom:0}
body:not(.homepage) main :is(.service-intro,.about-story,.showroom-grid,.process,.areasfaq){column-gap:var(--space-2xl,4rem)}
body:not(.homepage) main :is(.hero-copy,.gallery-heading) h1,
body:not(.homepage) main .hero__h1,
body:not(.homepage) main .pm h1{
 font-family:SourceSerif,var(--font-display,Georgia,serif);
 font-size:var(--step-5,clamp(2.1rem,1.8rem + 1.5vw,3.25rem));
 font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance
}
body:not(.homepage) main .prose h2{font-size:var(--step-3,clamp(1.55rem,1.4rem + .72vw,2.1rem));line-height:1.2;letter-spacing:-.02em;margin-top:var(--space-xl,3rem);margin-bottom:var(--space-s,1rem);text-wrap:balance}
body.homepage :is(.home-restored-planning,.home-restored-design-centre,.home-restored-credentials) h2{
 font-family:SourceSerif,var(--font-display,Georgia,serif);font-size:var(--step-3,clamp(1.55rem,1.4rem + .72vw,2.1rem));font-weight:400;line-height:1.2;letter-spacing:-.02em;text-wrap:balance
}
@media(max-width:700px){
 body:not(.homepage) main :is(.sectionhead,.section-heading,.service-intro,.planning-layout,.process-intro,.about-story,.showroom-grid,.gallery-notes,.gallery-scope,.gallery-close,.context-copy,.local-services,.area-band,.guides,.close__copy,.service-faq,.contact-form-layout,.local-faq,.local-closing,.area-directory-section) h2,
 body:not(.homepage) main h2.sec-title,
body.service-expanded-page #main h2.sec-title,
 body.neighbourhood-draft main .section>h2,
body.neighbourhood-draft main #planning>h2,
 body.homepage :is(.home-restored-planning,.home-restored-design-centre,.home-restored-credentials) h2{font-size:var(--step-2,clamp(1.32rem,1.24rem + .4vw,1.65rem))}
 body:not(.homepage) main :is(.sectionhead,.section-heading){gap:var(--space-s,1rem);margin-bottom:var(--space-m,1.5rem)}
 body:not(.homepage) main :is(.service-intro,.about-story,.showroom-grid,.process,.areasfaq){gap:var(--space-m,1.5rem)}
 body:not(.homepage) main .prose h2{margin-top:var(--space-l,2rem)}
}

/* Numbered planning notes need a real gutter, including wrapped lines. */
body.service-page main .service-intro{padding-block:var(--section-y-tight,clamp(2rem,1.25rem + 3vw,3.5rem))}
body.service-page main .service-intro+.service-intro{padding-top:0}
body.service-page main .intro-body>ul>li:has(>b:first-child){display:grid;grid-template-columns:2ch minmax(0,1fr);column-gap:var(--space-xs,.75rem);margin-block:var(--space-2xs,.5rem)}
body.service-page main .intro-body>ul>li>b:first-child{font-variant-numeric:tabular-nums;font-weight:500}


/* Homepage introductions only. Hero, benefits, cards and their media keep their approved styles. */
body.homepage .home-restored-planning .home-planning-copy {
  min-width: 0;
  align-self: start;
}
body.homepage .home-restored-planning .home-planning-points {
  display: grid;
  gap: var(--space-s);
  list-style: disc;
  margin: 0;
  padding: 0 0 0 var(--space-s);
  max-width: var(--measure);
  text-align: start;
}
body.homepage .home-restored-planning .home-planning-points > li {
  margin: 0;
  padding-inline-start: var(--space-3xs);
  font-size: var(--step--1);
  line-height: var(--leading-normal);
}
body.homepage .home-restored-planning .home-planning-points > li::marker {
  color: var(--orange,var(--accent-500));
  font-size: var(--step--2);
}
body.homepage #services.home-services-visual .sectionhead.service-grid-heading {
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  align-items: start;
  column-gap: var(--space-2xl);
  row-gap: var(--space-m);
  margin-bottom: var(--space-l);
}
body.homepage #services.home-services-visual .service-grid-heading > div {
  align-self: start;
  min-width: 0;
}
body.homepage #services.home-services-visual .service-grid-intro {
  max-width: var(--measure-narrow);
  justify-self: start;
}
body.homepage #services.home-services-visual .service-grid-intro p {
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  margin: 0 0 var(--space-xs);
  max-width: var(--measure-narrow);
}
body.homepage #services.home-services-visual .service-grid-intro p:last-child { margin-bottom: 0; }
body.homepage #services.home-services-visual .service-grid-heading h2,
body.homepage #projects > .wrap > .sectionhead h2,
body.homepage #process > .process-intro > h2,
body.homepage .home-areas-editorial > .areas > h2,
body.homepage .home-areas-editorial > .faq > h2,
body.homepage .home-guides-editorial > .guide-intro > h2 {
  font-family: SourceSerif,var(--font-display);
  font-size: var(--step-3);
  font-weight: var(--weight-normal);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
  margin: 0;
  max-width: var(--measure-narrow);
}
body.homepage #services.home-services-visual .service-grid-heading .eyebrow,
body.homepage #projects > .wrap > .sectionhead .eyebrow,
body.homepage #process > .process-intro > .eyebrow,
body.homepage .home-areas-editorial > .areas > .eyebrow,
body.homepage .home-areas-editorial > .faq > .eyebrow,
body.homepage .home-guides-editorial > .guide-intro > .eyebrow {
  font-size: var(--step--2);
  font-weight: var(--weight-medium);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-widest);
  margin: 0 0 var(--space-xs);
}
body.homepage #projects > .wrap > .sectionhead {
  align-items: start;
  gap: var(--space-l);
  margin-bottom: var(--space-l);
}
body.homepage #projects > .wrap > .sectionhead > .textlink {
  margin: 0;
  align-self: start;
  font-size: var(--step--1);
  line-height: var(--leading-normal);
}
body.homepage #process.process {
  align-items: start;
}
body.homepage #process > .process-intro {
  align-self: start;
  min-width: 0;
}
body.homepage #process > .process-intro > p:not(.eyebrow) {
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  margin: var(--space-m) 0 var(--space-s);
  max-width: var(--measure-narrow);
}
body.homepage #process > .process-intro > .textlink {
  font-size: var(--step--1);
  line-height: var(--leading-normal);
}
body.homepage .home-areas-editorial.areasfaq {
  align-items: start;
  column-gap: var(--space-2xl);
  row-gap: var(--space-xl);
}
body.homepage .home-areas-editorial > .areas,
body.homepage .home-areas-editorial > .faq { align-self: start; min-width: 0; }
body.homepage .home-areas-editorial > .areas > p:not(.eyebrow) {
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  max-width: var(--measure-narrow);
  margin: var(--space-m) 0 0;
}
body.homepage .home-areas-editorial > .faq > h2 { margin-bottom: var(--space-m); }
body.homepage .home-areas-editorial > .faq > p:not(.eyebrow) {
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  max-width: var(--measure-narrow);
  margin: var(--space-m) 0 var(--space-s);
}
body.homepage .home-guides-editorial.guides {
  align-items: start;
  column-gap: var(--space-l);
  row-gap: var(--space-l);
}
body.homepage .home-guides-editorial.guides > .guide-intro {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  column-gap: var(--space-2xl);
  row-gap: var(--space-xs);
  align-items: start;
}
body.homepage .home-guides-editorial > .guide-intro > .eyebrow { grid-column: 1; margin: 0; }
body.homepage .home-guides-editorial > .guide-intro > h2 { grid-column: 1; grid-row: 2 / span 2; }
body.homepage .home-guides-editorial > .guide-intro > p:not(.eyebrow) {
  grid-column: 2;
  grid-row: 2;
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  max-width: var(--measure-narrow);
  margin: 0;
}
body.homepage .home-guides-editorial > .guide-intro > .textlink {
  grid-column: 2;
  grid-row: 3;
  justify-self: start;
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  margin: 0;
}
@media(max-width:700px) {
  body.homepage #services.home-services-visual .sectionhead.service-grid-heading {
    grid-template-columns: minmax(0,1fr);
    gap: var(--space-s);
    margin-bottom: var(--space-m);
  }
  body.homepage #services.home-services-visual .service-grid-intro { justify-self: start; max-width: none; }
  body.homepage #services.home-services-visual .service-grid-heading h2,
  body.homepage #projects > .wrap > .sectionhead h2,
  body.homepage #process > .process-intro > h2,
  body.homepage .home-areas-editorial > .areas > h2,
  body.homepage .home-areas-editorial > .faq > h2,
  body.homepage .home-guides-editorial > .guide-intro > h2 { font-size: var(--step-2); }
  body.homepage #projects > .wrap > .sectionhead { gap: var(--space-s); margin-bottom: var(--space-m); }
  body.homepage #process > .process-intro > p:not(.eyebrow),
  body.homepage .home-areas-editorial > .areas > p:not(.eyebrow) { margin-top: var(--space-s); }
  body.homepage .home-guides-editorial.guides > .guide-intro { display: block; }
  body.homepage .home-guides-editorial > .guide-intro > .eyebrow { margin-bottom: var(--space-xs); }
  body.homepage .home-guides-editorial > .guide-intro > p:not(.eyebrow) { margin-top: var(--space-s); }
  body.homepage .home-guides-editorial > .guide-intro > .textlink { display: inline-block; margin-top: var(--space-xs); }
}

/* A clearer reading order for the service introduction; wording stays intact. */
body.homepage #services.home-services-visual .service-grid-intro {
  max-width: var(--measure-narrow);
  display: grid;
  gap: var(--space-s);
}
body.homepage #services.home-services-visual .service-grid-intro p { margin: 0; }
body.homepage #services.home-services-visual .service-grid-intro > p:first-child {
  font-family: SourceSerif, var(--font-display);
  font-size: var(--step-1);
  line-height: var(--leading-normal);
  color: var(--ink-800);
}
body.homepage #services.home-services-visual .service-planning-note strong {
  display: block;
  color: var(--accent-text);
  font-weight: var(--weight-semibold);
  margin-bottom: var(--space-3xs);
}
body.homepage #services.home-services-visual .service-grid-intro .home-service-context {
  color: var(--ink-600);
}

/* Equal editorial columns, consistent thumbnails, and aligned reading links. */
body.homepage .home-guides-editorial.guides {
  grid-template-columns: repeat(3, minmax(0,1fr));
  align-items: stretch;
  column-gap: var(--space-l);
  row-gap: var(--space-l);
}
body.homepage .home-guides-editorial .guide {
  display: grid;
  grid-template-columns: var(--space-3xl) minmax(0,1fr);
  gap: var(--space-s);
  align-items: start;
  padding: 0;
  border: 0;
}
body.homepage .home-guides-editorial .guide-thumbnail { margin: 0; }
body.homepage .home-guides-editorial .guide-thumbnail img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}
body.homepage .home-guides-editorial .guide-copy {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
}
body.homepage .home-guides-editorial .guide h3 {
  font-size: var(--step-1);
  line-height: var(--leading-snug);
  margin: 0 0 var(--space-xs);
  text-wrap: pretty;
}
body.homepage .home-guides-editorial .guide .home-guide-description {
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  margin: 0 0 var(--space-s);
}
body.homepage .home-guides-editorial .guide a {
  margin-top: auto;
  justify-content: flex-start;
  align-self: flex-start;
  min-height: var(--space-xl);
  padding: var(--space-2xs) 0;
  font-size: var(--step--1);
  font-weight: var(--weight-medium);
  text-decoration: underline;
  text-decoration-color: var(--ink-300);
  text-underline-offset: var(--space-3xs);
}
body.homepage .home-guides-editorial .guide a:is(:hover,:focus-visible) {
  text-decoration-color: var(--accent-500);
  color: var(--accent-text);
}
@media(max-width:1050px) {
  body.homepage .home-guides-editorial.guides { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body.homepage .home-guides-editorial.guides { grid-template-columns: minmax(0,1fr); gap: var(--space-l); }
  body.homepage .home-guides-editorial .guide { grid-template-columns: var(--space-3xl) minmax(0,1fr); }
  body.homepage #services.home-services-visual .service-grid-intro { gap: var(--space-xs); }
}


/* Credentials: aligned evidence cards with complete, readable explanations. */
body.homepage #credentials {
  padding-block: var(--section-y-tight);
}
body.homepage #credentials .home-credentials-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: var(--space-m) var(--space-2xl);
  align-items: end;
  margin-bottom: var(--space-l);
}
body.homepage #credentials .home-credentials-intro h2 {
  font-family: SourceSerif,var(--font-display);
  font-weight: var(--weight-normal);
  font-size: var(--step-3);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
  margin: 0;
}
body.homepage #credentials .home-credentials-intro > p {
  margin: 0;
  max-width: var(--measure-narrow);
  font-size: var(--step-0);
  line-height: var(--leading-normal);
  color: var(--ink-600);
}
body.homepage #credentials .home-credentials-grid {
  gap: var(--space-s);
  grid-template-columns: repeat(4,minmax(0,1fr));
}
body.homepage #credentials .home-credentials-grid article {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto auto;
  align-content: start;
  gap: var(--space-s);
  padding: var(--space-m);
  border: 0;
  border-radius: var(--radius-xs);
  background: var(--white);
  color: var(--ink-800);
  min-width: 0;
}
body.homepage #credentials .home-credentials-grid h3 {
  font-family: SourceSerif,var(--font-display);
  font-size: var(--step-2);
  font-weight: var(--weight-normal);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  margin: 0;
  text-wrap: balance;
}
body.homepage #credentials .home-credentials-grid p {
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  color: var(--ink-600);
  margin: 0;
}
body.homepage #credentials .home-credentials-grid .credential-label {
  font-size: var(--step--2);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--accent-text);
}
body.homepage #credentials .home-credentials-grid .credential-detail {
  color: var(--ink-800);
  font-size: var(--step--1);
  font-weight: var(--weight-semibold);
  min-height: calc(2em * var(--leading-normal));
}
body.homepage #credentials .credential-rating { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
body.homepage #credentials .credential-stars { color: var(--accent-text); }
body.homepage #credentials .home-credentials-grid .credential-note {
  grid-row: 5;
  font-size: var(--step--2);
}
body.homepage #credentials .credential-link {
  grid-row: 6;
  align-self: end;
  justify-self: start;
  font-size: var(--step--1);
  line-height: var(--leading-normal);
  font-weight: var(--weight-semibold);
  color: var(--ink-800);
  text-decoration-color: var(--accent-500);
  text-underline-offset: var(--space-3xs);
  padding-block: var(--space-2xs);
}
body.homepage #credentials .credential-link:hover { color: var(--accent-text); }
body.homepage #credentials + .home-areas-editorial { padding-top: var(--space-xl); }
@media(max-width:1050px) {
  body.homepage #credentials .home-credentials-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body.homepage #credentials .home-credentials-intro { grid-template-columns: minmax(0,1fr); gap: var(--space-s); margin-bottom: var(--space-m); }
  body.homepage #credentials .home-credentials-intro h2 { font-size: var(--step-2); }
  body.homepage #credentials .home-credentials-intro > p { font-size: var(--step--1); }
  body.homepage #credentials .home-credentials-grid { gap: var(--space-xs); }
  body.homepage #credentials .home-credentials-grid article { padding: var(--space-s); gap: var(--space-xs); }
  body.homepage #credentials .home-credentials-grid h3 { font-size: var(--step-1); }
  body.homepage #credentials .home-credentials-grid .credential-detail { min-height: 0; }
}
@media(max-width:540px) {
  body.homepage #credentials .home-credentials-grid { grid-template-columns: minmax(0,1fr); }
  body.homepage #credentials .home-credentials-grid article {
    display: block;
    padding: var(--space-m);
  }
  body.homepage #credentials .home-credentials-grid h3 { margin-top: var(--space-xs); }
  body.homepage #credentials .home-credentials-grid .credential-detail { margin-top: var(--space-xs); }
  body.homepage #credentials .home-credentials-grid .credential-detail + p { margin-top: var(--space-s); }
  body.homepage #credentials .home-credentials-grid .credential-note { margin-top: var(--space-xs); }
  body.homepage #credentials .credential-link { display: inline-block; margin-top: var(--space-s); }
}


/* Explicit foregrounds also repair the original dark review section before enhancement. */
.home-review-editorial .home-review-grid blockquote,
.home-review-editorial .home-review-grid figcaption,
.home-review-editorial h3 { color: var(--ink-50, #f6f7f7); }
body section.gdb-review-carousel.gdb-review-carousel {
  width: 100%; max-width: none; margin: 0;
  padding: var(--space-xl, 3rem) var(--gutter, 32px);
  background: var(--ink-800, #1d1f21); color: var(--ink-50, #f6f7f7); color-scheme: dark;
}
.gdb-review-shell { max-width: var(--width-max, 1120px); margin: 0 auto; display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: var(--space-xl,3rem); align-items: center; }
.gdb-review-shell > * { min-width: 0; }
.gdb-review-carousel .gdb-review-heading { display: block; }
.gdb-review-carousel .gdb-review-heading h2 { font: 400 var(--step-3,2rem)/var(--leading-snug,1.2) SourceSerif,Georgia,serif; letter-spacing: var(--tracking-tight,-.02em); color: var(--ink-50,#f6f7f7); margin: 0 0 var(--space-s,1rem); max-width: 22ch; }
.gdb-review-carousel .gdb-review-heading p { font-size: var(--step--1,.875rem); font-weight: 400; line-height: 1.5; color: var(--ink-300,#b6bcc2); margin: var(--space-2xs,.5rem) 0; }
.gdb-review-carousel .gdb-review-heading .eyebrow { color: var(--orange,var(--accent-500,#f78c1e)); font-size: var(--step--1,.875rem); letter-spacing: .08em; margin: 0 0 var(--space-xs,.75rem); }
.gdb-review-carousel .gdb-review-heading .eyebrow i { display: none; }
.gdb-review-carousel .gdb-review-context { font-size: var(--step--1,.875rem); font-weight: 400; line-height: 1.4; color: var(--ink-300,#b6bcc2); margin: var(--space-s,1rem) 0; }
.gdb-review-carousel .grev__rating { text-align: left; align-items: flex-start; }
.gdb-review-carousel .grev__rate { justify-content: flex-start; gap: var(--space-xs,.75rem); }
.gdb-review-carousel .gdb-review-heading a { color: var(--ink-50,#f6f7f7); font-size: var(--step--1,.875rem); display: inline-flex; align-items: center; gap: var(--space-2xs,.5rem); min-height: 44px; text-decoration: underline; text-underline-offset: 5px; border: 0; }
.gdb-review-panel { background: color-mix(in srgb,var(--ink-700,#3c434a) 45%,var(--ink-800,#1d1f21)); border: 1px solid color-mix(in srgb,var(--ink-300,#b6bcc2) 22%,transparent); border-radius: var(--radius-xs,6px); padding: var(--space-l,2rem); min-width: 0; touch-action: pan-y; }
.gdb-review-carousel .gdb-review-card { margin: 0; padding: 0; border: 0; background: transparent; color: var(--ink-50,#f6f7f7); }
.gdb-review-carousel .gdb-review-card[hidden] { display: none !important; }
.gdb-review-carousel .gdb-review-quote { font: 400 var(--step-1,1.25rem)/1.5 SourceSerif,Georgia,serif; letter-spacing: -.01em; color: var(--ink-50,#f6f7f7); padding: 0; margin: 0; border: 0; max-width: none; }
.gdb-review-carousel .gdb-review-quote::before,.gdb-review-carousel .gdb-review-quote::after { content: none; }
.gdb-review-card:not(.is-expanded) .gdb-review-quote { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.gdb-review-carousel .gdb-review-expand { display: inline-block; padding: 0; min-height: 44px; margin: var(--space-3xs,.25rem) 0 0; border: 0; background: transparent; color: var(--ink-50,#f6f7f7); font: inherit; font-size: var(--step--1,.875rem); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.gdb-review-carousel .gdb-review-expand[hidden] { display: none; }
.gdb-review-carousel .gdb-review-by { margin-top: var(--space-s,1rem); color: var(--ink-300,#b6bcc2); font-size: var(--step--1,.875rem); line-height: 1.5; }
.gdb-review-carousel .gdb-review-by * { margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; }
.gdb-review-carousel .gdb-review-by b,.gdb-review-carousel .gdb-review-by .grev__name { color: var(--ink-50,#f6f7f7); font-weight: 600; }
.gdb-review-carousel .gdb-review-by span,.gdb-review-carousel .gdb-review-by b { display: block; }
.gdb-review-controls { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s,1rem); margin-top: var(--space-m,1.5rem); }
.gdb-review-status { color: var(--ink-300,#b6bcc2); font-size: var(--step--1,.875rem); font-variant-numeric: tabular-nums; }
.gdb-review-buttons { display: flex; gap: var(--space-2xs,.5rem); }
.gdb-review-carousel .gdb-review-nav { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ink-300,#b6bcc2); border-radius: 50%; background: transparent; color: var(--ink-50,#f6f7f7); font-size: var(--step-1,1.25rem); font-weight: 400; line-height: 1; cursor: pointer; transition: color .18s, border-color .18s; }
.gdb-review-carousel .gdb-review-nav:hover,.gdb-review-carousel .gdb-review-expand:hover { color: var(--orange,var(--accent-500,#f78c1e)); border-color: currentColor; }
.gdb-review-carousel button:focus-visible,.gdb-review-carousel a:focus-visible { outline: 2px solid var(--orange,var(--accent-500,#f78c1e)); outline-offset: 4px; }
@media(max-width:700px) {
  body section.gdb-review-carousel.gdb-review-carousel { padding: var(--space-l,2rem) var(--space-s,1rem); }
  .gdb-review-shell { display: block; }
  .gdb-review-heading { margin-bottom: var(--space-m,1.5rem); }
  .gdb-review-carousel .gdb-review-heading h2 { font-size: var(--step-2,1.6rem); max-width: none; margin-bottom: var(--space-xs,.75rem); }
  .gdb-review-panel { padding: var(--space-m,1.5rem); }
  .gdb-review-carousel .gdb-review-quote { font-size: var(--step-0,1rem); }
}
@media(prefers-reduced-motion:reduce) { .gdb-review-carousel button { transition: none; } }
@media print {
  body section.gdb-review-carousel,.gdb-review-carousel .gdb-review-panel { background: white; color: black; }
  .gdb-review-carousel .gdb-review-card[hidden] { display: block !important; }
  .gdb-review-carousel .gdb-review-card { margin-bottom: 1rem; }
  .gdb-review-carousel .gdb-review-quote { display: block !important; overflow: visible !important; color: black; }
  .gdb-review-controls,.gdb-review-expand { display: none !important; }
}
