/* Resources + Client Results content hubs.
   Owns hub browsing surfaces only. Article reading layouts live in
   resource-article.css. */

.resources-hub,
.case-studies-hub{
  background:
    radial-gradient(circle at 84% 8%,rgba(201,170,102,.055),transparent 28%),
    linear-gradient(180deg,var(--color-navy-950),var(--color-navy-900) 44%,#0b1628);
}
.hub-shell{
  width:min(calc(100% - 48px),var(--layout-max,1320px));
  margin-inline:auto;
}
.hub-kicker,
.resource-feature__meta,
.resource-start__label,
.case-record__tag,
.case-fact dt{
  font-family:var(--font-label);
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}

/* Editorial hub hero */
.hub-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--border-subtle);
  background:
    radial-gradient(circle at 84% 22%,rgba(201,170,102,.10),transparent 30%),
    linear-gradient(145deg,var(--color-navy-950),#111d33);
}
.hub-hero::after{
  content:"";
  position:absolute;
  right:-180px;
  top:-210px;
  width:540px;
  height:540px;
  border:1px solid rgba(242,238,230,.075);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(242,238,230,.015),0 0 0 100px rgba(242,238,230,.01);
}
.hub-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
  gap:clamp(44px,7vw,96px);
  align-items:end;
  min-height:clamp(500px,55svh,620px);
  padding:clamp(96px,10vw,136px) 0 clamp(64px,7vw,88px);
}
.hub-hero__copy{max-width:820px}
.hub-kicker{
  margin:0 0 18px;
  color:var(--color-gold-light);
  font-size:var(--type-label,.75rem);
}
.hub-hero h1{
  max-width:900px;
  margin:0;
  color:var(--color-text-primary);
  font-family:var(--font-heading);
  font-size:clamp(3.8rem,6vw,6rem);
  font-weight:600;
  letter-spacing:-.018em;
  line-height:1.01;
}
.hub-hero__copy>p:not(.hub-kicker){
  max-width:720px;
  margin:24px 0 0;
  color:#c4cdd8;
  font-size:var(--type-lead);
  line-height:1.65;
}
.hub-hero__copy a{color:var(--color-gold-light);text-underline-offset:4px}
.hub-hero__note{
  align-self:end;
  padding:24px;
  border:1px solid var(--border-medium);
  border-radius:var(--radius-card);
  background:rgba(255,255,255,.035);
  color:#aeb8c7;
  font-size:.8125rem;
  line-height:1.65;
  backdrop-filter:blur(14px);
}
.hub-hero__note strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-family:var(--font-label);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.hub-section{padding:var(--section-standard) 0}
.hub-section--tight{padding-top:0}
.hub-section-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:clamp(36px,6vw,80px);
  align-items:end;
  margin-bottom:36px;
}
.hub-section-head h2{
  max-width:820px;
  margin:0;
  color:#fff;
  font-family:var(--font-heading);
  font-size:clamp(2.4rem,3.95vw,4.05rem);
  font-weight:600;
  letter-spacing:-.018em;
  line-height:1.03;
}
.hub-section-head>p{
  max-width:520px;
  margin:0;
  color:#9faab8;
  font-size:.875rem;
  line-height:1.7;
}

