
:root{
  --deep:#063e41;--deep2:#0a5558;--rose:#c68f88;--rose2:#d8b2ad;
  --cream:#f6f1ea;--paper:#fffdf9;--ink:#17373a;--muted:#687474;
  --line:#ded8d0;--soft:#edf1ed;--shadow:0 24px 70px rgba(10,58,60,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1180px,92%);margin:auto}
.serif,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.06}
.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:700;color:var(--rose)}
header{
  position:sticky;top:0;z-index:20;background:rgba(6,62,65,.96);color:white;
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)
}
nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:.16em;font-size:.97rem}
.brand img{width:42px;filter:brightness(0) invert(1)}
.navlinks{display:flex;align-items:center;gap:24px;font-size:.92rem}
.navlinks a{text-decoration:none}.navlinks a:hover{opacity:.8}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;transition:.2s}
.btn:hover{transform:translateY(-1px)}
.btn.rose{background:var(--rose);color:white}.btn.light{background:white;color:var(--deep)}
.btn.outline{border-color:rgba(255,255,255,.45);color:white}
.hero{
  background:
    radial-gradient(circle at 86% 20%, rgba(216,178,173,.2), transparent 26%),
    linear-gradient(135deg,var(--deep),#0b5f61);
  color:white;padding:92px 0 72px;overflow:hidden
}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
.hero h1{font-size:clamp(3.4rem,7vw,6.5rem);margin:.1em 0 .2em}
.hero p{font-size:1.15rem;max-width:680px;color:#e4eded;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-photo-wrap{position:relative}
.hero-photo{border-radius:220px 220px 28px 28px;box-shadow:var(--shadow);height:650px;width:100%;object-fit:cover;object-position:center top}
.hero-badge{position:absolute;left:-28px;bottom:34px;background:var(--paper);color:var(--ink);padding:20px 24px;border-radius:18px;box-shadow:var(--shadow);max-width:260px}
.hero-badge b{display:block;font-family:Georgia,serif;font-size:1.2rem;font-weight:400}
.hero-badge span{font-size:.86rem;color:var(--muted)}
.trustbar{background:var(--cream);border-bottom:1px solid var(--line)}
.trustgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trustitem{padding:24px;border-right:1px solid var(--line);text-align:center}
.trustitem:last-child{border-right:0}.trustitem b{display:block;font-family:Georgia,serif;font-size:1.08rem;font-weight:400}
.trustitem span{font-size:.84rem;color:var(--muted)}
section{padding:88px 0}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
h2{font-size:clamp(2.4rem,4.8vw,4.1rem);margin:.18em 0 .38em}
h3{font-size:1.6rem;margin:.2em 0 .5em}
.lead{font-size:1.08rem;color:var(--muted)}
.rule{width:54px;border-top:3px solid var(--rose);margin:22px 0}
.credentials{font-size:1.12rem}
.soft{background:var(--cream)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:26px;min-height:250px;display:flex;flex-direction:column}
.card .num{font-size:.72rem;letter-spacing:.16em;color:var(--rose);margin-bottom:28px}
.card p{color:var(--muted);margin-top:0}.card a{margin-top:auto;color:var(--deep);font-weight:700;text-decoration:none}
.quote{background:var(--deep);color:white;border-radius:30px;padding:52px;box-shadow:var(--shadow)}
.quote p{font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.25;margin:0}
.quote small{display:block;margin-top:24px;color:#cddcdc}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.step{border-top:1px solid var(--line);padding-top:20px}.step b{display:block;color:var(--rose);margin-bottom:10px}.step p{color:var(--muted)}
.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px}
.contactcard{background:var(--deep);color:white;padding:40px;border-radius:28px}
.contactcard a{color:white}.contactcard p{color:#d9e4e3}
.map{width:100%;height:100%;min-height:420px;border:0;border-radius:28px}
.footer{background:#042f31;color:#cad8d6;padding:54px 0}
.footergrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer h4{color:white;margin-top:0}.footer a{color:#cad8d6;text-decoration:none}.footer small{color:#9fb3b1}
.pagehead{background:linear-gradient(135deg,var(--deep),#0b5f61);color:white;padding:72px 0}
.pagehead h1{font-size:clamp(3rem,6vw,5rem);margin:.15em 0}
.pagehead p{max-width:700px;color:#d8e6e4}
.content{max-width:820px}.content p{color:var(--muted)}
.notice{border-left:4px solid var(--rose);background:var(--cream);padding:16px 18px;margin:28px 0}
.priceTable{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.priceTable th,.priceTable td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.priceTable th{background:var(--deep);color:white}.priceTable tr:last-child td{border-bottom:0}
.breadcrumb{font-size:.88rem;margin-bottom:20px;color:#d0dfdd}
.cta{background:var(--soft);border:1px solid var(--line);border-radius:26px;padding:36px;margin-top:40px}
.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:900px){
  .navlinks a:not(.btn){display:none}.hero-grid,.split,.contactgrid,.footergrid{grid-template-columns:1fr}
  .hero-photo{height:520px}.hero-badge{left:18px}.trustgrid{grid-template-columns:repeat(2,1fr)}.cards,.steps{grid-template-columns:1fr}
}
@media(max-width:560px){
  .brand span{display:none}.hero{padding-top:62px}.hero-photo{height:430px}.trustgrid{grid-template-columns:1fr}.trustitem{border-right:0;border-bottom:1px solid var(--line)}
  section{padding:66px 0}.quote{padding:34px}.mini-grid{grid-template-columns:1fr}
}

/* Accessibility and navigation refinements */
a:focus-visible, summary:focus-visible{outline:3px solid var(--rose2);outline-offset:4px;border-radius:6px}
.navlinks a.active{color:var(--rose2)}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:9px 15px;font-weight:700;font-size:.9rem}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu-panel{position:absolute;right:0;top:50px;width:min(290px,86vw);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow);display:grid;gap:4px}
.mobile-menu-panel>a:not(.btn){padding:11px 12px;text-decoration:none;border-radius:10px}
.mobile-menu-panel>a:not(.btn):hover,.mobile-menu-panel>a.active{background:var(--cream)}
.mobile-menu-panel .btn{margin-top:6px}
@media(max-width:900px){
  .navlinks{display:none}
  .mobile-menu{display:block}
  .brand span{display:inline}
  .hero h1{font-size:clamp(3rem,12vw,5.4rem)}
}
@media(max-width:480px){
  nav{height:70px}
  .brand span{font-size:.78rem;letter-spacing:.12em}
  .brand img{width:36px}
  .hero-photo{height:400px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}

.booking-cta{background:var(--cream);border:2px solid var(--rose2)}
.booking-cta h3{font-size:2rem}.booking-url{font-size:.95rem;word-break:break-word}.booking-url a{text-decoration:underline;font-weight:700;color:var(--deep)}
