/* Reviews: a source-led platinum record, intentionally independent from the
   site's editorial page treatment. The real Digby Kerr lockup is used as the
   hero and footer mark; CSS supplies only the physical surfaces around it. */

.reviews-command {
  --reviews-black: #020203;
  --reviews-black-soft: #0a0a0c;
  --reviews-steel: #8d9299;
  --reviews-light: #f3f5f6;
  --reviews-line: rgba(235, 239, 242, .2);
  --reviews-chrome: linear-gradient(106deg, #70757d 0%, #f7f8f8 11%, #8f949b 21%, #fcfcfa 37%, #595e65 52%, #e9ebec 67%, #70757d 81%, #fdfdfb 100%);
  background:
    radial-gradient(ellipse at 18% 8%, rgba(255,255,255,.06), transparent 30rem),
    radial-gradient(ellipse at 86% 28%, rgba(255,255,255,.035), transparent 34rem),
    var(--reviews-black);
}

.reviews-command .cr-header {
  border-bottom-color: rgba(255,255,255,.09);
  background: linear-gradient(100deg, rgba(0,0,0,.83), rgba(7,7,8,.7));
  box-shadow: inset 0 -1px rgba(0,0,0,.72), inset 0 1px rgba(255,255,255,.06);
  backdrop-filter: blur(18px) saturate(115%);
}

.reviews-command .cr-header.is-scrolled,
.reviews-command .cr-header:focus-within {
  border-bottom-color: rgba(255,255,255,.2);
  background: linear-gradient(100deg, rgba(0,0,0,.94), rgba(12,12,13,.91));
}

.reviews-command .cr-nav__link,
.reviews-command .cr-nav__trigger { color:#c9cdd1; }
.reviews-command .cr-nav__link:hover,
.reviews-command .cr-nav__link:focus-visible,
.reviews-command .cr-nav__trigger:hover,
.reviews-command .cr-nav__trigger:focus-visible,
.reviews-command .cr-nav__trigger[aria-expanded='true'] { color:#fff; }

.reviews-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(7.9rem, 13vw, 11.5rem) 0 clamp(3.5rem, 6vw, 6rem);
  border-bottom:1px solid rgba(255,255,255,.15);
  background:
    linear-gradient(110deg, rgba(0,0,0,.96), rgba(11,11,12,.84) 48%, rgba(0,0,0,.96)),
    var(--reviews-black);
}

.reviews-hero::before {
  position:absolute;
  z-index:-1;
  top:-16rem;
  right:-10rem;
  width:44rem;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 1.2rem rgba(255,255,255,.022), 0 0 0 3.8rem rgba(255,255,255,.011);
  content:'';
}

.reviews-hero::after {
  position:absolute;
  z-index:-1;
  right:7vw;
  bottom:-1px;
  left:7vw;
  height:1px;
  background:var(--reviews-chrome);
  opacity:.78;
  content:'';
}

.reviews-hero__inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  grid-template-areas:
    'lockup copy'
    'lockup record';
  gap:clamp(2rem, 5vw, 5.5rem);
  align-items:center;
}

.reviews-hero__lockup {
  position:relative;
  grid-area:lockup;
  min-height:clamp(22rem, 33vw, 31rem);
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.23);
  background:
    linear-gradient(135deg, rgba(255,255,255,.13), transparent 13%, transparent 74%, rgba(255,255,255,.055)),
    #010101;
  box-shadow:
    inset 0 1px rgba(255,255,255,.62),
    inset 0 -1px rgba(0,0,0,.94),
    inset 1px 0 rgba(255,255,255,.1),
    0 1.7rem 4rem rgba(0,0,0,.54),
    0 .16rem 0 rgba(137,141,148,.44);
}

.reviews-hero__lockup::before,
.reviews-hero__lockup::after {
  position:absolute;
  z-index:2;
  right:clamp(1.1rem, 2vw, 1.8rem);
  left:clamp(1.1rem, 2vw, 1.8rem);
  height:1px;
  background:var(--reviews-chrome);
  box-shadow:0 1px rgba(0,0,0,.9);
  content:'';
}

