/* DALP Quiet Editorial — shared light-surface system.
   Scoped to non-P01 pages and to P01's light sections only; the dark Experience
   first screen (.dl-hero, its header, counter, map, cards) is never targeted. */
:root{
  --qe-h1:clamp(2.375rem,1.6rem + 3.4vw,4.25rem);   /* 38px mobile -> 68px desktop */
  --qe-h2:clamp(2rem,1.7rem + 1.1vw,2.625rem);       /* 32 -> 42 */
  --qe-h3:clamp(1.25rem,1.15rem + .45vw,1.625rem);   /* 20 -> 26 */
  --qe-body:clamp(1.0625rem,1rem + .14vw,1.125rem); /* 17 -> 18 */
  --qe-lead:clamp(1.1875rem,1.14rem + .22vw,1.3125rem); /* 19 -> 21 */
  --qe-util:.9375rem;                                 /* 15 */
  --qe-eyebrow:.75rem;                                /* 12 */
  --qe-measure:67ch;
  --qe-container:78rem;
  --qe-gutter:#e2e8e3;
  --qe-space-1:.75rem;
  --qe-space-2:1.5rem;
  --qe-space-3:3rem;
  --qe-space-4:5rem;
  --qe-control-height:2.75rem;
  --qe-focus:2px solid var(--teal);
  --qe-pad:clamp(1.25rem,4.8vw,5.8rem);               /* 20px mobile min */
  --qe-rule:1px solid var(--line);
}
/* ---------- page base (non-Experience pages) ---------- */
@media (max-width:720px){
  /* Let the in-flow navigation expand the header instead of painting over
     the observatory. Also works when JavaScript is unavailable. */
  body[data-page=P01] header.site-header{height:auto;min-height:74px}
}
body:not([data-page=P01]){background:var(--qe-gutter);color:var(--ink);font-size:var(--qe-body);line-height:1.65}
body:not([data-page=P01]) main{max-width:var(--qe-container);margin-inline:auto;background:var(--ivory)}
body[data-page=P01] main{background:var(--qe-gutter)}
/* P01's dark observatory stays full-bleed; its light editorial sections use
   the same centered reading canvas as the other routes, even on ultrawides. */
body[data-page=P01] main > :is(.origin-section,.content-intro,.next-section){width:100%;max-width:var(--qe-container);margin-inline:auto}
@media print{
  body:not([data-page=P01]),body:not([data-page=P01]) main,body[data-page=P01] main{background:white!important}
}
.qe-brand-emblem{display:block;width:44px;height:44px;object-fit:contain}
body:not([data-page=P01]) main :is(h1,h2,h3){color:var(--ink);font-family:var(--serif);font-weight:400}
body:not([data-page=P01]) .eyebrow,body[data-page=P01] :is(.content-intro,.origin-section,.next-section) .eyebrow{font-size:var(--qe-eyebrow);letter-spacing:.14em;font-weight:700}
body:not([data-page=P01]) .eyebrow-icon{display:none}
/* hero: no gradient empty area */
.qe-hero{background:transparent!important;background-image:none!important;padding:clamp(2.5rem,4vw,3.5rem) var(--qe-pad) 2.5rem!important;border-bottom:var(--qe-rule);min-height:0!important}
.qe-hero h1{font-size:var(--qe-h1)!important;line-height:1.05!important;letter-spacing:-.03em;max-width:27ch;margin:1.1rem 0 1.4rem;text-wrap:balance}
.qe-hero .page-lead{font-size:var(--qe-lead);line-height:1.55;color:var(--muted);max-width:var(--qe-measure);margin:0}
.qe-hero .breadcrumb{display:none}
.qe-hero .breadcrumb a{color:var(--muted);min-height:44px;display:inline-flex;align-items:center}
/* Reading area: one logical flow, with section labels alongside on desktop. */
.qe-reading{display:block!important;padding:2rem var(--qe-pad) 2.5rem!important;border-bottom:var(--qe-rule);background:transparent}
.qe-reading .article-copy,
body[data-page=P01] .content-intro .article-copy{max-width:var(--qe-measure);font-size:var(--qe-body);line-height:1.65;color:var(--ink)}
.qe-reading .article-copy p,body[data-page=P01] .content-intro .article-copy p{margin:0;font-size:var(--qe-body);line-height:1.6;max-width:78ch}
.category-reference dt{font-family:var(--serif);font-size:1.2rem;margin-top:1rem}
.category-reference dd{margin:0;padding:0 0 .75rem;border-bottom:var(--qe-rule)}
.category-reference dd .text-link{display:inline-flex;align-items:center;min-height:44px}
.qe-reading .article-copy p + p,body[data-page=P01] .content-intro .article-copy p + p{margin-top:.75rem}
.qe-reading .article-copy > section,body[data-page=P01] .content-intro .article-copy > section{margin:0;padding:0;border:0}
.qe-reading .article-copy > section + section,
.qe-reading .article-copy > .qe-subtitle + section,
body[data-page=P01] .content-intro .article-copy > section + section{margin-top:1.5rem;padding-top:1.5rem;border-top:var(--qe-rule)}
.qe-reading .article-copy h2,body[data-page=P01] .content-intro .article-copy h2{font-size:clamp(1.625rem,1.15rem + 1vw,1.875rem);line-height:1.2;letter-spacing:-.02em;margin:0 0 .75rem;padding:0;border:0}
.qe-reading .article-copy > h2:first-child,.qe-reading .article-copy > section:first-child > h2,
body[data-page=P01] .content-intro .article-copy > h2:first-child{margin-top:0;padding-top:0;border-top:0}
.qe-reading .article-copy h3,body[data-page=P01] .content-intro .article-copy h3{font-size:var(--qe-h3);line-height:1.25;margin:1rem 0 .5rem}
.qe-reading .faq-group h2 + h3{margin-top:0}
.qe-subtitle{font-size:inherit}
.qe-reading .article-copy .button{margin-top:1rem}
/* Footprints retains its approved centered notes and native FAQ.
   Compact reading rhythm above is shared by every editorial page. */
