:root{
  --bg:#efe7e3;
  --bg-soft:#f6f0ed;
  --card:#f4edeb;
  --card-strong:#f1e9e6;
  --text:#4c443d;
  --muted:#948881;
  --line:rgba(76,68,61,.14);
  --green:#5f6e5b;
  --green-dark:#51604d;
  --white:#fff;
  --shadow:0 18px 50px rgba(67,54,45,.08);
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
  --container:1260px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:linear-gradient(180deg,#f4eeea 0%, #efe7e3 100%);
  color:var(--text);
  font-family: Georgia, "Times New Roman", serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
p, li, input, textarea, select, button, summary, .nav-link, .dropdown a, .mobile-panel a{
  font-family: "Segoe UI", Arial, sans-serif;
}

.container{
  width:min(calc(100% - 32px), var(--container));
  margin:0 auto;
}

.container-wide{
  width:100%;
  max-width:none;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:600;
  font-size:.95rem;
  transition:.25s ease;
  cursor:pointer;
}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:var(--green-dark)}
.btn-outline{background:transparent;border-color:rgba(76,68,61,.24);color:var(--text)}
.btn-outline:hover{background:rgba(255,255,255,.42)}
.btn-soft{background:rgba(255,255,255,.45); border-color:rgba(76,68,61,.12)}
.btn-soft:hover{background:rgba(255,255,255,.62)}

.reserve-pill{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:70;
  box-shadow:0 12px 30px rgba(95,110,91,.24);
}

.hero-simple{
  min-height:260px;
  display:flex;
  align-items:flex-end;
  color:#fff;
  background-image:
    linear-gradient(180deg, rgba(70,56,46,.15), rgba(70,56,46,.35)),
    var(--hero-image, url('../img/global/contact-acces-hero/display.jpg'));
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.hero-simple .inner{padding:80px 0 42px}
.hero-title{font-size:clamp(2.3rem,4vw,3.8rem); line-height:1.06; margin:0 0 10px}
.hero-sub{max-width:780px; color:rgba(255,255,255,.88); font-size:1rem}

.section{padding:52px 0}
.section-sm{padding:36px 0}
.section + .section,
.section + .section-sm,
.section-sm + .section,
.section-sm + .section-sm{
  padding-top:50px;
}
.section-title{
  text-align:center;
  font-size:clamp(2.1rem,3.4vw,3.3rem);
  line-height:1.08;
  margin:0 0 14px;
  padding-inline:12px;
}
.section-lead{
  text-align:center;
  max-width:820px;
  margin:0 auto;
  color:var(--muted);
  line-height:1.6;
  font-size:1rem;
  padding-inline:12px;
}

label{display:block; margin-bottom:8px; color:var(--text); font-size:.93rem}
input, textarea, select{
  width:100%;
  padding:13px 14px;
  border-radius:12px;
  border:1px solid rgba(76,68,61,.16);
  background:rgba(255,255,255,.82);
  color:var(--text);
  font-size:.95rem;
}
textarea{min-height:140px; resize:vertical}

.footer{
  background:#3c342e;
  color:#fff;
  padding:54px 0 22px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr .9fr;
  gap:24px;
}
.footer h4{margin:0 0 12px; font-size:1.08rem; font-weight:500}
.footer p, .footer a, .footer li{
  color:rgba(255,255,255,.76);
  line-height:1.7;
  font-size:.94rem;
}
.footer ul{list-style:none; padding:0; margin:0}
.footer-bottom{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.6);
  font-size:.9rem;
}

@media (max-width: 1100px){
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 820px){
  .footer-grid{grid-template-columns:1fr}
  .hero-simple .inner{padding:58px 0 34px}
  .reserve-pill{right:12px; bottom:12px}
  .section > .container,
  .section-sm > .container{
    width:min(calc(100% - 24px), var(--container));
  }
  .container-wide{
    width:100%;
    max-width:none;
  }
  .section-title,
  .section-lead{
    padding-inline:24px;
  }
}
