
  :root{
    --bg:#FAF7F0;
    --bg-alt:#E9F3F1;
    --panel:#FFFFFF;
    --ink:#16302E;
    --ink-soft:#5E7876;
    --pine:#14807A;
    --pine-deep:#0B4A44;
    --pine-light:#A9D8D1;
    --clay:#C98A3E;
    --gold:#C9A15A;
    --line:#DCEAE7;
    --section-bg:#F1F7F5;
    --text-muted:#5E7876;
    --text-dark:#16302E;
    --shadow: 0 20px 40px -24px rgba(11,74,68,0.18);
    --radius: 18px;
    --maxw: 1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',system-ui,sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces',serif;
    font-weight:600;
    line-height:1.08;
    letter-spacing:-0.01em;
    color:var(--pine-deep);
    margin:0;
  }
  .eyebrow{
    font-family:'Space Grotesk',monospace;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:0.8rem;
    font-weight:600;
    color:var(--clay);
    display:flex;
    align-items:center;
    gap:0.5em;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;background:var(--clay);display:inline-block;
  }
  p{color:var(--ink-soft); margin:0 0 1em;}
  a{color:inherit;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  section{padding:96px 0;}
  main > section:not(.hero){content-visibility:auto;contain-intrinsic-size:auto 850px;}
  @media (max-width:700px){ section{padding:64px 0;} }

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(251,247,241,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 28px; max-width:var(--maxw); margin:0 auto;
  }
  .brand{
    display:flex; align-items:center; gap:10px;
    font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; color:var(--pine-deep);
    text-decoration:none;
  }
  .brand-mark{
    width:46px;height:46px;border-radius:50%;
    object-fit:cover; display:block;
    flex-shrink:0;
  }
  .brand small{display:block; font-family:'Inter'; font-weight:500; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);}
  .brand-short{display:none;}
  nav.links{display:flex; gap:28px; align-items:center;}
  nav.links a{
    font-size:0.88rem; font-weight:500; text-decoration:none; color:var(--ink);
    position:relative; padding:4px 0;
  }
  nav.links a:hover{color:var(--pine);}
  .nav-item-dropdown{position:relative;}
  .nav-item-dropdown .dropdown-menu{
    position:absolute; top:100%; left:0; margin-top:10px; background:var(--panel);
    border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow);
    min-width:150px; padding:8px; display:flex; flex-direction:column; gap:2px;
    opacity:0; visibility:hidden; transform:translateY(-6px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease; z-index:60;
  }
  .nav-item-dropdown:hover .dropdown-menu,
  .nav-item-dropdown:focus-within .dropdown-menu{
    opacity:1; visibility:visible; transform:none;
  }
  .dropdown-menu a{
    padding:8px 12px; border-radius:8px; font-size:0.85rem; color:var(--ink);
    text-decoration:none; white-space:nowrap;
  }
  .dropdown-menu a:hover{background:var(--bg-alt); color:var(--pine);}
  .nav-actions{display:flex; align-items:center; gap:10px;}
  .lang-toggle{
    display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden;
    font-family:'Space Grotesk'; font-size:0.72rem; font-weight:600;
  }
  .lang-toggle button{
    border:none; background:transparent; padding:7px 12px; cursor:pointer; color:var(--ink-soft);
  }
  .lang-toggle button.active{background:var(--pine); color:#fff;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 20px; border-radius:999px; font-weight:600; font-size:0.88rem;
    text-decoration:none; border:1px solid transparent; cursor:pointer;
    font-family:'Inter';
  }
  .btn-primary{background:var(--pine); color:#fff;}
  .btn-primary:hover{background:var(--pine-deep);}
  .btn-outline{border-color:var(--pine); color:var(--pine-deep);}
  .btn-outline:hover{background:var(--pine); color:#fff;}
  .btn-clay{background:var(--clay); color:#fff;}
  .menu-toggle{display:none; background:none; border:none; font-size:1.4rem; cursor:pointer; color:var(--pine-deep);}
  @media (max-width:920px){
    nav.links{position:fixed; top:73px; left:0; right:0; background:var(--panel); flex-direction:column; align-items:flex-start; padding:18px 28px; border-bottom:1px solid var(--line); display:none; gap:16px; max-height:calc(100vh - 73px); overflow-y:auto;}
    nav.links.open{display:flex;}
    .nav-item-dropdown{width:100%;}
    .nav-item-dropdown .dropdown-menu{
      position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
      border:none; padding:6px 0 0 16px; margin-top:6px; display:flex; gap:10px; flex-wrap:wrap;
    }
    .menu-toggle{display:block;}
    .nav-actions .btn-outline span.long{display:none;}
    header .brand-full, header .brand small{display:none;}
    header .brand-short{display:inline;}
  }
  @media (max-width:480px){
    .nav{padding-left:14px; padding-right:14px;}
    .nav-actions{gap:6px;}
    .lang-toggle button{padding:6px 8px;}
    .nav-search-btn{width:34px; height:34px; font-size:0.9rem;}
    .nav-actions .btn-outline{padding:9px 12px;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; overflow:hidden;
    padding:80px 0 60px;
    background:
      radial-gradient(circle at 85% 10%, rgba(20,128,122,0.10), transparent 45%),
      var(--bg);
  }
  .hero-grid{
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;
  }
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
  .hero-grid-single{grid-template-columns:1fr; max-width:760px; text-align:center;}
  .hero-grid-single .hero-ctas{justify-content:center;}
  .hero-grid-single .stat-row{justify-content:center;}
  .hero-grid-single .sub{margin-left:auto; margin-right:auto;}
  .hero-grid-single .eyebrow{justify-content:center;}
  .hero-grid-single .eyebrow::before{display:none;}
  .hero h1{font-size:clamp(2.1rem, 4.4vw, 3.4rem); margin:14px 0 18px;}
  .hero .sub{font-size:1.08rem; max-width:44ch; margin-bottom:28px;}
  .hero-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:36px;}
  .stat-row{display:flex; gap:28px; flex-wrap:wrap;}
  .stat{min-width:110px;}
  .stat .num{font-family:'Space Grotesk'; font-weight:700; font-size:1.6rem; color:var(--pine-deep);}
  .stat .lbl{font-size:0.78rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em;}
  .hero-visual{
    position:relative; aspect-ratio:4/5; border-radius:28px; padding:20px;
    background:linear-gradient(160deg,var(--pine) 0%, var(--pine-deep) 100%);
    box-shadow:var(--shadow);
  }
  .hero-photo-frame{
    position:absolute; inset:20px; border-radius:20px;
    background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.3);
    display:flex; align-items:center; justify-content:center; text-align:center;
    color:#fff; font-family:'Fraunces'; font-size:1rem; padding:24px;
  }
  .float-badge{
    position:absolute; background:#fff; border-radius:16px; padding:14px 18px;
    box-shadow:var(--shadow); text-align:left; z-index:3; min-width:130px;
  }
  .badge-top{ top:-16px; right:-16px; }
  .badge-bottom{ bottom:-16px; left:-16px; }
  .fb-num{ font-family:'Space Grotesk'; font-weight:700; font-size:1.3rem; color:var(--pine-deep); line-height:1; }
  .fb-lbl{ font-size:0.7rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em; margin-top:4px; }
  @media (max-width:500px){
    .badge-top{ top:-12px; right:-12px; padding:10px 14px; min-width:110px; }
    .badge-bottom{ bottom:-12px; left:-12px; padding:10px 14px; min-width:110px; }
    .fb-num{ font-size:1.05rem; }
  }
  .vine-path{
    fill:none; stroke:#fff; stroke-width:2; opacity:0.55;
    stroke-dasharray:1400; stroke-dashoffset:1400;
    animation:draw 2.6s ease forwards 0.3s;
  }
  @keyframes draw{ to{ stroke-dashoffset:0; } }
  @media (prefers-reduced-motion: reduce){ .vine-path{animation:none; stroke-dashoffset:0;} }

  /* ---------- TRUST STRIP ---------- */
  .trust{
    background:var(--pine-deep); color:#fff; padding:34px 0;
  }
  .trust .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  @media (max-width:800px){ .trust .wrap{grid-template-columns:repeat(2,1fr);} }
  .trust-item{display:flex; gap:12px; align-items:flex-start;}
  .trust-item .leaf{flex-shrink:0; width:20px; height:20px; margin-top:2px;}
  .trust-item h4{font-family:'Space Grotesk'; font-size:0.85rem; font-weight:600; margin:0 0 4px; color:#fff;}
  .trust-item p{font-size:0.8rem; color:rgba(255,255,255,0.75); margin:0;}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center;}
  @media (max-width:900px){ .about-grid{grid-template-columns:1fr;} }
  .about-grid-single{grid-template-columns:1fr; max-width:760px; margin:0 auto;}
  .about h2{font-size:clamp(1.6rem,2.6vw,2.2rem); margin:10px 0 20px;}
  blockquote{
    border-left:3px solid var(--clay); margin:24px 0 0; padding:4px 0 4px 20px;
    font-family:'Fraunces'; font-style:italic; color:var(--pine-deep); font-size:1.05rem;
  }

  /* ---------- DOCTORS & CLINICS ---------- */
  .doctors{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .team-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center;}
  @media (max-width:900px){ .team-grid{grid-template-columns:1fr; gap:32px;} }
  .team-photo{border-radius:var(--radius); overflow:hidden; aspect-ratio:1122/1402; border:1px solid var(--line);}
  .team-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .clinic-tag{
    font-family:'Space Grotesk'; font-size:0.7rem; font-weight:600; text-transform:uppercase;
    letter-spacing:0.08em; color:var(--clay); margin-bottom:10px;
  }
  .doctor-info h3{font-size:1.3rem; line-height:1.3; margin-bottom:16px;}
  .doctor-info .reveal h2{margin-bottom:14px;}
  .doctor-desc{font-size:0.92rem; line-height:1.7; margin-bottom:26px;}
  .doctor-stats{display:flex; gap:20px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:20px;}
  .doctor-stats div{font-size:0.72rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.04em;}
  .doctor-stats span{display:block; font-family:'Space Grotesk'; font-weight:700; font-size:1.15rem; color:var(--pine-deep); text-transform:none; letter-spacing:0;}

  /* ---------- IN THE MEDIA ---------- */
  #media-coverage{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .media-feature{max-width:640px; margin:0 auto; text-align:center;}
  .media-feature blockquote{
    border-left:none; margin:0 0 18px; padding:0;
    font-family:'Fraunces'; font-style:italic; color:var(--pine-deep);
    font-size:clamp(1.15rem,2vw,1.4rem); line-height:1.4;
  }
  .media-feature > p{font-size:0.95rem; color:var(--ink-soft); line-height:1.65; margin-bottom:26px;}
  .media-pills{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:28px;}
  .media-pill{
    font-family:'Space Grotesk'; font-size:0.78rem; font-weight:600; color:var(--pine-deep);
    background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:8px 16px;
  }
  .media-pill-more{color:var(--clay); border-color:var(--clay);}
  .media-view-coverage{font-size:0.92rem;}

  .media-coverage-box{max-width:640px;}
  .media-coverage-body{padding-top:46px;}
  .media-coverage-list{margin-top:20px; border-top:1px solid var(--line);}
  .media-coverage-row{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:13px 2px; border-bottom:1px solid var(--line); text-decoration:none; color:inherit;
    transition:background .15s ease;
  }
  .media-coverage-row:hover{background:var(--bg-alt);}
  .media-coverage-name{font-family:'Space Grotesk'; font-size:0.88rem; font-weight:600; color:var(--ink);}
  .media-coverage-link{font-family:'Space Grotesk'; font-size:0.8rem; font-weight:600; color:var(--pine); white-space:nowrap;}
  .media-coverage-row:hover .media-coverage-link{color:var(--pine-deep);}
  @media (max-width:480px){
    .media-coverage-row{flex-direction:column; align-items:flex-start; gap:4px;}
  }

  /* ---------- PRESS & AWARDS ---------- */
  .press-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
  @media (max-width:700px){ .press-grid{grid-template-columns:1fr;} }
  .press-card{
    background:var(--bg); border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow);
    text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease;
  }
  a.press-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(0,0,0,0.12);}
  .press-card img{width:100%; height:auto; display:block;}
  .award-photo img{aspect-ratio:4/5; object-fit:cover; height:100%;}
  .press-card-label{
    font-family:'Space Grotesk'; font-size:0.78rem; font-weight:600; color:var(--pine-deep);
    padding:12px 14px; border-top:1px solid var(--line);
  }
  .press-card-placeholder{
    align-items:center; justify-content:center; text-align:center; gap:10px;
    border:1.5px dashed var(--line); background:transparent; box-shadow:none;
    padding:40px 16px; min-height:260px;
  }
  .press-placeholder-icon{font-size:1.8rem;}
  .press-card-placeholder .press-card-label{border-top:none; padding:0; color:var(--ink-soft); font-weight:500;}

  /* ---------- SERVICES ---------- */
  .services-head{text-align:center; max-width:640px; margin:0 auto 42px;}
  .services-head .eyebrow{justify-content:center;}
  .services-head .eyebrow::before{display:none;}
  .services-head h2{font-size:clamp(1.7rem,2.8vw,2.3rem); margin:10px 0 12px;}
  .tabs{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:40px;}
  .tab-btn{
    font-family:'Space Grotesk'; font-weight:600; font-size:0.85rem;
    padding:10px 20px; border-radius:999px; border:1px solid var(--line);
    background:var(--panel); cursor:pointer; color:var(--ink-soft);
  }
  .tab-btn.active{background:var(--pine); border-color:var(--pine); color:#fff;}
  .sub-tabs{display:flex; justify-content:center; gap:24px; margin-bottom:28px; border-bottom:1px solid var(--line);}
  .sub-tab-btn{
    font-family:'Space Grotesk'; font-weight:600; font-size:0.8rem; color:var(--ink-soft);
    background:none; border:none; border-bottom:2px solid transparent; cursor:pointer;
    padding:0 2px 12px; transition:color .2s ease, border-color .2s ease;
  }
  .sub-tab-btn:hover{color:var(--pine);}
  .sub-tab-btn.active{color:var(--clay); border-color:var(--clay);}
  .card[data-subcat].is-hidden{display:none;}
  .cards-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:900px){ .cards-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:620px){ .cards-grid{grid-template-columns:1fr;} }
  .service-panel{display:none;}
  .service-panel.active{display:block; animation:fade .4s ease;}
  @keyframes fade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }
  .card{
    background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
    padding:0 0 22px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;
  }
  .card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
  .card:active{transform:translateY(-1px); box-shadow:var(--shadow);}
  .card.search-highlight{position:relative; z-index:1; animation:card-search-pulse 1.1s ease-in-out 2;}
  @keyframes card-search-pulse{
    0%, 100%{ box-shadow:0 0 0 0 rgba(201,138,62,0), var(--shadow); }
    50%{ box-shadow:0 0 0 8px rgba(201,138,62,0.35), var(--shadow); }
  }
  @media (prefers-reduced-motion: reduce){
    .card.search-highlight{animation:none; box-shadow:0 0 0 4px rgba(201,138,62,0.4);}
  }
  .card-body{padding:20px 22px 0;}
  .card .icon{width:30px; height:30px; color:#fff; position:relative; z-index:2;}
  .card-banner{
    position:relative; aspect-ratio:16/10; display:flex; align-items:flex-end; padding:16px;
    background:linear-gradient(135deg, var(--pine) 0%, var(--pine-deep) 100%);
    overflow:hidden;
  }
  .card-banner svg.motif{position:absolute; inset:0; width:100%; height:100%; opacity:0.9;}
  .card-banner.has-img{padding:0;}
  .card-banner.has-img img{width:100%; height:100%; object-fit:cover; display:block;}
  .card h3{font-size:1.05rem; margin-bottom:8px; color:var(--pine-deep);}
  .card p{font-size:0.9rem; margin:0;}

  /* ---------- LEARN MORE (modal trigger) ---------- */
  .learn-more{
    display:inline-flex; align-items:center; gap:6px; margin-top:12px;
    font-family:'Space Grotesk'; font-weight:600; font-size:0.85rem;
    color:var(--pine); background:none; border:none; padding:0; cursor:pointer;
    text-decoration:none; transition:gap .2s ease, color .2s ease;
  }
  .learn-more:hover{gap:10px; color:var(--pine-deep);}

  /* ---------- TREATMENT DETAIL MODAL ---------- */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(11,26,24,0.55); backdrop-filter:blur(3px);
    display:flex; align-items:center; justify-content:center; padding:24px; z-index:100;
    opacity:0; transition:opacity .25s ease;
  }
  .modal-overlay[hidden]{display:none;}
  .modal-overlay.is-open{opacity:1;}
  .modal-box{
    background:var(--panel); border-radius:var(--radius); box-shadow:var(--shadow);
    max-width:760px; width:100%; max-height:88vh; overflow-y:auto; position:relative;
    transform:translateY(16px) scale(.98); opacity:0; transition:transform .3s ease, opacity .3s ease;
  }
  .modal-overlay.is-open .modal-box{transform:translateY(0) scale(1); opacity:1;}
  .modal-close{
    position:absolute; top:14px; right:14px; z-index:2; width:34px; height:34px; border-radius:50%;
    border:none; background:rgba(255,255,255,0.9); color:var(--ink); font-size:1.3rem; line-height:1;
    cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,0.15);
  }
  .modal-close:hover{background:#fff;}
  .modal-image{aspect-ratio:16/9;}
  .modal-image img{width:100%; height:100%; object-fit:cover; display:block;}
  .modal-body{padding:26px 28px 30px;}
  .modal-body h3{font-size:1.4rem; color:var(--pine-deep); margin:8px 0 12px;}
  .modal-lead{font-size:0.98rem; color:var(--ink-soft); line-height:1.6; margin-bottom:6px;}
  .modal-body h4{font-family:'Space Grotesk'; font-size:0.88rem; color:var(--pine-deep); margin:18px 0 6px;}
  .modal-body p{font-size:0.9rem; color:var(--ink-soft); line-height:1.6;}
  .modal-body ul{margin:0; padding-left:18px; font-size:0.9rem; color:var(--ink-soft); line-height:1.65;}
  .modal-walkin{
    background:var(--bg-alt); border:1px solid var(--line); border-radius:12px;
    padding:12px 14px; margin-top:18px; display:flex; flex-direction:column; gap:4px;
  }
  .modal-walkin strong{font-family:'Space Grotesk'; font-size:0.85rem; color:var(--pine-deep);}
  .modal-walkin span{font-size:0.82rem; color:var(--ink-soft);}
  .modal-body .btn{margin-top:12px;}
  body.modal-open{overflow:hidden;}
  @media (max-width:560px){
    .modal-body{padding:22px 20px 26px;}
    .modal-box{max-height:92vh;}
  }

  /* ---------- WHY / DIVIDER ---------- */
  .why{background:var(--bg-alt);}
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px;}
  @media (max-width:800px){ .why-grid{grid-template-columns:repeat(2,1fr);} }
  .why-item{text-align:center; padding:20px 12px;}
  .why-item .num{font-family:'Fraunces'; font-size:2.2rem; color:var(--clay);}
  .why-item .lbl{font-size:0.85rem; color:var(--ink-soft); margin-top:4px;}

  /* ---------- TESTIMONIALS ---------- */
