/* V33 — Garamond alignment & global rhythm recalibration
   Re-tunes spacing, proportions and controls after the full-site Garamond switch. */

:root{
  --v33-section: clamp(52px, 4.4vw, 68px);
  --v33-section-tight: clamp(40px, 3.6vw, 56px);
  --v33-gap: clamp(34px, 4.2vw, 58px);
  --v33-rule: rgba(7,28,51,.12);
}

/* Shared Garamond metrics */
body{
  line-height:1.52 !important;
}
p{line-height:1.58;}
.eyebrow,.overline,.section-label,.portfolio-intro-label,
.contact-route-label,.footer-name-v22 small,.ctc-kicker{
  line-height:1.18 !important;
}
.button,.text-link,.cta-link,.footer-nav-v23 a,.footer-action-v23{
  line-height:1.1 !important;
}

/* Header — Garamond is wider than the previous UI face. */
.header-inner{height:82px !important;}
.site-nav{gap:24px !important;}
.site-nav a{line-height:1 !important;}
.nav-linkedin{padding-left:22px !important;}
.brand-copy{line-height:1.02 !important;}
.brand-copy strong{font-size:1rem !important;}
.brand-copy small{font-size:.58rem !important;}

/* Shared control proportions */
.button{
  min-height:46px !important;
  padding:0 18px !important;
}
.text-link{padding-bottom:3px !important;}

/* ---------- HOME ---------- */
.route-home .hero{
  min-height:auto !important;
  padding:118px 0 38px !important;
}
.route-home .hero-grid{
  gap:clamp(42px,4.5vw,62px) !important;
  align-items:center !important;
}
.route-home .hero h1{
  margin-top:18px !important;
  margin-bottom:10px !important;
}
.route-home .hero-role{margin:22px 0 12px !important;}
.route-home .hero-intro{line-height:1.55 !important;}
.route-home .hero-actions{margin-top:20px !important;}
.route-home .credential-line{margin-top:20px !important;}
.route-home .hero-portrait{min-height:500px !important;}
.route-home .hero-foot{margin-top:24px !important;}

.route-home .profile-flow,
.route-home .recognition,
.route-home .training-story,
.route-home .author{
  padding-top:var(--v33-section) !important;
  padding-bottom:var(--v33-section) !important;
}
.route-home .profile-editorial,
.route-home .recognition-grid,
.route-home .training-flow,
.route-home .author-grid,
.route-home .ctc-layout{
  gap:var(--v33-gap) !important;
}
.route-home .profile-heading h2,
.route-home .recognition h2,
.route-home .training-story h2,
.route-home .author-heading h2,
.route-home .ctc-heading h2,
.route-home .final-cta h2{
  margin-top:10px !important;
  margin-bottom:12px !important;
  line-height:1.02 !important;
}
.route-home .profile-note{margin-top:12px !important; padding-top:14px !important;}
.route-home .profile-body{padding-top:0 !important;}

.route-home .expertise{
  padding:64px 0 !important;
  margin:-8px 0 !important;
}
.route-home .expertise-grid{
  gap:clamp(44px,4.6vw,64px) !important;
  align-items:center !important;
}
.route-home .expertise-intro h2{
  margin:16px 0 14px !important;
  line-height:1.01 !important;
}
.route-home .expertise-intro p{line-height:1.55 !important;}
.route-home .expertise-item{
  min-height:44px !important;
  padding:7px 7px !important;
}

.route-home .recognition-list{
  transform:none !important;
  padding:10px 22px !important;
}
.route-home .recognition-list article{padding:11px 0 !important;}

.route-home .training-story-copy{
  padding:18px 22px !important;
}
.route-home .training-story-copy p{
  margin-top:0 !important;
  margin-bottom:14px !important;
  line-height:1.55 !important;
}

.route-home .publications-list,
.route-home .author-publications{
  gap:0 !important;
}
.route-home .publication-row{padding-top:12px !important; padding-bottom:12px !important;}

.route-home .ctc-connection{
  padding:52px 0 !important;
}
.route-home .ctc-layout{align-items:center !important;}
.route-home .ctc-copy{padding-left:18px !important;}
.route-home .ctc-copy p{line-height:1.55 !important; margin-top:0 !important;}
.route-home .ctc-actions{margin-top:18px !important; gap:12px !important;}
.route-home .ctc-meta-strip{margin-top:18px !important;}

.route-home .final-cta{
  padding:28px 0 !important;
}
.route-home .final-cta-inner{
  gap:30px !important;
  align-items:center !important;
}
.route-home .final-cta-inner > div{
  padding:18px 0 !important;
}
.route-home .final-cta-inner > div > span{margin-bottom:8px !important;}
.route-home .cta-link{
  min-height:48px !important;
  padding-left:22px !important;
}