body[data-page=P03] .ie-root{padding-bottom:1rem}
body[data-page=P03] .qe-reading{padding-top:1.5rem!important;padding-bottom:2.5rem!important}
body[data-page=P03] .qe-reading .article-copy{max-width:72ch;margin-inline:auto}
body[data-page=P03] .qe-reading .article-copy > section{margin:0;padding:0;border:0}
body[data-page=P03] .qe-reading .article-copy > section + section{margin-top:1.5rem;padding-top:1.5rem;border-top:var(--qe-rule)}
body[data-page=P03] .qe-reading .article-copy h2{font-size:clamp(1.625rem,1.15rem + 1vw,1.875rem);line-height:1.2;margin:0 0 .75rem;padding:0;border:0}
body[data-page=P03] .qe-reading .article-copy p{font-size:1.0625rem;line-height:1.65;margin:0}
body[data-page=P03] .qe-reading .article-copy p + p{margin-top:.75rem}
body[data-page=P03] .qe-reading .qe-faq-item{padding:0;border:var(--qe-rule);border-radius:4px;background:transparent}
body[data-page=P03] .qe-reading .qe-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.75rem 1rem;list-style:none;cursor:pointer}
body[data-page=P03] .qe-reading .qe-faq-item summary::-webkit-details-marker{display:none}
body[data-page=P03] .qe-reading .qe-faq-item summary::after{content:"";width:.45rem;height:.45rem;flex-shrink:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
body[data-page=P03] .qe-reading .qe-faq-item[open] summary::after{transform:rotate(225deg)}
body[data-page=P03] .qe-reading .qe-faq-item h3{font-size:1.125rem;line-height:1.4;margin:0}
body[data-page=P03] .qe-reading .qe-faq-answer{margin:0 1rem;padding:.75rem 0;border-top:var(--qe-rule)}
/* buttons: quiet text/outline, 44px targets, no lift */
body:not([data-page=P01]) .button,body[data-page=P01] :is(.content-intro,.next-section) .button{min-height:44px;font-size:var(--qe-util);font-weight:600;border-radius:2px;transform:none!important;transition:background .15s,color .15s}
body:not([data-page=P01]) main a:not(.button):not(.ie-btn){text-underline-offset:.2em;text-decoration-thickness:1px}
body:not([data-page=P01]) main :focus-visible{outline:var(--qe-focus);outline-offset:3px}
/* ---------- index rows (replace filled cards) ---------- */
body:not([data-page=P01]) .next-section,body[data-page=P01] .next-section,body[data-page=P01] .content-intro,body[data-page=P01] .origin-section{background:var(--ivory)!important;background-image:none!important;padding:2.5rem var(--qe-pad)}
.next-section h2{font-size:var(--qe-h2);line-height:1.12;margin:.8rem 0 2rem}
.next-section .card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2.5rem;border-top:var(--qe-rule)}
.next-section .topic-card{display:flex;flex-direction:column;gap:.4rem;min-height:0!important;padding:1.4rem 0 1.6rem!important;background:transparent!important;border:0!important;border-bottom:var(--qe-rule)!important;border-radius:0!important;box-shadow:none!important;color:var(--ink);text-decoration:none;transform:none!important;position:relative}
.next-section .topic-card strong{font:400 var(--qe-h3)/1.25 var(--serif);color:var(--ink)}
.next-section .topic-card .topic-kicker{font-size:var(--qe-eyebrow);letter-spacing:.14em;color:var(--teal);font-weight:700}
.next-section .topic-card .topic-description{font-size:var(--qe-util);color:var(--muted);line-height:1.55}
.next-section .topic-card .card-arrow{position:static;color:var(--teal);font-size:var(--qe-util)}
.next-section .topic-card:hover strong{color:var(--teal);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
/* ---------- P01 light origin section ---------- */
body[data-page=P01] .origin-section h2,body[data-page=P01] .content-intro h2{font-size:var(--qe-h2);color:var(--ink)}
body[data-page=P01] .origin-explainer{background:transparent!important;box-shadow:none!important;border:0;border-left:1px solid var(--line);border-radius:0}
body[data-page=P01] .origin-buttons button{min-height:44px;background:transparent;border-radius:0;border:0;border-bottom:var(--qe-rule);box-shadow:none}
body[data-page=P01] .origin-buttons button[aria-pressed=true]{color:var(--teal);border-bottom-color:var(--teal)}
/* ---------- editorial callout / resources ---------- */
body:not([data-page=P01]) .editorial-callout,body:not([data-page=P01]) .editorial-resources{background:transparent!important;border:0;border-top:var(--qe-rule);border-radius:0;box-shadow:none;padding:2.5rem var(--qe-pad);margin:0}
.editorial-callout h2,.editorial-resources>h2{font-size:var(--qe-h2);line-height:1.12;margin:.6rem 0 1rem}
.editorial-callout>p,.editorial-resources>p{max-width:var(--qe-measure);color:var(--muted);font-size:var(--qe-body)}
.editorial-callout .text-link{display:inline-flex;align-items:center;min-height:44px;margin-right:1.5rem;font-weight:600}
.editorial-resources .editorial-worksheet{max-width:calc(var(--qe-measure) + 10ch);border:0;border-top:var(--qe-rule);padding:0;background:transparent}
.editorial-resources .editorial-worksheet:last-of-type{border-bottom:var(--qe-rule)}
.editorial-resources .editorial-worksheet summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.9rem 0;font:400 var(--qe-h3)/1.3 var(--serif);color:var(--ink)}
.editorial-resources .editorial-worksheet summary::-webkit-details-marker{display:none}
.editorial-resources .editorial-worksheet summary::after{content:"+";flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font:400 1.15rem/1 var(--sans);color:var(--teal)}
.editorial-resources .editorial-worksheet[open] summary::after{content:"\2212"}
.editorial-resources .worksheet-content{padding:0 0 2rem;max-width:var(--qe-measure)}
/* ---------- Protect topics: 3/2/1 columns, no fills ---------- */
.ie-protect{background:transparent!important;padding:2.5rem var(--qe-pad)!important}
.ie-protect h2{font-size:var(--qe-h2)}
.ie-protect>p{font-size:var(--qe-body)}
.ie-protect .ie-protect-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 2.5rem!important;border-top:var(--qe-rule)}
.ie-protect .ie-protect-list li{background:transparent!important;border:0!important;border-bottom:var(--qe-rule)!important;padding:1.1rem 0 1.3rem!important}
.ie-protect .ie-protect-list a{font-size:var(--qe-h3)!important;color:var(--ink);text-decoration:none}
.ie-protect .ie-protect-list a:hover{color:var(--teal);text-decoration:underline}
.ie-protect .ie-protect-list p{font-size:var(--qe-util)!important;line-height:1.55}
/* ---------- Footer (all pages, light, consistent) ---------- */
.site-footer{background:var(--ivory)!important;color:var(--ink)!important;border-top:var(--qe-rule);padding:3.5rem var(--qe-pad) 1.6rem!important}
.site-footer .brand-mark{color:var(--ink)!important;font-size:1.5rem}
.site-footer .brand-mark span{color:var(--teal)!important}
.site-footer .footer-main p{color:var(--muted)!important;font-size:var(--qe-util)!important;opacity:1!important;max-width:52ch}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr) minmax(240px,1fr);gap:var(--qe-space-3)}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:.25rem 1.2rem;align-content:start}
.site-footer .footer-links a{color:var(--ink)!important;font-size:var(--qe-util)!important;min-height:44px;display:inline-flex;align-items:center}
.site-footer .footer-links a:hover{color:var(--teal)!important}
.site-footer .footline{border-top:var(--qe-rule)!important;color:var(--muted)!important;font-size:.875rem!important}
/* ---------- responsive ---------- */
@media (max-width:1050px){
  .next-section .card-grid,.ie-protect .ie-protect-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .site-footer .footer-main{grid-template-columns:1fr 1.5fr}
  .site-footer .footer-links{grid-column:1 / -1}
}
@media (max-width:720px){
  :root{--qe-pad:clamp(1.25rem,5.5vw,1.5rem)}
  .qe-hero,.qe-reading,.next-section,.ie-protect,.editorial-callout,.editorial-resources,.site-footer{padding-left:var(--qe-pad)!important;padding-right:var(--qe-pad)!important}
  .qe-hero h1{font-size:var(--qe-h1)!important}
  .next-section .card-grid,.ie-protect .ie-protect-list{grid-template-columns:1fr!important}
  .site-footer .footer-main{grid-template-columns:1fr;gap:var(--qe-space-2)}
  .site-footer .footer-links{grid-column:auto}
}
@media print{
  .site-footer{display:none!important}
  .qe-hero,.qe-reading{padding:1rem 0!important;border:0}
  .editorial-resources .editorial-worksheet summary::after{display:none}
}
/* ---------- wide-screen editorial grid (2026 layout correction) ----------
   Section headings sit in a left rail and prose keeps a bounded measure beside
   them, so wide screens no longer leave an empty right half. Prose is never
   split into columns; DOM/reading order is unchanged. */
