:root{--paper:#faf9f6;--ink:#292720;--muted:#69665c;--line:#d8d4c9;--sand:#eeeadf;--gold:#bb9556}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:2;letter-spacing:.04em}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0;position:relative;overflow:hidden}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(27px,3vw,43px);line-height:1.7;letter-spacing:.09em;margin-bottom:30px}h3{font-size:25px;line-height:1.7}.eyebrow{font:11px/1.8 Arial,sans-serif;letter-spacing:.18em;color:#81704f;margin-bottom:20px}.family-bar{padding:9px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:10px/1.5 Arial,sans-serif;letter-spacing:.12em}.family-bar div{display:flex;gap:28px}.family-bar a{font-family:sans-serif;padding:4px 0}.family-bar [aria-current]{border-bottom:1px solid var(--ink)}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;gap:30px}.identity{display:flex;align-items:center;gap:20px;flex-shrink:0}.identity img{width:110px;height:auto;filter:invert(1)}.identity>span{font:13px/1.8 Arial,sans-serif;letter-spacing:.14em;border-left:1px solid var(--line);padding-left:20px}.identity small{display:block;font:10px/2 sans-serif;letter-spacing:.03em}nav{display:flex;gap:27px;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:#fff;min-height:56px;padding:15px 25px;font-size:13px;line-height:1.7;border:1px solid var(--ink);transition:background .2s}.button:hover{background:#514a3c}.button span{font-family:sans-serif;font-size:20px}.hero{height:min(740px,76vw);min-height:540px;position:relative;color:#fff}.hero>img{object-position:center 60%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,17,.62),transparent 80%)}.hero-copy{position:absolute;z-index:1;left:8%;top:21%}.hero h1{font-size:clamp(36px,4.4vw,65px);line-height:1.7;letter-spacing:.12em;margin-bottom:24px}.hero p{font-size:14px;line-height:2.2}.hero .eyebrow{color:#e9d9b6;font-size:12px}.hero-caption{position:absolute;bottom:28px;left:8%;z-index:1;font:10px sans-serif;letter-spacing:.18em}.photo-id{position:absolute;left:18px;top:15px;color:rgba(255,255,255,.65);font:12px Arial,sans-serif;z-index:2;text-shadow:0 1px 4px #000}.section{padding:110px 8%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;row-gap:5px}.intro>.eyebrow{grid-column:1/-1}.intro p{font-size:15px;line-height:2.3}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--ink);padding:12px 0;font-size:13px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:30px}.section-title>p{font-size:13px;color:var(--muted)}.stay{background:var(--sand);max-width:none}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.stay figure{aspect-ratio:1.4;margin-bottom:27px}.stay article>p:not(.eyebrow){font-size:14px;color:var(--muted)}.stay h3{margin-bottom:16px}.stay .button{margin-top:10px}.note{font:11px/1.9 sans-serif;color:var(--muted);letter-spacing:.02em}.stay>.note{margin-top:30px}.equipment{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:35px;margin-top:45px;border-top:1px solid #c9c2b4}.equipment h3{font-size:23px}.equipment p{font-size:13px;color:var(--muted)}.food{display:grid;grid-template-columns:53% 47%;background:#f3f1eb}.food figure{min-height:650px}.food-copy{padding:90px 12%}.food-copy p{font-size:14px;line-height:2.2}.food-copy .note{font-size:11px}.experience-list{margin-top:50px}.experience-list article{display:grid;grid-template-columns:55px 1fr 1.3fr;align-items:baseline;gap:25px;padding:25px 0;border-top:1px solid var(--line)}.experience-list span{font:11px Arial;color:#8c7954}.experience-list h3{font-size:24px;margin:0}.experience-list p{font-size:13px;color:var(--muted);margin:0}.experiences>.note{margin-top:30px}.brand-story{display:grid;grid-template-columns:45% 55%;background:#292d28;color:#fff}.brand-story figure{min-height:490px}.brand-story>div{padding:80px 12%}.brand-story h2{font-size:clamp(27px,2.5vw,38px)}.brand-story .eyebrow{color:#d0b982}.brand-story p{font-size:13px;color:#dfdfd5}.brand-story .button{background:#e9dec5;color:#292720;border-color:#e9dec5;margin-top:16px}.access{display:grid;grid-template-columns:1.1fr .9fr;gap:8%}.access h2{font-size:32px}.access p{font-size:13px}.access .facility{font-size:18px}.phone{font-size:28px}.booking{background:var(--sand);padding:50px;align-self:center}.booking h3{font-size:28px}.booking .button{width:100%;margin-top:10px}footer{background:#efede7;padding:55px 8% 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:40px}.footer-brand{display:flex;gap:28px;align-items:center}.footer-brand img{width:125px;height:auto;filter:invert(1)}.footer-brand p{font-size:12px;margin:0}footer>div:nth-child(2){display:flex;gap:24px;font-size:11px}footer>small{width:100%;font:9px Arial;color:var(--muted);letter-spacing:.12em;border-top:1px solid var(--line);padding-top:23px}.mobile-reserve{display:none}@media(max-width:1100px){nav{display:none}header{gap:15px}.identity>span{font-size:11px}.food-copy{padding:65px 10%}.food figure{min-height:550px}.booking{padding:32px}.section{padding:80px 7%}.reserve{padding:13px 18px;gap:20px}}@media(max-width:650px){.family-bar{font-size:8px}.family-bar div{gap:14px}header{padding:19px 6%}.identity img{width:90px}.identity{gap:13px}.identity>span{padding-left:13px;font-size:10px}.identity small{font-size:8px}.reserve{display:none}.hero{height:620px;min-height:0}.hero>img{object-position:60% center}.hero:after{background:linear-gradient(90deg,rgba(8,19,17,.58),rgba(8,19,17,.08))}.hero-copy{top:18%;left:7%;right:5%}.hero h1{font-size:34px}.hero p{font-size:12px}.hero-caption{font-size:8px;left:7%}.section{padding:65px 7%}.intro,.stay-grid,.equipment,.food,.brand-story,.access{grid-template-columns:1fr}.intro h2{margin-bottom:24px}.intro>.eyebrow{grid-column:auto}.intro>div p{font-size:14px}.section-title{display:block;margin-bottom:30px}.stay-grid{gap:50px}.equipment{gap:0}.equipment h3{margin-bottom:15px}.food figure{min-height:0;aspect-ratio:1.2}.food-copy{padding:55px 7%}.experience-list article{grid-template-columns:25px 1fr;gap:12px;padding:24px 0}.experience-list p{grid-column:2}.experience-list h3{font-size:22px}.brand-story figure{min-height:0;aspect-ratio:1.2}.brand-story>div{padding:55px 7%}.access{gap:35px}.access h2{font-size:27px}.booking{padding:28px}.button{min-height:54px}.footer-brand{gap:20px}footer{padding:45px 7% 95px}footer>div:nth-child(2){flex-direction:column;gap:12px}.mobile-reserve{display:flex;position:fixed;z-index:5;bottom:0;left:0;width:100%;background:#292720;border:0;border-top:1px solid #998460;padding:17px 7%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Multi-page navigation */
nav a[aria-current="page"]{border-bottom:1px solid var(--gold)}.page-intro{padding-top:45px;padding-bottom:65px}.breadcrumb{font:10px sans-serif;letter-spacing:.08em;color:var(--muted)}.page-intro .eyebrow{margin-top:45px}.page-intro h1{font-size:clamp(30px,3.5vw,52px);line-height:1.7;letter-spacing:.08em;margin-bottom:22px}.page-intro>p:last-child{font-size:14px;color:var(--muted)}.info-list{margin:40px 0}.info-list>div{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:26px 0;border-top:1px solid var(--line)}.info-list dt{font-size:16px}.info-list dd{font-size:14px;color:var(--muted);margin:0}.related{border-top:1px solid var(--line);padding-top:45px;padding-bottom:50px}.related>div{display:flex;gap:30px}.related a{display:flex;justify-content:space-between;flex:1;border-bottom:1px solid var(--line);padding:18px 0}.stay-teaser h3{display:flex;justify-content:space-between}.stay-teaser p{font-size:14px;color:var(--muted)}.stay-teaser:hover h3{color:#876c3c}.home-access{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.home-access h2{font-size:30px}.home-access p{font-size:13px}.home-access>div:last-child{padding:35px;background:var(--sand)}.map-wrap{padding:0 8%;height:400px}.map-wrap iframe{width:100%;height:100%;border:0}@media(max-width:650px){.info-list>div{grid-template-columns:1fr;gap:10px}.related>div{gap:18px}.related a{font-size:13px}.home-access{grid-template-columns:1fr;gap:35px}.home-access h2{font-size:27px}.page-intro{padding-top:30px;padding-bottom:45px}.map-wrap{height:300px;padding:0 7%}header{flex-wrap:wrap}header nav{display:flex;order:3;width:100%;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line);gap:15px;font-size:12px}}@media(min-width:651px) and (max-width:1100px){header{flex-wrap:wrap}header nav{display:flex;order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:15px}}

.detail-photo{height:480px;margin:0 8%;}.detail-photo img{object-position:center}.detail-photo.exterior{height:560px}.exterior img{filter:none;object-position:center 65%}.faq{background:var(--sand);max-width:none}.faq details{border-top:1px solid #cfc9bb;padding:22px 0}.faq summary{cursor:pointer;font-size:17px}.faq details p{font-size:14px;color:var(--muted);margin:18px 0 0;max-width:750px}.footer-contact{width:100%;font:11px/2 sans-serif;margin:0;color:var(--muted)}.skip-link{position:absolute;left:15px;top:-100px;z-index:20;background:#fff;padding:12px}.skip-link:focus{top:10px}.experience-list+.button{margin-top:30px}@media(max-width:650px){.detail-photo,.detail-photo.exterior{height:280px;margin:0 7%}.footer-contact{font-size:10px;overflow-wrap:anywhere}.hero h1{font-size:clamp(26px,7.8vw,34px)}.identity{max-width:100%}.map-wrap iframe{display:block}.button{max-width:100%}}

.enriched:nth-of-type(even){background:#f1efe8;max-width:none}.plan-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.plan-comparison article{border-top:1px solid var(--line);padding-top:25px}.plan-comparison h3{font-size:23px}.plan-comparison p{font-size:14px;color:var(--muted)}.itinerary{list-style:none;counter-reset:day;padding:0;margin-top:40px}.itinerary li{counter-increment:day;position:relative;padding:22px 0 22px 55px;border-top:1px solid var(--line)}.itinerary li:before{content:"0" counter(day);position:absolute;left:0;top:28px;font:12px Arial;color:#8c7954}.itinerary strong{font-size:19px;font-weight:400}.itinerary p{font-size:14px;color:var(--muted);margin:10px 0 0}.booking-choice{background:var(--sand);max-width:none;text-align:center}.booking-choice>div{display:flex;justify-content:center;gap:20px;margin:30px 0}.booking-choice .button{min-width:270px}.booking-choice>p:not(.eyebrow){font-size:14px}.source-note{padding:15px 8% 30px;font:10px/1.9 sans-serif;color:var(--muted)}.source-note a{text-decoration:underline}@media(max-width:650px){.plan-comparison{grid-template-columns:1fr;gap:22px}.booking-choice>div{flex-direction:column}.booking-choice .button{min-width:0;width:100%}.booking-choice h2{font-size:25px}.enriched{padding-top:60px;padding-bottom:60px}}

.quick-reservation{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 5%;background:#eeeadf;border-top:1px solid #d8d4c9}.quick-reservation>span{font-size:11px;margin-right:8px}.quick-reservation>a{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:#292720;color:#fff;padding:9px 18px;font-size:12px;border:1px solid #292720}.quick-reservation>a:hover{background:#514a3c}@media(max-width:650px){.quick-reservation{justify-content:center;gap:10px;padding:12px 5%}.quick-reservation>a{gap:15px;padding:9px 12px}.quick-reservation>span{font-size:10px;margin-right:0}}

.plan-comparison .button{font-size:12px;padding:13px 16px;gap:15px;width:100%;margin-top:15px}.plan-comparison article{display:flex;flex-direction:column}.plan-comparison article>.button{margin-top:auto}.plan-comparison article>p:last-of-type{margin-bottom:25px}

.camp-consultation{background:#eeeadf;max-width:none}.camp-consultation form{max-width:900px;margin-top:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px}.camp-consultation label{display:block;font-size:14px;margin-bottom:22px}.camp-consultation label>span{font:10px sans-serif;color:#74592f;margin-left:8px}.camp-consultation input,.camp-consultation select,.camp-consultation textarea{display:block;width:100%;margin-top:9px;padding:13px;border:1px solid #b8b1a1;border-radius:0;background:#faf9f6;color:#292720;font:16px/1.6 sans-serif}.camp-consultation button{cursor:pointer;font-family:inherit}.camp-consultation input:focus,.camp-consultation select:focus,.camp-consultation textarea:focus{outline:2px solid #887040;outline-offset:2px}footer>div:nth-child(2){flex-wrap:wrap;max-width:600px}@media(max-width:650px){.form-grid{grid-template-columns:1fr;gap:0}}

.stay-reservation{display:flex;gap:18px;flex-wrap:wrap;padding:0 8% 55px}.stay-reservation .button{min-width:260px}@media(max-width:650px){.stay-reservation{padding:0 7% 40px;gap:12px}.stay-reservation .button{width:100%;min-width:0}}

.booking>.button+.button,.home-access>div:last-child>.button+.button{margin-top:12px}.home-access>div:last-child>.button{width:100%}.booking .note{margin-top:15px}

.contact-breadcrumb{padding:30px 8%;font:10px/1.8 sans-serif;color:var(--muted)}.camp-consultation h1{font-size:clamp(28px,3.2vw,46px);font-weight:400;line-height:1.7;letter-spacing:.08em;margin-bottom:25px}.contact-guide{background:#f1efe8;max-width:none}@media(max-width:650px){header nav{gap:8px;font-size:11px;flex-wrap:wrap}.contact-breadcrumb{padding:25px 7%}}

button[type=submit]:disabled{opacity:.65;cursor:wait}.form-consent{display:flex!important;align-items:flex-start;gap:12px;font-size:13px;margin:24px 0}.form-consent input{width:20px!important;min-width:20px;height:20px;margin:2px 0}
