/* Guest-first structure. Existing artwork, animations and booking behavior are retained. */
#inquiry-dialog{background:#f7f2e8;color:#183b35;border:1px solid #d0bb8c;border-radius:18px;box-shadow:0 30px 100px #061d24a8;width:min(760px,calc(100% - 32px));max-width:760px;padding:34px;overflow-y:auto;overscroll-behavior:contain}
#inquiry-dialog::backdrop{background:#061a20b8;backdrop-filter:blur(6px)}
#inquiry-dialog h2,#inquiry-dialog h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#173b34;letter-spacing:-.025em}
#inquiry-dialog h2{font-size:clamp(30px,4vw,44px);line-height:1.12;padding-right:32px}
#inquiry-dialog h3{font-size:28px}#inquiry-dialog p,#inquiry-dialog label,#inquiry-dialog .hint,#inquiry-dialog .privacy,#inquiry-dialog #inquiry-status{font-size:16px;line-height:1.6;color:#315049}
#inquiry-dialog input,#inquiry-dialog select,#inquiry-dialog textarea{font-size:16px;line-height:1.5;background:#fffdf8;color:#173b34;border:1px solid #7c9087;border-radius:8px;padding:12px;min-height:48px;width:100%;box-sizing:border-box}
#inquiry-dialog input[type=checkbox]{width:24px;min-height:24px;padding:0;accent-color:#254b40}
#inquiry-dialog .button,#inquiry-dialog #ip-submit{background:#234b40;color:#fffdf5;border:1px solid #234b40;border-radius:999px;min-height:48px;padding:13px 22px;font-size:17px;font-weight:600}
#inquiry-dialog .button.secondary{background:transparent;color:#234b40}#inquiry-dialog .dialog-close{color:#173b34;width:48px;height:48px}
#inquiry-dialog :focus-visible{outline:3px solid #8b661f;outline-offset:3px}
#inquiry-dialog #summary{font:16px/1.65 Arial,sans-serif;background:#eee7d9;border-color:#cbb990;min-height:220px;resize:vertical}
#inquiry-dialog #ip-accounts{background:#eae3d4;border-left:3px solid #ad8742;padding:16px;border-radius:8px;margin:16px 0}
#inquiry-dialog .inquiry-payment{border-top-color:#bca578}#inquiry-dialog .inquiry-payment summary{font-size:20px;font-family:Georgia,serif}
#inquiry-dialog #ip-policy-copy{font-size:16px;line-height:1.65}#inquiry-dialog #ip-result{background:#e5ede5;padding:16px;border-radius:8px}#inquiry-dialog #ip-result:empty{display:none}
#inquiry-dialog .inquiry-payment fieldset{background:#fffaf1;border:1px solid #d9c9a9;border-radius:12px;padding:18px;overflow:visible}
#inquiry-dialog #review,#inquiry-dialog .inquiry-payment{overflow:visible;max-height:none}
/* Reduce repeated presentation spacing rather than delete content or prices. */
#after-dark,#day-at-camp,.camp-postcard{padding-top:48px;padding-bottom:48px}
#sea-breath{height:auto;min-height:0;padding:36px 5%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:30px}
#sea-breath .sea-window{position:relative;height:280px;min-height:0;width:100%;grid-column:1;border-radius:12px;overflow:hidden}
#sea-breath .sea-copy{position:relative;inset:auto;transform:none;width:auto;max-width:none;grid-column:2;padding:0;color:inherit}
#sea-breath .sea-copy h2{font-size:clamp(32px,4vw,52px)}#sea-breath .canopy-hint{display:none}
@media(max-width:700px){
 .postcards-live{height:280svh;min-height:1400px}
 #inquiry-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:24px 18px;border-radius:14px}
 #inquiry-dialog .form-grid{grid-template-columns:1fr}#inquiry-dialog .inquiry-payment fieldset{padding:14px}
 #sea-breath{grid-template-columns:1fr;padding:24px 6%;gap:20px}#sea-breath .sea-window{height:220px;grid-column:1}#sea-breath .sea-copy{grid-column:1;text-align:center}
 #after-dark,#day-at-camp,.camp-postcard{padding-top:28px;padding-bottom:28px}
}
/* Earlier site typography uses important hints; booking must stay readable. */
#inquiry-dialog .hint,#inquiry-dialog .privacy,#inquiry-dialog #inquiry-status{font-size:16px!important;line-height:1.6!important}

