/* Desktop review, revision 02. Mobile refinement is a separate approved stage. */
:root{--paper:#f7f4ed;--ink:#30271f;--muted:#665c51;--line:#d9d0c3;--soft:#eee7da;--dark-surface:#292824;--cream:#f3efe7;--copper:#cda575}
body{font-size:18px;line-height:1.6}h1,h2,h3{letter-spacing:-.045em}h1{font-size:48px;max-width:810px}h2{font-size:52px;line-height:1.08}h3{font-size:27px;line-height:1.2}.lead{font-size:21px;line-height:1.6}.eyebrow{font-size:14px;letter-spacing:.13em;margin-bottom:24px}.muted{font-size:17px}.small-note{font-size:15px}.section{max-width:1440px;padding:88px 64px}.button{font-size:17px;min-height:58px;padding:16px 28px;background:var(--dark-surface);border-color:var(--dark-surface)}
.button:hover{background:#3b3a35;border-color:#3b3a35}.button.small{font-size:16px;min-height:48px;padding:13px 24px}.text-link{font-size:17px}.site-header{min-height:98px;padding:15px 48px;gap:35px}.camp-brand{position:relative;display:block;width:214px;height:60px;overflow:hidden;flex:none}.camp-brand-mark{display:block;width:100%;height:100%;overflow:hidden}.site-header nav{font-size:17px;gap:30px;font-weight:500}.site-header nav a{padding:8px 0;border-bottom:1px solid transparent}.site-header nav a:hover{color:#8b5d35;border-color:#8b5d35}html{scroll-padding-top:116px}.booking-band{max-width:1312px;margin:0 64px;padding:44px 0 36px}.booking-heading{align-items:end;margin-bottom:32px;gap:44px}.booking-intro{font-size:18px;max-width:325px;line-height:1.65}.booking-heading .eyebrow{font-size:14px}.booking-form{padding:14px;gap:12px;border-radius:6px}.booking-form label{font-size:15px;gap:9px;padding:7px 18px}.booking-form input,.booking-form select{font-size:19px}.booking-under{font-size:15px;margin-top:20px}.section-head,.split-heading{gap:72px}.section-head .lead,.split-heading .lead{max-width:560px}.facts{gap:24px;margin-top:44px;padding-top:32px}.facts strong{font-size:39px}.facts strong span{font-size:17px}.facts p{font-size:15px;max-width:175px;line-height:1.5}.gallery-section{padding-top:14px}.gallery{grid-template-rows:225px 225px;gap:14px}.photo span{font-size:15px;padding:7px 12px;left:16px;bottom:16px}.gallery-under,.gallery-under .text-link{font-size:16px}.rooms{padding-top:20px}.room-grid{gap:26px}.room-photo img{aspect-ratio:1.34;height:auto}.room-label{display:block;margin:22px 0 13px}.room-label h3{font-size:27px;letter-spacing:-.035em}.room-label span{display:block;font-size:15px;margin-top:8px}.room-grid article>p{font-size:18px;max-width:420px;line-height:1.65}.room-grid article>p strong{font-weight:500;color:var(--ink)}.linen-note{font-size:16px;line-height:1.6;gap:25px}.linen-note span:nth-child(2){max-width:390px}.line-icon{width:42px;height:42px;flex:none;display:block}.bed-plan{display:grid;grid-template-columns:1.05fr 1fr 1.25fr 1.2fr;gap:30px;padding:32px 0 38px;margin-bottom:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bed-plan>div{padding-left:24px;border-left:1px solid var(--line)}.bed-plan>div:first-child{border:0;padding:0}.bed-plan h3{font-size:27px;margin-bottom:14px}.bed-plan p{font-size:16px;color:var(--muted);line-height:1.6}.bed-plan .line-icon{height:52px;width:52px;margin-bottom:17px;color:#826341}.bed-plan strong{display:block;font-size:19px;font-weight:600;margin-bottom:8px}.bed-plan span{font-size:15px;color:var(--muted);line-height:1.55;display:block}.twin-icons{display:flex;gap:3px}.bed-plan .twin-icons .line-icon{width:40px}.stories{background:#eee8dc}.stories-heading{padding-top:76px;padding-bottom:40px}.stories-heading>.lead{max-width:900px;margin-top:25px}.story-tabs{gap:26px;margin-top:34px}.story-tabs img{aspect-ratio:1.72;object-fit:cover;border-radius:4px}.story-tabs button{opacity:1;padding-bottom:18px;border-bottom:2px solid #c6bdad}.story-tabs button[aria-selected=true]{border-bottom:3px solid #745233}.story-tabs button:not([aria-selected=true]):hover{border-color:#745233}.story-tabs span{font-size:21px;font-weight:500;margin-top:16px}.story-tabs small{font-size:14px;margin-right:15px;color:#756551}.story-caption{max-width:none;background:var(--dark-surface);color:var(--cream);padding:42px max(64px,calc((100% - 1312px)/2));grid-template-columns:1fr 1.5fr;gap:60px}.story-caption h3{font-size:31px;max-width:400px}.story-caption p{font-size:20px;max-width:750px;line-height:1.65}.comfort .split-heading{margin-bottom:48px}.comfort-grid{gap:44px 44px}.comfort-grid article{padding-top:26px}.comfort-grid .line-icon{color:#89643f;width:43px;height:43px;margin-bottom:22px}.comfort-grid h3{font-size:26px;margin:0 0 16px;max-width:320px}.comfort-grid p{font-size:18px;line-height:1.65}.water-note{display:flex;align-items:center;gap:34px;padding:29px 0;margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.water-symbol{font-size:40px;color:#89643f;letter-spacing:-.05em;min-width:80px}.water-note h3{font-size:23px;margin-bottom:7px}.water-note p{font-size:18px;color:var(--muted)}.grill-story{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;margin-top:44px}.grill-story>img{width:100%;height:auto;aspect-ratio:1280/1236;object-fit:contain;object-position:center;border-radius:4px}.grill-story h3{font-size:37px;line-height:1.1;margin-bottom:24px}.grill-story p:not(.eyebrow){font-size:19px;max-width:560px;color:var(--muted)}.household{display:flex;align-items:center;gap:26px;margin-top:48px;padding:32px 0;border-top:1px solid var(--line)}.household .line-icon{color:#826341}.household h3{font-size:23px;margin-bottom:8px}.household p{font-size:17px;max-width:780px}.household>span{margin-left:auto;max-width:230px;font-size:15px;color:var(--muted);padding-left:20px;border-left:1px solid var(--line)}
.outdoors{display:block;background:var(--dark-surface);color:var(--cream)}.outdoors>.section{padding-top:80px;padding-bottom:72px}.outdoors .eyebrow,.activity-number{color:#c5bda9}.outdoors .lead{color:#dedbd3}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 36px}.activity-card{border-bottom:1px solid #55544d;padding-bottom:28px}.activity-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.activity-pair>img,.activity-pair figure>img{width:100%;height:320px;object-fit:cover;border-radius:3px}.activity-pair>img:first-child{object-position:50% 65%}.activity-copy{padding-top:26px}.activity-number{display:block;font-size:14px;letter-spacing:.08em;margin-bottom:17px}.activity-copy h3{font-size:31px;line-height:1.15;margin-bottom:20px;max-width:560px}.activity-copy p{font-size:18px;line-height:1.65;color:#dedbd3}.activity-wide{grid-column:1/-1;display:grid;grid-template-columns:.92fr 1.5fr;gap:48px;padding:14px 0 40px;border-bottom:1px solid #55544d;align-items:start}.activity-wide .activity-copy{padding-top:0}.activity-wide figure{margin:0}.activity-wide .activity-pair figure>img{height:315px}.activity-wide figcaption{font-size:16px;color:#c3bfb5;margin-top:13px}.activity-copy p.season-note{font-size:16px;color:#c3bfb5;border-left:2px solid #c5bda9;padding-left:18px;margin-top:27px}.season-note strong{color:#f3efe7;font-weight:500}.activity-copy p.activity-detail{font-size:15px;color:#c3bfb5;margin-top:24px}.dinner-card{grid-column:1/-1;display:flex;align-items:start;gap:36px;padding:0 0 14px}.dinner-card>.line-icon{width:52px;height:52px;color:#c5bda9;margin-top:8px}.dinner-card h3{font-size:31px;margin-bottom:18px}.dinner-card p{font-size:19px;color:#dedbd3;max-width:1030px}.sunset-story{position:relative;margin-top:52px;overflow:hidden;border-radius:4px}.sunset-story img{width:100%;height:500px;object-fit:cover;object-position:50% 43%}.sunset-story:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#100e0de0 0%,transparent 68%)}.sunset-story>div{position:absolute;left:40px;bottom:32px;z-index:1;color:#fff7ea;font-size:35px;line-height:1.2;letter-spacing:-.035em;font-weight:500}.conditions .lead{font-size:20px}.rules-strip{margin:40px 0 28px;padding:31px 0}.rules-strip span{font-size:16px}.rules-strip strong{font-size:30px}.faq{max-width:none}.faq summary{font-size:21px;padding:25px 42px 25px 0}.faq details p{font-size:18px;max-width:1080px;padding:0 50px 28px 0}.location{background:var(--dark-surface);color:var(--cream);max-width:none;padding:70px max(64px,calc((100% - 1312px)/2));gap:100px}.location .address{font-size:22px;margin-top:28px}.location .eyebrow{color:#c5bda9}.location-copy>p:not(.eyebrow):not(.address){font-size:18px;color:#dedbd3}.location .button.light{background:transparent;color:var(--cream);border-color:#55544d}.location .button.light:hover{background:#3b3a35}.directions>div{border-color:#55544d}.directions span{font-size:14px;color:#c5bda9}.directions h3{font-size:27px}.directions p{font-size:18px;color:#dedbd3;max-width:550px}.final-booking{padding:80px 30px;background:#eee7d9}.final-booking h2{font-size:60px}.final-booking>p:last-child{font-size:17px;margin-top:24px}footer{display:block;background:var(--dark-surface);padding:35px max(64px,calc((100% - 1312px)/2)) 28px;min-height:0;color:var(--cream)}.footer-top{display:flex;align-items:center;gap:36px;padding-bottom:30px}.footer-top>p{font-size:20px;line-height:1.5;flex:1}.footer-top p span{font-size:15px;color:#c3bfb5}.footer-logo{width:240px;height:98px;flex:none;position:relative;overflow:hidden}.footer-logo img{width:267px;max-width:none;position:absolute;left:-15px;top:50%;transform:translateY(-50%)}.footer-top a{opacity:1;font-size:16px}.footer-bottom{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid #55544d;padding-top:25px}.footer-bottom>span{font-size:13px;line-height:1.5;max-width:240px;color:#c3bfb5}.footer-bottom>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px}.footer-bottom :is(button,a){border:0;background:none;padding:0;color:var(--cream);font-size:14px;line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.footer-bottom :is(button,a):hover{color:#f3efe7}.demo-dialog{width:min(680px,calc(100% - 50px));padding:48px}.demo-dialog p{font-size:18px}.demo-dialog .muted{font-size:16px}.demo-dialog h2{font-size:36px}.photo-top,.photo-bottom p{font-size:16px}.photo-top{padding:14px 24px}.photo-bottom{padding:16px 24px}.photo-dialog>img{max-height:74dvh}.photo-top .close{color:white}
@media(min-width:1440px){.booking-band{margin-left:auto;margin-right:auto}}

/* Revision 03: compact header, stable logo proportions and intentional image framing. */
.site-header{min-height:72px;height:72px;padding:10px 40px;gap:28px;background:#fcfaf5;border-bottom:1px solid #dfd6c8}
.camp-brand{width:187px;height:49px}
.site-header .camp-navigation{display:flex;gap:3px;align-items:center;padding:4px;background:#eee8de;border:1px solid #ddd2c2;border-radius:32px;font-size:15px;font-weight:500;letter-spacing:.015em}
.site-header .camp-navigation a{padding:8px 17px;line-height:1.3;border:0;border-radius:24px;color:#6a5846;white-space:nowrap;transition:background .16s,color .16s,box-shadow .16s}
.site-header .camp-navigation a:hover{background:#f8f4ed;color:#302016}
.site-header .camp-navigation a[aria-current]{background:#fffdf8;color:#302016;box-shadow:0 1px 5px #432d1814}
.site-header .button.small{min-height:42px;padding:10px 23px;font-size:15px;gap:20px;background:var(--dark-surface);border-color:var(--dark-surface)}
.site-header .button.small:hover{background:#3b3a35;border-color:#3b3a35}
html{scroll-padding-top:88px}.booking-band{scroll-margin-top:88px}
.footer-logo img{width:267px;height:auto;aspect-ratio:1322/789;object-fit:contain}
.footer-top>p{margin:0;line-height:1.35}
.animal-pair>img{height:400px}.animal-pair>img:first-child{object-position:50% 64%}.animal-pair>img:last-child{object-position:center}






/* Revision 04: full portrait originals and an approved warm graphite palette. */
.nature-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.nature-pair>img,.nature-pair>img:first-child,.nature-pair>img:last-child{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center}
