/* Root64 final UI guardrails — loaded last on every page.
   Purpose: one stable type/spacing system, no clipped copy, normal header flow. */
:root{
  --r64-shell:1240px;
  --r64-gap:clamp(1.25rem,3vw,2.5rem);
  --r64-h1:clamp(2.65rem,4.15vw,3.9rem);
  --r64-h2:clamp(2rem,2.8vw,2.75rem);
  --r64-h3:clamp(1.15rem,1.45vw,1.4rem);
  --r64-body:1rem;
}

html{scroll-padding-top:24px}
body{font-size:var(--r64-body)!important;line-height:1.68!important}
main{overflow-x:clip!important;overflow-y:visible!important}
.shell{width:min(calc(100% - (2 * var(--gutter))),var(--r64-shell))!important;max-width:var(--r64-shell)!important;padding-inline:0!important}

/* Header belongs to normal document flow; it is not pinned while scrolling. */
.masthead{position:relative!important;top:auto!important;z-index:60!important}
.masthead.is-scrolled{box-shadow:none!important}
@media(min-width:961px){
  .masthead__inner{min-height:88px!important}
  .masthead .brand-globe{width:74px!important;height:60px!important}
  .masthead .brand-wordmark{font-size:2.45rem!important}
  .masthead .nav__links{gap:30px!important}
  .masthead .nav__links>a{font-size:.86rem!important}
  .masthead .nav .nav__whatsapp{min-height:46px!important;padding:9px 19px!important;font-size:.85rem!important}
}
.nav__whatsapp,.nav__whatsapp:hover{transform:translateY(-50%)!important}
@media(max-width:960px){.nav__whatsapp,.nav__whatsapp:hover{transform:none!important}}

/* Content must remain readable even if reveal JS is delayed or blocked. */
.has-reveal [data-reveal],
.has-reveal .band .sec-head,
.has-reveal .band .card{opacity:1!important;transform:none!important}

/* Shared typography: no section may invent poster-scale copy. */
h1,.page-head h1{font-size:var(--r64-h1)!important;line-height:1.08!important;overflow-wrap:normal;word-break:normal}
h2,
.band h2,
.cta-panel h2{font-size:var(--r64-h2)!important;line-height:1.14!important;overflow-wrap:normal;word-break:normal}
h3,.band h3{font-size:var(--r64-h3)!important;line-height:1.3!important}
p,li,dd,td{font-size:var(--r64-body);line-height:1.7}
.page-head p,.sec-head p,.lede,.article p{font-size:1.02rem!important;line-height:1.72!important}
.page-head h1,.page-head p,.sec-head h2,.sec-head p,.article,.prose{max-width:68ch}
.band{padding-block:clamp(3.75rem,5vw,5rem)!important}
.band--tight{padding-block:clamp(2.75rem,4vw,3.75rem)!important}
.sec-head{max-width:780px!important;margin-bottom:34px!important}
.mark{font-size:.72rem!important;line-height:1.45!important;letter-spacing:.14em!important;margin-bottom:16px!important}

/* Standard inner-page introduction. */
.page-head{padding:34px 0 54px!important}
.breadcrumbs{margin-bottom:26px!important}
.page-head__grid{grid-template-columns:minmax(0,1fr) 150px!important;gap:42px!important}
.page-head h1{max-width:18ch!important;margin:10px 0 16px!important}
.page-head__brand{padding:10px!important}

/* Repeated editorial section headers use one predictable layout. */
.services-catalog__head,
.about-method__head,
.evidence-cases__head,
.training-gallery__head,
.insights-journal__head,
.service-process__head{
  display:block!important;
  max-width:800px!important;
  margin:0 0 36px!important;
}
.services-catalog__head h2,
.about-method__head h2,
.evidence-cases__head h2,
.training-gallery__head h2,
.insights-journal__head h2,
.service-process__head h2{max-width:19ch!important;margin:0 0 14px!important}
.services-catalog__head p,
.about-method__head p,
.service-process__head p{max-width:62ch!important;margin:0!important}

/* HOME — make the sector block deliberate rather than uneven loose pills. */
.route-home .sectors{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px!important;
  margin-top:30px!important;
}
.route-home .sectors li{
  min-width:0;
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid rgba(139,85,216,.34)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,rgba(139,85,216,.09),rgba(9,15,32,.8))!important;
  color:#e2d7f3!important;
  font-size:.94rem!important;
  line-height:1.45!important;
}
.route-home .coverage-stage__copy h2{font-size:clamp(2.35rem,3.35vw,3.2rem)!important;max-width:12ch!important}
.route-home .coverage-stage__visual{min-height:540px!important}
.route-home .coverage-stage .orbit-visual{height:260px!important}
.route-home .coverage-row{min-height:126px!important}

