main {
  position: relative;
  isolation: isolate;
}
.scene.olive h2, .olive-field h2, .service-band h2, .thanks-page h1 { color: var(--paper); }
.service-band .button-light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.service-band .button-light:hover { background: var(--wash); border-color: var(--wash); color: var(--ink); }
.service-band .button-light:active { background: var(--ochre); border-color: var(--ochre); color: var(--ink); }

.page-intro {
  padding-block: clamp(3.5rem, 8vw, 7.5rem) clamp(2.75rem, 6vw, 5rem);
  border-bottom: 1px solid var(--rule);
}
.page-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
}
.page-intro__title { max-width: 9.5ch; }
.page-intro__grid h1, .contact-hero h1, .service-hero h1 { margin-top: .8rem; }
.page-intro__standfirst {
  max-width: 38rem;
  padding-bottom: .35rem;
  font-size: clamp(1.1rem, 1rem + .45vw, 1.45rem);
  line-height: 1.42;
}
.page-intro__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.35rem;
  margin-top: 2rem;
  padding-top: .85rem;
  border-top: 1px solid var(--rule);
}
.page-intro__meta span { min-width: 0; }

.front-page {
  padding-block: clamp(2rem, 5vw, 4.5rem) clamp(4rem, 8vw, 7rem);
}
.front-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(13rem, .9fr) minmax(11rem, .62fr);
  grid-template-areas: "lead ticket rail" "lead ticket rail";
  gap: clamp(1rem, 2.4vw, 2.4rem);
  align-items: start;
}
.front-lead { grid-area: lead; }
.front-lead .photo-frame img { aspect-ratio: 1.38 / 1; }
.front-lead__copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(11rem, .65fr); gap: 2rem; padding-top: 1.35rem; border-top: 1px solid var(--ink); }
.front-lead__copy h1 { grid-column: 1 / -1; }
.front-lead__copy h1 { max-width: 12ch; font-size: clamp(2.7rem, 6.1vw, 6.5rem); }
.front-lead__copy p { align-self: end; max-width: 30ch; padding-bottom: .25rem; font-size: clamp(1.05rem, 1rem + .3vw, 1.3rem); }
.front-ticket { grid-area: ticket; }
.front-ticket .photo-frame img { aspect-ratio: 4 / 5; }
.front-ticket__copy { padding-top: 1rem; }
.front-ticket__copy h2 { font-size: clamp(1.7rem, 3vw, 3rem); }
.front-rail { grid-area: rail; border-top: 1px solid var(--ink); }
.front-rail__item { padding: 1.15rem 0 1.25rem; border-bottom: 1px solid var(--rule); }
.front-rail__item h2 { margin: .35rem 0 .55rem; font-size: clamp(1.35rem, 2vw, 2rem); }
.front-rail__item p { color: var(--muted); font-size: .93rem; }
.front-rail__address { color: var(--ink) !important; font-family: var(--meta); font-size: .72rem !important; letter-spacing: .03em; line-height: 1.65; text-transform: uppercase; }

.editorial-band { padding-block: clamp(4.5rem, 9vw, 8rem); }
.editorial-band--wash { background: var(--wash); }
.editorial-band--olive { background: var(--olive); color: var(--paper); }
.editorial-band--olive h2, .editorial-band--olive h3 { color: var(--paper); }
.editorial-band--olive .card h2, .editorial-band--olive .card h3 { color: var(--ink); }
.editorial-band--olive .eyebrow { color: var(--paper); }
.inquiry-section .eyebrow { color: var(--ochre); }
.editorial-band--olive .section-kicker { border-color: rgba(244,238,223,.45); }
.section-heading { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 2rem; align-items: end; margin-bottom: clamp(2rem, 5vw, 4rem); }
.section-heading h2 { max-width: 12ch; }
.section-heading p { max-width: 45rem; font-size: clamp(1.05rem, 1rem + .25vw, 1.25rem); }

.topic-ledger { border-top: 1px solid var(--ink); }
.topic-ledger .topic-row { min-height: 7.3rem; }
.topic-row[data-preview] { cursor: default; }
.topic-row[data-preview] .topic-row__preview { transition: transform var(--duration) var(--ease-out); }
.topic-row__preview img { display: block; }
@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .topic-row[data-preview]:hover .topic-row__preview { transform: translate3d(var(--preview-x, 0), var(--preview-y, 0), 0) rotate(-2deg); }
}