/* Resources featured reading */
.resource-featured{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  gap:18px;
  margin-bottom:42px;
}
.resource-featured-side{display:grid;gap:18px}
.resource-feature{
  position:relative;
  display:flex;
  min-height:260px;
  overflow:hidden;
  border:1px solid var(--border-medium);
  border-radius:var(--radius-panel);
  background:
    radial-gradient(circle at 88% 18%,rgba(201,170,102,.14),transparent 28%),
    linear-gradient(145deg,#17243d,#101c31);
  color:#fff;
  text-decoration:none;
  box-shadow:0 20px 54px rgba(2,8,20,.16);
  transition:transform var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease);
}
.resource-feature--lead{min-height:538px}
.resource-feature::before{
  content:"";
  position:absolute;
  right:-82px;
  bottom:-92px;
  width:260px;
  aspect-ratio:1;
  border:1px solid rgba(242,238,230,.10);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(242,238,230,.018),0 0 0 72px rgba(242,238,230,.012);
}
.resource-feature:hover{
  transform:translateY(var(--motion-lift));
  border-color:var(--border-gold);
}
.resource-feature__inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:100%;
  padding:clamp(28px,3vw,38px);
}
.resource-feature__meta{
  color:var(--color-gold-light);
  font-size:.6875rem;
}
.resource-feature h2,
.resource-feature h3{
  max-width:650px;
  margin:24px 0 12px;
  font-family:var(--font-heading);
  font-weight:600;
  letter-spacing:-.018em;
  line-height:1.02;
  text-wrap:balance;
}
.resource-feature h2{font-size:clamp(2.45rem,3.8vw,3.95rem)}
.resource-feature h3{font-size:clamp(1.7rem,2.5vw,2.4rem)}
.resource-feature p{
  max-width:590px;
  margin:0;
  color:#bdc7d3;
  font-size:.875rem;
  line-height:1.7;
}
.resource-feature__link{
  margin-top:auto;
  padding-top:28px;
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.resource-start{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 58px;
  padding:16px 0;
  border-block:1px solid var(--border-subtle);
}
.resource-start__label{
  display:flex;
  align-items:center;
  margin-right:8px;
  color:#8f9aaa;
  font-size:.625rem;
}
.resource-start a{
  padding:9px 13px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-pill);
  color:#c7d0db;
  font-size:.75rem;
  text-decoration:none;
  transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease);
}
.resource-start a:hover{
  border-color:var(--border-gold);
  background:rgba(201,170,102,.06);
  color:#fff;
}

