.contact-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:end;padding-block:32px}
.contact-heading .page-title{margin:15px 0 0;font-size:clamp(3rem,5vw,4.3rem)}
.contact-heading .page-title em{color:var(--blue)}
.contact-heading .page-lead{max-width:395px;padding-bottom:6px}
.contact-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:34px}
:is(.contact-quick>a,.contact-quick>p.cpark-link-block>a){display:flex;flex-direction:column;justify-content:center;min-height:99px;padding:19px 26px;border-right:1px solid var(--line)}
:is(.contact-quick>a:first-child,.contact-quick>p.cpark-link-block:first-child>a){padding-left:0}:is(.contact-quick>a:last-child,.contact-quick>p.cpark-link-block:last-child>a){border:0}
.contact-quick span{font-size:.875rem;color:var(--muted)}
.contact-quick strong{font-weight:600;font-size:1.125rem;color:var(--navy);margin-top:6px;line-height:1.4}
:is(.contact-quick>a,.contact-quick>p.cpark-link-block>a):hover strong{color:var(--red-text)}
.contact-layout{display:grid;grid-template-columns:1.3fr .8fr;gap:34px;align-items:start;padding-bottom:65px}
.inquiry-card{min-width:0;padding:34px 36px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:3px}
.inquiry-card h2{font-size:2.35rem;margin:13px 0 18px}
.form-note{padding:14px 16px;border-left:2px solid #9eb8c3;background:var(--pale);font-size:.875rem!important;color:var(--muted);line-height:1.7;margin-bottom:26px}
.form-note a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.inquiry-card fieldset{border:0;padding:0;margin:0;min-width:0}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field{margin-bottom:22px;min-width:0}
.form-field label{display:block;font-size:.875rem;font-weight:650;line-height:1.6;margin-bottom:8px;color:var(--navy)}
.form-field label span:not(#arrival-label){font-size:.875rem;font-weight:400;color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-width:0;min-height:50px;padding:12px 13px;color:var(--ink);background:var(--field-bg);border:1px solid var(--field-border);border-radius:2px;font:1rem/1.5 var(--sans)}
.form-field select{padding-right:25px}
.form-field textarea{resize:vertical;min-height:130px;line-height:1.7}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--placeholder);opacity:1}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px;background:var(--card)}
.purpose-help{font-size:.875rem!important;color:var(--muted);line-height:1.7;margin-top:10px}
.form-reservation-note{font-size:.875rem!important;color:var(--muted);line-height:1.7;margin-bottom:20px}
.inquiry-submit{width:100%;justify-content:space-between}
.form-feedback{margin-top:22px;padding:18px;background:var(--pale);border-left:3px solid var(--blue);font-size:1rem!important;line-height:1.7}
.form-feedback:focus{outline:2px solid var(--blue);outline-offset:3px}
.contact-sidebar{min-width:0}
.contact-office{padding:31px;background:var(--band);color:#fff;border-radius:3px 3px 0 0}
.contact-office .eyebrow{color:#c4d9df;font-size:.75rem}
.contact-office h2{font-size:2.25rem;margin-top:15px}
.contact-office .contact-phone{font-size:clamp(1.7rem,2.8vw,2.2rem);margin:22px 0 15px;overflow-wrap:anywhere}
.contact-office .contact-phone:hover,.office-address .text-link:hover{color:#d5e8ee}
.contact-office>p:not(.eyebrow){font-size:1rem;line-height:1.8;color:#d3e1e8}
.office-address{border-top:1px solid #ffffff38;margin-top:26px;padding-top:24px}
.office-address address{font-style:normal;font-size:1rem;line-height:1.8}
.office-hours{font-size:.875rem!important;color:#d3e1e8;line-height:1.7;margin-top:17px}
.office-address .text-link{margin-top:18px;font-size:.875rem}
.contact-lake{position:relative;margin:0;overflow:hidden;border-radius:0 0 3px 3px;background:var(--pale)}
.contact-lake img{width:100%;height:240px;object-fit:cover}
.contact-lake figcaption{position:absolute;bottom:14px;left:14px;right:14px;background:var(--paper);padding:10px 14px;font:italic 1rem var(--serif);color:var(--navy)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-page [hidden]{display:none!important}
@media(max-width:1050px){.contact-heading{gap:40px}.contact-layout{gap:25px;grid-template-columns:1.25fr .8fr}.inquiry-card{padding:29px 26px}.contact-office{padding:26px}:is(.contact-quick>a,.contact-quick>p.cpark-link-block>a){padding-inline:19px}.contact-quick strong{font-size:1rem}}
@media(max-width:800px){.contact-heading{grid-template-columns:1fr;gap:22px;padding-block:28px}.contact-heading .page-title{font-size:3.4rem}.contact-heading .page-lead{max-width:520px}.contact-layout{grid-template-columns:1fr;gap:28px}.inquiry-card{padding:30px}.contact-sidebar{display:grid;grid-template-columns:1fr 1fr}.contact-office{border-radius:3px 0 0 3px}.contact-lake{border-radius:0 3px 3px 0;min-height:290px}.contact-lake img{position:absolute;height:100%;width:100%}.contact-quick{margin-bottom:28px}:is(.contact-quick>a,.contact-quick>p.cpark-link-block>a){padding:17px 15px}.contact-quick strong{font-size:1rem}}
@media(max-width:570px){.contact-heading{gap:20px;padding-block:26px}.contact-heading .page-title{font-size:3.2rem}.contact-quick{grid-template-columns:1fr 1fr;gap:0}:is(.contact-quick>a,.contact-quick>p.cpark-link-block>a){min-height:89px;padding:14px!important}:is(.contact-quick>a:first-child,.contact-quick>p.cpark-link-block:first-child>a){padding-left:0!important}:is(.contact-quick>a:nth-child(2),.contact-quick>p.cpark-link-block:nth-child(2)>a){border-right:0}:is(.contact-quick>a:last-child,.contact-quick>p.cpark-link-block:last-child>a){grid-column:1/-1;border-top:1px solid var(--line);min-height:64px;padding:12px 0!important;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}:is(.contact-quick>a:last-child,.contact-quick>p.cpark-link-block:last-child>a) strong{margin:0}.contact-quick strong{font-size:1rem}.contact-quick span{font-size:.875rem}.contact-layout{padding-bottom:42px}.inquiry-card{padding:25px 22px}.inquiry-card h2{font-size:2.15rem}.form-row{grid-template-columns:1fr;gap:0}.form-field{margin-bottom:19px}.contact-sidebar{grid-template-columns:1fr}.contact-office{border-radius:3px 3px 0 0}.contact-office .contact-phone{font-size:2.2rem}.contact-lake{min-height:0;border-radius:0 0 3px 3px}.contact-lake img{position:static;height:220px}.form-note{padding:12px 13px}.form-field label span{white-space:nowrap}}

.inquiry-card :disabled{cursor:not-allowed;opacity:1}
.inquiry-card input:disabled,.inquiry-card select:disabled,.inquiry-card textarea:disabled{color:var(--muted);background:var(--field-disabled)}
.inquiry-submit:disabled{background:var(--muted);color:var(--paper);transform:none;justify-content:center}

/* Load after the general <=570px rules so the narrowest cards can stack. */
@media(max-width:360px){
  .contact-quick{grid-template-columns:1fr}
  :is(.contact-quick>a,.contact-quick>p.cpark-link-block>a){border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}
  :is(.contact-quick>a:last-child,.contact-quick>p.cpark-link-block:last-child>a){grid-column:auto;border-top:0;flex-direction:column;align-items:flex-start}
}

/* ---------- Inquiry form, October 2026: intent first, then only the fields that fit ---------- */
.purpose-choice{margin-bottom:26px}
.purpose-choice legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:.875rem;font-weight:650;line-height:1.6;color:var(--navy)}
.purpose-choice legend span{font-weight:400;color:var(--muted)}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice{position:relative;display:block;min-width:0;cursor:pointer}
.choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.choice-body{display:flex;flex-direction:column;gap:3px;min-height:46px;padding:12px 14px 12px 40px;border:1px solid var(--field-border);border-radius:3px;background:var(--field-bg);color:var(--ink);line-height:1.45;transition:border-color .16s,background-color .16s}
.choice-body::before{content:'';position:absolute;left:14px;top:17px;width:16px;height:16px;border:1px solid var(--field-border);border-radius:50%;background:var(--card)}
.choice-body strong{font-size:.9375rem;font-weight:650;color:var(--navy)}
.choice-body small{font-size:.8125rem;color:var(--muted)}
.choice:hover .choice-body{border-color:var(--line-strong);background:var(--card)}
.choice input:checked+.choice-body{border-color:var(--blue);background:var(--card);box-shadow:inset 0 0 0 1px var(--blue)}
.choice input:checked+.choice-body::before{border-color:var(--blue);background:radial-gradient(circle,var(--blue) 0 4px,var(--card) 5px)}
.choice input:focus-visible+.choice-body{outline:2px solid var(--blue);outline-offset:2px}
.choice-grid .choice:last-child:nth-child(odd){grid-column:1/-1}
.form-step{border-top:1px solid var(--line);padding-top:22px;margin-top:4px}
.form-step-title{font-size:.875rem;font-weight:650;color:var(--navy);margin-bottom:14px}
.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.inquiry-submit{margin-top:4px}
.inquiry-submit .arrow{margin-left:0}
.form-reservation-note{margin:14px 0 0}
/* With JavaScript, fields outside the chosen plan are hidden; without it everything shows. */
html.js .inquiry-card [data-purpose][hidden]{display:none!important}
@media(max-width:570px){.choice-grid{grid-template-columns:1fr}.choice-grid .choice:last-child:nth-child(odd){grid-column:auto}.form-row.three{grid-template-columns:1fr;gap:0}}

/* ---------- WPForms (event inquiries) in the same Field clothes ---------- */
.wpforms-container{max-width:720px;margin:0}
.wpforms-container .wpforms-field{padding:0 0 22px!important;clear:both}
.wpforms-container .wpforms-field-label{display:block!important;margin:0 0 8px!important;font:650 .875rem/1.6 var(--sans)!important;color:var(--navy)!important}
.wpforms-container .wpforms-required-label{color:var(--muted)!important;font-weight:400;font-size:0}
.wpforms-container .wpforms-required-label::after{content:'(required)';font-size:.875rem}
.wpforms-container .wpforms-field-sublabel{font-size:.8125rem!important;color:var(--muted)!important;margin-top:6px!important}
.wpforms-container .wpforms-field-description{font-size:.875rem!important;color:var(--muted)!important;line-height:1.7!important;margin-top:8px!important}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container input[type=number],.wpforms-container select,.wpforms-container textarea{display:block;width:100%!important;max-width:none!important;min-height:50px!important;padding:12px 13px!important;color:var(--ink)!important;background:var(--field-bg)!important;border:1px solid var(--field-border)!important;border-radius:2px!important;box-shadow:none!important;font:1rem/1.5 var(--sans)!important}
.wpforms-container textarea{min-height:130px!important;line-height:1.7!important;resize:vertical}
.wpforms-container input::placeholder,.wpforms-container textarea::placeholder{color:var(--placeholder)!important;opacity:1}
.wpforms-container input:focus-visible,.wpforms-container select:focus-visible,.wpforms-container textarea:focus-visible{outline:2px solid var(--blue)!important;outline-offset:2px;background:var(--card)!important;border-color:var(--field-border)!important}
.wpforms-container .wpforms-field-name .wpforms-field-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.wpforms-container .wpforms-field-row-block{float:none!important;width:auto!important;margin:0!important}
.wpforms-container .wpforms-submit-container{padding:4px 0 0!important}
.wpforms-container button.wpforms-submit{display:inline-flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:15px 23px!important;border:1px solid transparent!important;border-radius:3px!important;background:var(--red)!important;color:var(--on-red)!important;font:600 .9375rem/1.5 var(--sans)!important;transition:background .2s,transform .2s}
.wpforms-container button.wpforms-submit::after{content:'→';font-weight:400}
.wpforms-container button.wpforms-submit:hover{background:var(--red-hover)!important;transform:translateY(-2px)}
.wpforms-container button.wpforms-submit:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.wpforms-container .wpforms-field-hcaptcha{padding-bottom:18px!important}
.wpforms-container .wpforms-error{color:var(--red-text)!important;font-size:.875rem!important;margin-top:6px!important}
.wpforms-container .wpforms-confirmation-container-full{padding:18px!important;background:var(--pale)!important;border:0!important;border-left:3px solid var(--blue)!important;color:var(--ink)!important;border-radius:0!important}
.wpforms-container .wpforms-confirmation-container-full p{margin:0}
@media(max-width:570px){.wpforms-container .wpforms-field-name .wpforms-field-row{grid-template-columns:1fr;gap:0}.wpforms-container .wpforms-field-row-block{padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){.choice-body,.wpforms-container button.wpforms-submit{transition:none}.wpforms-container button.wpforms-submit:hover{transform:none}}
