/* Phase 4C: measured route-specific visual corrections. */

/* Shared semantics used only by the restored route blocks. */
.d-quick-contact{margin-top:30px}.d-quick-contact>h2{text-align:center;font-size:26px;margin:0 0 20px}.d-quick-contact>div{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--card-shadow)}.d-quick-contact a{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:13px;min-height:100px;padding:18px;border-right:1px solid var(--border-light)}.d-quick-contact a:last-child{border-right:0}.d-quick-contact i{font-size:28px;color:var(--gold);text-align:center}.d-quick-contact small{display:block;margin-top:4px;color:var(--text-muted);line-height:1.4}.d-sectors-approach>.layout-wide{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center}.d-sectors-approach h2{font-size:38px;margin:6px 0 14px}.d-approach-values{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.d-approach-values article{display:grid;grid-template-columns:42px 1fr;gap:13px;min-height:102px;padding:16px 0;border-bottom:1px solid var(--border-light)}.d-approach-values i{font-size:25px;color:var(--gold);padding-top:3px}.d-approach-values h3{margin:0 0 3px;font-size:17px}.d-approach-values p{margin:0;font-size:13px;line-height:1.42;color:var(--text-muted)}

@media(min-width:821px){
  /* STS Media: correct the route's hero, about, services and capability landmarks. */
  .p2c-purple .p2c-hero>.layout-wide{min-height:365px}
  .p2c-purple .p2c-hero-grid{min-height:315px}
  .p2c-purple .p2c-platform{height:310px}
  .p2c-purple .p2c-hero+.p2c-section{padding-block:2px}
  .p2c-purple #services{padding-block:125px}
  .p2c-purple #services .p2c-head{margin-bottom:18px}
  .p2c-purple #services .p2c-services article{padding:15px 17px}
  .p2c-purple #services .p2c-services p{min-height:40px;margin-block:5px 7px}
  .p2c-purple .p2c-strengths+.p2c-section{padding-block:4px}
  .p2c-purple .p2c-caps article{min-height:36px;padding-block:3px}
  .p2c-purple .p2c-group{margin-top:18px}
  .p2c-purple .p2c-world{height:195px;aspect-ratio:auto}

  /* Sectors: restore the reference hero and approved shared-standards block. */
  .d-hero.d-sectors>.layout-wide{min-height:480px}
  main:has(>.d-sectors)>.d-section.d-soft:not(.d-sectors-approach){padding-block:100px}
  .d-sectors-approach{padding-block:8px}
  .d-sectors-approach>.layout-wide{min-height:220px}

  /* Contact: restore the two-column route geometry and compact final CTA. */
  .d-hero.d-contact{display:block}
  .d-hero.d-contact>.layout-wide{min-height:543px}
  .d-contact-main{padding-block:56px}
  .d-contact-routing{padding-block:51.5px}
  .d-contact-routing .d-rows>a{min-height:112px}
  .d-contact-routing .d-next{min-height:260px;margin-top:38px;padding:34px;display:flex;flex-direction:column;justify-content:center}
  .d-final-contact>.layout-wide{min-height:127px;grid-template-columns:1fr auto}
  .d-final-contact picture,.d-final-contact p{display:none}
  body:has(.d-final-contact) .site-footer{min-height:415px;padding-top:68px}

  /* Legal pages: readable text and per-route measured hero/body rhythm. */
  .e-legal-hero-privacy-policy>.layout-wide{min-height:283px}
  .e-legal-hero-terms-and-conditions>.layout-wide{min-height:262px}
  .e-legal-hero-cookie-policy>.layout-wide{min-height:392px}
  .e-legal-hero-refund-policy-disclaimer>.layout-wide{min-height:258px}
  .e-legal-main{padding-block:55px}
  .e-legal-main .e-document{padding:31px;font-size:15px;line-height:1.55}
  .e-legal-main .e-document h2{font-size:21px;line-height:1.24;margin:12px 0 7px}
  .e-legal-main .e-document p,.e-legal-main .e-document li{line-height:1.55;margin-block:7px}
  .e-legal-main .e-document>section{padding:7px 0 22px}
  .e-legal-main .e-notice{min-height:112px;padding:20px}
  .e-legal-main-cookie-policy .e-document>section{padding:15px 0 34px}
  .e-legal-main-cookie-policy .e-cookie-cards{gap:18px;margin-block:20px}
  .e-legal-main-cookie-policy .e-cookie-cards article{min-height:135px;padding:22px}
  .e-legal-main-cookie-policy .e-notice{min-height:132px}
  .e-legal-main-privacy-policy{padding-block:80px}
  .e-legal-main-cookie-policy{padding-block:72.5px}
  .e-legal-main-refund-policy-disclaimer .e-support a{min-height:74px;padding:12px}
  .e-legal-main-terms-and-conditions{padding-block:123px}
  .e-legal-main-terms-and-conditions .e-document>section{padding-bottom:14px}
  .e-legal-main-terms-and-conditions .e-notice{min-height:95px}
  .e-legal-main-refund-policy-disclaimer{padding-block:111px}
  .e-legal-main-refund-policy-disclaimer .e-document>section{padding-bottom:10px}
  .e-legal-main-refund-policy-disclaimer .e-support a{min-height:64px}
  .e-legal-main-refund-policy-disclaimer .e-notice{min-height:100px}

  /* 404: measured route-only section geometry. */
  .e-404-hero>.layout-wide{min-height:572px}
  .e-404-recovery{min-height:490px}
  .e-404-recovery .e-cards{margin-bottom:0}
  .e-404-companies{min-height:560px}
  .e-404-companies .e-company-links a{min-height:92px}
  .e-404-help>.layout-wide{min-height:186px}
}

@media(max-width:820px){
  .d-quick-contact>div{grid-template-columns:1fr 1fr}.d-quick-contact a:nth-child(2){border-right:0}.d-quick-contact a:nth-child(-n+2){border-bottom:1px solid var(--border-light)}
  .d-sectors-approach>.layout-wide{grid-template-columns:1fr;gap:26px}.d-approach-values{grid-template-columns:1fr 1fr}
  .e-mobile-toc{padding:0}.e-mobile-toc summary{min-height:52px;display:flex;align-items:center;padding:0 16px;cursor:pointer}.e-mobile-toc a{min-height:44px;display:flex;align-items:center;font-size:15px}
}

@media(max-width:520px){
  /* Mobile rules keep text readable while matching the approved composition hierarchy. */
  .p2c-purple p,.e-legal-main p,.e-404-recovery p,.e-404-companies p{font-size:16px;line-height:1.5}
  .p2c-purple .p2c-features{grid-template-columns:1fr 1fr;gap:16px 12px}
  .p2c-purple .p2c-features article{display:block}.p2c-purple .p2c-features i{margin-bottom:7px}.p2c-purple .p2c-features p{font-size:13px;line-height:1.4}
  .p2c-purple .p2c-services article{display:grid;grid-template-columns:34px 1fr auto;grid-template-areas:"icon title link" "copy copy copy";align-items:center;gap:6px 10px;padding:14px}
  .p2c-purple .p2c-services i{grid-area:icon;font-size:23px}.p2c-purple .p2c-services h3{grid-area:title;margin:0;font-size:18px}.p2c-purple .p2c-services p{grid-area:copy;margin:4px 0 0;font-size:14px;line-height:1.45}.p2c-purple .p2c-services a{grid-area:link;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-size:13px}
  .p2c-purple .p2c-strengths>.layout-wide{grid-template-columns:1fr 1fr}.p2c-purple .p2c-strengths article{display:block;padding:14px 8px}.p2c-purple .p2c-strengths p{font-size:13px;line-height:1.4}
  .p2c-purple .p2c-caps article{min-height:58px}.p2c-purple .p2c-caps p{font-size:13px;line-height:1.35}

  .d-sectors-approach{padding-block:43px}.d-sectors-approach h2{font-size:30px}.d-approach-values{grid-template-columns:1fr}.d-approach-values article{min-height:96px}.d-approach-values p{font-size:15px;line-height:1.5}
  .d-quick-contact{margin-top:24px}.d-quick-contact>h2{font-size:24px}.d-quick-contact>div{grid-template-columns:1fr}.d-quick-contact a{border-right:0;border-bottom:1px solid var(--border-light);min-height:92px}.d-quick-contact a:last-child{border-bottom:0}
  .d-contact-routing .d-next{margin-top:28px}.d-final-contact picture{display:none}

  .e-legal-hero>.layout-wide{min-height:390px}.e-legal-hero h1{font-size:40px;line-height:1.08;text-wrap:balance}.e-legal-mark{font-size:64px}
  .e-legal-main{padding-block:40px}.e-mobile-toc{padding:0}.e-mobile-toc summary{min-height:52px;display:flex;align-items:center;padding:0 16px;cursor:pointer}.e-mobile-toc a{min-height:44px;display:flex;align-items:center;font-size:15px}
  .e-legal-main .e-document{padding:19px;font-size:16px;line-height:1.55}.e-legal-main .e-document h2{font-size:23px;line-height:1.25;margin:15px 0 8px;text-wrap:balance}.e-legal-main .e-document p,.e-legal-main .e-document li{font-size:16px;line-height:1.55}.e-legal-main .e-document>section,.e-legal-main-cookie-policy .e-document>section{padding:5px 0 19px}.e-legal-main .e-notice{grid-template-columns:36px 1fr;min-height:0;padding:17px}.e-legal-main .e-notice .btn{min-height:48px}.e-legal-main-cookie-policy .e-cookie-cards article{min-height:0;padding:16px}

  .e-404-hero>.layout-wide{min-height:455px}.e-404-hero h1{font-size:40px;text-wrap:balance}.e-404-recovery .e-cards{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}.e-404-recovery .e-cards article{padding:16px 12px;min-height:170px;display:flex;flex-direction:column;justify-content:center}.e-404-recovery .e-cards h3{font-size:18px}.e-404-recovery .e-cards p{font-size:14px;line-height:1.45}.e-404-companies .e-company-links a{min-height:92px}.e-404-help h2{font-size:28px;text-wrap:balance}
}

@media(max-width:360px){
  .p2c-purple .p2c-features,.p2c-purple .p2c-strengths>.layout-wide,.d-approach-values{grid-template-columns:1fr}
  .p2c-purple .p2c-services article{grid-template-columns:32px 1fr;grid-template-areas:"icon title" "copy copy" "link link"}.p2c-purple .p2c-services a{justify-self:start}
  .e-404-recovery .e-cards{grid-template-columns:1fr}
}
