/* Inquiry presentation; use the existing A1 palette and typography. */
.inquiry-main { padding-bottom:80px; min-height:65vh; }
.inquiry-intro { max-width:880px; padding-bottom:48px; }
.inquiry-intro h1 { font-size:clamp(34px,4.1vw,56px); }
.inquiry-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:72px; align-items:start; }
.inquiry-aside { border-top:1px solid var(--line); padding-top:28px; }
.inquiry-aside h2 { margin-bottom:24px; }
.inquiry-aside>p:not(.eyebrow) { color:var(--muted); font-size:14px; max-width:31em; }
.inquiry-aside ol { margin:28px 0; padding-left:22px; }
.inquiry-aside li { padding:6px 0 6px 4px; font-size:14px; }
.inquiry-aside li::marker { color:var(--red); }
.inquiry-form-panel { min-width:0; background:var(--white); padding:36px; border:1px solid var(--line); }
.form-required-note { font-size:13px; color:var(--muted); margin-bottom:27px; }
.form-field { margin-bottom:25px; min-width:0; }
.form-field label { display:block; font-size:15px; margin-bottom:8px; }
.form-field label>span,.consent-required { color:var(--red); font-size:12px; margin-left:7px; }
.form-field label>span.optional { color:var(--muted); }
.inquiry-form input:not([type=checkbox]),.inquiry-form select,.inquiry-form textarea { width:100%; min-width:0; max-width:100%; border:1px solid #8b8f83; border-radius:0; background:var(--white); color:var(--ink); padding:11px 12px; font:16px/1.6 var(--sans); min-height:49px; }
.inquiry-form textarea { resize:vertical; display:block; }
.inquiry-form select { text-overflow:ellipsis; padding-right:24px; }
.inquiry-form input[type=date] { appearance:none; -webkit-appearance:none; }
.inquiry-form input[type=date]::-webkit-date-and-time-value { text-align:left; }
.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible,.inquiry-form select:focus-visible,.form-error:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.form-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; }
.field-hint { color:var(--muted); font-size:12px; line-height:1.8; margin-top:7px; }
.field-error { color:var(--red-dark); font-size:13px; margin-top:7px; }
.inquiry-form [aria-invalid=true] { border-color:var(--red); border-width:2px; }
.selected-tour { font-size:13px; margin:0 0 10px; color:var(--red); overflow-wrap:anywhere; }
.inquiry-privacy { border-top:1px solid var(--line); padding-top:22px; margin:6px 0 26px; font-size:13px; }
.inquiry-privacy>p { color:var(--muted); }
.consent-label { display:flex; align-items:flex-start; gap:12px; padding:18px 0 4px; cursor:pointer; min-height:44px; }
.consent-label input { flex:0 0 20px; width:20px; height:20px; margin:4px 0 0; accent-color:var(--red); }
.form-submit-note { margin-top:15px; }
.inquiry-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.form-notice { background:var(--sage); border-left:3px solid var(--red); padding:30px; overflow-wrap:anywhere; }
.form-notice h2 { margin-bottom:15px; }
.form-notice p+p { margin-top:14px; }
.form-success { max-width:880px; }
.form-success .text-link { margin-top:26px; }
.form-error { background:#fbefec; padding:22px; margin-bottom:28px; }
.form-error h2 { font-size:25px; }
.form-error p,.form-error li { font-size:14px; }
.form-error ul { margin:14px 0 0; padding-left:20px; }
@media(max-width:1100px) { .inquiry-layout { gap:40px; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); } .inquiry-form-panel { padding:26px; } }
@media(max-width:800px) { .inquiry-layout { grid-template-columns:minmax(0,1fr); gap:30px; } .inquiry-aside h2 br { display:none; } .inquiry-aside>p:not(.eyebrow) { max-width:45em; } .inquiry-aside ol { margin:18px 0; } }
@media(max-width:600px) { .inquiry-main { padding-bottom:50px; } .inquiry-intro { padding-bottom:28px; } .inquiry-form-panel { padding:22px 17px; } .form-row { grid-template-columns:minmax(0,1fr); gap:0; } .inquiry-aside h2 { font-size:29px; margin-bottom:16px; } .inquiry-aside h2 br { display:initial; } .inquiry-form .button { width:100%; justify-content:space-between; } .form-notice { padding:23px 20px; } .form-error { padding:18px 15px; } }