.reviews-hero__lockup::before { top:clamp(1.1rem, 2vw, 1.8rem); }
.reviews-hero__lockup::after { bottom:clamp(1.1rem, 2vw, 1.8rem); opacity:.5; }

.reviews-hero__lockup img {
  position:absolute;
  top:clamp(.65rem, 1.2vw, 1.5rem);
  left:-4%;
  width:108%;
  max-width:none;
  height:auto;
  filter:contrast(1.08) brightness(1.05);
}

.reviews-hero__copy { grid-area:copy; align-self:end; }

.reviews-kicker,
.reviews-source__index {
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0;
  color:#c7cbd0;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.19em;
  line-height:1.4;
  text-transform:uppercase;
}

.reviews-kicker::before,
.reviews-source__index::before {
  width:2rem;
  height:1px;
  background:var(--reviews-chrome);
  content:'';
}

.reviews-hero h1,
.reviews-source h2,
.reviews-integrity h2 {
  margin:0;
  color:transparent;
  font-family:var(--cr-display);
  font-weight:500;
  letter-spacing:-.075em;
  line-height:.88;
  text-wrap:balance;
  background:var(--cr-platinum-heading);
  background-size:var(--cr-platinum-heading-size);
  background-position:var(--cr-platinum-heading-position);
  background-repeat:no-repeat;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:var(--cr-platinum-stroke);
  text-shadow:var(--cr-platinum-depth);
  filter:var(--cr-platinum-glow);
  animation:none;
}

.reviews-hero h1 {
  max-width:8.6ch;
  margin-top:1.05rem;
  font-size:clamp(3.6rem, 6.5vw, 7.5rem);
}

.reviews-hero h1 span { display:block; letter-spacing:-.083em; }

.reviews-hero__lede {
  max-width:39rem;
  margin:1.55rem 0 0;
  color:#c8cbcf;
  font-size:clamp(1rem, 1.45vw, 1.17rem);
  line-height:1.75;
}

.reviews-actions {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.8rem;
  margin-top:2rem;
}

