:root{--ink:#171714;--muted:#77756e;--cream:#f5f3ee;--paper:#fbfaf7;--line:#ddd9d0;--gold:#b39a6a;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 64px),var(--max));margin:auto}.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:28px 40px;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}.site-header.solid{position:relative;color:var(--ink);background:var(--paper);border-color:var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.brand-logo{width:118px;height:56px;object-fit:contain;object-position:left center}.brand em{font-style:normal;font-weight:400;opacity:.6}.brand-mark{width:30px;height:30px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:16px;letter-spacing:0}.site-nav{display:flex;align-items:center;gap:30px;font-size:13px}.site-nav a{opacity:.78}.site-nav a:hover,.site-nav a.active{opacity:1}.nav-cta{border:1px solid currentColor;padding:11px 17px;opacity:1!important}.menu-toggle{display:none;background:none;border:0}.hero{height:min(860px,100vh);min-height:680px;position:relative;overflow:hidden;background:#24231f;color:#fff}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,8,.68),rgba(10,10,8,.08) 72%),linear-gradient(0deg,rgba(10,10,8,.48),transparent 45%)}.hero-content{position:relative;z-index:2;padding-top:230px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:600;margin:0 0 22px;color:var(--gold)}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.03;letter-spacing:-.035em;margin:0}h1{font-size:clamp(52px,7vw,100px);max-width:850px}h2{font-size:clamp(42px,5vw,70px)}h1 i,h2 i{font-style:italic;font-weight:500}.hero-copy{max-width:500px;margin:28px 0 34px;font-size:17px;color:rgba(255,255,255,.78)}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--ink);padding:15px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;transition:.25s}.button span{font-size:16px}.button-light{background:#fff;color:#111;border-color:#fff}.button-dark{background:var(--ink);color:#fff}.button:hover{transform:translateY(-2px)}.text-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:5px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600}.text-link.light{border-color:rgba(255,255,255,.6);color:#fff}.hero-scroll{position:absolute;z-index:2;bottom:28px;left:40px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;display:flex;align-items:center;gap:12px;opacity:.65}.hero-scroll span{width:42px;height:1px;background:currentColor}.section{padding:125px 0}.intro{background:var(--cream)}.intro-grid,.experience-grid,.location-grid,.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-copy{max-width:520px;padding-top:45px}.intro-copy p,.location-copy>p,.story-grid p,.experience-copy>p{color:var(--muted);font-size:17px;margin:0 0 28px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:55px}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:310px;gap:14px}.gallery-item{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery-item img{height:100%;transition:transform .7s}.gallery-item:hover img{transform:scale(1.035)}.gallery-large{grid-row:span 2}.gallery-item:nth-child(4){grid-column:2}.gallery-item:nth-child(5){grid-column:3}.gallery-item figcaption{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:10px;text-shadow:0 1px 8px #000}.gallery-item small{float:right;opacity:.7}.experience{background:var(--cream)}.experience-image img{height:650px}.experience-copy{align-self:center;max-width:520px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:35px 0}.service-list div{display:flex;flex-direction:column}.service-list strong{font-family:"Playfair Display",serif;font-size:30px;font-weight:500}.service-list span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.testimonials{background:var(--paper)}.slider-controls{display:flex;gap:8px}.slider-controls button{width:46px;height:46px;background:transparent;border:1px solid var(--line);cursor:pointer}.testimonial-track{display:flex;gap:16px;overflow:hidden}.testimonial{min-width:calc(33.333% - 11px);background:var(--cream);padding:42px;display:flex;flex-direction:column;min-height:360px}.quote-mark{font-family:"Playfair Display",serif;font-size:65px;line-height:.5;color:var(--gold)}.testimonial p{font-family:"Playfair Display",serif;font-size:24px;line-height:1.35;margin:20px 0 35px}.guest{display:flex;gap:12px;align-items:center;margin-top:auto}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:10px}.guest strong,.guest span{display:block}.guest strong{font-size:12px}.guest span{font-size:10px;color:var(--muted)}.location{background:var(--cream)}.location-copy{padding:30px 0}.address{display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:35px 0;font-size:12px}.address strong{font-size:14px}.address span{color:var(--muted)}.map-wrap{min-height:520px;overflow:hidden}.map-wrap iframe{width:100%;height:100%;min-height:520px;border:0;filter:grayscale(1)}.booking-banner{background:var(--ink);color:#fff;padding:85px 0}.booking-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer{background:#111;color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:60px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.footer-brand{margin-bottom:10px}.footer-grid p{color:#85837d;max-width:300px;font-size:13px}.footer-grid a{font-size:12px;color:#aaa}.footer-label{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:var(--gold);margin-bottom:10px}.footer-bottom{border-top:1px solid #292824;margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;color:#686660;font-size:10px}.page-hero{background:var(--cream);padding:125px 0 105px}.page-hero-inner{padding-top:40px}.page-hero h1{font-size:clamp(55px,7vw,92px);max-width:900px}.page-hero p:last-child{max-width:560px;color:var(--muted);margin:28px 0 0;font-size:17px}.story{background:var(--paper)}.story-grid>div:last-child{max-width:520px}.services{background:var(--cream)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px}.service-card span{color:var(--gold);font-size:10px}.service-card h3{font-family:"Playfair Display",serif;font-weight:500;font-size:30px;margin:45px 0 8px}.service-card p{font-size:13px;color:var(--muted);max-width:300px;margin:0}.about-image img{height:620px}.booking-page{background:var(--cream);padding:105px 0}.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}.booking-intro{padding-top:50px}.booking-intro h1{font-size:clamp(55px,6vw,85px)}.booking-intro>p{max-width:460px;color:var(--muted);font-size:16px;margin:30px 0}.booking-contact{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:12px}.booking-contact span{text-transform:uppercase;letter-spacing:.15em;color:var(--gold);font-size:9px;margin-bottom:7px}.form-panel{background:var(--paper);padding:45px;box-shadow:0 20px 60px rgba(25,25,20,.05)}form{display:flex;flex-direction:column;gap:21px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:600}input,select,textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 0;color:var(--ink);outline:none;border-radius:0;font-size:14px;text-transform:none;letter-spacing:0;font-weight:400}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ink)}input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#a64d43}.error{color:#a64d43;font-size:10px;letter-spacing:0;text-transform:none;font-weight:400;min-height:14px}.optional{color:var(--muted);font-weight:400;letter-spacing:0;text-transform:none}.consent{flex-direction:row;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:11px;font-weight:400;color:var(--muted)}.consent input{width:16px;margin-top:2px;accent-color:var(--ink)}.button-full{width:100%;border:0;cursor:pointer;margin-top:5px}.form-note{font-size:10px!important;color:var(--muted);text-align:center;margin:0}.form-status{display:none;padding:13px 15px;font-size:12px}.form-status.success{display:block;background:#e8eee7;color:#38513a}.form-status.fail{display:block;background:#f5e8e6;color:#6f312a}@media(max-width:900px){.site-header{padding:22px 24px}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);color:var(--ink);padding:22px 24px;flex-direction:column;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line)}.site-header:not(.solid) .site-nav{background:var(--paper)}.site-nav.open{display:flex}.container{width:min(calc(100% - 42px),var(--max))}.hero-content{padding-top:200px}.hero-scroll{left:21px}.section{padding:90px 0}.intro-grid,.experience-grid,.location-grid,.story-grid,.booking-grid{grid-template-columns:1fr;gap:45px}.intro-copy{padding-top:0}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:250px}.gallery-large{grid-row:span 2}.gallery-item:nth-child(4),.gallery-item:nth-child(5){grid-column:auto}.testimonial{min-width:80%;padding:32px}.services-grid{grid-template-columns:1fr 1fr}.experience-image img{height:480px}.booking-grid{gap:25px}.booking-intro{padding-top:10px}.form-panel{padding:30px 22px}.booking-banner-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:560px){.hero{min-height:640px}.hero-content{padding-top:175px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:35px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-large{grid-row:span 1}.services-grid{grid-template-columns:1fr}.service-card{min-height:200px}.service-card h3{margin-top:35px}.form-row{grid-template-columns:1fr;gap:21px}.map-wrap,.map-wrap iframe{min-height:400px}.about-image img{height:380px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding-top:90px}.testimonial{min-width:92%}}
@media(max-width:560px){.brand-logo{width:98px;height:48px}}

/* TYGAMAX content additions */
.rates{background:var(--paper)}
.rates-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rate-card{padding:32px 26px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:330px;display:flex;flex-direction:column;background:var(--paper)}
.rate-card.featured{background:var(--cream)}
.rate-number{font-size:10px;color:var(--gold);letter-spacing:.12em}
.rate-card h3{font-family:"Playfair Display",serif;font-size:29px;font-weight:500;line-height:1.1;margin:48px 0 12px}
.rate-card p{font-size:13px;color:var(--muted);margin:0 0 24px}
.rate-card strong{font-family:"Playfair Display",serif;font-size:28px;font-weight:500;margin-top:auto}
.rate-card strong small{font-family:"DM Sans",Arial,sans-serif;font-size:10px;color:var(--muted);font-weight:400}
.rate-card>a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin-top:18px}
.deposit-note{display:flex;justify-content:space-between;gap:30px;padding:24px 0 0;color:var(--muted);font-size:12px}
.deposit-note strong{color:var(--ink)}
.terms{background:var(--cream)}
.terms-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.term{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:145px}
.term span{font-size:10px;color:var(--gold)}
.term strong{display:block;font-family:"Playfair Display",serif;font-size:21px;font-weight:500;margin:22px 0 6px}
.term p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}
.compact-terms{padding:75px 0}
.booking-side-note{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;display:flex;flex-direction:column;gap:4px;font-size:12px}
.booking-side-note strong{font-family:"Playfair Display",serif;font-size:20px;font-weight:500}
.booking-side-note span{color:var(--muted);line-height:1.55}
.faq{background:var(--paper)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}
.faq-list summary{cursor:pointer;list-style:none;font-family:"Playfair Display",serif;font-size:23px;padding-right:40px;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:0;font-family:"DM Sans",Arial,sans-serif;font-size:20px;color:var(--gold)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{max-width:760px;color:var(--muted);font-size:14px;margin:15px 0 0}
@media(max-width:1100px){.rates-grid{grid-template-columns:1fr 1fr}.terms-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.deposit-note{flex-direction:column;gap:5px}.rates-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rates-grid,.terms-grid{grid-template-columns:1fr}.rate-card{min-height:285px}.deposit-note{padding-top:18px}.term{min-height:125px}.faq-list summary{font-size:20px}}
