/* V30 — final responsive alignment and editorial finish.
   Layout only: existing motion, imagery, navigation and interactions are retained. */
:root {
  --content-width:1280px;
  --gutter:clamp(24px,4vw,64px);
  --section-space:clamp(88px,10vw,152px);
  --layout-gap:clamp(32px,5vw,72px);
  --space-heading:clamp(32px,4vw,56px);
}
/* One common edge for every page, including the tablet navigation. */
body[data-page] :is(.container,.topbar .nav-shell) {
  width:min(var(--content-width),calc(100% - 2 * var(--gutter)));
  margin-inline:auto;
}
body[data-page] main :is(.split,.intro-grid,.closing-grid,.package-overview,.contact-layout,.resource-teaser-grid,.scenario-detail-grid,.article-layout,.service-directory,.guide-links,.pricing-grid,.report-formats,.feature-grid,.capability-grid,.premium-opening)>* { min-width:0; }
body[data-page] main :is(h1,h2,h3,h4) { text-wrap:balance; }
body[data-page] main .cover-story h1 { text-wrap:initial; }
body[data-page] main :is(.container>h2,.delivery-copy h2,.sequence-intro h2) {
  font-size:var(--type-section);font-weight:300;line-height:1.16;letter-spacing:-.032em;
}
body[data-page] main .premium-intro .intro-grid>div>p { color:var(--muted); }
body[data-page] main .premium-intro .intro-grid>div { padding-bottom:0; }
body[data-page] main .btn.text { border-bottom:0; }
body[data-page] main :is(.price>strong,.package-investment>strong,.finder-price,.scope-stats strong) { font-variant-numeric:tabular-nums; }

/* Let photo edges and the accompanying text share the same grid. */
body[data-page] main :is(.service-directory,.guide-links) { grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 48px; }
body[data-page] main :is(.service-directory>a,.guide-links>a) { padding:0;display:flex;flex-direction:column;min-width:0; }
body[data-page] main :is(.service-preview,.guide-cover) { margin:0 0 28px;width:100%;flex:none; }
body[data-page] main :is(.service-directory>a>b,.guide-links>a>b) { margin-top:auto;padding-top:24px; }
body[data-page] main :is(.service-directory>a>p,.guide-links>a>p) { margin-bottom:0; }
body[data-page] main .capability-grid { gap:48px 32px; }
body[data-page] main .capability-grid>a { padding:8px 0; }
body[data-page] main .capability-grid h3 { max-width:none; }
body[data-page] main .capability-link { margin-top:auto;padding-top:24px; }

/* Equal columns and shared content rows keep pricing easy to compare. */
body[data-page] main .pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch; }
body[data-page] main .price-card { padding:clamp(28px,2.6vw,40px); }
body[data-page] main .price-card-top { min-height:54px; }
body[data-page] main .price-card h3 { margin-top:24px; }
body[data-page] main .price-card li { margin:0;padding-block:10px; }
body[data-page] main .price-card .price-description { margin-top:18px; }
body[data-page] main .price-card .pill { border:0; }
body[data-page] main .price-card>.btn { width:100%;justify-content:space-between; }
@supports(grid-template-rows:subgrid) {
  @media(min-width:1180px) {
    body[data-page] main .pricing-grid { row-gap:0; }
    body[data-page] main .price-card { display:grid;grid-template-rows:subgrid;grid-row:span 8;row-gap:0; }
    body[data-page] main .price-card>.btn { margin-top:0;align-self:end; }
  }
}
/* Four narrow feature columns are reserved for genuinely wide canvases. */
@media(min-width:761px) and (max-width:1279px) {
  body[data-page] main .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1280px) {
  body[data-page] main .capability-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:1179px) {
  body[data-page] main .pricing-grid { grid-template-columns:minmax(0,1fr);max-width:700px;margin-inline:auto;gap:28px; }
  body[data-page] main .price-card-top { min-height:0; }
  body[data-page] main .price-card .price-description { max-width:55ch; }
}