.reviews-action {
  position:relative;
  display:flex;
  min-height:4.25rem;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  overflow:hidden;
  padding:.86rem 1rem .86rem 1.15rem;
  border:1px solid rgba(255,255,255,.34);
  color:#ebedef;
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), transparent 24%),
    radial-gradient(circle at 34% 18%, #52565d, #161719 39%, #030304 77%);
  box-shadow:
    inset 0 1px rgba(255,255,255,.62),
    inset 0 -.18rem .32rem rgba(0,0,0,.86),
    0 .17rem 0 #656971,
    0 .75rem 1.45rem rgba(0,0,0,.42);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.025em;
  line-height:1.35;
  transition:transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.reviews-action::before {
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:42%;
  background:linear-gradient(180deg, rgba(255,255,255,.3), transparent);
  content:'';
  pointer-events:none;
}

.reviews-action span,
.reviews-action b { position:relative; z-index:1; }
.reviews-action b { font-size:1.08rem; font-weight:500; }

.reviews-action--primary {
  border-color:rgba(255,255,255,.72);
  color:#fff;
  background:
    linear-gradient(145deg, rgba(255,255,255,.22), transparent 25%),
    radial-gradient(circle at 34% 18%, #787d85, #24262a 43%, #050506 80%);
}

/* Google remains visibly Google inside the Digby Kerr review surface. The
   familiar wordmark colours identify the independent review destination while
   the surrounding card keeps the site’s black-and-platinum material. */
.reviews-action--google {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  justify-content:initial;
  gap:.72rem;
}
.reviews-google-brand {
  display:inline-flex;
  align-items:baseline;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  font-size:1.14rem;
  font-weight:600;
  letter-spacing:-.085em;
  line-height:1;
  white-space:nowrap;
}
.reviews-google-brand > span { display:inline-block; }
.reviews-google-brand__blue { color:#4285f4; }
.reviews-google-brand__red { color:#ea4335; }
.reviews-google-brand__yellow { color:#fbbc05; }
.reviews-google-brand__green { color:#34a853; }
.reviews-google-copy { min-width:0; font-size:.69rem; line-height:1.34; }
.reviews-google-copy strong { display:block; color:#fff; font-size:.66rem; letter-spacing:.08em; line-height:1.3; }
.reviews-action--google b { align-self:center; }

.reviews-action:hover,
.reviews-action:focus-visible {
  border-color:#fff;
  color:#fff;
  box-shadow:
    inset 0 1px rgba(255,255,255,.84),
    inset 0 -.18rem .32rem rgba(0,0,0,.9),
    0 .24rem 0 #969aa2,
    0 .95rem 1.75rem rgba(0,0,0,.5),
    0 0 1.5rem rgba(255,255,255,.11);
  transform:translateY(-.16rem);
}

.reviews-record {
  display:grid;
  grid-area:record;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin:clamp(1.2rem, 3vw, 2rem) 0 0;
  border-top:1px solid rgba(255,255,255,.26);
  border-bottom:1px solid rgba(255,255,255,.13);
}

.reviews-record > div {
  min-height:7.25rem;
  padding:1.15rem clamp(.7rem, 1.5vw, 1.4rem);
  border-right:1px solid rgba(255,255,255,.13);
}

.reviews-record > div:last-child { border-right:0; }
.reviews-record dt { color:#f1f2f3; font-size:1.08rem; font-weight:760; letter-spacing:-.035em; }
.reviews-record dd { margin:.4rem 0 0; color:#93989f; font-size:.68rem; font-weight:650; line-height:1.5; letter-spacing:.04em; text-transform:uppercase; }

.reviews-hero__note {
  max-width:81rem;
  margin-top:clamp(2rem, 4vw, 4rem);
  color:#8c929a;
  font-size:.72rem;
  line-height:1.65;
}

.reviews-source {
  position:relative;
  padding:clamp(4.8rem, 10vw, 10.5rem) 0;
  background:linear-gradient(118deg, #050506, #0b0b0d 49%, #040405);
}

.reviews-source--google {
  border-top:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.055), transparent 25rem),
    linear-gradient(118deg, #09090a, #040405 48%, #0a0a0b);
}

.reviews-source__layout {
  display:grid;
  grid-template-columns:minmax(16rem, .68fr) minmax(0, 1.32fr);
  gap:clamp(3rem, 8vw, 10rem);
  align-items:start;
}

.reviews-source__intro {
  position:sticky;
  top:7.25rem;
  padding-bottom:2rem;
}

.reviews-source__index span { color:#f1f2f3; }

.reviews-source h2 {
  max-width:11.5ch;
  margin-top:1.2rem;
  font-size:clamp(2.65rem, 4.15vw, 5.35rem);
}

.reviews-source__intro > p:not(.reviews-source__index) {
  max-width:27rem;
  margin:1.55rem 0 0;
  color:#b7bbc0;
  font-size:.96rem;
  line-height:1.75;
}

.reviews-action--source {
  width:min(100%, 23rem);
  margin-top:2rem;
}

.reviews-quotes {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.16);
  box-shadow:0 1.8rem 4rem rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.15);
}

.reviews-quote {
  position:relative;
  display:flex;
  min-height:clamp(17rem, 25vw, 22rem);
  flex-direction:column;
  justify-content:space-between;
  margin:0;
  padding:clamp(1.7rem, 3vw, 2.7rem) clamp(1.35rem, 2.4vw, 2.4rem) 1.35rem;
  overflow:hidden;
  background:
    linear-gradient(130deg, rgba(255,255,255,.1), transparent 25%, transparent 82%, rgba(255,255,255,.035)),
    radial-gradient(circle at 30% 4%, #282a2e, #101113 46%, #050506 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.24), inset 0 -1px rgba(0,0,0,.9);
}

.reviews-quote::before {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:.2rem;
  background:var(--reviews-chrome);
  box-shadow:1px 0 rgba(0,0,0,.92);
  content:'';
}

.reviews-quote::after {
  position:absolute;
  top:1rem;
  right:1rem;
  width:.42rem;
  height:.42rem;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  background:radial-gradient(circle at 32% 27%, #fff, #777c83 36%, #121315 68%);
  box-shadow:0 .06rem .12rem rgba(0,0,0,.76), inset 0 1px rgba(255,255,255,.5);
  content:'';
}

.reviews-quote p {
  position:relative;
  z-index:1;
  max-width:18ch;
  margin:0;
  color:#f1f2f2;
  font-family:var(--cr-sans);
  font-size:clamp(1.16rem, 1.65vw, 1.5rem);
  font-weight:530;
  letter-spacing:-.035em;
  line-height:1.3;
}

.reviews-quote footer {
  position:relative;
  z-index:1;
  display:grid;
  gap:.18rem;
  margin-top:1.4rem;
}

.reviews-quote footer strong { color:#e9ebed; font-size:.8rem; letter-spacing:.02em; }
.reviews-quote footer span { color:#969ba2; font-size:.72rem; line-height:1.5; }
.reviews-quote small { position:relative; z-index:1; margin-top:1.25rem; color:#737981; font-size:.61rem; font-weight:700; letter-spacing:.09em; line-height:1.45; text-transform:uppercase; }

.reviews-integrity {
  position:relative;
  padding:clamp(4.5rem, 10vw, 9.5rem) 0;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.13);
  background:#020203;
}

.reviews-integrity__inner {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(17rem, .78fr);
  gap:clamp(2rem, 8vw, 10rem);
  align-items:end;
}

.reviews-integrity h2 {
  max-width:12ch;
  grid-column:1;
  margin-top:1.1rem;
  font-size:clamp(3rem, 5.6vw, 7rem);
}

.reviews-integrity__inner > p:last-child {
  max-width:33rem;
  margin:0 0 .5rem;
  color:#b8bcc1;
  font-size:clamp(.96rem, 1.35vw, 1.12rem);
  line-height:1.75;
}

.reviews-command .cr-footer {
  padding-top:4.5rem;
  border-top:1px solid rgba(255,255,255,.17);
  background:
    linear-gradient(110deg, rgba(255,255,255,.025), transparent 24%),
    #050506;
}

.reviews-command .cr-footer__brand { max-width:21rem; }
.reviews-command .cr-footer__brand p { margin-top:1rem; }

@media (max-width: 1080px) {
  .reviews-hero__inner { grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:2.2rem; }
  .reviews-actions { grid-template-columns:1fr; }
  .reviews-source__layout { grid-template-columns:minmax(14rem, .75fr) minmax(0, 1.25fr); gap:3rem; }
  .reviews-source h2 { font-size:clamp(2.5rem, 4.6vw, 4rem); }
}

@media (max-width: 760px) {
  .reviews-hero { padding-top:7.2rem; }
  .reviews-hero__inner { display:block; }
  .reviews-hero__lockup { min-height:18rem; margin-bottom:2.5rem; }
  .reviews-hero__lockup img { top:.3rem; left:-4%; width:108%; }
  .reviews-hero h1 { font-size:clamp(3.55rem, 15vw, 5.4rem); }
  .reviews-actions { margin-top:1.7rem; }
  .reviews-record { margin-top:2rem; }
  .reviews-record > div { min-height:6.5rem; padding:.95rem .65rem; }
  .reviews-record dt { font-size:1rem; }
  .reviews-record dd { font-size:.58rem; }
  .reviews-source__layout { display:block; }
  .reviews-source__intro { position:static; padding-bottom:2.2rem; }
  .reviews-source h2 { max-width:11ch; font-size:clamp(2.85rem, 12vw, 4.2rem); }
  .reviews-quotes { grid-template-columns:1fr; }
  .reviews-quote { min-height:16rem; }
  .reviews-integrity__inner { display:block; }
  .reviews-integrity__inner > p:last-child { margin-top:1.6rem; }
}

@media (max-width: 430px) {
  .reviews-command .cr-header__inner { padding-inline:.8rem; }
  .reviews-hero__lockup { min-height:15.4rem; }
  .reviews-hero__note { font-size:.67rem; }
  .reviews-record { grid-template-columns:1fr; }
  .reviews-record > div { min-height:auto; padding:1rem 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .reviews-record > div:last-child { border-bottom:0; }
}

@media (prefers-reduced-motion: reduce) {
  .reviews-command .reviews-action { transition:none; }
}