/* Selected A / calmer route board. No selectors alter the cinematic intro. */
.chapter-dock{position:fixed;z-index:85;bottom:22px;left:50%;transform:translate(-50%,20px);display:flex;gap:5px;align-items:center;padding:7px;background:#102d28ed;border:1px solid #d6c39350;border-radius:50px;box-shadow:0 12px 40px #071c2440;backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s}
.chapter-dock.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.chapter-dock a,.chapter-dock button{color:#f5eddd;background:transparent;font:500 15px/1.2 inherit;text-decoration:none;padding:13px 17px;border:0;border-radius:30px;white-space:nowrap;min-height:46px}.chapter-dock button{background:#b47453;color:#fffaf0}.chapter-dock a:hover,.chapter-dock a:focus-visible{background:#f8efdd20}
#camp-stays,#getting-here,#real-camp,#reviews,#dine,#plan-trip{scroll-margin-top:100px}
#getting-here{background:#eee5d5;color:#203e35;padding:72px 6% 56px}#getting-here .travel-heading{margin-bottom:32px}#getting-here h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(38px,5vw,68px)}
#getting-here .trip-planner{background:#faf5e9;border:1px solid #c3b99e;border-radius:14px;padding:26px;box-shadow:0 10px 30px #433b2910}#getting-here .travel-map-wrap{border-radius:14px;overflow:hidden;border:1px solid #bcb19a;background:#f8f3e7}
#getting-here .origin-presets button{background:#ede5d4;color:#25463b;border:1px solid #c6baa0;border-radius:8px;min-height:52px}#getting-here .origin-presets button[aria-pressed=true]{background:#27483e;color:#fff5e5}#getting-here .pill.dark{background:#a45c3c;color:#fffaf1}#getting-here .road-notes{margin-top:26px;gap:20px}#getting-here .road-notes article{padding:18px 0}#getting-here p,#getting-here label{font-size:16px;line-height:1.6}
#camp-stays .rate-card{backdrop-filter:blur(22px);background:linear-gradient(145deg,#fff9eb26,#dae6dc12);border:1px solid #f5ecd64d;box-shadow:0 16px 35px #04151126}
#reviews{padding-top:56px;padding-bottom:76px}#inquiry-dialog #summary{font-family:Georgia,serif}#inquiry-dialog #ip-submit{background:#a45c3c;border-color:#a45c3c}
/* Preserve SVG assets, full proportions and atlas animation. */
.atlas-table-flag img{object-fit:contain}.atlas-table-flag:after{background:linear-gradient(125deg,#fff3,transparent 42%,#231b1c12 80%)}
@media(max-width:700px){.chapter-dock{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 22px);justify-content:space-between;gap:0;padding:5px}.chapter-dock a,.chapter-dock button{font-size:12px;padding:10px 8px;min-height:44px}.chapter-dock button{font-size:12px}#getting-here{padding:40px 6% 34px}#getting-here .travel-layout{grid-template-columns:1fr}#getting-here .trip-planner{padding:20px}#getting-here .road-notes{grid-template-columns:1fr;gap:4px}#getting-here .road-notes article{padding:12px 0}body{padding-bottom:76px}body:has(dialog[open]) .chapter-dock{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.chapter-dock{transition:none}}
/* Once the chapter dock appears, travel notices remain available at the footer, not layered beneath navigation. */
body:has(.chapter-dock.is-visible) #travel-bar{position:relative;inset:auto;width:100%;transform:none;margin-bottom:70px}
.chapter-dock a,.chapter-dock button{font-family:inherit;font-size:15px;font-weight:500;line-height:1.2}
@media(max-width:700px){.chapter-dock a,.chapter-dock button{font-size:12px}}

#inquiry-dialog{width:min(1040px,calc(100% - 32px));max-width:1040px}
#inquiry-dialog .booking-steps{display:flex;gap:12px;list-style:none;padding:18px 0;margin:18px 0;border-block:1px solid #c9b996;color:#3d554b;font-size:14px;line-height:1.5;justify-content:space-between}
#inquiry-dialog #review:not([hidden]){display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.3fr);gap:32px;align-items:start}
#inquiry-dialog .stay-summary-panel{background:#eae2d1;border-radius:12px;padding:24px;min-width:0}#inquiry-dialog .stay-summary-panel h3{margin-top:0}#inquiry-dialog #summary{background:transparent;border:0;min-height:360px;margin:0;padding:0;resize:none;font:16px/1.7 Georgia,serif}#inquiry-dialog .inquiry-payment{margin:0;border:0;padding:0}#inquiry-dialog .inquiry-payment summary{font-size:24px;color:#23483b}#inquiry-dialog #ip-ready{background:#e9eedf;border-left:3px solid #7d8f61;padding:16px;border-radius:4px}#inquiry-dialog .inquiry-payment fieldset:disabled{opacity:.65}
@media(max-width:700px){#inquiry-dialog{width:calc(100% - 20px)}#inquiry-dialog #review:not([hidden]){grid-template-columns:1fr;gap:20px}#inquiry-dialog .booking-steps{font-size:12px;gap:8px}#inquiry-dialog .booking-steps li{flex:1}#inquiry-dialog .stay-summary-panel{padding:20px}#inquiry-dialog #summary{min-height:260px}}

#inquiry-dialog #summary{display:none}#inquiry-dialog .stay-summary-readable{white-space:pre-line;font:16px/1.7 Georgia,serif;color:#25463b;overflow:visible;overflow-wrap:anywhere}

.guest-voice-feature{padding:52px 8%;background:#183d32;color:#f7edd8;text-align:center}.guest-voice-feature blockquote{font:400 clamp(28px,4vw,48px)/1.2 Georgia,serif;max-width:840px;margin:20px auto}.guest-voice-feature em{color:#d5ba7c}.guest-voice-feature p{font-size:15px;line-height:1.6}.guest-voice-feature a{display:inline-block;margin:8px 12px;color:#e1c996;text-underline-offset:5px;min-height:32px;font-size:15px}
#reviews{background:linear-gradient(#102e29ed,#102e29f5),url('assets/adrian-2026-11-02-b/abeach.jpeg') center/cover;color:#f4ebd9;padding:72px 6% 100px}#reviews .r22-head{max-width:720px;margin-bottom:32px}#reviews h2{font:400 clamp(40px,5vw,68px)/1.08 Georgia,serif;color:#f5ecd8}#reviews h2 em{color:#d5ba7c}#reviews .lead,#reviews .eyebrow{color:#e3d7ba}#reviews .r22-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}#reviews figure{margin:0;padding:28px;background:#f8efdb0f;border:1px solid #dbc89955;border-radius:14px;backdrop-filter:blur(16px)}#reviews blockquote{font:400 26px/1.4 Georgia,serif;color:#faf0dc;margin:0 0 24px}#reviews figcaption{color:#d8d4bf;display:grid;gap:7px;font-size:16px}#reviews figcaption a{color:#e1c996;font-size:15px;line-height:1.5;text-underline-offset:5px;min-height:44px;display:flex;align-items:center}
@media(max-width:700px){.guest-voice-feature{padding:36px 7%}#reviews{padding:42px 6% 86px}#reviews .r22-quotes{grid-template-columns:1fr}#reviews figure{padding:22px}#reviews blockquote{font-size:24px}}

#camp-stays .book-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border:1px solid #214b3b;border-radius:30px;background:#214b3b;color:#fff5df;font:600 16px/1.3 inherit;cursor:pointer}
#getting-here .route-practical{border-top:1px solid #c4b797;margin-top:24px;padding:16px 0}#getting-here .route-practical>summary{font-size:17px;color:#25443a;min-height:44px;cursor:pointer;padding:10px 0}
@media(max-width:700px){#getting-here .travel-map{height:360px;min-height:360px}#getting-here .travel-heading{gap:16px;margin-bottom:22px}#getting-here .origin-presets button small{display:none}#getting-here .origin-presets{gap:8px}#getting-here .origin-presets button{min-height:48px}#getting-here .route-tip{margin:16px 0;padding:14px}}

/* Archive repeated sections without deleting artwork. Keep the intro, atlas and Polaroids. */
#sea-breath[hidden],#day-at-camp[hidden]{display:none!important}
/* Phone audit correction: comfortable controls for parents, without touching film/atlas. */
#camp-stays .rate-tabs{flex-wrap:wrap}
#camp-stays .rate-tabs button,#real-camp .album-filters button{font-size:16px!important;line-height:1.35;min-height:48px;padding:10px 14px;letter-spacing:0;white-space:normal}
#camp-stays .rate-inquire,#getting-here .route-fields button,#getting-here .map-tabs button,#real-camp #album-play,#real-camp #album-more{font-size:16px!important;line-height:1.4;min-height:48px;letter-spacing:0}
#real-camp .album-tools{flex-wrap:wrap;align-items:flex-start}
#real-camp .album-filters{max-width:100%;flex-wrap:wrap}
.guest-voice-feature a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
#reviews figcaption a{font-size:16px;overflow-wrap:anywhere}
@media(max-width:700px){
 .chapter-dock{display:grid;grid-template-columns:.8fr .9fr 1.35fr .9fr 1.2fr}
 .chapter-dock a,.chapter-dock button{font-size:14px;line-height:1.25;min-width:0;min-height:50px;padding:8px 3px;white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center}
 #inquiry-dialog .booking-steps{font-size:14px;line-height:1.45}
}

/* REV22: comfortable touch targets without changing the booking layout. */
#inquiry-dialog #edit{min-width:48px}
#inquiry-dialog .inquiry-payment summary{min-height:48px;display:flex;align-items:center}

/* Modal controls take priority in portrait and landscape. */
body:has(dialog[open]) .chapter-dock{visibility:hidden;pointer-events:none}

.r19-menu .r19-menu-dm{min-height:48px;padding:12px 14px;border:0;border-radius:12px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4}

/* An open phone menu owns the touch surface; restore the dock when it closes. */
body:has(.r19-menu[open]) .chapter-dock{visibility:hidden;pointer-events:none}
.r19-menu nav{max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
