
:root{
  --white:#fff;
  --paper:#fbfaf7;
  --soft:#f3f0e9;
  --ink:#24231f;
  --muted:#6f6b63;
  --line:#dfdcd4;
  --gold:#9a8462;
  --max:1260px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
img{display:block;width:100%;height:auto}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.wrap{width:min(var(--max),calc(100% - 56px));margin:auto}
.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin-top:0}
h2{font-size:clamp(38px,4.2vw,64px);line-height:1.06;letter-spacing:-.02em}
p{margin-top:0}
.linkline{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:transparent;cursor:pointer}
.btn.fill{background:var(--ink);color:#fff}
.btn.light{background:#fff;border-color:#fff;color:var(--ink)}
.btn:hover{opacity:.78}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.topbar{height:92px;display:grid;grid-template-columns:250px 1fr auto;gap:28px;align-items:center}
.brand{display:flex;flex-direction:column;line-height:1;text-transform:uppercase}
.brand strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:29px;letter-spacing:.20em}
.brand small{margin-top:8px;font-size:9px;letter-spacing:.25em;color:var(--muted)}
.nav{display:flex;justify-content:center;gap:29px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.nav a{padding:10px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a.active{border-color:var(--ink)}
.header-cta{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:12px 15px;border:1px solid var(--ink)}
.menu-btn{display:none;border:0;background:transparent;font-size:26px}

/* Home hero */
.hero{position:relative;min-height:720px;background:var(--soft);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02) 40%,rgba(0,0,0,.28) 100%)}
.hero-copy{position:absolute;z-index:2;left:0;right:0;bottom:62px;color:#fff;text-align:center}
.hero-copy .eyebrow{color:#fff;margin-bottom:18px}
.hero-copy h1{font-size:clamp(55px,7.5vw,112px);line-height:.9;letter-spacing:.02em;margin:0}
.hero-copy p{font-size:15px;letter-spacing:.12em;text-transform:uppercase;margin:22px auto 0;max-width:740px}
.hero-cta{margin-top:28px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* intro */
.intro{padding:115px 0 105px;text-align:center}
.intro-inner{max-width:930px;margin:auto}
.intro h2{margin:16px auto 27px;max-width:850px}
.intro p{font-size:19px;color:var(--muted);max-width:820px;margin:0 auto 20px}

/* rooms visual */
.rooms{padding:0 0 115px}
.rooms-head{text-align:center;margin-bottom:45px}
.rooms-head h2{margin:14px 0 14px}
.rooms-head p{max-width:720px;margin:auto;color:var(--muted)}
.room-row{display:grid;grid-template-columns:1.4fr .6fr;min-height:610px;margin-bottom:42px;background:var(--paper)}
.room-row:nth-child(even){grid-template-columns:.6fr 1.4fr}
.room-row:nth-child(even) .room-image{order:2}
.room-image img{height:100%;object-fit:cover}
.room-copy{padding:65px 58px;display:flex;flex-direction:column;justify-content:center}
.room-no{font-size:10px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.room-copy h3{font-size:44px;line-height:1.05;margin:12px 0 20px}
.room-copy p{color:var(--muted)}
.room-features{display:flex;gap:15px;flex-wrap:wrap;margin:17px 0 20px;padding:0;list-style:none}
.room-features li{font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-right:1px solid var(--line);padding-right:15px}

/* services */
.services-strip{background:var(--soft);padding:95px 0}
.services-title{text-align:center;margin-bottom:50px}
.services-title h2{margin:14px 0}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d3cfc6;border-left:1px solid #d3cfc6}
.service{padding:36px 30px;border-right:1px solid #d3cfc6;border-bottom:1px solid #d3cfc6;min-height:180px}
.service span{font-size:10px;color:var(--gold);letter-spacing:.18em}
.service h3{font-size:22px;margin:12px 0 9px}
.service p{font-size:14px;color:var(--muted);margin:0}

/* territory */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:660px}
.split-photo img{height:100%;object-fit:cover}
.split-copy{padding:95px 9%;display:flex;flex-direction:column;justify-content:center;background:#fff}
.split-copy h2{margin:15px 0 25px}
.split-copy p{color:var(--muted);font-size:17px}

/* booking form */
.booking{padding:110px 0}
.booking-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}
.booking-copy h2{margin:15px 0 23px}
.booking-copy p{color:var(--muted)}
.booking-form{background:var(--paper);padding:42px;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.field input,.field textarea,.field select{border:0;border-bottom:1px solid #bdb8ae;background:transparent;padding:12px 0;outline:0;color:var(--ink);border-radius:0}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink)}
.check{display:flex!important;flex-direction:row!important;gap:9px!important;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
.check input{width:auto}
.form-note{font-size:12px;color:var(--muted);margin:0}

/* inner hero */
.page-hero{padding:95px 0 80px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero .wrap{max-width:980px;text-align:center}
.page-hero h1{font-size:clamp(52px,7vw,92px);line-height:.96;margin:16px 0 22px}
.page-hero p{font-size:18px;color:var(--muted);max-width:780px;margin:auto}
.breadcrumb{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}

/* content */
.content-section{padding:95px 0}
.content-narrow{max-width:850px;margin:auto}
.content-narrow h2{font-size:43px;margin-top:55px}
.content-narrow h3{font-size:27px;margin-top:35px}
.content-narrow p,.content-narrow li{color:var(--muted);font-size:17px}
.content-narrow ul{padding-left:22px}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:50px 0}
.gallery img{height:370px;object-fit:cover}
.gallery img:first-child{grid-row:span 2;height:752px}
.gallery img:nth-child(2),.gallery img:nth-child(3),.gallery img:nth-child(4),.gallery img:nth-child(5){height:370px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.card{background:var(--paper)}
.card img{height:290px;object-fit:cover}
.card-body{padding:25px}
.card h3{font-size:28px;margin:0 0 12px}
.card p{color:var(--muted)}
.faq{border-top:1px solid var(--line);margin-top:55px}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;font-family:Georgia,serif;font-size:21px}
.faq details p{padding-top:14px;margin-bottom:0}

/* footer */
.footer{background:var(--paper);border-top:1px solid var(--line);padding:65px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:45px}
.footer-brand strong{font-family:Georgia,serif;font-weight:400;font-size:29px;letter-spacing:.18em}
.footer-brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.18em;margin-top:7px}
.footer-col{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted)}
.footer-col b{color:var(--ink);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.copyright{border-top:1px solid var(--line);margin-top:45px;padding-top:18px;font-size:11px;color:var(--muted)}
.notice{background:#fff8e5;border:1px solid #e5d8b7;padding:14px 16px;margin-top:18px;font-size:13px;color:#655b45}

@media(max-width:1000px){
  .topbar{grid-template-columns:1fr auto;height:78px}
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:12px 28px 22px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:12px 0}
  .header-cta{display:none}
  .menu-btn{display:block}
  .room-row,.room-row:nth-child(even),.split,.booking-grid{grid-template-columns:1fr}
  .room-row:nth-child(even) .room-image{order:0}
  .room-image img{height:520px}
  .services-grid{grid-template-columns:1fr 1fr}
  .split-photo img{height:540px}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery img:first-child{grid-row:auto;height:400px}
  .gallery img{height:400px!important}
  .cards3{grid-template-columns:1fr}
}
@media(max-width:680px){
  .wrap{width:calc(100% - 30px)}
  .brand strong{font-size:23px}
  .brand small{font-size:8px}
  .hero{min-height:610px}
  .hero-copy{bottom:42px}
  .hero-copy h1{font-size:clamp(42px,11vw,56px);line-height:.98}
  .hero-copy p{font-size:11px}
  .intro{padding:78px 0}
  .room-copy{padding:42px 28px}
  .room-image img{height:390px}
  .services-strip,.booking,.content-section{padding:75px 0}
  .services-grid{grid-template-columns:1fr}
  .split-photo img{height:390px}
  .split-copy{padding:68px 28px}
  .booking-form{grid-template-columns:1fr;padding:26px}
  .field.full{grid-column:auto}
  .gallery{grid-template-columns:1fr}
  .gallery img{height:auto!important}
  .footer-grid{grid-template-columns:1fr}
}
