body { overflow-x: hidden; }

.page-masthead { position: relative; padding-block: clamp(4.5rem, 10vw, 9rem) clamp(3rem, 7vw, 6rem); border-bottom: 1px solid var(--line); background: var(--ink); }
.page-masthead::before { position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, var(--signal), transparent); content: ''; opacity: .65; }
.page-masthead-inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(12rem, 3fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; }
.page-masthead h1 { margin-top: 1.2rem; max-width: 10ch; }
.page-masthead .lede { margin-top: 1.5rem; }
.page-meta { align-self: end; padding-bottom: .3rem; border-left: 1px solid var(--signal); padding-left: 1rem; color: var(--muted); font-family: var(--mono); font-size: .72rem; line-height: 1.8; }
.page-meta strong { display: block; color: var(--paper); font-weight: 400; }
.page-meta span { display: block; }
.home-orientation { padding-block: clamp(4rem, 9vw, 8rem); }
.orientation-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(12rem, 3fr); gap: clamp(2rem, 8vw, 9rem); }
.orientation-copy h1 { max-width: 9ch; margin-top: 1rem; }
.orientation-copy .lede { margin-top: 1.5rem; }
.orientation-side { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding-top: .5rem; }
.location-line { display: flex; gap: .65rem; align-items: flex-start; color: var(--muted); font-family: var(--mono); font-size: .72rem; }
.location-line .icon { color: var(--signal); margin-top: .15rem; }
.directory-section { padding-block: clamp(4rem, 9vw, 8rem); background: var(--night); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.section-heading h2 { margin-top: .85rem; }
.section-heading > p { max-width: 31ch; color: var(--muted); font-size: .9rem; }
.directory-row { transition: border-color var(--duration-base) var(--ease-out), padding var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out); }
.directory-row:hover { padding-inline: 1rem; border-color: var(--signal); background: rgba(7,19,31,.45); }
.directory-row:hover h3 { color: var(--signal); }
.directory-row h3 { transition: color var(--duration-fast) var(--ease-out); }
.directory-row p { line-height: 1.55; }
.directory-row .row-kind { color: var(--warm); font-family: var(--mono); font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; }
.plate-section { padding-block: clamp(5rem, 12vw, 10rem); background: var(--ink); }
.plate-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.plate-copy h2 { margin-top: .9rem; }
.about-grid .flow > div:first-child h2 { margin-top: .85rem; }
.plate-copy > p { max-width: 38ch; margin-top: 1.4rem; color: var(--muted); }
.plate-notes { display: grid; gap: 1rem; margin-top: 2.2rem; }
.plate-note { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; align-items: start; color: var(--paper); font-family: var(--mono); font-size: .7rem; line-height: 1.55; }
.plate-note::before { content: ''; width: 1.4rem; height: 1px; margin-top: .6rem; background: var(--warm); }
.diagram { position: relative; min-width: 0; padding: clamp(.75rem, 2vw, 1.5rem); border: 1px solid var(--line); background: var(--night); box-shadow: var(--shadow-frame); }
.diagram img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--image-radius); filter: saturate(.8) contrast(1.05); }
.diagram::before, .diagram::after { position: absolute; width: 1px; height: 3.4rem; background: var(--signal); content: ''; opacity: .9; }
.diagram::before { top: 7%; left: 8%; transform: rotate(42deg); transform-origin: top; }
.diagram::after { right: 8%; bottom: 6%; transform: rotate(42deg); transform-origin: bottom; background: var(--warm); }
.diagram-callout { position: absolute; z-index: 1; max-width: 10rem; padding: .45rem .55rem; border: 1px solid var(--line); background: rgba(7,19,31,.94); color: var(--signal); font-family: var(--mono); font-size: .62rem; line-height: 1.4; }
.diagram-callout::before { position: absolute; width: 1.5rem; height: 1px; background: currentColor; content: ''; }
.diagram-callout--structure { top: 8%; right: -5%; }
.diagram-callout--structure::before { top: 50%; right: 100%; transform: rotate(-28deg); transform-origin: right; }
.diagram-callout--handoff { bottom: 11%; left: -7%; color: var(--warm); }
.diagram-callout--handoff::before { top: 50%; left: 100%; transform: rotate(-22deg); transform-origin: left; }
.notes-section { position: relative; padding-block: clamp(5rem, 11vw, 9rem); background: var(--night); }
.notes-layout { display: grid; grid-template-columns: minmax(11rem, 3fr) minmax(0, 7fr); gap: clamp(2rem, 8vw, 9rem); }
.notes-intro { position: sticky; top: 7rem; align-self: start; }
.notes-intro h2 { margin-top: .85rem; }
.notes-intro p { max-width: 25ch; margin-top: 1.3rem; color: var(--muted); font-size: .88rem; }
.notes-track { position: relative; display: grid; gap: 0; border-left: 1px solid var(--line); }
.notes-progress { position: absolute; top: 0; bottom: 0; left: -1px; width: 2px; background: var(--signal); transform-origin: top; }
.scene-step { position: relative; display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1.5rem; min-height: clamp(12rem, 27vw, 19rem); padding: 1.2rem 0 2rem 2rem; border-bottom: 1px solid var(--line); }
.scene-step:last-child { border-bottom: 0; }
.scene-step::before { position: absolute; top: 1.65rem; left: -5px; width: 9px; height: 9px; border: 1px solid var(--signal); border-radius: 50%; background: var(--night); content: ''; }
.scene-step-index { color: var(--signal); font-family: var(--mono); font-size: .7rem; }
.scene-step h3 { max-width: 15ch; }
.scene-step p { max-width: 42ch; margin-top: 1rem; color: var(--muted); }
.estimator-section { padding-block: clamp(5rem, 11vw, 9rem); background: var(--ink); }
.estimator-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.estimator-copy h2 { margin-top: .85rem; }
.estimator-copy p { max-width: 35ch; margin-top: 1.25rem; color: var(--muted); }
.estimator { padding: clamp(1.2rem, 3vw, 2.5rem); border: 1px solid var(--line); background: var(--night); box-shadow: var(--shadow-frame); }
.estimator .field + .field { margin-top: 1.15rem; }
.estimator output { display: block; margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid var(--line); color: var(--signal); font-family: var(--mono); font-size: clamp(1.2rem, 3vw, 2rem); }
.estimator output small { display: block; margin-top: .5rem; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.range-readout { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-family: var(--mono); font-size: .68rem; }
input[type=range] { width: 100%; min-height: 2.75rem; accent-color: var(--signal); }
.contact-section { padding-block: clamp(5rem, 11vw, 9rem); background: var(--night); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.contact-intro h2 { margin-top: .85rem; }
.contact-intro > p { max-width: 34ch; margin-top: 1.25rem; color: var(--muted); }
.contact-facts { display: grid; gap: .8rem; margin-top: 2.3rem; padding-top: 1.2rem; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: .72rem; }
.contact-facts a { color: var(--paper); text-decoration: none; }
.contact-facts a:hover { color: var(--signal); }

.interior-intro { padding-block: clamp(4.5rem, 10vw, 8rem); border-bottom: 1px solid var(--line); }
.interior-intro h1 { margin-top: 1rem; }
.interior-intro .lede { margin-top: 1.5rem; }
.interior-intro .intro-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.service-hero-image { margin-top: 2rem; }
.service-hero-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--image-radius); border: 1px solid var(--line); }
.service-hero-image figcaption { margin-top: .7rem; color: var(--muted); font-family: var(--mono); font-size: .65rem; }
.service-body { padding-block: clamp(5rem, 11vw, 9rem); }
.service-body-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.service-rail { position: sticky; top: 7rem; align-self: start; }
.service-rail ol { display: grid; gap: .6rem; margin-top: 1.25rem; counter-reset: service-rail; }
.service-rail li { counter-increment: service-rail; }
.service-rail a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .55rem; min-height: 44px; align-items: center; color: var(--muted); font-family: var(--mono); font-size: .7rem; text-decoration: none; }
.service-rail a::before { content: counter(service-rail, decimal-leading-zero); color: var(--signal); }
.service-rail a:hover { color: var(--paper); }
.service-copy > * + * { margin-top: 1.6em; }
.service-copy h2 { margin-top: 3.5em; }
.service-copy h3 { margin-top: 2.5em; }
.service-copy p, .service-copy li { color: var(--muted); }
.service-copy ul { display: grid; gap: .75rem; margin-top: 1.2rem; }
.service-copy li { position: relative; padding-left: 1.5rem; }
.service-copy li::before { position: absolute; top: .7em; left: 0; width: .65rem; height: 1px; background: var(--signal); content: ''; }
.scope-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 2rem; background: var(--line); border: 1px solid var(--line); }
.scope-item { min-height: 10rem; padding: 1.25rem; background: var(--ink); }
.scope-item h3 { font-size: 1.25rem; }
.scope-item p { margin-top: .75rem; font-size: .85rem; }
.boundary { margin-top: 2.5rem; padding: 1.5rem; border-left: 2px solid var(--warm); background: var(--night); }
.boundary p { color: var(--paper); }
.service-cta { padding-block: clamp(4rem, 9vw, 7rem); border-top: 1px solid var(--line); background: var(--night); }
.service-cta-inner { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.service-cta h2 { max-width: 11ch; }
.service-cta p { max-width: 34ch; margin-top: 1rem; color: var(--muted); }

.service-index { padding-block: clamp(4rem, 9vw, 8rem); }
.service-index-list { display: grid; gap: 0; margin-top: 3rem; border-top: 1px solid var(--line); }
.service-index-item { display: grid; grid-template-columns: minmax(2.5rem, 1fr) minmax(0, 4fr) minmax(0, 4fr) minmax(9rem, 2fr); gap: 1.25rem; align-items: start; padding-block: 1.75rem; border-bottom: 1px solid var(--line); }
.service-index-item > span:first-child { color: var(--signal); font-family: var(--mono); font-size: .7rem; }
.service-index-item h2 { font-size: clamp(1.4rem, 2.5vw, 2.5rem); }
.service-index-item p { color: var(--muted); font-size: .86rem; }
.service-index-item .basis { color: var(--warm); font-family: var(--mono); font-size: .68rem; line-height: 1.5; }

.about-grid, .process-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 8vw, 9rem); }
.principles { display: grid; gap: 0; margin-top: 2rem; border-top: 1px solid var(--line); }
.principle { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; padding-block: 1.4rem; border-bottom: 1px solid var(--line); }
.principle-number { color: var(--signal); font-family: var(--mono); font-size: .7rem; }
.principle h3 { font-size: clamp(1.2rem, 2vw, 1.7rem); }
.principle p { margin-top: .6rem; color: var(--muted); font-size: .88rem; }
.about-image img, .process-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--image-radius); border: 1px solid var(--line); }
.about-image figcaption, .process-image figcaption { margin-top: .7rem; color: var(--muted); font-family: var(--mono); font-size: .65rem; }
.process-steps { display: grid; gap: 0; counter-reset: process; }
.process-step { position: relative; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.25rem; padding: 1.7rem 0; border-top: 1px solid var(--line); counter-increment: process; }
.process-step::before { content: counter(process, decimal-leading-zero); color: var(--signal); font-family: var(--mono); font-size: .72rem; }
.process-step h2 { font-size: clamp(1.35rem, 2.3vw, 2.1rem); }
.process-step p { max-width: 48ch; margin-top: .7rem; color: var(--muted); }

