@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{--green:#3e4732;--accent:#62724d;--cream:#f9f2ea;--sand:#edd8bc;--brown:#664328;--deep-brown:#442e17;--ink:#1e1b1a;--body:#1e1b1a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Inter,Arial,sans-serif;font-weight:400;line-height:1.2;letter-spacing:0}h2{font-size:32px;margin-bottom:20px}h3{font-size:18px;font-weight:500;line-height:1.25;margin-bottom:15px}p{color:var(--body);margin-bottom:20px}.container{width:min(1120px,calc(100% - 60px));margin:auto}header{height:117px;background:var(--sand)}.header-inner{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:100%;position:relative}.brand img{height:70px;width:84px;object-fit:contain}.brand{margin-left:25px}nav{display:flex;gap:40px;position:absolute;left:50%;transform:translateX(-50%)}nav a{font-size:16px;white-space:nowrap}nav a:hover,nav a.active{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:var(--cream);border:0;padding:13px 25px;font-size:14px;min-width:148px;min-height:46px;font-weight:500;transition:background .2s}.button:hover{background:var(--accent)}.eyebrow{color:var(--accent);font-size:16px;font-weight:700;line-height:1;margin-bottom:20px;text-transform:uppercase;letter-spacing:0}.hero{height:700px;position:relative}.hero-photo{height:100%;object-position:center center}.hero-shade{position:absolute;inset:0;background:#442e174d}.hero-copy{position:absolute;top:204px;left:50%;transform:translateX(-50%);width:min(1100px,94%);text-align:center}.hero h1{color:var(--cream);font-size:56px;font-weight:200;line-height:1.2;margin:0}.booking-wrap{position:absolute;top:340px;left:50%;transform:translateX(-50%);width:min(1100px,90%);scroll-margin-top:25px}.booking-wrap form{display:grid;grid-template-columns:125px 1fr 1fr 1.45fr 135px 165px;gap:8px;padding:23px 30px;background:var(--sand);align-items:center}.booking-title{font-size:20px;font-weight:600;white-space:nowrap}.booking-wrap label{border:1px solid #66432855;height:44px;display:flex;flex-direction:column;justify-content:center;font-size:11px;line-height:1.25;padding:4px 9px;color:var(--deep-brown)}.booking-wrap input,.booking-wrap select{border:0;min-width:0;width:100%;font-size:12px;font-weight:600;color:var(--ink);background:var(--sand);padding:0;line-height:1.5}.booking-wrap select{appearance:auto}.booking-wrap .promo-field{background:var(--cream);border:0;padding:9px}.booking-wrap .promo-field input{background:transparent;font-size:11px;font-weight:400}.booking-wrap .promo-field input::placeholder{color:var(--accent)}.booking-wrap .button{min-width:0;min-height:44px;padding:10px}.intro{display:grid;grid-template-columns:540px 1fr;gap:65px;padding:80px 10px}.intro-copy .button{margin-top:8px}.intro-image{display:flex;align-items:center;justify-content:flex-end}.intro-image img{width:400px;max-width:100%;height:265px;box-shadow:0 0 10px #0004}.section-heading{text-align:center}.section-heading h2{margin-bottom:0}.home-rooms{padding-top:0;padding-bottom:80px}.room-stage{position:relative;margin-top:75px;height:660px}.room-backdrop{position:absolute;top:65px;left:0;right:0;height:500px;width:100%;object-position:center}.floating-room{position:absolute;display:flex;align-items:flex-start;gap:15px;background:var(--sand);padding:35px 25px;text-align:left;border:0;box-shadow:0 0 20px #00000012;width:400px;transition:transform .2s;z-index:1}.floating-room:hover{transform:translateY(-4px)}.floating-room img{width:55px;height:45px;flex-shrink:0;margin-top:3px}.floating-room h3{margin-bottom:15px}.floating-room p{font-size:15px;line-height:1.6;margin:0}.room-0{left:10%;top:0}.room-1{right:0;top:190px;width:365px}.room-2{left:-20px;bottom:75px;width:365px}.room-3{right:10%;bottom:0}.gallery{background:var(--brown);padding:80px 0 0;position:relative}.gallery .eyebrow{color:var(--sand)}.gallery h2{color:var(--cream)}.gallery .section-heading{padding:0 25px 40px}.filters{display:flex;justify-content:center;gap:35px;margin-top:4px;flex-wrap:wrap}.filters button{border:0;background:none;color:var(--cream);padding:0;font-size:16px;min-height:35px}.filters button[aria-pressed=true]{color:var(--sand)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.gallery-grid button{display:block;border:0;background:none;padding:0;position:relative;overflow:hidden}.gallery-grid img{height:315px;transition:transform .35s}.gallery-grid button span{position:absolute;inset:0;display:grid;place-content:center;color:var(--cream);font-size:38px;background:#442e1780;opacity:0;transition:opacity .2s}.gallery-grid button:hover span,.gallery-grid button:focus-visible span{opacity:1}.gallery-grid button:hover img{transform:scale(1.035)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:120px;padding:80px 5px}.map-wrap{position:relative}.map-wrap iframe{width:100%;height:350px;border:0;display:block;background:var(--sand)}.map-link{position:absolute;left:12px;bottom:15px;background:var(--sand);box-shadow:0 2px 10px #0002;padding:7px 12px;font-size:11px;color:var(--green)}.contact-copy{padding-top:15px}.contact dl{margin:0}.contact dt{color:var(--accent);font-size:16px;font-weight:700;text-transform:uppercase;margin-bottom:0;line-height:1.4}.contact dd{margin:0 0 30px;color:var(--body);font-size:16px}.contact dd:last-child{margin-bottom:0}footer{display:grid;grid-template-columns:280px 150px 1fr;gap:45px;padding:50px 5px 25px}.footer-logo img{width:170px;height:145px;object-fit:contain}.social{display:inline-block;font-size:12px;color:var(--accent);margin-top:15px}.footer-links{display:flex;flex-direction:column;gap:15px;align-items:flex-start}.footer-links h3{font-size:20px;font-weight:600;margin-bottom:5px}.footer-links a{font-size:16px;color:var(--body)}.footer-links a:hover{color:var(--accent)}.footer-links.secondary{padding-top:0}.copyright{grid-column:1/-1;font-size:11px;color:var(--cream);border-top:1px solid #66432855;padding-top:20px;margin-top:10px}.room-list{padding:80px 5px}.room-row{display:grid;grid-template-columns:1fr 1fr;box-shadow:0 3px 12px #0002;margin-bottom:80px}.room-row:last-child{margin:0}.room-row:nth-child(even) .room-photo{order:2}.room-photo{border:0;background:none;display:block;padding:0}.room-photo img{height:420px;width:100%;object-fit:cover}.room-copy{padding:55px 60px;display:flex;flex-direction:column;justify-content:center}.room-copy p{margin-bottom:20px}.room-meta{font-size:13px;color:var(--accent)}.room-actions{display:flex;gap:20px;align-items:center}.text-link{border:0;background:none;padding:0;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:4px}.about-story{padding:80px 5px 40px}.about-story h1{font-size:32px;max-width:650px}.about-story>p{max-width:850px}.about-story>img{height:450px;margin-top:40px}.experiences{padding:40px 5px 80px}.experiences .section-heading{margin-bottom:50px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.experience-grid img{height:270px;margin-bottom:25px}.experience-grid .eyebrow{font-size:13px}.guest-services{border-top:1px solid #66432855;margin-top:40px;padding-top:30px}.direct{text-align:center;background:var(--cream);padding:70px max(30px,calc((100% - 1100px)/2))}.direct-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:40px 0}.direct-benefits span{color:var(--accent)}.direct-benefits h3{margin:15px 0}.direct-benefits p{font-size:14px}.destination{display:grid;grid-template-columns:1fr 1fr}.destination-image img{height:100%;min-height:530px}.destination-copy{padding:60px 12%}.distances{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.distances strong{font:400 28px Inter,Arial,sans-serif;display:block;color:var(--green)}.distances span{font-size:12px;color:var(--body)}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:0 5px 80px}.faq details{border-bottom:1px solid #66432855;padding:18px 0}.faq summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none}.faq summary:after{content:'+';font-size:20px}.faq details[open] summary:after{content:'−'}.faq details p{margin:15px 0 0;font-size:14px}.small{font-size:12px!important}dialog{background:var(--sand);color:var(--ink);border:0;padding:35px;max-width:850px;width:92vw;max-height:90vh;overflow:auto;box-shadow:0 5px 30px #0003}dialog::backdrop{background:#442e17b3}.close{position:sticky;top:0;float:right;background:var(--green);color:var(--cream);font-size:23px;border:0;width:36px;height:36px;z-index:3}.detail-photo{height:350px;margin-bottom:25px}.detail-amenities{font-size:14px;color:var(--body);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-left:18px}.detail-meta{color:var(--accent);font-size:13px}#image-dialog{max-width:1100px;background:var(--brown);padding:15px}#large-image{max-height:75vh;object-fit:contain}#photo-caption{color:var(--cream);text-align:center;font-size:13px;margin:10px 0 0}#booking-dialog{max-width:580px}#booking-summary{background:var(--cream);padding:15px}.skip{position:fixed;top:-100px;left:15px;background:var(--sand);z-index:40;padding:10px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.menu{display:none}
@media(max-width:1150px){.header-inner{width:calc(100% - 60px)}.brand{margin:0}nav{gap:25px}.booking-wrap form{grid-template-columns:110px 1fr 1fr 1.3fr 130px;gap:8px;padding:23px 20px}.promo-field{display:none!important}.intro{grid-template-columns:1fr 1fr;gap:50px}.contact{gap:70px}.floating-room{width:350px}.room-1,.room-2{width:325px}.room-copy{padding:35px}.room-actions{gap:15px}.room-copy h2{font-size:28px}.room-copy p{font-size:14px}}
@media(max-width:800px){.header-inner{width:calc(100% - 40px)}nav{gap:18px}nav a{font-size:14px}.brand img{width:65px;height:65px}.header-book{min-width:115px}.hero h1{font-size:44px}.hero-copy{top:180px}.booking-wrap{top:305px}.booking-wrap form{grid-template-columns:1fr 1fr 1fr;padding:20px;gap:12px}.booking-title{grid-column:1/-1}.booking-wrap .button{grid-column:1/-1}.hero{height:680px}.intro{gap:30px;padding:65px 0}.intro-image img{height:260px}.floating-room{width:300px;padding:25px 20px}.floating-room p{font-size:13px}.floating-room h3{font-size:16px}.room-stage{height:630px}.room-0{left:3%}.room-1{right:0;top:185px}.room-2{left:0;bottom:90px}.room-3{right:0}.gallery-grid img{height:240px}.contact{gap:35px}.contact dd{font-size:14px}.map-wrap iframe{height:350px}.room-row{grid-template-columns:1fr}.room-row:nth-child(even) .room-photo{order:0}.room-photo img{height:360px}.room-copy{padding:35px}.experience-grid{gap:20px}.experience-grid img{height:230px}.destination-copy{padding:40px 8%}.faq{gap:40px}footer{grid-template-columns:180px 150px 1fr;gap:30px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}header{height:90px}.header-inner{width:calc(100% - 40px)}.brand img{width:65px;height:65px}.menu{display:block;border:0;background:none;color:var(--green);font-size:23px;margin-left:auto;margin-right:18px}nav{display:none;position:absolute;top:90px;left:-20px;right:-20px;transform:none;background:var(--sand);padding:20px;z-index:10;box-shadow:0 5px 10px #0002}nav.open{display:flex;flex-direction:column;gap:12px}nav a{font-size:16px}.header-book{min-width:108px;min-height:42px;padding:10px 15px;font-size:12px}.hero{height:660px}.hero-photo{object-position:54% center}.hero-copy{top:140px;width:calc(100% - 40px)}.hero h1{font-size:34px;line-height:1.3}.hero h1 br{display:none}.booking-wrap{top:330px;width:calc(100% - 40px)}.booking-wrap form{grid-template-columns:1fr 1fr;padding:20px;gap:12px}.booking-title{font-size:19px}.guest-field{grid-column:1/-1}.booking-wrap .button{grid-column:1/-1}.intro{display:block;padding:60px 0}.intro h2{font-size:28px}.eyebrow{font-size:14px}.intro-image{margin-top:35px}.intro-image img{width:100%;height:250px}.home-rooms{padding-bottom:55px}.section-heading h2{font-size:28px}.room-stage{height:auto;margin-top:40px;padding:20px 15px}.room-backdrop{inset:0;height:100%;object-position:54% center}.room-stage:after{content:'';position:absolute;inset:0;background:#442e1733}#room-stage-cards{position:relative;z-index:1;display:grid;gap:18px}.floating-room{position:static;width:100%;padding:22px 20px}.floating-room img{width:58px;height:45px}.floating-room h3{font-size:17px;margin-bottom:8px}.floating-room p{font-size:14px}.gallery{padding-top:60px}.gallery .section-heading{padding:0 20px 30px}.filters{gap:20px;margin-top:12px}.filters button{font-size:13px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img{height:190px}.contact{grid-template-columns:1fr;padding:60px 0;gap:35px}.map-wrap iframe{height:300px}.contact-copy{padding:0}.contact dd{font-size:15px;margin-bottom:22px}.contact h2{font-size:28px}footer{padding:20px 0 25px;grid-template-columns:1fr 1fr;gap:35px}.footer-logo{grid-column:1/-1}.footer-logo img{width:130px;height:110px}.social{margin-top:8px}.footer-links h3{font-size:18px}.footer-links a{font-size:14px}.copyright{font-size:10px;margin-top:0}.room-list{padding:45px 0}.room-row{margin-bottom:40px}.room-photo img{height:280px}.room-copy{padding:28px 25px}.room-actions{flex-wrap:wrap}.about-story{padding:50px 0 20px}.about-story h1{font-size:28px}.about-story img{height:280px}.experiences{padding:30px 0 50px}.experience-grid{grid-template-columns:1fr;gap:25px}.experience-grid img{height:270px}.direct{padding:50px 20px}.direct-benefits{grid-template-columns:1fr;gap:20px}.direct-benefits p{margin-bottom:5px}.destination{grid-template-columns:1fr}.destination-image img{height:280px;min-height:0}.destination-copy{padding:40px 20px}.faq{display:block;padding:0 0 60px}.faq>div:first-child{margin-bottom:25px}.detail-amenities{grid-template-columns:1fr 1fr}.detail-photo{height:230px}dialog{padding:25px}.close{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-copy{top:190px}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:80px 5px}.about-story-copy{max-width:530px}.about-collage{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.about-collage img{height:300px;width:100%;margin:0}.about-collage img:last-child{margin-top:100px;height:340px}.about-vision{position:relative;min-height:470px;padding-bottom:50px;margin-bottom:40px}.about-vision>img{height:420px;object-position:center}.about-vision>div{position:absolute;background:var(--brown);color:var(--cream);padding:45px;left:8%;bottom:0;width:480px;max-width:85%}.about-vision h2{color:var(--sand);font-size:28px}.about-vision p{color:var(--cream);font-size:14px}
@media(max-width:800px){.hero-copy{top:175px}.about-story{gap:30px}.about-collage{gap:15px}.about-collage img{height:220px}.about-collage img:last-child{height:260px}}
@media(max-width:600px){.hero-copy{top:140px}.about-story{grid-template-columns:1fr;gap:25px;padding:50px 0}.about-collage{grid-template-columns:1fr}.about-collage img{height:270px}.about-collage img:last-child{height:300px;margin-top:0}.about-vision{min-height:550px;margin-bottom:20px}.about-vision>img{height:330px}.about-vision>div{left:15px;right:15px;bottom:0;width:auto;max-width:none;padding:30px}.about-vision h2{font-size:25px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* C&N brand brief: palette and typography applied across all five pages. */
h1,h2{color:var(--deep-brown);font-weight:400}.hero h1{font-size:48px;font-weight:400;line-height:1.25;color:var(--cream)}h3{color:var(--green)}.gallery h2,.gallery .filters button{color:var(--cream)}.gallery .filters button[aria-pressed=true]{color:var(--sand);text-decoration:underline;text-underline-offset:6px}.gallery .eyebrow{color:var(--sand)}.booking-wrap input,.booking-wrap select{background:transparent}.booking-wrap label{color:var(--deep-brown)}.booking-wrap .promo-field{background:var(--cream)}.floating-room{background:var(--sand)}.room-copy{background:var(--sand)}.direct{background:var(--green);color:var(--cream)}.direct h2,.direct h3,.direct p{color:var(--cream)}.direct .eyebrow,.direct-benefits span{color:var(--sand)}.direct .button{background:var(--sand);color:var(--deep-brown)}.direct .button:hover{background:var(--cream)}.destination-copy{background:var(--brown)}.destination-copy h2,.destination-copy p,.destination-copy .distances strong,.destination-copy .distances span,.destination-copy .text-link{color:var(--cream)}.destination-copy .eyebrow{color:var(--sand)}.about-vision h2{color:var(--sand)}.about-vision p{color:var(--cream)}footer.container{width:100%;background:var(--brown);padding:50px max(30px,calc((100% - 1110px)/2)) 25px;color:var(--cream)}footer h3,footer .footer-links a,footer .social,footer .copyright{color:var(--cream)}footer .footer-links a:hover{color:var(--sand)}footer .copyright{border-top-color:#edd8bc55}.contact-copy dt{color:var(--green)}.text-link{color:var(--green)}.faq summary{color:var(--deep-brown)}.menu{color:var(--green)}.guest-services{border-color:#66432855}#booking-summary{background:var(--sand)}.map-link{background:var(--sand);color:var(--deep-brown)}
@media(max-width:800px){.hero h1{font-size:32px}}@media(max-width:600px){.hero h1{font-size:28px;line-height:1.3}footer.container{padding:35px 20px 25px}}

.eyebrow,.room-meta,.detail-meta,nav a:hover,nav a.active{color:var(--green)}
