/* Camp Rofelio r19: everything that changed from r13.2 lives in this one file.
   Sections: 1 hero film · 2 coast photos · 3 header + menu · 4 how to book · 5 rooms · 6 after dark · 7 day at camp · 8 photo grade */

/* 1. Hero: a real film of camp. No 3D, no palm reveal. */
#camp-canopy,.camp-motion-dock,.palm-invitation,#home .route-nav,#home .sun-label,#home .progress-line,.coast-portal-stage canvas{display:none!important}
#home.journey{height:100svh!important;min-height:560px}
#home .stage{position:relative!important;height:100%}
#home .scene-fallback{visibility:visible!important;opacity:1!important;position:absolute;inset:0;background:#0d2a2a url('assets/real-r21/intro-d-v2.jpg') center/cover}
.r21-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none}
.site-header{z-index:60!important}
#home .scene-shade{z-index:2;background:linear-gradient(90deg,rgba(6,34,34,.62) 0%,rgba(6,34,34,.25) 45%,transparent 70%),linear-gradient(0deg,rgba(6,34,34,.45),transparent 40%)!important}
#home .chapter{z-index:5}
.js-film #home .chapter{opacity:0!important;visibility:hidden;transform:translateY(14px)!important;transition:opacity .9s ease,transform .9s ease,visibility 0s .9s!important}
.js-film #home .chapter.r21-on{opacity:1!important;visibility:visible;transform:none!important;transition:opacity .9s ease .2s,transform .9s ease .2s,visibility 0s!important}
html:not(.js-film) #home .chapter:not(.chapter-0){display:none}
html:not(.js-film) #home .chapter-0{opacity:1!important;visibility:visible!important;transform:none!important}
.r21-dots{position:absolute;left:6%;bottom:112px;z-index:6;display:flex;gap:8px}
.r21-dots i{width:34px;height:3px;border-radius:2px;background:#fff7e855;overflow:hidden;position:relative}
.r21-dots i b{position:absolute;inset:0;background:#fff7e8;transform-origin:left;transform:scaleX(0)}
#home .journey-anchor{top:100svh!important}
@media(max-width:700px){#home .scene-fallback{background-image:url('assets/real-r21/intro-m-v2.jpg')}.r21-dots{bottom:150px}}

/* 2. Coast scenes: real drone shots and the camp sunset in place of the 3D art */
.coast-portal-stage{overflow:hidden}
.coast-portal-stage::before{content:"";position:absolute;inset:0;z-index:0;background:#0d2a2a center/cover no-repeat;transition:opacity .35s ease}
.coast-arrival .coast-portal-stage::before{background-image:url('assets/real-r18/aerial-12.jpg');background-position:50% 60%}
.coast-voyage .coast-portal-stage::before{background-image:url('assets/real-r18/aerial-20.jpg');background-position:60% 50%}
.coast-voyage .coast-portal-stage[data-shot=sail]::before{background-image:url('assets/real-r18/aerial-16.jpg')}
.coast-voyage .coast-portal-stage[data-shot=play]::before{background-image:url('assets/real-r18/aerial-8.jpg')}
.coast-voyage .coast-portal-stage.swap::before{opacity:0}
.coast-sunset .coast-portal-stage::before{background-image:url('assets/real-r18/sunset-sea.webp');background-position:50% 55%}
.coast-portal-stage>*{position:relative;z-index:1}

/* 3. Header: clear navigation, Facebook first */
.r19-nav{display:none;gap:26px;font-size:12px;font-weight:650;margin-right:auto;margin-left:14px}
.r19-nav a{white-space:nowrap;padding:12px 0;border-bottom:1px solid transparent}
.r19-nav a:hover,.r19-nav a:focus-visible{border-bottom-color:currentColor}
.r19-fb{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #17483c40}
.r19-fb:hover{background:#17483c12}
.r19-dm{margin-top:0!important;text-decoration:none}
.r19-menu{position:relative}
.r19-menu summary{list-style:none;display:grid;place-content:center;gap:5px;width:44px;height:44px;border-radius:50%;cursor:pointer;border:1px solid #17483c40}
.r19-menu summary::-webkit-details-marker{display:none}
.r19-menu summary span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px}
.r19-menu[open] summary{background:#17483c;color:#fff7e8}
.r19-menu nav{position:absolute;right:0;top:56px;min-width:240px;display:grid;padding:10px;border-radius:22px;background:#fff9ee;color:#17483c;box-shadow:0 18px 50px #113b3433;border:1px solid #17483c1f}
.r19-menu nav a{padding:13px 14px;border-radius:12px;font-size:14px;font-weight:600}
.r19-menu nav a:hover,.r19-menu nav a:focus-visible{background:#17483c10}
.r19-menu .r19-menu-dm{margin-top:6px;background:#17483c;color:#fff7e8}
.rooms-quick{display:none!important}
@media(min-width:1180px){.r19-nav{display:flex}.r19-menu{display:none}}
@media(max-width:700px){.r19-fb{display:none}}
:target{scroll-margin-top:96px}
section[id]{scroll-margin-top:96px}

/* 4. How to book */
.r19-howto{background:#17483c;color:#fff7e8;padding:100px 6%}
.r19-wrap{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:30px 70px;align-items:start}
.r19-howto .eyebrow{color:#ffcf9f;letter-spacing:.19em;font-size:10px}
.r19-howto h2{font:600 clamp(42px,5vw,72px)/1.0 var(--serif);letter-spacing:-.05em;margin:14px 0 18px}
.r19-howto h2 em{color:#ff9d7f;font-weight:400}
.r19-howto-head p:last-child{color:#fff7e8cc;max-width:380px}
.r19-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
.r19-steps li{counter-increment:s;display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 16px;padding:20px 22px;border-radius:20px;background:#ffffff10;border:1px solid #fff7e826}
.r19-steps li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ff795f;color:#fff;font:600 18px var(--serif)}
.r19-steps b{font-size:16px}.r19-steps span{color:#fff7e8c4;font-size:14px}
.r19-howto-cta{grid-column:2;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.r19-howto-cta .pill{margin:0;background:#ff795f;color:#fff}
.r19-link{color:#fff7e8;font-weight:600;font-size:13px;border-bottom:1px solid #fff7e866;padding:6px 0}
.r19-phones{grid-column:2;margin:0;color:#fff7e8b0;font-size:13px}.r19-phones a{color:#fff7e8;font-weight:600}
@media(max-width:860px){.r19-wrap{grid-template-columns:minmax(0,1fr)}.r19-howto-cta,.r19-phones{grid-column:1}.r19-howto{padding:80px 6%}}

/* 8. One warm grade on every camp photo */
main img:is([src*="final-2026"],[src*="adrian-2026"],[src*="originals/"]),.r20-strip video,.r20-night img{filter:saturate(1.1) contrast(1.05) sepia(.07) brightness(1.02)}
/* 5. Bigger room cards: tall full-bleed photo, price chip on the photo, swipe on phones */
#camp-stays .rate-photo{aspect-ratio:4/3.3;border-radius:18px 18px 0 0}

#camp-stays .rate-card:hover .rate-photo img{transform:scale(1.04)}
#camp-stays .rate-photo .r20-chip{position:absolute;left:14px;bottom:14px;top:auto;right:auto;font-size:15px;z-index:2;background:var(--cream,#fff7e8);color:var(--ink,#143e36);border-radius:999px;padding:7px 13px;font:600 15px/1 var(--font);box-shadow:0 6px 18px #0003}
.r20-chip small{font-weight:400;font-size:10px;letter-spacing:.12em;margin-right:5px;opacity:.7}
@media(max-width:700px){#camp-stays .rate-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 6% 18px;margin:0 -6%;scrollbar-width:none}
 #camp-stays .rate-grid::-webkit-scrollbar{display:none}
 #camp-stays .rate-card{flex:0 0 84%;scroll-snap-align:center}
 #camp-stays .rate-photo{aspect-ratio:4/4.2}}
/* 6. Camp after dark */
.r20-night{position:relative;padding:110px 6% 120px;background:linear-gradient(180deg,var(--cream,#fff7e8) 0%,#f6dcc0 40%,#e9a98a 100%);overflow:clip}
.r20-night-in{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center}
.r20-night .eyebrow{color:#a25f40;letter-spacing:.19em;font-size:10px}
.r20-night h2{font:600 clamp(46px,5.6vw,80px)/1.0 var(--serif);letter-spacing:-.05em;color:var(--ink,#143e36);margin:14px 0 18px}
.r20-night h2 em{color:#c4502f;font-weight:400}
.r20-night p.lead{max-width:380px;color:#3d4b44;font-size:15px}
.r20-night-pics{position:relative;height:520px}
.r20-night figure{position:absolute;margin:0;background:#fffdf8;padding:12px 12px 44px;box-shadow:1px 2px 4px #26382a1a,0 26px 40px -12px #5a2e1a66;width:62%}
.r20-night figure img{display:block;width:100%;aspect-ratio:4/3.2;object-fit:cover}
.r20-night figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font:italic 400 17px var(--serif);color:var(--ink,#143e36)}
.r20-night figure:nth-child(1){left:0;top:20px;transform:rotate(-4deg)}
.r20-night figure:nth-child(2){right:0;top:150px;transform:rotate(3.5deg)}
.r20-night .tape{position:absolute;top:-12px;left:50%;width:90px;height:26px;margin-left:-45px;background:#f4e3b8cc;transform:rotate(-3deg)}
.r20-bulbs{position:absolute;left:0;right:0;top:0;height:40px;background:radial-gradient(circle at 50% 70%,#ffd27a 0 3px,#ffd27a88 4px,transparent 10px) 0 0/52px 40px repeat-x;filter:drop-shadow(0 0 6px #ffc86b)}
@media(max-width:860px){.r20-night-in{grid-template-columns:minmax(0,1fr);gap:30px}.r20-night-pics{height:440px}.r20-night figure{width:72%}}
/* 7. A day at camp: full-width strip of real clips */
.r20-strip{padding:80px 0 90px;background:var(--cream,#fff7e8);overflow:hidden}
.r20-strip-head{padding:0 6%;max-width:1180px;margin:0 auto 34px;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.r20-strip .eyebrow{color:#a25f40;letter-spacing:.19em;font-size:10px}
.r20-strip h2{font:600 clamp(40px,4.6vw,66px)/1.02 var(--serif);letter-spacing:-.05em;margin:12px 0 0;color:var(--ink,#143e36)}
.r20-strip h2 em{color:#c4502f;font-weight:400}
.r20-track{display:flex;gap:16px;width:max-content;animation:r20-roll 60s linear infinite}
.r20-strip:hover .r20-track{animation-play-state:paused}
.r20-clip{position:relative;width:min(62vw,300px);flex:none;border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:#e8dcc5}
.r20-clip video{width:100%;height:100%;object-fit:cover;display:block}
.r20-clip span{position:absolute;left:12px;bottom:12px;background:#fff7e8e6;color:var(--ink,#143e36);border-radius:999px;padding:6px 11px;font:600 11px var(--font);letter-spacing:.06em}
@keyframes r20-roll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.r20-track{animation:none;overflow-x:auto;width:auto;padding:0 6%}}
.site-header :is(a,button,summary,details,nav){pointer-events:auto}
/* polish pass */
.r20-night figure img{aspect-ratio:1/1;height:auto;object-position:50% 80%}
.r19-nav{background:#fff9eeeb;color:#17483c;border-radius:999px;padding:0 22px;min-height:44px;align-items:center;box-shadow:0 6px 24px #113b341a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.r19-fb,.r19-menu summary{background:#fff9eeeb;color:#17483c}
/* Filipino sun in place of the emoji asterisk */
.ph-sun{display:inline-block;width:1em;height:1em;color:#e8a317;vertical-align:-.12em;overflow:visible}
.drawn-sun .ph-sun,.map-compass .ph-sun{width:100%;height:100%;max-width:1em;max-height:1em}

/* 9. Polish pass 2: shared layout for reviews, food & bar, things to do */
.r22-in{max-width:1180px;margin:auto}
.r22-head{max-width:560px;margin-bottom:44px}
.r22-head .eyebrow{letter-spacing:.19em;font-size:10px;color:#a25f40}
.r22-head h2{font:600 clamp(42px,5vw,72px)/1.0 var(--serif);letter-spacing:-.05em;color:var(--ink,#143e36);margin:14px 0 18px}
.r22-head h2 em{color:#c4502f;font-weight:400}
.r22-head .lead{color:#3d4b44;font-size:15px;max-width:420px}
.r22-note{margin:34px 0 0;font-size:13px;color:#5b655f}
.r22-note a,.r22-around a,.r22-quotes a{color:#17483c;font-weight:650;text-underline-offset:3px}
/* reviews */
.r22-reviews{background:#fff7e8;padding:100px 6%}
.r22-quotes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.r22-quotes figure{margin:0;background:#fffdf8;border:1px solid #17483c1a;border-radius:22px;padding:26px 24px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;box-shadow:0 18px 40px -26px #5a2e1a55}
.r22-quotes blockquote{margin:0;font:italic 400 22px/1.25 var(--serif);color:var(--ink,#143e36)}
.r22-quotes blockquote::before{content:'';display:block;width:34px;height:4px;border-radius:2px;background:#e8a317;margin-bottom:16px}
.r22-quotes figcaption{display:grid;gap:3px;font-size:12px;color:#5b655f}
.r22-quotes figcaption b{font-size:14px;color:#f5ecd8}
/* food & bar */
.r22-dine{background:linear-gradient(180deg,#e9a98a 0%,#f6dcc0 22%,#fff7e8 60%);padding:100px 6%}
.r22-menus{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.r22-group h3,.r22-todo h3{font:600 26px var(--serif);color:var(--ink,#143e36);margin:0 0 16px;letter-spacing:-.02em}
.r22-sheets{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.r22-sheet{display:block;background:#fffdf8;border-radius:18px;padding:10px 10px 0;text-decoration:none;color:var(--ink,#143e36);box-shadow:0 20px 40px -24px #5a2e1a77;transition:transform .25s ease}
.r22-sheet:hover,.r22-sheet:focus-visible{transform:translateY(-4px)}
.r22-sheet img{display:block;width:100%;height:auto;border-radius:10px;aspect-ratio:480/679;object-fit:cover}
.r22-sheet span{display:flex;justify-content:space-between;gap:8px;padding:12px 4px 14px;font-size:13px;font-weight:650}
.r22-viewer{border:0;padding:0;background:transparent;max-width:min(92vw,760px);max-height:94vh;width:100%}
.r22-viewer::backdrop{background:#0d221dcc}
.r22-viewer figure{margin:0;max-height:84vh;overflow:auto;border-radius:16px;background:#fff}
.r22-viewer img{display:block;width:100%;height:auto}
.r22-viewer figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.r22-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;color:#fff7e8}
.r22-viewer-bar a{color:#fff7e8;font-weight:650;font-size:14px}
.r22-viewer-bar button{font:inherit;font-weight:650;font-size:14px;background:#fff7e8;color:#17483c;border:0;border-radius:999px;padding:11px 20px;cursor:pointer}
/* things to do */
.r22-todo{background:#17483c;color:#fff7e8;padding:100px 6%}
.r22-todo .r22-head .eyebrow{color:#ffcf9f}.r22-todo .r22-head h2{color:#fff7e8}.r22-todo .r22-head h2 em{color:#ff9d7f}.r22-todo .r22-head .lead{color:#fff7e8cc}
.r22-todo h3{color:#fff7e8}
.r22-todo-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px}
.r22-list{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid #fff7e826}
.r22-list li{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:14px 0;border-bottom:1px solid #fff7e826}
.r22-list b{font-size:15px}.r22-list span{color:#ffcf9f;font-weight:650;font-size:14px;text-align:right}
.r22-list small{grid-column:1/-1;color:#fff7e8a6;font-size:12px}
.r22-todo .pill.coral{margin:0;background:#ff795f;color:#fff;text-decoration:none}
.r22-places{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.r22-places li{display:grid;grid-template-columns:44px 1fr;gap:14px;background:#fff7e80f;border:1px solid #fff7e81f;border-radius:18px;padding:18px}
.r22-n{font:600 22px var(--serif);color:#e8a317}
.r22-area{margin:0;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#ffcf9f}
.r22-places h4{margin:4px 0 4px;font:600 21px var(--serif);letter-spacing:-.02em}
.r22-places p{margin:0 0 8px;font-size:14px;color:#fff7e8cc}
.r22-todo .r22-around a{color:#fff7e8;font-size:13px}
.r22-small{font-size:12px;color:#fff7e8a6;margin-top:16px}
@media(max-width:1000px){.r22-quotes{grid-template-columns:1fr 1fr}.r22-menus,.r22-todo-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.r22-reviews,.r22-dine,.r22-todo{padding:80px 20px}.r22-quotes{grid-template-columns:minmax(0,1fr)}.r22-quotes figure{padding:22px 20px}.r22-sheets{gap:12px}.r22-sheet span{font-size:12px}}
.r19-nav{gap:22px}

/* 10. Header button: one line, sized to match the nav */
.site-header .r19-dm{flex:none;white-space:nowrap;font-size:13px!important;min-height:44px;padding:0 18px!important;border-radius:999px;gap:8px}
.site-header .r19-dm .book-long,.site-header .r19-dm .book-short{font-size:13px!important;font-weight:650;line-height:1}
.site-header .r19-nav{flex:0 1 auto;min-width:0}
.coast-portal{display:none!important}

/* 11. Travel bar, pinned to the bottom of the screen with the Messenger button */
.r23-ticker{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;align-items:center;gap:0;height:calc(52px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#143e36f5;color:#fff7e8;box-shadow:0 -8px 30px #0b2a2233;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body{padding-bottom:calc(52px + env(safe-area-inset-bottom))}
.r23-tk-label{flex:none;margin:0;padding:0 18px;display:flex;align-items:center;gap:10px;height:100%;border-right:1px solid #fff7e826;white-space:nowrap}
.r23-tk-label b{font:600 16px var(--serif);letter-spacing:-.01em}
.r23-tk-label span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#ffcf9f}
.r23-tk-label span.live::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#7be08a;margin-right:6px;vertical-align:1px;animation:r23pulse 2s ease-in-out infinite}
@keyframes r23pulse{50%{opacity:.35}}
.r23-tk-view{flex:1;min-width:0;overflow:hidden;height:100%;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 95%,transparent)}
.r23-tk-track{display:flex;width:max-content;animation:r23tk 110s linear infinite;will-change:transform}
.r23-ticker:hover .r23-tk-track,.r23-ticker:focus-within .r23-tk-track{animation-play-state:paused}
@keyframes r23tk{to{transform:translateX(-50%)}}
.r23-tk-list{display:flex;list-style:none;margin:0;padding:0}
.r23-tk-list li{display:flex;align-items:center;white-space:nowrap;font-size:14px;font-weight:500;color:#fff7e8e6}
.r23-tk-list li::after{content:'';width:15px;height:15px;margin:0 22px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-50 -50 100 100'%3E%3Cg fill='%23e8a317'%3E%3Ccircle r='16.5'/%3E%3Cg id='r'%3E%3Cpolygon points='-3.6,-21 3.6,-21 0,-47'/%3E%3Cpolygon points='-8,-19.4 -4.8,-20.6 -13,-38'/%3E%3Cpolygon points='4.8,-20.6 8,-19.4 13,-38'/%3E%3C/g%3E%3Cuse href='%23r' transform='rotate(45)'/%3E%3Cuse href='%23r' transform='rotate(90)'/%3E%3Cuse href='%23r' transform='rotate(135)'/%3E%3Cuse href='%23r' transform='rotate(180)'/%3E%3Cuse href='%23r' transform='rotate(225)'/%3E%3Cuse href='%23r' transform='rotate(270)'/%3E%3Cuse href='%23r' transform='rotate(315)'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.r23-tk-list li.live{color:#fff}.r23-tk-list li.live b{font-weight:700;margin-right:6px;color:#ffcf9f}
.r23-dm{flex:none;margin:0 10px 0 6px;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 18px;border-radius:999px;background:#ff795f;color:#fff;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;box-shadow:0 4px 16px #ff795f55}
.r23-dm:hover,.r23-dm:focus-visible{background:#ff8d76}
.r23-dm-s{display:none}
.r23-credits{margin:18px 0 0;font-size:11px;opacity:.75}.r23-credits a{color:inherit}
@media(max-width:760px){.r23-tk-label b{display:none}.r23-tk-label{padding:0 10px 0 12px}.r23-dm-l{display:none}.r23-dm-s{display:inline}.r23-dm{padding:0 14px;font-size:13px;height:36px;margin-right:8px}.r23-tk-list li{font-size:13px}.r23-tk-list li::after{margin:0 16px}}
@media(max-width:380px){.r23-tk-label{display:none}}
@media(prefers-reduced-motion:reduce){.r23-tk-track{animation:none}.r23-tk-view{overflow-x:auto;mask-image:none;-webkit-mask-image:none}}
@media print{.r23-ticker{display:none}}
@media(max-width:760px){.site-header .r19-dm{display:none!important}}

/* 12. Gentle reveal as sections scroll in (only when JS adds .r23-anim; off for reduced motion) */
.r23-anim .r23-rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.r23-anim .r23-rv.in{opacity:1;transform:none}

/* 216 phone review 2026-11-11: remove dead Step inside and obscured scroll cue; preserve cinematic quotes. */
#home .hero-actions > a[href="#enter-camp"],
#home .journey-foot { display: none !important; }
/* 216 phone review: simplify repeated directions; retained in source for reversal. */
#how-to-book, .r22-atcamp { display:none !important; }
/* Older-reader phone legibility: retain palette and display typography. */
@media(max-width:760px){
 #camp-stays .favourite-room p:last-child,
 #camp-stays .rate-help>p {font-size:18px;line-height:1.65;color:#143e36;}
 #camp-stays .favourite-room button,
 #camp-stays .rate-help a {font-size:17px;line-height:1.55;white-space:normal;max-width:100%;}
 #camp-stays .favourite-room .eyebrow {font-size:12px;line-height:1.6;letter-spacing:.12em;}
 #camp-stays .camp-extras>summary small,
 #camp-stays .camp-extras dt,
 #camp-stays .camp-extras dd,
 #camp-stays .camp-extras dd small,
 #camp-stays .camp-extras>p,
 #camp-stays .rate-period,
 #camp-stays .rate-story,
 #camp-stays .rate-detail p,
 #camp-stays .rate-card-body>label {font-size:16px;line-height:1.65;color:#143e36;}
 #camp-stays .camp-extras summary>span {min-width:0;}
 #camp-stays .rate-help>div {gap:12px 22px;}
 #camp-stays .rate-help a {min-height:44px;}
}
@media(max-width:760px){#camp-stays .camp-extras>summary b{flex:0 0 24px;width:24px;height:24px;line-height:24px;text-align:center;margin-right:6px;}}

/* 216 phone review: remove the two screenshot sections, keeping entrance intact. */
#your-day, a[href="#your-day"] { display: none !important; }

/* Phone shoreline: remove legacy sticky scroll hold, retain photograph and quote. */
@media (max-width: 760px) {
 #sea-breath { height: auto; min-height: 0; }
 #sea-breath .sea-window { position: relative; top: auto; height: 85svh; min-height: 520px; }
 #sea-breath .sea-window > img { transform: none; will-change: auto; }
 #sea-breath .canopy-hint { display: none; }
}

/* Room carousel: horizontal track only; vertical gestures scroll the page. */
@media (max-width: 700px) {
 #camp-stays .rate-grid { overflow-y: hidden; touch-action: pan-x pan-y pinch-zoom; overscroll-behavior-x: contain; overscroll-behavior-y: auto; align-items: flex-start; }
 #camp-stays .rate-card { transform: none !important; opacity: 1 !important; transition: none !important; }
 #camp-stays .rate-photo, #camp-stays .rate-photo img { -webkit-user-drag: none; user-select: none; -webkit-user-select: none; }
}

#home .hero-book,
.chapter-dock button[data-inquiry] {
 background: #f5eddd;
 color: #183d32;
 font-weight: 700;
}
#home .hero-book {
 min-height: 48px;
 padding: 0 16px;
 border: 0;
 border-radius: 999px;
 font-size: 16px;
 text-shadow: none;
}
#home .hero-book:focus-visible,
.chapter-dock button[data-inquiry]:focus-visible {
 outline: 2px solid #f5eddd;
 outline-offset: 3px;
}

/* Owner-requested intro attribution and practical contact footer. */
#home .hero-credit{position:absolute;z-index:6;left:6%;bottom:76px;margin:0;color:#fff7e8;font:400 12px/1.5 var(--font);text-shadow:0 1px 5px #000}
@media(max-width:700px){#home .hero-credit{bottom:118px}}

/* Map controls share a stable two-column layout and readable provider labels. */
#getting-here .travel-map-wrap{padding:18px;overflow:visible}
#getting-here .map-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;border:1px solid #143e3630;border-radius:12px;background:#eee8da;scroll-margin-top:100px}
#getting-here .map-toolbar button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;min-height:68px;padding:12px 16px;border:1px solid transparent;border-radius:8px;color:#244b40;background:transparent;font:600 16px/1.25 var(--font,'DM Sans',sans-serif);text-align:left;cursor:pointer}
#getting-here .map-toolbar button span{display:block;margin:0;font-size:12px;font-weight:400;line-height:1.4;opacity:1}
#getting-here .map-toolbar button[aria-pressed=true]{background:#173f36;color:#fff9ed;border-color:#173f36;box-shadow:0 2px 5px #143e3615}
#getting-here .traffic-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 0 0}
#getting-here .traffic-areas[hidden]{display:none}
#getting-here .traffic-areas button{min-width:0;min-height:48px;padding:9px 8px;border:1px solid #143e3640;border-radius:6px;font:500 14px/1.35 var(--font,'DM Sans',sans-serif);color:#244b40;background:transparent;cursor:pointer}
#getting-here .traffic-areas button[aria-pressed=true]{background:#e1e7d9;border-color:#244b40;color:#143e36}
#getting-here .travel-map{margin-top:16px;border-radius:8px}
#getting-here .map-caption{gap:16px;align-items:center}
#getting-here .map-caption>p,#getting-here .map-small{font-size:13px;line-height:1.65}
#getting-here .map-caption button,#getting-here .map-external{font-size:14px;min-height:48px}
#getting-here .map-toolbar button:focus-visible,#getting-here .traffic-areas button:focus-visible{outline:2px solid #244b40;outline-offset:3px}

/* A complete closing section: property, reception, visit links, then policy and credits. */
#contact{display:block;padding:72px 7% 32px;background:#143e36;color:#fff7e8;scroll-margin-top:90px}
#contact .footer-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.8fr);gap:50px;padding-bottom:48px}
#contact .footer-wordmark{display:inline-block;font:500 clamp(36px,3.4vw,48px)/1.05 var(--serif,Georgia,serif);letter-spacing:-.045em;overflow-wrap:normal;word-break:normal;text-decoration:none;margin:0 0 22px}
#contact .footer-wordmark span{display:block;margin-top:14px;font:500 10px/1.5 var(--font,'DM Sans',sans-serif);letter-spacing:.15em}
#contact .footer-brand>p{font-size:15px;line-height:1.7;color:#e0e7d9;margin:0 0 20px}
#contact h2{font:600 16px/1.4 var(--font,'DM Sans',sans-serif);letter-spacing:0;margin:4px 0 18px;color:#fff7e8}
#contact .footer-contact>a,#contact .footer-nav>a{display:flex;align-items:center;min-height:48px;margin:0;font-size:15px;line-height:1.5;color:#fff7e8;text-decoration:none;overflow-wrap:anywhere}
#contact .footer-nav>a{justify-content:space-between;gap:20px;border-bottom:1px solid #fff7e81a}
#contact .footer-contact>p{font-size:14px;line-height:1.7;color:#c8d7cb;margin:16px 0 0;max-width:300px}
#contact .footer-book{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:48px;padding:13px 22px;border:1px solid #f2e6cd;border-radius:30px;background:#f2e6cd;color:#143e36;font:600 15px/1.4 var(--font,'DM Sans',sans-serif);cursor:pointer}
#contact .footer-brand .footer-book-note{font-size:13px;line-height:1.6;max-width:270px;margin:14px 0 0;color:#c8d7cb}
#contact .footer-policy{border-top:1px solid #fff7e833;border-bottom:1px solid #fff7e833;margin:0;scroll-margin-top:100px}
#contact .footer-policy>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;padding:20px 0;font:500 20px/1.4 var(--font,'DM Sans',sans-serif);list-style:none;cursor:pointer}
#contact .footer-policy>summary::-webkit-details-marker,#contact .footer-sources>summary::-webkit-details-marker{display:none}
#contact .footer-policy>summary::after{content:'+';font-size:26px;font-weight:400}
#contact .footer-policy[open]>summary::after{content:'−'}
#contact .footer-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:6px 0 32px}
#contact .footer-policy-grid section{padding:0;min-height:0;background:none}
#contact .footer-policy h3{font:600 15px/1.5 var(--font,'DM Sans',sans-serif);margin:0 0 12px;color:#fff7e8}
#contact .footer-policy p{font-size:14px;line-height:1.8;color:#d4dfd4;margin:0 0 12px}
#contact .footer-bottom{display:grid;grid-template-columns:1fr 1fr auto;gap:26px;align-items:start;padding-top:20px}
#contact .footer-bottom>p{font-size:12px;line-height:1.6;color:#c8d7cb;padding-top:15px;margin:0}
#contact .footer-sources>summary,#contact .footer-top{display:flex;align-items:center;gap:12px;min-height:48px;margin:0;font:400 12px/1.6 var(--font,'DM Sans',sans-serif);color:#d4dfd4;cursor:pointer;list-style:none;text-decoration:none}
#contact .footer-sources>summary::after{content:'+'}
#contact .footer-sources[open]>summary::after{content:'−'}
#contact .footer-sources p{font-size:12px;line-height:1.8;color:#c8d7cb;margin:0 0 12px}
#contact .footer-sources a{display:inline-flex;align-items:center;min-height:48px;margin:0;font-size:12px;color:#fff7e8;text-decoration:underline;text-underline-offset:4px}
#contact a:hover{text-decoration:underline;text-underline-offset:4px}
#contact :is(a,button,summary):focus-visible{outline:2px solid #f2e6cd;outline-offset:5px}
@media(max-width:1000px){#contact .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}#contact .footer-brand{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}#contact .footer-wordmark{grid-row:1/3}#contact .footer-book{justify-self:start}#contact .footer-book-note{grid-column:2}#contact .footer-policy-grid{gap:24px}}
@media(max-width:700px){#getting-here .travel-map-wrap{padding:12px}#getting-here .map-toolbar button{padding:12px 10px;min-height:68px;font-size:15px}#getting-here .traffic-areas{gap:6px}#getting-here .traffic-areas button{font-size:13px;min-height:52px;padding:8px 5px}#getting-here .map-caption{display:block}#getting-here .map-caption button{margin-top:3px}#contact{padding:48px 6% 28px}#contact .footer-main{grid-template-columns:minmax(0,1fr);gap:34px;padding-bottom:32px}#contact .footer-brand{display:block;grid-column:auto}#contact .footer-wordmark{font-size:40px}#contact .footer-contact,#contact .footer-nav{border-top:1px solid #fff7e833;padding-top:24px}#contact .footer-email{font-size:14px}#contact .footer-policy>summary{font-size:17px;min-height:76px}#contact .footer-policy-grid{grid-template-columns:1fr;gap:16px;padding-bottom:20px}#contact .footer-bottom{grid-template-columns:1fr auto;gap:0 16px}#contact .footer-bottom>p{grid-column:1/-1;padding:0 0 10px}#contact .footer-sources{min-width:0}}

#camp-stays .rate-photo-caption{font-size:12px;letter-spacing:.025em;line-height:1.5;min-height:36px}
#camp-stays .rate-photo img{object-fit:contain;object-position:center}
#camp-stays .rate-card:hover .rate-photo img{transform:none}
#camp-stays .rate-photo{aspect-ratio:3/2}

body.quiet-navigation #travel-bar{visibility:hidden;pointer-events:none}

/* Real guest films: a quiet introduction, with no competing background playback. */
.guest-films{padding:64px max(24px,7vw);background:#e7ebdf;color:#173f36;scroll-margin-top:76px}
.guest-films-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.guest-films-heading h2{font-size:clamp(32px,3.5vw,52px);line-height:1.12;margin:12px 0 0}
.guest-films-heading h2 em{color:#56715a}
.guest-rooms-link{display:inline-flex;align-items:center;min-height:48px;font-size:14px;white-space:nowrap;border-bottom:1px solid #789185}
.guest-films-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:36px;align-items:start}
.guest-film-player{position:relative;aspect-ratio:16/9;min-height:200px;background:#173f36;border-radius:5px;overflow:hidden}
.guest-film-player>div,.guest-film-player>iframe{width:100%;height:100%;position:absolute;inset:0;border:0}
#drew-play{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#173f36;color:white}
#drew-play[hidden]{display:none}
#drew-play img{width:100%;height:100%;object-fit:cover}
#drew-play span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:18px 22px;border-radius:40px;background:#173f36ee;font-size:16px;white-space:nowrap}
.guest-film-caption{padding-top:18px}.guest-film-caption h3{font-size:24px;margin:0 0 7px}
.guest-film-caption p{font-size:14px;line-height:1.65;margin:6px 0}
.guest-film-caption a,.guest-film-card a:not(.guest-film-thumb),.film-privacy a{text-decoration:underline;text-underline-offset:4px}
.guest-film-caption .guest-film-era{max-width:56ch;margin-top:12px}
#drew-status{font-size:13px;color:#415d50}
.guest-film-original{display:inline-flex;align-items:center;min-height:48px;font-size:14px}
.guest-film-list{display:grid;gap:20px}
.guest-film-card{display:grid;grid-template-columns:minmax(110px,.95fr) 1.05fr;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid #173f3626;min-width:0}
.guest-film-card:last-child{padding-bottom:0;border-bottom:0}
.guest-film-thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:#173f36}
.guest-film-thumb img{width:100%;height:100%;object-fit:cover}
.guest-film-thumb>span:not(.sr-only){position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:22px;text-shadow:0 1px 8px #000;background:#0002}
.guest-film-card h3{font-size:20px;line-height:1.2;margin:0 0 8px}.guest-film-card p{font-size:13px;line-height:1.7;margin:0}
.guest-films .film-privacy{font-size:12px;line-height:1.75;max-width:95ch;margin:26px 0 0;color:#415d50}
.camp-connectivity{font-size:15px;line-height:1.7;padding:16px 20px;background:#e7ebdf;border-left:3px solid #59705a;border-radius:3px;margin:22px 0}
.camp-connectivity a{text-decoration:underline;text-underline-offset:3px}
.camp-house-rules{margin:24px 0;border-block:1px solid #173f3633;scroll-margin-top:90px}
.camp-house-rules summary,.inquiry-before summary{cursor:pointer;min-height:48px;padding:16px 0;font-size:16px;font-weight:600}
.camp-house-rules>div{max-width:850px;padding-bottom:20px}.camp-house-rules p,.inquiry-before p{font-size:15px;line-height:1.8;margin:12px 0}
.inquiry-before{border-block:1px solid #173f3633;margin:18px 0}
@media(max-width:760px){.guest-films{padding:38px 22px}.guest-films-heading{display:block;margin-bottom:22px}.guest-rooms-link{margin-top:12px}.guest-films-grid{grid-template-columns:1fr;gap:24px}.guest-film-list{gap:16px}.guest-film-card{grid-template-columns:130px minmax(0,1fr);padding-bottom:16px}.guest-film-card h3{font-size:20px}.guest-film-caption p{font-size:15px}.guest-film-card p{font-size:14px}.camp-connectivity{padding:14px 16px}}
@media(max-width:360px){.guest-films{padding-inline:16px}.guest-film-card{grid-template-columns:110px minmax(0,1fr);gap:12px}.guest-film-card h3{font-size:18px}}
.guest-film-feature,.guest-film-list{min-width:0}
.guest-film-player{width:100%;max-width:100%}
@media(max-width:760px){.guest-films-grid{grid-template-columns:minmax(0,1fr)}}