@media (min-width:1100px){
  .qe-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 3rem;align-items:end}
  .qe-hero > .eyebrow{grid-column:1 / -1}
  .qe-hero h1{grid-column:1;grid-row:2;max-width:22ch;font-size:clamp(2.5rem,3.6vw,3.25rem)!important;margin:0}
  .qe-hero .page-lead{grid-column:2;grid-row:2;max-width:none;font-size:var(--qe-body);line-height:1.6}
  .qe-reading .article-copy,
  body[data-page=P03] .qe-reading .article-copy,
  body[data-page=P01] .content-intro .article-copy{max-width:none;margin-inline:0}
  .qe-reading .article-copy > *,
  body[data-page=P01] .content-intro .article-copy > *{max-width:none}
  .qe-reading .article-copy > section,
  body[data-page=P01] .content-intro .article-copy > section{display:grid;grid-template-columns:13rem minmax(0,1fr);column-gap:2.5rem;align-items:start}
  .qe-reading .article-copy > section > :not(h2),
  body[data-page=P01] .content-intro .article-copy > section > :not(h2){grid-column:2}
  .qe-reading .article-copy > section > h2,
  body[data-page=P01] .content-intro .article-copy > section > h2{grid-column:1;grid-row:1 / span 40;position:static;font-size:clamp(1.375rem,1rem + .7vw,1.625rem);margin:0}
  .qe-reading .article-copy > section > h2 + *{margin-top:0}
  .qe-reading .article-copy > section > p + p{margin-top:.75rem}
  .qe-reading .article-copy > p,
  .qe-reading .article-copy > .qe-subtitle,
  .qe-reading .article-copy > .editorial-actions,
  .qe-reading .article-copy > .editorial-callout,
  body[data-page=P01] .content-intro .article-copy > :is(p,h2,nav){margin-left:15.5rem;max-width:78ch}
  /* FAQ: question rail + answer beside it */
  .qe-reading .faq-group:not(:has(.qe-faq-item)) > h3{grid-column:1;grid-row:auto;font-size:1.125rem;line-height:1.4;margin:1.25rem 0 0;padding-top:1.25rem;border-top:var(--qe-rule)}
  .qe-reading .faq-group:not(:has(.qe-faq-item)) > h3 + p{grid-column:2;margin:1.25rem 0 0;padding-top:1.25rem;border-top:var(--qe-rule)}
  .qe-reading .faq-group:not(:has(.qe-faq-item)) > h2{grid-row:1;position:static;grid-column:1 / -1;margin-bottom:.5rem}
  .qe-reading .faq-group > .qe-faq-item{grid-column:1 / -1}
  .qe-reading .faq-group > .qe-faq-item + .qe-faq-item{margin-top:.6rem}
  .qe-reading .faq-group:has(.qe-faq-item) > h2{grid-column:1 / -1;grid-row:auto;position:static;margin-bottom:.75rem}
  .qe-reading .article-copy > .editorial-sources ul{padding-left:1.1rem}
}
.qe-reading .article-copy > section > :is(ul,ol),
body[data-page=P01] .content-intro .article-copy > section > :is(ul,ol){max-width:78ch}
/* Related sections share the same compact rhythm instead of restoring the
   older, very loose base stylesheet's paragraph typography. */