/* TESTIMONIALS */

#testimonials {
  padding: 96px 0;
  background:
    radial-gradient(
      circle at top right,
      rgba(184, 137, 91, 0.10),
      transparent 35%
    ),
    var(--section-bg, #faf8f5);
}

.testimonials-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 42px;
}

.testimonials-head > div {
  max-width: 680px;
}

.testimonials-intro {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--text-muted, #69635e);
  font-size: 1rem;
  line-height: 1.7;
}

.google-reviews-button {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid rgba(41, 37, 36, 0.14);
  border-radius: 999px;
  background: #ffffff;
  color: var(--text-dark, #282422);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 28px rgba(41, 37, 36, 0.07);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.google-reviews-button:hover {
  transform: translateY(-2px);
  border-color: rgba(41, 37, 36, 0.28);
  box-shadow: 0 12px 34px rgba(41, 37, 36, 0.12);
}

.google-reviews-button:focus-visible,
.testi-text-link:focus-visible {
  outline: 3px solid rgba(66, 133, 244, 0.35);
  outline-offset: 4px;
}

.google-icon {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #4285f4;
  font-family: Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}

.testi-grid {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 8px 4px 20px;
}
.testi-grid::-webkit-scrollbar { display: none; }
.testi-card {
  flex: 0 0 calc((100% - 44px) / 3);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.testi-card {
  display: flex;
  min-height: 355px;
  margin: 0;
  padding: 28px;
  flex-direction: column;
  border: 1px solid rgba(41, 37, 36, 0.09);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 45px rgba(41, 37, 36, 0.06);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.testi-carousel{position:relative;}
.testi-controls{display:flex; align-items:center; justify-content:center; margin-top:10px;}
.testi-control{position:absolute;top:50%;z-index:3;width:46px;height:46px;padding:0;border:1px solid var(--line);background:rgba(255,255,255,.94);color:var(--pine-deep);box-shadow:0 8px 24px rgba(11,74,68,.18);cursor:pointer;border-radius:50%;font:600 1.2rem 'Inter',sans-serif;transform:translateY(-50%);}
#testiPrev{left:-19px;}
#testiNext{right:-19px;}
.testi-control:hover{background:var(--bg-alt);}
.testi-control:focus-visible,.testi-dot:focus-visible{outline:3px solid var(--pine-light); outline-offset:2px;}
.testi-dots{display:flex; gap:7px;}
.testi-dot{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:#b7cbc7;cursor:pointer;}
.testi-dot.is-active{background:var(--pine);transform:scale(1.25);}
@media(max-width:700px){.testi-control{width:40px;height:40px}#testiPrev{left:-8px}#testiNext{right:-8px}}

.testi-card:hover {
  transform: translateY(-5px);
  border-color: rgba(184, 137, 91, 0.28);
  box-shadow: 0 20px 55px rgba(41, 37, 36, 0.11);
}

.testi-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.review-source,
.review-category {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

.review-source {
  background: rgba(66, 133, 244, 0.09);
  color: #2767c7;
}

.review-category {
  background: rgba(184, 137, 91, 0.12);
  color: #875e38;
  text-align: right;
}

.stars {
  margin-bottom: 16px;
  color: #e7a928;
  font-size: 1.05rem;
  letter-spacing: 3px;
}

.testi-card blockquote {
  margin: 0;
  color: var(--text-dark, #302b28);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.03rem;
  line-height: 1.75;
}

.testi-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 26px;
}

.testi-avatar {
  display: grid;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #f1dfcf, #dfb993);
  color: #5a3b25;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.testi-author strong,
.testi-author small {
  display: block;
}

.testi-author strong {
  margin-bottom: 3px;
  color: var(--text-dark, #282422);
  font-size: 0.93rem;
}

.testi-author small {
  color: var(--text-muted, #77706a);
  font-size: 0.78rem;
}

.testimonials-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(41, 37, 36, 0.10);
}

.testi-disclaimer {
  max-width: 700px;
  margin: 0;
  color: var(--text-muted, #77706a);
  font-size: 0.78rem;
  line-height: 1.6;
}

.testi-text-link {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  color: var(--accent-dark, #7a5031);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.testi-text-link:hover {
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .testi-card { flex-basis: calc((100% - 22px) / 2); }
}

@media (max-width: 720px) {
  #testimonials {
    padding: 72px 0;
  }

  .testimonials-head,
  .testimonials-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .testi-card { flex-basis: 100%; }

  .testi-card {
    min-height: auto;
    padding: 24px;
  }

  .google-reviews-button {
    width: 100%;
    justify-content: center;
  }
}

  /* ---------- CLINIC PHOTO CAROUSEL ---------- */
  .carousel{
    position:relative; max-width:900px; margin:0 auto; border-radius:var(--radius);
    overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/10; background:var(--bg-alt);
  }
  .carousel-track{position:relative; width:100%; height:100%;}
  .carousel-slide{position:absolute; inset:0; opacity:0; transition:opacity .8s ease;}
  .carousel-slide.is-active{opacity:1;}
  .carousel-slide img{width:100%; height:100%; object-fit:cover; display:block;}
  .carousel-arrow{
    position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
    background:rgba(255,255,255,0.85); border:none; color:var(--pine-deep); font-size:1.4rem; line-height:1;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:background .2s ease, transform .2s ease; z-index:2;
  }
  .carousel-arrow:hover{background:#fff; transform:translateY(-50%) scale(1.08);}
  .carousel-prev{left:16px;}
  .carousel-next{right:16px;}
  .carousel-dots{position:absolute; left:0; right:0; bottom:14px; display:flex; justify-content:center; gap:8px; z-index:2;}
  .carousel-dot{
    width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.55); border:none;
    cursor:pointer; padding:0; transition:background .2s ease, transform .2s ease;
  }
  .carousel-dot.is-active{background:#fff; transform:scale(1.3);}
  @media (max-width:700px){
    .carousel{aspect-ratio:4/5;}
    .carousel-arrow{width:34px; height:34px; font-size:1.2rem;}
  }

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line); padding:20px 0;}
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; cursor:pointer;
    font-family:'Space Grotesk'; font-weight:600; font-size:0.98rem; color:var(--pine-deep);
  }
  .faq-q .plus{transition:transform .25s ease; font-size:1.2rem; color:var(--clay);}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-item.open .faq-a{max-height:320px;}
  .faq-a p{padding-top:12px; font-size:0.92rem;}

  /* ---------- CONTACT ---------- */
  .walkin-badge{
    display:inline-flex; align-items:center; gap:8px; background:var(--pine); color:#fff;
    padding:8px 16px; border-radius:999px; font-family:'Space Grotesk'; font-size:0.78rem; font-weight:600;
    margin-bottom:18px;
  }
  .info-row{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line);}
  .info-row .ic{width:20px; color:var(--pine); flex-shrink:0; margin-top:3px;}
  .info-row h4{font-family:'Space Grotesk'; font-size:0.85rem; margin:0 0 4px; color:var(--pine-deep);}
  .info-row p{font-size:0.9rem; margin:0;}
  .hours-table{width:100%; border-collapse:collapse; font-size:0.9rem;}
  .hours-table td{padding:7px 0; color:var(--ink-soft); font-weight:500;}
  .hours-table td:last-child{text-align:right; color:var(--pine-deep); font-weight:700;}
  .hours-box{background:#fff; border-radius:14px; padding:16px 18px; margin-top:6px;}
  .map-embed{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); height:280px;}
  .map-embed{background:linear-gradient(135deg,var(--bg-alt),#fff);}
  .map-embed iframe{width:100%; height:100%; border:0;}
  .map-btn{background:#fff; color:var(--pine-deep); width:100%; justify-content:center; margin-top:12px;}

  .social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
  .social-link{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;text-decoration:none;transition:background .2s,transform .2s;}
  .social-link:hover{background:rgba(255,255,255,.14);transform:translateY(-2px);}
  .social-link:focus-visible{outline:3px solid #e8d5a0;outline-offset:3px;}
  .social-link svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;}
  .social-letter{font-family:'Inter',sans-serif;font-weight:800;font-size:.9rem;}

  .back-to-top{position:fixed;right:22px;bottom:22px;z-index:45;width:48px;height:48px;border:0;border-radius:50%;background:var(--pine);color:#fff;box-shadow:0 10px 28px rgba(11,74,68,.28);font-size:1.35rem;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s;}
  .back-to-top.is-visible{opacity:1;visibility:visible;transform:none;}
  .back-to-top:hover{background:var(--pine-deep);}
  .back-to-top:focus-visible{outline:3px solid var(--clay);outline-offset:3px;}
  @media(max-width:700px){.back-to-top{right:16px;bottom:16px;width:44px;height:44px;}}

  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.testi-grid{scroll-behavior:auto}.testi-card,.back-to-top{transition:none!important}}
  .clinics-contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  @media (max-width:900px){ .clinics-contact-grid{grid-template-columns:1fr; gap:40px;} }
  .clinic-block-title{
    font-family:'Fraunces'; font-size:1.15rem; color:#fff; margin:0 0 22px;
    padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.2);
  }
  .contact-head{max-width:none; margin:0 0 36px; text-align:left;}
  .contact-head .eyebrow{justify-content:flex-start; color:#E8D5A0;}
  .contact-head .eyebrow::before{background:#E8D5A0;}
  .contact-head h2{color:#fff; text-align:left;}
  #contact .info-row{border-color:rgba(255,255,255,0.15);}
  #contact .info-row h4{color:#E8D5A0;}
  #contact .info-row p{color:rgba(255,255,255,0.85);}

  /* ---------- FOOTER ---------- */
  footer{background:var(--pine-deep); color:rgba(255,255,255,0.8); padding:48px 0 26px;}
  footer .wrap{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:20px;}
  footer .brand{color:#fff;}
  footer .brand small{color:rgba(255,255,255,0.6);}
  footer p{color:rgba(255,255,255,0.65); font-size:0.85rem; max-width:340px;}
  .foot-bottom{
    max-width:var(--maxw); margin:30px auto 0; padding:20px 28px 0; border-top:1px solid rgba(255,255,255,0.12);
    font-size:0.78rem; color:rgba(255,255,255,0.5); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
  }

  .reveal{opacity:0; transform:translateY(16px); transition:opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);}
  .reveal.in{opacity:1; transform:none;}

  /* ---------- INTERACTIONS & MICRO-ANIMATIONS ---------- */

  /* staggered reveal for grid children — add .stagger to the grid container */
  .stagger > .reveal:nth-child(1){transition-delay:.03s;}
  .stagger > .reveal:nth-child(2){transition-delay:.09s;}
  .stagger > .reveal:nth-child(3){transition-delay:.15s;}
  .stagger > .reveal:nth-child(4){transition-delay:.21s;}
  .stagger > .reveal:nth-child(5){transition-delay:.27s;}
  .stagger > .reveal:nth-child(6){transition-delay:.33s;}
  .stagger > .reveal:nth-child(7){transition-delay:.39s;}
  .stagger > .reveal:nth-child(8){transition-delay:.45s;}
  .stagger > .reveal:nth-child(n+9){transition-delay:.5s;}

  /* photo zoom — on hover for mouse users, on tap for touch */
  .zoom-hover{overflow:hidden;}
  .zoom-hover img{transition:transform .6s cubic-bezier(.22,1,.36,1);}
  .zoom-hover:hover img{transform:scale(1.07);}
  .zoom-hover:active img{transform:scale(1.04);}

  /* buttons: lift + press feedback */
  .btn{transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;}
  .btn:hover{transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(0,0,0,0.22);}
  .btn:active{transform:translateY(0) scale(.97); box-shadow:none;}
  .card-banner.has-img{transition:box-shadow .3s ease;}

  /* nav links: animated underline */
  nav.links a::after{
    content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
    background:var(--clay); border-radius:2px; transform:scaleX(0); transform-origin:left;
    transition:transform .3s cubic-bezier(.65,0,.35,1);
  }
  nav.links a:hover::after,
  nav.links a:active::after{transform:scaleX(1);}

  /* tab buttons: smoother state change */
  .tab-btn{transition:background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;}
  .tab-btn:hover{transform:translateY(-2px);}
  .tab-btn:active{transform:translateY(0) scale(.96);}
  .tab-btn.active{transform:none;}
  .sub-tab-btn:active{color:var(--clay);}

  /* sticky header: shadow once page scrolls */
  header{transition:box-shadow .3s ease, background .3s ease;}
  header.scrolled{box-shadow:0 8px 24px -12px rgba(0,0,0,0.15);}

  /* faq: subtle hover affordance */
  .faq-q{transition:color .2s ease;}
  .faq-q:hover{color:var(--pine);}

  /* image fade-in once loaded, so lazy images don't pop in abruptly */
  img[loading="lazy"]{transition:opacity .5s ease;}
  img[loading="lazy"]:not(.is-loaded){opacity:0;}

  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
    .zoom-hover img, .btn, .tab-btn, nav.links a::after, header{transition:none !important;}
  }

  /* ---------- FAQ CHATBOT WIDGET ---------- */
  .chatbot-fab{
    position:fixed; right:22px; bottom:22px; z-index:90; width:58px; height:58px; border-radius:50%;
    background:var(--pine); color:#fff; border:none; box-shadow:0 10px 28px -8px rgba(11,74,68,0.5);
    display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1.6rem;
    transition:transform .2s ease, background .2s ease;
  }
  .chatbot-fab:hover{transform:translateY(-3px) scale(1.05); background:var(--pine-deep);}
  .chatbot-fab .fab-icon-close{display:none;}
  .chatbot-fab.is-open .fab-icon-chat{display:none;}
  .chatbot-fab.is-open .fab-icon-close{display:block;}
  .chatbot-fab-badge{
    position:absolute; top:-2px; right:-2px; width:14px; height:14px; border-radius:50%;
    background:var(--clay); border:2px solid var(--bg);
  }

  .chatbot-panel{
    position:fixed; right:22px; bottom:92px; z-index:90; width:min(360px, calc(100vw - 44px));
    height:min(520px, calc(100vh - 140px)); background:var(--panel); border-radius:var(--radius);
    box-shadow:var(--shadow); border:1px solid var(--line); display:flex; flex-direction:column;
    overflow:hidden; opacity:0; transform:translateY(16px) scale(.97); pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
  }
  .chatbot-panel.is-open{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
  .chatbot-header{
    background:var(--pine-deep); color:#fff; padding:16px 18px; display:flex; align-items:center; gap:10px;
  }
  .chatbot-header img{width:32px; height:32px; border-radius:50%; object-fit:cover; background:#fff;}
  .chatbot-header .chatbot-title{font-family:'Space Grotesk'; font-weight:700; font-size:0.95rem; line-height:1.2;}
  .chatbot-header .chatbot-sub{font-size:0.72rem; opacity:0.8; display:flex; align-items:center; gap:5px;}
  .chatbot-header .chatbot-sub::before{content:''; width:7px; height:7px; border-radius:50%; background:#4ADE80; display:inline-block;}

  .chatbot-messages{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; background:var(--bg-alt);}
  .chatbot-msg{max-width:82%; padding:10px 13px; border-radius:14px; font-size:0.86rem; line-height:1.5;}
  .chatbot-msg.bot{background:#fff; color:var(--ink); align-self:flex-start; border:1px solid var(--line); border-bottom-left-radius:4px;}
  .chatbot-msg.user{background:var(--pine); color:#fff; align-self:flex-end; border-bottom-right-radius:4px;}
  .chatbot-msg.fallback{background:#fff; border:1px solid var(--line); align-self:flex-start; border-bottom-left-radius:4px;}
  .chatbot-fallback-ctas{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap;}
  .chatbot-fallback-ctas a{
    font-family:'Space Grotesk'; font-size:0.78rem; font-weight:600; padding:7px 12px; border-radius:999px;
    text-decoration:none; border:1px solid var(--pine); color:var(--pine-deep);
  }
  .chatbot-fallback-ctas a.wa{background:#25D366; border-color:#25D366; color:#fff;}
  .chatbot-fallback-ctas a.call{background:var(--pine); color:#fff;}

  .chatbot-chips{display:flex; flex-wrap:wrap; gap:7px; padding:0 16px 14px; background:var(--bg-alt);}
  .chatbot-chip{
    font-family:'Space Grotesk'; font-size:0.76rem; font-weight:600; color:var(--pine-deep);
    background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 12px; cursor:pointer;
    transition:background .2s ease, border-color .2s ease;
  }
  .chatbot-chip:hover{background:var(--pine-light); border-color:var(--pine);}

  .chatbot-input-row{display:flex; gap:8px; padding:12px; border-top:1px solid var(--line); background:#fff;}
  .chatbot-input{
    flex:1; border:1px solid var(--line); border-radius:999px; padding:10px 14px; font-size:0.86rem;
    font-family:'Inter'; outline:none; background:var(--bg);
  }
  .chatbot-input:focus{border-color:var(--pine);}
  .chatbot-send{
    width:38px; height:38px; border-radius:50%; border:none; background:var(--pine); color:#fff;
    cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:background .2s ease;
  }
  .chatbot-send:hover{background:var(--pine-deep);}
  .chatbot-typing{display:flex; gap:4px; padding:10px 13px; align-self:flex-start;}
  .chatbot-typing span{width:6px; height:6px; border-radius:50%; background:var(--ink-soft); opacity:0.5; animation:chatbot-bounce 1s infinite ease-in-out;}
  .chatbot-typing span:nth-child(2){animation-delay:.15s;}
  .chatbot-typing span:nth-child(3){animation-delay:.3s;}
  @keyframes chatbot-bounce{ 0%,60%,100%{transform:translateY(0); opacity:0.5;} 30%{transform:translateY(-4px); opacity:1;} }

  @media (max-width:480px){
    .chatbot-panel{right:12px; bottom:82px; width:calc(100vw - 24px);}
    .chatbot-fab{right:14px; bottom:14px;}
  }

  /* ---------- GLOBAL SEARCH ---------- */
  .nav-search-btn{
    width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:var(--panel);
    color:var(--ink-soft); font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:border-color .2s ease, color .2s ease;
  }
  .nav-search-btn:hover{border-color:var(--pine); color:var(--pine);}

  .search-overlay{
    position:fixed; inset:0; background:rgba(11,26,24,0.6); backdrop-filter:blur(3px);
    display:flex; align-items:flex-start; justify-content:center; padding:80px 20px 20px; z-index:110;
    opacity:0; transition:opacity .2s ease;
  }
  .search-overlay[hidden]{display:none;}
  .search-overlay.is-open{opacity:1;}
  .search-box{
    background:var(--panel); border-radius:var(--radius); box-shadow:var(--shadow);
    width:100%; max-width:600px; max-height:75vh; display:flex; flex-direction:column; overflow:hidden;
    transform:translateY(-12px) scale(.98); opacity:0; transition:transform .25s ease, opacity .25s ease;
  }
  .search-overlay.is-open .search-box{transform:translateY(0) scale(1); opacity:1;}
  .search-box-input-row{display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid var(--line);}
  .search-box-input-row .search-icon{color:var(--ink-soft); font-size:1.1rem;}
  .search-box-input-row input{
    flex:1; border:none; outline:none; font-size:1.05rem; font-family:'Inter'; background:none; color:var(--ink);
  }
  .search-box-close{
    border:none; background:var(--bg-alt); color:var(--ink-soft); width:30px; height:30px; border-radius:50%;
    cursor:pointer; flex-shrink:0; font-size:0.85rem;
  }
  .search-box-close:hover{background:var(--pine); color:#fff;}
  .search-results{overflow-y:auto; padding:8px;}
  .search-result{
    display:flex; align-items:flex-start; gap:12px; padding:12px 14px; border-radius:12px; cursor:pointer;
    text-decoration:none; color:inherit;
  }
  .search-result:hover, .search-result.is-active{background:var(--bg-alt);}
  .search-result-icon{
    width:34px; height:34px; border-radius:9px; background:var(--pine-light); color:var(--pine-deep);
    display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0;
  }
  .search-result-body{flex:1; min-width:0;}
  .search-result-title{font-family:'Space Grotesk'; font-weight:600; font-size:0.92rem; color:var(--ink); margin-bottom:2px; display:block;}
  .search-result-desc{
    font-size:0.82rem; color:var(--ink-soft); line-height:1.4; display:-webkit-box;
    -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }
  .search-result-tag{font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--clay); margin-top:4px; display:block;}
  .search-empty-state{padding:32px 20px; text-align:center; color:var(--ink-soft); font-size:0.9rem;}
  .search-empty-state a{color:var(--pine); font-weight:600;}
  .search-hint{padding:16px 20px; font-size:0.8rem; color:var(--ink-soft); display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
  .search-hint kbd{background:var(--bg-alt); border:1px solid var(--line); border-radius:4px; padding:1px 6px; font-family:'Space Grotesk'; font-size:0.72rem;}
  @media (max-width:600px){
    .search-overlay{padding:16px;}
  }

  /* ---------- BLOG: editorial masthead ---------- */
  .blog-masthead{background:var(--pine-deep); color:#fff; padding:56px 0 0;}
  .blog-masthead-top{text-align:center; max-width:640px; margin:0 auto 36px;}
  .blog-kicker{
    display:inline-block; font-family:'Space Grotesk'; font-size:0.78rem; font-weight:700;
    text-transform:uppercase; letter-spacing:0.12em; color:var(--gold); margin-bottom:14px;
  }
  .blog-wordmark{
    font-family:'Space Grotesk'; font-weight:700; text-transform:uppercase;
    font-size:clamp(2rem, 6vw, 3.4rem); letter-spacing:0.01em; line-height:1.08; color:#fff; margin-bottom:16px;
  }
  .blog-masthead-sub{font-size:1.02rem; color:rgba(255,255,255,0.78); line-height:1.6;}
  .blog-category-nav{
    display:flex; justify-content:center; gap:2px; flex-wrap:wrap;
    border-top:1px solid rgba(255,255,255,0.15);
  }
  .blog-cat-link{
    font-family:'Space Grotesk'; font-weight:600; font-size:0.86rem; color:rgba(255,255,255,0.65);
    background:none; border:none; border-bottom:3px solid transparent; padding:16px 18px; cursor:pointer;
    transition:color .2s ease, border-color .2s ease;
  }
  .blog-cat-link:hover{color:#fff;}
  .blog-cat-link.active{color:#fff; border-bottom-color:var(--gold);}

  /* ---------- BLOG: category tags & meta ---------- */
  .blog-entry{display:block; text-decoration:none; color:inherit;}
  .blog-tag{
    display:inline-block; font-family:'Space Grotesk'; font-size:0.72rem; font-weight:700;
    text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px;
  }
  .blog-tag.tag-skin{color:var(--clay);}
  .blog-tag.tag-hair{color:var(--pine);}
  .blog-tag.tag-laser{color:var(--pine-deep);}
  .blog-tag.tag-slimming{color:var(--gold);}
  .blog-meta{display:block; font-family:'Space Grotesk'; font-size:0.76rem; color:var(--ink-soft); letter-spacing:0.02em;}

  /* ---------- BLOG: featured stories ---------- */
  .blog-featured{padding:56px 0 0;}
  .blog-featured-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:36px; align-items:start;}
  @media (max-width:900px){ .blog-featured-grid{grid-template-columns:1fr;} }

  .blog-feature-img{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); margin-bottom:18px; aspect-ratio:16/9;}
  .blog-feature-img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
  .blog-feature-main:hover .blog-feature-img img{transform:scale(1.03);}
  .blog-feature-main h2{font-family:'Space Grotesk'; font-weight:700; font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1.22; color:var(--ink); margin-bottom:10px;}
  .blog-feature-main p{color:var(--ink-soft); font-size:1rem; line-height:1.6; margin-bottom:10px;}

  .blog-feature-side{display:flex; flex-direction:column; gap:26px;}
  .blog-feature-sub{display:grid; grid-template-columns:100px 1fr; column-gap:14px; align-items:start;}
  .blog-feature-sub .blog-feature-img{grid-row:1 / 4; grid-column:1; width:100px; height:76px; aspect-ratio:auto; margin-bottom:0;}
  .blog-feature-sub .blog-tag{grid-column:2; margin-bottom:6px;}
  .blog-feature-sub h3{grid-column:2; font-family:'Space Grotesk'; font-weight:700; font-size:0.95rem; line-height:1.32; color:var(--ink); margin-bottom:4px;}
  .blog-feature-sub .blog-meta{grid-column:2;}
  .blog-feature-sub:hover h3{color:var(--pine);}

  /* ---------- BLOG: more-stories list ---------- */
  .blog-list-section{padding:52px 0 70px;}
  .blog-list-heading{
    font-family:'Space Grotesk'; font-size:1rem; font-weight:700; color:var(--pine-deep);
    text-transform:uppercase; letter-spacing:0.05em; padding-bottom:14px; margin-bottom:6px;
    border-bottom:2px solid var(--line);
  }
  .blog-list{display:flex; flex-direction:column;}
  .blog-list-row{
    display:grid; grid-template-columns:140px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid var(--line);
    align-items:start;
  }
  .blog-list-row:hover h3{color:var(--pine);}
  .blog-list-thumb{border-radius:12px; overflow:hidden; aspect-ratio:4/3;}
  .blog-list-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
  .blog-list-body h3{font-family:'Space Grotesk'; font-weight:700; font-size:1.05rem; color:var(--ink); margin-bottom:6px; transition:color .2s ease; line-height:1.32;}
  .blog-list-body p{color:var(--ink-soft); font-size:0.9rem; line-height:1.55; margin-bottom:6px;}
  @media (max-width:560px){
    .blog-list-row{grid-template-columns:90px 1fr; gap:14px;}
    .blog-feature-sub{grid-template-columns:80px 1fr;}
    .blog-feature-sub .blog-feature-img{width:80px; height:64px;}
  }

  .breadcrumb{font-family:'Space Grotesk'; font-size:0.82rem; color:var(--ink-soft); margin-bottom:18px; display:flex; gap:8px; flex-wrap:wrap;}
  .breadcrumb a{color:var(--pine); text-decoration:none;}
  .breadcrumb a:hover{text-decoration:underline;}

  .blog-post{background:var(--panel); border-top:1px solid var(--line); scroll-margin-top:90px;}
  .blog-post-layout{max-width:760px; margin:0 auto; padding:60px 28px;}
  .blog-post-layout .eyebrow{justify-content:flex-start;}
  .blog-post-layout h1{font-size:clamp(1.8rem,3.4vw,2.5rem); margin:10px 0 16px;}
  .blog-post-layout .sub{font-size:1.05rem; color:var(--ink-soft); margin-bottom:28px;}
  .blog-post-hero-img{width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:36px;}
  .blog-post-layout h2{font-size:1.35rem; color:var(--pine-deep); margin:36px 0 12px;}
  .blog-post-layout h2:first-of-type{margin-top:0;}
  .blog-post-layout p{color:var(--ink-soft); line-height:1.75; font-size:0.99rem;}
  .blog-post-layout .faq-list{max-width:none; margin-top:8px;}
  .blog-cta{
    margin-top:44px; padding:28px 26px; background:var(--bg-alt); border-radius:var(--radius);
    border:1px solid var(--line); text-align:center;
  }
  .blog-cta h3{font-size:1.15rem; color:var(--pine-deep); margin-bottom:8px;}
  .blog-cta p{margin-bottom:18px;}
  .blog-filter-tabs{margin-bottom:32px;}
  .blog-empty-note{text-align:center; color:var(--ink-soft); font-size:0.92rem; padding:20px 0;}
  @media (max-width:600px){
    .blog-post-layout{padding:40px 20px;}
  }
