
  :root{
    --bg: #F5F7F4;
    --surface: #FFFFFF;
    --ink: #14231F;
    --ink-soft: #4B5A55;
    --teal-900: #0B4F45;
    --teal-800: #0E5E51;
    --teal-700: #146B5B;
    --teal-100: #E4EFEB;
    --gold-500: #D9A441;
    --gold-600: #B98A2E;
    --red-600: #B23A2F;
    --red-100: #F6E6E3;
    --line: #DDE3DE;
    --shadow: 0 20px 50px -25px rgba(11,79,69,0.35);
    --radius: 14px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    font-size:16px;
    line-height:1.6;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces',serif;
    font-weight:600;
    line-height:1.12;
    margin:0 0 .5em;
    letter-spacing:-0.01em;
  }
  h1{font-size:clamp(2.4rem,4.6vw,4rem);}
  h2{font-size:clamp(1.9rem,3.2vw,2.7rem);}
  h3{font-size:1.25rem;}
  p{margin:0 0 1em;color:var(--ink-soft);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--teal-700);
    display:flex;
    align-items:center;
    gap:.5em;
    margin-bottom:.9em;
    font-weight:500;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:2px;
    background:var(--gold-500);
    display:inline-block;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  section{padding:96px 0;}
  .btn{
    display:inline-flex;align-items:center;gap:.6em;
    padding:14px 26px;border-radius:999px;
    font-weight:600;font-size:.95rem;
    border:1px solid transparent;
    cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--teal-900);color:#fff;box-shadow:var(--shadow);}
  .btn-primary:hover{background:var(--teal-800);}
  .btn-ghost{background:transparent;border-color:rgba(255,255,255,.35);color:inherit;}
  .btn-outline{border-color:var(--teal-900);color:var(--teal-900);}
  .btn-red{background:var(--red-600);color:#fff;}
  .btn-red:hover{background:#9c3128;}

  /* ---------- TOPBAR ---------- */
  .topbar{
    background:var(--teal-900);color:#EAF3F0;
    font-family:'IBM Plex Mono',monospace;
    font-size:.76rem;
  }
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap;}
  .topbar-item{display:flex;align-items:center;gap:8px;opacity:.92;}
  .topbar-emergency{color:#FFD9CF;font-weight:500;}
  .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-500);display:inline-block;}

  /* ---------- HEADER ---------- */
  header.site{
    position:sticky;top:0;z-index:50;
    background:rgba(245,247,244,0.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{
    width:44px;height:44px;border-radius:10px;
    background:var(--teal-900);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .brand-name{font-family:'Fraunces',serif;font-weight:600;font-size:1.18rem;line-height:1.1;}
  .brand-name small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;font-weight:400;margin-top:2px;}
  nav.links{display:flex;gap:34px;align-items:center;}
  nav.links a{font-size:.94rem;font-weight:500;color:var(--ink);position:relative;}
  nav.links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--gold-500);transition:width .2s ease;}
  nav.links a:hover::after{width:100%;}
  .nav-cta{display:flex;gap:10px;align-items:center;}
  @media (max-width:920px){ nav.links{display:none;} }

  /* ---------- HERO ---------- */
  .hero{padding:70px 0 0;overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  @media (max-width:900px){.hero-grid{grid-template-columns:1fr;}}
  .hero-copy p.lead{font-size:1.12rem;max-width:46ch;}
  .hero-ctas{display:flex;gap:14px;margin:30px 0 40px;flex-wrap:wrap;}
  .trust-row{display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px;}
  .trust-item .num{font-family:'Fraunces',serif;font-size:1.7rem;color:var(--teal-900);font-weight:600;}
  .trust-item .lbl{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}

  .hero-visual{position:relative;}
  .hero-card{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);overflow:hidden;
  }
  .hero-photo{
    height:340px;
    background:
      linear-gradient(160deg, rgba(11,79,69,.72), rgba(11,79,69,.35)),
      repeating-linear-gradient(45deg, #cfe0da 0 12px, #c3d7cf 12px 24px);
    display:flex;align-items:flex-end;padding:22px;color:#fff;position:relative;
  }
  .hero-photo .tag{
    font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;
    background:rgba(255,255,255,.16);padding:6px 12px;border-radius:999px;
    text-transform:uppercase;
  }
  .hero-photo-label{position:absolute;top:22px;right:22px;font-family:'IBM Plex Mono',monospace;font-size:.65rem;color:rgba(255,255,255,.75);text-align:right;}

  /* floating quick-check widget */
  .float-widget{
    position:absolute;left:-30px;bottom:-30px;width:230px;
    background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;
    box-shadow:0 24px 40px -18px rgba(11,79,69,.4);
  }
  @media (max-width:900px){.float-widget{position:static;margin-top:18px;width:auto;}}
  .float-widget h4{font-size:.82rem;margin-bottom:10px;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-900);}
  .float-row{display:flex;justify-content:space-between;font-size:.82rem;padding:6px 0;border-top:1px dashed var(--line);}
  .float-row:first-of-type{border-top:none;}
  .status-ok{color:var(--teal-700);font-weight:600;}
  .status-warn{color:var(--gold-600);font-weight:600;}

  /* ---------- LIVE STATUS STRIP (signature element) ---------- */
  .status-strip{
    background:var(--teal-900);color:#fff;
    margin-top:90px;
  }
  .status-strip .wrap{padding:26px 28px;}
  .status-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
  .status-head h3{color:#fff;margin:0;font-size:1.05rem;}
  .status-head .clock{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:#BFE0D6;}
  .status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.14);}
  @media (max-width:900px){.status-grid{grid-template-columns:repeat(2,1fr);}}
  .status-cell{padding:18px 22px;border-right:1px solid rgba(255,255,255,.14);}
  .status-cell:last-child{border-right:none;}
  .status-cell .k{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#9FC9BE;margin-bottom:8px;}
  .status-cell .v{font-family:'Fraunces',serif;font-size:1.25rem;}
  .pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-family:'IBM Plex Mono',monospace;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.12);margin-top:6px;}
  .pill .dot{background:#5FD6B0;}
  .pill.busy .dot{background:var(--gold-500);}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start;}
  @media (max-width:900px){.about-grid{grid-template-columns:1fr;}}
  .about-figure{
    background:var(--teal-100);border-radius:var(--radius);
    aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
    border:1px solid var(--line);position:relative;overflow:hidden;
  }
  .about-figure .caption{position:absolute;bottom:16px;left:16px;right:16px;background:rgba(255,255,255,.9);border-radius:8px;padding:10px 14px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--teal-900);}
  .value-list{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;}
  @media (max-width:600px){.value-list{grid-template-columns:1fr;}}
  .value-item{border-top:2px solid var(--teal-900);padding-top:12px;}
  .value-item h4{font-family:'Fraunces',serif;font-size:1.02rem;margin-bottom:6px;}
  .value-item p{font-size:.92rem;margin:0;}

  /* ---------- DEPARTMENTS ---------- */
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
  .section-head p{max-width:52ch;margin:0;}
  .dept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
  @media (max-width:900px){.dept-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.dept-grid{grid-template-columns:1fr;}}
  .dept-card{
    background:var(--surface);padding:30px 26px;
    transition:background .18s ease;
  }
  .dept-card:hover{background:var(--teal-100);}
  .dept-icon{width:38px;height:38px;margin-bottom:18px;color:var(--teal-900);}
  .dept-card h4{font-size:1.08rem;margin-bottom:8px;}
  .dept-card p{font-size:.88rem;margin-bottom:12px;}
  .dept-meta{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--gold-600);text-transform:uppercase;letter-spacing:.05em;}

  /* ---------- WHY US ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
  @media (max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.why-grid{grid-template-columns:1fr;}}
  .why-card{padding:0;}
  .why-num{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--gold-600);margin-bottom:14px;}
  .why-card h4{font-size:1.05rem;margin-bottom:8px;}
  .why-card p{font-size:.9rem;}

  /* ---------- DOCTORS ---------- */
  .doc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
  @media (max-width:900px){.doc-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.doc-grid{grid-template-columns:1fr;}}
  .doc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
  .doc-photo{
    aspect-ratio:1/1;
    background:linear-gradient(150deg,var(--teal-100),#fff);
    display:flex;align-items:center;justify-content:center;
    color:var(--teal-700);
  }
  .doc-info{padding:18px 20px 22px;}
  .doc-info h4{margin-bottom:2px;font-size:1rem;}
  .doc-role{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--teal-700);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;display:block;}
  .doc-info p{font-size:.85rem;margin:0;}

  /* ---------- TESTIMONIALS ---------- */
  .test-strip{background:var(--teal-900);color:#fff;}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
  @media (max-width:900px){.test-grid{grid-template-columns:1fr;}}
  .test-card{border-top:2px solid var(--gold-500);padding-top:18px;}
  .test-card p{color:#DCEAE6;font-family:'Fraunces',serif;font-size:1.08rem;font-weight:300;font-style:italic;line-height:1.5;}
  .test-name{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:#9FC9BE;text-transform:uppercase;letter-spacing:.05em;margin-top:14px;}

  /* ---------- INSURANCE ---------- */
  .insure-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;}
  .insure-chip{
    border:1px solid var(--line);border-radius:999px;
    padding:10px 20px;font-family:'IBM Plex Mono',monospace;font-size:.75rem;
    background:var(--surface);color:var(--ink-soft);
  }

  /* ---------- APPOINTMENT ---------- */
  .appt-block{
    background:var(--surface);border:1px solid var(--line);border-radius:20px;
    padding:54px;display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;box-shadow:var(--shadow);
  }
  @media (max-width:900px){.appt-block{grid-template-columns:1fr;padding:34px 26px;}}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media (max-width:560px){.form-grid{grid-template-columns:1fr;}}
  .field{display:flex;flex-direction:column;gap:6px;grid-column:span 1;}
  .field.full{grid-column:1/-1;}
  .field label{font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);}
  .field input,.field select,.field textarea{
    border:1px solid var(--line);border-radius:8px;padding:11px 13px;
    font-family:'Inter',sans-serif;font-size:.92rem;background:#fbfcfb;color:var(--ink);
  }
  .field textarea{resize:vertical;min-height:80px;}

  /* ---------- FAQ ---------- */
  .faq-item{border-top:1px solid var(--line);padding:22px 0;}
  .faq-item:last-child{border-bottom:1px solid var(--line);}
  .faq-q{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500;}
  .faq-plus{font-family:'IBM Plex Mono',monospace;color:var(--teal-700);font-size:1.1rem;}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .faq-item.open .faq-a{max-height:200px;margin-top:12px;}

  /* ---------- CONTACT ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
  @media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
  .contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:16px;}
  .contact-card .k{font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--teal-700);margin-bottom:6px;}
  .map-placeholder{
    background:repeating-linear-gradient(45deg,#e7ede9 0 14px,#dde6e0 14px 28px);
    border:1px solid var(--line);border-radius:var(--radius);
    height:100%;min-height:340px;display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--ink-soft);text-align:center;padding:20px;
  }

  /* ---------- FOOTER ---------- */
  footer{background:#0A2320;color:#BFD6CF;padding:70px 0 26px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
  @media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;}}
  .foot-grid h5{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#7FA69B;margin-bottom:16px;}
  .foot-grid a{display:block;font-size:.88rem;margin-bottom:10px;color:#D7E8E2;}
  .foot-grid a:hover{color:#fff;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#7FA69B;font-family:'IBM Plex Mono',monospace;}

  .placeholder-flag{
    display:inline-block;background:var(--red-100);color:var(--red-600);
    font-family:'IBM Plex Mono',monospace;font-size:.62rem;text-transform:uppercase;
    padding:2px 7px;border-radius:5px;letter-spacing:.05em;margin-left:6px;vertical-align:middle;
  }

/* ---------- INNER PAGE HEADER ---------- */
.page-header{
  padding:64px 0 54px;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg, var(--teal-100) 0%, var(--bg) 100%);
}
.page-header .crumbs{
  font-family:'IBM Plex Mono',monospace;font-size:.72rem;
  color:var(--teal-700);text-transform:uppercase;letter-spacing:.06em;
  margin-bottom:14px;display:flex;gap:8px;align-items:center;
}
.page-header .crumbs a{color:var(--teal-700);}
.page-header .crumbs span{opacity:.5;}
.page-header h1{font-size:clamp(2rem,3.6vw,3rem);max-width:22ch;}
.page-header p.lead{max-width:56ch;font-size:1.05rem;margin-top:10px;}

nav.links a.active{color:var(--teal-900);}
nav.links a.active::after{width:100%;background:var(--teal-900);}

/* ---------- STAT BAND (About) ---------- */
.stat-band{
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--surface);margin:50px 0;
}
@media (max-width:800px){.stat-band{grid-template-columns:repeat(2,1fr);}}
.stat-cell{padding:28px 24px;border-right:1px solid var(--line);}
.stat-cell:last-child{border-right:none;}
.stat-cell .num{font-family:'Fraunces',serif;font-size:2rem;color:var(--teal-900);font-weight:600;}
.stat-cell .lbl{font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-top:6px;}

/* ---------- TIMELINE (About) ---------- */
.timeline{border-left:2px solid var(--line);padding-left:30px;margin-top:10px;}
.timeline-item{position:relative;padding-bottom:34px;}
.timeline-item::before{
  content:"";position:absolute;left:-36px;top:4px;width:10px;height:10px;border-radius:50%;
  background:var(--gold-500);border:2px solid var(--bg);
}
.timeline-item .yr{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--teal-700);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.timeline-item h4{font-size:1.02rem;margin-bottom:4px;}
.timeline-item p{font-size:.9rem;margin:0;max-width:52ch;}

/* ---------- DEPARTMENT DETAIL PAGE ---------- */
.dept-detail{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:0;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);
  margin-bottom:26px;
}
@media (max-width:800px){.dept-detail{grid-template-columns:1fr;}}
.dept-detail-visual{
  background:var(--teal-100);display:flex;align-items:center;justify-content:center;
  min-height:200px;color:var(--teal-800);position:relative;
}
.dept-detail-visual .lab{position:absolute;bottom:14px;left:14px;font-family:'IBM Plex Mono',monospace;font-size:.65rem;background:rgba(255,255,255,.85);padding:4px 10px;border-radius:6px;color:var(--teal-900);}
.dept-detail-body{padding:32px 34px;}
.dept-detail-body .tagrow{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px;}
.dept-tag{font-family:'IBM Plex Mono',monospace;font-size:.68rem;background:var(--teal-100);color:var(--teal-900);padding:5px 11px;border-radius:999px;}
.dept-detail-body ul{margin:14px 0 0;padding-left:18px;color:var(--ink-soft);font-size:.92rem;}
.dept-detail-body li{margin-bottom:6px;}

