/* ==========================================================================
   Spotlight pages: the few rules that fit the Claude Design templates into
   the live site. Loaded after website.css / media.css (generated). Everything
   is scoped under .gbsp, the page wrapper.
   ========================================================================== */

/* The site header is sticky, in flow and 78px tall (chrome/header.html), so
   the section chip bar sticks just below it instead of at the very top, and
   in-page jumps stop below both bars. */
.gbsp .jumpwrap { top: var(--gb-header-h, 78px); }
.gbsp .jumpwrap.stuck { top: var(--gb-header-h, 78px); }
.gbsp section[id] { scroll-margin-top: calc(var(--gb-header-h, 78px) + 92px); }

/* Overlays and gallery cells toggle with the hidden attribute; their inline
   display values must not override it. */
.gbsp [hidden] { display: none !important; }

/* Empty photo slot (a draft that still needs a photo). Drawn like the design
   tool's empty image slot. Go Live refuses a page that still has one. */
.gbsp .gbsp-slot {
	position: relative; display: block; width: 100%; height: 100%; min-height: 60px;
	background: rgba(127, 127, 127, .08); color: inherit;
	font: 500 13px/1.3 system-ui, -apple-system, sans-serif;
}
.gbsp .gbsp-slot::after { content: ""; position: absolute; inset: 0; border: 1.5px dashed currentColor; opacity: .35; pointer-events: none; }
.gbsp .gbsp-slot-in {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 6px; text-align: center; padding: 12px; opacity: .75;
}
.gbsp .gbsp-slot-in svg { opacity: .6; }
.gbsp .gbsp-slot-cap { max-width: 90%; letter-spacing: .01em; }
/* Photo frames (.shot) are dark navy everywhere: the empty-slot outline + caption go light there. */
.gbsp .shot .gbsp-slot { color: rgba(255, 255, 255, .82); }

/* A photo dropped into a design slot fills it like the slot did: centred
   cover, or contain for logos. The template's own screenshots stay top-anchored. */
.gbsp .shot > img.gbsp-img { object-position: 50% 50%; }
.gbsp img.gbsp-img.gbsp-contain,
.gbsp .shot > img.gbsp-img.gbsp-contain { object-fit: contain; }

/* "Talk To Us" pill hover (the design's style-hover). */
.gbsp .gbsp-lift2:hover { transform: translateY(-2px); }

/* Palette row: 3 across on phones whatever the count. */
@media (max-width: 760px) {
	.gbsp #brand .gbsp-pal { grid-template-columns: repeat(3, 1fr) !important; }
}

/* House rule: no text under 15px on phones. */
@media (max-width: 760px) {
	.gbsp .jchip, .gbsp .kicker, .gbsp .eyb, .gbsp .hero-eyb, .gbsp .cap, .gbsp .sk, .gbsp .sv,
	.gbsp .ba-legend, .gbsp .btn-pink, .gbsp .btn-ghost, .gbsp .gmeta, .gbsp .ba .tag small { font-size: 15px !important; }
	.gbsp [style*="font-size:11px"], .gbsp [style*="font-size:11.5px"], .gbsp [style*="font-size:12px"],
	.gbsp [style*="font-size:12.5px"], .gbsp [style*="font-size:13px"], .gbsp [style*="font-size:13.5px"],
	.gbsp [style*="font-size:14px"], .gbsp [style*="font-size:14.5px"], .gbsp [style*="font-size:10.5px"],
	.gbsp [style*="font:700 11px"], .gbsp [style*="font:700 13px"] { font-size: 15px !important; }
	.gbsp .gbsp-slot { font-size: 15px; }
}

/* FAQ titles a touch bigger (house rule: ~24px desktop / 22px phone). */
.gbsp details > summary { font-size: clamp(20px, 1.9vw, 24px) !important; }
@media (max-width: 760px) { .gbsp details > summary { font-size: 22px !important; } }

/* Simple Gallery (as built on the Lummus Supply page): even 4:3 tiles in rows
   instead of the template's staggered photo wall. */