.qe-reading .article-copy li p{font-size:var(--qe-util);line-height:1.55}
body[data-page=P01] .content-intro .article-copy > .faq-group{margin-bottom:0}
@media (min-width:1100px){
  .qe-reading .article-copy > section > p,
  body[data-page=P01] .content-intro .article-copy > section > p{max-width:78ch}
  body[data-page=P03] .qe-reading .article-copy p{font-size:var(--qe-body);line-height:1.6}
}
.qe-reading .editorial-actions{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:var(--qe-rule)}
.qe-reading .editorial-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
.qe-reading .editorial-sources li + li{margin-top:.6rem}
.qe-reading .editorial-sources li p{color:var(--muted);font-size:var(--qe-util);margin-top:.25rem}
/* Practical tools: align with the editorial grid; pair the tool with its
   "familiar question" links on wide screens instead of an empty right side. */
body:not([data-page=P01]) main > :is(.practical-task,.editorial-utility){padding:2rem var(--qe-pad)!important;margin:0;box-sizing:border-box}
body:not([data-page=P01]) main > .practical-task + .editorial-utility{padding-top:0!important}
@media (min-width:1100px){
  body:not([data-page=P01]) main:has(> .practical-task + .editorial-utility){display:grid;grid-template-columns:minmax(0,1fr) 22rem;align-items:start}
  body:not([data-page=P01]) main:has(> .practical-task + .editorial-utility) > *{grid-column:1 / -1;min-width:0}
  body:not([data-page=P01]) main > .practical-task:has(+ .editorial-utility){grid-column:1}
  body:not([data-page=P01]) main > .practical-task + .editorial-utility{grid-column:2;padding:2rem var(--qe-pad) 2rem 2rem!important;margin-top:2rem;border-left:var(--qe-rule)}
  body:not([data-page=P01]) main > .practical-task + .editorial-utility h2{font-size:var(--qe-h3)}
  body:not([data-page=P01]) main > .practical-task + .editorial-utility ul{padding-left:1.1rem}
}
@media (min-width:1051px){
  /* Four related destinations should form two balanced rows, not 3 + 1. */
  .next-section .card-grid:has(> .topic-card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Ten categories keep the approved order, with a deliberate final index row
     instead of an isolated card occupying one third of an otherwise empty row. */
  .qe-category-index .topic-card:last-child{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;gap:1.5rem}
}
