/*
Theme Name: Balentine Plaza Dental Care
Theme URI: https://balentineplazadentalcare.com
Author: Balentine Plaza Dental Care
Description: Custom WordPress theme — luxury navy and gold dental practice. Five pages: Home, Services, Meet the Team, Appointment Request, and a generic page fallback.
Version: 1.0.0
License: Private
Text Domain: balentine
*/

/* ─── VARIABLES ─────────────────────────────────── */
:root {
  --navy:       #0f1c2e;
  --navy-mid:   #1a2d42;
  --slate:      #2e4057;
  --gold:       #c9a96e;
  --gold-light: #e2c99a;
  --cream:      #f8f5ef;
  --white:      #ffffff;
  --muted:      #8a9bb0;
  --border:     rgba(201,169,110,.2);
  --input-b:    #d8e0e8;
}

/* ─── RESET ──────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--navy);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}

/* ─── TOPBAR ─────────────────────────────────────── */
.topbar{background:var(--navy);color:var(--gold-light);font-size:12px;letter-spacing:.08em;padding:9px 20px;display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.topbar a{color:var(--gold-light)}.topbar a:hover{color:#fff}.topbar span{opacity:.5}

/* ─── NAV ────────────────────────────────────────── */
.site-nav{position:sticky;top:0;z-index:100;background:rgba(248,245,239,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:72px}
.site-logo{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;color:var(--navy);letter-spacing:.02em;line-height:1.2}
.site-logo span{display:block;font-size:11px;font-family:'DM Sans',sans-serif;letter-spacing:.18em;color:var(--gold);font-weight:300;text-transform:uppercase;margin-top:2px}
.nav-menu{display:flex;gap:28px;align-items:center;list-style:none}
.nav-menu a{font-size:13px;letter-spacing:.06em;color:var(--slate);transition:color .2s}
.nav-menu a:hover,.nav-menu .current-menu-item>a{color:var(--gold)}
.nav-menu .menu-book-btn>a{background:var(--navy);color:var(--gold-light);padding:11px 22px;border-radius:2px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:background .2s}
.nav-menu .menu-book-btn>a:hover{background:var(--gold);color:var(--navy)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:all .3s}

/* ─── SHARED ─────────────────────────────────────── */
.section-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:12px}
.section-label::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.1;color:var(--navy)}
.section-title em{font-style:italic;color:var(--slate)}

/* ─── BUTTONS ────────────────────────────────────── */
.btn-primary{display:inline-block;background:var(--navy);color:var(--gold-light);padding:14px 34px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;border-radius:2px;transition:all .25s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif}
.btn-primary:hover{background:var(--gold);color:var(--navy);transform:translateY(-1px);box-shadow:0 8px 28px rgba(201,169,110,.3)}
.btn-gold{display:inline-block;background:var(--gold);color:var(--navy);padding:16px 36px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;border-radius:2px;transition:all .25s}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px)}
.btn-ghost{color:rgba(255,255,255,.7);font-size:13px;letter-spacing:.06em;display:inline-flex;align-items:center;gap:8px;transition:color .2s}
.btn-ghost::after{content:'→'}.btn-ghost:hover{color:var(--gold-light)}
.btn-outline-gold{display:inline-block;border:1px solid rgba(201,169,110,.4);color:var(--gold-light);padding:12px 26px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;transition:all .25s}
.btn-outline-gold:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-outline{display:inline-block;border:1px solid rgba(46,64,87,.25);color:var(--slate);padding:14px 32px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;transition:all .25s}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-dark{display:inline-block;background:var(--navy);color:var(--gold-light);padding:16px 40px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;border-radius:2px;transition:all .25s;white-space:nowrap}
.btn-dark:hover{background:var(--navy-mid);transform:translateY(-1px)}

/* ─── PAGE HERO (inner pages) ────────────────────── */
.page-hero{background:var(--navy);padding:88px 80px 80px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 50%,rgba(201,169,110,.08) 0%,transparent 55%);pointer-events:none}
.page-hero .hero-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:14px;animation:fadeUp .6s ease both}
.page-hero .hero-eyebrow::before{content:'';display:block;width:32px;height:1px;background:var(--gold)}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,68px);font-weight:300;color:#fff;line-height:1.08;max-width:700px;animation:fadeUp .7s .1s ease both}
.page-hero h1 em{color:var(--gold-light);font-style:italic}
.page-hero .hero-sub{font-size:15px;line-height:1.75;color:rgba(255,255,255,.48);max-width:520px;margin-top:20px;font-weight:300;animation:fadeUp .7s .2s ease both}

