:root{
  --navy:#041633;
  --navy2:#08244b;
  --navy3:#0d315f;
  --gold:#d0a624;
  --gold2:#ebcb5b;
  --gold3:#f7e29a;
  --paper:#fffdf8;
  --cream:#f5f7fb;
  --ink:#0b2344;
  --muted:#526176;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);font-family:Montserrat,Arial,sans-serif;color:var(--ink);overflow-y:auto}
a{text-decoration:none;color:inherit}

.hero-image-section{position:relative;width:100%;background:var(--navy)}
.hero-image-section img{display:block;width:100%;height:auto}
.hotspot{position:absolute;display:block}
.hotspot-home{left:44%;top:4%;width:5%;height:7%}
.hotspot-about{left:50%;top:4%;width:6%;height:7%}
.hotspot-services{left:57%;top:4%;width:7%;height:7%}
.hotspot-faq{left:65%;top:4%;width:4%;height:7%}
.hotspot-contact{left:70%;top:4%;width:7%;height:7%}
.hotspot-appointment{left:76%;top:3%;width:18%;height:8%;border-radius:999px}
.hotspot-call{left:71%;top:72%;width:13%;height:8%;border-radius:999px}

.welcome-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(235,203,91,.22)
}
.welcome-strip>div{
  padding:30px 6%;background:linear-gradient(180deg,var(--navy2),var(--navy));
  color:white
}
.welcome-strip span{color:var(--gold2);font-family:"Bodoni Moda",serif;font-size:1.35rem}
.welcome-strip p{margin:.7rem 0 0;line-height:1.6;color:#d6deea}

.section{padding:85px 8%}
.section-heading{text-align:center}
.section-heading.left{text-align:left}
.eyebrow{margin:0;color:#a57c19;font-size:.76rem;letter-spacing:.24em;font-weight:700}
h1{
  margin:.55rem auto 2rem;max-width:980px;font-family:"Bodoni Moda",serif;
  font-size:clamp(2.3rem,4.3vw,4.2rem);line-height:1.05;font-weight:500;color:var(--navy2)
}
.section-heading.left h1,.contact h1,.intake h1{margin-left:0;text-align:left}

.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;background:#f7f9fc}
.copy p,.contact-copy p,.intake-copy p{line-height:1.8}
blockquote{
  margin:2rem 0 0;padding:1.5rem;border-left:3px solid var(--gold);
  background:white;font-family:"Bodoni Moda",serif;font-size:1.4rem;color:var(--navy2)
}

.services{background:linear-gradient(180deg,var(--paper),#edf2f8)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1350px;margin:auto}
.service-grid article{
  padding:2rem;border:1px solid rgba(208,166,36,.38);background:rgba(255,255,255,.8);
  box-shadow:0 14px 35px rgba(8,36,75,.06)
}
.service-grid article>span{font-family:"Bodoni Moda",serif;color:#a57c19;font-size:1.3rem}
.service-grid h2{font-family:"Bodoni Moda",serif;color:var(--navy2);font-size:1.45rem;line-height:1.3}
.service-grid p{line-height:1.7;color:var(--muted)}

.intake{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;
  background:linear-gradient(180deg,var(--navy3),var(--navy));color:white
}
.intake .eyebrow,.faq .eyebrow{color:var(--gold2)}
.intake h1,.faq h1{color:var(--gold3)}
.notice{margin-top:2rem;padding:1.2rem;border:1px solid rgba(235,203,91,.35);background:rgba(1,10,25,.35)}
.notice p{margin-bottom:0;color:#d9e1ed;font-size:.9rem}

.form-card{
  display:grid;gap:1rem;padding:2rem;background:rgba(2,11,28,.78);
  border:1px solid rgba(235,203,91,.35)
}
.form-title{font-family:"Bodoni Moda",serif;color:var(--gold3);font-size:1.4rem}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:grid;gap:.45rem;color:#edf2f8;font-size:.85rem}
input,select,textarea{
  width:100%;padding:.9rem;border:1px solid rgba(235,203,91,.38);
  background:#020b19;color:white;font:inherit
}
.consent{display:flex;align-items:flex-start;gap:.7rem}
.consent input{width:auto;margin-top:.2rem}
button{
  padding:1rem 1.4rem;border:0;border-radius:999px;
  background:linear-gradient(135deg,var(--gold3),var(--gold2),var(--gold));
  color:var(--navy);font-weight:700;text-transform:uppercase;cursor:pointer
}

.reviews{background:#f7f9fc;text-align:center}
.review-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.review-links a{
  padding:1rem 1.4rem;border:1px solid var(--gold);border-radius:999px;
  color:var(--navy2);font-weight:700
}

.faq{background:linear-gradient(180deg,var(--navy3),var(--navy));color:white}
.faq details{max-width:1000px;margin:auto;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.faq summary{cursor:pointer;color:var(--gold2);font-weight:600}
.faq p{color:#d8e0eb;line-height:1.7}

.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;background:linear-gradient(180deg,var(--paper),#edf2f8)}
.contact-lines{margin-top:2rem}
.contact-lines p{padding:.85rem 0;border-bottom:1px solid rgba(8,36,75,.12)}
.contact-lines strong{display:inline-block;min-width:80px;color:#a57c19}
.contact-form{background:var(--navy2)}

footer{
  display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 4%;
  background:#020b19;color:#aab5c5;font-size:.8rem
}

@media(max-width:950px){
  .about,.intake,.contact{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .welcome-strip,.service-grid,.two-column{grid-template-columns:1fr}
  .section{padding:65px 6%}
  footer{flex-direction:column;text-align:center}
}