/* Resource library */
.resource-results-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin:0 0 18px;
}
.resource-results-head h2{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(2rem,3.1vw,2.9rem);
  font-weight:600;
}
.resource-count{margin:0;color:#8f9aaa;font-size:.75rem}
.resource-toolbar{
  position:sticky;
  z-index:12;
  top:calc(var(--sg-header-height,76px) + 10px);
  margin:0 0 28px;
  padding:14px;
  border:1px solid var(--border-medium);
  border-radius:var(--radius-card);
  background:rgba(9,20,38,.9);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.resource-search{
  position:relative;
  display:flex;
  align-items:center;
  margin-bottom:12px;
}
.resource-search svg{
  position:absolute;
  left:14px;
  color:#8f9aaa;
  pointer-events:none;
}
.resource-search input{
  width:100%;
  min-height:48px;
  padding:12px 44px 12px 42px;
  border:1px solid var(--border-medium);
  border-radius:var(--radius-control);
  background:rgba(255,255,255,.035);
  color:#fff;
  font:inherit;
}
.resource-search input::placeholder{color:#7f8a99}
.resource-search input:focus{
  outline:0;
  border-color:var(--border-gold);
  box-shadow:0 0 0 3px rgba(201,170,102,.08);
}
.resource-search__clear{
  position:absolute;
  right:8px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#9ca7b5;
  cursor:pointer;
}
.resource-search__clear:hover{background:rgba(255,255,255,.06);color:#fff}
.resources-hub .res-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0;
}
.resources-hub .res-filters{display:flex;flex-wrap:wrap;gap:7px}
.resources-hub .res-chip{
  min-height:38px;
  padding:0 13px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-pill);
  background:transparent;
  color:#9da8b6;
  font-family:var(--font-label);
  font-size:.6875rem;
  cursor:pointer;
}
.resources-hub .res-chip:hover{color:#fff;border-color:var(--border-gold)}
.resources-hub .res-chip.is-active{
  border-color:var(--color-gold);
  background:var(--color-gold);
  color:var(--color-text-on-gold);
}
.resources-hub .res-sort{
  display:flex;
  align-items:center;
  gap:8px;
  color:#8f9aaa;
  font-family:var(--font-label);
  font-size:.625rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.resources-hub .res-sort select{
  min-height:38px;
  padding:0 32px 0 11px;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-control);
  background:#111d33;
  color:#fff;
}
.resources-hub .resource-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.resources-hub .resource-card{
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.085);
  border-radius:var(--radius-card);
  background:rgba(255,255,255,.025);
  box-shadow:none;
  transition:transform var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),background var(--motion-base) var(--ease);
}
.resources-hub .resource-card:hover,
.resources-hub .resource-card:focus-within{
  transform:translateY(var(--motion-lift));
  border-color:var(--border-gold);
  background:rgba(255,255,255,.04);
  box-shadow:none;
}
.resources-hub .resource-card-link{
  display:grid;
  grid-template-columns:minmax(105px,.28fr) minmax(0,1fr) minmax(120px,.25fr);
  gap:20px;
  align-items:center;
  min-height:136px;
  padding:24px 26px;
  color:inherit;
  text-decoration:none;
}
.resources-hub .resource-card .mini-label{
  margin:0;
  color:var(--color-gold-light);
  font-size:.625rem;
}
.resources-hub .resource-card h3{
  margin:0;
  font-size:clamp(1.25rem,1.8vw,1.6rem);
  line-height:1.12;
}
.resources-hub .resource-card p{
  margin:8px 0 0;
  color:#9da8b6;
  font-size:.8125rem;
  line-height:1.55;
}
.resources-hub .resource-card-link>h3,
.resources-hub .resource-card-link>p{grid-column:2}
.resources-hub .resource-card-link>.mini-label{grid-column:1;grid-row:1/3;align-self:start}
.resources-hub .resource-arrow{
  grid-column:3;
  grid-row:1/3;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0;
  padding:0;
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.625rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.resources-hub .resource-arrow span:last-child{font-size:1rem}
.res-empty{
  margin:30px 0 0;
  padding:32px;
  border:1px dashed var(--border-medium);
  border-radius:var(--radius-card);
  color:#9da8b6;
  text-align:center;
}

/* Client Results */
.case-study-proofline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin:0 0 58px;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-card);
  background:var(--border-subtle);
}
.case-study-proofline>div{
  padding:24px;
  background:#111d33;
}
.case-study-proofline strong{
  display:block;
  color:#fff;
  font-family:var(--font-stat);
  font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:600;
}
.case-study-proofline span{
  display:block;
  margin-top:6px;
  color:#8f9aaa;
  font-size:.75rem;
  line-height:1.45;
}
.case-studies-hub .case-hero .case-study-proofline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px clamp(18px,2.2vw,30px);
  width:100%;
  max-width:690px;
  margin:22px 0 0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.case-studies-hub .case-hero .case-study-proofline>div{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  padding:0;
  background:transparent;
  backdrop-filter:none;
  color:#9da8b6;
  font-family:var(--font-body);
  font-size:clamp(.78rem,.9vw,.9rem);
  line-height:1.5;
  white-space:nowrap;
}
.case-studies-hub .case-hero .case-study-proofline>div::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  margin-right:8px;
  border-radius:50%;
  background:var(--color-gold-light);
  transform:translateY(-1px);
}
.case-studies-hub .case-hero .case-study-proofline strong{
  display:inline;
  color:#d9e0e9;
  font-family:inherit;
  font-size:inherit;
  font-weight:600;
  line-height:inherit;
}
.case-studies-hub .case-hero .case-study-proofline span{
  display:inline;
  margin:0;
  color:#9da8b6;
  font-size:inherit;
  line-height:inherit;
}
.case-showcase{
  display:flex;
  gap:14px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:1px;
  scrollbar-width:none;
  margin-bottom:var(--section-standard);
  padding:2px 2px 12px;
  touch-action:pan-x;
}
.case-showcase::-webkit-scrollbar{display:none}
.case-poster{
  position:relative;
  flex:0 0 clamp(225px,23vw,300px);
  aspect-ratio:4/5;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
  overflow:hidden;
  border:1px solid var(--border-medium);
  border-radius:var(--radius-card);
  background:#111d33;
  box-shadow:0 20px 52px rgba(2,8,20,.14);
  transition:transform var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease);
}
.case-poster::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(7,17,31,.48));
  pointer-events:none;
}
.case-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--motion-slow) var(--ease);
}
.case-poster__link{
  position:absolute;
  z-index:1;
  left:15px;
  bottom:15px;
  display:inline-flex;
  min-height:40px;
  align-items:center;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:var(--radius-pill);
  background:rgba(9,20,38,.76);
  backdrop-filter:blur(9px);
  color:#fff;
  font-family:var(--font-label);
  font-size:.625rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.case-poster:hover{transform:translateY(var(--motion-lift));border-color:var(--border-gold)}
.case-poster:hover img{transform:scale(1.012)}
.case-index-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
  gap:clamp(30px,5vw,70px);
  align-items:end;
  margin-bottom:22px;
}
.case-index-head h2{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(2.3rem,3.55vw,3.6rem);
  font-weight:600;
  line-height:1.02;
}
.case-index-head p{margin:0;color:#9da8b6;font-size:.875rem;line-height:1.7}
.case-index-head p.case-index-head__privacy{
  margin-top:12px;
  color:#7f8b9b;
  font-size:.72rem;
  line-height:1.55;
}
.case-index{border-top:1px solid var(--border-medium)}
.case-record{
  border:0;
  border-bottom:1px solid var(--border-medium);
  background:transparent;
}
.case-record--link{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) minmax(150px,230px) 120px;
  gap:24px;
  align-items:center;
  min-height:108px;
  padding:18px 0;
  color:inherit;
  text-decoration:none;
  transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease);
}
.case-record--link:hover,
.case-record--link:focus-visible{
  border-color:rgba(201,170,102,.34);
  background:linear-gradient(90deg,rgba(201,170,102,.035),transparent 68%);
}
.case-record--link:focus-visible{
  outline:2px solid var(--color-gold-light);
  outline-offset:4px;
}
.case-record__tag{
  color:var(--color-gold-light);
  font-size:.625rem;
}
.case-record h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(1.45rem,2vw,1.85rem);
  font-weight:600;
  line-height:1.12;
}
.case-record__result{
  justify-self:end;
  color:#fff;
  font-family:var(--font-stat);
  font-size:1.2rem;
  font-weight:600;
  text-align:right;
}
.case-record__read{
  justify-self:end;
  color:#9da8b6;
  font-family:var(--font-label);
  font-size:.625rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.case-record--link:hover .case-record__read,
.case-record--link:focus-visible .case-record__read{color:var(--color-gold-light)}

@media(max-width:1000px){
  .case-record--link{grid-template-columns:120px minmax(0,1fr) 180px}
  .case-record__read{grid-column:2;justify-self:start;margin-top:-7px}
}
@media(max-width:760px){
  .case-record--link{
    grid-template-columns:1fr auto;
    gap:7px 14px;
    min-height:0;
    padding:20px 0;
  }
  .case-record__tag,
  .case-record h3,
  .case-record__result,
  .case-record__read{grid-column:1}
  .case-record__result{
    justify-self:start;
    margin-top:5px;
    color:#b9c3d0;
    font-size:1rem;
    text-align:left;
  }
  .case-record__read{justify-self:start;margin-top:6px}
  .case-record--link::after{
    content:"→";
    grid-column:2;
    grid-row:1/5;
    align-self:center;
    color:var(--color-gold-light);
    font-size:1.1rem;
  }
}

/* Client Results: bespoke testimonial-led hero */
.case-studies-hub .case-hero{
  background:
    radial-gradient(circle at 77% 18%,rgba(201,170,102,.10),transparent 27%),
    radial-gradient(circle at 102% 22%,rgba(255,255,255,.035),transparent 31%),
    linear-gradient(135deg,#091426 0%,#101d33 58%,#13203a 100%);
}
.case-studies-hub .case-hero::after{
  right:-250px;
  top:-260px;
  width:620px;
  height:620px;
  opacity:.72;
}
.case-studies-hub .case-hero .hub-hero__inner{
  grid-template-columns:minmax(0,.93fr) minmax(430px,.82fr);
  gap:clamp(50px,6.5vw,96px);
  align-items:center;
  min-height:clamp(650px,72svh,790px);
  padding:clamp(108px,10vw,142px) 0 clamp(74px,7vw,96px);
}
.case-studies-hub .case-hero .hub-hero__copy{max-width:720px}
.case-studies-hub .case-hero h1{
  max-width:720px;
  font-size:clamp(3.65rem,5.25vw,5.5rem);
}
.case-studies-hub .case-hero .hub-hero__copy>p:not(.hub-kicker){
  max-width:630px;
  color:#c7d0db;
}
.case-studies-hub .case-hero .hub-hero__copy>p.case-hero__note{
  margin-top:14px;
  color:#9aa6b6;
  font-size:.9rem;
  line-height:1.55;
}

.case-testimonials{
  /* Swap the scene by changing this one variable. */
  --testimonials-bg:url('/assets/case-studies/testimonials-bg.webp');
  position:relative;
  min-width:0;
  z-index:2;
  width:min(100%,570px);
  justify-self:end;
}
.case-testimonials__frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(201,170,102,.22);
  border-radius:clamp(22px,2.4vw,30px);
  /* Navy wash keeps the quote legible; the terrace scene shows through below it. */
  background:
    linear-gradient(180deg,rgba(9,20,38,.94) 0%,rgba(9,20,38,.86) 42%,rgba(9,20,38,.55) 72%,rgba(9,20,38,.72) 100%),
    linear-gradient(90deg,rgba(9,20,38,.55) 0%,transparent 60%),
    var(--testimonials-bg) 72% 100%/cover no-repeat,
    var(--color-navy-950);
  box-shadow:0 34px 90px rgba(2,8,20,.28);
}
.case-testimonials__viewport{
  position:relative;
  z-index:1;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  touch-action:pan-x;
}
.case-testimonials__viewport::-webkit-scrollbar{display:none}
.case-testimonials__viewport:focus-visible{
  outline:2px solid var(--color-gold-light);
  outline-offset:4px;
}
.case-testimonials__track{display:flex}
.case-testimonial{
  flex:0 0 100%;
  min-width:0;
  min-height:410px;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  padding:clamp(32px,3.3vw,46px);
}
.case-testimonial__quote{
  display:block;
  height:40px;
  color:var(--color-gold-light);
  font-family:var(--font-heading);
  font-size:4.5rem;
  font-weight:400;
  line-height:.7;
}
.case-testimonial blockquote{
  margin:24px 0 0;
  padding:0;
}
.case-testimonial blockquote p{
  margin:0;
  color:#fff;
  font-family:var(--font-heading);
  font-size:clamp(1.45rem,1.8vw,1.92rem);
  font-weight:500;
  line-height:1.37;
  letter-spacing:-.014em;
  text-wrap:pretty;
}
.case-testimonial__by{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:68px;
  margin-top:auto;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.09);
}
.case-testimonial cite{
  color:#f5f6f8;
  font-family:var(--font-label);
  font-size:.76rem;
  font-style:normal;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.4;
}
/* Client mark: one round badge for every testimonial. Logos are supplied as
   160x160 square crops (assets/client-logos); clients without a usable logo
   get --monogram with their initials. */