/* ─── CTA STRIP ──────────────────────────────────── */
.cta-strip{background:var(--gold);padding:64px 80px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:32px}
.cta-strip h2{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3.5vw,46px);font-weight:300;color:var(--navy);line-height:1.15}
.cta-strip h2 em{font-style:italic}
.cta-actions{display:flex;gap:16px;flex-wrap:wrap}

/* ─── TRUST STRIP ────────────────────────────────── */
.trust-strip{background:#fff;border-bottom:1px solid rgba(0,0,0,.06);padding:28px 80px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
.trust-item{display:flex;align-items:center;gap:14px;flex:1;min-width:200px}
.trust-icon{width:44px;height:44px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.trust-text strong{display:block;font-size:13px;font-weight:500;color:var(--navy)}
.trust-text span{font-size:12px;color:var(--muted)}

/* ═══════════════════════════════════════
   HOME PAGE
═══════════════════════════════════════ */
.home-hero{min-height:92vh;background:var(--navy);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}
.home-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 60%,rgba(201,169,110,.08) 0%,transparent 60%);pointer-events:none}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:80px 64px 80px 80px;position:relative;z-index:2}
.hero-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:flex;align-items:center;gap:14px;animation:fadeUp .6s ease both}
.hero-eyebrow::before{content:'';display:block;width:32px;height:1px;background:var(--gold)}
.hero-left h1{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,6vw,80px);font-weight:300;color:#fff;line-height:1.08;letter-spacing:-.01em;margin-bottom:28px;animation:fadeUp .7s .1s ease both}
.hero-left h1 em{color:var(--gold-light);font-style:italic}
.hero-sub{font-size:16px;line-height:1.7;color:rgba(255,255,255,.55);max-width:420px;margin-bottom:48px;font-weight:300;animation:fadeUp .7s .2s ease both}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;animation:fadeUp .7s .3s ease both}
.hero-stats{display:flex;gap:40px;margin-top:64px;padding-top:40px;border-top:1px solid rgba(255,255,255,.08);animation:fadeUp .7s .4s ease both}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--gold-light);line-height:1}
.stat-label{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.1em;margin-top:6px}
.hero-right{position:relative;overflow:hidden}
.hero-img-wrapper{position:absolute;inset:0}
.hero-img-wrapper img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-img-wrapper::after{content:'';position:absolute;left:0;top:0;bottom:0;width:120px;background:linear-gradient(to right,var(--navy),transparent);z-index:2}
.hero-badge{position:absolute;bottom:48px;right:48px;z-index:3;background:rgba(15,28,46,.85);border:1px solid var(--border);backdrop-filter:blur(12px);padding:20px 28px;border-radius:4px;text-align:center}
.hero-badge .rating{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--gold)}
.stars{color:var(--gold);font-size:13px;letter-spacing:2px;margin:4px 0}
.hero-badge small{font-size:11px;color:var(--muted);letter-spacing:.08em}

