:root{--bg:#fff;--text:#111;--muted:#6f6a63;--line:#e9e3db;--gold:#b38b52;--gold-soft:#d7c0a0;--panel:#faf8f4;--surface2:#f8fafc;--shadow:0 18px 44px rgba(17,17,17,.08);--radius:24px;--container:1180px}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Georgia,"Times New Roman",serif}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}p{line-height:1.78;margin:0 0 18px}
.container{width:min(var(--container),92vw);margin:0 auto}
.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(233,227,219,.85)}
.header-shell{width:min(var(--container),92vw);height:118px;margin:0 auto;display:grid;grid-template-columns:1fr auto auto;align-items:center;position:relative}.header-spacer{height:1px}.site-logo{justify-self:start;margin-left:0;position:relative;left:0}.site-logo img{height:78px;width:auto;object-fit:contain}

.desktop-nav{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:32px;
}
.desktop-nav a{font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#2b241c;transition:opacity .25s ease,color .25s ease}
.desktop-nav a:hover{color:var(--gold);opacity:.68}
.header-right{justify-self:end;display:flex;align-items:center;margin-left:auto;}
.menu-toggle{justify-self:end;width:56px;height:56px;border:none;background:transparent;cursor:pointer;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-toggle span{display:block;width:26px;height:2px;background:#111;border-radius:2px}
.overlay-menu{position:fixed;inset:0;background:rgba(255,255,255,.98);display:none;align-items:center;justify-content:center}.overlay-menu.open{display:flex}.overlay-menu-inner{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center}.overlay-menu-inner a{font-size:30px;letter-spacing:.04em}.overlay-menu-inner .menu-book{margin-top:14px;padding:14px 26px;border:1px solid var(--gold);border-radius:999px;color:var(--gold)}
.page-wrap{padding-bottom:50px}.hero{width:min(var(--container),92vw);margin:22px auto 24px;border-radius:26px;overflow:hidden;background:linear-gradient(135deg,#fbf9f5 0%,#ffffff 58%,#f5ede3 100%);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-inner{min-height:460px;display:grid;grid-template-columns:1.2fr .8fr;align-items:stretch}.hero-copy{padding:54px 52px 48px;display:flex;flex-direction:column;justify-content:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:22px}.eyebrow:before{content:"";display:block;width:34px;height:1px;background:var(--gold-soft)}.hero h1{font-size:clamp(30px,4.2vw,54px);line-height:1.06;font-weight:500;margin:0 0 20px;max-width:780px}.hero p{font-size:17px;max-width:680px;color:var(--muted)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;border-radius:999px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gold);transition:.25s ease;background:#fff;cursor:pointer}.btn-primary{background:var(--gold);color:#fff}.btn-primary:hover{background:#9d7845}.btn-secondary{background:transparent;color:var(--gold)}.btn-secondary:hover{background:var(--panel)}
.hero-visual{min-height:360px;padding:24px;display:flex;align-items:stretch;justify-content:center}.hero-card{width:100%;height:100%;border-radius:24px;background:radial-gradient(circle at top right, rgba(179,139,82,.16), transparent 34%),linear-gradient(180deg,#f8f3ec,#fdfcf9);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;justify-content:space-between}.hero-quote{font-size:22px;line-height:1.45;color:#241f18}.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.hero-stat{padding:18px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid var(--line)}.hero-stat strong{display:block;font-size:22px;font-weight:500;margin-bottom:6px}.hero-stat span{font-size:13px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.section{padding:46px 0}.section.tight{padding-top:8px}.section-title{width:min(880px,92vw);margin:0 auto 26px;text-align:center}.section-title .kicker,.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:12px}.section-title h2{margin:0 0 16px;font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.08}.section-title p{color:var(--muted);font-size:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}.card.soft{background:var(--panel)}.card h3{margin:0 0 14px;font-size:28px;font-weight:500}.card p{color:var(--muted)}
.feature-box{min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#ffffff 0%,#f8f3ea 100%)}.feature-box .small-kicker{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.16em}
.room-card{overflow:hidden;padding:0;background:#fff}.room-image,.room-cover{height:290px;background:linear-gradient(135deg, rgba(179,139,82,.18), transparent 35%),linear-gradient(180deg,#f6efe5,#fbfaf7);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:38px}.room-content{padding:28px}.room-content h3{margin:0 0 8px;font-size:30px;font-weight:500}.room-meta{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 18px;color:var(--muted);font-size:14px}.room-link{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:22px}.gallery-tile{min-height:270px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(180deg,#fcfbf8,#f2eadf);box-shadow:var(--shadow)}.gallery-tile.tall{min-height:560px}
.split{width:min(var(--container),92vw);margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:start}.split.reverse{grid-template-columns:1.05fr .95fr}.panel-photo{min-height:560px;border-radius:30px;border:1px solid var(--line);background:linear-gradient(160deg,#f4ebdf,#fffaf4 40%,#efe4d5)}.panel-copy{background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:42px}.panel-copy h2{margin:0 0 18px;font-size:50px;font-weight:500;line-height:1.06}.panel-copy p{color:var(--muted);font-size:18px}
.contact-grid{width:min(var(--container),92vw);margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.contact-card{padding:38px}
.form-grid,.form-grid-3,.booking-form{display:grid;gap:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-form{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}
input,textarea,select{width:100%;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:15px;color:#111}textarea{min-height:160px;resize:vertical}.form-full,.full{grid-column:1/-1}
.booking-panel{width:min(980px,92vw);margin:40px auto;background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.booking-panel h1{margin:0 0 14px;font-size:58px;font-weight:500;line-height:1.04;text-align:center}.booking-panel p{max-width:720px;margin:0 auto 24px;text-align:center;color:var(--muted);font-size:18px}.booking-submit{width:100%;padding:18px;border:none;border-radius:999px;background:var(--gold);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:13px;cursor:pointer}.booking-submit:hover{background:#9d7845}.note-line{margin-top:16px;text-align:center;color:var(--muted);font-size:14px}
.site-footer{border-top:1px solid var(--line);padding-top:28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px;padding:36px 0}.footer-grid h4{margin:0 0 14px;font-size:18px;font-weight:500}.footer-grid a{display:block;margin-bottom:10px;color:var(--muted)}.footer-logo{height:56px;width:auto;margin-bottom:14px}.footer-copy{max-width:420px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:14px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-title h1{margin:0;font-size:28px}.page-title p{margin:6px 0 0;color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search{background:#fff;border:1px solid var(--line);height:46px;border-radius:14px;padding:0 14px;min-width:280px}
body.app{display:flex;min-height:100vh}.sidebar{width:270px;background:#0f172a;color:#fff;padding:22px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px}.brand{display:flex;gap:12px;align-items:center;padding:10px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-badge{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-weight:700}.brand small{display:block;color:#93c5fd;font-size:12px}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:#cbd5e1;font-weight:600}.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.side-footer{margin-top:auto;background:rgba(255,255,255,.05);padding:14px;border-radius:16px}.main{flex:1;padding:24px}
.list{display:flex;flex-direction:column;gap:12px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;background:var(--surface2);border:1px solid var(--line);border-radius:16px}.small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.mt{margin-top:18px}
.status,.tag{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700}.tag{background:#eff6ff;color:#1d4ed8}.status.richiesta{background:#fff7db;color:#a16207}.status.confermata{background:#dcfce7;color:#166534}.status.checkin{background:#dbeafe;color:#1d4ed8}.status.checkout{background:#ede9fe;color:#6d28d9}.status.annullata{background:#fee2e2;color:#b91c1c}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:top}th{color:var(--muted);font-size:13px}.flash{padding:12px 14px;border-radius:14px;margin:14px 0}.ok{background:#e8f7ec;color:#166534}.err{background:#fef2f2;color:#b91c1c}
.planning{overflow:auto;border-radius:16px;border:1px solid var(--line)}.planning-grid{min-width:1150px;display:grid;grid-template-columns:220px repeat(14,1fr);background:#fff}.planning-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px;min-height:54px}.planning-head{background:#f8fafc;font-size:13px;font-weight:800;color:var(--muted)}.room-name{font-weight:700;background:#fcfdff;position:sticky;left:0;z-index:2}.slot.booked{background:#dbeafe;color:#1d4ed8;font-weight:700}.slot.checkin{background:#dcfce7;color:#166534;font-weight:700}.slot.closed{background:#fee2e2;color:#b91c1c;font-weight:700}
@media (max-width:1100px){.hero-inner,.split,.split.reverse,.contact-grid,.gallery-grid{grid-template-columns:1fr}.hero-copy{padding:58px 34px 34px}.hero-card{min-height:420px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
.site-logo img{height:56px}
.header-shell{height:92px;grid-template-columns:1fr auto 1fr}
.desktop-nav{display:none}
.menu-toggle{display:flex}
.hero{margin-top:18px}
.hero-inner{min-height:auto;grid-template-columns:1fr}
.hero-meta,.grid-3,.grid-2,.grid-4,.form-grid,.form-grid-3,.booking-form,.footer-grid{grid-template-columns:1fr}
.hero-copy{padding:40px 24px 14px}
.hero-visual{padding:14px 24px 24px}
.hero h1{font-size:36px}
.panel-copy{padding:28px}
.panel-copy h2{font-size:38px}
.booking-panel h1{font-size:42px}
.overlay-menu-inner a{font-size:24px}
body.app{display:block}
.sidebar{display:none}
.main{padding:16px}
.search{min-width:0;width:100%}
}


@media (min-width:761px){
.overlay-menu{display:none !important}
.desktop-nav{display:flex}
.header-right{display:flex}
}


:root{
  --bg:#ffffff;
  --text:#121212;
  --muted:#767676;
  --line:#dddddd;
  --gold:#6f6f6f;
  --gold-soft:#cfcfcf;
  --panel:#fafafa;
  --surface2:#f4f4f4;
  --shadow:0 18px 44px rgba(0,0,0,.05);
}
body{background:linear-gradient(180deg,#ffffff 0%,#fbfbfb 100%)}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,0,0,.08)}
.header-shell{
	position:relative;
    width:min(var(--container),92vw);
    height:130px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.header-left{display:flex;align-items:center}
.site-logo{display:flex;align-items:center}
.site-logo img{height:110px;width:auto;object-fit:contain}
.premium-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:26px;
}
.premium-nav a{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#202020;
  transition:opacity .25s ease, filter .25s ease;
  white-space:nowrap;
}
.premium-nav a:hover{
  color:#202020;
  opacity:.52;
  filter:brightness(1.15);
}
.premium-nav .nav-book{
  padding:12px 18px;
  border:1px solid #bdbdbd;
  border-radius:999px;
  background:#fff;
}
.header-right{display:flex;justify-content:flex-end;align-items:center}
.menu-toggle span{background:#222}
.hero{
  border-radius:16px;
  background:linear-gradient(135deg, #f5f5f5 0%, #ffffff 58%, #efefef 100%);
  border:1px solid #e3e3e3;
  box-shadow:0 24px 50px rgba(0,0,0,.04);
}
.hero-inner{
  min-height:520px;
  grid-template-columns:1.3fr .7fr;
}
.hero-copy{
  padding:64px 64px 56px;
}
.eyebrow{
  color:#7a7a7a;
}
.eyebrow:before{
  background:#bdbdbd;
}
.hero h1{
  font-size:clamp(28px,3.6vw,46px);
  line-height:1.1;
  font-weight:500;
  letter-spacing:.01em;
  max-width:760px;
  margin-bottom:18px;
}
.hero p{
  color:#6f6f6f;
  font-size:17px;
  max-width:700px;
}
.hero-card{
  border-radius:16px;
  background:linear-gradient(180deg,#f9f9f9,#efefef);
  border:1px solid #dedede;
  box-shadow:none;
}
.hero-quote{
  font-size:20px;
  color:#2c2c2c;
}
.hero-stat{
  background:rgba(255,255,255,.82);
  border:1px solid #e1e1e1;
}
.hero-stat strong{
  font-size:20px;
}
.hero-stat span{
  color:#7e7e7e;
}
.btn{
  border-color:#9b9b9b;
}
.btn-primary{
  background:#3c3c3c;
  border-color:#3c3c3c;
  color:#fff;
}
.btn-primary:hover{
  background:#2c2c2c;
}
.btn-secondary{
  color:#3f3f3f;
  background:#fff;
  border-color:#b8b8b8;
}
.btn-secondary:hover{
  background:#f5f5f5;
}
.card,.room-card,.panel-copy,.booking-panel{
  border-color:#e4e4e4;
  box-shadow:0 18px 38px rgba(0,0,0,.04);
}
.room-image,.room-cover,.panel-photo,.gallery-tile{
  background:linear-gradient(135deg, rgba(220,220,220,.35), transparent 35%),linear-gradient(180deg,#f7f7f7,#ececec);
}
.section-title .kicker,.kicker,.feature-box .small-kicker,.room-link{
  color:#6b6b6b;
}
.footer-grid a,.footer-copy,.section-title p,.card p,.panel-copy p,.muted,.small,.note-line{
  color:#727272;
}
.site-footer{
  border-top:1px solid #e3e3e3;
}
.booking-submit{
  background:#3c3c3c;
}
.booking-submit:hover{
  background:#2c2c2c;
}
.status.richiesta{background:#f2f2f2;color:#555}
.status.confermata{background:#ececec;color:#333}
.status.checkin{background:#e8e8e8;color:#222}
.status.checkout{background:#f0f0f0;color:#444}
.status.annullata{background:#f5f5f5;color:#666}
@media (max-width:960px){
  .header-shell.premium-header{
    grid-template-columns:1fr auto 56px;
    height:94px;
  }
  .site-logo img{height:50px}
  .premium-nav{display:none}
  .menu-toggle{display:flex}
}
@media (max-width:760px){
  .hero-inner{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:38px 24px 8px}
  .hero h1{font-size:34px}
  .hero-visual{padding:12px 24px 24px}
}

.nav-book-right{margin-left:30px;padding:12px 20px;border:1px solid #aaa;border-radius:999px}
.header-shell.premium-header{grid-template-columns:220px 1fr auto}

.nav-link{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#202020;
  transition:opacity .25s ease, filter .25s ease;
}
.nav-link:hover{opacity:.52;filter:brightness(1.15)}
.nav-book-right{
  margin-left:24px;
  padding:0;
  border:none;
}

.header-shell.premium-header{
  height:88px !important;
  grid-template-columns:220px 1fr 170px !important;
  column-gap:12px !important;
}
.site-header{height:130px;border-bottom:1px solid rgba(0,0,0,.06)}
.site-logo img{height:44px !important}
.premium-nav{
  justify-content:center !important;
  gap:34px !important;
}
.premium-nav .nav-link{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#202020;
  transition:opacity .25s ease, filter .25s ease;
  white-space:nowrap;
}
.premium-nav .nav-link:hover{
  opacity:.55;
}
.header-right{
  justify-content:flex-end !important;
  gap:16px;
}
.nav-book-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  height:44px;
  padding:0 20px;
  border:1px solid #bcbcbc;
  border-radius:999px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#202020;
  transition:background .25s ease, opacity .25s ease;
}
.nav-book-button:hover{
  background:#f3f3f3;
}
.hero-inner{
  grid-template-columns:1.45fr .55fr !important;
  min-height:470px !important;
}
.hero-card{
  padding:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.hero-card img{
  width:100% !important;
  max-width:330px !important;
  opacity:.96 !important;
}
@media (max-width:960px){
  .header-shell.premium-header{
    grid-template-columns:1fr auto 56px !important;
    height:82px !important;
  }
  .nav-book-button{
    display:none;
  }
}

.site-logo img{
  height:56px !important;
}
.hero{
  background:#ffffff !important;
}
.hero-inner{
  grid-template-columns:1.48fr .52fr !important;
}
.hero-visual{
  background:#ffffff !important;
  padding:0 12px 0 0 !important;
  min-height:470px !important;
}
.hero-card{
  background:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  height:100% !important;
  min-height:470px !important;
  padding:0 !important;
  align-items:center !important;
  justify-content:center !important;
}
.hero-card img{
  width:auto !important;
  max-width:none !important;
  height:100% !important;
  max-height:440px !important;
  object-fit:contain !important;
  opacity:1 !important;
}
@media (max-width:760px){
  .site-logo img{
    height:50px !important;
  }
  .hero-visual{
    padding:0 0 14px 0 !important;
    min-height:auto !important;
  }
  .hero-card{
    min-height:320px !important;
  }
  .hero-card img{
    height:92% !important;
    max-height:320px !important;
  }
}


/* FINAL LUXURY EDITORIAL UPDATE */
html{scroll-behavior:smooth}
body{
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfbfb 100%) !important;
  color:#111;
}
h1,h2,h3,.hero h1,.section-title h2,.panel-copy h2,.booking-panel h1{
  font-family:'Playfair Display',Georgia,"Times New Roman",serif !important;
  font-weight:500 !important;
  letter-spacing:.01em;
}
p,.footer-copy,.section-title p,.card p,.panel-copy p{
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
}
.site-header{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
  transition:background .35s ease, box-shadow .35s ease;
}
.site-header:hover{
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.header-shell.premium-header{
  height:88px !important;
  grid-template-columns:220px 1fr 170px !important;
  column-gap:12px !important;
}
.site-logo img{height:56px !important;width:auto;object-fit:contain}
.premium-nav{
  justify-content:center !important;
  gap:34px !important;
}
.premium-nav .nav-link,
.nav-book-button{
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
  color:#202020 !important;
  white-space:nowrap;
}
.premium-nav .nav-link{
  transition:opacity .28s ease, transform .28s ease;
}
.premium-nav .nav-link:hover{
  opacity:.55;
  transform:translateY(-1px);
}
.header-right{
  justify-content:flex-end !important;
  gap:16px;
}
.nav-book-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  height:44px;
  padding:0 20px;
  border:1px solid #bcbcbc;
  border-radius:999px;
  transition:background .28s ease, opacity .28s ease, transform .28s ease, box-shadow .28s ease;
}
.nav-book-button:hover{
  background:#f4f4f4;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}
.hero{
  background:#ffffff !important;
  border:1px solid #e3e3e3 !important;
  box-shadow:0 24px 50px rgba(0,0,0,.04) !important;
}
.hero-inner{
  grid-template-columns:1.48fr .52fr !important;
  min-height:470px !important;
}
.hero-copy{
  padding:62px 64px 56px !important;
}
.hero h1{
  font-size:clamp(30px,3.7vw,50px) !important;
  line-height:1.08 !important;
  margin-bottom:18px !important;
}
.hero p{
  font-size:17px !important;
  color:#6f6f6f !important;
  max-width:700px !important;
}
.eyebrow,.section-title .kicker,.kicker,.feature-box .small-kicker,.room-link{
  color:#6a6a6a !important;
}
.eyebrow:before{background:#bdbdbd !important}
.hero-actions .btn{
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease, opacity .28s ease;
}
.hero-actions .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.05);
}
.hero-visual{
  background:#ffffff !important;
  padding:0 12px 0 0 !important;
  min-height:470px !important;
}
.hero-card{
  background:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  height:100% !important;
  min-height:470px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.hero-card img{
  width:auto !important;
  height:100% !important;
  max-height:440px !important;
  object-fit:contain !important;
  opacity:1 !important;
  transition:transform 1.8s ease, opacity 1.2s ease;
}
.hero-card:hover img{
  transform:scale(1.02);
}
.section,.card,.room-card,.panel-copy,.booking-panel,.gallery-tile,.panel-photo{
  transition:transform .45s ease, box-shadow .45s ease, opacity .6s ease;
}
.card:hover,.room-card:hover,.panel-copy:hover,.gallery-tile:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px rgba(0,0,0,.05);
}
.room-card{
  overflow:hidden;
}
.room-image{
  transition:transform 1.1s ease, filter .6s ease;
}
.room-card:hover .room-image{
  transform:scale(1.03);
  filter:brightness(1.02);
}
.room-content h3{
  font-size:34px !important;
}
.booking-panel{
  background:#fafafa !important;
}
.booking-panel h1{
  font-size:54px !important;
}
.booking-form{
  background:#fff;
  border:1px solid #e2e2e2;
  padding:10px;
  border-radius:999px;
  box-shadow:0 12px 28px rgba(0,0,0,.04);
}
.booking-form input,
.booking-form select{
  border:none !important;
  background:transparent !important;
}
.booking-submit{
  background:#3c3c3c !important;
  border-radius:999px !important;
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease !important;
}
.booking-submit:hover{
  background:#262626 !important;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.site-footer{
  border-top:1px solid #e3e3e3 !important;
  margin-top:120px;
  background:linear-gradient(180deg,#ffffff 0%,#fafafa 100%);
}
.footer-grid{
  grid-template-columns:1.5fr .9fr .9fr !important;
  gap:70px !important;
}
.footer-grid h4{
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  margin-bottom:20px !important;
}
.footer-grid a{
  transition:opacity .28s ease, transform .28s ease;
}
.footer-grid a:hover{
  opacity:.58;
  transform:translateX(2px);
}
.footer-logo{
  height:48px !important;
}
.footer-bottom{
  color:#8a8a8a !important;
}
.reveal{
  opacity:0;
  transform:translateY(26px);
}
.reveal.revealed{
  opacity:1;
  transform:none;
  transition:opacity .8s ease, transform .8s ease;
}
@media (max-width:960px){
  .header-shell.premium-header{
    grid-template-columns:1fr auto 56px !important;
    height:82px !important;
  }
  .site-logo img{height:50px !important}
  .premium-nav{display:none !important}
  .nav-book-button{display:none !important}
  .menu-toggle{display:flex !important}
}
@media (max-width:760px){
  .hero-inner{grid-template-columns:1fr !important;min-height:auto !important}
  .hero-copy{padding:38px 24px 8px !important}
  .hero h1{font-size:34px !important}
  .hero-visual{padding:0 0 14px 0 !important;min-height:auto !important}
  .hero-card{min-height:320px !important}
  .hero-card img{height:92% !important;max-height:320px !important}
  .booking-form{
    grid-template-columns:1fr !important;
    border-radius:28px !important;
  }
  .footer-grid{grid-template-columns:1fr !important;gap:32px !important}
}

/* FIX10 MENU */
.header-shell.premium-header{
  width:min(var(--container),92vw) !important;
  display:grid !important;
  grid-template-columns:220px 1fr 170px !important;
  align-items:center !important;
}
.header-left{
  display:flex !important;
  justify-content:flex-start !important;
}
.desktop-logo{display:flex !important}
.mobile-logo{display:none}
.premium-nav{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:32px !important;
  width:100% !important;
}
.header-right{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:16px !important;
}
.nav-book-button{
  display:inline-flex !important;
}
.menu-toggle{
  display:none !important;
}
.overlay-menu-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
}
.overlay-menu-inner a{
  font-family:'Inter',Arial,Helvetica,sans-serif;
  font-size:15px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
@media (max-width:960px){
  .header-shell.premium-header{
    grid-template-columns:1fr auto auto !important;
    height:84px !important;
  }
  .desktop-nav{display:none !important}
  .desktop-logo{display:none !important}
  .nav-book-button{display:none !important}
  .mobile-logo{
    display:flex !important;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    align-items:center;
    justify-content:center;
  }
  .mobile-logo img{
    height:48px !important;
    width:auto !important;
    object-fit:contain;
  }
  .header-right{
    width:100% !important;
    justify-content:flex-end !important;
    position:relative;
  }
  .menu-toggle{
    display:flex !important;
    position:relative;
    z-index:2;
  }
}


/* FIX11 */
.header-shell.premium-header{
  position:relative;
}
.mobile-top-brand{
  display:none;
}
.booking-form-boxed{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:16px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.booking-field{
  border:1px solid #dcdcdc;
  border-radius:999px;
  background:#fff;
  padding:16px 20px;
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.booking-field label{
  font-family:'Inter',Arial,Helvetica,sans-serif;
  font-size:13px;
  color:#202020;
  margin-bottom:8px;
}
.booking-field input,
.booking-field select{
  border:none !important;
  padding:0 !important;
  height:auto !important;
  font-size:16px !important;
  color:#111 !important;
  background:transparent !important;
}
.booking-links{
  margin-top:20px;
  text-align:center;
}
.overlay-menu{
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:120px;
}
.overlay-menu-inner{
  width:min(92vw,420px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:18px !important;
}
.overlay-menu-inner a{
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  line-height:1.3 !important;
}
.overlay-menu-inner .menu-book{
  margin-top:8px;
  padding:12px 18px;
  border:1px solid #bdbdbd;
  border-radius:999px;
}
@media (max-width:960px){
  .premium-header{
    grid-template-columns:1fr auto !important;
    height:96px !important;
  }
  .desktop-logo,
  .desktop-nav,
  .nav-book-button{
    display:none !important;
  }
  .header-left{
    display:none !important;
  }
  .header-right{
    width:100% !important;
    justify-content:flex-end !important;
    position:relative !important;
    z-index:3;
  }
  .mobile-top-brand{
    display:flex !important;
    position:absolute !important;
    left:50% !important;
    top:10px !important;
    transform:translateX(-50%) !important;
    width:auto !important;
    justify-content:center !important;
    align-items:center !important;
    z-index:2 !important;
    pointer-events:auto !important;
  }
  .mobile-round-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .mobile-round-logo img{
    height:68px !important;
    width:auto !important;
    display:block !important;
    object-fit:contain !important;
  }
  .menu-toggle{
    display:flex !important;
    position:absolute !important;
    right:0 !important;
    top:20px !important;
    z-index:4 !important;
  }
  .overlay-menu{
    padding-top:110px !important;
  }
  .booking-form-boxed{
    grid-template-columns:1fr !important;
  }
  .booking-field{
    min-height:84px !important;
    border-radius:22px !important;
  }
}


/* FIX12 */
.booking-form-compact{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:14px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  margin-top:26px !important;
}
.booking-col{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.booking-col label{
  font-family:'Inter',Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:500;
  color:#111;
  padding-left:10px;
}
.booking-input-shell{
  border:1px solid #d7d7d7;
  border-radius:20px;
  background:#fff;
  min-height:50px;
  padding:0 18px;
  display:flex;
  align-items:center;
}
.booking-input-shell input,
.booking-input-shell select{
  width:100%;
  border:none !important;
  background:transparent !important;
  padding:0 !important;
  height:100% !important;
  min-height:48px !important;
  font-size:16px !important;
  color:#111 !important;
  box-shadow:none !important;
}
.booking-form-compact .full{
  margin-top:4px;
}
.booking-submit{
  min-height:50px !important;
}
.mobile-top-brand{display:none}
.overlay-menu{
  background:#e9e9e9 !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding-top:110px !important;
}
.overlay-menu-inner{
  width:100% !important;
  max-width:none !important;
  padding:0 28px 24px !important;
  align-items:flex-start !important;
  gap:16px !important;
}
.overlay-menu-inner a{
  color:#111 !important;
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}
.overlay-menu-inner .menu-book{
  background:#fff !important;
}
@media (max-width:960px){
  .premium-header{
    grid-template-columns:1fr !important;
    height:82px !important;
  }
  .desktop-logo,.desktop-nav,.nav-book-button,.header-left{
    display:none !important;
  }
  .header-right{
    position:absolute !important;
    right:0 !important;
    top:12px !important;
    width:auto !important;
    z-index:5 !important;
  }
  .menu-toggle{
    display:flex !important;
    position:relative !important;
    top:0 !important;
    right:12px !important;
  }
  .mobile-top-brand{
    display:flex !important;
    position:absolute !important;
    top:10px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:auto !important;
    z-index:4 !important;
    justify-content:center !important;
  }
  .mobile-horizontal-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .mobile-horizontal-logo img{
    height:44px !important;
    width:auto !important;
    object-fit:contain !important;
    display:block !important;
  }
  .hero-inner{
    grid-template-columns:1fr !important;
  }
  .hero-visual{
    order:-1 !important;
    padding:12px 0 6px !important;
    min-height:auto !important;
  }
  .hero-card{
    min-height:260px !important;
  }
  .hero-card img{
    max-height:240px !important;
    height:auto !important;
    width:auto !important;
  }
  .booking-form-compact{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}

/* FIX13 MOBILE HEADER + MENU */
@media (max-width:960px){
  .mobile-horizontal-logo img{
    height:56px !important;
  }
}
.overlay-menu{
  background:rgba(0,0,0,.0) !important;
  padding-top:0 !important;
}
.overlay-menu-panel{
  width:100%;
  min-height:100vh;
  background:#e5e5e5;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.overlay-menu-top{
  width:min(92vw,1180px);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  min-height:92px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.overlay-mobile-logo{
  display:flex;
  align-items:center;
  justify-content:center;
}
.overlay-mobile-logo img{
  height:56px;
  width:auto;
  object-fit:contain;
}
.menu-close{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:none;
  background:transparent;
  font-size:34px;
  line-height:1;
  color:#111;
  cursor:pointer;
}
.overlay-menu-inner{
  flex:1;
  width:100%;
  display:flex !important;
  flex-direction:column;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  padding:20px 24px 48px !important;
}
.overlay-menu-inner a{
  text-align:center;
}
@media (min-width:961px){
  .menu-close,
  .overlay-mobile-logo{
    display:none !important;
  }
}

/* FIX14 MOBILE */
@media (max-width:960px){
  .mobile-top-brand{
    top:4px !important;
  }
  .mobile-horizontal-logo img{
    height:68px !important;
  }
  .premium-header{
    height:74px !important;
  }
  .header-right{
    top:8px !important;
  }
  .menu-toggle{
    right:8px !important;
  }
}
.overlay-menu-panel{
  justify-content:flex-start !important;
}
.overlay-menu-top{
  min-height:74px !important;
  padding:4px 0 !important;
}
.overlay-mobile-logo img{
  height:68px !important;
}
.overlay-menu-inner{
  flex:0 0 auto !important;
  justify-content:flex-start !important;
  padding:26px 24px 20px !important;
  gap:14px !important;
}
.overlay-menu-bottom{
  width:100%;
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 0 26px;
}
.menu-close{
  position:static !important;
  transform:none !important;
  width:52px;
  height:52px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:999px;
  background:#f4f4f4;
  font-size:34px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* FIX15 MOBILE OVERLAY */
@media (max-width:960px){
  .mobile-top-brand{
    display:none !important;
  }
  .mobile-horizontal-logo img,
  .overlay-mobile-logo img{
    height:74px !important;
  }
  .header-right{
    right:0 !important;
    top:6px !important;
  }
  .menu-toggle{
    right:2px !important;
    width:60px !important;
    height:60px !important;
  }
}
.overlay-menu-panel{
  min-height:auto !important;
  height:auto !important;
  max-height:100vh !important;
}
.overlay-menu-top{
  min-height:82px !important;
  padding:2px 0 0 !important;
}
.overlay-mobile-logo{
  display:flex !important;
}
.overlay-menu-inner{
  padding:18px 24px 14px !important;
  gap:12px !important;
}
.overlay-menu-bottom{
  padding:10px 0 16px !important;
  margin-top:10px !important;
}
.menu-close{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* FIX16 MOBILE FINAL */
@media (max-width:960px){
  .mobile-top-brand{
    display:flex !important;
    position:absolute !important;
    top:6px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:5 !important;
  }
  .mobile-horizontal-logo img{
    height:72px !important;
  }
  .menu-toggle{
    position:absolute !important;
    right:6px !important;
    top:22px !important;
  }
}


/* FIX17 precise mobile header tweaks */
@media (max-width:960px){
  .mobile-top-brand{
    top:4px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:8 !important;
  }
  .mobile-horizontal-logo img{
    height:74px !important;
    width:auto !important;
  }
  .header-right{
    top:8px !important;
  }
  .menu-toggle{
    right:11px !important;
    top:14px !important;
  }
}
.overlay-menu{
  padding-top:86px !important;
}
.overlay-menu-top{
  min-height:0 !important;
  height:0 !important;
  padding:0 !important;
  border-bottom:none !important;
  width:100% !important;
  position:relative !important;
}
.menu-close{
  position:fixed !important;
  bottom:18px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:20 !important;
}

/* FIX18 MOBILE FINAL REFINEMENT */
@media (max-width:960px){
  .mobile-horizontal-logo img{
    height:86px !important;
  }
  .header-shell.premium-header{
    height:78px !important;
  }
  .header-right{
    top:50% !important;
    transform:translateY(-50%) !important;
  }
  .menu-toggle{
    top:50% !important;
    transform:translateY(-50%) !important;
    right:14px !important;
  }
}
.menu-close{
  position:fixed !important;
  bottom:22px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}

/* FIX19 MOBILE FINAL */
@media (max-width:960px){
  .header-shell.premium-header{
    height:68px !important;
  }
  .mobile-top-brand{
    top:50% !important;
    transform:translate(-50%,-50%) !important;
  }
  .mobile-horizontal-logo img{
    height:82px !important;
  }
  .header-right{
    top:50% !important;
    transform:translateY(-50%) !important;
  }
  .menu-toggle{
    top:50% !important;
    transform:translateY(-50%) !important;
    right:14px !important;
  }
}

/* remove close button */
.menu-close{
  display:none !important;
}


.desktop-nav{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:40px;
    white-space:nowrap;
}

.desktop-nav a{
    white-space:nowrap;
}


/* FINAL HEADER / MENU OVERRIDE */
.header-shell.premium-header{
  width:min(var(--container),92vw) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:220px 1fr 170px !important;
  align-items:center !important;
  column-gap:28px !important;
  height:88px !important;
  position:relative !important;
}
.header-left.desktop-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.site-logo{
  display:flex !important;
  align-items:center !important;
}
.site-logo img{
  height:56px !important;
  width:auto !important;
  object-fit:contain !important;
}
.mobile-top-brand{
  display:none !important;
}
.desktop-nav.premium-nav{
  position:static !important;
  left:auto !important;
  transform:none !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:34px !important;
  white-space:nowrap !important;
  margin:0 !important;
  padding:0 !important;
}
.desktop-nav.premium-nav a,
.desktop-nav.premium-nav .nav-link{
  white-space:nowrap !important;
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  color:#202020 !important;
}
.header-right{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  width:auto !important;
  margin-left:0 !important;
  position:relative !important;
  top:auto !important;
  right:auto !important;
  transform:none !important;
}
.desktop-only{
  display:inline-flex !important;
}
.mobile-only{
  display:none !important;
}
.nav-book-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:118px !important;
  height:44px !important;
  padding:0 20px !important;
  border:1px solid #bcbcbc !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#202020 !important;
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  margin-left:0 !important;
}
.nav-book-button:hover{
  background:#f4f4f4 !important;
}

.overlay-menu{
  position:fixed !important;
  inset:0 !important;
  background:rgba(241,241,241,.98) !important;
  z-index:9999 !important;
  display:none !important;
  overflow:auto !important;
  padding:0 !important;
}
.overlay-menu.open{
  display:block !important;
}
.overlay-menu-panel{
  min-height:100vh !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:rgba(241,241,241,.98) !important;
  padding:26px 24px 20px !important;
}
.overlay-menu-title{
  display:none;
}
.overlay-menu-inner{
  width:100% !important;
  max-width:520px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
}
.overlay-menu-inner a{
  width:auto !important;
  text-align:center !important;
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#111 !important;
  white-space:nowrap !important;
}
.overlay-menu-bottom{
  width:100% !important;
  max-width:520px !important;
  margin:18px auto 0 !important;
  padding:0 !important;
  display:flex !important;
  justify-content:center !important;
}
.overlay-menu-bottom .menu-book{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:168px !important;
  height:46px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  background:#3c3c3c !important;
  color:#fff !important;
  border:none !important;
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}
.menu-close{
  display:none !important;
}

@media (max-width:960px){
  .site-header{
    height:78px !important;
  }
  .header-shell.premium-header{
    grid-template-columns:1fr auto 1fr !important;
    column-gap:0 !important;
    height:78px !important;
  }
  .header-left.desktop-logo,
  .desktop-nav.premium-nav,
  .nav-book-button,
  .desktop-only,
  .site-logo{
    display:none !important;
  }
  .mobile-top-brand{
    display:flex !important;
    grid-column:2 !important;
    justify-self:center !important;
    align-items:center !important;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:8 !important;
  }
  .mobile-horizontal-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .mobile-horizontal-logo img{
    height:58px !important;
    width:auto !important;
    object-fit:contain !important;
    display:block !important;
  }
  .header-right{
    grid-column:3 !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    position:relative !important;
    width:auto !important;
    top:auto !important;
    right:auto !important;
    transform:none !important;
    z-index:9 !important;
  }
  .mobile-only{
    display:flex !important;
  }
  .menu-toggle{
    display:flex !important;
    width:52px !important;
    height:52px !important;
    border:none !important;
    background:transparent !important;
    padding:0 !important;
    position:relative !important;
    top:auto !important;
    right:auto !important;
    transform:none !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
  }
  .menu-toggle span{
    width:24px !important;
    height:2px !important;
    background:#111 !important;
    border-radius:2px !important;
    display:block !important;
  }
  .overlay-menu-panel{
    padding:18px 24px 16px !important;
  }
  .overlay-menu-title{
    display:block !important;
    width:100% !important;
    margin:0 0 16px 0 !important;
    text-align:center !important;
    font-family:'Playfair Display',Georgia,"Times New Roman",serif !important;
    font-size:40px !important;
    line-height:1.05 !important;
    font-weight:500 !important;
    color:#111 !important;
  }
  .overlay-menu-inner{
    max-width:100% !important;
    gap:12px !important;
  }
  .overlay-menu-inner a{
    font-size:12px !important;
    letter-spacing:.16em !important;
  }
  .overlay-menu-bottom{
    margin-top:auto !important;
    padding-top:18px !important;
    padding-bottom:6px !important;
  }
}


/* FINAL TWEAKS DESKTOP + MOBILE */
.header-shell.premium-header{
  height:72px !important;
}
.site-header{
  height:72px !important;
}
.nav-book-button{
  background:#3c3c3c !important;
  color:#fff !important;
  border:1px solid #3c3c3c !important;
}
.nav-book-button:hover{
  background:#262626 !important;
  color:#fff !important;
  border-color:#262626 !important;
}

@media (max-width:960px){
  .site-header{
    height:74px !important;
  }
  .header-shell.premium-header{
    height:74px !important;
  }
  .overlay-menu{
    padding:14px !important;
    box-sizing:border-box !important;
  }
  .overlay-menu-panel{
    min-height:calc(100vh - 28px) !important;
    max-height:calc(100vh - 28px) !important;
    border:1px solid #111 !important;
    border-radius:18px !important;
    padding:18px 20px 14px !important;
    overflow:auto !important;
  }
  .overlay-menu-title{
    margin:0 0 14px 0 !important;
  }
  .overlay-menu-inner{
    gap:10px !important;
  }
  .overlay-menu-inner a{
    font-size:15px !important;
    line-height:1.2 !important;
  }
  .overlay-menu-bottom{
    margin-top:12px !important;
    padding-top:8px !important;
    padding-bottom:0 !important;
  }
  .overlay-menu-bottom .menu-book{
    min-width:170px !important;
    height:44px !important;
  }
}


/* FINAL MOBILE CARD HEIGHT + CLOSE BUTTON */
@media (max-width:960px){
  .overlay-menu{
    display:none !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:14px !important;
    overflow:auto !important;
  }
  .overlay-menu.open{
    display:flex !important;
  }
  .overlay-menu-panel{
    width:100% !important;
    max-width:420px !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    margin:0 auto !important;
    border:1px solid #111 !important;
    border-radius:18px !important;
    background:#f1f1f1 !important;
    padding:18px 20px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:visible !important;
    position:relative !important;
  }
  .overlay-menu-title{
    width:100% !important;
    text-align:center !important;
    margin:0 0 14px 0 !important;
    padding-right:34px !important;
  }
  .overlay-menu-inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    gap:10px !important;
    padding:0 !important;
  }
  .overlay-menu-inner a{
    font-size:15px !important;
    line-height:1.2 !important;
  }
  .overlay-menu-bottom{
    width:100% !important;
    margin:14px auto 0 !important;
    padding:0 !important;
    display:flex !important;
    justify-content:center !important;
  }
  .overlay-menu-bottom .menu-book{
    min-width:170px !important;
    height:44px !important;
  }
  .menu-close{
    display:flex !important;
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    bottom:auto !important;
    left:auto !important;
    transform:none !important;
    width:38px !important;
    height:38px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #111 !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#111 !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer !important;
    z-index:3 !important;
  }
}


/* FINAL MOBILE OVERLAY CENTERED CARD */
@media (max-width:960px){
  .overlay-menu{
    display:none !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(120,120,120,.32) !important;
    align-items:center !important;
    justify-content:center !important;
    padding:18px !important;
    overflow:auto !important;
    z-index:9999 !important;
  }
  .overlay-menu.open{
    display:flex !important;
  }
  .overlay-menu-panel{
    width:100% !important;
    max-width:420px !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    margin:0 auto !important;
    border:1px solid #111 !important;
    border-radius:18px !important;
    background:#f3f3f3 !important;
    padding:20px 20px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:visible !important;
    position:relative !important;
    box-shadow:0 18px 40px rgba(0,0,0,.14) !important;
  }
  .overlay-menu-title{
    width:100% !important;
    text-align:center !important;
    margin:0 0 14px 0 !important;
    padding:0 40px !important;
    font-family:'Playfair Display',Georgia,"Times New Roman",serif !important;
    font-size:40px !important;
    line-height:1.05 !important;
    font-weight:500 !important;
    color:#111 !important;
  }
  .overlay-menu-inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    gap:10px !important;
    padding:0 !important;
    align-items:center !important;
  }
  .overlay-menu-inner a{
    width:100% !important;
    text-align:center !important;
    font-size:15px !important;
    line-height:1.2 !important;
  }
  .overlay-menu-bottom{
    width:100% !important;
    margin:14px auto 0 !important;
    padding:0 !important;
    display:flex !important;
    justify-content:center !important;
  }
  .overlay-menu-bottom .menu-book{
    min-width:170px !important;
    height:44px !important;
  }
  .menu-close{
    display:flex !important;
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    width:38px !important;
    height:38px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #111 !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#111 !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer !important;
    z-index:3 !important;
  }
}


/* FINAL SAFETY FIX: overlay only on mobile, desktop stays hidden */
@media (min-width:961px){
  .overlay-menu{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    position:fixed !important;
    inset:0 !important;
    background:transparent !important;
    padding:0 !important;
  }
  .overlay-menu.open{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .overlay-menu-panel,
  .overlay-menu-inner,
  .overlay-menu-bottom,
  .overlay-menu-title,
  .menu-close{
    display:none !important;
  }
}

@media (max-width:960px){
  .overlay-menu{
    display:none !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(120,120,120,.32) !important;
    align-items:center !important;
    justify-content:center !important;
    padding:18px !important;
    overflow:auto !important;
    z-index:9999 !important;
  }
  .overlay-menu.open{
    display:flex !important;
  }
  .overlay-menu-panel{
    width:100% !important;
    max-width:420px !important;
    min-height:0 !important;
    height:auto !important;
    max-height:calc(100vh - 36px) !important;
    margin:0 auto !important;
    border:1px solid #111 !important;
    border-radius:18px !important;
    background:#f3f3f3 !important;
    padding:20px 20px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:auto !important;
    position:relative !important;
    box-shadow:0 18px 40px rgba(0,0,0,.14) !important;
  }
  .overlay-menu-title{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin:0 0 14px 0 !important;
    padding:0 40px !important;
    font-family:'Playfair Display',Georgia,"Times New Roman",serif !important;
    font-size:40px !important;
    line-height:1.05 !important;
    font-weight:500 !important;
    color:#111 !important;
  }
  .overlay-menu-inner{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    gap:10px !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-direction:column !important;
  }
  .overlay-menu-inner a{
    width:100% !important;
    text-align:center !important;
    font-size:15px !important;
    line-height:1.2 !important;
    color:#111 !important;
  }
  .overlay-menu-bottom{
    display:flex !important;
    width:100% !important;
    margin:14px auto 0 !important;
    padding:0 !important;
    justify-content:center !important;
  }
  .overlay-menu-bottom .menu-book{
    display:inline-flex !important;
    min-width:170px !important;
    height:44px !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .menu-close{
    display:flex !important;
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    width:38px !important;
    height:38px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #111 !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#111 !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer !important;
    z-index:3 !important;
  }
}


.lang-switch{
  position:fixed;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  z-index:1200;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(255,255,255,.92);
  color:#202020;
  font-family:'Inter',Arial,Helvetica,sans-serif !important;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  backdrop-filter:blur(8px);
}
.lang-switch:hover{background:#f5f5f5}
@media (max-width:760px){
  .lang-switch{right:8px;top:auto;bottom:16px;transform:none;width:42px;height:42px}
}


.footer-cuu{
  display:block;
  margin-top:6px;
  font-size:13px;
  font-weight:700;
  color:#111;
  letter-spacing:.2px;
}


/* Immagini reali nelle sezioni */
.image-cover{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.room-image.image-cover{
  min-height:290px;
}
.panel-photo.image-cover{
  overflow:hidden;
}

/* Gallery pagina */
.page-gallery-section{
  padding:70px 0 85px;
  background:#fff;
}
.page-gallery-head{
  width:min(1180px,92vw);
  margin:0 auto 34px;
  text-align:center;
}
.page-gallery-head .kicker{
  margin-bottom:14px;
}
.page-gallery-head h1{
  margin:0 0 12px;
  font-size:54px;
  font-weight:500;
  line-height:1.05;
}
.page-gallery-head p{
  margin:0 auto;
  max-width:760px;
  color:#727272;
  font-size:18px;
  line-height:1.7;
}
.page-gallery-grid{
  width:min(1180px,92vw);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.page-gallery-item{
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  overflow:hidden;
  border-radius:18px;
  aspect-ratio:4/3;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.page-gallery-item:nth-child(9n+1),
.page-gallery-item:nth-child(9n+8){
  grid-column:span 2;
  grid-row:span 2;
}
.page-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease, filter .35s ease;
}
.page-gallery-item:hover img{
  transform:scale(1.055);
  filter:brightness(.92);
}
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.92);
  padding:28px;
}
.gallery-lightbox.is-open{display:flex;}
.gallery-lightbox img{
  max-width:92vw;
  max-height:88vh;
  object-fit:contain;
  box-shadow:0 20px 70px rgba(0,0,0,.5);
}
.gallery-lightbox-close,.gallery-lightbox-prev,.gallery-lightbox-next{
  position:absolute;
  border:0;
  background:rgba(255,255,255,.14);
  color:#fff;
  cursor:pointer;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:30px;
  line-height:48px;
  text-align:center;
}
.gallery-lightbox-close{top:22px;right:24px;font-size:38px;}
.gallery-lightbox-prev{left:24px;top:50%;transform:translateY(-50%);}
.gallery-lightbox-next{right:24px;top:50%;transform:translateY(-50%);}
@media(max-width:1000px){.page-gallery-grid{grid-template-columns:repeat(3,1fr);} .page-gallery-head h1{font-size:44px;}}
@media(max-width:760px){.page-gallery-grid{grid-template-columns:repeat(2,1fr);} .page-gallery-item:nth-child(9n+1),.page-gallery-item:nth-child(9n+8){grid-column:span 2;grid-row:span 1;}}
@media(max-width:520px){.page-gallery-section{padding:48px 0 60px}.page-gallery-grid{grid-template-columns:1fr}.page-gallery-item:nth-child(9n+1),.page-gallery-item:nth-child(9n+8){grid-column:span 1}.page-gallery-head h1{font-size:36px}.gallery-lightbox{padding:14px}.gallery-lightbox-prev,.gallery-lightbox-next{width:42px;height:42px;line-height:42px;font-size:24px;}}





/* Casa Spanu gallery - clean regular grid */
.cs-gallery-section{
  padding:70px 0 90px;
  background:#fff;
}
.cs-gallery-heading{
  max-width:820px;
  margin:0 auto 36px;
  text-align:center;
}
.cs-gallery-heading h1{
  margin:0 0 14px;
  font-size:clamp(42px,5vw,68px);
  line-height:1;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  color:#111;
}
.cs-gallery-heading p{
  margin:0;
  font-size:18px;
  line-height:1.65;
  color:#666;
}
.cs-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.cs-gallery-item{
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:pointer;
  overflow:hidden;
  border-radius:16px;
  aspect-ratio:4/3;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.cs-gallery-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.cs-gallery-item:hover img{
  transform:scale(1.055);
  filter:brightness(.92);
}
.cs-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.92);
  padding:28px;
}
.cs-lightbox.is-open{
  display:flex;
}
.cs-lightbox img{
  max-width:92vw;
  max-height:88vh;
  object-fit:contain;
  box-shadow:0 20px 70px rgba(0,0,0,.5);
}
.cs-lightbox-close,
.cs-lightbox-prev,
.cs-lightbox-next{
  position:absolute;
  border:0;
  background:rgba(255,255,255,.14);
  color:#fff;
  cursor:pointer;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:30px;
  line-height:48px;
  text-align:center;
}
.cs-lightbox-close{
  top:22px;
  right:24px;
  font-size:38px;
}
.cs-lightbox-prev{
  left:24px;
  top:50%;
  transform:translateY(-50%);
}
.cs-lightbox-next{
  right:24px;
  top:50%;
  transform:translateY(-50%);
}
@media(max-width:1000px){
  .cs-gallery-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:760px){
  .cs-gallery-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:520px){
  .cs-gallery-section{padding:48px 0 60px;}
  .cs-gallery-grid{grid-template-columns:1fr;}
  .cs-lightbox{padding:14px;}
}


/* FORZATURA DEFINITIVA GALLERY REGOLARE */
.cs-gallery-section .cs-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-rows:auto !important;
  gap:16px !important;
  align-items:stretch !important;
}

.cs-gallery-section .cs-gallery-grid > *,
.cs-gallery-section .cs-gallery-item,
.cs-gallery-section .cs-gallery-item:nth-child(n),
.cs-gallery-section .cs-gallery-item:nth-child(odd),
.cs-gallery-section .cs-gallery-item:nth-child(even),
.cs-gallery-section .cs-gallery-item:nth-child(7n+1),
.cs-gallery-section .cs-gallery-item:nth-child(5n+1),
.cs-gallery-section .cs-gallery-item:nth-child(3n+1){
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:4 / 3 !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:16px !important;
}

.cs-gallery-section .cs-gallery-item img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  display:block !important;
}

@media(max-width:1000px){
  .cs-gallery-section .cs-gallery-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media(max-width:760px){
  .cs-gallery-section .cs-gallery-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:520px){
  .cs-gallery-section .cs-gallery-grid{
    grid-template-columns:1fr !important;
  }
}

/* Availability request + floating WhatsApp */
.availability-hero{
  padding:110px 0 55px;
  background:#f7f5f1;
  text-align:center;
}
.availability-hero h1{
  margin:0 0 18px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(42px,6vw,72px);
  font-weight:400;
  color:#111;
}
.availability-hero p{
  max-width:760px;
  margin:0 auto;
  color:#555;
  font-size:18px;
  line-height:1.7;
}
.availability-section{
  padding:55px 0 90px;
  background:#fff;
}
.availability-wrap{
  max-width:860px;
}
.availability-form{
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:24px;
  padding:34px;
  box-shadow:0 20px 60px rgba(0,0,0,.07);
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.form-field{
  margin-bottom:18px;
}
.form-field label{
  display:block;
  margin-bottom:8px;
  color:#111;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  color:#111;
  border-radius:14px;
  padding:13px 14px;
  font-size:15px;
  font-family:inherit;
  outline:none;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:#111;
}
.availability-submit{
  width:100%;
  border:1px solid #111;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:15px 24px;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  cursor:pointer;
  transition:.25s ease;
}
.availability-submit:hover{
  background:#fff;
  color:#111;
}
.availability-note{
  margin:16px 0 0;
  color:#777;
  font-size:13px;
  line-height:1.6;
  text-align:center;
}
.floating-whatsapp{
  position:fixed;
  right:22px;
  bottom:24px;
  z-index:99990;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  height:46px;
  padding:0 18px;
  background:#111;
  color:#fff !important;
  border:1px solid #111;
  border-radius:999px;
  text-decoration:none !important;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  transition:.25s ease;
}
.floating-whatsapp:hover{
  background:#fff;
  color:#111 !important;
}
@media(max-width:700px){
  .form-row{grid-template-columns:1fr;}
  .availability-form{padding:24px 18px;}
  .floating-whatsapp{
    right:16px;
    bottom:18px;
    min-width:108px;
    height:42px;
    font-size:12px;
  }
}


/* Privacy checkbox */
.privacy-field{
  margin-top:6px;
}
.privacy-check{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  font-size:13px !important;
  line-height:1.5;
  color:#555 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}
.privacy-check input{
  width:auto !important;
  margin-top:3px;
  flex:0 0 auto;
}


/* Footer centered redesign */
.footer-centered{
  padding:62px 0 38px;
  background:#f7f5f1;
  border-top:1px solid rgba(0,0,0,.08);
  text-align:center;
}
.footer-centered-inner{
  max-width:780px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.footer-centered-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
  text-decoration:none;
}
.footer-centered-logo img{
  display:block;
  width:190px;
  max-width:70vw;
  height:auto;
}
.footer-centered-claim{
  max-width:560px;
  margin:0 auto 26px;
  color:#5f6570;
  font-size:17px;
  line-height:1.7;
}
.footer-centered-link{
  display:inline-block;
  color:#111;
  text-decoration:none;
  font-size:16px;
  line-height:1.6;
  margin:3px 0;
  transition:opacity .2s ease;
}
.footer-centered-link:hover{
  opacity:.65;
}
.footer-map-link{
  margin-top:8px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
.footer-centered-line{
  width:100%;
  height:1px;
  background:rgba(0,0,0,.12);
  margin:34px 0 18px;
}
.footer-centered-cuu{
  color:#111;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
}
@media(max-width:640px){
  .footer-centered{
    padding:46px 0 32px;
  }
  .footer-centered-logo img{
    width:165px;
  }
  .footer-centered-claim{
    font-size:15px;
  }
}


/* Footer logo visibility fix */
.footer-centered-logo img{
  display:block !important;
  width:190px !important;
  max-width:70vw !important;
  height:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}


/* Contact centered form + availability top spacing */
.contact-form-title{
  text-align:center;
  margin:0 0 24px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(34px,4vw,52px);
  font-weight:400;
  color:#111;
}
.contact-form-centered,
.contacts-form,
.contact-form{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.contact-form-centered button[type="submit"],
.contacts-form button[type="submit"],
.contact-form button[type="submit"]{
  display:block;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.contact-grid,
.contacts-grid,
.contatti-grid{
  display:block !important;
}
.availability-hero{
  padding-top:42px !important;
}
.availability-hero h1{
  margin-top:0 !important;
}


/* Contact page aligned with availability form */
.contact-section .availability-wrap{
  max-width:860px;
}
.contact-section .availability-form{
  margin-left:auto;
  margin-right:auto;
}
.contact-submit{
  display:block;
  margin-left:auto;
  margin-right:auto;
  max-width:320px;
}


/* Privacy page */
.privacy-section{
  padding:55px 0 90px;
  background:#fff;
}
.privacy-card{
  max-width:900px;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:24px;
  padding:38px;
  box-shadow:0 20px 60px rgba(0,0,0,.07);
}
.privacy-card h2{
  margin:28px 0 10px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:26px;
  font-weight:400;
  color:#111;
}
.privacy-card h2:first-child{
  margin-top:0;
}
.privacy-card p{
  color:#555;
  line-height:1.75;
  font-size:16px;
}
.privacy-card a{
  color:#111;
  text-decoration:underline;
}
.privacy-check a{
  color:#111;
  text-decoration:underline;
}
.footer-privacy-link{
  margin-top:8px;
}


/* Uniform availability submit button */
.availability-submit{
  display:block;
  max-width:320px;
  margin-left:auto;
  margin-right:auto;
}


/* Centered forms + server messages */
.centered-fields .form-field label{
  text-align:center !important;
}
.centered-fields .form-field input,
.centered-fields .form-field select,
.centered-fields .form-field textarea{
  text-align:center;
}
.centered-fields .form-field textarea{
  text-align:left;
}
.centered-fields .privacy-check{
  justify-content:center;
  text-align:left !important;
  max-width:620px;
  margin-left:auto;
  margin-right:auto;
}
.form-message{
  max-width:760px;
  margin:0 auto 24px;
  border-radius:18px;
  padding:16px 20px;
  text-align:center;
  font-size:15px;
  line-height:1.6;
}
.form-success{
  background:#111;
  color:#fff;
}
.form-error{
  background:#fff;
  color:#111;
  border:1px solid rgba(0,0,0,.18);
}


/* Mobile language switch top-left */
.mobile-lang-switch{
  display:none;
}
@media(max-width:768px){
  .mobile-lang-switch{
    position:fixed;
    top:18px;
    left:16px;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid rgba(0,0,0,.18);
    background:rgba(255,255,255,.94);
    color:#111 !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    box-shadow:0 10px 28px rgba(0,0,0,.10);
    backdrop-filter:blur(8px);
  }
}



/* SEO semantic headings and local footer details */
.panel-copy h1.seo-panel-h1{
  margin:0 0 18px;
  font-size:50px;
  font-weight:500;
  line-height:1.06;
}
.section-title h1.seo-section-h1{
  margin:0 0 16px;
  font-size:clamp(32px,4vw,56px);
  font-weight:500;
  line-height:1.08;
}
.footer-centered-address{
  margin:0 0 8px;
  color:#5f6570;
  font-size:15px;
  line-height:1.6;
}
.footer-guide-link{
  margin-top:10px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
}
@media(max-width:900px){
  .panel-copy h1.seo-panel-h1{font-size:38px;}
}
@media(max-width:640px){
  .panel-copy h1.seo-panel-h1{font-size:34px;}
  .footer-centered-address{font-size:14px;}
}