/* CONTACT — remove double panel padding/card treatment that was squeezing text. */
.contact-command__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;align-items:stretch!important}
.contact-command__grid>*{min-width:0!important}
.contact-command__visual{min-height:720px!important;border-radius:14px!important}
.contact-command__overlay{left:38px!important;right:38px!important;bottom:48px!important}
.contact-command__overlay h2{font-size:clamp(2.15rem,3vw,2.9rem)!important;line-height:1.12!important;max-width:14ch!important}
.contact-command__overlay p{max-width:42ch!important}
.contact-command__panel{
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.contact-command__direct,.contact-command__next{
  min-width:0!important;
  padding:clamp(28px,3.25vw,44px)!important;
  border:1px solid var(--ref-line)!important;
  border-radius:14px!important;
  overflow:visible!important;
}
.contact-command__direct h2,.contact-command__next h2{font-size:clamp(2rem,2.65vw,2.65rem)!important;max-width:none!important;white-space:normal!important}
.contact-command__direct p{max-width:52ch!important}
.contact-command__next{background:#e8f1ef!important;color:#26313a!important}
.contact-command__next .mark{color:#9154e2!important}
.contact-command__next h2,.contact-command__next h3{color:#111923!important}
.contact-command__next .steps{margin-top:28px!important}
.contact-command__next .steps li{min-width:0!important;padding:0 0 26px 64px!important;background:transparent!important;color:#26313a!important}
.contact-command__next .steps h4{color:#111923!important;font-size:1.04rem!important}
.contact-command__next .steps p{color:#566474!important;font-size:.94rem!important;overflow-wrap:break-word}
.contact-command__next .steps li:before{left:-22px!important}
.contact-channels dd,.contact-channels a{overflow-wrap:anywhere}
.contact-privacy .panel{max-width:800px!important}

/* TRAINING — remove oversized poster treatment and awkward heading/image geometry. */
.training-stage{min-height:520px!important;border-radius:0!important}
.training-stage__content{padding-bottom:54px!important}
.training-stage__content h2{font-size:clamp(2.5rem,3.7vw,3.6rem)!important;line-height:1.08!important;max-width:14ch!important}
.training-stage__content p{max-width:54ch!important}
.training-formats__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.training-format{grid-column:auto!important;min-height:285px!important;padding:28px!important}
.training-format>div{margin-bottom:42px!important}
.training-outcomes__grid{grid-template-columns:1fr 1fr!important;gap:18px!important}
.training-outcomes__audience,.training-outcomes__result{padding:clamp(28px,4vw,48px)!important;min-width:0!important}
.route-training .training-gallery .gallery{grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr)!important;grid-template-rows:210px 210px!important;gap:16px!important}
.route-training .training-gallery .gallery .image-frame,
.route-training .training-gallery .gallery .image-frame:first-child{
  height:100%!important;
  aspect-ratio:auto!important;
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.route-training .training-gallery .gallery .image-frame:first-child{grid-row:1/3!important}
.route-training .training-gallery .gallery .image-slot{width:100%!important;height:100%!important;object-fit:cover!important}
.training-speaker__panel{min-height:500px!important;border-radius:14px!important}
.training-speaker__copy{padding:clamp(34px,5vw,64px)!important}
.training-speaker__copy h2{font-size:clamp(2.35rem,3.1vw,3rem)!important}

/* AMIT DUBEY — keep the dedicated visual identity, but within the same readable scale. */
.route-amit-dubey .amit-hero-v2{min-height:auto!important}
.route-amit-dubey .amit-hero-v2__grid{min-height:570px!important;align-items:center!important;padding-block:36px!important}
.route-amit-dubey .amit-hero-v2 h1{font-size:clamp(3.25rem,4.75vw,4.55rem)!important;line-height:1!important}
.route-amit-dubey .amit-hero-v2__role{font-size:.92rem!important;line-height:1.5!important}
.route-amit-dubey .amit-hero-v2__lede{font-size:1.02rem!important;line-height:1.68!important;max-width:50ch!important}
.route-amit-dubey .amit-hero-v2__visual{margin-top:0!important;align-self:center!important}
.route-amit-dubey .amit-stage-v2__copy h2{font-size:clamp(2.35rem,3.4vw,3.25rem)!important;max-width:15ch!important}
.route-amit-dubey .amit-gallery-v2__head h2{font-size:var(--r64-h2)!important}

/* SERVICES — consistent cards and headings, no poster-scale type. */
.services-catalog__grid{gap:18px!important}
.service-index-card{min-width:0!important}
.service-index-card__body h3{font-size:1.35rem!important}
.services-scoping__visual{height:460px!important;border-radius:14px!important}
.service-opening__copy h2,.service-process__head h2{font-size:var(--r64-h2)!important;max-width:17ch!important}
.service-variants .def-list,.service-knowledge .def-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.service-variants .def-list>div,.service-knowledge .def-list>div{min-height:220px!important;padding:30px!important}
.service-process .steps li{min-height:230px!important}

/* ABOUT / EVIDENCE / TRUST / INSIGHTS — same visual rhythm and readable sizes. */
.about-manifesto__copy h2,.trust-site__grid>div:first-child h2,.evidence-delivery h2{font-size:var(--r64-h2)!important;max-width:18ch!important}
.about-principle{min-height:250px!important;padding:32px!important}
.about-method__grid>div{min-height:180px!important}
.evidence-cases__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.evidence-case,.evidence-case:nth-child(3){grid-column:auto!important;min-width:0!important}
.evidence-case__visual{height:240px!important}
.evidence-case__body{padding:28px!important}
.evidence-delivery__visual{height:440px!important;border-radius:14px!important}
.trust-handling__visual{height:500px!important;border-radius:14px!important}
.insights-feature{min-height:470px!important;border-radius:14px!important;overflow:hidden!important;border:1px solid var(--ref-line)!important}
.insights-feature__copy{padding:clamp(30px,4vw,52px)!important}
.insights-feature__copy h2{font-size:clamp(2.05rem,2.8vw,2.7rem)!important;line-height:1.14!important}
.insights-journal__grid .insight-card{min-height:430px!important}

/* FAQ / legal / articles: side navigation should not fight a now-static header. */
.faq-command__nav,.legal-command__nav,.insight-reading__nav{top:28px!important}
.faq-command__content,.legal-command__article,.insight-reading__article{min-width:0!important}
.legal-section h2,.insight-reading__article h2{font-size:clamp(1.65rem,2.2vw,2.05rem)!important;line-height:1.25!important}
.article p,.article li,.qa__body p,.legal-section p{overflow-wrap:break-word}

@media(max-width:1050px){
  .contact-command__grid,.training-outcomes__grid{grid-template-columns:1fr!important}
  .contact-command__visual{min-height:560px!important}
  .training-formats__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .evidence-cases__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .evidence-case:last-child{grid-column:1/-1!important}
}

@media(max-width:760px){
  :root{--r64-h1:2.55rem;--r64-h2:2rem;--r64-h3:1.18rem}
  .shell{width:calc(100% - 40px)!important}
  .masthead__inner{width:calc(100% - 32px)!important;min-height:82px!important;padding-inline:0!important}
  .page-head{padding:28px 0 42px!important}
  .page-head__grid{grid-template-columns:1fr!important}
  .page-head__brand{display:none!important}
  .band{padding-block:3.25rem!important}
  .route-home .sectors{grid-template-columns:1fr!important}
  .contact-command__visual{min-height:480px!important}
  .contact-command__overlay{left:24px!important;right:24px!important;bottom:30px!important}
  .contact-command__overlay h2{font-size:2.15rem!important}
  .contact-command__direct,.contact-command__next{padding:26px 22px!important}
  .contact-command__next .steps li{padding-left:54px!important}
  .training-stage{min-height:500px!important}
  .training-stage__content{padding-bottom:38px!important}
  .training-stage__content h2{font-size:2.45rem!important}
  .training-formats__grid{grid-template-columns:1fr!important}
  .route-training .training-gallery .gallery{grid-template-columns:1fr!important;grid-template-rows:none!important}
  .route-training .training-gallery .gallery .image-frame,
  .route-training .training-gallery .gallery .image-frame:first-child{grid-row:auto!important;height:auto!important;aspect-ratio:3/2!important}
  .training-speaker__panel{min-height:460px!important}
  .route-amit-dubey .amit-hero-v2__grid{min-height:auto!important;padding-block:42px 0!important}
  .route-amit-dubey .amit-hero-v2 h1{font-size:3.1rem!important}
  .evidence-cases__grid{grid-template-columns:1fr!important}
  .evidence-case:last-child{grid-column:auto!important}
  .services-scoping__visual,.evidence-delivery__visual,.trust-handling__visual{height:360px!important}
  .service-variants .def-list,.service-knowledge .def-list{grid-template-columns:1fr!important}
  .insights-feature{grid-template-columns:1fr!important;min-height:0!important}
  .insights-feature__visual{height:280px!important}
}