/* About */
.about-section{padding:100px 80px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-visual{position:relative;height:520px}
.about-card-main{position:absolute;inset:0;border-radius:4px;overflow:hidden}
.about-card-main img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-float-card{position:absolute;bottom:-24px;right:-32px;background:#fff;border-radius:4px;padding:24px 28px;box-shadow:0 20px 60px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.06);min-width:220px}
.about-float-card .num{font-family:'Cormorant Garamond',serif;font-size:48px;color:var(--navy);font-weight:300;line-height:1}
.about-float-card p{font-size:12px;color:var(--muted);margin-top:4px;letter-spacing:.06em}
.about-content p{font-size:15px;line-height:1.85;color:#4a5a6e;margin-top:28px;font-weight:300}
.about-content p+p{margin-top:16px}
.about-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.pill{border:1px solid var(--border);padding:8px 18px;border-radius:100px;font-size:12px;letter-spacing:.06em;color:var(--slate)}
.about-cta{margin-top:40px}

/* Services section on home */
.services-section{background:var(--navy);padding:100px 80px}
.services-section .section-title{color:#fff}
.services-section .section-title em{color:var(--gold-light)}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;flex-wrap:wrap;gap:24px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.service-card{background:var(--navy-mid);padding:44px 36px;border:1px solid rgba(255,255,255,.04);transition:all .3s;position:relative;overflow:hidden;cursor:default}
.service-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.service-card:hover{background:rgba(201,169,110,.06);transform:translateY(-4px)}
.service-card:hover::before{transform:scaleX(1)}
.service-num{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--gold);letter-spacing:.12em;margin-bottom:24px}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:#fff;margin-bottom:14px}
.service-card p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.45);font-weight:300}

/* Technology */
.tech-section{padding:100px 80px;background:var(--cream)}
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-top:60px}
.tech-items{display:flex;flex-direction:column}
.tech-item{padding:32px 0;border-bottom:1px solid rgba(0,0,0,.08);display:grid;grid-template-columns:56px 1fr;gap:24px;align-items:start}
.tech-item:first-child{border-top:1px solid rgba(0,0,0,.08)}
.tech-num-circle{width:40px;height:40px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--gold);font-family:'Cormorant Garamond',serif}
.tech-item-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--navy);margin-bottom:8px;transition:color .2s}
.tech-item:hover .tech-item-title{color:var(--gold)}
.tech-item p{font-size:13px;line-height:1.7;color:#6a7d90;font-weight:300}
.tech-visual{background:var(--navy);border-radius:4px;height:500px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.tech-visual::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(201,169,110,.15) 0%,transparent 65%)}
.tech-visual-inner{text-align:center;z-index:1}
.tech-visual-inner svg{opacity:.15}
.tech-visual-label{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-top:20px}

