/* Shared, deliberately quiet layout for visitor information. */
.subpage{min-height:100vh;display:flex;flex-direction:column}
.subpage main{flex:1}
.subpage-top{display:flex;align-items:center;justify-content:space-between;padding-block:24px;gap:24px}
.back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none}
.back-link:hover{text-decoration:underline;text-underline-offset:5px}
.subpage-logo{display:block;width:76px;height:76px;object-fit:contain}
.subpage-intro{padding-block:32px 48px;max-width:820px}
.subpage-intro h1{margin:0 0 24px}
.subpage-intro>p:not(.eyebrow){color:var(--muted);max-width:640px;}
/* Six parking options in a two-column grid; visit details open on demand. */
.parking-page .subpage-top{padding-block:8px}
.parking-page .subpage-logo{width:52px;height:52px}
.parking-page .subpage-intro{padding-block:8px 24px;max-width:none}
.parking-page .subpage-intro h1{margin:0 0 8px}
.parking-page .subpage-intro>p{margin:0;max-width:none}
.parking-section{padding-bottom:16px;scroll-margin-top:16px}
.parking-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.parking-option{border:1px solid var(--line);background:#191919;scroll-margin-top:16px;min-width:0}
.parking-option>summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px 16px;min-height:150px;padding:24px 24px;list-style:none;cursor:pointer}
.parking-option>summary::-webkit-details-marker{display:none}
.parking-option>summary::marker{content:''}
.parking-option>summary:hover{background:#ffffff05}
.parking-option>summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.parking-option-title{grid-column:1/-1;}
.parking-option-location{grid-column:1/-1;color:var(--muted);}
.parking-disclosure-label{grid-column:1;margin-top:8px;color:var(--muted)}
.parking-toggle{grid-column:2;display:grid;place-items:center;width:24px;height:24px;margin-top:8px;color:var(--ink)}
.parking-toggle::before{content:'+'}
.parking-option[open] .parking-toggle::before{content:'−'}
.parking-option-body{padding:0 24px 24px}
.parking-option-info{display:grid;grid-template-columns:1fr;gap:8px}
.parking-option-info h3{color:var(--muted);margin:0 0 8px}
.parking-option-info p{margin:0 0 8px;}
.parking-option-info .small{color:var(--muted)}
.walking-time{display:flex;flex-wrap:wrap;gap:8px 8px;align-items:baseline}
.walking-time strong{color:var(--ink)}
.walking-time span{color:var(--muted);}
.parking-option-info dl{margin:8px 0}
.parking-option-info dl div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding-block:8px;border-bottom:1px solid var(--line)}
.parking-option-info dt{color:var(--muted)}
.parking-option-info dd{margin:0;white-space:nowrap}
.parking-option-info a{text-decoration:underline;text-underline-offset:3px}
.parking-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:8px}
.parking-actions .button{min-height:44px;padding:8px 16px}
.parking-actions .text-link{min-height:44px;display:inline-flex;align-items:center;padding:0}
.parking-sources{padding-block:0 16px;color:var(--muted);}
.parking-sources summary{cursor:pointer;min-height:44px;padding-block:8px;color:var(--muted)}
.parking-sources p{max-width:900px;margin:0 0 8px}
.parking-sources a{text-decoration:underline;text-underline-offset:3px}
.legal-content{max-width:820px;padding-bottom:64px}
.legal-content section{padding:32px 0;border-top:1px solid var(--line)}
.legal-content h2{margin-bottom:16px}
.legal-content p{margin:16px 0;color:var(--muted)}
.legal-content strong{color:var(--ink);}
.legal-content address{color:var(--muted)}
.legal-content a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.subpage .footer{padding-bottom:24px}
.subpage .footer-meta{flex-wrap:wrap}
@media(max-width:760px){
 .subpage-top{padding-block:16px}
 .subpage-logo{width:64px;height:64px}
 .subpage-intro{padding-block:32px 32px}
 .parking-page .subpage-intro{padding-block:8px 16px}
 .parking-list{grid-template-columns:1fr;gap:8px}
 .parking-option>summary{min-height:140px;padding:16px}
 .parking-option-body{padding:0 16px 16px}
 .legal-content section{padding-block:24px}
}
.parking-option-title{overflow-wrap:break-word}
.legal-content p,.legal-content address{overflow-wrap:break-word;hyphens:auto}
@media(max-width:760px){}

.information-page .subpage-intro{padding-bottom:64px}
.information-contact{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:32px}
.information-contact .text-link{display:inline-flex;align-items:center;min-height:44px}

.delivery-page .subpage-intro{padding-bottom:32px}
.delivery-details{border-top:2px solid #738561;padding:32px 0 64px;max-width:820px}
.delivery-details h2{margin-bottom:24px}
.delivery-details>p:not(.eyebrow){max-width:64ch;color:var(--muted);margin-bottom:16px;}