.case-testimonial__logo{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  flex:0 0 56px;
  overflow:hidden;
  border:1px solid rgba(201,170,102,.45);
  border-radius:50%;
  background:var(--color-navy-950);
  box-shadow:0 0 0 3px rgba(9,20,38,.55);
}
.case-testimonial__logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.case-testimonial__logo--monogram{
  color:var(--color-gold-light);
  font-family:var(--font-heading);
  font-size:1.05rem;
  font-weight:500;
  letter-spacing:.02em;
  line-height:1;
  background:linear-gradient(145deg,#1a2a46,#0b1628);
}

.case-testimonials__controls{
  display:grid;
  grid-template-columns:auto minmax(70px,1fr) auto;
  gap:16px;
  align-items:center;
  margin-top:18px;
}
.case-testimonials__count{
  display:flex;
  align-items:baseline;
  gap:5px;
  color:#7f8b9b;
  font-family:var(--font-label);
  font-size:.66rem;
  letter-spacing:.08em;
}
.case-testimonials__count strong{
  color:#fff;
  font-size:.82rem;
  font-weight:600;
}
.case-testimonials__progress{
  position:relative;
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
}
.case-testimonials__progress span{
  display:block;
  width:11.111%;
  height:100%;
  background:var(--color-gold-light);
  transform-origin:left center;
  transition:transform var(--motion-base) var(--ease);
}
.case-testimonials__buttons{display:flex;gap:8px}
.case-testimonials__buttons button{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#fff;
  font-size:1rem;
  cursor:pointer;
  transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease);
}
.case-testimonials__buttons button:hover{
  border-color:var(--border-gold);
  background:rgba(201,170,102,.08);
  transform:translateY(-1px);
}
.case-testimonials__buttons button:focus-visible{
  outline:2px solid var(--color-gold-light);
  outline-offset:3px;
}

