
:root{
  --bg:#07131f;
  --bg-soft:#0c1f33;
  --surface:#ffffff;
  --surface-2:rgba(255,255,255,.08);
  --text:#102033;
  --text-soft:#58677a;
  --line:#d9e4ee;
  --navy:#0e3558;
  --navy-2:#164e7a;
  --teal:#0f8a79;
  --green:#2aa46f;
  --amber:#c9851f;
  --amber-2:#e7a73d;
  --sky:#d9effc;
  --ink:#0f2033;
  --danger:#c4342d;
  --success:#0c7c55;
  --shadow:0 20px 65px rgba(7, 19, 31, 0.14);
  --shadow-lg:0 30px 90px rgba(7, 19, 31, 0.2);
  --radius:24px;
  --radius-sm:16px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:linear-gradient(180deg,#f4f8fc 0%, #eef4f8 24%, #ffffff 100%);color:var(--ink);line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.page-shell{position:relative;overflow-x:hidden}
.page-shell::before,.page-shell::after{content:"";position:fixed;z-index:-2;inset:auto;pointer-events:none;filter:blur(14px)}
.page-shell::before{width:42vw;height:42vw;left:-10vw;top:-8vw;background:radial-gradient(circle at center, rgba(33,99,170,.18), rgba(33,99,170,0) 70%)}
.page-shell::after{width:36vw;height:36vw;right:-8vw;top:8rem;background:radial-gradient(circle at center, rgba(15,138,121,.16), rgba(15,138,121,0) 72%)}
.section-gradient{position:relative;overflow:hidden}
.section-gradient::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(14,53,88,.98),rgba(23,95,129,.95) 52%,rgba(17,138,121,.95));z-index:-2}
.section-gradient::after{content:"";position:absolute;inset:auto auto -18% -10%;width:45vw;height:45vw;background:radial-gradient(circle at center, rgba(255,255,255,.16), rgba(255,255,255,0) 70%);z-index:-1}
.site-header{position:sticky;top:0;z-index:60;backdrop-filter:blur(14px);background:rgba(255,255,255,.86);border-bottom:1px solid rgba(212,224,236,.85)}
.header-shell{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-mark{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;font-size:1rem;font-weight:900;letter-spacing:.14em;box-shadow:var(--shadow)}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-copy small{font-size:.72rem;color:var(--text-soft)}
.desktop-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.desktop-nav a{font-weight:600;color:#33485f;padding:10px 12px;border-radius:999px}
.desktop-nav a.active,.desktop-nav a:hover{background:#edf5fb;color:var(--navy)}
.header-cta{display:flex;align-items:center;gap:10px}
.menu-toggle{display:none;width:48px;height:48px;border-radius:14px;border:1px solid #d6e2ec;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle span{display:block;width:18px;height:2px;background:#17324e;border-radius:99px}
.chip-action,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:999px;font-weight:700;transition:.18s ease;cursor:pointer;border:none}
.button:hover,.chip-action:hover{transform:translateY(-1px)}
.button-primary{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;box-shadow:var(--shadow)}
.button-secondary{background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;box-shadow:var(--shadow)}
.button-amber{background:linear-gradient(135deg,var(--amber),var(--amber-2));color:#fff;box-shadow:var(--shadow)}
.button-outline{background:#fff;border:1px solid #d4e0ea;color:var(--navy)}
.button-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18)}
.chip-action{background:#fff;border:1px solid #d5dfeb;color:var(--navy)}
.block{width:100%}
.mobile-drawer{display:none;border-top:1px solid #dbe7f0;background:#fff}
.drawer-links{display:grid;gap:12px;padding:18px 0}
.hero{padding:76px 0 46px;color:#fff}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:34px}
.hero-copy h1{font-size:clamp(2.5rem,4vw,4.85rem);line-height:1.02;margin:14px 0 16px;letter-spacing:-.05em;max-width:12ch}
.hero-copy p{font-size:1.08rem;max-width:62ch;color:rgba(255,255,255,.84)}
.eyebrow{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.hero-actions,.action-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-actions{margin-top:26px}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.proof-card{padding:18px 18px 16px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}
.proof-card strong{display:block;font-size:1.25rem}
.proof-card span{display:block;color:rgba(255,255,255,.74);font-size:.88rem;margin-top:4px}
.hero-visual{position:relative;display:grid;gap:16px}
.hero-visual-main{padding:18px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-lg)}
.hero-visual-main img.portrait{width:100%;border-radius:28px;min-height:560px;object-fit:cover}
.hero-badges{position:absolute;inset:24px auto auto -14px;display:grid;gap:12px;max-width:240px}
.floating-card{padding:16px 18px;border-radius:22px;background:rgba(7,19,31,.55);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);box-shadow:var(--shadow)}
.floating-card strong{display:block;color:#fff}
.floating-card span{color:rgba(255,255,255,.78);font-size:.92rem}
.hero-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.info-panel{padding:20px;border-radius:24px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.info-panel h3{margin:0 0 12px;font-size:1.15rem}
.info-panel p,.info-panel li{color:var(--text-soft)}
.info-panel ul{margin:0;padding-left:18px;display:grid;gap:8px}
.section{padding:72px 0}
.section-tight{padding:54px 0}
.section-intro{max-width:760px;margin-bottom:30px}
.section-intro.center{text-align:center;margin-inline:auto}
.section-intro h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.08;margin:14px 0 14px;letter-spacing:-.04em}
.section-intro p{font-size:1.02rem;color:var(--text-soft)}
.grid-2,.grid-3,.grid-4,.feature-grid,.card-grid,.stats-grid,.blog-grid,.trust-grid,.page-grid,.journey-grid,.faq-grid,.address-grid,.service-grid{display:grid;gap:18px}
.grid-2,.page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3,.feature-grid,.journey-grid,.service-grid,.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4,.card-grid,.stats-grid,.blog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.glass-card,.content-card,.metric-card,.timeline-card,.trust-card,.media-card,.faq-card,.booking-card,.sidebar-card,.address-card,.article-card,.stat-band{background:#fff;border:1px solid #dce7ef;border-radius:var(--radius);box-shadow:var(--shadow)}
.content-card,.trust-card,.sidebar-card,.address-card,.article-card,.faq-card{padding:28px}
.metric-card,.timeline-card,.media-card{padding:24px}
.metric-card strong{display:block;font-size:2rem;line-height:1;color:var(--navy)}
.metric-card span{display:block;margin-top:10px;color:var(--text-soft)}
.icon-circle{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#e7f2fb,#dff7f3);box-shadow:inset 0 0 0 1px rgba(18,60,95,.08)}
.icon-circle svg,.icon-circle span{font-size:1.45rem;color:var(--navy)}
.trust-card h3,.content-card h3,.article-card h3,.sidebar-card h3,.address-card h3,.faq-card h3{margin:14px 0 12px;font-size:1.18rem;line-height:1.2}
.content-card p,.trust-card p,.article-card p,.sidebar-card p,.address-card p,.faq-card p,.timeline-card p,.metric-card p,.media-card p{color:var(--text-soft);margin:0}
.band-shell{padding:34px;border-radius:34px;background:linear-gradient(135deg,#0d243d,#123b5e 46%, #0f716b);color:#fff;box-shadow:var(--shadow-lg)}
.band-shell h2,.band-shell h3,.band-shell p,.band-shell li{color:#fff}
.band-shell p,.band-shell li{color:rgba(255,255,255,.82)}
.band-shell .button-outline{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#fff}
.article-card img,.media-card img{border-radius:20px;aspect-ratio:16/10;object-fit:cover;margin-bottom:16px;background:#eaf1f7}
.article-card .meta,.media-card .meta{display:inline-flex;padding:8px 12px;background:#eff7fd;border-radius:999px;color:var(--navy);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;margin-bottom:10px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:26px;align-items:start}
.booking-shell{position:relative;overflow:hidden}
.booking-shell::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fdfefe,#f3f8fc);z-index:0}
.booking-shell>*{position:relative;z-index:1}
.booking-card{padding:0}
.booking-head{padding:30px 30px 22px;border-bottom:1px solid #dbe7ef;background:linear-gradient(180deg,rgba(18,64,99,.03),rgba(255,255,255,0))}
.booking-head-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.booking-title h1,.booking-title h2{font-size:2rem;line-height:1.05;margin:12px 0 8px;letter-spacing:-.04em}
.fee-badge{padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,#fff9ef,#fff4de);border:1px solid #f0d6aa;min-width:180px}
.fee-badge small{display:block;font-size:.72rem;color:#946317;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.fee-badge strong{display:block;margin-top:6px;font-size:2rem;color:#8b5f15}
.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.step{padding:14px;border-radius:18px;background:#f4f8fb;border:1px solid #dce7ef}
.step .label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#607181}
.step .name{display:block;margin-top:6px;font-weight:800}
.step.active{background:linear-gradient(135deg,#ecf6ff,#f2fffc);border-color:#bfdae8}
.step.done{background:linear-gradient(135deg,#f0fcf6,#f7fffb);border-color:#cfe9d8}
.booking-body{padding:30px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:8px}
.field.full{grid-column:1 / -1}
.field label{font-weight:700;color:#1d3450}
.field input,.field select,.field textarea{padding:14px 15px;border-radius:16px;border:1px solid #d6e2ec;background:#fff;color:#11263d;outline:none;transition:border-color .16s, box-shadow .16s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#5a95be;box-shadow:0 0 0 4px rgba(78,139,184,.12)}
.field textarea{min-height:120px;resize:vertical}
.panel{display:none}
.panel.active{display:block}
.panel h3{margin:0 0 8px;font-size:1.5rem}
.panel p.intro{color:var(--text-soft);margin:0 0 18px}
.choice-grid,.slot-grid,.payment-grid,.summary-grid{display:grid;gap:14px}
.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.payment-grid{grid-template-columns:1fr}
.choice-card,.slot-card,.payment-option,.summary-card{border-radius:22px;border:1px solid #d8e4ee;background:#fff;padding:18px;cursor:pointer;transition:.18s ease;position:relative;overflow:hidden}
.choice-card:hover,.slot-card:hover,.payment-option:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.choice-card.active,.slot-card.active,.payment-option.active{border-color:#78adca;background:linear-gradient(135deg,#f5fbff,#f8fffd)}
.slot-card.disabled{cursor:not-allowed;background:#f5f8fb;color:#94a5b6;border-color:#e8eef4}
.slot-card strong,.payment-option strong,.summary-card strong,.choice-card strong{display:block;font-size:1rem}
.slot-card span,.payment-option span,.summary-card span,.choice-card span{display:block;margin-top:8px;color:var(--text-soft);font-size:.95rem}
.booking-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px;padding-top:22px;border-top:1px solid #dbe7ef}
.booking-note{color:var(--text-soft);font-size:.95rem}
.hidden{display:none !important}
.inline-tag{display:inline-flex;padding:7px 11px;border-radius:999px;background:#edf6fe;color:var(--navy);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em}
.notice{padding:16px 18px;border-radius:18px;background:#f7fbff;border:1px solid #dae8f2;color:#3b5167}
.notice.success{background:#f2fff7;border-color:#cfe9d8;color:#136042}
.notice.warning{background:#fff8ef;border-color:#f0dab2;color:#8d6418}
.payment-fields{display:none;margin-top:14px;gap:14px}
.payment-fields.show{display:grid}
.payment-subtabs{display:flex;gap:10px;flex-wrap:wrap}
.pill-tab{padding:10px 14px;border-radius:999px;border:1px solid #d7e2ec;background:#fff;cursor:pointer;font-weight:700}
.pill-tab.active{background:#eef7ff;color:var(--navy);border-color:#bbd7e7}
.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-success{display:none;padding:30px;border-top:1px solid #dbe7ef;background:linear-gradient(180deg,#f7fffb,#ffffff)}
.booking-success.show{display:block}
.booking-success h3{font-size:1.9rem;margin:12px 0 10px}
.success-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.success-box{padding:18px;border-radius:22px;background:#fff;border:1px solid #d6e6dc;box-shadow:var(--shadow)}
.success-box small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#567168}
.success-box strong{display:block;margin-top:6px;font-size:1.2rem}
.sidebar-stack{display:grid;gap:16px}
.sidebar-card ul{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--text-soft)}
.page-hero{padding:60px 0 34px}
.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.page-hero h1{font-size:clamp(2.25rem,3.6vw,4rem);line-height:1.04;margin:14px 0 14px;letter-spacing:-.045em}
.page-hero p{font-size:1.04rem;color:#4d6175;max-width:62ch}
.page-hero .visual-card{padding:18px;border-radius:30px;background:linear-gradient(180deg,#f8fbff,#eef5fb);border:1px solid #d9e6ef;box-shadow:var(--shadow)}
.page-hero .visual-card img{border-radius:22px;width:100%;aspect-ratio:4/3;object-fit:cover}
.timeline-list{display:grid;gap:14px}
.timeline-card{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start}
.timeline-card .count{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#ecf6ff,#e7fbf7);display:grid;place-items:center;font-size:1.55rem;font-weight:900;color:var(--navy)}
.faq-list{display:grid;gap:14px}
.faq-card summary{cursor:pointer;list-style:none;font-weight:800;display:flex;justify-content:space-between;gap:20px}
.faq-card summary::-webkit-details-marker{display:none}
.faq-card p{margin-top:12px}
.badge-row{display:flex;gap:10px;flex-wrap:wrap}
.soft-badge{display:inline-flex;padding:10px 14px;border-radius:999px;background:#eef6fb;color:var(--navy);font-weight:700}
.locality-cloud{display:flex;gap:10px;flex-wrap:wrap}
.locality-cloud span{padding:10px 14px;background:#fff;border:1px solid #dae5ee;border-radius:999px}
.media-feature{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:center}
.media-callout{padding:26px;border-radius:28px;background:linear-gradient(135deg,#0f2540,#155978,#0f8375);color:#fff;box-shadow:var(--shadow-lg)}
.media-callout p,.media-callout li{color:rgba(255,255,255,.82)}
.media-callout ul{padding-left:18px;display:grid;gap:8px}
.kicker{color:var(--amber);font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.76rem}
.site-footer{margin-top:64px;background:#07131f;color:#fff;padding-top:48px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:24px;padding-bottom:28px}
.site-footer h3,.site-footer h4{margin:0 0 14px}
.site-footer p,.site-footer li,.site-footer a,.site-footer span{color:rgba(255,255,255,.74)}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.locality-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;column-gap:16px;row-gap:8px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0 28px;border-top:1px solid rgba(255,255,255,.12)}
.mobile-sticky-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:72;background:rgba(7,19,31,.92);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:18px;display:none;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;box-shadow:var(--shadow-lg)}
.mobile-sticky-bar a{padding:14px 10px;text-align:center;color:#fff;font-weight:800;font-size:.92rem}
.mobile-sticky-bar a.active{background:linear-gradient(135deg,var(--amber),var(--amber-2))}
.comparison-table{width:100%;border-collapse:collapse;background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.comparison-table th,.comparison-table td{padding:16px;border-bottom:1px solid #e0e9f0;text-align:left;vertical-align:top}
.comparison-table th{background:#f6fafe;color:#173a5a;font-size:.9rem;text-transform:uppercase;letter-spacing:.12em}
@media (max-width:1100px){
  .hero-grid,.page-hero-grid,.media-feature,.booking-layout,.footer-grid,.grid-4,.card-grid,.blog-grid,.stats-grid,.feature-grid,.service-grid,.trust-grid,.journey-grid{grid-template-columns:1fr 1fr}
  .hero-proof{grid-template-columns:1fr 1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .desktop-nav{display:none}
  .menu-toggle{display:flex}
  .mobile-drawer.show{display:block}
  .hero-grid,.page-hero-grid,.media-feature,.booking-layout,.grid-2,.page-grid,.grid-3,.feature-grid,.service-grid,.trust-grid,.journey-grid,.summary-grid,.success-grid,.choice-grid,.slot-grid,.footer-grid,.blog-grid,.stats-grid,.card-grid{grid-template-columns:1fr}
  .hero-badges{position:static;max-width:none}
  .hero-proof{grid-template-columns:1fr}
  .header-cta .chip-action{display:none}
  .brand-copy small{display:none}
  .booking-head-row{align-items:stretch}
  .stepper{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  body{padding-bottom:88px}
  .container{width:min(var(--max),calc(100% - 22px))}
  .hero{padding:56px 0 34px}
  .hero-copy h1{max-width:none}
  .button,.chip-action{width:100%}
  .hero-actions,.action-row,.payment-subtabs{display:grid;grid-template-columns:1fr}
  .booking-actions .button{width:auto}
  .mobile-sticky-bar{display:grid}
  .proof-card,.content-card,.metric-card,.timeline-card,.trust-card,.media-card,.faq-card,.booking-card,.sidebar-card,.address-card,.article-card{border-radius:20px}
}
