/* Growth Strategy · hero — the terrain is the ground; the headline is the map's legend cartouche */
.cgs-hero{position:relative;isolation:isolate;min-height:clamp(760px,96vh,1020px);display:flex;align-items:flex-end;padding-top:var(--cgs-hero-t);padding-bottom:clamp(56px,7vw,104px);background:var(--paper-2);overflow:hidden}
.cgs-hero__in{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(20px,2.4vw,32px)}
.cgs-hero__text{grid-column:1 / span 6;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3vw,44px);background:var(--paper);border:1px solid var(--ink);border-radius:var(--r-xs);box-shadow:var(--sh-2)}

/* breadcrumb */
.cgs-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 26px;padding:0;list-style:none;font-size:var(--t-sm);color:var(--muted)}
.cgs-crumb li{display:inline-flex;align-items:center;gap:10px}
.cgs-crumb li+li::before{content:"›";font-family:var(--f);color:var(--faint)}
.cgs-crumb a{color:var(--txt);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:4px;transition:color var(--d1),text-decoration-color var(--d1)}
.cgs-crumb a:hover{color:var(--blue-d);text-decoration-color:var(--blue)}
.cgs-crumb [aria-current]{color:var(--ink);font-weight:500}

.cgs-hero__h{margin:20px 0 0;font-family:var(--f-h);font-weight:500;font-size:clamp(2.4rem,4.5vw,4.3rem);line-height:1.01;letter-spacing:-.035em;color:var(--ink);max-width:13ch}
.cgs-hero__lead{margin-top:24px;max-width:46ch}
.cgs-hero__act{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.cgs-hero__meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;margin:36px 0 0;padding-top:20px;border-top:1px solid var(--line);width:100%}
.cgs-hero__meta div{padding-right:clamp(16px,2vw,30px);margin-right:clamp(16px,2vw,30px);border-right:1px solid var(--line)}
.cgs-hero__meta div:last-child{border-right:0;margin-right:0;padding-right:0}
.cgs-hero__meta dt{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);line-height:1.3}
.cgs-hero__meta dd{margin:10px 0 0;font-family:var(--f-h);font-size:1.12rem;letter-spacing:-.012em;color:var(--ink);line-height:1.2}
/* the cartouche key: what the marks on the map mean */
.cgs-hero__key{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 0;padding-top:16px;border-top:1px dashed var(--line-3);width:100%;font-family:var(--f);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.cgs-hero__key span{display:inline-flex;align-items:center;gap:8px}
.cgs-key{display:inline-block;flex:none}
.cgs-key--peak{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--blue)}
.cgs-key--iso{width:18px;height:8px;border:1px solid var(--ink);border-radius:50%}
.cgs-key--cur{width:10px;height:10px;border:1px solid var(--blue);border-radius:50%}

/* the terrain: full-bleed ground */
.cgs-sheet{position:absolute;inset:0;z-index:0;margin:0}
.cgs-sheet__map{position:absolute;inset:0;background-color:var(--paper-2);background-image:var(--cgs-grid);background-size:32px 32px}
.cgs-terrain{display:block;width:100%;height:100%}
.cgs-terrain__iso path{fill:none;stroke:var(--faint);stroke-width:.9;stroke-linecap:round;opacity:.8}
.cgs-terrain__iso path.is-index{stroke:var(--ink);stroke-width:1.2;opacity:.7}
.cgs-terrain__iso path.is-top{stroke:var(--blue);opacity:.95}
.cgs-peak path{fill:var(--ink)}
.cgs-peak line{stroke:var(--ink);stroke-width:1}
.cgs-peak text{font-family:var(--f);font-size:13px;letter-spacing:.06em;fill:var(--ink);paint-order:stroke;stroke:var(--paper-2);stroke-width:5px;stroke-linejoin:round}
.cgs-peak.is-lead path{fill:var(--blue)}
.cgs-peak.is-lead text,.cgs-peak.is-near text{fill:var(--blue-d)}
.cgs-cursor line{stroke:var(--blue);stroke-width:.9;stroke-dasharray:3 5;opacity:.5}
.cgs-cursor circle{fill:none;stroke:var(--blue);stroke-width:1.3}
.cgs-cursor .cgs-cursor__dot{fill:var(--blue);stroke:none}

/* sheet furniture pinned to the wrap: title top-right, live readout bottom-right */
.cgs-sheet__hud{position:absolute;inset:0;pointer-events:none}
.cgs-sheet__hudin{position:relative;height:100%}
.cgs-sheet__bar{position:absolute;right:0;top:var(--cgs-hero-t);display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin:0;font-family:var(--f);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.3;text-align:right}
.cgs-sheet__bar span:first-child{color:var(--ink);padding-bottom:6px;border-bottom:1px solid var(--ink)}
.cgs-sheet__foot{position:absolute;right:0;bottom:clamp(56px,7vw,104px);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 16px;padding:10px 14px;background:var(--paper);border:1px solid var(--line-3);border-radius:var(--r-xs)}
.cgs-sheet__read{display:flex;flex-wrap:wrap;gap:6px 10px;font-family:var(--f);font-size:11px;letter-spacing:.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.4}
.cgs-sheet__read b{font-weight:500;color:var(--faint);letter-spacing:.12em;text-transform:uppercase;font-size:10px}
.cgs-sheet__read span{min-width:4ch}

/* entrance: cartouche rises; isolines settle in from the lowest ring up; labels tick in */
.cgs-hero__up{opacity:0;transform:translateY(18px);animation:cgs-hero-up .9s var(--e) forwards;animation-delay:calc(var(--i) * 90ms + 120ms)}
@keyframes cgs-hero-up{to{opacity:1;transform:none}}
.cgs-terrain__iso path{animation:cgs-hero-iso 1.4s var(--e) backwards;animation-delay:calc(var(--i) * 110ms + 300ms)}
@keyframes cgs-hero-iso{from{opacity:0;transform:scale(1.04)}}
.cgs-terrain__iso{transform-origin:1000px 300px}
.cgs-peak{animation:cgs-hero-iso .8s var(--e) backwards;animation-delay:calc(var(--i) * 120ms + 1200ms)}

/* under 1200px the cartouche would cover the peaks: map becomes a band beneath the text */
@media (max-width:1199px){
  .cgs-hero{flex-direction:column;align-items:stretch;min-height:0;padding-bottom:0;background:var(--paper)}
  .cgs-hero__in{padding-bottom:clamp(40px,6vw,64px)}
  .cgs-hero__text{grid-column:1 / -1;padding:0;border:0;box-shadow:none;background:none}
  .cgs-hero__h{max-width:14ch}
  .cgs-sheet{order:2;position:relative;inset:auto;aspect-ratio:16/10;max-width:100%;border-top:1px solid var(--ink)}
  .cgs-sheet__bar{top:18px}
  .cgs-sheet__foot{bottom:18px}
}
@media (max-width:600px){
  .cgs-hero__meta{grid-template-columns:minmax(0,1fr);gap:16px}
  .cgs-hero__meta div{border-right:0;margin-right:0;padding-right:0;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
  .cgs-hero__meta dd{margin:0}
  .cgs-hero__act .btn{width:100%}
  .cgs-sheet{aspect-ratio:1/1}
  .cgs-sheet__bar{display:none}
  .cgs-sheet__foot{top:14px;bottom:auto;left:0;justify-content:space-between;padding:8px 10px}
  .cgs-peak text{font-size:20px;stroke-width:7px}
}
@media (prefers-reduced-motion:reduce){
  .cgs-hero__up,.cgs-terrain__iso path,.cgs-peak{animation:none;opacity:1;transform:none}
}
