/* Site register: preserve accepted inset/plate/register identity; full route chapters add scope, use and preparation. */
.page-opening,.full-chapter{container-type:inline-size;min-width:0}
.page-opening{margin:0 5%;padding:4rem 0 3.5rem;display:grid;grid-template-columns:minmax(0,1fr);justify-items:start}
.page-opening h1{font-size:clamp(2rem,6vw,5.6rem);max-width:14ch;margin:1.4rem 0;text-wrap:balance}
.page-lead{font-size:1.15rem;max-width:54ch}
.page-opening>.text-link{margin-top:1.5rem}
.full-chapter{margin:0 5%;padding:4.5rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 7%;align-items:start}
.full-chapter>*{min-width:0}
.chapter-copy h2{font-size:clamp(1.75rem,3.6vw,3.5rem);max-width:17ch;line-height:1.08;text-wrap:balance}
.chapter-copy>p{margin-top:1.5rem;max-width:52ch;font-size:1.05rem}
.chapter-copy>.text-link{margin-top:1.5rem}
.chapter-photo .image-shell{height:29rem;border-radius:5px}
.chapter-photo figcaption{font-size:.72rem;line-height:1.5;margin-top:.7rem;color:#4a5144}
.chapter-notes{display:grid;gap:0;min-width:0}
.field-note{padding:1.4rem 0;border-top:1px solid var(--line);min-width:0}
.field-note:first-child{border-top-color:var(--accent)}
.field-note h3,.field-note summary{font-size:1.3rem;font-weight:650;line-height:1.3;letter-spacing:-.025em}
.field-note p{margin-top:.8rem;max-width:50ch}
.field-note .text-link{font-size:.92rem;margin-top:.6rem}
.field-note summary{cursor:pointer;min-height:44px;padding:.3rem 1.5rem .3rem 0}
.chapter-ledger{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.chapter-ledger .chapter-notes{grid-column:2;grid-row:1/3}
.chapter-ledger .chapter-photo{grid-column:1}.chapter-ledger .chapter-photo .image-shell{height:18rem}
.chapter-field{background:var(--soft);margin-inline:0;padding-inline:5%;border:0;grid-template-columns:minmax(0,1fr)}
.chapter-field .chapter-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 7%;align-items:start}
.chapter-field .chapter-copy>p{margin-top:0}
.chapter-field .chapter-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.chapter-field .field-note{border-top-color:#8d9585}
.chapter-use .chapter-photo{grid-column:1;grid-row:1/3}.chapter-use .chapter-copy{grid-column:2}.chapter-use .chapter-notes{grid-column:2}
.chapter-questions .chapter-notes{padding-top:.3rem}.chapter-close{grid-template-columns:minmax(0,1fr);padding-block:4rem}.chapter-close .chapter-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 7%}.chapter-close .chapter-copy>p{margin-top:0}.chapter-close .text-link{grid-column:2;justify-self:start}
.header-row{gap:1.5rem}.desktop-nav{gap:1.5rem}.site-footer nav a{min-height:44px}
.title-plate,.service-controls,.contact-intro,.chapter-copy,.page-opening{container-type:inline-size}
.title-plate h1,.service-controls>h1,.contact-intro h1,.page-opening h1{overflow-wrap:normal;hyphens:none;font-size:min(clamp(2rem,6vw,5.6rem),15cqi)}
.chapter-copy h2{font-size:min(clamp(1.75rem,3.6vw,3.5rem),15cqi)}
.choice-label{overflow-wrap:normal}.mobile-menu nav{position:static}.site-header:has(.mobile-menu[open]){padding-bottom:0}.mobile-menu[open]{flex-basis:100%}.mobile-menu[open] summary{width:fit-content;margin-left:auto}.mobile-menu nav{padding-block:1rem}.header-row{flex-wrap:wrap}
@media(min-width:900px){.header-row{flex-wrap:nowrap}.contact-layout{padding-top:2rem}.contact-intro h1{margin-top:1rem}.contact-intro .lead{margin-top:1.2rem}}
@media(max-width:899px){.full-chapter{gap:2rem 5%;padding-block:3rem}.chapter-photo .image-shell{height:24rem}.full-chapter,.chapter-ledger{grid-template-columns:minmax(0,1fr)}.chapter-ledger .chapter-notes,.chapter-ledger .chapter-photo,.chapter-use .chapter-photo,.chapter-use .chapter-copy,.chapter-use .chapter-notes{grid-column:auto;grid-row:auto}.chapter-field .chapter-copy,.chapter-close .chapter-copy{display:block}.chapter-field .chapter-copy>p,.chapter-close .chapter-copy>p{margin-top:1.4rem}.chapter-field .chapter-notes{grid-template-columns:minmax(0,1fr)}.chapter-close .text-link{grid-column:auto}.page-opening{padding-block:3rem}.contact-intro h1{max-width:16ch}.contact-layout{padding-top:1.5rem}.contact-panel{margin-top:1.4rem}.lead{margin-top:1rem}}
@media(max-width:600px){.page-opening,.full-chapter{margin-inline:min(1.375rem,6vw);padding-block:2.5rem}.chapter-field{margin-inline:0;padding-inline:min(1.375rem,6vw)}.chapter-photo .image-shell{height:21rem}.chapter-copy>p{font-size:1rem}.page-lead{font-size:1.05rem}.page-opening h1{margin-block:1rem}.title-plate{width:calc(100% - 24px);padding:1.3rem min(1.375rem,6vw)}.title-plate h1{font-size:min(clamp(2rem,10vw,3.5rem),15cqi)}.title-plate .eyebrow{font-size:.74rem}.home-hero,.hero-figure{min-height:540px}.home-register,.service-layout,.contact-layout{margin-inline:min(1.375rem,6vw)}.service-controls>h1,.contact-intro h1{font-size:min(clamp(2rem,10vw,3.5rem),15cqi)}.contact-intro h1{margin-top:.7rem}.contact-panel{margin-top:1.1rem}.contact-panel .inactive-notice{margin-bottom:1rem!important}.contact-intro .lead{font-size:1rem;margin-top:.8rem}.header-row{margin-inline:6vw}.preparation{padding:1.3rem min(1.375rem,6vw)}.preparation h2{font-size:1.4rem}.stage-choices .choice-body{font-size:.9rem}.choice-body{font-size:1rem}.category-register h2{font-size:1.15rem}.category-register p{font-size:.95rem}.site-footer{padding-inline:6vw}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Content-driven header wrapping also supports enlarged text above the phone breakpoint. */
.header-row{flex-wrap:wrap}.wordmark{flex-shrink:0;overflow-wrap:normal;max-width:100%}.desktop-nav{flex-wrap:wrap;min-width:0}.desktop-nav a{max-width:100%}.header-inquiry{flex:none}
.contact-mobile-after{display:none}

/* FD-F01: each phone header link owns its full touch target. */
@media(max-width:899px){
  .wordmark,.header-inquiry,.mobile-menu summary{min-width:44px;min-height:44px;display:flex;align-items:center}
  .header-inquiry,.mobile-menu summary{padding-inline:8px}
}
/* FD-F02: on phone widths, put the first inquiry controls before the longer explanation. */
@media(max-width:350px){
  .header-row{min-height:0;row-gap:0;padding-block:0}
  .header-inquiry,.mobile-menu summary{padding-block:0}
}
@media(max-width:899px){
  .contact-layout{padding-top:0}
  .contact-intro .eyebrow,.contact-intro .lead{display:none}
  .contact-intro h1{margin-top:0}
  .contact-panel{display:flex;flex-direction:column;margin-top:4px;padding-top:4px}
  .contact-panel .inactive-notice{font-size:clamp(14px,.65rem,22px);line-height:1.45;margin-bottom:4px!important}
  .topic-editor{display:contents}
  .topic-editor>label{margin-bottom:0}
  #topic-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .inactive-fields{order:3;margin-top:8px}
  .topic-options{order:4}
  .contact-note{order:5}
  .contact-mobile-after{display:block}
}

/* D-SRFULL001-01: contrasting focus only on the orange title plate. */
.title-plate .plate-action:focus-visible{outline-color:var(--white)}

/* Site Register scope-record composition; field content remains industry data. */
.scope-record{margin:0 5%;padding:1.5rem 0 2.25rem;border-top:2px solid var(--accent);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem 7%}
.scope-record-head{min-width:0}.scope-record-index{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--accent)}
.scope-record h2{font-size:clamp(1.5rem,2.8vw,2.6rem);line-height:1.05;margin:.7rem 0 1rem;max-width:15ch}
.scope-record-head p{max-width:34ch}.scope-record dl{margin:0;min-width:0;container:scope-rows/inline-size}
.scope-record-row{display:grid;grid-template-columns:minmax(8rem,.55fr) minmax(0,1fr);gap:1.25rem;padding:.95rem 0;border-top:1px solid var(--line)}
.scope-record-row:first-child{border-top:0}.scope-record dt{font-weight:700;line-height:1.35}.scope-record dt span{display:inline-block;margin-right:.8rem;color:var(--accent);font-size:.72rem;letter-spacing:.08em}
.scope-record dd{margin:0;line-height:1.5;max-width:42ch}
@container scope-rows (max-width:32rem){.scope-record-row{grid-template-columns:1fr;gap:.4rem}}
@media(max-width:899px){.scope-record{grid-template-columns:1fr;gap:1rem}}
@media(max-width:600px){.scope-record{margin-inline:min(1.375rem,6vw);padding-block:1.4rem 2rem}.scope-record-row{grid-template-columns:1fr;gap:.4rem}.scope-record h2{font-size:1.8rem}}

/* Short-phone keyboard focus: keep the primary action and its visible ring above the viewport edge. */
@media(max-width:600px){.title-plate{padding-bottom:calc(1.3rem + 20px)}}

/* Reserve the focus outline in Chromium's native scroll-into-view calculation. */
@media(max-width:600px){.title-plate .plate-action{scroll-margin-block-end:24px}}

/* Keep the radio's focus target as tall as its visible answer for keyboard scrolling. */
.choice input{inset:0;width:100%;height:100%}

/* Keep the painted radio focus ring inside the short-phone viewport when
   native arrow-key navigation scrolls a full-height choice into view. */
.choice input{scroll-margin-block-end:20px}