/* ---------- CONTACT PAGE EXTRA ---------- */
.contact-hero-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:60px;
}
@media (max-width:800px){.contact-hero-strip{grid-template-columns:1fr;}}
.contact-hero-cell{background:var(--surface);padding:26px 24px;}
.contact-hero-cell .k{font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-700);margin-bottom:8px;}
.contact-hero-cell .v{font-family:'Fraunces',serif;font-size:1.15rem;}

/* ---------- MOBILE NAV ---------- */
.burger{
  display:none;
  width:40px;height:40px;border-radius:8px;border:1px solid var(--line);
  background:var(--surface);align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
}
.burger span, .burger span::before, .burger span::after{
  content:"";display:block;width:18px;height:2px;background:var(--ink);position:relative;
  transition:transform .2s ease, opacity .2s ease;
}
.burger span::before{position:absolute;top:-6px;}
.burger span::after{position:absolute;top:6px;}
.burger.open span{background:transparent;}
.burger.open span::before{transform:rotate(45deg);top:0;}
.burger.open span::after{transform:rotate(-45deg);top:0;}

@media (max-width:920px){
  .burger{display:flex;order:3;}
  .nav-cta .btn-red{display:none;}
  .nav-cta .btn-primary{padding:11px 18px;font-size:.85rem;}
  nav.links{
    display:flex;flex-direction:column;align-items:flex-start;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:var(--surface);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;
    transition:max-height .25s ease;
    padding:0 28px;
  }
  nav.links.open{max-height:340px;padding:10px 28px 20px;}
  nav.links a{width:100%;padding:12px 0;border-bottom:1px solid var(--line);}
  nav.links a:last-child{border-bottom:none;}
  header.site .nav{position:relative;}
}