.faq-section { padding-block: clamp(4rem, 9vw, 8rem); background: var(--night); }
.faq-list { margin-top: 2.5rem; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; min-height: 4.5rem; padding: 1rem 0; border: 0; background: transparent; color: var(--paper); text-align: left; font-family: var(--display); font-size: clamp(1.15rem, 2vw, 1.7rem); transition: color var(--duration-fast) var(--ease-out), padding var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out); }
.faq-question:hover { padding-inline: .75rem; background: var(--ink); color: var(--signal); }
.faq-question:active { color: var(--warm); }
.faq-question:focus-visible { padding-inline: .75rem; background: var(--ink); box-shadow: inset 0 0 0 1px var(--signal); }
.faq-question .icon { color: var(--signal); transition: transform var(--duration-base) var(--ease-out); }
.faq-question[aria-expanded=true] .icon { transform: rotate(45deg); }
.faq-answer { display: none; max-width: 65ch; padding: 0 3.2rem 1.7rem 0; color: var(--muted); }
.faq-answer.is-open { display: block; }
.faq-answer p + p { margin-top: 1rem; }

.contact-page { padding-block: clamp(4rem, 9vw, 8rem); }
.contact-page-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.contact-page-side h2 { margin-top: .9rem; }
.contact-page-side > p { max-width: 34ch; margin-top: 1.2rem; color: var(--muted); }
.spec-guide { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.spec-guide h3 { font-size: 1.35rem; }
.spec-guide ul { display: grid; gap: .7rem; margin-top: 1rem; }
.spec-guide li { position: relative; padding-left: 1.25rem; color: var(--muted); font-size: .84rem; }
.spec-guide li::before { position: absolute; top: .65em; left: 0; width: .55rem; height: 1px; background: var(--signal); content: ''; }
.contact-form-wrap { min-width: 0; }
.form-source { display: none; }

.legal-page { padding-block: clamp(4rem, 10vw, 9rem); }
.legal-header { display: grid; grid-template-columns: minmax(0, 7fr) minmax(12rem, 3fr); gap: 2rem; align-items: end; margin-bottom: 3rem; }
.legal-header h1 { margin-top: 1rem; }
.legal-header p { margin-top: 1.2rem; color: var(--muted); }
.legal-stamp { padding: 1rem; border-left: 1px solid var(--signal); color: var(--muted); font-family: var(--mono); font-size: .68rem; line-height: 1.75; }
.legal-stamp strong { display: block; color: var(--paper); font-weight: 400; }
.document-card { padding: clamp(1.3rem, 5vw, 5rem); background: var(--paper); color: var(--ink); border: 2px solid var(--line); box-shadow: var(--shadow-frame); }
.document-card .document-head { display: flex; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(7,19,31,.3); }
.document-card .document-head h2 { color: var(--ink); font-size: clamp(1.5rem, 3vw, 2.8rem); }
.document-card .document-head p { color: rgba(7,19,31,.65); font-family: var(--mono); font-size: .68rem; }
.document-copy { max-width: 74ch; padding-top: 2rem; }
.document-copy h2, .document-copy h3 { color: var(--ink); }
.document-copy h2 { margin-top: 3rem; font-size: clamp(1.55rem, 3vw, 2.5rem); }
.document-copy h3 { margin-top: 2rem; font-family: var(--body); font-size: 1rem; font-weight: 600; letter-spacing: 0; }
.document-copy p, .document-copy li { color: rgba(7,19,31,.76); }
.document-copy a { color: #17675e; }
.document-copy ul, .document-copy ol { padding-left: 1.4rem; list-style: disc; }
.document-copy ol { list-style: decimal; }
.document-copy li + li { margin-top: .55rem; }
.document-copy .legal-callout { margin-block: 2rem; padding: 1rem 1.2rem; border-left: 2px solid #17675e; background: rgba(215,199,168,.35); color: var(--ink); }
.document-card .spec-table { border-color: rgba(7,19,31,.25); }
.document-card .spec-table th { color: #17675e; }
.document-card .spec-table td { color: rgba(7,19,31,.76); border-color: rgba(7,19,31,.2); }
.document-card .spec-table td:first-child { color: var(--ink); }

.cookie-page { padding-block: clamp(4rem, 9vw, 8rem); }
.jump-chips { position: sticky; z-index: 5; top: 0; display: flex; gap: .5rem; padding-block: 1rem; margin-block: 2rem 4rem; overflow-x: auto; background: var(--ink); border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.jump-chips a { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 44px; padding: .55rem .8rem; border: 1px solid var(--line); border-radius: var(--radius); color: var(--muted); font-family: var(--mono); font-size: .68rem; text-decoration: none; transition: background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out); }
.jump-chips a:hover { background: var(--night); border-color: var(--signal); color: var(--paper); }
.jump-chips a:active { background: var(--signal-dim); color: var(--paper); transform: translateY(1px); }
.jump-chips a:focus-visible { background: var(--night); border-color: var(--signal); box-shadow: 0 0 0 3px rgba(121,226,208,.18); }
.cookie-sections { display: grid; gap: 0; }
.cookie-section { display: grid; grid-template-columns: minmax(11rem, 3fr) minmax(0, 7fr); gap: clamp(2rem, 8vw, 8rem); padding-block: clamp(3.5rem, 8vw, 7rem); border-top: 1px solid var(--line); scroll-margin-top: 5rem; }
.cookie-section:first-child { border-top: 0; }
.cookie-section h2 { font-size: clamp(1.6rem, 3.2vw, 3rem); }
.cookie-section .standfirst { margin-top: 1rem; color: var(--warm); font-family: var(--mono); font-size: .72rem; line-height: 1.6; }
.cookie-section-copy { max-width: 70ch; }
.cookie-section-copy p, .cookie-section-copy li { color: var(--muted); }
.cookie-section-copy p + p { margin-top: 1.35rem; }
.cookie-section-copy ul { display: grid; gap: .7rem; margin-top: 1.25rem; padding-left: 1.3rem; list-style: square; }
.cookie-section-copy li::marker { color: var(--signal); }
.cookie-section-copy .wuci80b { margin-top: 1.8rem; }
.cookie-section-copy .spec-table { min-width: 35rem; }
.cookie-privacy-link { margin-top: 1.5rem; }

.terms-page { padding-block: clamp(4rem, 9vw, 8rem); }
.terms-lead { max-width: 50ch; margin-top: 1.4rem; color: var(--muted); }
.terms-sections { margin-top: 5rem; }
.term-block { position: relative; display: grid; grid-template-columns: minmax(5rem, 1.6fr) minmax(0, 8.4fr); gap: clamp(1rem, 5vw, 5rem); padding-block: clamp(3.5rem, 8vw, 7rem); border-top: 1px solid var(--line); scroll-margin-top: 3rem; }
.term-number { color: var(--signal); font-family: var(--mono); font-size: clamp(2.8rem, 8vw, 7.5rem); line-height: .9; letter-spacing: -.08em; }
.term-content { max-width: 72ch; }
.term-content h2 { max-width: 18ch; font-size: clamp(1.8rem, 4vw, 3.8rem); }
.term-content p, .term-content li { color: var(--muted); }
.term-content p + p { margin-top: 1.35rem; }
.term-content ul { display: grid; gap: .7rem; margin-top: 1.25rem; padding-left: 1.3rem; list-style: square; }
.term-content li::marker { color: var(--signal); }
.term-content .term-note { margin-top: 2rem; padding: 1.25rem; border-left: 2px solid var(--warm); background: var(--night); color: var(--paper); }

.error-page { min-height: 65vh; display: grid; place-items: center; padding-block: 7rem; }
.error-inner { width: min(100%, 54rem); text-align: center; }
.error-code { color: var(--signal); font-family: var(--mono); font-size: clamp(4rem, 15vw, 12rem); line-height: .85; letter-spacing: -.1em; }
.error-inner h1 { max-width: none; margin: 1.5rem auto 0; font-size: clamp(2.2rem, 6vw, 5rem); }
.error-inner p { max-width: 42ch; margin: 1.3rem auto 0; color: var(--muted); }
.error-inner .intro-actions { justify-content: center; margin-top: 2rem; }

@media (max-width: 900px) {
  .page-masthead-inner, .orientation-grid, .notes-layout, .estimator-grid, .contact-grid, .legal-header, .about-grid, .process-grid, .contact-page-grid { grid-template-columns: minmax(0, 1fr); }
  .page-meta { max-width: 22rem; }
  .notes-intro { position: static; }
  .service-index-item { grid-template-columns: 2.5rem minmax(0, 1fr) minmax(0, 1fr); }
  .service-index-item .basis { grid-column: 2 / -1; }
  .service-body-grid { grid-template-columns: minmax(0, 1fr); }
  .service-rail { position: static; }
  .service-rail ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookie-section { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .cookie-section h2 { max-width: 14ch; }
}
@media (max-width: 720px) {
  .page-masthead { padding-top: 3.5rem; }
  .section-heading { align-items: start; flex-direction: column; }
  .plate-grid, .service-hero-grid, .contact-page-grid { grid-template-columns: minmax(0, 1fr); }
  .diagram-callout--structure { right: 2%; }
  .diagram-callout--handoff { left: 2%; }
  .scene-step { grid-template-columns: 2.5rem minmax(0, 1fr); gap: .75rem; padding-left: 1.25rem; }
  .service-cta-inner { align-items: start; flex-direction: column; }
  .scope-grid { grid-template-columns: minmax(0, 1fr); }
  .service-index-item { grid-template-columns: 2rem minmax(0, 1fr); }
  .service-index-item p, .service-index-item .basis { grid-column: 2; }
  .service-rail ol { grid-template-columns: minmax(0, 1fr); }
  .document-card { padding: 1.25rem; }
  .document-card .document-head { align-items: start; flex-direction: column; gap: .8rem; }
  .term-block { grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1rem; }
  .term-number { font-size: 3rem; }
}
@media (max-width: 460px) {
  .directory-row { grid-template-columns: 2.2rem minmax(0, 1fr); }
  .directory-row p, .directory-row a { grid-column: 2; }
  .directory-row a { justify-self: start; }
  .plate-note { grid-template-columns: 1.4rem minmax(0, 1fr); }
  .diagram { padding: .55rem; }
  .diagram-callout { position: static; display: block; max-width: none; margin-top: .55rem; }
  .diagram-callout::before { display: none; }
  .diagram img { aspect-ratio: 4 / 3; }
  .estimator { padding: 1rem; }
  .contact-facts { font-size: .67rem; overflow-wrap: anywhere; }
  .cookie-section-copy .spec-table { min-width: 29rem; }
  .legal-header { margin-bottom: 2rem; }
  .jump-chips { margin-top: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .directory-row, .faq-question, .jump-chips a, .diagram-callout, .notes-progress { transition: none; }
  .notes-intro { position: static; }
  .scene-step { min-height: auto; }
}
