/* ============================================================
   PACIFIC DENTAL — css/style.css
   Professional, tight, no wasted space
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Hind+Siliguri:wght@400;500;600;700&display=swap');

:root {
  --teal:    #0b7c6e;
  --teal-dk: #075e53;
  --teal-lt: #e8f5f3;
  --dark:    #0f1f1d;
  --mid:     #3d5652;
  --muted:   #7a9490;
  --off:     #f4f7f6;
  --white:   #ffffff;
  --border:  #dceae8;
  --accent:  #e8960f;
  --red:     #c0392b;
  --r:       10px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Hind Siliguri',sans-serif;background:var(--white);color:var(--dark);overflow-x:hidden;line-height:1.6;font-size:15px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-thumb{background:var(--teal);border-radius:2px}

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;line-height:1.15;letter-spacing:-.01em}

/* ── NOTICE BAR ── */
.notice{background:var(--red);color:#fff;text-align:center;padding:.4rem 1rem;font-size:.8rem;font-weight:600}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:200;background:var(--dark)}
.nav-w{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.5rem;gap:1rem}
.logo{display:flex;align-items:center;gap:.55rem}
.logo-box{width:36px;height:36px;background:var(--teal);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.logo-t strong{display:block;font-family:'Cormorant Garamond',serif;font-size:.95rem;color:#fff;line-height:1.15}
.logo-t span{font-size:.62rem;color:var(--muted)}
.nav-links{display:flex;gap:.05rem;list-style:none}
.nav-links a{color:rgba(255,255,255,.65);font-size:.8rem;font-weight:500;padding:.38rem .7rem;border-radius:6px;transition:all .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:#fff;background:rgba(255,255,255,.1)}
.ham{display:none;flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:4px}
.ham span{width:21px;height:2px;background:#fff;border-radius:2px;transition:.3s}
.mob-menu{display:none;flex-direction:column;background:#0a1a18;border-top:1px solid rgba(255,255,255,.07);padding:.7rem 1.5rem 1rem}
.mob-menu.open{display:flex}
.mob-menu a{color:rgba(255,255,255,.75);font-size:.92rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.mob-menu a:last-child{border:none;color:var(--accent);font-weight:700;padding-top:.8rem}

/* ── FLOATING BOOK APPOINTMENT ── */
.float-btn{
  position:fixed;bottom:22px;right:22px;z-index:999;
  background:var(--teal);color:#fff;
  display:flex;align-items:center;gap:.45rem;
  padding:.65rem 1.2rem;border-radius:100px;
  font-family:'Hind Siliguri',sans-serif;font-weight:700;font-size:.82rem;
  box-shadow:0 4px 20px rgba(11,124,110,.5);
  transition:transform .2s,box-shadow .2s;
  white-space:nowrap;border:none;cursor:pointer;
}
.float-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(11,124,110,.6);color:#fff}

/* ── FOOTER ── */
footer{background:var(--dark);padding:1.1rem 1.5rem;border-top:1px solid rgba(255,255,255,.07)}
.foot-w{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem}
.foot-copy{color:rgba(255,255,255,.4);font-size:.78rem}
.foot-icons{display:flex;gap:.5rem}
.foot-icons a{width:32px;height:32px;border-radius:7px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;transition:background .2s;color:#fff;font-size:.95rem}
.foot-icons a:hover{background:var(--teal)}

/* ── LAYOUT HELPERS ── */
.w{max-width:1080px;margin:0 auto}
.sec{padding:2.8rem 1.5rem}
.sec-sm{padding:2rem 1.5rem}
.stag{display:inline-flex;align-items:center;gap:.35rem;color:var(--teal);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem}
.stag::before{content:'▪';font-size:.7rem}
h2.stit{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:.5rem;color:var(--dark)}
.sdesc{color:var(--mid);font-size:.88rem;line-height:1.75;max-width:500px;margin-bottom:1.5rem}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.4rem;border-radius:100px;font-family:'Hind Siliguri',sans-serif;font-weight:700;font-size:.83rem;cursor:pointer;border:none;transition:all .2s;white-space:nowrap}
.btn-t{background:var(--teal);color:#fff;box-shadow:0 3px 12px rgba(11,124,110,.3)}
.btn-t:hover{background:var(--teal-dk);transform:translateY(-1px);color:#fff}
.btn-o{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.btn-o:hover{background:var(--teal);color:#fff}
.btn-wa{background:#25D366;color:#fff}
.btn-wa:hover{background:#1da851;color:#fff}
.btn-w{background:#fff;color:var(--teal);font-weight:700}
.btn-w:hover{background:#e8f5f3}

/* ── CARD ── */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(11,124,110,.09);border-color:var(--teal)}

/* ── FADE UP ── */
.fu{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.fu.vis{opacity:1;transform:none}

/* ── RESPONSIVE ── */
@media(max-width:820px){
  .nav-links{display:none}
  .ham{display:flex}
  .sec{padding:2.2rem 1.1rem}
}
@media(max-width:500px){
  .foot-w{flex-direction:column;align-items:center;text-align:center}
}