/* ---------- TRAINING ---------- */
.route-training .portfolio-hero{
  min-height:auto !important;
  padding:118px 0 48px !important;
}
.route-training .portfolio-hero-grid{
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.76fr) !important;
  gap:clamp(46px,5vw,72px) !important;
  align-items:center !important;
}
.route-training .portfolio-title h1{
  margin:18px 0 12px !important;
  line-height:.91 !important;
}
.route-training .portfolio-principles-inline{
  margin-top:18px !important;
  gap:18px !important;
}
.route-training .portfolio-intro{
  padding:12px 0 12px 26px !important;
}
.route-training .portfolio-intro-label{margin-bottom:10px !important;}
.route-training .portfolio-intro p{
  margin-bottom:12px !important;
  line-height:1.42 !important;
}
.route-training .portfolio-intro small{
  padding-top:11px !important;
  line-height:1.5 !important;
}

.route-training .portfolio-gallery{
  padding:48px 0 58px !important;
}
.route-training .portfolio-gallery-head{
  gap:44px !important;
  margin-bottom:26px !important;
  padding-bottom:18px !important;
}

.route-training .portfolio-awaiting{
  padding:42px 0 46px !important;
}
.route-training .portfolio-awaiting-grid{
  gap:clamp(38px,4.5vw,60px) !important;
  align-items:center !important;
}
.route-training .portfolio-awaiting-title h2{
  margin-top:8px !important;
  line-height:1.04 !important;
}
.route-training .portfolio-awaiting-copy{
  padding-left:26px !important;
}
.route-training .portfolio-awaiting-copy p{
  margin-bottom:12px !important;
  line-height:1.55 !important;
}

.route-training .training-method{
  padding:50px 0 52px !important;
}
.route-training .training-method-head{
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr) !important;
  gap:clamp(38px,4.5vw,60px) !important;
  align-items:center !important;
  padding-bottom:22px !important;
}
.route-training .training-method h2{
  margin-top:8px !important;
  font-size:clamp(2.45rem,3.3vw,3.45rem) !important;
  line-height:1.02 !important;
}
.route-training .training-method-head > p{line-height:1.55 !important;}
.route-training .training-method-steps{
  margin-top:22px !important;
}
.route-training .training-method-steps article{
  min-height:auto !important;
  padding:4px 26px 2px 0 !important;
}
.route-training .training-method-steps article + article{padding-left:26px !important;}
.route-training .training-method-steps span{margin-bottom:12px !important;}
.route-training .training-method-steps h3{margin-bottom:6px !important;}
.route-training .training-method-steps p{line-height:1.5 !important;}

/* The screenshot section: compact and centered after Garamond. */
.route-training .final-cta{
  padding:22px 0 !important;
}
.route-training .final-cta-inner{
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:34px !important;
  align-items:center !important;
  min-height:0 !important;
  padding:0 !important;
}
.route-training .final-cta-inner > div{
  padding:18px 0 !important;
}
.route-training .final-cta-inner > div > span{
  margin-bottom:7px !important;
  line-height:1.1 !important;
}
.route-training .final-cta h2{
  margin:0 !important;
  font-size:clamp(2.35rem,3vw,3.2rem) !important;
  line-height:1.02 !important;
}
.route-training .cta-link{
  min-width:210px !important;
  min-height:48px !important;
  padding-left:22px !important;
  align-self:center !important;
}

/* ---------- CONTACT ---------- */
.route-contact .contact-v24{
  min-height:auto !important;
  padding:116px 0 48px !important;
}
.contact-v24-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr) !important;
  gap:clamp(46px,5vw,72px) !important;
  align-items:center !important;
}
.route-contact .contact-v24-copy h1{
  margin:16px 0 14px !important;
  font-size:clamp(3.45rem,4.7vw,4.85rem) !important;
  line-height:.99 !important;
}
.contact-v24-lead{line-height:1.56 !important;}
.contact-v24-tags{margin-top:18px !important;}
.contact-v24-routes{padding:20px 22px 18px !important;}
.contact-v24-routes-head{padding-bottom:10px !important;}
.contact-route{
  min-height:54px !important;
  padding:9px 0 !important;
  grid-template-columns:82px 1fr 24px !important;
}

