
:root{
  --charcoal:#13202b;
  --slate:#2d3b47;
  --sage:#87988e;
  --sage-deep:#6f8178;
  --champagne:#d7c8aa;
  --ivory:#f7f5f0;
  --mist:#eef1ef;
  --paper:#ffffff;
  --muted:#73808a;
  --line:#e3e7e4;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--slate);
  background:#fff;
  line-height:1.7;
}
h1,h2,h3{
  font-family:"DM Serif Display",Georgia,serif;
  color:var(--charcoal);
  font-weight:400;
  letter-spacing:-.02em;
}
a{text-decoration:none}
.container{max-width:1180px}

.topbar{
  background:var(--charcoal);
  color:#dce3e6;
  font-size:.8rem;
}
.topbar a{color:#fff}
.navbar{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(19,32,43,.06)
}
.brand-mark{
  width:44px;height:44px;border-radius:50%;
  border:1px solid #cfd7d2;
  display:flex;align-items:center;justify-content:center;
  font-family:"DM Serif Display";font-size:.82rem;color:var(--charcoal);
}
.brand-title{font-weight:700;font-size:.95rem;color:var(--charcoal)}
.brand-sub{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#87918f}
.nav-link{
  color:#42505b!important;
  font-size:.9rem;
  font-weight:600;
  padding:.9rem .85rem!important;
}
.btn-call{
  background:var(--sage-deep);
  color:#fff;
  border:1px solid var(--sage-deep);
  border-radius:999px;
  font-weight:700;
  padding:.72rem 1.15rem;
}
.btn-call:hover{background:#5e7167;color:#fff}
.btn-soft{
  border:1px solid #cfd7d2;
  color:var(--charcoal);
  border-radius:999px;
  font-weight:700;
  padding:.78rem 1.2rem;
}
.btn-soft:hover{background:var(--charcoal);color:#fff}

.hero{
  min-height:660px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(14,28,38,.80) 0%,rgba(14,28,38,.58) 44%,rgba(14,28,38,.12) 100%),
    url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=2200&q=88') center/cover no-repeat;
  color:#fff;
}
.hero .eyebrow{
  color:#e7dcc5;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.7rem;
  font-weight:800;
}
.hero h1{
  color:#fff;
  font-size:clamp(3.4rem,6vw,6rem);
  line-height:.98;
  max-width:780px;
}
.hero p{
  color:#e5eaed;
  font-size:1.08rem;
  max-width:600px;
}
.hero-note{
  margin-top:2rem;
  color:#ced8dc;
  font-size:.88rem;
}

.section{padding:110px 0}
.section-soft{background:var(--ivory)}
.section-mist{background:var(--mist)}
.kicker{
  color:var(--sage-deep);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.68rem;
  font-weight:800;
}
.section-title{
  font-size:clamp(2.4rem,4vw,4rem);
  line-height:1.05;
  max-width:820px;
}
.section-copy{
  color:var(--muted);
  font-size:1.02rem;
  max-width:660px;
}
.rule{
  width:68px;
  height:1px;
  background:var(--champagne);
  margin:1.5rem 0;
}

.service-row{
  padding:2rem 0;
  border-top:1px solid var(--line);
}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-index{
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--sage-deep);
  font-weight:800;
}
.service-row h3{font-size:1.7rem;margin:0}
.service-row p{color:var(--muted);margin:0}
.service-row a{color:var(--charcoal);font-weight:700}

.feature-image{
  min-height:520px;
  background-size:cover;
  background-position:center;
  border-radius:18px;
}
.quote-card{
  background:#fff;
  border:1px solid var(--line);
  padding:42px;
  border-radius:18px;
}
.quote-card h3{font-size:2rem}
.quote-card p{color:var(--muted)}

.dest-card{
  position:relative;
  min-height:430px;
  border-radius:18px;
  overflow:hidden;
}
.dest-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:.5s ease;
}
.dest-card:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(14,28,38,.72),rgba(14,28,38,.06) 60%);
}
.dest-card:hover img{transform:scale(1.025)}
.dest-content{
  position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff;
}
.dest-content h3{color:#fff;font-size:2rem;margin:0}
.dest-content p{color:#dce4e7;margin:.35rem 0 0}

.cta{
  background:var(--charcoal);
  border-radius:22px;
  padding:58px;
  color:#fff;
}
.cta h2{color:#fff}
.cta p{color:#c8d2d7}
.cta .phone{
  font-family:"DM Serif Display";
  font-size:2.2rem;
  color:#fff;
}

.page-hero{
  padding:100px 0 82px;
  background:var(--ivory);
  border-bottom:1px solid var(--line);
}
.page-hero h1{
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:1;
}
.page-hero p{
  max-width:700px;
  color:var(--muted);
  font-size:1.05rem;
}

.clean-list{list-style:none;padding:0;margin:2rem 0 0}
.clean-list li{
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.clean-list strong{color:var(--charcoal)}
.contact-card{
  background:var(--ivory);
  border:1px solid var(--line);
  border-radius:18px;
  padding:38px;
}
.contact-label{
  display:block;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
  color:#87918f;
}
.contact-value{
  color:var(--charcoal);
  font-size:1.05rem;
  font-weight:700;
}
.site-footer{
  background:#0f1b24;
  color:#fff;
  padding-top:54px;
}
.site-footer h6{
  font-family:Inter;
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#fff;
}
.site-footer p,.site-footer a{
  color:#9eacb5;
  font-size:.9rem;
}
.site-footer a{display:block;margin:.45rem 0}
.footer-bottom{
  border-top:1px solid #263742;
  color:#81919b;
  font-size:.8rem;
}

@media(max-width:991px){
  .section{padding:78px 0}
  .hero{min-height:590px}
}
@media(max-width:767px){
  .hero{
    min-height:560px;
    background:linear-gradient(rgba(14,28,38,.72),rgba(14,28,38,.72)),
    url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?auto=format&fit=crop&w=1200&q=85') center/cover no-repeat;
  }
  .hero h1{font-size:3.3rem}
  .cta{padding:36px 24px}
  .service-row .col-md-2,.service-row .col-md-4,.service-row .col-md-5{margin-bottom:.75rem}
}

/* Persistent site-wide Call Now control */
.header-call{white-space:nowrap}

.sticky-call{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1080;
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--charcoal);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  padding:8px 8px 8px 18px;
  box-shadow:0 14px 36px rgba(19,32,43,.24);
  transition:.2s ease;
}
.sticky-call:hover{
  transform:translateY(-2px);
  color:#fff;
  box-shadow:0 18px 42px rgba(19,32,43,.30);
}
.sticky-call-label{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.sticky-call-label small{
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#b8c3c8;
  font-weight:700;
}
.sticky-call-label strong{
  font-size:.9rem;
  color:#fff;
}
.sticky-call-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  height:44px;
  padding:0 16px;
  background:var(--sage-deep);
  color:#fff;
  border-radius:999px;
  font-weight:800;
  font-size:.86rem;
}

@media(max-width:767px){
  body{padding-bottom:78px}
  .sticky-call{
    left:12px;
    right:12px;
    bottom:12px;
    justify-content:space-between;
    padding:8px 8px 8px 16px;
  }
  .sticky-call-label strong{font-size:.86rem}
  .sticky-call-action{
    min-width:100px;
    height:46px;
  }
}