/* A stacked column must release its desktop end alignment. */
@media(max-width:1023px) {
  body[data-page] main .premium-intro .intro-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start; }
  body[data-page] main .premium-intro .intro-grid>div { justify-self:start;width:100%;max-width:60ch;padding:0;border:0; }
  body[data-page] main .premium-split .premium-opening { grid-template-columns:minmax(0,1fr);gap:36px; }
  body[data-page] main .premium-split .premium-photo { aspect-ratio:1.6; }
  body[data-page] main .closing-grid { grid-template-columns:minmax(0,1fr);gap:28px; }
  body[data-page] main .closing-grid>div:last-child { justify-self:start;width:100%;max-width:60ch; }
  body[data-page] main .section-heading { flex-wrap:wrap;gap:24px; }
  body[data-page] main .section-heading>p { padding:0;max-width:60ch; }
  body[data-page] main .feature-grid { gap:40px 28px; }
  body[data-page] .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
  body[data-page] .footer-contact { grid-column:1/-1;max-width:60ch; }
}
@media(min-width:761px) and (max-width:900px) {
  body[data-page] main .report-formats { grid-template-columns:minmax(0,1fr);max-width:700px;margin-inline:auto; }
  body[data-page] main .feature-grid { grid-template-columns:minmax(0,1fr); }
  body[data-page] main .cover-grid { gap:28px; }
  body[data-page] main .cover-story h1 { font-size:clamp(48px,6.5vw,60px); }
}

@media(max-width:760px) {
  :root { --gutter:24px;--section-space:88px;--layout-gap:32px;--space-heading:36px; }
  body[data-page] main .premium-intro { padding-top:32px; }
  body[data-page] main .premium-intro .intro-grid { gap:20px; }
  body[data-page] main .premium-split .premium-opening { gap:28px; }
  body[data-page] main .premium-split .premium-photo { aspect-ratio:4/3; }
  body[data-page] main :is(.service-directory,.guide-links,.capability-grid) { grid-template-columns:minmax(0,1fr);gap:44px; }
  body[data-page] main :is(.service-preview,.guide-cover) { margin-bottom:24px; }
  body[data-page] main .capability-grid>a { padding:0; }
  body[data-page] main .price-card { padding:28px; }
  body[data-page] main .price-card .price-description { max-width:none; }
  body[data-page] main .cover-portrait>figcaption { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding-top:14px;font-size:10px;line-height:1.65; }
  body[data-page] main .cover-portrait>figcaption>span:last-child { white-space:nowrap; }
  body[data-page] main .cover-deck { margin-top:14px; }
  body[data-page] .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px; }
  body[data-page] .footer-contact { grid-column:1/-1;max-width:none; }
  body[data-page] .footer-top { align-items:start;gap:24px; }
  body[data-page] main .chapter-nav>.container { width:100%;padding-inline:var(--gutter); }
  body[data-page] main .report-heading { gap:16px; }
  body[data-page] main .report-bottom { flex-wrap:wrap;gap:12px; }
  body[data-page] main .scope-detail-grid summary { align-items:start; }
}
@media(max-width:374px) {
  :root { --gutter:20px;--section-space:76px;--type-display:36px;--type-section:32px;--type-feature:30px;--type-card:26px; }
  body[data-page] main .price-card { padding:24px; }
  body[data-page] main .intro-grid h1 { overflow-wrap:break-word; }
  body[data-page] main .cover-portrait>figcaption { grid-template-columns:minmax(0,1fr);gap:4px; }
  body[data-page] main .cover-portrait>figcaption>span:last-child { text-align:left; }
}
/* Keep anchors clear of the existing header without changing its behavior. */
main :is(.section[id],.scenario-detail[id],.article-layout article>section[id]) { scroll-margin-top:104px; }
@media(max-width:760px) { main :is(.section[id],.scenario-detail[id],.article-layout article>section[id]) { scroll-margin-top:88px; } }
@media(max-height:500px) and (max-width:1023px) { main :is(.section[id],.scenario-detail[id],.article-layout article>section[id]) { scroll-margin-top:24px; } }
