:root{--cream:#f8f3eb;--ivory:#fffaf3;--black:#151311;--gold:#b48732;--gold2:#e3bd67;--muted:#625d56;--line:rgba(180,135,50,.34)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--black);font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-decoration:none}img{max-width:100%}
.topline{height:2px;background:linear-gradient(90deg,#8c641f,#e4c46f,#b48732,#e9cd83,#8c641f)}
.header{height:96px;background:var(--cream);border-bottom:1px solid var(--line);display:grid;grid-template-columns:220px 1fr auto;align-items:center;padding:0 4.5vw;position:sticky;top:0;z-index:100;background:rgba(248,243,235,.98)}
.logo{width:180px;height:82px;object-fit:contain;display:block}.desktop-nav{display:flex;justify-content:flex-end;align-items:center;gap:20px;font:11px Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}.desktop-nav a:hover{color:#8c641f}.desktop-nav .book{background:linear-gradient(105deg,#8a5b10,#d7ac4b);color:#fff;border:1px solid #b48732;padding:12px 17px}
.menu{display:none;border:0;background:none;padding:8px;cursor:pointer}.menu span{display:block;width:31px;height:3px;background:var(--black);margin:5px 0}.mobile-nav{display:none}
.hero{min-height:620px;display:grid;grid-template-columns:46% 54%;background:var(--cream);overflow:hidden}.hero-copy{padding:70px 5vw 70px 7vw;display:flex;flex-direction:column;justify-content:center}.kicker{font:11px Arial,sans-serif;letter-spacing:4px;text-transform:uppercase;color:#8a641f;margin-bottom:26px}.hero h1{font-size:clamp(56px,6.2vw,86px);font-weight:400;line-height:.9;letter-spacing:-2px;margin:0}.goldword{color:var(--gold)}.blackword{color:var(--black)}.hero-sub{font:15px Arial,sans-serif;color:var(--muted);line-height:1.75;max-width:520px;margin:28px 0 0}.rule{display:flex;align-items:center;gap:16px;width:240px;margin:25px 0;color:var(--gold)}.rule i{height:1px;flex:1;background:var(--gold)}.rule b{font-size:20px;font-weight:400}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid var(--gold);font:11px Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase}.btn.gold{color:#fff;background:linear-gradient(105deg,#8b5d0c,#c9962f,#f0cf70)}.btn.light{color:#8a641f;background:var(--ivory)}
.hero-photo{background:#efe3d4;display:flex;align-items:stretch;justify-content:center;overflow:hidden;position:relative}.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center;background:#efe3d4;display:block}.hero-photo:before{content:'';position:absolute;left:0;top:0;bottom:0;width:22%;background:linear-gradient(90deg,var(--cream),rgba(248,243,235,.7),transparent);z-index:1;pointer-events:none}
.home-gallery{padding:54px 2.5vw 24px;background:var(--ivory)}.home-gallery h2{text-align:center;font:400 12px Arial,sans-serif;letter-spacing:4px;text-transform:uppercase;color:#625d56;margin:0 0 28px}.gallery-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.gallery-card{border:1px solid var(--line);background:#fffaf3;position:relative;overflow:hidden;min-height:170px}.gallery-card img{width:100%;height:170px;object-fit:contain;background:#fffaf3;display:block}.gallery-card span{position:absolute;left:0;right:0;bottom:0;padding:12px 10px;background:linear-gradient(transparent,rgba(20,17,13,.88));color:#fff;font:9px Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase}.gallery-cta{text-align:center;margin:28px auto 0}.gallery-cta .btn{min-width:360px}
.review-box{max-width:1180px;margin:34px auto 58px;border:1px solid var(--gold);background:var(--ivory);padding:30px 32px;display:grid;grid-template-columns:1.25fr .75fr;gap:35px;align-items:center}.review-kicker{font:10px Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:#8a641f}.review-box h2{font-size:30px;font-weight:400;margin:9px 0 12px}.review-box h2 em{font-style:normal;color:var(--gold)}.review-box p{font:14px Arial,sans-serif;color:var(--muted);line-height:1.65;margin:0}.review-actions{display:flex;flex-direction:column;gap:10px}.review-actions .btn{width:100%}
.home-about{padding:74px 6vw;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.home-about-photo{border:1px solid var(--line);background:var(--ivory);display:flex;justify-content:center}.home-about-photo img{width:100%;height:460px;object-fit:contain;background:var(--ivory)}.home-about h2{font-size:54px;font-weight:400;line-height:1;margin:0 0 16px}.home-about h2 em{font-style:normal;color:var(--gold)}.copy{font:15px Arial,sans-serif;color:var(--muted);line-height:1.8}.site-footer{background:var(--black);color:#f7f0e6;padding:42px 5vw}.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.1fr 1.2fr 1.2fr 1fr;gap:30px}.footer-col h3{font:11px Arial,sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#e3bd67;margin:0 0 14px}.footer-col p,.footer-col a{font:13px Arial,sans-serif;line-height:1.8;color:#eee5d9;margin:3px 0;display:block}.footer-col a:hover{color:#e3bd67}.copyright{max-width:1180px;margin:28px auto 0;padding-top:18px;border-top:1px solid rgba(227,189,103,.25);font:11px Arial,sans-serif;color:#c8bfb4}
.page-hero{padding:75px 6vw 60px;background:var(--cream);border-bottom:1px solid var(--line)}.page-hero-inner{max-width:1180px;margin:auto}.page-hero h1{font-size:64px;font-weight:400;margin:10px 0}.page-hero h1 .goldword{color:var(--gold)}.page-hero p{font:15px Arial,sans-serif;color:var(--muted);line-height:1.8;max-width:760px}.page-content{max-width:1180px;margin:auto;padding:70px 6vw}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:start}.about-photo{border:1px solid var(--line);background:var(--ivory)}.about-photo img{width:100%;height:540px;object-fit:contain;background:var(--ivory)}.body-copy p{font:15px Arial,sans-serif;color:var(--muted);line-height:1.85;margin:0 0 18px}.quote{font-size:28px;line-height:1.25;color:#8a641f;margin:0 0 24px}.info-card{border:1px solid var(--line);background:var(--ivory);padding:28px}.info-card h3{font-size:24px;font-weight:400;margin:0 0 10px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-box{background:var(--ivory);border:1px solid var(--line);padding:28px}.service-box h2{font-size:31px;font-weight:400;margin:0 0 10px}.service-box h2 em{font-style:normal;color:var(--gold)}.service-box>p{font:13px Arial,sans-serif;color:var(--muted);line-height:1.7}.service-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid rgba(180,135,50,.18);padding:10px 0;font:14px Arial,sans-serif;color:#38332f}.service-row strong{color:#8a641f;white-space:nowrap}.coming{margin-top:28px;background:var(--black);color:#fff;padding:28px;text-align:center;border-top:2px solid var(--gold)}.coming h2{font-size:32px;font-weight:400;margin:0 0 8px}.coming p{font:13px Arial,sans-serif;line-height:1.7;color:#ddd}
.full-gallery{padding:70px 4vw;background:var(--ivory)}.full-gallery-inner{max-width:1220px;margin:auto}.group-title{text-align:center;margin:0 0 20px;font:11px Arial,sans-serif;letter-spacing:4px;text-transform:uppercase;color:#8a641f}.full-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:48px}.full-card{border:1px solid var(--line);background:#fffaf3}.full-card img{width:100%;height:270px;object-fit:contain;background:#fffaf3;display:block}.full-card .caption{padding:11px 12px 13px;font:10px Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#5f574e}.reviews-section{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reviews-inner{max-width:1180px;margin:auto;padding:70px 6vw}.rating-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:42px}.rating-card{border:1px solid var(--gold);background:var(--cream);padding:30px;text-align:center}.rating-stars,.review-card-stars{color:var(--gold);font:22px Georgia,'Times New Roman',serif;letter-spacing:5px}.rating-stars{margin-bottom:12px}.rating-card strong{display:block;font-size:27px;font-weight:400;margin-bottom:7px}.rating-card span{display:block;font:11px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.review-card{border:1px solid var(--line);background:var(--cream);padding:28px;display:flex;flex-direction:column}.review-card-stars{font-size:16px;margin-bottom:18px}.review-card blockquote{font:15px Arial,sans-serif;color:var(--muted);line-height:1.75;margin:0 0 24px}.review-card footer{margin-top:auto;padding-top:18px;border-top:1px solid rgba(180,135,50,.18);display:flex;justify-content:space-between;gap:16px;align-items:center}.review-name{font-size:20px;color:var(--black)}.review-source{font:10px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#8a641f}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-card{background:var(--ivory);border:1px solid var(--line);padding:30px}.contact-card h2{font-size:34px;font-weight:400;margin:0 0 20px}.contact-item{padding:14px 0;border-bottom:1px solid rgba(180,135,50,.18);font:14px Arial,sans-serif;color:var(--muted)}.contact-item strong{display:block;color:var(--black);margin-bottom:4px}.social-list{display:flex;flex-direction:column;gap:10px;margin-top:20px}.social-list a{border:1px solid var(--gold);padding:13px 16px;color:#8a641f;font:11px Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase}.map{min-height:420px;border:1px solid var(--line);overflow:hidden}.map iframe{width:100%;height:100%;min-height:420px;border:0}
@media(max-width:900px){.header{height:86px;grid-template-columns:1fr auto;padding:0 20px}.logo{width:175px;height:74px}.desktop-nav{display:none}.menu{display:block}.mobile-nav{position:fixed;top:86px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(0,0,0,.08);padding:8px 20px 14px;z-index:99}.mobile-nav.open{display:flex;flex-direction:column}.mobile-nav a{padding:14px 8px;border-bottom:1px solid rgba(180,135,50,.18);font:11px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 26px 38px}.hero-photo{min-height:390px}.home-gallery{padding-left:20px;padding-right:20px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.review-box{grid-template-columns:1fr}.home-about,.two-col,.contact-grid{grid-template-columns:1fr}.home-about{padding:65px 25px}.footer-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr}.full-grid{grid-template-columns:repeat(2,1fr)}.page-hero{padding:60px 25px 50px}.page-content{padding:55px 25px}.reviews-inner{padding:55px 25px}}
@media(max-width:560px){.hero h1{font-size:50px;letter-spacing:-1px}.hero-sub{font-size:14px}.actions{flex-direction:column}.btn{width:100%}.hero-photo{min-height:320px}.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-card img{height:180px}.gallery-card span{font-size:8px;padding:9px}.gallery-cta .btn{min-width:0}.home-about h2{font-size:45px}.home-about-photo img{height:360px}.footer-grid{grid-template-columns:1fr}.page-hero h1{font-size:50px}.full-grid{grid-template-columns:1fr 1fr;gap:9px}.full-card img{height:190px}.full-card .caption{font-size:8px}.review-box{padding:24px 20px}.review-box h2{font-size:27px}.rating-summary,.reviews-grid{grid-template-columns:1fr}.rating-summary{gap:14px;margin-bottom:28px}.rating-card,.review-card{padding:24px 20px}.rating-card strong{font-size:24px}.review-card footer{align-items:flex-end}.reviews-inner{padding:45px 18px}}
.booking-section{padding:72px 5vw;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-inner{max-width:1180px;margin:auto}.booking-heading{text-align:center;margin-bottom:28px}.booking-heading .kicker{margin-bottom:10px}.booking-heading h2{font-size:48px;font-weight:400;margin:0 0 12px}.booking-heading p{font:14px Arial,sans-serif;color:var(--muted);line-height:1.7;margin:0 auto;max-width:680px}.booking-widget{background:var(--ivory);border:1px solid var(--line);padding:18px;min-height:500px;overflow:hidden}.booking-widget #nearcut{width:100%;display:block}.booking-widget iframe{max-width:100%}@media(max-width:560px){.booking-section{padding:55px 18px}.booking-heading h2{font-size:40px}.booking-widget{padding:8px}}
.review-actions summary{list-style:none;cursor:pointer}.review-actions summary::-webkit-details-marker{display:none}.review-option-links{display:flex;flex-direction:column;gap:10px}