.case-context-note{
  max-width:900px;
  margin:-34px 0 46px;
  color:#7f8b9b;
  font-size:.72rem;
  line-height:1.65;
}
.case-context-note strong{
  color:#aeb8c7;
  font-weight:600;
}

@media(max-width:1100px){
  .case-studies-hub .case-hero .hub-hero__inner{
    grid-template-columns:minmax(0,.88fr) minmax(390px,.72fr);
    gap:42px;
  }
  .case-studies-hub .case-hero h1{font-size:clamp(3.25rem,5.6vw,4.7rem)}
  .case-testimonial{min-height:390px;padding:32px}
  .case-testimonial blockquote p{font-size:1.4rem}
}
@media(max-width:860px){
  .case-studies-hub .case-hero .hub-hero__inner{
    grid-template-columns:minmax(0,1fr);
    gap:42px;
    min-height:0;
    padding:112px 0 64px;
  }
  .case-testimonials{
    width:100%;
    max-width:680px;
    justify-self:start;
  }
  .case-studies-hub .case-hero .case-study-proofline{margin-top:4px}

  .case-testimonial{min-height:350px}
}
@media(max-width:760px){
  .case-studies-hub .case-hero .hub-hero__inner{
    padding:52px 0 48px;
    gap:32px;
  }
  .case-studies-hub .case-hero h1{font-size:clamp(2.7rem,12vw,3.5rem)}
  .case-testimonials__frame{border-radius:20px}
  .case-testimonial{
    min-height:340px;
    padding:26px 22px;
  }
  .case-testimonial__quote{height:32px;font-size:3.7rem}
  .case-testimonial blockquote{margin-top:18px}
  .case-testimonial blockquote p{font-size:1.22rem;line-height:1.42}
  .case-testimonial__by{padding-top:22px}
  .case-testimonials__controls{gap:12px}
  .case-testimonials__buttons button{width:40px;height:40px}
  .case-context-note{margin:-24px 0 36px}
}
@media(hover:none){
  .case-testimonials__buttons button:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .case-testimonials__progress span,
  .case-testimonials__buttons button{transition:none}
}

