:root{
    --ink:#12211D;
    --ink-soft:#3E4F49;
    --paper:#FAF7F0;
    --paper-raised:#FFFFFF;
    --teal:#0B6E63;
    --teal-dark:#063A33;
    --teal-deep:#04211D;
    --teal-tint:#E7EFEA;
    --teal-tint-2:#EFF3EC;
    --gold:#C79A45;
    --line:#DEDACB;
    --line-soft:#EAE6D8;
    --shadow-soft: 0 30px 60px -30px rgba(6,58,51,0.25);
    --shadow-tiny: 0 10px 24px -14px rgba(6,58,51,0.35);
    --ease: cubic-bezier(0.32,0.72,0,1);
    --maxw: 1240px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
  @media (max-width:768px){ .wrap{padding:0 20px;} }

  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:500;
    line-height:1.05;
    margin:0;
    color:var(--teal-deep);
    letter-spacing:-0.01em;
  }
  .serif-italic{font-style:italic;font-weight:400;color:var(--teal);}

  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--teal);
    background:var(--teal-tint);
    border:1px solid rgba(11,110,99,0.18);
    padding:7px 14px 7px 10px;
    border-radius:999px;
    font-weight:500;
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;
    box-shadow:0 0 0 3px rgba(199,154,69,0.25);}

  section{position:relative;}
  .section-pad{padding:120px 0;}
  @media (max-width:900px){ .section-pad{padding:76px 0;} }

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(46px);filter:blur(6px);
    transition:opacity 900ms var(--ease), transform 900ms var(--ease), filter 900ms var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);filter:blur(0);}
  .reveal-delay-1{transition-delay:80ms;}
  .reveal-delay-2{transition-delay:160ms;}
  .reveal-delay-3{transition-delay:240ms;}
  .reveal-delay-4{transition-delay:320ms;}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:6px 8px 6px 22px;
    border-radius:999px;
    font-family:'Work Sans',sans-serif;
    font-weight:600;
    font-size:15px;
    cursor:pointer;border:none;
    transition:transform 550ms var(--ease), box-shadow 550ms var(--ease);
    white-space:nowrap;
  }
  .btn:active{transform:scale(0.97);}
  .btn-primary{background:var(--teal-deep);color:#F4F1E6;}
  .btn-primary .ic{background:var(--teal);}
  .btn-primary:hover{box-shadow:var(--shadow-tiny);}
  .btn-primary:hover .ic{transform:translate(2px,-2px) scale(1.06);}
  .btn-ghost{background:transparent;color:var(--teal-deep);border:1.5px solid var(--line);padding:6px 8px 6px 22px;}
  .btn-ghost .ic{background:var(--teal-tint);color:var(--teal-deep);}
  .btn-ghost:hover{border-color:var(--teal);}
  .btn-ghost:hover .ic{transform:translate(2px,-2px) scale(1.06);}
  .btn .ic{
    width:34px;height:34px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    flex:none;transition:transform 550ms var(--ease);
  }
  .btn .ic svg{width:15px;height:15px;}

  /* ---------- nav ---------- */
  .nav-shell{position:fixed;top:18px;left:0;right:0;z-index:200;display:flex;justify-content:center;
    padding:0 20px;pointer-events:none;}
  .nav-pill{
    pointer-events:all;
    width:100%;max-width:1160px;
    display:flex;align-items:center;justify-content:space-between;
    gap:18px;
    background:rgba(250,247,240,0.72);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(6,58,51,0.10);
    border-radius:999px;
    padding:9px 10px 9px 22px;
    box-shadow:0 18px 40px -24px rgba(6,58,51,0.35);
    transition:box-shadow 400ms var(--ease);
  }
  .nav-logo{display:flex;align-items:center;gap:9px;font-family:'Fraunces',serif;font-weight:600;font-size:18px;color:var(--teal-deep);}
  .nav-logo .mark{width:30px;height:30px;flex:none;}
  .nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500;color:var(--ink-soft);}
  .nav-links a{position:relative;padding:4px 0;transition:color 300ms;}
  .nav-links a:hover{color:var(--teal-deep);}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--teal);transition:width 350ms var(--ease);}
  .nav-links a:hover::after{width:100%;}
  .nav-right{display:flex;align-items:center;gap:10px;}
  .lang-toggle{display:flex;align-items:center;gap:2px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;background:var(--teal-tint);border-radius:999px;padding:4px;}
  .lang-toggle span{padding:5px 9px;border-radius:999px;color:var(--ink-soft);cursor:pointer;}
  .lang-toggle span.active{background:var(--teal-deep);color:#fff;}
  .nav-burger{display:none;}
  @media (max-width:940px){
    .nav-links{display:none;}
    .nav-burger{display:flex;width:38px;height:38px;border-radius:50%;background:var(--teal-tint);align-items:center;justify-content:center;}
  }

  /* ---------- hero ---------- */
  .hero{padding:168px 0 60px;overflow:hidden;position:relative;}
  .hero::before{
    content:"";position:absolute;top:-260px;right:-220px;width:640px;height:640px;border-radius:50%;
    background:radial-gradient(circle at 30% 30%, rgba(11,110,99,0.16), rgba(11,110,99,0) 70%);
    pointer-events:none;
  }
  .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
  @media (max-width:980px){ .hero-grid{grid-template-columns:1fr;} }

  .hero h1{font-size:clamp(38px,5vw,64px);font-weight:500;}
  .hero-sub{margin-top:22px;font-size:17px;line-height:1.7;color:var(--ink-soft);max-width:480px;}
  .hero-eyebrow{margin-bottom:22px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

  .hero-trust{display:flex;align-items:center;gap:22px;margin-top:44px;flex-wrap:wrap;}
  .stars{display:flex;align-items:center;gap:9px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);}
  .stars .stars-ic{color:var(--gold);letter-spacing:2px;font-size:13px;}
  .avatars{display:flex;}
  .avatars .a{width:30px;height:30px;border-radius:50%;border:2px solid var(--paper);margin-left:-9px;background:linear-gradient(135deg,var(--teal),var(--teal-dark));}
  .avatars .a:first-child{margin-left:0;}

  /* vitals card */
  .vitals-card{
    position:relative;
    background:var(--teal-deep);
    border-radius:32px;
    padding:8px;
    box-shadow:var(--shadow-soft);
  }
  .vitals-inner{
    background:linear-gradient(175deg, var(--teal-dark) 0%, var(--teal-deep) 100%);
    border-radius:26px;
    padding:30px 26px 26px;
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.12);
    color:#EFF4F0;
  }
  .vitals-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
  .vitals-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#9FC2B7;}
  .vitals-live{display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:#9FC2B7;}
  .vitals-live .pulse-dot{width:6px;height:6px;border-radius:50%;background:#7FD9B6;animation:pulseDot 1.6s infinite;}
  @keyframes pulseDot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.35;transform:scale(0.7);}}

  .ekg-wrap{margin:10px -6px 18px;}
  .ekg-wrap svg{width:100%;height:64px;display:block;}
  .ekg-path{fill:none;stroke:#6FCBA8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:600;stroke-dashoffset:600;}
  .ekg-path.draw{animation:drawEkg 2.4s var(--ease) forwards;}
  @keyframes drawEkg{to{stroke-dashoffset:0;}}

  .vitals-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,0.09);
    border-radius:16px;overflow:hidden;}
  .vstat{background:rgba(255,255,255,0.03);padding:20px 18px;}
  .vstat .num{font-family:'Fraunces',serif;font-weight:500;font-size:32px;color:#fff;line-height:1;display:flex;align-items:baseline;gap:2px;}
  .vstat .num .plus{font-family:'IBM Plex Mono',monospace;font-size:16px;color:#7FD9B6;}
  .vstat .lbl{margin-top:8px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:#9FC2B7;}

  .vitals-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.09);}
  .vitals-footer .badge{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#9FC2B7;letter-spacing:0.04em;}
  .vitals-footer .rate{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#7FD9B6;}

  /* ---------- trust / insurance strip ---------- */
  .strip{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background: #04211D;
    color: #fff;
  }
  .strip-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:26px 0;flex-wrap:wrap;}
  .strip-title{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#FFF;flex:none;}
  .partner-row{display:flex;align-items:center;gap:34px;flex-wrap:wrap;opacity:0.85;}
  .partner-row span{font-family:'Fraunces',serif;font-weight:500;font-size:16px;color:#FFF;letter-spacing:0.01em;}

  /* ---------- section heads ---------- */
  .head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px;}
  @media (max-width:760px){ .head-row{flex-direction:column;align-items:flex-start;gap:18px;} }
  .head-row h2{font-size:clamp(28px,3.4vw,42px);max-width:640px;}
  .head-tagline{font-size:15px;color:var(--ink-soft);max-width:340px;line-height:1.6;}

  /* ---------- about ---------- */
  .about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:start;}
  @media (max-width:900px){ .about-grid{grid-template-columns:1fr;gap:40px;} }
  .about-p{font-size:16.5px;line-height:1.85;color:var(--ink-soft);}
  .about-p + .about-p{margin-top:16px;}
  .pillar-list{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;}
  @media (max-width:520px){ .pillar-list{grid-template-columns:1fr;} }
  .pillar-item{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color: var(--ink);
    font-family: var(--Font-2);}
  .pillar-item .chk{width:20px;height:20px;border-radius:50%;background:var(--teal-tint);color:var(--teal);
    flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;}
  .pillar-item .chk svg{width:11px;height:11px;}

  .about-card{
    background:var(--paper-raised);
    border:1px solid var(--line-soft);
    border-radius:28px;
    padding:34px;
    box-shadow:var(--shadow-tiny);
  }
  .about-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
  .about-card-head .yr{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--teal);letter-spacing:0.1em;}
  .accred-row{display:flex;flex-direction:column;gap:16px;}
  .accred-item{display:flex;gap:14px;align-items:flex-start;padding-bottom:16px;border-bottom:1px dashed var(--line);}
  .accred-item:last-child{border-bottom:none;padding-bottom:0;}
  .accred-item .ic2{width:40px;height:40px;border-radius:12px;background:var(--teal-tint);color:var(--teal-deep);
    flex:none;display:flex;align-items:center;justify-content:center;}
  .accred-item .ic2 svg{width:19px;height:19px;}
  .accred-item h4{font-family:'Work Sans',sans-serif;font-weight:600;font-size:14.5px;color:var(--ink);margin-bottom:3px;}
  .accred-item p{margin:0;font-size:13.5px;color:var(--ink-soft);line-height:1.55;}

  /* ---------- why choose ---------- */
  .why-section{background:var(--teal-deep);color:#EFF4F0;}
  .why-section h2{color:#fff;}
  .why-section .eyebrow{background:rgba(255,255,255,0.08);color:#8FD2B7;border-color:rgba(255,255,255,0.14);}
  .why-section .head-tagline{color:#B7CCC5;}
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.09);
    border-radius:24px;overflow:hidden;}
  @media (max-width:860px){ .why-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .why-grid{grid-template-columns:1fr;} }
  .why-cell{background:var(--teal-dark);padding:34px 28px;transition:background 400ms var(--ease);}
  .why-cell:hover{background:#0a5148;}
  .why-cell .n{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#7FD9B6;margin-bottom:20px;display:block;}
  .why-cell h3{font-family:'Fraunces',serif;font-weight:500;font-size:20px;color:#fff;margin-bottom:10px;}
  .why-cell p{margin:0;font-size:14px;line-height:1.65;color:#AFC8C0;}

  /* ---------- services ---------- */
  .svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  @media (max-width:980px){ .svc-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .svc-grid{grid-template-columns:1fr;} }
  .svc-card{
    background:var(--paper-raised);border:1px solid var(--line-soft);border-radius:24px;
    padding:6px;overflow:hidden;transition:transform 500ms var(--ease), box-shadow 500ms var(--ease);
  }
  .svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);}
  .svc-media{height:150px;border-radius:19px;background:linear-gradient(140deg,var(--teal-tint),var(--teal-tint-2));
    position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:14px;}
  .svc-media .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;
    background:rgba(255,255,255,0.85);color:var(--teal-deep);padding:5px 10px;border-radius:999px;}
  .svc-media svg{position:absolute;top:14px;right:14px;width:26px;height:26px;color:var(--teal);opacity:0.55;}
  .svc-body{padding:20px 16px 18px;}
  .svc-body h3{font-family: var(--Font-2);
    font-weight: 500;
    font-size: 16.5px;
    margin-bottom: 8px;
    min-height: 20px;
    color: var(--ink-soft);}
  .svc-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--teal-deep);}
  .svc-link svg{width:12px;height:12px;transition:transform 350ms var(--ease);}
  .svc-card:hover .svc-link svg{transform:translate(3px,-3px);}

  /* ---------- doctors ---------- */
  .doc-scroll{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media (max-width:980px){ .doc-scroll{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .doc-scroll{grid-template-columns:1fr;} }
  .doc-card{background:var(--paper-raised);border:1px solid var(--line-soft);border-radius:24px;padding:20px;
    display:flex;flex-direction:column;gap:14px;transition:box-shadow 450ms var(--ease), transform 450ms var(--ease);}
  .doc-card:hover{box-shadow:var(--shadow-tiny);transform:translateY(-4px);}
  .doc-photo{height:180px;border-radius:16px;background:linear-gradient(150deg,var(--teal),var(--teal-dark));
    position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-end;padding:10px;}
  .doc-photo .branch{font-family:'IBM Plex Mono',monospace;font-size:10px;background:rgba(255,255,255,0.92);
    color:var(--teal-deep);padding:4px 9px;border-radius:999px;letter-spacing:0.04em;}
  .doc-photo .initials{position:absolute;left:14px;top:14px;font-family:'Fraunces',serif;font-size:34px;color:rgba(255,255,255,0.5);}
  .doc-name{font-family: var(--Font-2);
    font-weight: 400;
    font-size: 15.5px;
    line-height: 1.3;margin-top: 10px;
    margin-bottom: 5px;}
  .doc-spec{font-size:12.5px;color:var(--teal);font-weight:600;letter-spacing:0.01em;}
  .doc-langs{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-soft);letter-spacing:0.04em;}
  .doc-more{border:1.5px dashed var(--line);border-radius:24px;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:10px;padding:30px 16px;text-align:center;}
  .doc-more .circ{width:50px;height:50px;border-radius:50%;background:var(--teal-tint);color:var(--teal-deep);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:16px;}
  .doc-more span{font-size:13px;color:var(--ink-soft);}

  /* ---------- reviews ---------- */
  .rev-top{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:44px;}
  .rev-score{background:var(--paper-raised);border:1px solid var(--line-soft);border-radius:20px;padding:18px 26px;
    display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-tiny);}
  .rev-score .big{font-family:'Fraunces',serif;font-size:38px;font-weight:500;color:var(--teal-deep);}
  .rev-score .meta{font-size:12.5px;color:var(--ink-soft);line-height:1.5;}
  .rev-score .meta .st{color:var(--gold);letter-spacing:1px;display:block;margin-bottom:2px;}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:940px){ .rev-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:620px){ .rev-grid{grid-template-columns:1fr;} }
  .rev-card{background:var(--paper-raised);border:1px solid var(--line-soft);border-radius:22px;padding:26px;
    display:flex;flex-direction:column;gap:16px;}
  .rev-card .quote-mark{font-family:'Fraunces',serif;font-size:34px;color:var(--teal-tint);line-height:0.6;}
  .rev-card p{margin:0;font-size:14.5px;line-height:1.7;color:var(--ink);}
  .rev-person{display:flex;align-items:center;gap:10px;margin-top:auto;}
  .rev-person .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-dark));flex:none;}
  .rev-person .nm{font-size:13px;font-weight:600;}
  .rev-person .st2{font-size:11px;color:var(--gold);letter-spacing:1px;}

  /* ---------- insurance ---------- */
  .ins-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;}
  @media (max-width:900px){ .ins-grid{grid-template-columns:repeat(4,1fr);} }
  @media (max-width:560px){ .ins-grid{grid-template-columns:repeat(2,1fr);} }
  .ins-card{background: #E7EFEA;
    border-radius: 16px;
    padding: 20px 10px;
    text-align: center;
    font-family: var(--Font-2);
    font-size: 13.5px;
    font-weight: 600;
    color: #0B6E63;
    letter-spacing: 0.02em;
    transition: border-color 350ms, color 350ms;
    border: 1.56px solid #04211d63;}
  .ins-card:hover{border-color:var(--teal);color:var(--teal-deep);}

  /* ---------- blog ---------- */
  .blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  @media (max-width:980px){ .blog-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .blog-grid{grid-template-columns:1fr;} }
  .blog-card{display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 10px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid var(--line);margin-bottom: 14px;}
  .blog-media{height:160px;border-radius:20px;background:linear-gradient(150deg,var(--teal-tint),var(--teal-tint-2));
    position:relative;display:flex;align-items:flex-start;padding:14px;}
  .blog-media span{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;
    background:var(--teal-deep);color:#fff;padding:5px 10px;border-radius:999px;}
  .blog-card h3{font-family:'Fraunces',serif;font-weight:500;font-size: 18px;
    margin-bottom: 10px;margin-left: 10px;}
  .blog-date{font-family:var(--Font-2);font-size:11px;color:var(--ink-soft);margin-left: 10px;}

  /* ---------- locations ---------- */
  .loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media (max-width:900px){ .loc-grid{grid-template-columns:1fr;} }
  .loc-card{background:var(--paper-raised);border:1px solid var(--line-soft);border-radius:26px;padding:30px;
    display:flex;flex-direction:column;gap:16px;}
  .loc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
  .loc-top .ic3{width:42px;height:42px;border-radius:13px;background:var(--teal-tint);color:var(--teal-deep);
    display:flex;align-items:center;justify-content:center;flex:none;}
  .loc-top .ic3 svg{width:19px;height:19px;}
  .loc-city{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);}
  .loc-card h3{font-family: var(--Font-2);
    font-weight: 500;
    font-size: 19px;
    margin-top: 2px;
    margin-bottom: 0;
    color: #04211d;}
  .loc-card address{font-style: normal;
    font-size: 13.5px;
    color: var(--ink-soft);
    line-height: 1.6;
    margin-bottom: 0;
    font-family: var(--Font-2);}
  .loc-hours{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:14px;}
  .loc-hours b{color:var(--ink);font-weight:600;}

  /* ---------- final cta ---------- */
  .cta-band{background:var(--teal-deep);border-radius:36px;margin:0 32px;padding:70px 56px;
    display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;
    position:relative;overflow:hidden;}
  @media (max-width:900px){ .cta-band{margin:0 16px;padding:48px 28px;flex-direction:column;align-items:flex-start;} }
  .cta-band::after{content:"";position:absolute;right:-120px;bottom:-160px;width:360px;height:360px;border-radius:50%;
    background:radial-gradient(circle,rgba(127,217,182,0.16),transparent 70%);}
  .cta-band h2{color:#fff;font-size:clamp(26px,3.4vw,40px);max-width:560px;}
  .cta-band p{color:#B7CCC5;margin-top:14px;font-size:15px;max-width:440px;}
  .cta-actions{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:1;}
  .cta-band .btn-primary{background:#fff;color:var(--teal-deep);}
  .cta-band .btn-primary .ic{background:var(--teal-tint);color:var(--teal-deep);}
  .cta-band .btn-ghost{border-color:rgba(255,255,255,0.28);color:#fff;}
  .cta-band .btn-ghost .ic{background:rgba(255,255,255,0.1);color:#fff;}

  /* ---------- footer ---------- */
  footer{background:var(--paper);padding:90px 0 30px;}
  .foot-grid{display:grid;grid-template-columns:1.3fr 0.8fr 0.8fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid var(--line-soft);}
  @media (max-width:860px){ .foot-grid{grid-template-columns:1fr 1fr;row-gap:36px;} }
  @media (max-width:560px){ .foot-grid{grid-template-columns:1fr;} }
  .foot-logo{display:flex;align-items:center;gap:9px;font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:var(--teal-deep);margin-bottom:16px;}
  .foot-logo .mark{width:32px;height:32px;}
  .foot-blurb{font-size:14px;color:var(--ink-soft);line-height:1.7;max-width:300px;}
  .foot-social{display:flex;gap:10px;margin-top:20px;}
  .foot-social a{width:36px;height:36px;border-radius:50%;background:var(--teal-tint);color:var(--teal-deep);
    display:flex;align-items:center;justify-content:center;transition:background 300ms,color 300ms;}
  .foot-social a:hover{background:var(--teal-deep);color:#fff;}
  .foot-social svg{width:15px;height:15px;}
  .foot-h{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:18px;}
  .foot-links li{margin-bottom:11px;font-size:14px;color:var(--ink-soft);}
  .foot-links a:hover{color:var(--teal-deep);}
  .foot-contact li{font-size:14px;color:var(--ink-soft);margin-bottom:12px;line-height:1.5;}
  .foot-contact b{display:block;color:var(--ink);font-size:11px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:3px;}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:12.5px;color:var(--ink-soft);flex-wrap:wrap;gap:10px;}
  .foot-bottom a{color:var(--ink-soft);}

  /* mobile sticky bar */
  .mbar{position:fixed;bottom:0;left:0;right:0;z-index:190;display:none;gap:1px;background:var(--line-soft);}
  @media (max-width:760px){ .mbar{display:flex;} }
  .mbar a{flex:1;background:var(--paper-raised);display:flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 0;font-size:13px;font-weight:600;color:var(--teal-deep);}
  .mbar a:first-child{background:var(--teal-deep);color:#fff;}
  .mbar svg{width:16px;height:16px;}