/* Testimonials */
.testimonials-section{background:#fff;padding:100px 80px}
.testimonials-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.testimonial-card{background:var(--cream);padding:36px 32px;border-radius:4px;border:1px solid rgba(0,0,0,.06);position:relative}
.testimonial-card::before{content:'\201C';font-family:'Cormorant Garamond',serif;font-size:80px;color:var(--gold);opacity:.3;position:absolute;top:10px;left:24px;line-height:1}
.t-stars{color:var(--gold);font-size:12px;letter-spacing:2px;margin-bottom:20px}
.t-text{font-size:14px;line-height:1.8;color:#4a5a6e;font-style:italic;font-weight:300;position:relative;z-index:1}
.t-author{margin-top:24px;padding-top:20px;border-top:1px solid rgba(0,0,0,.07);display:flex;align-items:center;gap:12px}
.t-avatar{width:36px;height:36px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--gold);flex-shrink:0}
.t-name{font-size:13px;font-weight:500;color:var(--navy)}
.t-meta{font-size:11px;color:var(--muted)}

/* Hours */
.info-section{background:var(--navy);display:grid;grid-template-columns:1fr 1fr}
.info-left{padding:80px;display:flex;flex-direction:column;justify-content:center}
.info-left h2{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:300;color:#fff;margin-bottom:40px;line-height:1.15}
.hours-table{width:100%}
.hours-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.hours-day{font-size:13px;color:rgba(255,255,255,.6)}
.hours-time{font-size:13px;color:var(--gold-light);font-weight:300}
.hours-closed{color:rgba(255,255,255,.25)!important}
.info-contact{margin-top:40px;display:flex;flex-direction:column;gap:16px}
.contact-row{display:flex;align-items:center;gap:14px}
.contact-icon{width:36px;height:36px;border:1px solid rgba(201,169,110,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.contact-row a{font-size:14px;color:rgba(255,255,255,.7);transition:color .2s}
.contact-row a:hover{color:var(--gold-light)}
.info-right{background:var(--navy-mid);display:flex;flex-direction:column;justify-content:center;padding:80px;border-left:1px solid rgba(255,255,255,.06)}
.map-placeholder{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:4px;height:240px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}
.map-pin{width:16px;height:16px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 6px rgba(201,169,110,.2),0 0 0 12px rgba(201,169,110,.08)}
.map-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ═══════════════════════════════════════
   SERVICES PAGE
═══════════════════════════════════════ */
.services-page-wrap{max-width:1200px;margin:0 auto;padding:80px 80px 100px}
.services-intro-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;flex-wrap:wrap;gap:24px;padding-bottom:40px;border-bottom:1px solid rgba(0,0,0,.08)}
.services-intro-sub{max-width:380px;font-size:14px;line-height:1.8;color:#6a7d90;font-weight:300}
.services-list{display:flex;flex-direction:column}
.service-list-item{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:32px;padding:36px 0;border-bottom:1px solid rgba(0,0,0,.07);position:relative}
.service-list-item:first-child{border-top:1px solid rgba(0,0,0,.07)}
.service-list-item::before{content:'';position:absolute;left:-80px;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:center;transition:transform .3s}
.service-list-item:hover::before{transform:scaleY(1)}
.service-list-item:hover .sli-name{color:var(--gold)}
.service-list-item:hover .sli-icon{background:var(--navy);border-color:var(--navy)}
.service-list-item:hover .sli-icon svg{stroke:var(--gold-light)}
.sli-num{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--gold);letter-spacing:.12em;font-weight:400;flex-shrink:0}
.sli-body{display:flex;align-items:flex-start;gap:24px}
.sli-icon{width:48px;height:48px;border-radius:50%;border:1px solid rgba(201,169,110,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s;background:#fff}
.sli-icon svg{width:20px;height:20px;stroke:var(--slate);stroke-width:1.5;fill:none;transition:stroke .25s}
.sli-text{flex:1}
.sli-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:6px;transition:color .25s}
.sli-desc{font-size:13px;line-height:1.7;color:#6a7d90;font-weight:300;max-width:600px}
.sli-tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid rgba(0,0,0,.1);padding:6px 14px;border-radius:100px;white-space:nowrap;flex-shrink:0}

/* ═══════════════════════════════════════
   TEAM PAGE
═══════════════════════════════════════ */
.doctor-section{padding:88px 80px 0}
.doctor-card{background:#fff;border-radius:6px;overflow:hidden;display:grid;grid-template-columns:420px 1fr;box-shadow:0 24px 64px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.05)}
.doctor-photo{position:relative;background:var(--navy-mid);min-height:520px;overflow:hidden}
.doctor-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.doctor-bio-wrap{padding:56px 56px 48px;display:flex;flex-direction:column;justify-content:center}
.doctor-credential{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.doctor-name{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;color:var(--navy);line-height:1.1;margin-bottom:8px}
.doctor-role{font-size:13px;letter-spacing:.08em;color:var(--muted);margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid rgba(0,0,0,.07)}
.doctor-bio-text{font-size:15px;line-height:1.85;color:#4a5a6e;font-weight:300}
.doctor-bio-text p+p{margin-top:16px}
.doctor-highlights{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.highlight-item{display:flex;align-items:flex-start;gap:12px}
.highlight-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:6px}
.highlight-item span{font-size:13px;color:var(--slate);line-height:1.5}
.doctor-cta{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.team-section{padding:80px 80px 100px}
.team-section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;flex-wrap:wrap;gap:20px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.team-card{background:#fff;border-radius:4px;overflow:hidden;border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 24px rgba(0,0,0,.04);transition:transform .3s,box-shadow .3s}
.team-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.1)}
.team-card-photo{height:280px;background:var(--navy-mid);position:relative;overflow:hidden}
.team-card-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(145deg,var(--navy-mid),var(--navy))}
.ph-initials{font-family:'Cormorant Garamond',serif;font-size:56px;font-weight:300;color:rgba(201,169,110,.35);line-height:1}
.team-card-body{padding:28px 28px 32px}
.tc-role{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.tc-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:14px}
.tc-bio{font-size:13px;line-height:1.75;color:#5a6d82;font-weight:300}
.tc-divider{height:1px;background:rgba(0,0,0,.06);margin:20px 0}
.tc-specialty{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.tc-specialty::before{content:'';width:16px;height:1px;background:var(--gold);flex-shrink:0}

/* ═══════════════════════════════════════
   APPOINTMENT PAGE
═══════════════════════════════════════ */
.appointment-wrap{display:grid;grid-template-columns:1fr 400px;gap:0;max-width:1280px;margin:0 auto;padding:72px 80px 100px;align-items:start}
.appt-form-col{padding-right:40px}
.form-section-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--navy);margin-bottom:6px}
.form-section-sub{font-size:13px;color:var(--muted);margin-bottom:28px;line-height:1.6}
.fg-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:18px 0 14px;border-top:1px solid rgba(0,0,0,.07);margin-top:8px;display:flex;align-items:center;gap:10px}
.fg-label:first-of-type{border-top:none;padding-top:0;margin-top:0}
.fg-label::after{content:'';flex:1;height:1px;background:rgba(0,0,0,.07)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-row.full{grid-template-columns:1fr}
.field{display:flex;flex-direction:column;gap:6px}
label.field-label{font-size:11px;letter-spacing:.08em;font-weight:500;color:var(--navy);text-transform:uppercase}
.req{color:var(--gold);margin-left:2px}
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{width:100%;padding:13px 16px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;color:var(--navy);background:#fff;border:1px solid var(--input-b);border-radius:3px;outline:none;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.12)}
input::placeholder,textarea::placeholder{color:#b0bec8}
textarea{resize:vertical;min-height:100px;line-height:1.6}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a9bb0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.check-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}
.check-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:9px 16px;border:1px solid var(--input-b);border-radius:100px;font-size:13px;color:var(--slate);transition:all .18s;user-select:none}
.check-item:hover{border-color:var(--gold);color:var(--navy)}
.check-item input{display:none}
.check-item.selected{background:var(--navy);border-color:var(--navy);color:var(--gold-light)}
.time-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}
.time-pill{padding:9px 18px;border:1px solid var(--input-b);border-radius:100px;font-size:12px;letter-spacing:.04em;color:var(--slate);cursor:pointer;transition:all .18s;user-select:none}
.time-pill:hover{border-color:var(--gold);color:var(--navy)}
.time-pill.selected{background:var(--navy);border-color:var(--navy);color:var(--gold-light)}
.field-error{font-size:11px;color:#c0392b;margin-top:3px;display:none}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#c0392b}
.field.has-error .field-error{display:block}
.form-submit-row{display:flex;align-items:center;gap:20px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(0,0,0,.07);flex-wrap:wrap}
.btn-submit{background:var(--navy);color:var(--gold-light);padding:16px 48px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;border:none;border-radius:2px;cursor:pointer;transition:all .25s}
.btn-submit:hover{background:var(--gold);color:var(--navy);transform:translateY(-1px)}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.submit-note{font-size:11px;color:var(--muted);line-height:1.6;max-width:260px}
.success-screen{display:none;text-align:center;padding:80px 40px}
.success-icon{width:72px;height:72px;background:rgba(39,174,96,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 24px;border:2px solid rgba(39,174,96,.25)}
.success-screen h2{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;color:var(--navy);margin-bottom:12px}
.success-screen h2 em{font-style:italic;color:var(--slate)}
.success-screen p{font-size:15px;color:var(--muted);line-height:1.75;max-width:400px;margin:0 auto 32px}
.appt-sidebar{padding-left:64px;position:sticky;top:100px}
.sidebar-block{background:#fff;border-radius:4px;padding:32px 28px;border:1px solid rgba(0,0,0,.06);margin-bottom:20px}
.sidebar-block h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.sidebar-block h4::before{content:'';display:block;width:16px;height:1px;background:var(--gold)}
.info-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.info-row:last-child{margin-bottom:0}
.info-icon{font-size:15px;flex-shrink:0;margin-top:1px}
.info-row a,.info-row span{font-size:13px;color:var(--slate);line-height:1.5;transition:color .2s}
.info-row a:hover{color:var(--gold)}
.hours-list{list-style:none}
.hours-list li{display:flex;justify-content:space-between;font-size:12px;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.05);color:var(--slate)}
.hours-list li:last-child{border-bottom:none}
.hours-list .closed{color:var(--muted);font-style:italic}
.response-note{background:rgba(201,169,110,.08);border:1px solid var(--border);border-radius:3px;padding:14px 16px;font-size:12px;color:#6a7a60;line-height:1.6}
.response-note strong{color:var(--navy)}

/* ─── FOOTER ─────────────────────────────────────── */
.site-footer{background:#080f1a;padding:64px 80px 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:20px;color:#fff;line-height:1.2;display:block;margin-bottom:16px}
.footer-logo span{display:block;font-size:11px;font-family:'DM Sans',sans-serif;letter-spacing:.18em;color:var(--gold);font-weight:300;text-transform:uppercase;margin-top:2px}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.35);line-height:1.7;font-weight:300;max-width:280px}
.footer-col h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-col ul a{font-size:13px;color:rgba(255,255,255,.45);transition:color .2s}
.footer-col ul a:hover{color:var(--gold-light)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:11px;color:rgba(255,255,255,.2)}
.footer-bottom-links{display:flex;gap:24px}
.footer-bottom-links a{font-size:11px;color:rgba(255,255,255,.2);transition:color .2s}
.footer-bottom-links a:hover{color:rgba(255,255,255,.5)}

/* ─── MOBILE BAR ─────────────────────────────────── */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);border-top:1px solid var(--border);padding:12px 16px;gap:10px}
.mobile-cta-bar a{flex:1;text-align:center;padding:12px;font-size:12px;letter-spacing:.08em;font-weight:500;border-radius:2px}
.mobile-cta-bar .m-call{background:rgba(255,255,255,.06);color:rgba(255,255,255,.75)}
.mobile-cta-bar .m-appt{background:var(--gold);color:var(--navy)}

/* ─── ANIMATION ──────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* ─── RESPONSIVE ─────────────────────────────────── */
@media(max-width:1100px){
  .doctor-card{grid-template-columns:340px 1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:1024px){
  .about-section,.testimonials-section,.tech-section{padding:72px 40px}
  .services-section{padding:72px 40px}
  .info-left,.info-right{padding:60px 40px}
  .trust-strip,.cta-strip{padding:28px 40px}
  .site-footer{padding:56px 40px 28px}
  .page-hero{padding:72px 40px 64px}
  .doctor-section{padding:72px 40px 0}
  .team-section{padding:60px 40px 80px}
  .services-page-wrap{padding:60px 40px 80px}
  .appointment-wrap{padding:60px 40px 80px}
}
@media(max-width:900px){
  .home-hero{grid-template-columns:1fr;min-height:auto}
  .hero-right{display:none}
  .about-grid,.tech-grid,.info-section{grid-template-columns:1fr}
  .about-visual{height:280px}
  .about-float-card{right:0;bottom:-20px}
  .services-grid{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .doctor-card{grid-template-columns:1fr}
  .doctor-photo{min-height:360px}
  .doctor-bio-wrap{padding:36px 28px}
  .doctor-highlights{grid-template-columns:1fr}
  .appointment-wrap{grid-template-columns:1fr}
  .appt-form-col{padding-right:0}
  .appt-sidebar{padding-left:0;position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
  .appt-sidebar .sidebar-block:last-child{grid-column:span 2}
}
@media(max-width:768px){
  .site-nav{padding:0 20px}
  .nav-menu{display:none}
  .nav-menu.open{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:rgba(248,245,239,.98);padding:20px;border-bottom:1px solid var(--border);gap:4px;z-index:99}
  .nav-menu.open li{width:100%}
  .nav-menu.open a{display:block;padding:12px 16px}
  .nav-toggle{display:flex}
  .hero-left{padding:56px 24px 48px}
  .hero-stats{gap:24px}
  .trust-strip{padding:20px 24px}
  .about-section,.tech-section,.testimonials-section{padding:56px 24px}
  .services-section{padding:56px 24px}
  .services-grid{grid-template-columns:1fr}
  .info-left,.info-right{padding:48px 24px}
  .cta-strip{padding:48px 24px}
  .site-footer{padding:48px 24px 100px}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .page-hero{padding:56px 24px 48px}
  .doctor-section{padding:48px 24px 0}
  .team-section{padding:48px 24px 80px}
  .team-grid{grid-template-columns:1fr}
  .services-page-wrap{padding:48px 24px 80px}
  .service-list-item{grid-template-columns:40px 1fr}
  .sli-tag{display:none}
  .appointment-wrap{padding:40px 24px 80px}
  .form-row{grid-template-columns:1fr}
  .appt-sidebar{display:block}
  .topbar{gap:16px;font-size:11px}
  .mobile-cta-bar{display:flex}
}
