/* Shared subpages retain the homepage's type, palette and generous shapes. */
.subpage { --construction-bar-height: 0px; }
.subpage-header { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.1rem var(--gutter); background: rgba(237,239,235,.97); border-bottom: 1px solid var(--line); }
.subpage-brand img { width: 180px; height: auto; display: block; }
.subpage-header nav { display: flex; gap: 1.5rem; font-size: .9rem; }
.subpage-header nav a { padding: .5rem 0; }
.subpage-header [aria-current] { color: var(--bracken); text-decoration: underline; text-underline-offset: .45rem; }
.subpage-skip { position: fixed; z-index: 100; top: -5rem; left: 1rem; padding: .8rem 1.2rem; background: var(--paper); border-radius: 12px; }
.subpage-skip:focus { top: 1rem; }
.subpage-main { padding-bottom: 0; }
.subpage-back { padding-top: 2rem; }
.subpage .service { padding-top: 2rem; }
.subpage .service-panel { background: #dde3dc; color: var(--ink); }
.subpage .service-panel .title { font-size: clamp(3rem,5.5vw,5.5rem); }
.subpage .service-list { margin-top: 2rem; border-color: var(--line); }
.subpage .service-list li { border-color: var(--line); }
.subpage .service-list span { color: var(--bracken); }
.subpage .service-list p,.subpage .service-extras { color: var(--ink-2); }
.subpage-intro { margin-top: 1.25rem; color: var(--ink-2); max-width: 44rem; }
.subpage .details { padding-top: 2rem; padding-bottom: 3rem; }
.subpage .details-head { margin-bottom: 2.25rem; }
.subpage .details-head .title { font-size: clamp(3rem,6vw,6rem); }
.subpage .plan { padding: clamp(1rem,3vw,2.5rem); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.subpage .fp-svg { display: block; width: 100%; height: auto; }
.subpage #floorplan { scroll-margin-top: 4rem; }
.subpage-collection,.subpage-next { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem 4rem; padding-block: clamp(3rem,6vw,5rem); border-top: 1px solid var(--line); }
.subpage-collection p + p { margin-top: 1rem; }
.subpage-collection .text-link { display: block; width: fit-content; margin-top: 1rem; }
.subpage-actions { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1rem; }
.subpage-footer { padding: 3rem 0 2rem; background: var(--stone); color: var(--ink); }
.subpage-footer img { width: 160px; height: auto; margin-bottom: 1.4rem; }
.subpage-footer p { color: var(--ink-2); }
.subpage-footer nav { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; padding-block: 1.5rem; font-size: .9rem; }
.subpage-footer small { color: var(--ink-2); }
.subpage a:focus-visible { outline: 2px solid var(--bracken); outline-offset: 5px; }
@media (max-width: 700px) {
 .subpage-header { display: grid; grid-template-columns: 1fr auto; gap: .65rem; padding: .85rem 1.2rem; }
 .subpage-brand img { width: 140px; }
 .subpage-header > .pill { grid-column: 2; grid-row: 1; font-size: .8rem; padding: .75rem 1rem; }
 .subpage-header nav { grid-column: 1/-1; grid-row: 2; justify-content: space-between; gap: 1rem; font-size: .83rem; }
 .subpage-back { padding-top: 1.25rem; }
 .subpage .service,.subpage .details { padding-top: 1.5rem; }
 .subpage .service-photo { min-height: 360px; }
 .subpage .service-panel { padding: 2rem 1.5rem; }
 .subpage .service-panel .title,.subpage .details-head .title { font-size: clamp(2.8rem,11vw,4rem); }
 .subpage .inthevan { margin-top: 2.5rem; }
 .subpage .spec { grid-template-columns: 1fr; }
 .subpage .plan-legend { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .subpage-collection,.subpage-next { grid-template-columns: 1fr; gap: 1.5rem; }
 .subpage-footer p,.subpage-footer small { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { .subpage *, .subpage *::before, .subpage *::after { animation: none !important; transition: none !important; } }
