#visit-inquiry { background:#edf2f1; padding:88px 0; }
#visit-inquiry .inquiry-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
#visit-inquiry h2 { font-size:clamp(30px,3vw,42px); margin:8px 0 20px; color:#203b40; }
#visit-inquiry .inquiry-grid > div > p:not(.eyebrow) { color:#536967; line-height:1.8; max-width:27em; }
#visit-inquiry form { background:#fff; padding:36px; border-radius:16px; box-shadow:0 18px 55px rgba(25,60,58,.08); }
#visit-inquiry .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
#visit-inquiry .form-grid label { display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:600; color:#284443; }
#visit-inquiry input:not([type=checkbox]), #visit-inquiry select { width:100%; min-height:50px; padding:12px; border:1px solid #cedbd8; border-radius:8px; font:inherit; color:#203b40; background:#fbfcfb; box-sizing:border-box; }
#visit-inquiry input:focus-visible, #visit-inquiry select:focus-visible, #visit-inquiry button:focus-visible { outline:3px solid #83ae9f; outline-offset:2px; }
#visit-inquiry small { color:#687d79; font-size:12px; font-weight:400; line-height:1.5; }
#visit-inquiry .form-privacy { margin:24px 0 14px; padding:14px 16px; background:#f4f7f6; color:#4e6761; border-radius:8px; line-height:1.7; font-size:12px; }
#visit-inquiry .consent { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.6; color:#284443; }
#visit-inquiry .consent input { margin-top:4px; }
#visit-inquiry .form-submit { margin-top:22px; border:0; border-radius:8px; width:100%; min-height:52px; background:#244b46; color:white; font-size:15px; font-weight:600; cursor:pointer; }
#visit-inquiry .form-status { line-height:1.7; overflow-wrap:anywhere; }
@media(max-width:700px) { #visit-inquiry { padding:58px 0; } #visit-inquiry .inquiry-grid { grid-template-columns:1fr; gap:26px; } #visit-inquiry form { padding:24px 20px; } #visit-inquiry .form-grid { grid-template-columns:1fr; gap:16px; } }
#visit-inquiry .visit-message { grid-column:1 / -1; }
#visit-inquiry .visit-optional { color:#81918e; font-size:12px; font-weight:400; }
#visit-inquiry textarea { width:100%; resize:vertical; min-height:100px; padding:12px; border:1px solid #cedbd8; border-radius:8px; font:inherit; color:#203b40; background:#fbfcfb; box-sizing:border-box; }
#visit-inquiry textarea:focus-visible { outline:3px solid #83ae9f; outline-offset:2px; }
.visit-inquiry-float { position:fixed; right:24px; bottom:24px; z-index:90; display:flex; align-items:center; gap:18px; padding:15px 22px; border-radius:999px; background:#244b46; color:#fff; font-size:14px; font-weight:600; text-decoration:none; box-shadow:0 8px 25px #1a3b3440; }
.visit-inquiry-float:focus-visible { outline:3px solid #83ae9f; outline-offset:3px; }
@media(max-width:700px) { .visit-inquiry-float { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); } }
#visit-inquiry { width:min(580px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; border-radius:16px; background:#fff; color:#203b40; overflow:auto; box-shadow:0 24px 90px rgba(18,45,40,.25); }
#visit-inquiry::backdrop { background:rgba(19,38,35,.58); }
#visit-inquiry .inquiry-grid { display:block; }
#visit-inquiry .visit-heading { position:relative; padding:28px 32px 0; }
#visit-inquiry h2 { font-size:27px; margin:6px 0 12px; }
#visit-inquiry .visit-heading p:not(.eyebrow) { margin:0 0 8px; font-size:13px; line-height:1.65; }
#visit-inquiry form { padding:22px 32px 30px; box-shadow:none; }
#visit-inquiry .inquiry-close { position:absolute; right:20px; top:20px; width:38px; height:38px; border:0; border-radius:50%; background:#edf2f1; color:#203b40; font-size:25px; cursor:pointer; }
.visit-inquiry-float { border:0; font-family:inherit; cursor:pointer; }
body.inquiry-open { overflow:hidden; }
@media(max-width:700px) { #visit-inquiry { padding:0; max-height:calc(100dvh - 24px); } #visit-inquiry .visit-heading { padding:24px 20px 0; } #visit-inquiry form { padding:18px 20px 24px; } }
