:root{
    --teal-deep:#0D3F3D;
    --teal-deep-2:#0A3230;
    --teal:#14B8A6;
    --teal-dark:#0E8C7E;
    --gold:#C89B3C;
    --gold-light:#E8D2A0;
    --cream:#FBFAF6;
    --paper:#FFFFFF;
    --ink:#1D2E2C;
    --ink-soft:#4C605D;
    --line:#E3E0D4;
    --wa:#25D366;
    --shadow:0 20px 50px -20px rgba(13,63,61,.25);
    --radius-lg:22px;
    --radius-md:14px;
    --radius-sm:8px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Manrope',sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;color:var(--teal-deep);line-height:1.12;letter-spacing:-.01em;}
  .eyebrow{
    font-family:'Manrope',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dark);
    display:inline-flex;align-items:center;gap:8px;
  }
  .eyebrow::before{content:"";width:22px;height:1.5px;background:var(--gold);display:inline-block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  section{position:relative;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    font-family:'Manrope',sans-serif;font-weight:700;font-size:15.5px;
    padding:16px 30px;border-radius:100px;border:none;cursor:pointer;
    transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, background .25s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--teal);color:#04231F;box-shadow:0 12px 24px -10px rgba(20,184,166,.55);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(20,184,166,.65);background:var(--teal-dark);color:#fff;}
  .btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff;}
  .btn-ghost:hover{background:rgba(255,255,255,.12);}
  .btn-outline{background:transparent;border:1.5px solid var(--teal-deep);color:var(--teal-deep);}
  .btn-outline:hover{background:var(--teal-deep);color:#fff;}
  .btn-wa{background:var(--wa);color:#fff;box-shadow:0 12px 24px -10px rgba(37,211,102,.5);}
  .btn-wa:hover{transform:translateY(-2px);}
  .btn small{font-weight:600;opacity:.85;font-size:12px;}

  /* reveal animation */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal-stagger.in > *{opacity:1;transform:translateY(0);}
  .reveal-stagger > *{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease;}
  .reveal-stagger > *:nth-child(1){transition-delay:.03s;}
  .reveal-stagger > *:nth-child(2){transition-delay:.11s;}
  .reveal-stagger > *:nth-child(3){transition-delay:.19s;}
  .reveal-stagger > *:nth-child(4){transition-delay:.27s;}
  .reveal-stagger > *:nth-child(5){transition-delay:.35s;}
  .reveal-stagger > *:nth-child(6){transition-delay:.43s;}

  /* ===== TOP UTILITY BAR ===== */
  .util-bar{background:var(--teal-deep);color:#EAF4F2;font-size:13px;padding:8px 0;}
  .util-bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
  .util-bar a{opacity:.9;display:inline-flex;align-items:center;gap:6px;}
  .util-bar a:hover{opacity:1;color:var(--gold-light);}
  .util-left{display:flex;gap:20px;flex-wrap:wrap;}
  .stars{color:var(--gold);letter-spacing:1px;}

  /* ===== HEADER ===== */
  header{
    position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);transition:padding .3s ease, box-shadow .3s ease;
  }
  header.scrolled{box-shadow:0 8px 24px -18px rgba(13,63,61,.4);}
  .nav-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
  .logo-block{display:flex;align-items:center;}
  .logo-block a{display:flex;}
  .logo-img{height:46px;width:auto;object-fit:contain;flex-shrink:0;}
  @media(max-width:480px){.logo-img{height:38px;}}
  .header-cta{display:flex;align-items:center;gap:14px;}
  .header-cta .phone-pill{
    display:flex;align-items:center;gap:10px;padding:9px 16px 9px 10px;border-radius:100px;background:var(--cream);border:1px solid var(--line);
  }
  .header-cta .phone-pill .dot{width:9px;height:9px;border-radius:50%;background:var(--wa);position:relative;}
  .header-cta .phone-pill .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--wa);opacity:.4;animation:pulse-ring 1.8s ease-out infinite;}
  @keyframes pulse-ring{0%{transform:scale(.6);opacity:.6;}100%{transform:scale(1.8);opacity:0;}}
  .header-cta .phone-pill span{font-weight:700;font-size:14.5px;color:var(--teal-deep);}
  @media(max-width:760px){.header-cta .phone-pill span, .header-cta .btn-primary span.long{display:none;}}

  /* ===== HERO ===== */
  .hero{
    background:
      radial-gradient(circle at 85% 12%, rgba(20,184,166,.14), transparent 46%),
      radial-gradient(circle at 6% 90%, rgba(200,155,60,.12), transparent 40%),
      linear-gradient(180deg, var(--cream) 0%, var(--paper) 100%);
    padding:56px 0 40px;overflow:hidden;
  }
  .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:start;}
  @media(max-width:960px){.hero .wrap{grid-template-columns:1fr;gap:34px;}}
  .hero-copy h1{font-size:clamp(32px,4.6vw,54px);}
  .hero-copy h1 em{font-style:normal;color:var(--teal-dark);position:relative;}
  .hero-copy .lede{font-size:17.5px;color:var(--ink-soft);max-width:520px;margin:18px 0 26px;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px;}
  .trust-chips{display:flex;flex-wrap:wrap;gap:10px;}
  .chip{
    display:inline-flex;align-items:center;gap:7px;font-size:12.8px;font-weight:700;color:var(--teal-deep);
    background:var(--paper);border:1px solid var(--line);padding:8px 14px;border-radius:100px;
  }
  .chip svg{width:14px;height:14px;flex-shrink:0;color:var(--teal-dark);}

  /* ===== HERO QUICK-FACT POINTS ===== */
  .hero-points{
    display:grid;grid-template-columns:repeat(3,auto);gap:0 30px;margin:24px 0 28px;padding:18px 0;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .hp-item{display:flex;flex-direction:column;padding-right:30px;border-right:1px solid var(--line);}
  .hp-item:last-child{border-right:none;padding-right:0;}
  .hp-item .hp-num{font-family:'Fraunces',serif;font-weight:700;font-size:22px;color:var(--teal-deep);line-height:1.15;white-space:nowrap;}
  .hp-item .hp-lbl{font-size:12px;color:var(--ink-soft);font-weight:600;margin-top:3px;letter-spacing:.01em;white-space:nowrap;}
  @media(max-width:480px){
    .hero-points{grid-template-columns:repeat(3,1fr);gap:0 12px;}
    .hp-item{padding-right:12px;}
    .hp-item .hp-num{font-size:16.5px;}
    .hp-item .hp-lbl{font-size:10.5px;white-space:normal;}
  }

  .hero-card-wrap{position:relative;}
  .hero-photo{
    border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);
    aspect-ratio:4/5;position:relative;
  }
  .hero-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 6s ease;}
  .hero-photo:hover img{transform:scale(1.1);}
  .float-badge{
    position:absolute;bottom:-22px;left:-22px;background:var(--paper);border-radius:var(--radius-md);
    box-shadow:var(--shadow);padding:16px 20px;display:flex;align-items:center;gap:12px;
    animation:float-y 4.5s ease-in-out infinite;
  }
  @media(max-width:520px){.float-badge{left:8px;bottom:-18px;padding:12px 16px;}}
  @keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
  .float-badge .num{font-family:'Fraunces',serif;font-weight:700;font-size:26px;color:var(--teal-deep);}
  .float-badge .lbl{font-size:11.5px;color:var(--ink-soft);font-weight:600;}

  /* ===== LEAD FORM CARD ===== */
  .lead-card{
    background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow);
    padding:28px 26px 26px;border:1px solid var(--line);margin-top:26px;
  }
  .lead-card h3{font-size:20px;margin-bottom:4px;}
  .lead-card p.sub{font-size:13.5px;color:var(--ink-soft);margin-bottom:18px;}
  .field{margin-bottom:13px;}
  .field label{display:block;font-size:12.3px;font-weight:700;color:var(--teal-deep);margin-bottom:6px;letter-spacing:.02em;}
  .field input, .field select, .field textarea{
    width:100%;padding:12.5px 14px;border-radius:var(--radius-sm);border:1.4px solid var(--line);
    font-family:'Manrope',sans-serif;font-size:14.5px;background:var(--cream);color:var(--ink);
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .field textarea{resize:vertical;min-height:76px;line-height:1.5;}
  .field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,184,166,.15);background:#fff;}
  .lead-card .btn-primary{width:100%;margin-top:6px;padding:15px;font-size:16px;}
  .lead-card .note{font-size:11.5px;color:var(--ink-soft);text-align:center;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:6px;}
  .form-success{display:none;text-align:center;padding:20px 6px;}
  .form-success.show{display:block;}
  .form-success svg{width:46px;height:46px;color:var(--teal-dark);margin-bottom:10px;}
  .form-success h4{font-size:18px;margin-bottom:6px;}
  .form-success p{font-size:13.5px;color:var(--ink-soft);}

  /* ===== STATS BAND ===== */
  .stats-band{background:var(--teal-deep);padding:34px 0;}
  .stats-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:760px){.stats-band .wrap{grid-template-columns:repeat(2,1fr);}}
  .stat-item{text-align:center;color:#fff;}
  .stat-item .figure{font-family:'Fraunces',serif;font-size:clamp(26px,3.4vw,38px);font-weight:700;color:var(--gold-light);}
  .stat-item .figure span{color:var(--gold-light);}
  .stat-item .cap{font-size:12.5px;color:#BFE0DB;font-weight:600;letter-spacing:.03em;margin-top:2px;}

  /* ===== SECTION HEADS ===== */
  .sec-head{max-width:640px;margin-bottom:44px;}
  .sec-head h2{font-size:clamp(26px,3.2vw,38px);margin-top:12px;}
  .sec-head p{color:var(--ink-soft);font-size:16px;margin-top:12px;}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}

  /* ===== STAGE SELECTOR (signature interactive) ===== */
  .stage-sec{padding:80px 0 70px;background:var(--paper);}
  .stage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:8px;}
  @media(max-width:860px){.stage-grid{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:520px){.stage-grid{grid-template-columns:repeat(2,1fr);}}
  .stage-card{
    border:1.6px solid var(--line);border-radius:var(--radius-md);padding:20px 14px;text-align:center;
    cursor:pointer;background:var(--cream);transition:border-color .25s ease, transform .25s ease, background .25s ease, box-shadow .25s ease;
    position:relative;
  }
  .stage-card:hover{transform:translateY(-4px);border-color:var(--teal);}
  .stage-card.active{background:var(--teal-deep);border-color:var(--teal-deep);box-shadow:0 14px 28px -14px rgba(13,63,61,.5);}
  .stage-card .ic{width:38px;height:38px;margin:0 auto 12px;color:var(--teal-dark);transition:color .25s ease;}
  .stage-card.active .ic{color:var(--gold-light);}
  .stage-card .stg-label{font-weight:700;font-size:13.5px;color:var(--teal-deep);transition:color .25s ease;}
  .stage-card.active .stg-label{color:#fff;}
  .stage-result{
    margin-top:30px;border-radius:var(--radius-md);background:var(--cream);border:1.4px dashed var(--gold);
    padding:22px 26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;
    opacity:0;max-height:0;overflow:hidden;transition:opacity .4s ease, max-height .5s ease, padding .4s ease, margin .4s ease;
  }
  .stage-result.show{opacity:1;max-height:200px;}
  .stage-result .rec-text{font-size:15px;}
  .stage-result .rec-text b{color:var(--teal-deep);font-family:'Fraunces',serif;font-size:17px;}

  /* ===== WHY US ===== */
  .why-sec{padding:70px 0;background:var(--cream);}
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:860px){.why-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.why-grid{grid-template-columns:1fr;}}
  .why-card{
    background:var(--paper);border-radius:var(--radius-md);padding:26px 22px;border:1px solid var(--line);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent;}
  .why-card .ic{width:40px;height:40px;color:var(--teal-dark);margin-bottom:14px;}
  .why-card h4{font-size:17px;margin-bottom:8px;}
  .why-card p{font-size:14px;color:var(--ink-soft);}

  /* ===== TREATMENTS ===== */
  .treat-sec{padding:76px 0;background:var(--paper);}
  .treat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media(max-width:960px){.treat-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.treat-grid{grid-template-columns:1fr;}}
  .treat-card{border-radius:var(--radius-md);overflow:hidden;position:relative;aspect-ratio:3/4;box-shadow:0 10px 26px -16px rgba(13,63,61,.35);}
  .treat-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
  .treat-card:hover img{transform:scale(1.08);}
  .treat-overlay{
    position:absolute;inset:0;background:linear-gradient(180deg, rgba(13,63,61,0) 40%, rgba(10,38,36,.92) 100%);
    display:flex;flex-direction:column;justify-content:flex-end;padding:18px;
  }
  .treat-overlay h4{color:#fff;font-size:16.5px;font-family:'Fraunces',serif;font-weight:600;margin-bottom:4px;}
  .treat-overlay p{color:#CFE7E3;font-size:12px;}

  /* ===== BEFORE / AFTER RESULTS ===== */
  .ba-sec{padding:76px 0;background:var(--cream);}
  .ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:760px){.ba-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;}}

  .ba-photo{
    position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:5/3;
    box-shadow:0 10px 26px -16px rgba(13,63,61,.35);border:1px solid var(--line);
  }
  .ba-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease;}
  .ba-photo:hover img{transform:scale(1.05);}
  .ba-label{margin-top:12px;font-weight:700;font-size:13.5px;color:var(--teal-deep);text-align:center;}

  /* ===== PROCESS ===== */
  .process-sec{padding:76px 0;background:var(--cream);}
  .process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
  @media(max-width:860px){.process-row{grid-template-columns:1fr;gap:26px;}}
  .process-row::before{
    content:"";position:absolute;top:26px;left:12%;right:12%;height:1.5px;background:repeating-linear-gradient(90deg, var(--gold) 0 8px, transparent 8px 16px);
  }
  @media(max-width:860px){.process-row::before{display:none;}}
  .p-step{text-align:center;padding:0 14px;position:relative;}
  .p-step .p-num{
    width:52px;height:52px;border-radius:50%;background:var(--paper);border:2px solid var(--teal);
    display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:'Fraunces',serif;
    font-weight:700;font-size:19px;color:var(--teal-deep);position:relative;z-index:2;
  }
  .p-step h4{font-size:15.5px;margin-bottom:6px;}
  .p-step p{font-size:13px;color:var(--ink-soft);}

  /* ===== DOCTOR / EXPERTISE BAND ===== */
  .expert-band{background:var(--teal-deep);padding:70px 0;overflow:hidden;position:relative;}
  .expert-band::before{content:"";position:absolute;top:-80px;right:-80px;width:280px;height:280px;border-radius:50%;background:rgba(20,184,166,.18);}
  .expert-band .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;position:relative;}
  @media(max-width:860px){.expert-band .wrap{grid-template-columns:1fr;}}
  .expert-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);}
  .expert-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 60%;display:block;}
  .expert-copy .eyebrow{color:var(--gold-light);}
  .expert-copy .eyebrow::before{background:var(--gold-light);}
  .expert-copy h2{color:#fff;font-size:clamp(24px,3vw,34px);margin:12px 0 16px;}
  .expert-copy p{color:#CFE7E3;font-size:15.5px;margin-bottom:14px;}
  .expert-list{list-style:none;margin-top:18px;display:grid;gap:12px;}
  .expert-list li{display:flex;gap:10px;align-items:flex-start;color:#EAF4F2;font-size:14.5px;}
  .expert-list svg{width:19px;height:19px;color:var(--gold-light);flex-shrink:0;margin-top:2px;}

  /* ===== TESTIMONIALS ===== */
  .test-sec{padding:76px 0;background:var(--paper);}
  .test-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none;}
  .test-track::-webkit-scrollbar{display:none;}
  .test-card{
    scroll-snap-align:start;flex:0 0 320px;background:var(--cream);border-radius:var(--radius-md);
    padding:26px 24px;border:1px solid var(--line);
  }
  .test-card .stars{color:var(--gold);font-size:15px;margin-bottom:12px;}
  .test-card p.quote{font-size:14.5px;color:var(--ink);margin-bottom:18px;min-height:96px;}
  .test-who{display:flex;align-items:center;gap:12px;}
  .test-who .av{width:42px;height:42px;border-radius:50%;background:var(--teal-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Fraunces',serif;}
  .test-who .nm{font-weight:700;font-size:14px;color:var(--teal-deep);}
  .test-who .rl{font-size:12px;color:var(--ink-soft);}
  .test-nav{display:flex;gap:10px;margin-top:18px;}
  .test-nav button{width:38px;height:38px;border-radius:50%;border:1.4px solid var(--line);background:var(--paper);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease, border-color .2s ease;}
  .test-nav button:hover{background:var(--teal-deep);border-color:var(--teal-deep);}
  .test-nav button:hover svg{color:#fff;}
  .test-nav svg{width:16px;height:16px;color:var(--teal-deep);}

  /* ===== LOCATIONS ===== */
  .loc-sec{padding:70px 0;background:var(--cream);}
  .loc-grid{display:flex;flex-wrap:wrap;gap:12px;}
  .loc-chip{
    display:flex;align-items:center;gap:10px;padding:14px 22px;border-radius:100px;background:var(--paper);
    border:1.4px solid var(--line);font-weight:700;color:var(--teal-deep);font-size:14.5px;
    transition:border-color .25s ease, background .25s ease, transform .25s ease;cursor:pointer;
  }
  .loc-chip:hover{border-color:var(--teal);transform:translateY(-3px);background:#fff;}
  .loc-chip svg{width:16px;height:16px;color:var(--gold);}

  /* ===== FAQ ===== */
  .faq-sec{padding:76px 0;background:var(--paper);}
  .faq-list{max-width:800px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;padding:22px 4px;cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Manrope',sans-serif;
    font-weight:700;font-size:15.5px;color:var(--teal-deep);
  }
  .faq-q svg{width:20px;height:20px;flex-shrink:0;transition:transform .3s ease;color:var(--teal-dark);}
  .faq-item.open .faq-q svg{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
  .faq-a p{padding:0 4px 22px;font-size:14.5px;color:var(--ink-soft);max-width:680px;}

  /* ===== FINAL CTA ===== */
  .final-cta{
    padding:70px 0;background:linear-gradient(120deg, var(--teal-deep) 0%, var(--teal-deep-2) 100%);
    text-align:center;position:relative;overflow:hidden;
  }
  .final-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%, rgba(20,184,166,.22), transparent 55%);}
  .final-cta .wrap{position:relative;}
  .final-cta h2{color:#fff;font-size:clamp(26px,3.4vw,40px);margin-bottom:14px;}
  .final-cta p{color:#BFE0DB;font-size:16px;margin-bottom:30px;max-width:560px;margin-left:auto;margin-right:auto;}
  .final-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}

  /* ===== FOOTER ===== */
  footer{background:#082826;color:#9FC4BF;padding:54px 0 130px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px;}
  @media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
  .foot-brand .brand{font-family:'Fraunces',serif;color:#fff;font-size:21px;font-weight:700;}
  .foot-brand p{font-size:13.5px;margin-top:12px;max-width:280px;}
  footer h5{color:#fff;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;font-weight:700;}
  footer ul{list-style:none;display:grid;gap:9px;}
  footer ul a{font-size:13.5px;transition:color .2s ease;}
  footer ul a:hover{color:var(--gold-light);}
  .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:12.5px;}
  .foot-social{display:flex;gap:12px;}
  .foot-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;}
  .foot-social svg{width:15px;height:15px;}

  /* ===== MOBILE STICKY BAR ===== */
  .mobile-bar{
    position:fixed;bottom:0;left:0;right:0;z-index:80;background:var(--paper);border-top:1px solid var(--line);
    display:none;padding:10px 14px;box-shadow:0 -10px 24px -18px rgba(0,0,0,.3);
  }
  .mobile-bar-inner{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:10px;}
  .mobile-bar a, .mobile-bar button{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    border-radius:12px;padding:9px 4px;font-size:11px;font-weight:700;border:none;cursor:pointer;font-family:'Manrope',sans-serif;
  }
  .mobile-bar .m-call{background:var(--cream);color:var(--teal-deep);border:1px solid var(--line);}
  .mobile-bar .m-wa{background:#E8FBF1;color:#0F7A3D;border:1px solid #BFEBD2;}
  .mobile-bar .m-book{background:var(--teal);color:#04231F;}
  .mobile-bar svg{width:19px;height:19px;}
  @media(max-width:760px){.mobile-bar{display:block;} body{padding-bottom:0;}}

  ::selection{background:var(--teal);color:#04231F;}

  /* ===== FORM ERROR STATE ===== */
  .form-error{display:none;text-align:center;font-size:12.5px;line-height:1.5;color:#B4433B;background:#FCEBEA;border:1px solid #F3C6C2;border-radius:var(--radius-sm);padding:11px 13px;margin-top:12px;}
  .form-error.show{display:block;}
  .form-error a{color:#B4433B;font-weight:700;text-decoration:underline;}

  /* ===== THANK YOU PAGE ===== */
  .ty-hero{
    padding:80px 0 70px;overflow:hidden;position:relative;
    background:
      radial-gradient(circle at 88% 8%, rgba(20,184,166,.16), transparent 46%),
      radial-gradient(circle at 4% 92%, rgba(200,155,60,.14), transparent 42%),
      linear-gradient(180deg, var(--cream) 0%, var(--paper) 100%);
  }
  .ty-card{
    max-width:640px;margin:0 auto;background:var(--paper);border:1px solid var(--line);
    border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:52px 44px 44px;text-align:center;position:relative;
  }
  @media(max-width:600px){.ty-card{padding:40px 24px 32px;}}
  .ty-check{
    width:84px;height:84px;margin:0 auto 22px;border-radius:50%;
    background:radial-gradient(circle, rgba(20,184,166,.14) 0%, transparent 70%);
    display:flex;align-items:center;justify-content:center;position:relative;
  }
  .ty-check::before{
    content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--teal);opacity:.35;
    animation:ty-ring 2.2s ease-out infinite;
  }
  @keyframes ty-ring{0%{transform:scale(.7);opacity:.55;}100%{transform:scale(1.55);opacity:0;}}
  .ty-check svg{width:46px;height:46px;color:var(--teal-dark);overflow:visible;}
  .ty-check svg circle{stroke-dasharray:70;stroke-dashoffset:70;animation:ty-draw .7s ease forwards;}
  .ty-check svg path{stroke-dasharray:20;stroke-dashoffset:20;animation:ty-draw .5s ease .55s forwards;}
  @keyframes ty-draw{to{stroke-dashoffset:0;}}
  .ty-card .eyebrow{justify-content:center;margin-bottom:14px;}
  .ty-card h1{font-size:clamp(28px,4vw,40px);margin-bottom:14px;}
  .ty-card h1 em{font-style:normal;color:var(--teal-dark);}
  .ty-sub{font-size:16px;color:var(--ink-soft);max-width:460px;margin:0 auto;}

  .ty-steps{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0 6px;text-align:left;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;
  }
  @media(max-width:600px){.ty-steps{grid-template-columns:1fr;gap:18px;}}
  .ty-step{display:flex;gap:12px;align-items:flex-start;}
  .ty-step .ty-num{
    flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--teal-deep);color:var(--gold-light);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:14px;
  }
  .ty-step h4{font-size:14px;margin-bottom:3px;color:var(--teal-deep);}
  .ty-step p{font-size:12.8px;color:var(--ink-soft);}

  .ty-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;}
  .ty-actions .btn{min-width:190px;}
  .ty-back{display:inline-flex;align-items:center;gap:6px;margin-top:26px;font-size:13.5px;font-weight:700;color:var(--teal-dark);}
  .ty-back:hover{color:var(--teal-deep);}
  .ty-back svg{width:15px;height:15px;}

  /* ===== GUIDE / LONG-FORM CONTENT ===== */
  .guide-sec{padding:76px 0;background:var(--paper);}
  .guide-content{max-width:800px;margin:0 auto;}
  .guide-content > p{font-size:15.5px;color:var(--ink-soft);margin-bottom:20px;}
  .guide-content h3{font-size:22px;margin:38px 0 14px;}
  .guide-content h3:first-of-type{margin-top:0;}
  .guide-content ul.g-list{margin:14px 0 22px;padding:0;list-style:none;display:grid;gap:10px;}
  .guide-content ul.g-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink-soft);}
  .guide-content ul.g-list li svg{width:18px;height:18px;color:var(--teal-dark);flex-shrink:0;margin-top:3px;}
  .guide-steps{display:grid;gap:14px;margin:18px 0 26px;}
  .guide-step{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:var(--cream);border-radius:var(--radius-md);border:1px solid var(--line);}
  .guide-step .g-num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--teal-deep);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:14px;}
  .guide-step p{font-size:14.5px;color:var(--ink-soft);margin:0;}
  .guide-step strong{color:var(--teal-deep);}
  .guide-note{font-size:12.5px;color:var(--ink-soft);text-align:center;margin-top:6px;}