/* Reference-led premium theme: airy white, pale blue, deep navy, gold details. */
:root{
  --ref-navy:#122241;
  --ref-navy-2:#1b3158;
  --ref-blue:#3766f2;
  --ref-violet:#5b47ee;
  --ref-cyan:#14acd5;
  --ref-gold:#b98225;
  --ref-gold-soft:#e4c27b;
  --ref-green:#15bb61;
  --ref-green-dark:#0fa552;
  --ref-copy:#5f7194;
  --ref-line:#d9e3f0;
  --ref-warm:#fffaf3;
  --ref-ice:#eef7ff;
  --ref-field:#f4f7fc;
  --ink:var(--ref-navy);
  --text:var(--ref-navy-2);
  --muted:var(--ref-copy);
  --blue:var(--ref-blue);
  --indigo:var(--ref-violet);
  --cyan:var(--ref-cyan);
  --gold:var(--ref-gold);
  --gold-deep:#966516;
  --panel:#fff;
  --panel-2:#fbfdff;
  --alt:#f4f8fd;
  --line:var(--ref-line);
  --grad:linear-gradient(110deg,var(--ref-blue),var(--ref-violet) 52%,var(--ref-cyan));
  --shadow-sm:0 12px 32px rgba(25,53,96,.07);
  --shadow-md:0 22px 58px rgba(25,53,96,.11);
  --shadow-lg:0 34px 84px rgba(25,53,96,.15)
}