.route-contact .contact-v24-form-section{
  padding:52px 0 58px !important;
}
.contact-v24-form-grid{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr) !important;
  gap:clamp(44px,5vw,72px) !important;
  align-items:center !important;
}
.contact-v24-form-intro{padding-top:0 !important;}
.route-contact .contact-v24-form-intro h2{
  margin:10px 0 12px !important;
  font-size:clamp(2.55rem,3.35vw,3.45rem) !important;
  line-height:1.02 !important;
}
.contact-v24-form-intro > p{line-height:1.55 !important;}
.contact-v24-brief{margin-top:20px !important;}
.contact-v24-brief > div{padding:8px 0 !important;}
.contact-v24-ctc{margin-top:16px !important; padding:10px 13px !important;}
.contact-v24-form-panel{padding:26px 28px 24px !important;}
.contact-v24-form{gap:14px !important;}
.contact-v24-form input,
.contact-v24-form textarea{padding:10px 12px !important;}
.contact-v24-form textarea{min-height:128px !important;}
.contact-v24-submit-row{margin-top:2px !important;}

/* ---------- FOOTER ---------- */
.site-footer.footer-v23{padding-top:30px !important;}
.footer-main-v23{align-items:center !important;}
.footer-statement-v23{line-height:1.3 !important;}
.footer-nav-v23 a{min-height:38px !important;}
.footer-action-v23{min-height:78px !important;}
.footer-bottom-v23{margin-top:18px !important; padding-top:12px !important;}

/* ---------- TABLET ---------- */
@media (max-width:1024px){
  .site-nav{gap:18px !important;}
  .route-home .hero{padding-top:108px !important;}
  .route-home .hero-portrait{min-height:450px !important;}

  .route-training .portfolio-hero-grid,
  .contact-v24-grid{
    gap:36px !important;
  }
  .route-training .final-cta h2{font-size:clamp(2.2rem,3.7vw,2.85rem) !important;}
}

/* ---------- MOBILE ---------- */
@media (max-width:860px){
  :root{
    --v33-section:50px;
    --v33-section-tight:42px;
    --v33-gap:28px;
  }
  .header-inner{height:72px !important;}

  .route-home .hero{
    padding:92px 0 32px !important;
  }
  .route-home .hero-grid{gap:28px !important;}
  .route-home .hero-portrait{min-height:auto !important;}
  .route-home .hero-foot{margin-top:18px !important;}
  .route-home .expertise{padding:52px 0 !important; margin:-4px 0 !important;}
  .route-home .expertise-grid{gap:28px !important;}
  .route-home .recognition-list{padding:8px 16px !important;}
  .route-home .ctc-connection{padding:46px 0 !important;}
  .route-home .ctc-copy{padding-left:0 !important;}
  .route-home .final-cta{padding:22px 0 !important;}
  .route-home .final-cta-inner > div{padding:14px 0 !important;}

  .route-training .portfolio-hero{
    padding:94px 0 38px !important;
  }
  .route-training .portfolio-hero-grid,
  .route-training .portfolio-awaiting-grid,
  .route-training .training-method-head{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .route-training .portfolio-intro{padding:12px 0 12px 20px !important;}
  .route-training .portfolio-awaiting{padding:38px 0 40px !important;}
  .route-training .portfolio-awaiting-copy{padding-left:20px !important;}
  .route-training .training-method{padding:44px 0 46px !important;}
  .route-training .training-method-steps{
    grid-template-columns:1fr !important;
    margin-top:18px !important;
  }
  .route-training .training-method-steps article,
  .route-training .training-method-steps article + article{
    padding:14px 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .route-training .training-method-steps article:first-child{border-top:0;}
  .route-training .final-cta{padding:18px 0 !important;}
  .route-training .final-cta-inner{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .route-training .final-cta-inner > div{padding:14px 0 !important;}
  .route-training .cta-link{
    min-width:0 !important;
    width:100% !important;
    border-left:0 !important;
    border-top:1px solid var(--v33-rule) !important;
    padding:14px 0 !important;
  }

  .route-contact .contact-v24{
    padding:94px 0 40px !important;
  }
  .contact-v24-grid,
  .contact-v24-form-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .route-contact .contact-v24-copy h1{
    font-size:clamp(3rem,12vw,4.1rem) !important;
    line-height:1.01 !important;
  }
  .contact-v24-routes{padding:18px 18px 16px !important;}
  .route-contact .contact-v24-form-section{padding:44px 0 48px !important;}
  .contact-v24-form-panel{padding:22px 20px 20px !important;}

  .footer-main-v23{gap:22px !important;}
  .footer-bottom-v23{margin-top:16px !important;}
}

@media (max-width:600px){
  .route-home .profile-flow,
  .route-home .recognition,
  .route-home .training-story,
  .route-home .author{padding-top:44px !important; padding-bottom:44px !important;}

  .route-training .portfolio-title h1{line-height:.94 !important;}
  .route-training .portfolio-principles-inline{flex-wrap:wrap !important; gap:10px 16px !important;}

  .contact-route{grid-template-columns:72px 1fr 20px !important;}
  .contact-v24-form{grid-template-columns:1fr !important;}
  .contact-v24-form .field-wide{grid-column:1 !important;}
}
