: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,
.hero-simple{
  min-height: clamp(300px, 58vh, 760px);
  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);
  background-position:center 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.15fr .95fr .95fr .95fr;
  gap:30px;
  align-items:start;
}
.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-ambassador{
  margin-top:18px;
  display:grid;
  gap:8px;
  align-content:start;
  width:min(100%, 190px);
  text-decoration:none;
}

.footer-ambassador__eyebrow{
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}

.footer-ambassador__image{
  width:100%;
  max-width:104px;
  height:auto;
  object-fit:contain;
  display:block;
}

.footer-ambassador__text{
  color:rgba(255,255,255,.7);
  line-height:1.45;
  font-size:.86rem;
}

.footer-ambassador:hover .footer-ambassador__text{
  color:#fff;
}

.footer-trust{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
}

.footer-trust__label{
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}

.footer-trust__logos{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}

.footer-trust__item{
  min-height:72px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  text-decoration:none;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}

.footer-trust__item:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.1);
}

.footer-trust__item strong{
  color:#fff;
  font-size:.92rem;
  font-weight:600;
  line-height:1.2;
}

.footer-trust__item span{
  color:rgba(255,255,255,.66);
  font-size:.78rem;
  line-height:1.35;
}

.footer-trust__item--highlight{
  background:rgba(255,255,255,.1);
}

.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)}
  .footer-trust__logos{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px){
  .footer-grid{grid-template-columns:1fr}
  .footer-ambassador{
    width:min(100%, 170px);
  }
  .footer-trust__item{
    min-height:0;
  }
  .footer-trust__logos{
    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;
  }
}

.footer-trust__item span {
  opacity: 0.7;
  font-size: 0.9rem;
}
