/* Launch essentials, shared with the established Reserve design. */
.mobile-reservation{display:none}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:65px}
.contact-options h2{font-size:34px;margin-bottom:20px}
.contact-options p+p{margin-top:18px}
.contact-options .button{margin-top:25px}
.storage-table{width:100%;border-collapse:collapse;font-size:14px;margin-block:25px}
.storage-table th,.storage-table td{padding:16px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.storage-table th{font-weight:600}
.receipt-panel{max-width:800px;padding-block:25px 90px}
.receipt-panel h2{font-size:32px;margin-bottom:18px}
.receipt-panel p{margin-bottom:22px}
.receipt-panel .portal-actions{display:flex;flex-wrap:wrap;gap:16px}
.footer-bottom>div{flex-wrap:wrap}
.footer a,.legal-copy a{overflow-wrap:anywhere}
input,select,textarea{font-size:16px}
button,a.button{min-height:44px}
@media(max-width:700px){
 .has-mobile-reservation{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .mobile-reservation{position:fixed;z-index:30;bottom:0;left:0;right:0;display:block;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line)}
 .mobile-reservation .button{display:flex;min-height:48px;width:100%;background:#173b2b;border-color:#173b2b}
 .dialog-open .mobile-reservation{display:none}
 .contact-options{grid-template-columns:1fr;gap:32px}
 .storage-table{font-size:12px;table-layout:fixed}
 .storage-table th,.storage-table td{padding:12px 6px;overflow-wrap:anywhere}
 .footer-bottom{flex-direction:column;gap:16px}
 .footer-bottom>div{gap:14px 22px}
 .receipt-panel .button{width:100%}
 .hero-controls button,.gallery-item,.dialog-controls button{min-height:44px}
}
@media(max-width:380px){.form-grid{grid-template-columns:1fr}.header .brand-logo{width:190px}.filter-bar{gap:18px;overflow-x:auto}.hero-controls{gap:6px}.hero-selector{min-width:30px}}
@media print{.mobile-reservation{display:none!important}.has-mobile-reservation{padding-bottom:0}}

/* Short request and private agreement review */
.request-options{border-top:1px solid var(--line,#d6d3c8);padding:18px 0;margin:8px 0}
.request-options summary{cursor:pointer;font-family:Georgia,serif;font-size:1.1rem;color:var(--ink,#173b2b);padding:8px 0}
.request-options[open] summary{margin-bottom:18px}
.request-options .optional{font-family:inherit;font-size:.85rem;margin-left:8px}
.request-options-body{padding:0 4px}
.agreement-preview{max-height:60vh;overflow:auto;overscroll-behavior:contain;background:#fbf9f3;border:1px solid #d6d3c8;padding:24px;color:#173b2b;line-height:1.65;font-size:.94rem}
.agreement-preview h1{font-size:1.8rem}.agreement-preview h2{font-size:1.4rem}.agreement-preview h3{font-size:1.15rem}
.agreement-preview table{width:100%;border-collapse:collapse}.agreement-preview td,.agreement-preview th{padding:8px;border-bottom:1px solid #d6d3c8;text-align:left;overflow-wrap:anywhere}
.agreement-preview dt{font-weight:600}.agreement-preview dd{margin:0 0 12px}.agreement-preview p{margin:12px 0}.agreement-preview ul,.agreement-preview ol{padding-left:22px}
#portal-agreement{margin:24px 0}.agreement-preview:focus-visible,.request-options summary:focus-visible{outline:2px solid #947649;outline-offset:4px}
@media(max-width:600px){.agreement-preview{padding:16px;font-size:.9rem}.request-options summary{font-size:1rem}}

/* Stable vehicle media and specification layout before image decode. */
.detail-photo img{aspect-ratio:1672 / 941;width:100%;height:auto;max-height:none;object-fit:contain}
.spec-strip{min-height:119px}
.search-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}
.search-links article{border-top:1px solid var(--line);padding:24px 0}
.search-links h3{font-size:27px;margin-bottom:14px}
.search-links p{margin-bottom:16px}
.search-rates{width:100%;border-collapse:collapse;margin:24px 0}
.search-rates td,.search-rates th{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px}
.search-rates th{font-size:12px;letter-spacing:.06em}
@media(max-width:700px){.spec-strip{min-height:208px}.search-links{grid-template-columns:1fr}.search-rates td,.search-rates th{padding:12px 6px}.search-rates{font-size:14px}}