.route-spread {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, 6vw, 7rem);
  align-items: center;
}
.route-spread__images { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 1rem; align-items: end; }
.route-spread__images .photo-frame:first-child { margin-bottom: 4rem; }
.route-spread__images .photo-frame:last-child { margin-top: 2rem; }
.route-spread__images img { aspect-ratio: 3 / 4; object-fit: cover; }
.route-spread__copy { max-width: 40rem; }
.route-spread__copy h2 { max-width: 10ch; margin-bottom: 1.3rem; }
.route-spread__copy p { max-width: 42ch; }
.route-spread__copy .link-arrow { margin-top: 1.5rem; }

.worksheet-tease {
  position: relative;
  padding: clamp(1.5rem, 4vw, 3.25rem);
  border: 1px solid var(--ink);
  background: var(--paper);
  overflow: hidden;
}
.worksheet-tease::before, .worksheet-tease::after { position: absolute; z-index: -0; color: var(--ochre); font-family: var(--meta); font-size: clamp(4rem, 13vw, 12rem); line-height: .8; opacity: .35; }
.worksheet-tease::before { content: "01"; top: .4rem; right: 1rem; }
.worksheet-tease::after { content: "÷"; right: 26%; bottom: -1rem; }
.worksheet-tease > * { position: relative; z-index: 1; }
.worksheet-tease__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, .6fr); gap: 2rem; align-items: end; }
.worksheet-tease h2 { max-width: 11ch; margin-bottom: .9rem; }
.formula { padding: 1rem; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-family: var(--meta); font-size: clamp(.8rem, 1vw, 1rem); line-height: 1.7; }
.formula strong { color: var(--accent); font-weight: 500; }