/* Hub final CTA */
.hub-final{padding:0 0 70px}
.hub-final__card{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  padding:clamp(36px,5vw,58px);
  border:1px solid rgba(201,170,102,.24);
  border-radius:var(--radius-panel);
  background:
    radial-gradient(circle at 85% 18%,rgba(201,170,102,.13),transparent 30%),
    linear-gradient(135deg,#17243e,#0d192d);
}
.hub-final h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(2.3rem,3.9vw,3.85rem);
  font-weight:600;
  line-height:1.03;
}
.hub-final p{
  max-width:660px;
  margin:16px 0 0;
  color:#bbc5d1;
  font-size:.875rem;
  line-height:1.65;
}
.hub-final__actions{display:flex;flex-wrap:wrap;gap:12px}

@supports (content-visibility:auto){
  .hub-section:nth-of-type(n+3),
  .case-index{
    content-visibility:auto;
    contain-intrinsic-size:auto 720px;
  }
}

@media(max-width:1000px){
  .hub-hero__inner{grid-template-columns:1fr}
  .hub-hero__note{max-width:640px}
  .resource-featured{grid-template-columns:1fr}
  .resource-feature--lead{min-height:390px}
  .resource-featured-side{grid-template-columns:1fr 1fr}
  .case-record summary{grid-template-columns:120px minmax(0,1fr) 180px 32px}
  .case-record__body{grid-template-columns:1fr 1fr;padding-left:144px}
}
@media(max-width:760px){
  .hub-shell{width:min(calc(100% - 32px),var(--layout-max,1320px))}
  .hub-hero__inner{
    min-height:0;
    padding:112px 0 58px;
  }
  .hub-hero h1{font-size:clamp(3.2rem,13vw,4.8rem)}
  .hub-section-head{grid-template-columns:1fr;gap:18px}
  .resource-featured-side{grid-template-columns:1fr}
  .resource-feature--lead,
  .resource-feature{min-height:300px}
  .resource-toolbar{position:relative;top:auto;margin-inline:-8px}
  .resources-hub .res-controls{align-items:flex-start;flex-direction:column}
  .resources-hub .res-filters{
    flex-wrap:nowrap;
    max-width:100%;
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .resources-hub .res-filters::-webkit-scrollbar{display:none}
  .resources-hub .res-chip{white-space:nowrap}
  .resources-hub .resource-grid{grid-template-columns:1fr}
  .resources-hub .resource-card-link{
    grid-template-columns:1fr auto;
    grid-template-areas:"meta arrow" "title arrow" "desc arrow";
    gap:8px 14px;
    min-height:0;
    padding:20px 18px 20px 22px;
  }
  .resources-hub .resource-card-link>.mini-label{grid-area:meta}
  .resources-hub .resource-card-link>h3{grid-area:title}
  .resources-hub .resource-card-link>p{grid-area:desc}
  .resources-hub .resource-arrow{grid-area:arrow;align-self:center}
  .resource-results-head{align-items:flex-start;flex-direction:column;gap:7px}
  .case-showcase{
    gap:12px;
    margin-right:-16px;
    padding-right:16px;
  }
  .case-poster{flex-basis:min(76vw,280px)}
  .case-index-head{grid-template-columns:1fr}
  .case-record summary{
    grid-template-columns:1fr 32px;
    gap:7px 14px;
    min-height:0;
    padding:20px 0;
  }
  .case-record__tag,
  .case-record h3,
  .case-record__result{grid-column:1}
  .case-record__result{
    justify-self:start;
    margin-top:5px;
    color:#b9c3d0;
    font-size:1rem;
    text-align:left;
  }
  .case-record__toggle{grid-column:2;grid-row:1/4;align-self:center}
  .case-record__body{grid-template-columns:1fr;padding:0 0 24px}
  .case-study-proofline{grid-template-columns:1fr}
  .case-studies-hub .case-hero .case-study-proofline{
    gap:8px 18px;
    margin-top:18px;
  }
  .case-studies-hub .case-hero .case-study-proofline>div{
    padding:0;
    font-size:.82rem;
  }
  .hub-final__card{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .hub-final__actions{width:100%}
  .hub-final__actions .button{flex:1 1 100%}
}
@media(hover:none){
  .resource-feature:hover,
  .case-poster:hover{transform:none}
  .case-poster:hover img{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .resource-feature,
  .case-poster,
  .case-poster img,
  .case-record__toggle::after{transition:none}
}

/* Keep the client-studies closing CTA compact and its controls aligned. */
body.v2.case-studies-hub .hub-final__card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:32px;padding:32px}
body.v2.case-studies-hub .hub-final h2{max-width:25ch;font-size:clamp(1.8rem,2.5vw,2.5rem);line-height:1.12}
body.v2.case-studies-hub .hub-final p{margin-top:14px}
body.v2.case-studies-hub .hub-final__actions{display:flex;flex-wrap:nowrap;gap:14px;align-items:flex-start}
body.v2.case-studies-hub .hub-final__actions>.sg-cta-wrap,body.v2.case-studies-hub .hub-final__actions>.button{flex:1 1 0;min-width:0}
body.v2.case-studies-hub .hub-final__actions .button{width:100%;min-width:0;min-height:48px;box-sizing:border-box;white-space:normal;text-align:center}
@media(max-width:1100px){body.v2.case-studies-hub .hub-final__card{grid-template-columns:1fr;gap:24px}body.v2.case-studies-hub .hub-final__actions{max-width:560px;width:100%}}
@media(max-width:760px){body.v2.case-studies-hub .hub-final__card{padding:24px 20px;gap:20px}body.v2.case-studies-hub .hub-final__actions{display:grid;grid-template-columns:1fr;gap:12px}}
