*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Jost',sans-serif;background:#f8f4ed;color:#1a1410;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}
:root{--gold:#b78933;--gold-soft:rgba(183,137,51,.34);--gold-light:#d8b671;--ink:#160f09;--text:#6d6257;--sand:#faf6ef;--sand-2:#f4ede2;--line:#e4d8c8;--white:#fffdfa;--serif:'Cormorant Garamond',serif;--shadow:0 20px 60px rgba(24,18,13,.07);--radius:28px;--max:1240px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.section{padding:96px 0}.eyebrow{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:inline-block}.h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.75rem);line-height:1.02;font-weight:400;margin:0}.lead{font-size:1rem;line-height:1.9;color:var(--text);margin:0}.small{font-size:.92rem;line-height:1.8;color:var(--text);margin:0}.rule{width:62px;height:1px;background:var(--gold-soft);margin:20px 0 24px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid transparent;transition:.25s}.btn-primary{background:var(--gold);color:#fff}.btn-soft{background:#fff;border-color:#d7c39d;color:var(--gold)}.btn-dark{background:var(--ink);color:#fff}.cta-row{display:flex;gap:12px;flex-wrap:wrap}
nav{position:fixed;inset:0 0 auto 0;height:76px;z-index:60;transition:.25s}nav.scrolled{background:rgba(255,253,250,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(183,137,51,.12)}.nav-inner{max-width:var(--max);height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--serif);font-size:1.55rem;color:#fff;font-style:italic}nav.scrolled .logo{color:var(--ink)}.nav-right{display:flex;align-items:center;gap:20px}.nav-links{display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav-links a{font-size:.69rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.82)}nav.scrolled .nav-links a{color:var(--text)}.lang{display:flex;gap:3px;padding-left:14px;border-left:1px solid rgba(255,255,255,.18)}nav.scrolled .lang{border-left-color:rgba(183,137,51,.22)}.lang button{background:none;border:none;cursor:pointer;font:inherit;font-size:.68rem;letter-spacing:.12em;color:rgba(255,255,255,.55);padding:4px 6px}nav.scrolled .lang button{color:rgba(107,97,86,.55)}.lang button.active{color:var(--gold)!important}.nav-cta{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.38);padding:10px 16px;border-radius:999px}.burger{display:none;background:none;border:none;cursor:pointer}.burger span{display:block;width:22px;height:1px;background:#fff;margin:5px 0}nav.scrolled .burger span{background:var(--ink)}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end}.hero-bg{position:absolute;inset:0;background:url('hero.jpg') center center/cover no-repeat}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,10,7,.03) 0%,rgba(14,10,7,.10) 30%,rgba(14,10,7,.24) 62%,rgba(14,10,7,.50) 100%)}.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:44px}.hero-panel{max-width:650px;background:rgba(23,18,13,.16);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:28px 30px 26px}.hero-loc{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-light);margin:0 0 14px}.hero h1{font-family:var(--serif);font-size:clamp(2.8rem,4.9vw,4.9rem);line-height:.96;font-weight:400;color:#fff;margin:0}.hero p{font-size:1rem;line-height:1.78;color:rgba(255,255,255,.79);margin:16px 0 18px;max-width:560px}.hero-usps{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 24px}.hero-usps span{font-size:.73rem;color:rgba(255,255,255,.75);letter-spacing:.06em}.hero-usps span::before{content:'•';margin-right:8px;color:var(--gold-light)}.hero-usps span:first-child::before{display:none}
.stats-wrap{margin-top:-34px;position:relative;z-index:3}.stats-card{background:var(--ink);padding:8px;border-radius:32px}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr)}.stat{text-align:center;padding:22px 12px;border-right:1px solid rgba(255,255,255,.06)}.stat:last-child{border-right:none}.stat strong{display:block;font-family:var(--serif);font-size:1.7rem;font-style:italic;font-weight:400;color:var(--gold-light)}.stat span{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:3px}
.feature-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:24px;align-items:stretch}.media-card{overflow:hidden}.media-card img{width:100%;height:100%;min-height:500px;object-fit:cover}.text-card{padding:48px}
.usp-band{background:var(--sand-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:34px 0}.usp-item{display:flex;gap:18px;align-items:flex-start}.usp-icon{width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(183,137,51,.28);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--gold)}.usp-item h3{margin:0 0 8px;font-size:1rem;font-weight:500;color:var(--ink)}.usp-item p{margin:0;font-size:.92rem;line-height:1.8;color:var(--text)}
.gallery-shell{padding:34px;background:var(--sand)}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.masonry{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.tile{position:relative;overflow:hidden;border-radius:22px}.tile.large{grid-row:span 2}.tile img{width:100%;height:100%;object-fit:cover;min-height:250px}.tile-cap{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(20,15,10,.48);color:#fff;font-size:.72rem;letter-spacing:.08em}
.rooms-shell{padding:42px;background:var(--ink)}.rooms-shell .eyebrow,.rooms-shell .h2{color:#fff}.rooms-shell .lead{color:rgba(255,255,255,.74)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.room-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:26px;overflow:hidden}.room-card img{width:100%;height:240px;object-fit:cover}.room-inner{padding:18px}.tag{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light)}.room-card h3{font-family:var(--serif);font-size:1.45rem;font-weight:400;color:#fff;margin:10px 0}.room-card p{font-size:.9rem;line-height:1.82;color:rgba(255,255,255,.74);margin:0}
.price-grid{display:grid;grid-template-columns:1fr .82fr;gap:20px;align-items:start;max-width:1080px;margin:0 auto}.price-table-card{padding:28px}.price-summary{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.price-range{font-family:var(--serif);font-size:2.35rem;line-height:.95;font-weight:400;color:var(--ink)}.price-note{font-size:.9rem;color:var(--text)}.season-list{display:grid}.season{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:.92rem}.season:first-child{border-top:none}.season .label{font-weight:500;color:var(--ink)}.season .date{color:var(--text)}.season .value{color:var(--gold);font-weight:500}.practical-card{padding:28px}.practical-card h3{margin:0 0 14px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.practical-card ul{margin:0;padding-left:18px;display:grid;gap:11px}.practical-card li{font-size:.94rem;line-height:1.75;color:var(--text)}.tax-note{max-width:1080px;margin:14px auto 0;font-size:.9rem;color:var(--text)}
.calendar-head{text-align:center;max-width:760px;margin:0 auto 24px}.availability-grid{display:grid;grid-template-columns:1.45fr .95fr;gap:22px;align-items:start}.calendar-frame{width:100%;height:780px;border:0;border-radius:22px;display:block;background:#fff}.request-card{padding:28px;min-height:780px;display:flex;flex-direction:column}.request-card .h2{font-size:clamp(1.9rem,3vw,2.7rem)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field-full{grid-column:1 / -1}.field label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.field input,.field textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fffdfa;color:var(--ink);outline:none}.request-note{margin-top:auto;padding-top:14px;font-size:.9rem;color:var(--text)}.request-note a{color:var(--text);border-bottom:1px solid rgba(183,137,51,.25)}
.page-hero{padding-top:120px;padding-bottom:24px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.about-photo img{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:center}.dog-block{margin-top:22px}
footer{padding:30px 0;background:#130f0b;color:#fff;margin-top:96px}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot .brand{font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--gold-light)}.foot-links{display:flex;gap:16px;flex-wrap:wrap}.foot-links a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.48)}.foot small{font-size:.68rem;letter-spacing:.08em;color:rgba(255,255,255,.34)}
.mobile-cta{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:60}.mobile-cta a{display:flex;justify-content:center;align-items:center;background:var(--gold);color:#fff;padding:15px 18px;border-radius:999px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 14px 30px rgba(24,18,13,.24)}
@media (max-width:1080px){.price-grid,.feature-grid,.availability-grid,.about-grid{grid-template-columns:1fr}}
@media (max-width:900px){nav{height:72px}.nav-inner,.wrap{padding:0 16px}.nav-links,.nav-cta{display:none}.burger{display:block}.nav-right.open .nav-links{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:rgba(255,253,250,.98);padding:18px 16px;border-top:1px solid var(--line)}.nav-right.open .nav-links a{color:var(--text)}.lang{border-left:none;padding-left:0}.hero-panel{max-width:none;padding:26px 22px 22px}.stats-grid,.room-grid,.usp-grid{grid-template-columns:1fr 1fr}.masonry,.gallery-head{display:grid;grid-template-columns:1fr}.tile.large{grid-row:auto}.form-grid{grid-template-columns:1fr}.calendar-frame,.request-card{min-height:unset;height:auto}.calendar-frame{height:700px}.mobile-cta{display:block}}
@media (max-width:560px){.section{padding:72px 0}.stats-grid,.room-grid,.usp-grid{grid-template-columns:1fr}.stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.stat:last-child{border-bottom:none}.hero h1{font-size:3rem}.calendar-frame{height:640px}}

nav .nav-links a, nav .nav-cta, nav .lang button, nav .logo{text-shadow:0 1px 2px rgba(0,0,0,.18)} nav.scrolled .nav-links a, nav.scrolled .nav-cta, nav.scrolled .lang button, nav.scrolled .logo{text-shadow:none} .usp-grid{gap:18px;padding:22px 0 6px}.usp-item{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:22px 20px;box-shadow:var(--shadow)} .page-hero .wrap{max-width:1040px}.about-grid{grid-template-columns:.92fr 1.08fr;gap:18px}.about-photo img{min-height:360px}.text-card{padding:40px} .dog-block .about-photo img{min-height:360px} @media (max-width:900px){.usp-item{padding:18px}.text-card{padding:30px 24px}}


/* Mobile fix: stack About page blocks instead of keeping 2 columns */
@media (max-width: 768px) {
  .about-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .about-photo img {
    width: 100%;
    height: auto;
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
  }

  .text-card {
    padding: 28px 22px !important;
  }

  .dog-block {
    margin-top: 16px !important;
  }
}