.question-ledger { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 7vw, 8rem); }
.question-ledger__intro { position: sticky; top: 1.5rem; align-self: start; }
.question-ledger__intro h2 { max-width: 10ch; margin-top: .5rem; }
.faq-list { border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--rule); }
.faq-list details:not([open]) > div { display: none; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.2rem; padding: 1rem 0; cursor: pointer; font-family: var(--display); font-size: clamp(1.2rem, 1.8vw, 1.7rem); line-height: 1.15; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; flex: 0 0 auto; color: var(--accent); font-family: var(--meta); font-size: 1.2rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details > div { max-width: 48rem; margin-top: .75rem; padding: 0 2rem 1.4rem 0; color: var(--muted); }

.inquiry-section { padding-block: clamp(4rem, 8vw, 7rem); background: var(--deep); color: var(--paper); }
.inquiry-section h2, .inquiry-section h3 { color: var(--paper); }
.inquiry-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.inquiry-copy { position: sticky; top: 1.5rem; }
.inquiry-copy h2 { max-width: 9ch; margin: .5rem 0 1.25rem; }
.inquiry-copy p { max-width: 30ch; color: #dfd8c7; }
.inquiry-contacts { display: grid; gap: .15rem; margin-top: 2rem; }
.inquiry-contacts a { min-height: 44px; display: inline-flex; align-items: center; color: var(--paper); }
.inquiry-section .form-panel { border-color: rgba(244,238,223,.4); background: rgba(244,238,223,.08); }
.inquiry-section .field label, .inquiry-section .field legend { color: var(--paper); }
.inquiry-section .field input, .inquiry-section .field textarea, .inquiry-section .field select { background: var(--paper); }
.inquiry-section .form-consent label { color: #dfd8c7; }
.inquiry-section .form-consent a { color: var(--paper); }
.inquiry-section .form-consent a:hover { color: #f0d28b; }
.inquiry-section .muted { color: #dfd8c7; }
.inquiry-section .button--quiet { color: var(--paper); border-color: var(--paper); }
.inquiry-section .button--quiet:hover { color: var(--ink); background: var(--paper); }
.inquiry-section .button--quiet:active { color: var(--ink); background: var(--ochre); }
.inquiry-section .form-status { color: var(--ochre); }

.service-hero { padding-block: clamp(3rem, 7vw, 6.5rem); border-bottom: 1px solid var(--rule); }
.service-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(15rem, .95fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.service-hero h1 { max-width: 14ch; }
.service-hero__copy { max-width: 38rem; }
.service-hero__copy > p { margin-top: 1.4rem; font-size: clamp(1.1rem, 1rem + .35vw, 1.4rem); }
.service-hero__aside { padding-top: 1rem; border-top: 1px solid var(--ink); }
.service-hero__aside p + p { margin-top: 1rem; }
.service-hero__aside .meta { margin-bottom: .6rem; }

.service-body { padding-block: clamp(3.5rem, 8vw, 7rem); }
.service-layout { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.service-layout__rail { position: sticky; top: 1.5rem; align-self: start; }
.service-layout__rail h2 { max-width: 9ch; margin-top: .55rem; font-size: clamp(1.8rem, 3vw, 3.25rem); }
.service-layout__rail p { margin-top: 1rem; color: var(--muted); }
.service-layout__main { min-width: 0; }
.service-layout__main > .prose { max-width: 48rem; }
.service-layout__main > .prose h2:first-child { margin-top: 0; }
.service-layout__main .photo-frame { margin: 2.5rem 0; }
.service-layout__main .photo-frame img { aspect-ratio: 16 / 9; }
.service-layout__main .photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 2.5rem 0; }
.service-layout__main .photo-pair .photo-frame { margin: 0; }
.service-layout__main .photo-pair img { aspect-ratio: 4 / 5; }

.numbered-notes { margin: 2.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.numbered-notes li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--rule); }
.numbered-notes__number { color: var(--accent); font-family: var(--meta); font-size: .75rem; }
.numbered-notes h3 { margin-bottom: .4rem; font-size: clamp(1.35rem, 2vw, 2rem); }
.numbered-notes p { color: var(--muted); }
.check-list { margin: 1.5rem 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: .7rem 0 .7rem 2rem; border-bottom: 1px solid var(--rule); }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-family: var(--meta); }

.page-gallery { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 1rem; margin-top: 3rem; }
.page-gallery .photo-frame:first-child { grid-row: span 2; }
.page-gallery img { height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.page-gallery .photo-frame:first-child img { aspect-ratio: 4 / 5; }

.planner-hero { padding-block: clamp(3rem, 8vw, 7rem); background: var(--olive); color: var(--paper); }
.planner-hero h1, .planner-hero h2 { color: var(--paper); }
.planner-hero .eyebrow { color: var(--paper); }
.planner-hero__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; }
.planner-hero__copy { max-width: 35rem; }
.planner-hero__copy h1 { max-width: 9ch; }
.planner-hero__copy p { margin-top: 1.3rem; color: var(--paper); font-size: 1.12rem; }
.planner-hero__photo img { aspect-ratio: 3 / 2; object-fit: cover; }
.planner-hero .photo-frame { background: var(--deep); }
.planner-hero .photo-frame figcaption { color: #e3dccb; }
.planner-spread { position: relative; z-index: 1; padding-block: clamp(3.5rem, 8vw, 7rem); }
.planner-spread__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.planner-spread__rail { position: sticky; top: 1.5rem; align-self: start; }
.planner-spread__rail h2 { max-width: 14ch; margin-top: .8rem; }
.planner-spread__photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.planner-spread .numbered-notes { position: relative; background: var(--paper); color: var(--ink); }
.planner-spread__photos .photo-frame:nth-child(2) { margin-top: 3rem; }
.planner-spread__photos img { aspect-ratio: 4 / 5; object-fit: cover; }
.calculator-section { padding-block: clamp(4rem, 9vw, 8rem); background: var(--wash); }
.calculator-grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.calculator-intro h2 { max-width: 9ch; margin: .5rem 0 1rem; }
.calculator-intro p { max-width: 34ch; }
.calculator-card { padding: clamp(1.2rem, 3vw, 2.5rem); border: 1px solid var(--ink); background: var(--paper); }
.calculator-card__heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: baseline; padding-bottom: 1rem; border-bottom: 1px solid var(--ink); }
.calculator-card__heading h2 { font-size: clamp(1.7rem, 3vw, 3rem); }
.calculator-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.calculator-form .field--wide { grid-column: 1 / -1; }
.calculator-form input { width: 100%; min-height: 2.9rem; padding: .7rem; border: 1px solid var(--rule); background: var(--white); }
.calculator-form input:hover { border-color: var(--olive); }
.calculator-form input:active { border-color: var(--accent); }
.calculator-form input:focus-visible { border-color: var(--accent); box-shadow: var(--focus-ring); outline: 0; }
.calculator-output { min-height: 6rem; margin-top: 1.5rem; padding: 1rem; border-top: 1px solid var(--ink); background: var(--wash); }
.calculator-output strong { display: block; color: var(--accent); font-family: var(--display); font-size: clamp(1.8rem, 4vw, 3.6rem); line-height: 1; }
.calculator-note { margin-top: 1rem; color: var(--muted); font-size: .88rem; }

.contact-hero { padding-block: clamp(3rem, 7vw, 6rem); border-bottom: 1px solid var(--rule); }
.contact-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .7fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.contact-hero h1 { max-width: 12ch; }
.contact-hero__details { padding-top: 1rem; border-top: 1px solid var(--ink); }
.contact-hero__details h2 { margin: .5rem 0 1rem; font-size: clamp(1.5rem, 2.4vw, 2.4rem); }
.contact-hero__details address { line-height: 1.7; }
.contact-hero__details a { display: inline-flex; min-height: 44px; align-items: center; }
.contact-body { padding-block: clamp(3.5rem, 8vw, 7rem); }
.contact-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.contact-layout__aside { position: sticky; top: 1.5rem; }
.contact-layout__aside h2 { max-width: 9ch; margin-top: .5rem; }
.contact-layout__aside .photo-frame { margin-top: 2rem; }
.contact-layout__aside .photo-frame img { aspect-ratio: 4 / 5; }

.legal-page { padding-block: clamp(3rem, 7vw, 6rem) clamp(5rem, 10vw, 9rem); }
.legal-heading { margin-bottom: clamp(3rem, 7vw, 6rem); }
.legal-heading h1 { max-width: 9ch; margin-top: .65rem; }
.legal-heading p { max-width: 54ch; margin-top: 1.5rem; font-size: 1.12rem; }
.legal-updated { margin-top: 1.4rem; color: var(--olive); font-family: var(--meta); font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }

.privacy-measure { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); column-rule: 1px solid var(--rule); }
.privacy-measure__column { min-width: 0; }
.privacy-measure .legal-section { break-inside: avoid; }
.legal-section { padding: 0 0 2.2rem; }
.legal-section + .legal-section { padding-top: 1rem; }
.legal-section h2 { margin-bottom: .9rem; font-size: clamp(1.5rem, 2.3vw, 2.3rem); }
.legal-section h3 { display: inline; margin-right: .45rem; font-family: var(--meta); font-size: .72rem; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; }
.legal-section h3 + p { display: inline; }
.legal-section p + p, .legal-section ul, .legal-section .table-wrap { margin-top: 1rem; }
.legal-section ul { padding-left: 1.2rem; }
.legal-section li + li { margin-top: .4rem; }
.legal-section a { overflow-wrap: anywhere; }
.legal-section .table-wrap { margin-bottom: 1.5rem; }

.cookies-page { padding-block: clamp(3rem, 8vw, 8rem) clamp(5rem, 12vw, 11rem); }
.cookies-heading { max-width: 54rem; margin-bottom: clamp(4rem, 10vw, 9rem); }
.cookies-heading h1 { max-width: 8ch; margin-top: .6rem; }
.cookies-heading p { max-width: 48rem; margin-top: 1.5rem; font-size: clamp(1.1rem, 1rem + .3vw, 1.35rem); }
.cookie-sections { display: grid; gap: clamp(4rem, 11vw, 10rem); }
.cookie-section { display: grid; grid-template-columns: minmax(5rem, .2fr) minmax(0, 1fr); gap: clamp(1rem, 5vw, 5rem); align-items: start; }
.cookie-section__number { color: var(--accent); font-family: var(--display); font-size: clamp(4rem, 9vw, 9rem); font-weight: 500; line-height: .75; }
.cookie-section__body { max-width: 65rem; padding-top: .35rem; }
.cookie-section__body h2 { margin-bottom: 1rem; font-size: clamp(2rem, 4vw, 4rem); }
.cookie-section__body p { max-width: 75ch; }
.cookie-section__body p + p { margin-top: 1.15rem; }
.cookie-section__body .table-wrap { margin-top: 1.5rem; }

.terms-layout { display: grid; grid-template-columns: minmax(12rem, .3fr) minmax(0, 1fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.terms-index { position: sticky; top: 1.5rem; align-self: start; }
.terms-index__select { display: none; width: 100%; min-height: 2.9rem; padding: .7rem; border: 1px solid var(--ink); background: var(--paper); }
.terms-index__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.terms-index__list li { border-bottom: 1px solid var(--rule); }
.terms-index__list a { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .5rem; min-height: 44px; align-items: center; padding: .65rem 0; color: var(--muted); font-size: .9rem; text-decoration: none; }
.terms-index__list a:hover { color: var(--accent); }
.terms-index__list a[aria-current="true"] { color: var(--accent); font-weight: 600; }
.terms-index__num { font-family: var(--meta); font-size: .7rem; }
.terms-reading { min-width: 0; }
.terms-reading .legal-section { scroll-margin-top: 2rem; padding-bottom: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--rule); }
.terms-reading .legal-section + .legal-section { padding-top: clamp(2.5rem, 5vw, 4rem); }
.terms-reading .legal-section > h2 { display: flex; gap: 1rem; align-items: baseline; font-size: clamp(2rem, 4vw, 4rem); }
.terms-reading .legal-section > h2::before { content: attr(data-number); color: var(--accent); font-family: var(--meta); font-size: .72rem; letter-spacing: .08em; }

.dsar-form { grid-column: 1 / -1; margin-top: clamp(2rem, 5vw, 4rem); padding-top: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--ink); }
.dsar-form h2 { margin-bottom: 1rem; }
.dsar-form > p { max-width: 55ch; margin-bottom: 1.5rem; }

.not-found { min-height: 55vh; display: grid; place-items: center; padding-block: 5rem; text-align: center; }
.not-found__inner { max-width: 42rem; }
.not-found h1 { margin: .5rem auto 1rem; font-size: clamp(4rem, 14vw, 11rem); }
.not-found p { max-width: 38ch; margin: 0 auto 1.5rem; }

@media (max-width: 1099px) {
  .front-page__grid { grid-template-columns: minmax(0, 1.4fr) minmax(13rem, .8fr); grid-template-areas: "lead rail" "ticket rail"; }
  .front-ticket { display: grid; grid-template-columns: minmax(11rem, .7fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
  .front-ticket .photo-frame img { aspect-ratio: 1 / 1; }
  .front-ticket__copy { padding-top: 0; }
}

@media (max-width: 767px) {
  .page-intro__grid, .service-hero__grid, .contact-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .page-intro__title, .service-hero h1, .contact-hero h1 { max-width: none; }
  .page-intro__standfirst { font-size: 1.1rem; }
  .front-page__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "lead" "ticket" "rail"; }
  .front-lead__copy { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .front-lead__copy h1 { max-width: none; }
  .front-ticket { display: block; }
  .front-ticket .photo-frame img { aspect-ratio: 4 / 5; }
  .section-heading, .question-ledger, .inquiry-grid, .service-layout, .planner-hero__grid, .planner-spread__grid, .calculator-grid, .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .question-ledger__intro, .inquiry-copy, .service-layout__rail, .planner-spread__rail, .contact-layout__aside { position: static; }
  .route-spread { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .route-spread__copy { order: -1; }
  .route-spread__images { gap: .7rem; }
  .route-spread__images .photo-frame:first-child { margin-bottom: 2rem; }
  .route-spread__images .photo-frame:last-child { margin-top: 1rem; }
  .worksheet-tease__grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-measure { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .privacy-measure__column + .privacy-measure__column { padding-top: 1rem; border-top: 1px solid var(--rule); }
  .cookie-section { grid-template-columns: 3.8rem minmax(0, 1fr); gap: 1rem; }
  .cookie-section__number { font-size: 3.8rem; }
  .cookie-section__body h2 { font-size: clamp(1.8rem, 8vw, 2.8rem); }
  .terms-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .terms-index { position: static; }
  .terms-index__list { display: none; }
  .terms-index__select { display: block; }
  .terms-reading .legal-section > h2 { display: block; }
  .terms-reading .legal-section > h2::before { display: block; margin-bottom: .5rem; }
  .page-gallery { grid-template-columns: minmax(0, 1fr); }
  .page-gallery .photo-frame:first-child { grid-row: auto; }
  .page-gallery img, .page-gallery .photo-frame:first-child img { aspect-ratio: 3 / 2; }
  .calculator-form { grid-template-columns: minmax(0, 1fr); }
  .calculator-form .field--wide { grid-column: auto; }
  .numbered-notes li { grid-template-columns: 2.5rem minmax(0, 1fr); }
}

@media (max-width: 380px) {
  .front-lead__copy h1 { font-size: clamp(2.35rem, 13vw, 3.5rem); }
  .cookie-section { grid-template-columns: 2.8rem minmax(0, 1fr); }
  .cookie-section__number { font-size: 2.8rem; }
  .cookie-section__body h2 { font-size: 1.75rem; }
  .form-actions .button { width: 100%; }
}

@media print {
  .page-intro, .service-hero, .contact-hero, .planner-hero { padding-block: 1.5rem; }
  .question-ledger__intro, .inquiry-copy, .service-layout__rail, .planner-spread__rail, .contact-layout__aside, .terms-index { position: static; }
  .privacy-measure { gap: 1rem; }
}