html{background:#fff}
body{
  color:var(--ref-navy-2);
  background:#fff;
  text-rendering:optimizeLegibility
}
body::selection{color:var(--ref-navy);background:#dfe9ff}
h1,h2,h3,h4,strong,b{color:var(--ref-navy)}
p,.lead,.subtitle{color:var(--ref-copy)}
a{color:var(--ref-blue)}
a:hover{color:#264bc8}
.section{background:#fff}
.section.alt-bg,.alt-bg,.final-qa{
  background:linear-gradient(115deg,#fffaf5 0%,#fff 48%,#f0f7ff 100%);
  border-color:#e2e9f2
}
.eyebrow,.professional-kicker,.hub-card .lang{
  color:var(--ref-gold);
  letter-spacing:.24em
}
.eyebrow::before,.eyebrow::after{
  background:linear-gradient(90deg,transparent,var(--ref-gold-soft))
}
.eyebrow::after{background:linear-gradient(90deg,var(--ref-gold-soft),transparent)}
.gt{
  color:var(--ref-blue);
  background:linear-gradient(110deg,var(--ref-blue),var(--ref-violet) 48%,var(--ref-cyan));
  background-size:100% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:none
}

/* Minimal white navigation */
.site-header,.site-header.scrolled{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #edf1f6;
  box-shadow:0 10px 36px rgba(24,47,86,.055);
  backdrop-filter:blur(20px) saturate(135%)
}
.brand,.site-header .brand{color:var(--ref-navy)}
.brand small,.site-header .brand small{color:#9d6c1b}
.brand .logo{box-shadow:none}
.nav-links>li>a{color:var(--ref-navy-2)}
.nav-links>li>a:hover,.nav-links a.active:not(.btn){color:var(--ref-gold)}
.nav-links>li>a:not(.btn)::after{height:1px;background:var(--ref-gold)}
.nav-toggle{color:var(--ref-navy);background:#f3f7fc;border-color:#dbe5f1}
.language-control::before,.language-control::after{color:var(--ref-blue)}
.language-control select{
  color:var(--ref-navy-2);
  background:#f5f8fc;
  border:1px solid #d7e1ee;
  box-shadow:none
}
.language-control select:hover{background:#fff;border-color:#aebed3}

/* Green is deliberately reserved for WhatsApp and live/open states. */
.nav-links .btn--wa,.btn--wa,.fab-wa{
  color:#fff!important;
  background:linear-gradient(135deg,var(--ref-green),var(--ref-green-dark))!important;
  border-color:transparent!important;
  box-shadow:0 14px 34px rgba(21,187,97,.22)!important
}
.nav-links .btn--wa:hover,.btn--wa:hover,.fab-wa:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#18c96a,#0b9c4d)!important;
  box-shadow:0 18px 42px rgba(21,187,97,.3)!important
}
.dot.open{background:#25c875;box-shadow:0 0 0 6px rgba(37,200,117,.12)}
.dot.closed{background:var(--ref-gold)}

/* Pale, spacious heroes inspired by the supplied booking-page reference. */
.hero,.treatment-hero,.treatment-hub-hero{
  color:var(--ref-navy);
  background:
    radial-gradient(circle at 12% 72%,rgba(228,194,123,.10),transparent 24rem),
    radial-gradient(circle at 86% 22%,rgba(130,195,255,.12),transparent 25rem),
    linear-gradient(115deg,#fffaf4 0%,#fff 45%,#edf7ff 100%);
  border-bottom:1px solid #e5ebf2
}
.hero::before,.treatment-hero::before,.treatment-hub-hero::before{
  background:radial-gradient(circle,rgba(71,128,241,.07),transparent 70%);
  opacity:1;filter:blur(16px)
}
.hero::after,.treatment-hero::after,.treatment-hub-hero::after{
  background:radial-gradient(circle,rgba(218,180,97,.08),transparent 70%);
  opacity:1;filter:blur(14px)
}
.hero h1,.treatment-hero h1,.treatment-hub-hero h1,
.hero-trust .stat b{
  color:var(--ref-navy);
  text-shadow:none
}
.hero .gt,.treatment-hero .gt,.treatment-hub-hero .gt,.cta-band .gt{
  background:linear-gradient(110deg,var(--ref-blue),var(--ref-violet) 50%,var(--ref-cyan));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:none
}
.hero .subtitle,.hero .lead,.treatment-hero .subtitle,.treatment-hub-hero .lead,
.hero-trust .stat span{color:var(--ref-copy)}
.hero .lead a,.treatment-hero a{color:var(--ref-blue)}
.ribbon,.hero .chip,.language-pill,.trust-list li{
  color:var(--ref-navy-2);
  background:rgba(255,255,255,.82);
  border-color:#dbe5f0;
  box-shadow:0 8px 22px rgba(25,53,96,.06)
}
.ribbon .st{color:var(--ref-gold)}
.crumbs{color:#7a89a3}
.crumbs a{color:var(--ref-blue);text-decoration-color:#a9bbdf}
.treatment-hub-hero .eyebrow{color:var(--ref-gold)}
.treatment-hub-hero .btn--ghost,.hero .btn--ghost{
  color:var(--ref-blue);
  background:rgba(255,255,255,.78);
  border-color:#aebee4
}
.hero-video{
  background:#fff;border:1px solid #e3cf9d;
  box-shadow:0 32px 76px rgba(25,53,96,.14)
}
.hero-video::after{background:linear-gradient(145deg,#fff,transparent 38%,#d8b868)}
.hero-video .tag{color:var(--ref-navy);background:rgba(255,255,255,.95);border-color:#e0e7f0}

/* Editorial white cards with delicate colored hairlines. */
.card,.testi,.form-wrap,.result,.openrow,.treatment-card,.hub-card,.related-card,
.check-list li,.faq-item,.professional-strip,.procedure-figure{
  color:var(--ref-navy-2);
  background:rgba(255,255,255,.98);
  border:1px solid #dce5f0;
  box-shadow:var(--shadow-sm)
}
.form-wrap,.card,.testi,.hub-card,.treatment-card,.faq-item{
  border-color:#e3d9cf #dce4f1 #dce4f1 #dce4f1
}
.card::before,.hub-card::before,.treatment-card-grid>.card::before{
  height:2px;
  background:linear-gradient(90deg,var(--ref-gold-soft),#c7d9f6 48%,#d8caee)
}
.card:hover,.testi:hover,.hub-card:hover,.treatment-card:hover,
.treatment-card-grid>.card:hover{
  border-color:#b9cae0;
  box-shadow:var(--shadow-md)
}
.treatment-card-grid>.card{
  border-color:#dce5f0;
  box-shadow:var(--shadow-sm)
}
.treatment-card-grid h3,.hub-card h2,.treatment-card h3,.related-card b{color:var(--ref-navy)}
.treatment-card-grid p,.card p,.testi p,.hub-card p,.treatment-card p,
.related-card span,.check-list li,.faq-a p,.info-list span,.info-list a{color:var(--ref-copy)}
.card .icon,.info-list .ic,.testi .who .d,.treatment-card .step,.procedure-stages .stage-no{
  color:#fff;
  background:linear-gradient(145deg,var(--ref-blue),#268fd7);
  border-color:#e6c364;
  box-shadow:0 12px 28px rgba(55,102,242,.15)
}
.treatment-card-grid .card-link,.hub-card .learn{color:var(--ref-blue)}
.treatment-card-grid .card-link b{color:var(--ref-gold)}
.testi .stars,.faq-q .chev{color:var(--ref-gold)}
.faq-q{color:var(--ref-navy)}

/* Booking form and patient information cards. */
.field label{color:#9e6c1c;letter-spacing:.035em}
.field input,.field select,.field textarea{
  color:var(--ref-navy);
  background:var(--ref-field);
  border:1px solid #dbe5f3;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)
}
.field input::placeholder,.field textarea::placeholder{color:#93a3c0}
.field input:focus,.field select:focus,.field textarea:focus{
  background:#fff;
  border-color:#7896ed;
  box-shadow:0 0 0 4px rgba(55,102,242,.1)
}
.preview,.legal-note,.notice{
  color:var(--ref-copy);
  background:linear-gradient(115deg,#fffaf3,#f1f7ff);
  border-color:#e7d7b6
}
.form-note{color:#7889a6}
.status,.hours-inline b,.hours-table td:last-child{color:var(--ref-navy)}
.openrow{padding:28px}

/* Treatment guides retain clarity on a light canvas. */
.treatment-panel{
  color:var(--ref-navy-2);
  background:rgba(255,255,255,.97);
  border:1px solid #dde5ef;
  box-shadow:0 28px 72px rgba(25,53,96,.12)
}
.treatment-panel::before{background:linear-gradient(145deg,rgba(55,102,242,.04),transparent 48%,rgba(185,130,37,.06))}
.treatment-panel::after{background:rgba(55,102,242,.04)}
.treatment-panel h2,.treatment-panel b{color:var(--ref-navy)}
.treatment-panel p,.panel-points li{color:var(--ref-copy)}
.panel-points li{border-bottom-color:#e4eaf2}
.panel-points li::before{color:var(--ref-gold)}
.ad-copy{background:#fffaf0;border-color:#dcb96d}
.ad-copy b{color:var(--ref-navy)}
.ad-copy span{color:#6d7e99}
.procedure-section{background:#fff}
.procedure-caption{background:linear-gradient(180deg,#fff,#f5f8fc)}
.procedure-note{color:#6e809f}

/* Primary actions and compact trust bands. */
.btn:not(.btn--wa){background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 12px 28px rgba(55,102,242,.18)}
.btn:not(.btn--wa):hover{color:#fff;box-shadow:0 17px 38px rgba(55,102,242,.25)}
.btn--ghost:not(.btn--wa){color:var(--ref-blue);background:#fff;border-color:#9eb2d6;box-shadow:none}
.btn--ghost:not(.btn--wa):hover{color:#274ec7;background:#f5f8ff;border-color:#7895c8}
.marquee{background:#1d4d83;border-color:#356a9f}
.marquee span{color:#fff}
.marquee span::before{color:#f0cd79}
.stats-band{
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.18),transparent 34%),
    linear-gradient(120deg,#25558b,#2f75b7 58%,#4f94cf);
  border-color:#82a9cb;
  box-shadow:0 26px 68px rgba(25,69,112,.18)
}
.stats-band::before{background:linear-gradient(90deg,transparent,#e8c97e,transparent)}

/* A restrained blue CTA and footer finish the page without using black. */
.cta-band{
  background:
    radial-gradient(circle at 15% 0%,rgba(255,255,255,.15),transparent 36%),
    linear-gradient(125deg,#244f87,#347cb9 66%,#50a2cf);
  box-shadow:0 28px 68px rgba(25,69,112,.18)
}
.cta-band h2,.cta-band p{color:#fff}
.cta-band .gt{
  background:linear-gradient(110deg,#fff,#f5dc9c 52%,#d8f5ff);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.cta-band .btn--ghost{color:var(--ref-navy)!important;background:#fff!important;border-color:#fff!important}
.site-footer{
  color:#fff;
  background:linear-gradient(135deg,#173c69,#245f95);
  border-top-color:#668db5
}
.site-footer::before{background:linear-gradient(90deg,transparent,#f2d081,transparent)}
.site-footer h4,.site-footer .brand,.site-footer .brand span{color:#fff}
.site-footer .brand small{color:#f0cf80}
.site-footer p,.footer-links a,.footer-links span,.footer-bottom{color:rgba(255,255,255,.86)}
.footer-links a:hover{color:#ffe6a5}
.footer-bottom{border-top-color:rgba(255,255,255,.2)}
.footer-legal a{color:#fff}
.to-top{color:#fff;background:linear-gradient(135deg,#c9993d,#ac7618);border-color:#ebce8e}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #d5a94b;outline-offset:4px
}

@media(max-width:920px){
  .nav-links{background:#fff;border-bottom-color:#e2e8f1;box-shadow:0 25px 55px rgba(25,53,96,.12)}
  .language-control{color:var(--ref-navy)}
}

@media(max-width:620px){
  .hero,.treatment-hero,.treatment-hub-hero{
    background:linear-gradient(125deg,#fffaf4,#fff 48%,#eef7ff)
  }
  .hero h1,.treatment-hero h1,.treatment-hub-hero h1{line-height:1.04}
  .form-wrap,.card,.treatment-card-grid>.card{border-radius:20px}
  .fab-wa{box-shadow:0 12px 28px rgba(21,187,97,.25)!important}
}
