:root{
  --ink:#13263a;
  --ink-soft:#4b5d70;
  --brand:#163a59;
  --brand-2:#245b86;
  --accent:#c7a56a;
  --accent-soft:#f4ecdf;
  --line:rgba(19,38,58,.08);
  --surface:#ffffff;
  --surface-2:#f7fafc;
  --surface-3:#eef4f8;
  --shadow-sm:0 10px 30px rgba(15,35,55,.06);
  --shadow-md:0 24px 60px rgba(15,35,55,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);
  line-height:1.72;
  text-rendering:optimizeLegibility;
}
a{color:var(--brand);text-decoration:none;transition:all .2s ease}
a:hover{color:var(--brand-2)}
h1,h2,h3,h4,.brand-main{
  font-family:'Manrope',system-ui,sans-serif;
  color:var(--ink);
  letter-spacing:-.03em;
  line-height:1.04;
  font-weight:800;
}
h1{font-size:clamp(2.7rem,5.4vw,4.8rem);margin-bottom:1rem}
h2{font-size:clamp(2rem,3.8vw,3.25rem);margin-bottom:1rem}
h3{font-size:1.45rem}
p{color:var(--ink-soft);margin-bottom:1rem}
.topbar{
  background:linear-gradient(90deg,var(--ink),var(--brand));
  padding:.55rem 0;
  position:relative;
  z-index:1035;
}
.topbar-phone{
  color:#fff;
  font-weight:800;
  letter-spacing:.01em;
  font-size:.95rem;
}
.topbar-phone i{margin-right:.5rem;color:#f6d39b}
.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(19,38,58,.06);
}
.navbar{padding:1rem 0}
.navbar-brand{display:flex;flex-direction:column;gap:.18rem}
.brand-kicker{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}
.brand-main{font-size:1.15rem}
.nav-link{
  color:var(--ink);
  font-weight:700;
  font-size:.95rem;
  padding:.75rem .85rem!important;
  border-radius:999px;
}
.nav-link.active,.nav-link:hover{color:var(--brand);background:rgba(22,58,89,.05)}
.navbar-toggler{border:0;padding:.25rem .45rem}
.navbar-toggler:focus{box-shadow:none}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2819,38,58,0.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.hero-section{
  position:relative;
  overflow:hidden;
  padding:6.5rem 0 5rem;
  background:
    radial-gradient(circle at 15% 15%, rgba(199,165,106,.18), transparent 26%),
    radial-gradient(circle at 86% 12%, rgba(36,91,134,.18), transparent 22%),
    linear-gradient(180deg,#fdfefe 0%,#f3f8fb 56%,#edf4f8 100%);
}
.hero-section::before{
  content:"";
  position:absolute;
  inset:auto -8% -18% auto;
  width:380px;height:380px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.95), rgba(255,255,255,0));
  pointer-events:none;
}
.hero-section .lead{font-size:1.12rem;max-width:720px;color:#506173}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--brand-2);
  margin-bottom:1rem;
}
.eyebrow::before{
  content:"";
  width:34px;height:1px;
  background:linear-gradient(90deg,var(--accent),transparent);
}
.btn{
  border-radius:999px;
  padding:.95rem 1.45rem;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:none;
}
.btn-gold{
  background:linear-gradient(135deg,#d8b37a,#c69a59);
  border:1px solid #d0a769;
  color:#14273a;
}
.btn-gold:hover{background:linear-gradient(135deg,#e0bd88,#cfa566);color:#14273a;transform:translateY(-1px)}
.btn-outline-light{
  border:1.5px solid rgba(19,38,58,.14);
  color:var(--ink);
  background:rgba(255,255,255,.85);
}
.btn-outline-light:hover{background:#fff;color:var(--ink);border-color:rgba(19,38,58,.24)}
.btn-darkshore{background:linear-gradient(135deg,var(--brand),var(--brand-2));border-color:var(--brand);color:#fff}
.btn-darkshore:hover{color:#fff;filter:brightness(1.05);transform:translateY(-1px)}
.glass-card,.info-card,.cta-band,.nearby-card,.side-panel,.content-shell,.contact-panel,.blog-list-card,.blog-card,.faq-item,.highlight-card{
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.glass-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.8);
  padding:2rem;
  box-shadow:var(--shadow-md);
}
.panel-label{
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--brand-2);
  font-weight:800;
}
.check-list{list-style:none;padding:0;margin:0}
.check-list li{position:relative;padding-left:1.8rem;margin-bottom:.95rem;color:var(--ink-soft)}
.check-list li::before{
  content:'\f058';
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  position:absolute;left:0;top:.1rem;
  color:var(--accent);
}
.metric-card{
  background:rgba(255,255,255,.76);
  border:1px solid rgba(19,38,58,.06);
  border-radius:20px;
  padding:1.15rem;
  height:100%;
  box-shadow:var(--shadow-sm);
}
.metric-card strong{display:block;font-size:1rem;color:var(--ink)}
.metric-card span{display:block;color:#617184;font-size:.92rem;line-height:1.45;margin-top:.35rem}
.section-pad{padding:5.5rem 0}
.section-heading{max-width:760px}
.info-card{
  display:block;
  background:rgba(255,255,255,.9);
  padding:2rem;
  border:1px solid var(--line);
  height:100%;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.info-card:hover,.blog-card:hover,.blog-list-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(36,91,134,.12)}
.info-card i{
  width:56px;height:56px;border-radius:16px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:1.15rem;color:var(--brand);
  background:linear-gradient(135deg,#f8efe2,#eef5fa);
  margin-bottom:1rem;
}
.info-card p{margin-bottom:0}
.sand-section{background:linear-gradient(180deg,#f8fbfd 0%,#f3f7fa 100%)}
.highlight-stack{display:grid;gap:1rem}
.highlight-card{
  background:linear-gradient(135deg,#ffffff,#fbfdff);
  border:1px solid var(--line);
  padding:1.6rem;
  border-left:4px solid var(--accent);
}
.highlight-card span{
  display:block;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--brand-2);
  font-weight:800;
  margin-bottom:.6rem;
}
.highlight-card strong{font-size:1.04rem;color:var(--ink)}
.mini-links a{font-weight:800}
.cta-band{
  background:linear-gradient(135deg,#ffffff,#f4f8fb);
  border:1px solid var(--line);
  padding:2.3rem;
}
.nearby-card{
  background:linear-gradient(160deg,#173755,#10263a);
  padding:2rem;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
}
.nearby-card h3,.nearby-card a{color:#fff}
.nearby-card ul{list-style:none;padding:0;margin:1rem 0 0}
.nearby-card li+li{margin-top:.9rem}
.nearby-card a{border-bottom:1px solid rgba(255,255,255,.18)}
.blog-card{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:1.7rem;
  height:100%;
}
.blog-card h3{font-size:1.35rem;margin:.85rem 0 0;line-height:1.2}
.tag{
  display:inline-flex;align-items:center;
  background:linear-gradient(135deg,#f6ede0,#eef5fa);
  color:var(--brand);
  border-radius:999px;
  padding:.4rem .85rem;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.subhero-section{
  padding:4.8rem 0 2.2rem;
  background:linear-gradient(180deg,#f7fbfd,#ffffff);
}
.subhero-section h1{max-width:860px;font-size:clamp(2.45rem,5vw,4.05rem)}
.subhero-section .lead{max-width:860px}
.content-shell{
  background:#fff;
  padding:2rem;
  border:1px solid var(--line);
}
.content-block{margin-bottom:2rem}
.content-block:last-child{margin-bottom:0}
.content-block h2{font-size:1.8rem}
.side-panel{
  background:linear-gradient(180deg,#f8fbfd,#f1f6fa);
  border:1px solid var(--line);
  padding:2rem;
  position:sticky;
  top:110px;
}
.side-panel ul{list-style:none;padding:0;margin:0}
.side-panel li+li{margin-top:.9rem}
.side-panel a{font-weight:700}
.divider{height:1px;background:var(--line);margin:1.5rem 0}
.cta-inline{background:linear-gradient(135deg,#f6fbff,#f8efe2);padding:1.7rem;border-radius:20px;border:1px solid var(--line)}
.faq-wrap{display:grid;gap:1rem}
.faq-item{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:1rem;
  background:#fff;
  padding:1.5rem;
  border:1px solid var(--line);
}
.faq-item h2{font-size:1.25rem;margin-bottom:.45rem}
.faq-number{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:16px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;font-weight:800;
}
.blog-list-card{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  padding:1.8rem;
  height:100%;
}
.blog-list-card h2{font-size:1.8rem;margin:.9rem 0 .75rem}
.blog-article{
  max-width:840px;
  margin:0 auto;
  background:#fff;
  padding:2.35rem;
  border-radius:26px;
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}
.blog-article p{font-size:1.03rem}
.contact-panel{
  background:linear-gradient(135deg,#ffffff,#f4f8fb);
  border:1px solid var(--line);
  padding:2.5rem;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:2rem;
  align-items:start;
}
.contact-phone{
  display:inline-flex;align-items:center;gap:.75rem;
  font-size:2rem;font-weight:800;color:var(--ink);
}
.contact-copy{display:grid;gap:1rem}
.text-link{font-weight:800;display:inline-flex;align-items:center;gap:.5rem}
.site-footer{
  background:linear-gradient(160deg,#10263a,#183754);
  color:#dbe5ef;
  padding:4rem 0 1rem;
  margin-top:4rem;
}
.site-footer h3,.site-footer h4{color:#fff}
.site-footer p{color:#dbe5ef}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li+li{margin-top:.6rem}
.site-footer a{color:#dbe5ef}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1rem;font-size:.95rem}
@media (max-width:991.98px){
  .navbar-collapse{background:#fff;padding:1rem;border-radius:18px;margin-top:1rem;box-shadow:var(--shadow-md)}
  .side-panel{position:static}
  .contact-panel{grid-template-columns:1fr}
  .hero-section{padding:5.25rem 0 4.5rem}
}
@media (max-width:767.98px){
  h1{font-size:clamp(2.35rem,10vw,3.35rem)}
  h2{font-size:clamp(1.7rem,7vw,2.4rem)}
  .hero-section{padding:4.7rem 0 4rem}
  .section-pad{padding:4.2rem 0}
  .faq-item{grid-template-columns:1fr}
  .faq-number{width:46px;height:46px;border-radius:14px}
  .contact-phone{font-size:1.55rem}
  .cta-band,.glass-card,.content-shell,.contact-panel,.side-panel,.blog-article{padding:1.5rem}
}
