/* SozoRockSchool Canada launch polish.
   Homepage v2 follows the approved programme-first direction while keeping
   existing programme, form and workspace surfaces stable. */

:root{
  --launch-ink:#0d1713;
  --launch-green:#0c352a;
  --launch-green-2:#12483a;
  --launch-gold:#c99135;
  --launch-cream:#f7f5ef;
  --launch-mist:#eef2ef;
  --launch-line:#d6ddd8;
}

/* A restrained geometric/system stack keeps the page fast and avoids shipping
   an unverified proprietary face. */
body{font-family:"Source Sans 3","Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif}

/* ---------- Homepage v2 ---------- */
.home-v2 .site-header{background:rgba(255,255,255,.98);box-shadow:0 1px 0 rgba(13,23,19,.06)}
.home-v2 .nav-shell{min-height:72px}
.home-v2 .wordmark{font-weight:760;letter-spacing:-.045em}
.home-v2 .wordmark-country{color:var(--launch-gold)}

.home-v2 .option-one-hero{padding:clamp(4rem,7vw,6.5rem) 0 clamp(4rem,7vw,6rem);background:#fff}
.home-v2 .hero-layout{grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);gap:clamp(3rem,6vw,6rem)}
.home-v2 .hero-copy h1{max-width:9.5ch;font-size:clamp(3.65rem,6vw,6.2rem);font-weight:620;line-height:.93;letter-spacing:-.058em}
.home-v2 .hero-deck{max-width:60ch;color:#55635d;font-size:clamp(1.04rem,1.3vw,1.22rem);line-height:1.65}
.home-v2 .hero-actions{margin-top:2rem}
.home-v2 .hero-facts{max-width:620px;margin-top:1.65rem;gap:.5rem 1.25rem}
.home-v2 .hero-facts li::before{background:var(--launch-gold)}

.home-v2 .hero-workbench{position:relative;display:block;min-height:540px;padding:1.2rem;border-radius:24px;background:var(--launch-green);overflow:visible;color:#fff;box-shadow:0 30px 70px rgba(12,53,42,.16)}
.home-v2 .workbench-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem .2rem 1rem;color:#dce7e2;font-size:.72rem}
.home-v2 .workbench-topline strong{color:#fff;font-size:.78rem;letter-spacing:.01em}
.home-v2 .workbench-screen{display:grid;grid-template-columns:50px 1fr;min-height:438px;border-radius:16px;background:#f9fbfa;overflow:hidden;color:var(--launch-ink)}
.home-v2 .screen-rail{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:1.5rem;background:#09261f}
.home-v2 .screen-rail span{width:12px;height:12px;border:1px solid rgba(255,255,255,.38);border-radius:3px}
.home-v2 .screen-main{padding:1.4rem}
.home-v2 .screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid #e1e7e3}
.home-v2 .screen-heading div{display:grid;gap:.2rem}
.home-v2 .screen-heading small,.home-v2 .screen-metrics small{color:#718079;font-size:.65rem}
.home-v2 .screen-heading strong{font-size:1rem}
.home-v2 .screen-status{padding:.35rem .55rem;border-radius:999px;background:#e4f2e9;color:#17603e;font-size:.64rem;font-weight:700}
.home-v2 .screen-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1.2rem}
.home-v2 .screen-metrics div{display:grid;gap:.4rem;padding:1rem;border:1px solid #e3e9e5;border-radius:10px;background:#fff}
.home-v2 .screen-metrics strong{font-size:1rem;letter-spacing:-.02em}
.home-v2 .screen-evidence{display:grid;grid-template-columns:minmax(0,.58fr) minmax(170px,.42fr);gap:1rem;margin-top:1rem}
.home-v2 .evidence-list{display:grid;gap:.65rem;padding:1rem;border-radius:10px;background:#edf3f0}
.home-v2 .evidence-list span{display:flex;align-items:center;gap:.55rem;font-size:.68rem;color:#44524b}
.home-v2 .evidence-list i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2b845c}
.home-v2 .evidence-chart{display:flex;align-items:flex-end;justify-content:center;gap:.4rem;min-height:150px;padding:1rem;border:1px solid #e3e9e5;border-radius:10px;background:#fff}
.home-v2 .evidence-chart span{width:13%;height:var(--h);min-height:24px;border-radius:4px 4px 1px 1px;background:var(--launch-green-2)}
.home-v2 .workbench-float{position:absolute;display:grid;gap:.15rem;min-width:178px;padding:.85rem 1rem;border-radius:12px;background:#fff;color:var(--launch-ink);box-shadow:0 16px 35px rgba(13,23,19,.14)}
.home-v2 .workbench-float small{color:#718079;font-size:.63rem;text-transform:none;letter-spacing:0}
.home-v2 .workbench-float strong{font-size:.74rem}
.home-v2 .workbench-float-a{top:94px;right:-24px}
.home-v2 .workbench-float-b{right:30px;bottom:-24px;border-left:4px solid var(--launch-gold)}

.home-v2 .decision-strip{padding:1.1rem 0;background:var(--launch-cream)}
.home-v2 .decision-strip li::before{background:var(--launch-gold)}

.home-v2 .programme-paths{padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem);background:#fff}
.home-v2 .programme-intro{grid-template-columns:minmax(260px,.48fr) minmax(0,.52fr);margin-bottom:3.2rem}
.home-v2 .programme-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.home-v2 .programme-card{position:relative;display:flex;min-height:350px;flex-direction:column;padding:1.35rem;border-radius:18px;text-decoration:none;color:#fff;overflow:hidden;transition:transform 180ms ease-out,box-shadow 180ms ease-out}
.home-v2 .programme-card:hover,.home-v2 .programme-card:focus-visible{transform:translateY(-5px);box-shadow:0 22px 46px rgba(13,23,19,.12)}
.home-v2 .programme-card h3{max-width:12ch;margin:auto 0 .8rem;font-size:clamp(1.55rem,2vw,2.05rem);font-weight:640;line-height:1.05;letter-spacing:-.04em}
.home-v2 .programme-card p{margin:0;color:rgba(255,255,255,.78);font-size:.82rem;line-height:1.55}
.home-v2 .programme-mark{align-self:flex-start;padding:.45rem .55rem;border:1px solid rgba(255,255,255,.38);border-radius:7px;font-size:.68rem;font-weight:760;letter-spacing:.06em}
.home-v2 .programme-action{margin-top:1.3rem;font-size:.72rem;font-weight:720}
.home-v2 .programme-ai{background:#12483a}
.home-v2 .programme-grc{background:#173e5a}
.home-v2 .programme-iam{background:#8f5f19}
.home-v2 .programme-governance{background:#f0eee7;color:#17221d}
.home-v2 .programme-governance p{color:#5a645f}
.home-v2 .programme-governance .programme-mark{border-color:#aab4ae}

.home-v2 .journey-section{padding:clamp(5rem,8vw,8rem) 0;background:var(--launch-cream)}
.home-v2 .journey-layout{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.home-v2 .journey-heading h2{max-width:9ch;margin:0;font-size:clamp(3rem,5.6vw,5.8rem);font-weight:600;line-height:.95;letter-spacing:-.055em}
.home-v2 .journey-heading p{max-width:34ch;color:#637069}
.home-v2 .journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;padding-bottom:1rem;border-bottom:1px solid #d7ddd9}
.home-v2 .journey-steps button{padding:.75rem .3rem;border:0;border-radius:8px;background:transparent;color:#718079;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;text-align:left}
.home-v2 .journey-steps button[aria-selected="true"]{background:var(--launch-green);color:#fff;padding-inline:.8rem}
.home-v2 .journey-panel{min-height:265px;padding:2rem 0 0}
.home-v2 .journey-stage{margin:0;color:var(--launch-gold);font-size:.72rem;font-weight:760;text-transform:uppercase;letter-spacing:.1em}
.home-v2 .journey-panel h3{max-width:15ch;margin:.65rem 0 1rem;font-size:clamp(2.2rem,4vw,4.15rem);font-weight:610;line-height:1;letter-spacing:-.045em}
.home-v2 .journey-panel>p:last-child{max-width:54ch;color:#5d6963}

.home-v2 .option-one-proof{background:#eaf0ed}
.home-v2 .proof-intro{grid-template-columns:minmax(260px,.46fr) minmax(0,.54fr)}
.home-v2 .proof-window{box-shadow:none;border:1px solid #d8e0db;border-radius:18px}
.home-v2 .proof-detail div{background:#f2f5f3}

.home-v2 .credential-story{background:#fff}
.home-v2 .credential-layout{display:grid;grid-template-columns:minmax(300px,.42fr) minmax(0,.58fr);gap:clamp(3rem,8vw,8rem);align-items:center}
.home-v2 .credential-object{position:relative;max-width:480px;padding:2rem;border:1px solid #d7ddd9;border-radius:18px;background:var(--launch-cream);box-shadow:-18px 20px 0 #e4e9e6}
.home-v2 .credential-object::after{content:"";position:absolute;right:1.6rem;bottom:1.6rem;width:66px;height:66px;border-radius:50%;border:10px double var(--launch-gold)}
.home-v2 .credential-object-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.home-v2 .credential-object-top span{font-weight:760;letter-spacing:-.03em}
.home-v2 .credential-object-top small{color:var(--launch-gold);font-weight:760;letter-spacing:.14em}
.home-v2 .credential-object>p{margin:3.2rem 0 .25rem;color:#6b766f;font-size:.76rem}
.home-v2 .credential-object>strong{display:block;max-width:10ch;font-size:2rem;line-height:1.05;letter-spacing:-.04em}
.home-v2 .credential-object-meta{display:flex;gap:1rem;margin-top:2.4rem;color:#647069;font-size:.68rem}
.home-v2 .credential-copy h2{max-width:11ch;margin:0;font-size:clamp(3rem,5vw,5.2rem);font-weight:600;line-height:.96;letter-spacing:-.052em}
.home-v2 .credential-copy>p{max-width:56ch;color:#5d6963}
.home-v2 .credential-points{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin:1.5rem 0;color:#33423b;font-size:.78rem;font-weight:650}
.home-v2 .credential-points span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:.55rem;border-radius:50%;background:var(--launch-gold);vertical-align:middle}

.home-v2 .leadership-note{padding:clamp(4rem,7vw,6.5rem) 0;background:#fff}
.home-v2 .leadership-note-inner{display:grid;grid-template-columns:minmax(150px,.2fr) minmax(260px,.36fr) minmax(0,.44fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.home-v2 .leadership-kicker{margin:.2rem 0 0;color:var(--launch-gold);font-size:.68rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}
.home-v2 .leadership-note h2{max-width:11ch;margin:0;font-size:clamp(2.4rem,4vw,4.3rem);font-weight:600;line-height:1;letter-spacing:-.045em}
.home-v2 .leadership-note-inner>div p{max-width:54ch;margin-top:0;color:#59665f}
.home-v2 .inverse-link{color:var(--launch-green)}

.home-v2 .employer-section{background:var(--launch-green)}
.home-v2 .option-one-closing{background:var(--launch-cream)}

/* ---------- Leadership imagery on the About page ---------- */
.people-photo{background:transparent}

/* ---------- Footer: high contrast, fewer competing levels ---------- */
.site-footer{background:#09261f;color:#fff}
.site-footer .wordmark{color:#fff}
.site-footer .wordmark-country{color:#f2c87e}
.footer-brand p{max-width:34ch;color:#e3ece8;font-size:.91rem;line-height:1.62}
.footer-column strong{color:#d4e0db;font-size:.72rem;letter-spacing:.04em}
.footer-column a{color:#fff;font-size:.86rem}
.footer-column a:hover{text-decoration-color:#f2c87e}
.footer-column a:focus-visible{outline:3px solid #f2c87e;outline-offset:3px}
.footer-legal{max-width:1050px;color:#e0e9e5;font-size:.82rem;line-height:1.7}
.footer-bottom{color:#d4dfda;font-size:.78rem}

@media(max-width:1080px){
  .home-v2 .hero-layout{grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr);gap:2.5rem}
  .home-v2 .programme-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v2 .programme-card{min-height:300px}
}

@media(max-width:860px){
  .home-v2 .hero-layout,.home-v2 .journey-layout,.home-v2 .credential-layout,.home-v2 .leadership-note-inner,.home-v2 .programme-intro,.home-v2 .proof-intro{grid-template-columns:1fr}
  .home-v2 .programme-intro,.home-v2 .proof-intro{gap:1rem}
  .home-v2 .hero-workbench{width:100%;min-height:480px;margin-top:.5rem}
  .home-v2 .workbench-float-a{right:14px}
  .home-v2 .workbench-float-b{right:20px}
  .home-v2 .journey-heading h2{max-width:12ch}
  .home-v2 .leadership-note-inner{gap:1.2rem}
  .home-v2 .leadership-kicker{margin-bottom:.2rem}
}

@media(max-width:640px){
  .home-v2 .option-one-hero{padding-top:3rem}
  .home-v2 .hero-copy h1{font-size:clamp(3.05rem,15vw,4.4rem)}
  .home-v2 .hero-workbench{min-height:0;padding:.8rem;border-radius:18px}
  .home-v2 .workbench-screen{grid-template-columns:36px 1fr;min-height:380px}
  .home-v2 .screen-main{padding:.9rem}
  .home-v2 .screen-metrics{grid-template-columns:1fr 1fr}
  .home-v2 .screen-metrics div:last-child{grid-column:1/-1}
  .home-v2 .screen-evidence{grid-template-columns:1fr}
  .home-v2 .evidence-chart{display:none}
  .home-v2 .workbench-float{position:static;min-width:0;margin-top:.6rem;box-shadow:none}
  .home-v2 .programme-card-grid{grid-template-columns:1fr}
  .home-v2 .programme-card{min-height:250px}
  .home-v2 .journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v2 .journey-panel{min-height:300px}
  .home-v2 .credential-object{box-shadow:-10px 12px 0 #e4e9e6}
  .home-v2 .credential-object::after{width:52px;height:52px;border-width:8px}
  .footer-legal{font-size:.8rem}
}

@media(prefers-reduced-motion:reduce){
  .home-v2 .programme-card{transition:none}
}