:root{
    /* ---- Amara base palette ---- */
    --green-900:#101811;
    --green-850:#16211A;
    --green-800:#1E2A21;
    --green-700:#2C3A2E;
    --green-600:#3A4B3C;
    --gold:#C6A256;
    --gold-light:#E3CD93;
    --gold-dim:#9C8147;
    --ivory:#F5EFE2;
    --ivory-soft:#EBE3D2;
    --warm-grey:#B5AC99;
    --ink:#20271F;
    --cream:#EDE7D8;
    /* ---- kinetic motion cue (a brighter, more energetic gold —
            same family as Amara, used only for motion: progress bar,
            active nav dot, hover states, so the two sister sites feel
            related but Physio reads more energetic) ---- */
    --kinetic:#F2D98B;
    --maxw:1240px;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Jost',sans-serif;
    background:var(--green-900);
    color:var(--ink);
    line-height:1.7;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{font-family:'Lora',serif;font-weight:600;line-height:1}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  ::selection{background:var(--gold);color:var(--green-900)}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
  .eyebrow{
    font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;
    font-weight:600;color:var(--gold-dim);display:inline-block;
  }
  .eyebrow.on-dark{color:var(--gold)}
  .gold-rule{width:64px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

  /* ---------- scroll progress bar (kinetic gold) ---------- */
  .progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:90;
    background:linear-gradient(90deg,var(--kinetic),var(--gold));transform:scaleX(0);transform-origin:0 50%;
    box-shadow:0 0 14px rgba(242,217,139,.6)}

  /* ---------- custom cursor ---------- */
  .cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:95;pointer-events:none;border-radius:50%;
    mix-blend-mode:difference;will-change:transform}
  .cursor-dot{width:6px;height:6px;background:var(--kinetic);transform:translate(-50%,-50%)}
  .cursor-ring{width:38px;height:38px;border:1.5px solid rgba(242,217,139,.7);
    transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,opacity .25s ease,background .25s ease}
  .cursor-ring.hover{width:64px;height:64px;background:rgba(242,217,139,.12);border-color:transparent}
  @media(hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}

  /* ---------- speed-line / kinetic motif ---------- */
  .speed{
    background-image:repeating-linear-gradient(115deg, rgba(198,162,86,.12) 0 2px, transparent 2px 30px);
  }

  /* ---------- nav ---------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:80;
    transition:background .5s ease, padding .5s ease, box-shadow .5s ease;
    padding:24px 0;
  }
  header.nav.scrolled{
    background:rgba(16,24,17,.9);
    backdrop-filter:blur(14px);
    padding:12px 0;
    box-shadow:0 1px 0 rgba(198,162,86,.22);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between}
  .brandmark{display:flex;align-items:center;gap:12px}
  .brandmark .logo{width:40px;height:40px;flex:none}
  .brandmark .lotus{color:var(--gold)}
  .brandmark .name{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:700;color:var(--ivory);letter-spacing:.01em;line-height:1}
  .brandmark .name small{display:block;font-family:'Jost',sans-serif;font-size:.5rem;letter-spacing:.46em;color:var(--gold);font-weight:500;margin-top:3px}
  .nav-links{display:flex;align-items:center;gap:32px}
  .nav-links a{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);font-weight:500;opacity:.82;transition:opacity .2s, color .2s;position:relative}
  .nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--kinetic);transition:width .3s ease}
  .nav-links a:not(.nav-cta):hover::after{width:100%}
  .nav-links a:hover{opacity:1;color:var(--kinetic)}
  .nav-cta{
    border:1.5px solid var(--gold);color:var(--gold)!important;
    padding:10px 22px;border-radius:2px;opacity:1!important;
    transition:background .25s,color .25s!important;
  }
  .nav-cta:hover{background:var(--gold);color:var(--green-900)!important}
  /* ---------- language switch ---------- */
  .lang-switch{display:flex;align-items:center;gap:2px;border:1.5px solid rgba(198,162,86,.4);border-radius:30px;padding:3px;margin-left:24px}
  .lang-opt{background:none;border:0;cursor:pointer;font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.14em;font-weight:600;color:var(--cream);opacity:.72;padding:6px 13px;border-radius:30px;transition:background .25s,color .25s,opacity .25s}
  .lang-opt:hover{opacity:1}
  .lang-opt.active{background:var(--gold);color:var(--green-900);opacity:1}

  .burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:22px;position:relative;z-index:85}
  .burger span{position:absolute;left:0;height:2px;width:100%;background:var(--cream);transition:.3s}
  .burger span:nth-child(1){top:0}.burger span:nth-child(2){top:10px}.burger span:nth-child(3){top:20px}
  .burger.x span:nth-child(1){top:10px;transform:rotate(45deg)}
  .burger.x span:nth-child(2){opacity:0}
  .burger.x span:nth-child(3){top:10px;transform:rotate(-45deg)}

  /* ---------- kinetic split headline ---------- */
  .kin .ch{display:inline-block;will-change:transform,opacity;transform:translateY(115%) skewY(7deg);opacity:0}
  .kin.in .ch{transform:none;opacity:1;transition:transform .9s cubic-bezier(.16,1,.3,1), opacity .9s ease}

  /* =========================================================
     HERO — kinetic, layered parallax
  ==========================================================*/
  .hero{
    position:relative;height:100vh;min-height:680px;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(130% 105% at 50% 8%, #36462F 0%, var(--green-800) 48%, var(--green-900) 100%);
    color:var(--cream);text-align:center;overflow:hidden;
  }
  .hero-layer{position:absolute;inset:0;will-change:transform}
  .hero .speed-panel{
    position:absolute;top:-12%;bottom:-12%;width:170px;opacity:.5;
    background-image:repeating-linear-gradient(115deg, rgba(198,162,86,.24) 0 2px, transparent 2px 26px);
    -webkit-mask-image:linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
            mask-image:linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
  }
  .hero .speed-panel.left{left:0}
  .hero .speed-panel.right{right:0}
  .hero-glow{position:absolute;top:4%;left:50%;transform:translateX(-50%);width:680px;height:680px;
    background:radial-gradient(circle, rgba(242,217,139,.2), transparent 64%);pointer-events:none}
  .hero-emblem-bg{position:absolute;top:50%;left:50%;width:min(70vw,640px);transform:translate(-50%,-50%);
    opacity:.08;filter:drop-shadow(0 0 30px rgba(242,217,139,.4))}
  .hero-emblem-bg svg,.hero-emblem-bg img{width:100%;height:auto;animation:bob 7s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}

  .hero-content{position:relative;z-index:3;max-width:1100px;padding:0 24px}
  .hero .topline{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:24px}
  .hero .topline span{font-size:.68rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold-light);font-weight:500}
  .hero .topline .ln{width:42px;height:1px;background:rgba(242,217,139,.5)}
  .hero h1{
    font-size:clamp(4.5rem,18vw,15rem);font-weight:700;letter-spacing:-.01em;color:#fff;line-height:.84;
    text-shadow:0 0 60px rgba(0,0,0,.3);
  }
  .hero .physio-label{font-size:clamp(.8rem,2.4vw,1.4rem);letter-spacing:.6em;text-transform:uppercase;color:var(--gold-light);font-weight:600;padding-left:.6em;margin:16px 0 26px}
  .hero .tagline{font-family:'Lora',serif;font-style:italic;font-weight:600;font-size:clamp(1.7rem,5.2vw,3.2rem);color:var(--ivory);margin-bottom:18px;line-height:1.08}
  .hero .subline{font-size:clamp(.92rem,2vw,1.1rem);color:rgba(237,231,216,.72);font-weight:300;max-width:560px;margin:0 auto 34px}
  .hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
  .hero .fade-up{opacity:0;transform:translateY(24px)}
  .hero.lit .fade-up{opacity:1;transform:none;transition:opacity 1s ease .55s, transform 1s cubic-bezier(.16,1,.3,1) .55s}

  .scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:4;
    display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(237,231,216,.6)}
  .scroll-cue span{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase}
  .scroll-cue .mouse{width:22px;height:34px;border:1.5px solid rgba(242,217,139,.55);border-radius:12px;position:relative}
  .scroll-cue .mouse::after{content:"";position:absolute;top:6px;left:50%;width:3px;height:7px;border-radius:2px;
    background:var(--kinetic);transform:translateX(-50%);animation:wheel 1.6s ease-in-out infinite}
  @keyframes wheel{0%{opacity:0;top:6px}30%{opacity:1}60%{opacity:1;top:16px}100%{opacity:0;top:18px}}

  .btn{
    display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:none;
    font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
    padding:16px 32px;border-radius:2px;transition:transform .3s ease, background .3s ease, color .3s ease, box-shadow .3s ease;
  }
  .btn-gold{background:var(--gold);color:var(--green-900)}
  .btn-gold:hover{background:var(--kinetic);transform:translateY(-3px);box-shadow:0 14px 30px -12px rgba(242,217,139,.75)}
  .btn-ghost{background:transparent;color:var(--cream);border:1.5px solid rgba(237,231,216,.32)}
  .btn-ghost:hover{border-color:var(--kinetic);color:var(--kinetic);transform:translateY(-3px)}
  .btn svg{width:16px;height:16px}

  /* =========================================================
     MARQUEE
  ==========================================================*/
  .marquee{background:var(--green-900);border-top:1px solid rgba(198,162,86,.16);border-bottom:1px solid rgba(198,162,86,.16);
    overflow:hidden;padding:24px 0;white-space:nowrap}
  .marquee-track{display:inline-flex;align-items:center;gap:38px;animation:marq 28s linear infinite;will-change:transform}
  .marquee:hover .marquee-track{animation-play-state:paused}
  .marquee-track span{font-family:'Lora',serif;font-style:italic;font-weight:600;font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--ivory);opacity:.85}
  .marquee-track .dot{width:8px;height:8px;border-radius:50%;background:var(--kinetic);opacity:.85;display:inline-block}
  @keyframes marq{to{transform:translateX(-50%)}}

  /* =========================================================
     SECTION generic
  ==========================================================*/
  .section{padding:120px 0;position:relative}
  .sec-head{max-width:720px;margin:0 auto 64px;text-align:center}
  .sec-head .eyebrow{margin-bottom:16px}
  .sec-head h2{font-size:clamp(2.6rem,6.5vw,5rem);color:var(--green-800);font-weight:700;line-height:1.02}
  .sec-head p{margin-top:20px;color:#5c6356;font-weight:300}
  .sec-head .gold-rule{margin:24px auto 0}
  .on-dark-head h2{color:#fff}
  .on-dark-head p{color:rgba(237,231,216,.7)}

  /* reveal utility */
  .reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s}

  /* photo placeholder */
  .photo-ph{position:relative;border:1.5px dashed rgba(198,162,86,.5);border-radius:4px;
    background:repeating-linear-gradient(115deg, rgba(198,162,86,.06) 0 2px, transparent 2px 24px), var(--green-850);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;
    color:rgba(237,231,216,.6);padding:30px;min-height:260px;overflow:hidden}
  .photo-ph svg{width:42px;height:42px;stroke:var(--gold);fill:none;stroke-width:1.2;opacity:.8}
  .photo-ph .ph-lbl{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light);font-weight:600}
  .photo-ph .ph-file{font-family:'Jost',sans-serif;font-size:.78rem;color:rgba(237,231,216,.55);font-weight:300}
  .photo-ph .ph-emblem{position:absolute;width:46%;opacity:.12;filter:drop-shadow(0 0 20px rgba(242,217,139,.35))}

  /* =========================================================
     INTRO — About Amara Physio
  ==========================================================*/
  .intro{background:var(--ivory)}
  .intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
  .intro-art{aspect-ratio:4/5}
  .intro-text .eyebrow{margin-bottom:14px}
  .intro-text h2{font-size:clamp(2.2rem,5vw,3.6rem);color:var(--green-800);font-weight:700;margin:0 0 26px;max-width:14ch;line-height:1.04}
  .intro-text p{color:#4f5649;margin-bottom:20px;font-weight:300;font-size:1.05rem}
  .intro-text .stack{display:flex;align-items:center;gap:14px;margin-top:30px;padding:18px 22px;border:1px solid rgba(156,129,71,.3);border-radius:4px;background:var(--ivory-soft)}
  .intro-text .stack svg{width:34px;height:34px;stroke:var(--gold-dim);fill:none;stroke-width:1.4;flex:none}
  .intro-text .stack b{color:var(--green-800);font-weight:600}
  .intro-text .stack span{font-size:.92rem;color:#5c6356}

  /* =========================================================
     CONDITIONS
  ==========================================================*/
  .conditions{background:var(--green-800);color:var(--cream);overflow:hidden;position:relative}
  .cond-head{padding:120px 0 20px}
  .cond-panel{
    min-height:100vh;display:flex;align-items:center;position:relative;
    padding:90px 0;border-top:1px solid rgba(198,162,86,.14);
  }
  .cond-panel:nth-child(even){background:var(--green-850)}
  .cond-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;width:100%}
  .cond-panel.flip .cond-media{order:2}
  .cond-num{position:absolute;top:40px;right:6%;font-family:'Lora',serif;font-weight:700;
    font-size:clamp(7rem,18vw,15rem);line-height:1;color:rgba(198,162,86,.07);pointer-events:none;z-index:0;will-change:transform}
  .cond-body{position:relative;z-index:2}
  .cond-ic{width:46px;height:46px;stroke:var(--kinetic);fill:none;stroke-width:1.4;margin-bottom:18px}
  .cond-body .eyebrow{margin-bottom:12px;display:block}
  .cond-body h3{font-size:clamp(2.6rem,6vw,4.6rem);color:#fff;font-weight:700;line-height:.98;margin-bottom:6px}
  .cond-body .alt{font-family:'Lora',serif;font-style:italic;font-weight:500;color:var(--gold-light);font-size:1.15rem;margin-bottom:18px}
  .cond-body .hook{font-family:'Lora',serif;font-style:italic;font-weight:600;font-size:clamp(1.2rem,2.6vw,1.7rem);color:var(--ivory);margin-bottom:18px;line-height:1.25}
  .cond-body .lead{color:rgba(237,231,216,.74);font-weight:300;margin-bottom:24px;font-size:1.02rem;max-width:50ch}
  .causes{margin-bottom:30px}
  .causes .c-lbl{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:12px}
  .causes .tags{display:flex;flex-wrap:wrap;gap:8px}
  .causes .tag{font-size:.72rem;letter-spacing:.04em;color:var(--gold-light);
    border:1px solid rgba(198,162,86,.35);border-radius:30px;padding:7px 15px;font-weight:300}
  .treat .t-lbl{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px}
  .steps{display:flex;flex-direction:column;gap:12px}
  .step{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid rgba(198,162,86,.2);border-radius:4px;
    background:rgba(255,255,255,.02);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s,background .4s}
  .step:hover{transform:translateX(6px);border-color:rgba(242,217,139,.5);background:rgba(255,255,255,.05)}
  .step .s-no{font-family:'Lora',serif;font-weight:700;font-size:1.5rem;color:var(--kinetic);line-height:1;flex:none;width:30px}
  .step .s-name{font-weight:600;color:var(--ivory);font-size:1rem;letter-spacing:.01em}
  .step .s-desc{font-size:.9rem;color:rgba(237,231,216,.66);font-weight:300}
  .cond-body .goal{margin-top:24px;font-family:'Lora',serif;font-style:italic;font-weight:600;
    font-size:1.2rem;color:var(--gold-light);line-height:1.3;border-left:2px solid var(--gold);padding-left:18px}
  .cond-cta{margin-top:30px;display:inline-flex}

  /* condition media / photo placeholder */
  .cond-media{position:relative}
  .cond-media .photo-ph{aspect-ratio:4/5;min-height:0}
  .cond-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;border:1px solid rgba(198,162,86,.3);display:block}
  .intro-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;border:1px solid rgba(198,162,86,.3);display:block}
  .map-photo{width:100%;display:block;border-radius:4px}

  /* =========================================================
     DOT NAV
  ==========================================================*/
  .dotnav{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:75;display:flex;flex-direction:column;gap:16px}
  .dotnav button{position:relative;width:13px;height:13px;border-radius:50%;border:1.5px solid rgba(198,162,86,.55);
    background:transparent;cursor:pointer;padding:0;transition:transform .25s,border-color .25s,background .25s}
  .dotnav button:hover{border-color:var(--kinetic)}
  .dotnav button.active{background:var(--kinetic);border-color:var(--kinetic);transform:scale(1.25);box-shadow:0 0 12px rgba(242,217,139,.7)}
  .dotnav button .lbl{position:absolute;right:24px;top:50%;transform:translateY(-50%) translateX(8px);opacity:0;pointer-events:none;
    white-space:nowrap;background:rgba(16,24,17,.92);color:var(--cream);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
    font-weight:500;padding:6px 12px;border-radius:3px;border:1px solid rgba(198,162,86,.3);transition:opacity .25s,transform .25s}
  .dotnav button:hover .lbl,.dotnav button.active .lbl{opacity:1;transform:translateY(-50%) translateX(0)}
  @media(max-width:1080px){.dotnav{display:none}}

  /* =========================================================
     WHY US + STATS
  ==========================================================*/
  .why{background:var(--green-900);color:var(--cream);overflow:hidden;position:relative}
  .why .par-blob{position:absolute;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(198,162,86,.1),transparent 64%);pointer-events:none;will-change:transform}
  .why .par-blob.a{top:2%;left:-8%}.why .par-blob.b{bottom:0;right:-6%}
  .why .wrap{position:relative;z-index:2}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-bottom:80px}
  .stat{text-align:center;padding:34px 18px;border:1px solid rgba(198,162,86,.22);border-radius:4px;
    background:linear-gradient(160deg,rgba(44,58,46,.5),rgba(16,24,17,.4))}
  .stat .stat-num{font-family:'Lora',serif;font-weight:700;font-size:clamp(3rem,7vw,5rem);
    color:var(--kinetic);line-height:1;filter:drop-shadow(0 0 24px rgba(242,217,139,.2))}
  .stat .stat-lbl{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);font-weight:500;margin-top:10px}
  .stat .stat-note{font-size:.62rem;letter-spacing:.06em;color:var(--gold-dim);margin-top:6px;font-style:italic}
  .trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
  .tcard{padding:34px 30px;border:1px solid rgba(198,162,86,.22);border-radius:4px;
    background:rgba(255,255,255,.02);transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .45s}
  .tcard:hover{transform:translateY(-8px);border-color:var(--gold)}
  .tcard svg{width:40px;height:40px;stroke:var(--gold);fill:none;stroke-width:1.3;margin-bottom:18px}
  .tcard h4{font-family:'Lora',serif;font-weight:700;font-size:1.5rem;color:var(--ivory);margin-bottom:8px}
  .tcard p{font-size:.92rem;color:rgba(237,231,216,.68);font-weight:300}

  /* =========================================================
     MACHINES
  ==========================================================*/
  .machines{background:var(--ivory);overflow:hidden}
  .machines .sec-head{margin-bottom:56px}
  .mach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1100px;margin:0 auto}
  .mach-card{background:#fff;border:1px solid rgba(156,129,71,.28);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;
    transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .45s,box-shadow .45s}
  .mach-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 24px 44px -28px rgba(16,24,17,.5)}
  .mach-img{aspect-ratio:4/3;background:#fff;overflow:hidden}
  .mach-img img{width:100%;height:100%;object-fit:cover;display:block}
  .mach-body{padding:26px 28px 32px;border-top:1px solid rgba(156,129,71,.2);flex:1}
  .mach-tag{display:block;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;font-weight:600;color:var(--gold-dim);margin-bottom:10px}
  .mach-body h3{font-size:1.6rem;color:var(--green-800);font-weight:700;line-height:1.15;margin-bottom:12px}
  .mach-body p{font-size:.95rem;color:#5c6356;font-weight:300}
  .mach-note{text-align:center;max-width:640px;margin:48px auto 0;font-size:.95rem;color:#5c6356;font-style:italic}
  @media(max-width:900px){.mach-grid{grid-template-columns:1fr;max-width:460px}}

  /* =========================================================
     LOCATIONS
  ==========================================================*/
  .locations{background:var(--green-900)}
  .loc-group{margin-bottom:60px}
  .loc-group:last-child{margin-bottom:0}
  .loc-group-head{display:flex;align-items:baseline;gap:14px;margin-bottom:26px;flex-wrap:wrap}
  .loc-group-head h3{font-family:'Lora',serif;font-weight:700;font-size:clamp(1.35rem,3vw,1.85rem);color:var(--ivory)}
  .loc-group-head span{font-size:.82rem;color:rgba(237,231,216,.55);font-weight:300}
  .loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
  .loc-card{border:1px solid rgba(198,162,86,.22);border-radius:6px;overflow:hidden;
    background:rgba(255,255,255,.02);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s}
  .loc-card:hover{transform:translateY(-6px);border-color:var(--gold)}
  .loc-photo{position:relative;aspect-ratio:4/3}
  .loc-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .loc-photo .photo-ph{position:absolute;inset:0;min-height:0;border-radius:0;border-width:0 0 1.5px 0}
  .loc-body{padding:26px 24px}
  .loc-card .loc-status{display:inline-block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
    padding:5px 12px;border-radius:30px;margin-bottom:14px}
  .loc-card .loc-status.open{background:rgba(198,162,86,.18);color:var(--gold-light);border:1px solid rgba(198,162,86,.4)}
  .loc-card .loc-status.soon{background:rgba(255,255,255,.04);color:rgba(237,231,216,.6);border:1px solid rgba(237,231,216,.22)}
  .loc-card h4{font-family:'Lora',serif;font-weight:700;font-size:1.25rem;color:var(--ivory);margin-bottom:14px}
  .loc-meta{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}
  .loc-meta-row{display:flex;gap:10px;align-items:flex-start}
  .loc-meta-row svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.6;flex:none;margin-top:2px}
  .loc-meta-row span,.loc-meta-row a{font-size:.84rem;color:rgba(237,231,216,.66);font-weight:300;line-height:1.5}
  .loc-meta-row a:hover{color:var(--kinetic)}
  .loc-card .loc-cta{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;display:inline-block}
  .loc-card .loc-cta:hover{color:var(--kinetic)}
  .loc-group.recovery .loc-group-head h3{color:var(--gold-light)}
  .loc-group.recovery .loc-card{border-color:rgba(237,231,216,.28)}
  .loc-group.recovery .loc-card:hover{border-color:var(--gold-light)}
  .loc-group.recovery .loc-grid{grid-template-columns:minmax(240px,360px)}

  /* =========================================================
     BOOKING
  ==========================================================*/
  .booking{background:var(--green-850);color:var(--cream);position:relative;overflow:hidden}
  .booking .glow{position:absolute;bottom:-30%;left:50%;transform:translateX(-50%);width:680px;height:680px;
    background:radial-gradient(circle,rgba(242,217,139,.13),transparent 64%);pointer-events:none}
  .book-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;position:relative;z-index:2}
  .book-info .eyebrow{margin-bottom:14px}
  .book-info h2{font-size:clamp(2.6rem,5.6vw,4rem);color:#fff;font-weight:700;margin:0 0 20px;line-height:1.02}
  .book-info p{color:rgba(237,231,216,.78);font-weight:300;margin-bottom:30px;max-width:460px}
  .contact-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}
  .contact-row svg{width:24px;height:24px;stroke:var(--gold);fill:none;flex:none;margin-top:3px}
  .contact-row .c-lbl{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:3px;font-weight:600}
  .contact-row .c-val{font-size:1rem;color:var(--ivory);font-weight:300}
  .contact-row .c-val a{color:var(--ivory)}
  .contact-row .c-val a:hover{color:var(--kinetic)}

  .book-card{background:rgba(255,255,255,.03);border:1px solid rgba(198,162,86,.3);border-radius:4px;padding:40px 38px}
  .book-card h3{font-family:'Lora',serif;font-weight:700;font-size:1.85rem;color:var(--ivory);margin-bottom:6px}
  .book-card .small{font-size:.86rem;color:rgba(237,231,216,.6);font-weight:300;margin-bottom:26px}
  .field{margin-bottom:18px}
  .field label{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:8px;font-weight:600}
  .field input,.field select{
    width:100%;background:rgba(16,24,17,.6);border:1px solid rgba(198,162,86,.3);border-radius:2px;
    color:var(--ivory);font-family:'Jost',sans-serif;font-weight:300;font-size:.96rem;padding:13px 15px;outline:none;transition:border-color .25s;
  }
  .field input:focus,.field select:focus{border-color:var(--kinetic)}
  .field select option{background:var(--green-800);color:var(--ivory)}
  .book-card .btn-gold{width:100%;justify-content:center;margin-top:8px}

  /* ---------- footer ---------- */
  footer{background:var(--green-900);color:var(--cream);border-top:1px solid rgba(198,162,86,.2);padding:60px 0 36px;text-align:center}
  footer .brandmark{justify-content:center;margin-bottom:14px}
  footer .ftag{font-family:'Lora',serif;font-style:italic;font-weight:600;color:var(--gold-light);font-size:1.2rem;margin-bottom:20px}
  footer .fnote{font-size:.78rem;color:rgba(237,231,216,.5);font-weight:300}
  footer .fnote a{color:var(--gold-light)}
  footer .flinks{display:flex;gap:24px;justify-content:center;margin:0 0 24px;flex-wrap:wrap}
  footer .flinks a{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(237,231,216,.7)}
  footer .flinks a:hover{color:var(--kinetic)}

  /* ---------- whatsapp float ---------- */
  .wa-float{position:fixed;right:24px;bottom:24px;z-index:70;width:60px;height:60px;border-radius:50%;
    background:#25D366;display:flex;align-items:center;justify-content:center;
    box-shadow:0 12px 34px -8px rgba(37,211,102,.7);transition:transform .25s;animation:floaty 3s ease-in-out infinite}
  .wa-float:hover{transform:scale(1.1)}
  .wa-float svg{width:32px;height:32px;fill:#fff}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

  /* ---------- responsive ---------- */
  @media(max-width:980px){
    .nav-links{position:fixed;inset:0 0 0 auto;width:min(80vw,340px);background:var(--green-900);
      flex-direction:column;justify-content:center;gap:30px;transform:translateX(100%);transition:transform .45s cubic-bezier(.16,1,.3,1);border-left:1px solid rgba(198,162,86,.3);padding:0 30px}
    .nav-links.open{transform:none}
    .burger{display:block}
    .lang-switch{margin-left:auto;margin-right:14px}
    .intro-grid,.book-grid,.cond-grid{grid-template-columns:1fr;gap:40px}
    .loc-grid,.loc-group.recovery .loc-grid{grid-template-columns:1fr}
    .cond-panel.flip .cond-media{order:0}
    .cond-media{display:none}
    .stats,.trust{grid-template-columns:1fr 1fr}
    .cond-panel{min-height:auto}
  }
  @media(max-width:560px){
    .wrap{padding:0 22px}
    .section{padding:80px 0}
    .stats,.trust{grid-template-columns:1fr}
    .hero .speed-panel{width:64px}
  }
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important}
    html{scroll-behavior:auto}
    .reveal,.hero .fade-up,.kin .ch{opacity:1!important;transform:none!important;transition:none!important}
    .hero-layer,[data-parallax],.cond-num,.par-blob{transform:none!important}
    .cursor-dot,.cursor-ring{display:none}
  }
  .hero h1{font-family:'Cormorant Garamond',serif}
  /* ---------- FAQ ---------- */
  .faq{background:var(--green-850);color:var(--cream)}
  .faq-machines-h{display:block;text-align:center;margin:0 0 20px}
  .faq-machines{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 auto 60px;max-width:1000px}
  .mcard{border:1px solid rgba(198,162,86,.22);border-radius:6px;overflow:hidden;background:rgba(255,255,255,.02)}
  .mcap{padding:13px 16px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);font-weight:600;text-align:center}
  .mphoto{position:relative;aspect-ratio:4/3}
  .mphoto>img{width:100%;height:100%;object-fit:cover;display:block}
  .mphoto .photo-ph{position:absolute;inset:0;aspect-ratio:auto;min-height:0;border:0}
  .faq-group{max-width:860px;margin:0 auto 38px}
  .faq-group-t{font-size:clamp(1.5rem,3vw,2rem);color:var(--ivory);margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid rgba(198,162,86,.22)}
  .faq-sub{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:24px 0 6px}
  .faq-item{border-bottom:1px solid rgba(198,162,86,.14)}
  .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;background:none;border:0;cursor:pointer;
    text-align:left;color:var(--ivory);font-family:'Jost',sans-serif;font-weight:500;font-size:1.02rem;line-height:1.5;padding:18px 0;transition:color .25s}
  .faq-q:hover{color:var(--kinetic)}
  .faq-ic{width:20px;height:20px;flex:none;stroke:var(--gold);fill:none;stroke-width:2;transition:transform .35s ease}
  .faq-item.open .faq-ic{transform:rotate(180deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
  .faq-item.open .faq-a{max-height:1400px}
  .faq-a p{color:rgba(237,231,216,.76);font-weight:300;padding:0 0 18px;font-size:.98rem;line-height:1.7}
  .faq-list{list-style:none;padding:0 0 18px;margin:0}
  .faq-list li{position:relative;padding:4px 0 4px 20px;color:rgba(237,231,216,.76);font-weight:300;font-size:.96rem;line-height:1.6}
  .faq-list li::before{content:"";position:absolute;left:0;top:12px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
  .faq-disclaimer{max-width:860px;margin:28px auto 0;font-size:.82rem;color:rgba(237,231,216,.5);font-style:italic;font-weight:300;line-height:1.6}
  @media(max-width:760px){.faq-machines{grid-template-columns:1fr;max-width:420px}}
/* ===== Additions for the multi-page build (sub-pages + SEO tweaks) ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lang-opt{display:inline-block;text-decoration:none}
/* H1 now wraps the topline + wordmark + label (keeps the design, puts keywords in the H1) */
.hero h1 .topline,.hero h1 .physio-label{font-family:'Jost',sans-serif;font-weight:600;text-shadow:none;line-height:1.5}
.hero h1 .topline{margin-bottom:24px}
.hero h1 .physio-label{display:block}
.hero h1 .topline span.ln{display:block}
.cond-more{display:inline-block;margin:30px 0 0 22px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;border-bottom:1px solid rgba(198,162,86,.4);padding-bottom:3px}
.cond-more:hover{color:var(--kinetic);border-color:var(--kinetic)}
.faq-more{text-align:center;margin-top:34px}
.faq-h{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}
p.faq-sub{margin:24px 0 6px}
.step h3.s-name{font-family:'Jost',sans-serif;line-height:1.4}

/* ---------- sub-page hero ---------- */
.page-hero{background:radial-gradient(130% 120% at 50% 0%,#36462F 0%,var(--green-800) 50%,var(--green-900) 100%);color:var(--cream);padding:150px 0 72px;position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:2}
.page-hero::after{content:"";position:absolute;top:-10%;bottom:-10%;right:0;width:200px;opacity:.4;background-image:repeating-linear-gradient(115deg,rgba(198,162,86,.24) 0 2px,transparent 2px 26px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.crumbs{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,231,216,.6);margin-bottom:24px;font-weight:500}
.crumbs a:hover{color:var(--kinetic)}
.crumbs .sep{margin:0 10px;opacity:.45}
.page-hero h1{font-size:clamp(2.2rem,5.6vw,4.2rem);color:#fff;font-weight:700;line-height:1.06;max-width:20ch;margin-bottom:20px}
.page-hero .hook{font-family:'Lora',serif;font-style:italic;font-weight:600;font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--ivory);max-width:46ch;line-height:1.35}
.page-hero .lede{color:rgba(237,231,216,.78);font-size:1.05rem;max-width:58ch;margin-top:6px}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}

/* ---------- sub-page sections ---------- */
.pg{background:var(--green-850);color:var(--cream);padding:84px 0;border-top:1px solid rgba(198,162,86,.14)}
.pg.alt{background:var(--green-800)}
.pg h2{font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--ivory);font-weight:700;line-height:1.15;margin:0 0 22px}
.pg h2.sm{font-size:1.15rem;font-family:'Jost',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:14px}
.pg p{color:rgba(237,231,216,.78);font-weight:300;max-width:62ch;margin-bottom:18px}
.pg-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.pg-grid.nophoto{grid-template-columns:1fr;max-width:860px}
.pg-media{position:sticky;top:110px}
.pg-body>*+*{margin-top:34px}
.pg-body .goal{font-family:'Lora',serif;font-style:italic;font-weight:600;font-size:1.2rem;color:var(--gold-light);line-height:1.3;border-left:2px solid var(--gold);padding-left:18px}
.pg .lead{font-size:1.08rem;color:rgba(237,231,216,.84)}
.pg .faq-group{margin-bottom:0}
.pg .faq-item:first-of-type{border-top:1px solid rgba(198,162,86,.14)}

/* related / hub cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.card{display:block;border:1px solid rgba(198,162,86,.22);border-radius:6px;overflow:hidden;background:rgba(255,255,255,.02);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s}
.card:hover{transform:translateY(-6px);border-color:var(--gold)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.card .cbody{padding:20px 22px 24px}
.card h2,.card h3{font-size:1.25rem;color:var(--ivory);margin:0 0 8px;font-weight:700}
.card p{font-size:.9rem;margin:0 0 14px;color:rgba(237,231,216,.7)}
.card .go{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.card:hover .go{color:var(--kinetic)}
.cards.compact{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.cards.compact .card .cbody{padding:16px 18px}
.cards.compact .card h3{font-size:1.05rem;margin:0}

/* visit / details */
.details{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:0 0 30px}
.dcard{border:1px solid rgba(198,162,86,.24);border-radius:6px;padding:24px 24px;background:rgba(255,255,255,.025)}
.dcard .c-lbl{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:8px;font-weight:600}
.dcard .c-val{color:var(--ivory);font-weight:300;line-height:1.55}
.dcard .c-val a{color:var(--ivory);border-bottom:1px solid rgba(198,162,86,.4)}
.dcard .c-val a:hover{color:var(--kinetic)}
.visit-band{text-align:center}
.visit-band h2{max-width:22ch;margin-left:auto;margin-right:auto}
.visit-band p{margin-left:auto;margin-right:auto}
.visit-band .cta-row{justify-content:center}
.soon-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.soon-list span{font-size:.78rem;border:1px solid rgba(237,231,216,.22);border-radius:30px;padding:6px 14px;color:rgba(237,231,216,.7)}

@media(max-width:980px){
  .pg-grid{grid-template-columns:1fr;gap:34px}
  .pg-media{position:static;max-width:420px}
  .page-hero{padding:130px 0 56px}
  .page-hero::after{display:none}
  .cond-more{margin-left:0;display:block;width:max-content}
}

.tcard h3{font-family:'Lora',serif;font-weight:700;font-size:1.5rem;color:var(--ivory);margin-bottom:8px;line-height:1.2}

.pg .faq-group{margin-left:0;max-width:860px}
.pg .faq-disclaimer{margin-left:0}

.pg .faq-more{text-align:left}
.pg .details{margin-bottom:64px}

/* ---------- smaller condition photos ---------- */
.cond-panel{min-height:auto;padding:72px 0}
.cond-grid{grid-template-columns:.7fr 1.3fr;gap:56px}
.cond-photo{aspect-ratio:4/3;max-height:340px;object-position:center 28%}
.pg-grid{grid-template-columns:.7fr 1.3fr}
.pg-media .cond-photo{max-height:300px}
.pg-media{max-width:380px}

/* ---------- conditions list (no photos) ---------- */
.cond-list-wrap{padding-top:10px;padding-bottom:110px}
.pg .cond-list-wrap{padding:0 30px}
.cond-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1040px;margin:0 auto 44px}
.cond-list li{display:flex;align-items:center;gap:18px;padding:24px 26px;border:1px solid rgba(198,162,86,.22);border-radius:6px;background:rgba(255,255,255,.025);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s}
.cond-list li:hover{transform:translateY(-4px);border-color:var(--gold)}
.cond-list .n{font-family:'Lora',serif;font-weight:700;font-size:1.6rem;line-height:1;color:var(--kinetic);width:38px;flex:none}
.cond-list .t{font-weight:500;color:var(--ivory);font-size:1.04rem;line-height:1.35}
.cond-list .t small{display:block;font-size:.8rem;font-weight:300;color:rgba(237,231,216,.62);margin-top:3px;letter-spacing:.02em}
.cond-note{text-align:center;color:rgba(237,231,216,.78);max-width:52ch;margin:0 auto 22px}
.pg .cond-list-wrap .cond-note{margin-left:auto;margin-right:auto}
@media(max-width:900px){.cond-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cond-list{grid-template-columns:1fr}.cond-list li{padding:18px 20px}}
