/* Selected direction: warm paper, fine type, fixed 37.45 / 62.55 composition.
   Mobile scales the two panels together; it never moves the film below the copy. */
:root { --paper: #f7f5ef; --paper-deep: #eee9df; --split-left: 37.45%; --page-pad: clamp(20px, 3.8vw, 64px); }
.site-header--home { height: clamp(64px, 6.2vw, 96px); border: 0; }
.home-hero { height: 57.42vw; min-height: 0; max-height: 1100px; grid-template-columns: 37.45% minmax(0, 1fr); padding: 0; }
.hero-copy { min-width: 0; min-height: 0; padding: 12vw 3.8vw 4vw; background: linear-gradient(110deg,#faf8f3,#f4f1ea); }
.hero-copy .eyebrow { margin: 0 0 2.2vw; font-size: clamp(6px,.56vw,9px); letter-spacing: .36em; }
.hero-title { max-width: 100%; font-size: min(7.15vw,110px); line-height: .96; letter-spacing: -.055em; font-weight: 400; }
.hero-service { margin: 2.2vw 0 0; font-size: clamp(10px,.91vw,14px); font-weight: 400; line-height: 1.8; letter-spacing: -.015em; word-break: keep-all; }
.hero-action { min-width: 0; width: min(100%,230px); padding: 17px 0 9px; margin-top: 2.5vw; background: transparent; color: var(--ink); border-top: 1px solid var(--line); font-weight: 400; font-size: clamp(11px,1.05vw,16px); gap: 12px; }
.hero-action:hover { background: transparent; transform: none; border-color: var(--ink); }
.hero-action span { transition: transform .3s ease; }
.hero-action:hover span { transform: translateX(5px); }
.hero-film { height: 100%; min-height: 0; }
.hero-film video { object-fit: cover; object-position: 50% 50%; }
.locations-preview { background: var(--paper); color: var(--ink); }
.locations-preview .section-heading p,.location-line__regions { color: #716a60; }
.location-lines,.location-line { border-color: var(--line); }
.location-line:hover { background: #eee9df; }
.location-line__index { color: #777068; }
.home-locations-direct { background: var(--paper); color: var(--ink); border-top: 1px solid var(--line); }
.home-locations-direct .section-heading p { color: #666159; }
.home-locations-direct .location-lines { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.home-locations-direct .location-line { min-width: 0; min-height: 145px; padding: 20px 18px; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; align-items: start; gap: 12px 3px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-locations-direct .location-line:hover { padding: 20px 18px; background: #eee9df; }
.home-locations-direct .location-line__index { grid-row: 1; grid-column: 1; color: #777068; }
.home-locations-direct .location-line__arrow { grid-row: 1; grid-column: 2; font-size: 14px; }
.home-locations-direct .location-line__name { grid-row: 2; grid-column: 1/-1; align-self: end; font-family: var(--sans); font-size: clamp(14px,1.25vw,20px); line-height: 1.4; word-break: keep-all; }
.home-locations-direct .location-line__regions { grid-row: 3; grid-column: 1/-1; color: #736d63; font-size: 11px; line-height: 1.5; }
body[data-page="home"] .section-shell { padding: clamp(50px,6vw,92px) var(--page-pad); }
body[data-page="home"] .section-heading { grid-template-columns: 32% 1fr; align-items: start; gap: 5.5%; margin-bottom: 40px; }
body[data-page="home"] .section-heading .eyebrow { padding-top: 9px; }
body[data-page="home"] .section-heading h2 { font-size: clamp(30px,3.25vw,50px); line-height: 1.35; letter-spacing: -.045em; word-break: keep-all; }
body[data-page="home"] .section-heading p:not(.eyebrow) { margin-top: 18px; font-size: 13px; line-height: 1.85; }
body[data-page="home"] .process-item { min-height: 210px; }
body[data-page="home"] .process-item h3 { margin-top: 34px; font-size: 24px; line-height: 1.4; }
body[data-page="home"] .closing-cta { min-height: 0; padding: 65px var(--page-pad); background: #ede7dc; }
body[data-page="home"] .closing-cta .eyebrow { margin-bottom: 22px; }
body[data-page="home"] .closing-cta h2 { font-size: clamp(30px,3.6vw,56px); line-height: 1.3; letter-spacing: -.04em; word-break: keep-all; }
body[data-page="home"] .closing-cta p { margin-top: 22px; }
body[data-page="home"] .closing-cta .line-link { margin-top: 26px; }
.site-footer { background: #f2eee6; color: var(--ink); padding: 52px var(--page-pad) 24px; border-top: 1px solid var(--line); }
.footer-wordmark .wordmark__descriptor,.footer-column h2 { color: #696359; }
.footer-bottom { border-top-color: var(--line); color: #736d63; margin-top: 40px; }
/* Secondary pages share the quieter type rhythm; the selected case design remains scoped. */
.page-hero h1 { font-size: clamp(42px,5.7vw,88px); line-height: 1.05; }
.page-hero__copy { padding-top: 72px; }
.guide-section h2 { line-height: 1.3; }
.closing-cta { min-height: 0; padding: clamp(48px,6vw,90px) var(--page-pad); }
.closing-cta h2 { font-size: clamp(36px,4.5vw,68px); line-height: 1.2; }
@media(max-width:980px) and (min-width:721px) {
  .primary-nav { gap: 16px; }
  .primary-nav a { font-size: 12px; }
  .wordmark__name { font-size: 21px; }
  .wordmark__descriptor { font-size: 6px; }
}
@media(max-width:720px) {
  body[data-page="home"] .site-header--home { height: 12vw; min-height: 42px; grid-template-columns: 37.45% 1fr; background: transparent; backdrop-filter: none; border: 0; }
  body[data-page="home"] .wordmark { margin-left: 3.8vw; gap: 4px; }
  body[data-page="home"] .wordmark__name { font-size: clamp(12px,3.55vw,23px); letter-spacing: .1em; }
  body[data-page="home"] .wordmark__descriptor { font-size: clamp(4px,1.17vw,7.5px); letter-spacing: .17em; }
  body[data-page="home"] .nav-shell { padding: 0 3.8vw 0 2vw; gap: 12px; }
  body[data-page="home"] .menu-toggle { order: 2; flex-shrink: 0; width: 18px; height: 32px; }
  body[data-page="home"] .menu-toggle span { width: 18px; }
  body[data-page="home"] .primary-nav:not([data-open="true"]) { position: static; height: auto; padding: 0; flex-direction: row; gap: 12px; visibility: visible; opacity: 1; pointer-events: auto; background: transparent; transform: none; }
  body[data-page="home"] .primary-nav:not([data-open="true"]) a { display: none; width: auto; white-space: nowrap; border: 0; padding: 12px 0; font: 400 clamp(9px,2.3vw,14px)/1.2 var(--sans); }
  body[data-page="home"] .primary-nav:not([data-open="true"]) a:nth-child(-n+2) { display: block; }
  body[data-page="home"] .primary-nav[data-open="true"] { inset: max(42px,12vw) 0 0; height: calc(100svh - max(42px,12vw)); }
  body[data-page="home"] .primary-nav[data-open="true"] a { font-size: 23px; }
  .home-hero { height: 66vw; min-height: 0; padding: 0; grid-template-columns: 37.45% minmax(0,1fr); }
  .hero-copy { min-height: 0; padding: 15vw 3.8vw 3vw; }
  .hero-copy .eyebrow { font-size: clamp(4px,1.1vw,7px); letter-spacing: .14em; margin-bottom: 3.2vw; white-space: nowrap; }
  .hero-title { font-size: 7.3vw; line-height: .97; }
  .hero-service { margin-top: 3vw; font-size: clamp(8px,2vw,12px); line-height: 1.65; }
  .hero-action { width: 100%; font-size: clamp(9px,2.3vw,14px); margin-top: 3vw; padding: 2.5vw 0 1.8vw; min-height: 30px; }
  .hero-film { min-height: 0; height: 100%; }
  body[data-page="home"] .section-shell { padding: 34px 16px; }
  body[data-page="home"] .section-heading { display: block; margin-bottom: 24px; }
  body[data-page="home"] .section-heading .eyebrow { padding: 0; margin-bottom: 13px; font-size: 7px; letter-spacing: .2em; }
  body[data-page="home"] .section-heading h2 { font-size: 26px; line-height: 1.4; }
  body[data-page="home"] .section-heading p:not(.eyebrow) { font-size: 12px; margin-top: 12px; line-height: 1.75; }
  .home-locations-direct .location-line,.home-locations-direct .location-line:hover { min-height: 84px; padding: 8px 5px; gap: 5px 2px; }
  .home-locations-direct .location-line__index { font-size: 7px; }
  .home-locations-direct .location-line__arrow { font-size: 10px; }
  .home-locations-direct .location-line__name { font-size: clamp(8px,2.35vw,13px); letter-spacing: -.06em; }
  .home-locations-direct .location-line__regions { font-size: clamp(6px,1.65vw,9px); letter-spacing: -.06em; }
  body[data-page="home"] .process-grid { grid-template-columns: 1fr 1fr; }
  body[data-page="home"] .process-item { min-height: 165px; padding: 18px 12px 20px 0; }
  body[data-page="home"] .process-item:nth-child(even) { padding-left: 16px; }
  body[data-page="home"] .process-item h3 { font-size: 20px; margin: 22px 0 10px; }
  body[data-page="home"] .process-item p { font-size: 12px; line-height: 1.65; }
  body[data-page="home"] .closing-cta { padding: 36px 20px 40px; }
  body[data-page="home"] .closing-cta h2 { font-size: 27px; line-height: 1.4; }
  body[data-page="home"] .closing-cta p { margin-top: 16px; font-size: 12px; }
  body[data-page="home"] .closing-cta .eyebrow { font-size: 7px; margin-bottom: 16px; }
  body[data-page="home"] .closing-cta .line-link { margin-top: 22px; font-size: 13px; }
  .site-footer { padding: 32px 20px 24px; }
  .footer-grid { gap: 28px 20px; }
  .footer-column a { font-size: 14px; }
  .footer-bottom { margin-top: 25px; }
  .page-hero h1 { font-size: 42px; line-height: 1.05; }
  .section-heading h2,.display-heading { font-size: 32px; line-height: 1.35; }
  .branch-hero h1 { font-size: 42px; line-height: 1.2; }
  .guide-side h1,.guide-side > h2 { font-size: 36px; line-height: 1.2; }
  .guide-section h2 { font-size: 27px; }
  .closing-cta { min-height: 0; padding: 42px 20px; }
  .closing-cta h2 { font-size: 34px; line-height: 1.3; }
}
