/* r10.06.2 — live-contract CSS consolidation: dead historical selectors removed; current renderer geometry unchanged. */
/* r9.37 — product depth: problem signals, decision boundary, FAQ and conversion close. */

/* r9.43 — import-safe contextual links rendered by the stable product module contract. */

/* r9.68 — Boost Core visual/conversion hardening R2. */

/* True full-bleed sections while preserving the same content alignment. */

/* Related products become an editorial route list instead of a 4-card mosaic. */

/* Final conversion block: yellow full bleed, content still aligned to site shell. */

/* r9.69 — Boost Core layout convergence R3. */

/* Capabilities: asymmetric intro + one continuous stack, not three detached boxes. */

/* Boundary: a distinct decision band instead of another paper card grid. */

/* Related consumers: every route spans the full content width. */

/* Final block now consumes the exact site CTA SSOT. */

/* r9.70 — Boost Core spacing + boundary hardening R4. */

/* Related-route hover: give the active surface air around the content instead of
   painting a rectangle tight against the type. */

/* Three decision points fill the boundary column with a deliberate rhythm. */

/* r9.71 — product family visual/copy convergence. Core keeps its dedicated renderer. */
.gsr-product-v2{padding:clamp(42px,4.6vw,68px) 0 0;background:#F4F1E8;color:#0B0B0D;overflow:clip}
/* r9.72 — the final full-bleed CTA must meet the footer with no inherited product-landing bottom gutter. */
.gsr-product-landing.gsr-product-v2{padding-bottom:0}
.gsr-product-v2__fullbleed{max-width:none;margin-inline:calc(50% - 50vw)}
.gsr-product-v2__hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);gap:clamp(46px,6vw,92px);align-items:start;padding-bottom:clamp(42px,5vw,66px)}
.gsr-product-v2__hero-copy{min-width:0}
.gsr-product-v2__hero h1{margin:12px 0 18px;font-family:var(--gs-display);font-size:clamp(3.6rem,6vw,6.5rem);line-height:.86;letter-spacing:-.064em}
.gsr-product-v2__promise{max-width:12ch;margin:0 0 22px;font-family:var(--gs-display);font-size:clamp(2rem,3.2vw,3.55rem);font-weight:800;line-height:.9;letter-spacing:-.05em}
.gsr-product-v2__lead{max-width:64ch;margin:0;color:#42454B;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.7}
.gsr-product-v2__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.gsr-product-v2__button{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:0 18px;border:1px solid #0B0B0D;color:#0B0B0D;font-family:var(--gs-mono);font-size:.61rem;font-weight:700;letter-spacing:.075em;text-decoration:none;text-transform:uppercase}
.gsr-product-v2__button--signal{background:#F2C300;border-color:#F2C300}
.gsr-product-v2__button--signal:hover,.gsr-product-v2__button--signal:focus-visible{background:#0B0B0D;border-color:#0B0B0D;color:#F4F1E8}
.gsr-product-v2__button--ghost:hover,.gsr-product-v2__button--ghost:focus-visible{background:#0B0B0D;color:#F4F1E8}
.gsr-product-v2__topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.gsr-product-v2__topics span{padding:7px 10px;border:1px solid #B6B3AB;color:#5A5D63;font-family:var(--gs-mono);font-size:.51rem;letter-spacing:.07em}
.gsr-product-v2__visual{position:relative;min-height:430px;margin:0;display:flex;flex-direction:column;padding:24px;background:#0B0B0D;color:#F4F1E8;border-bottom:2px solid #00AEEF;overflow:hidden}
.gsr-product-v2__visual::after{content:"";position:absolute;right:-8%;top:6%;width:2px;height:116%;background:#00AEEF;transform:rotate(34deg);transform-origin:center;box-shadow:0 0 12px rgba(0,174,239,.45)}
.gsr-product-v2__visual figcaption{position:relative;z-index:1;font-family:var(--gs-mono);font-size:.54rem;letter-spacing:.085em;color:#7D828B;text-transform:uppercase}
.gsr-product-v2__visual-main{position:relative;z-index:1;margin:auto 0;padding:18px 0;max-width:88%}
.gsr-product-v2__visual-main small{display:block;margin-bottom:14px;color:#00AEEF;font-family:var(--gs-mono);font-size:.55rem;letter-spacing:.085em}
.gsr-product-v2__visual-main strong{display:block;max-width:10ch;font-family:var(--gs-display);font-size:clamp(3.2rem,5vw,5.9rem);line-height:.85;letter-spacing:-.06em;text-transform:uppercase}
.gsr-product-v2__visual-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:end;padding-top:18px;border-top:1px solid #34363B}
.gsr-product-v2__visual-foot span{font-family:var(--gs-display);font-size:1.15rem;font-weight:800;text-transform:uppercase}
.gsr-product-v2__visual-foot small{max-width:58%;text-align:right;color:#7D828B;font-family:var(--gs-mono);font-size:.5rem;letter-spacing:.07em;line-height:1.5}
.gsr-product-v2__outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #B6B3AB;border-bottom:1px solid #B6B3AB}
.gsr-product-v2__outcomes article{padding:clamp(22px,2.8vw,34px) clamp(20px,2.8vw,34px)}
.gsr-product-v2__outcomes article+article{border-left:1px solid #B6B3AB}
.gsr-product-v2__outcomes b,.gsr-product-v2__problem-grid b{display:block;margin-bottom:11px;color:#7C6300;font-family:var(--gs-mono);font-size:.54rem;letter-spacing:.09em;text-transform:uppercase}
.gsr-product-v2__outcomes strong{display:block;margin-bottom:10px;font-family:var(--gs-display);font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1}
.gsr-product-v2__outcomes p{margin:0;color:#4B4E54;line-height:1.62}
.gsr-product-v2__problem{margin-top:clamp(58px,6vw,84px);background:#0B0B0D;color:#F4F1E8}
.gsr-product-v2__problem-inner{padding-block:clamp(48px,5.8vw,78px)}
.gsr-product-v2__problem .gsr-eyebrow{color:#F2C300}
.gsr-product-v2__problem-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(36px,5vw,78px);align-items:end}
.gsr-product-v2__problem-head h2{margin:12px 0 0;max-width:13ch;font-family:var(--gs-display);font-size:clamp(3rem,5vw,5.7rem);line-height:.87;letter-spacing:-.06em}
.gsr-product-v2__problem-head>p{max-width:60ch;margin:0;color:#D8D5CD;line-height:1.72}
.gsr-product-v2__problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(30px,4vw,48px);border-top:1px solid #34363B;border-bottom:1px solid #34363B}
.gsr-product-v2__problem-grid article{padding:26px 28px 28px 0}
.gsr-product-v2__problem-grid article+article{padding-left:28px;border-left:1px solid #34363B}
.gsr-product-v2__problem-grid b{color:#F2C300}
.gsr-product-v2__problem-grid p{margin:0;color:#D8D5CD;line-height:1.65}

.gsr-product-v2__faq{padding-top:clamp(72px,8vw,108px);padding-bottom:clamp(72px,8vw,108px)}
.gsr-product-v2__section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(36px,5vw,78px);align-items:end;margin-bottom:30px}
.gsr-product-v2__section-head h2{margin:12px 0 0;max-width:14ch;font-family:var(--gs-display);font-size:clamp(2.8rem,4.5vw,5rem);line-height:.89;letter-spacing:-.055em}
.gsr-product-v2__section-head>p{max-width:60ch;margin:0;color:#50535A;line-height:1.7}
.gsr-product-v2__faq .gsr-faq{border-top:1px solid #B6B3AB}
.gsr-product-v2__faq .gsr-faq details{border-bottom:1px solid #B6B3AB}
.gsr-product-v2__faq .gsr-faq summary{padding:20px 0;font-family:var(--gs-display);font-size:clamp(1.15rem,1.7vw,1.55rem);font-weight:800;line-height:1.1}
.gsr-product-v2__faq .gsr-faq details>p{max-width:76ch;padding:0 0 24px;color:#4B4E54;line-height:1.7}
.gsr-product-v2__related{background:#15161A;color:#F4F1E8}
.gsr-product-v2__related-inner{padding-block:clamp(48px,5.8vw,76px)}
.gsr-product-v2__related .gsr-eyebrow{color:#F2C300}
.gsr-product-v2__related .gsr-product-v2__section-head h2{color:#F4F1E8}
.gsr-product-v2__related .gsr-product-v2__section-head>p{color:#D8D5CD}
.gsr-product-v2__related-list{display:block;margin-top:clamp(30px,3.8vw,46px);border-top:1px solid #34363B;border-bottom:1px solid #34363B}
.gsr-product-v2__related-list a{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(120px,.35fr) minmax(180px,.75fr) minmax(0,1.35fr) 28px;gap:clamp(18px,3vw,42px);align-items:center;min-height:112px;padding:22px 0;color:#F4F1E8;text-decoration:none}
.gsr-product-v2__related-list a+a{border-top:1px solid #34363B}
.gsr-product-v2__related-list a::before{content:"";position:absolute;inset:8px -18px;z-index:-1;background:#0B0B0D;border:1px solid transparent;opacity:0;transition:opacity .18s ease,border-color .18s ease}
.gsr-product-v2__related-list a:hover::before,.gsr-product-v2__related-list a:focus-visible::before{opacity:1;border-color:#24262B}
.gsr-product-v2__related-list span{font-family:var(--gs-mono);font-size:.53rem;letter-spacing:.08em;color:#7D828B}
.gsr-product-v2__related-list strong{font-family:var(--gs-display);font-size:clamp(1.45rem,2vw,2rem);line-height:.98}
.gsr-product-v2__related-list em{max-width:54ch;color:#B9BBC0;font-size:.94rem;font-style:normal;line-height:1.55}
.gsr-product-v2__related-list b{justify-self:end;color:#F2C300;font-family:var(--gs-mono)}
.gsr-product-v2__final{margin-top:0}
.gsr-product-v2__final h2{max-width:10ch}
@media(max-width:1099px){
 .gsr-product-v2__hero{grid-template-columns:1fr 1fr;gap:34px}
 .gsr-product-v2__visual{min-height:370px}
 .gsr-product-v2__problem-head,.gsr-product-v2__section-head{grid-template-columns:1fr}
 
 
 .gsr-product-v2__related-list a{grid-template-columns:minmax(100px,.35fr) minmax(150px,.7fr) minmax(0,1.2fr) 24px}
}
@media(max-width:767px){
 .gsr-product-v2{padding-top:34px;overflow-x:clip}
 .gsr-product-v2__hero{grid-template-columns:1fr;gap:30px}
 .gsr-product-v2__hero h1{font-size:clamp(3.2rem,16vw,5rem)}
 .gsr-product-v2__promise{font-size:clamp(2rem,10vw,3rem)}
 .gsr-product-v2__visual{min-height:330px}
 .gsr-product-v2__outcomes,.gsr-product-v2__problem-grid{grid-template-columns:1fr}
 .gsr-product-v2__outcomes article+article,.gsr-product-v2__problem-grid article+article{border-left:0;border-top:1px solid #B6B3AB}
 .gsr-product-v2__problem-grid article+article{border-color:#34363B}
 .gsr-product-v2__problem-grid article,.gsr-product-v2__problem-grid article+article{padding:24px 0}
 
 .gsr-product-v2__related-list a{grid-template-columns:1fr auto;gap:8px 18px;padding:20px 0}
 .gsr-product-v2__related-list a span,.gsr-product-v2__related-list a strong,.gsr-product-v2__related-list a em{grid-column:1}
 .gsr-product-v2__related-list a b{grid-column:2;grid-row:1 / span 3;align-self:center}
 .gsr-product-v2__related-list a::before{inset:6px -10px}
 .gsr-product-v2__visual-foot{display:block}
 .gsr-product-v2__visual-foot small{display:block;max-width:none;margin-top:8px;text-align:left}

 .gsr-product-v2__problem-head,.gsr-product-v2__section-head{min-width:0}
 .gsr-product-v2__problem-head h2,.gsr-product-v2__section-head h2{max-width:100%;font-size:clamp(2.2rem,10vw,3rem);line-height:.92;letter-spacing:-.045em;overflow-wrap:break-word;word-break:normal}
 .gsr-product-v2__problem-head>p,.gsr-product-v2__section-head>p{max-width:100%;overflow-wrap:break-word}
 .gsr-product-v2__faq .gsr-faq summary{position:relative;padding:20px 52px 20px 0;min-width:0;overflow-wrap:break-word;word-break:normal}
 .gsr-product-v2__faq .gsr-faq details>p{max-width:100%;overflow-wrap:break-word}
 .gsr-product-landing.gsr-product-v2 .gsr-product-v2__visual-capabilities.gsr-vd--flow .gsr-vd__node::after{display:none}
 .gsr-product-v2__visual-capabilities .gsr-vd__node{min-width:0;overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.gsr-product-v2__related-list a::before{transition:none}}

/* r9.90 — conditional product landing polish */
/* Product landings: paper/ink palette, SCF visual, readable dark editorial band. */
.gsr-product-landing{padding:clamp(72px,9vw,132px) 0;background:var(--gs-paper);color:var(--gs-ink)}

/* r9.90 — conditional product mobile contract */


/* r9.90 — conditional product contrast polish */
/* Product pages: explicit contrast instead of inheriting dark-site values on paper surfaces. */
.gsr-product-landing .gsr-eyebrow{color:#565960;opacity:1}

/* The use-case cards now contain registered fields; give them enough breathing room for useful copy. */

/* r9.90 — conditional product depth carrier */
/* r9.41 — product depth static carrier: keeps R2 content without a new per-page module contract. */
/* r9.37 — product depth: problem signals, decision boundary, FAQ and conversion close. */

/* r9.91 — product readability/contrast invariant. */
.gsr-product-landing.gsr-product-v2 .gsr-product-v2__faq{
  background:#F4F1E8;
  color:#0B0B0D;
}
.gsr-product-landing.gsr-product-v2 .gsr-product-v2__section-head>p,.gsr-product-landing.gsr-product-v2 .gsr-product-v2__faq .gsr-faq details>p{
  color:#303238;
}
.gsr-product-landing.gsr-product-v2 .gsr-product-v2__faq .gsr-faq summary{
  color:#0B0B0D;
}
.gsr-product-landing.gsr-product-v2 .gsr-product-v2__problem-head>p,.gsr-product-landing.gsr-product-v2 .gsr-product-v2__problem-grid p,.gsr-product-landing.gsr-product-v2 .gsr-product-v2__related .gsr-product-v2__section-head>p,.gsr-product-landing.gsr-product-v2 .gsr-product-v2__related-list em{
  color:#D8D5CD;
}
/* r9.92 — Product v2 paper-surface readability. */
.gsr-product-v2__section-head>p,.gsr-product-v2__faq .gsr-faq details>p{color:#303238}
/* r10.02 — preserve visible keyboard focus on paper product surfaces. */


/* r10.08.2 — validator-safe product map long-label area. */
.gsr-product-v2__visual{
  padding:clamp(24px,1.6vw,34px);
}
.gsr-product-v2__visual-main{
  max-width:100%;
  padding-inline:0;
}
.gsr-product-v2__visual-main strong{
  max-width:100%;
  font-size:clamp(2.55rem,4.7vw,5.4rem);
  line-height:.9;
  letter-spacing:-.055em;
  overflow-wrap:normal;
  word-break:normal;
}
@media(max-width:767px){
  .gsr-product-v2__visual{padding:clamp(22px,5vw,30px)}
  .gsr-product-v2__visual-main strong{font-size:clamp(2.35rem,11.25vw,4.8rem)}
}


/* r10.03.2 — one-line desktop product promise + safe fallback */
@media(min-width:1100px){
 .gsr-product-v2__promise{
   max-width:none;white-space:nowrap;text-wrap:nowrap;
   font-size:clamp(1.42rem,1.72vw,2.18rem);line-height:1;letter-spacing:-.042em;
 }
}
@media(min-width:768px) and (max-width:1099px){
 .gsr-product-v2__promise{max-width:22ch;text-wrap:balance}
}

/* r10.03.3 — CTA copy overlap hardening */
.gsr-cta__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(28px,5vw,74px);align-items:end}
.gsr-cta__lead,.gsr-cta__action{min-width:0}
.gsr-cta__lead h2{max-width:9ch;margin:10px 0 16px;font-size:clamp(3rem,6.2vw,6rem);line-height:.88;letter-spacing:-.06em;text-wrap:balance;overflow-wrap:anywhere}
.gsr-cta__follow{display:block;max-width:24ch}
.gsr-cta__action p{max-width:34ch}
@media(max-width:1099px){.gsr-cta__grid{grid-template-columns:1fr}.gsr-cta__lead h2{max-width:10ch;font-size:clamp(2.6rem,11vw,5rem)}}

/* r10.03.3 — safer desktop promise layout */
@media(min-width:1100px){
 .gsr-product-v2__hero{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(38px,5vw,72px)}
 .gsr-product-v2__promise{max-width:18ch;white-space:normal;text-wrap:balance;font-size:clamp(1.72rem,2vw,2.42rem);line-height:.96;letter-spacing:-.045em}
}
@media(min-width:1400px){.gsr-product-v2__promise{max-width:20ch}}

/* r10.03.5 — product button interaction contract */
.gsr-product-v2__button{transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.gsr-product-v2__button [aria-hidden="true"]{display:inline-block;transition:transform .22s ease}
@media(hover:hover){
 .gsr-product-v2__button:hover{transform:translateY(-1px)}
 .gsr-product-v2__button:hover [aria-hidden="true"]{transform:translateX(4px)}
 
 
}
.gsr-product-v2__button:focus-visible{outline:2px solid #7C6300;outline-offset:3px;transform:translateY(-1px)}
.gsr-product-v2__button:focus-visible [aria-hidden="true"]{transform:translateX(4px)}

@media(prefers-reduced-motion:reduce){.gsr-product-v2__button,.gsr-product-v2__button [aria-hidden="true"]{transition:none;transform:none}}

/* r10.05 — shared product infographic + motion system. Five semantic primitives, one motion contract. */
.gsr-product-diagram{--diagram-accent:#00B8F0;position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;gap:14px 20px;align-items:center;min-height:132px;margin-top:clamp(18px,2.2vw,30px);padding:20px 0 4px;color:#F4F1E8;isolation:isolate}
.gsr-product-diagram__icon{grid-row:1 / span 2;display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(244,241,232,.28);background:rgba(255,255,255,.025);transform:translateY(6px);opacity:.38;transition:transform .52s cubic-bezier(.2,.7,.2,1),opacity .42s ease,border-color .42s ease}
.gsr-product-diagram__icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gsr-product-diagram__line{position:relative;height:1px;background:rgba(244,241,232,.18);overflow:hidden}
.gsr-product-diagram__line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#F2C300,var(--diagram-accent));transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.7,.2,1) .08s}
.gsr-product-diagram__nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gsr-product-diagram__nodes span{position:relative;min-width:0;padding-top:12px;font-family:var(--gs-mono);font-size:clamp(.54rem,.72vw,.64rem);font-weight:700;line-height:1.3;letter-spacing:.09em;text-transform:uppercase;color:rgba(244,241,232,.74);opacity:0;transform:translateY(7px);transition:opacity .36s ease,transform .46s cubic-bezier(.2,.7,.2,1)}
.gsr-product-diagram__nodes span::before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;border:1px solid currentColor;background:#0B0B0D;transform:rotate(45deg)}
.gsr-product-diagram__nodes span:nth-child(2){top:16px;transition-delay:.11s}.gsr-product-diagram__nodes span:nth-child(3){transition-delay:.2s}
.gsr-product-diagram.is-visible .gsr-product-diagram__icon{transform:none;opacity:1;border-color:rgba(244,241,232,.62)}
.gsr-product-diagram.is-visible .gsr-product-diagram__line::after{transform:scaleX(1)}
.gsr-product-diagram.is-visible .gsr-product-diagram__nodes span{opacity:1;transform:none}
.gsr-product-diagram--hub .gsr-product-diagram__icon{border-radius:50%}
.gsr-product-diagram--hub .gsr-product-diagram__nodes span:nth-child(2)::before{border-color:#F2C300}.gsr-product-diagram--hub .gsr-product-diagram__nodes span:nth-child(3)::before{border-color:var(--diagram-accent)}
.gsr-product-diagram--stack .gsr-product-diagram__icon{box-shadow:7px 7px 0 -1px #0B0B0D,7px 7px 0 0 rgba(244,241,232,.16),14px 14px 0 -1px #0B0B0D,14px 14px 0 0 rgba(244,241,232,.08)}

.gsr-product-diagram--grid .gsr-product-diagram__icon{background-image:linear-gradient(rgba(244,241,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,232,.05) 1px,transparent 1px);background-size:12px 12px}
.gsr-product-diagram--flow .gsr-product-diagram__line::before{content:"→";position:absolute;right:0;top:50%;z-index:2;transform:translateY(-52%);font-family:var(--gs-mono);font-size:.8rem;color:var(--diagram-accent)}
.gsr-product-v2__visual .gsr-product-diagram{margin:0 clamp(22px,3vw,34px) clamp(18px,2vw,26px);padding-top:8px}

@media(min-width:768px){.gsr-product-v2__visual{margin-top:clamp(46px,4vw,60px)}.gsr-product-diagram{grid-template-columns:82px minmax(0,1fr);gap:16px 24px}.gsr-product-diagram__icon{width:72px;height:72px}.gsr-product-diagram__icon svg{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.gsr-product-diagram__icon,.gsr-product-diagram__line::after,.gsr-product-diagram__nodes span{transition:none;transform:none;opacity:1}.gsr-product-diagram__line::after{transform:scaleX(1)}}


/* r10.05.3 — Core top surface has no active Core-specific hero class; product-v2 is the sole hero geometry owner. */

/* r10.05.4 — Product hero geometry parity: product map offset and node stagger are shared across every product, including Boost Core. */