.gbsp .gal2.gbsp-even { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 16px; columns: auto; }
.gbsp .gal2.gbsp-even .gcell { aspect-ratio: 4 / 3; margin-bottom: 0; }
.gbsp .gal2.gbsp-even .gcell img { height: 100%; object-fit: cover; }
@media (max-width: 560px) {
	.gbsp .gal2.gbsp-even { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
}

/* Accessibility (WCAG 2.2): a focus ring that shows on any background (navy, white, pink), keyboard only.
   Inline all:unset on some buttons would otherwise remove it. */
.gbsp :is(a,button,[role="button"],summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid #0E1E36 !important;outline-offset:2px !important;box-shadow:0 0 0 4px #fff !important;border-radius:4px;}
.gbsp .ba:has(input:focus-visible) .knob{outline:3px solid #fff;box-shadow:0 0 0 6px #0E1E36;}
/* Moving things stop for a keyboard user inside them, as they do on hover. */
.gbsp .mq:focus-within .mq-track,.gbsp .proof:focus-within .marquee-track,.gbsp .shot.autoscroll:focus-within img,.gbsp .shot.autoscroll:focus img{animation-play-state:paused;}
/* "Reduce motion" on: nothing moves by itself. */
@media (prefers-reduced-motion: reduce){
  .gbsp .mq-track,.gbsp .marquee-track,.gbsp .shot.autoscroll img,.gbsp .pulse{animation:none !important;}
}

/* Pause buttons on everything that moves by itself (spotlight.js adds them). */
.gbsp .gbsp-pause{position:absolute;top:12px;right:12px;z-index:6;width:36px;height:36px;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(14,30,54,.78);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background var(--dur,.2s);}
.gbsp .gbsp-pause:hover{background:#0E1E36;}
.gbsp .gbsp-pause.inline{position:static;flex:none;width:32px;height:32px;}
.gbsp .gbsp-paused .mq-track,.gbsp .gbsp-paused .marquee-track,.gbsp .shot.autoscroll.gbsp-paused img{animation-play-state:paused !important;}
.gbsp .pulse{animation-iteration-count:2;} /* the pulsing play button settles after a few seconds */
.gbsp .gbsp-pause.low{top:auto;bottom:18px;}
/* Long approved copy (gbsp_paras): visible links, pink bullets. Sticky row titles only on wide screens. */
.gbsp .gbsp-copy a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.gbsp .gbsp-copy a:hover{color:var(--gb-pink);}
.gbsp ul.gbsp-copy li::marker{color:var(--gb-pink);}
@media(max-width:860px){.gbsp .gbsp-stick{position:static !important;}}
/* Linked post card (gbsp_post_card): a public social post rebuilt as real text, styled like the original. */
.gbsp .gbsp-pcard{background:#fff;color:rgba(0,0,0,.9);border:1px solid #e0dfdc;border-radius:10px;box-shadow:0 30px 60px -30px rgba(0,0,0,.45);font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;text-align:left;overflow:hidden;}
.gbsp .gbsp-pc-head{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 0;}
.gbsp .gbsp-pc-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;}
.gbsp .gbsp-pc-initial{display:flex;align-items:center;justify-content:center;background:#0A66C2;color:#fff;font-weight:600;font-size:20px;}
.gbsp .gbsp-pc-who{flex:1;min-width:0;line-height:1.35;}
.gbsp .gbsp-pc-name{font-size:15px;font-weight:600;color:rgba(0,0,0,.9);}
.gbsp .gbsp-pc-sub{font-size:13px;color:rgba(0,0,0,.6);}
.gbsp .gbsp-pc-logo{width:22px;height:22px;flex:none;}
.gbsp .gbsp-pc-text{padding:12px 16px 0;font-size:15px;line-height:1.5;color:rgba(0,0,0,.9);overflow-wrap:anywhere;}
.gbsp .gbsp-pc-tag{color:#0A66C2;font-weight:600;}
.gbsp .gbsp-pcard.is-long .gbsp-pc-text{max-height:13.5em;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent);}
.gbsp .gbsp-pcard.is-long.open .gbsp-pc-text{max-height:none;-webkit-mask-image:none;mask-image:none;}
.gbsp .gbsp-pc-more{all:unset;cursor:pointer;display:block;margin:4px 16px 0 auto;padding:4px 0;font-size:15px;color:rgba(0,0,0,.6);text-align:right;}
.gbsp .gbsp-pc-more:hover{color:#0A66C2;text-decoration:underline;}
.gbsp .gbsp-pc-more:focus-visible,.gbsp .gbsp-pc-link:focus-visible{outline:2px solid #0A66C2;outline-offset:2px;}
.gbsp .gbsp-pc-link{display:block;margin-top:12px;padding:12px 16px;border-top:1px solid #e8e8e8;font-size:15px;font-weight:600;color:#0A66C2;text-decoration:none;}
.gbsp .gbsp-pc-link:hover{background:#f3f6f8;text-decoration:underline;}
.gbsp .gbsp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------------------------------------------------------------
 * Plain-text sections, given shape (Oct 21). Layout only: the words are the approved copy.
 * --------------------------------------------------------------- */
.gbsp .gbsp-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* "Label: value" lists → fact tiles */
.gbsp .gbsp-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0;padding:0;}
.gbsp .gbsp-facts.c3{grid-template-columns:repeat(3,minmax(0,1fr));}
.gbsp .gbsp-facts.c4{grid-template-columns:repeat(4,minmax(0,1fr));}
.gbsp .gbsp-facts .f{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid var(--gb-line);}
.gbsp .gbsp-facts dt{margin:0;font:700 12px/1.3 var(--font-sans,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--gb-pink-600);}
.gbsp .gbsp-facts dd{margin:0;font-size:17px;line-height:1.4;font-weight:600;color:var(--gb-ink);}

/* "Question? Answer." lists → the question leads */
.gbsp .gbsp-qa{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.gbsp .gbsp-qa li{display:flex;flex-direction:column;gap:6px;padding:20px 0;border-top:1px solid var(--gb-line);}
.gbsp .gbsp-qa li:last-child{border-bottom:1px solid var(--gb-line);}
.gbsp .gbsp-qa .q{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(26px,2.6vw,36px);line-height:1;letter-spacing:.01em;color:var(--gb-ink);}
.gbsp .gbsp-qa .q .k{color:var(--gb-pink);}
.gbsp .gbsp-qa .a{font-size:17px;line-height:1.55;color:var(--gb-ink-2);}

/* The Event: one paragraph, set as the opening line */
.gbsp .gbsp-event-lede{max-width:820px;}

/* Extra story sections: each spot has its own look */
.gbsp .gbsp-story-more{border-top:1px solid var(--gb-line);background:#fff;}
.gbsp .gbsp-story-more .gbsp-copy{color:var(--gb-ink-2);}
.gbsp .gbsp-sm-hl{margin:0 0 20px;}
.gbsp .gbsp-story-after-intro{background:#F3F6FA;border-top:0;}
.gbsp .gbsp-story-after-intro .wrap{max-width:1080px;}
.gbsp .gbsp-story-middle{background:var(--gb-navy-900,#0E1E36);border-top:0;color:#fff;}
.gbsp .gbsp-story-middle .gbsp-sm-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px 64px;align-items:start;}
.gbsp .gbsp-story-middle .gbsp-sm-row.no-hl{grid-template-columns:minmax(0,1fr);max-width:860px;}
.gbsp .gbsp-story-middle .gbsp-sm-row.has-img{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto auto 1fr;} /* headline + text sit together, centred beside the photo */
.gbsp .gbsp-story-middle .gbsp-sm-row.has-img .gbsp-sm-hl{grid-column:1;grid-row:2;}
.gbsp .gbsp-story-middle .gbsp-sm-row.has-img .gbsp-sm-body{grid-column:1;grid-row:3;}
.gbsp .gbsp-story-middle .gbsp-sm-row.has-img .gbsp-sm-img{grid-column:2;grid-row:1 / -1;}
.gbsp .gbsp-story-middle .gbsp-sm-hl{color:#fff;margin:0;}
.gbsp .gbsp-story-middle .gbsp-copy{color:rgba(255,255,255,.82);}
.gbsp .gbsp-story-middle .gbsp-copy a{color:#fff;}
.gbsp .gbsp-story-middle .gbsp-facts .f{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);}
.gbsp .gbsp-story-middle .gbsp-facts dt{color:var(--gb-pink-100,#FFD6EC);}
.gbsp .gbsp-story-middle .gbsp-facts dd,.gbsp .gbsp-story-middle .gbsp-qa .q{color:#fff;}
.gbsp .gbsp-story-middle .gbsp-qa li{border-color:rgba(255,255,255,.18);}
.gbsp .gbsp-story-middle .gbsp-qa .a{color:rgba(255,255,255,.8);}
.gbsp .gbsp-sm-img{position:relative;margin:0;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.06);}
.gbsp .gbsp-story-after-intro .gbsp-sm-img,.gbsp .gbsp-story-before-faq .gbsp-sm-img{aspect-ratio:3/2;margin-top:28px;border-radius:12px;background:var(--gb-plaster);}
.gbsp .gbsp-story-before-faq .gbsp-sm-img{grid-column:1 / -1;margin-top:8px;}
.gbsp .gbsp-story-before-faq{background:#fff;}
.gbsp .gbsp-story-before-faq .wrap{max-width:1080px;}
.gbsp .gbsp-story-before-faq .gbsp-sm-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 56px;align-items:center;padding:clamp(28px,4vw,48px);border-radius:20px;background:#F3F6FA;border:1px solid #E1E7F0;}
.gbsp .gbsp-story-before-faq .gbsp-sm-row.no-hl{grid-template-columns:minmax(0,1fr);}
.gbsp .gbsp-story-before-faq .gbsp-sm-row:not(.has-img) .gbsp-sm-hl{align-self:start;position:sticky;top:120px;} /* long text beside it: the headline stays at the top (centred, it sank halfway down) and stays in view */
/* With a photo: the photo on the left at a modest size, the headline + text centred beside it. */
.gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:1fr auto auto 1fr;gap:0 56px;align-items:start;}
.gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img .gbsp-sm-img{grid-column:1;grid-row:1 / -1;margin:0;aspect-ratio:1/1;}
.gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img .gbsp-sm-hl{grid-column:2;grid-row:2;margin-bottom:20px;font-size:clamp(30px,3.2vw,46px);}
.gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img .gbsp-sm-body{grid-column:2;grid-row:3;}
.gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img.no-hl .gbsp-sm-body{grid-row:2 / 4;align-self:center;}
/* The soft band (Light grey / Warm paper story text) with a photo: text on the left, centred, the photo beside it. */
.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:1fr auto auto 1fr;gap:0 56px;align-items:start;}
.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img .gbsp-sm-hl{grid-column:1;grid-row:2;margin:0 0 18px;}
.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img .gbsp-sm-body{grid-column:1;grid-row:3;}
.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img.no-hl .gbsp-sm-body{grid-row:2 / 4;align-self:center;}
.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img .gbsp-sm-img{grid-column:2;grid-row:1 / -1;margin:0;aspect-ratio:4/5;}
.gbsp .gbsp-story-before-faq .gbsp-sm-hl{margin:0;font-size:clamp(34px,4vw,56px);}
.gbsp .gbsp-story-before-faq .gbsp-copy{color:var(--gb-ink);}
.gbsp .gbsp-story-before-faq .gbsp-copy a{color:var(--gb-pink-600);text-decoration-thickness:2px;}
.gbsp .gbsp-story-before-faq .gbsp-copy a::after{content:" \2192";}
@media (max-width:860px){
  .gbsp .gbsp-story-middle .gbsp-sm-row,.gbsp .gbsp-story-middle .gbsp-sm-row.has-img,.gbsp .gbsp-story-before-faq .gbsp-sm-row{grid-template-columns:minmax(0,1fr);}
  .gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img,.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:20px;}
  .gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img .gbsp-sm-img,.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img .gbsp-sm-hl,.gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img .gbsp-sm-body{grid-column:auto;grid-row:auto;margin:0;}
  .gbsp .gbsp-story-after-intro .gbsp-sm-row.has-img .gbsp-sm-img{aspect-ratio:4/3;}
  .gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img .gbsp-sm-img,.gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img .gbsp-sm-hl,.gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img .gbsp-sm-body{grid-column:auto;grid-row:auto;margin:0;}
  .gbsp .gbsp-story-before-faq .gbsp-sm-row.has-img .gbsp-sm-img{aspect-ratio:4/3;}
  .gbsp .gbsp-story-middle .gbsp-sm-row.has-img{grid-template-rows:none;}
  .gbsp .gbsp-story-middle .gbsp-sm-row.has-img .gbsp-sm-hl,.gbsp .gbsp-story-middle .gbsp-sm-row.has-img .gbsp-sm-body{grid-row:auto;}
  .gbsp .gbsp-story-middle .gbsp-sm-row.has-img .gbsp-sm-img{grid-column:auto;grid-row:auto;aspect-ratio:4/3;}
}
@media (max-width:760px){
  .gbsp .gbsp-facts dt{font-size:15px;}
  .gbsp .gbsp-facts,.gbsp .gbsp-facts.c3,.gbsp .gbsp-facts.c4{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}
@media (max-width:420px){ .gbsp .gbsp-facts,.gbsp .gbsp-facts.c3,.gbsp .gbsp-facts.c4{grid-template-columns:minmax(0,1fr);} }

/* From The Room: one short quote, big, beside the text */
.gbsp .gbsp-bigq{position:relative;margin:0;padding:8px 0 0;}
.gbsp .gbsp-bigq .mk{display:block;font-size:clamp(96px,10vw,150px);line-height:.6;height:.42em;color:var(--gb-pink);}
.gbsp .gbsp-bigq blockquote{margin:0;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(40px,4.6vw,68px);line-height:.98;letter-spacing:.005em;color:#fff;text-wrap:balance;}
.gbsp .gbsp-bigq figcaption{margin-top:22px;}
.gbsp .gbsp-bigq figcaption > span:last-child{display:flex;flex-direction:column;gap:4px;}
.gbsp .gbsp-bigq .nm{font-weight:700;font-size:17px;color:#fff;}
.gbsp .gbsp-bigq .ti{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gb-pink);}
/* Event coverage: side by side */
.gbsp .gbsp-coverage{display:grid;grid-template-columns:repeat(var(--cv,1),minmax(0,1fr));gap:12px;}
@media (max-width:760px){ .gbsp .gbsp-coverage{grid-template-columns:minmax(0,1fr);} }
.gbsp .gbsp-coverage a{transition:background .2s,border-color .2s;}
.gbsp .gbsp-coverage a:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4) !important;}
@media (max-width:760px){ .gbsp .gbsp-bigq .ti{font-size:15px;} }

/* A quote's headshot: a circle beside the name (only when a photo is set) */
.gbsp .gbsp-qby{display:flex;align-items:center;gap:14px;}
.gbsp .gbsp-qhead{flex-shrink:0;display:block;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.1);box-shadow:0 0 0 2px var(--gb-pink);}
.gbsp .gbsp-qhead img{display:block;}

/* Testimonial card (as on the Testimonials page): badge, the words, a line, then who said it */
.gbsp .gbsp-qcard{margin:0;display:flex;flex-direction:column;padding:26px 28px 24px;border-radius:16px;background:#fff;color:#1A2330;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);}
.gbsp .gbsp-qbadge{align-self:flex-end;margin:-6px -8px 14px 0;padding:5px 11px;border-radius:999px;background:var(--gb-pink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.gbsp .gbsp-qcard blockquote{margin:0;font-size:17px;line-height:1.55;font-weight:400;color:#1A2330;}
.gbsp .gbsp-qcard figcaption{margin-top:22px;padding-top:18px;border-top:1px solid rgba(24,53,94,.12);}
.gbsp .gbsp-qcard .nm{display:block;font-weight:700;font-size:17px;line-height:1.2;color:var(--gb-navy);}
.gbsp .gbsp-qcard .ti{display:block;margin-top:4px;font-size:13px;line-height:1.35;color:#5E6E86;}
@media (max-width:760px){ .gbsp .gbsp-qbadge,.gbsp .gbsp-qcard .ti{font-size:15px;} }

/* Links inside body text (paragraphs, lists, FAQ answers, quotes) are underlined, so they don't read as plain text.
   Buttons and designed links carry a class and are left alone. */
.gbsp .sec :is(p,li,dd,blockquote,figcaption,.gbsp-copy) a:not([class]),
.gbsp .sec details a:not([class]){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-skip-ink:auto;color:inherit;}
.gbsp .sec :is(p,li,dd,blockquote,figcaption,.gbsp-copy) a:not([class]):hover,
.gbsp .sec details a:not([class]):hover{text-decoration-thickness:2px;text-decoration-color:var(--gb-pink,#FF1894);}

/* Fill / Fit per photo spot (Studio › any photo): Fit shows the whole photo inside its frame, with nothing behind it. */
.gbsp img[data-fit="fit"],.gbsp [data-fit="fit"] img{object-fit:contain !important;}
.gbsp :has(> img[data-fit="fit"]),.gbsp [data-fit="fit"]:has(img){background:none !important;}
/* The frame takes the photo's own shape (centred in its column, corners still rounded), so a wide photo in a tall
   frame isn't pinned to the top with empty space under it. Scrolling page captures keep their fixed frame. */
.gbsp :not(.autoscroll):has(> img[data-fit="fit"]){aspect-ratio:auto !important;height:auto !important;min-height:0 !important;align-self:center;}
.gbsp :not(.autoscroll) > img[data-fit="fit"]{position:static !important;display:block;width:100% !important;height:auto !important;max-height:none !important;border-radius:inherit;}
/* The Brand Refresh with the brand guide shown whole: the logo tile beside it takes the guide's height, so the two stay level. */
@media(min-width:761px){.gbsp #brand .mstack:has(> .brand-guide img[data-fit="fit"]){align-items:stretch;}.gbsp #brand .mstack:has(> .brand-guide img[data-fit="fit"]) > .shot:first-child{aspect-ratio:auto !important;height:auto;min-height:220px;}.gbsp #brand .shot.brand-guide:has(img[data-fit="fit"]){align-self:start;}}
/* Small labels › Hide: a badge, caption bar or kicker that held only that label goes away with it. */
.gbsp :has(> [data-kick-hidden]:only-child){display:none !important;}
.gbsp [data-kick-hidden]{display:none !important;}

/* The Podcast with several episodes: two across on tablets, one on phones. */
@media (max-width:1024px){.gbsp .gbsp-eps{grid-template-columns:repeat(2,1fr)!important;}}
@media (max-width:760px){.gbsp .gbsp-eps{grid-template-columns:1fr!important;}}

/* Media hero: Episode Stack. Cards sit tilted and straighten when pointed at. */
.gbsp .gbsp-stack .stk{transform:rotate(var(--r,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1),z-index 0s .2s;}
.gbsp .gbsp-stack .stk:hover,.gbsp .gbsp-stack .stk:focus-within{transform:rotate(0deg) translateY(-8px) scale(1.03);z-index:20!important;transition-delay:0s;}
@media (prefers-reduced-motion:reduce){.gbsp .gbsp-stack .stk{transition:none;}}
@media (max-width:760px){
  .gbsp .gbsp-stack{aspect-ratio:auto!important;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .gbsp .gbsp-stack .stk{position:relative!important;left:auto!important;top:auto!important;width:auto!important;transform:none!important;}
  .gbsp .gbsp-stack .stk-video{grid-column:1/-1;}
  .gbsp .gbsp-stack .stk-photo{aspect-ratio:4/5!important;outline-width:2px!important;order:2;}
}

/* The Reel: the row of vertical clips scrolls with a quiet bar that suits the navy band. */
.gbsp .gbsp-clips{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent;}
.gbsp .gbsp-clips::-webkit-scrollbar{height:6px;}
.gbsp .gbsp-clips::-webkit-scrollbar-track{background:transparent;}
.gbsp .gbsp-clips::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px;}

/* Media hero: Split + Gallery. On phones the fading photos sit above the words. */
@media (max-width:760px){
  .gbsp .gbsp-hsplit > [data-gbsp-hslider]{order:-1;min-height:0!important;aspect-ratio:1/1;}
  .gbsp .gbsp-hsplit > div:first-child{padding-top:36px!important;padding-bottom:56px!important;}
}

/* Strategy Spotlight: the How We Worked steps stack on smaller screens. */
@media (max-width:1024px){.gbsp .gbsp-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:760px){.gbsp .gbsp-steps{grid-template-columns:1fr!important;}}
