@import url('https://unpkg.com/lenis@1.3.23/dist/lenis.css');

/* ============================================================
   TRUST CARE PHYSIOTHERAPY - ABOUT US (built on homepage v4 system)
   Same tokens, fonts (Instrument Sans + Instrument Serif + Young Serif),
   buttons, kicker, cards and motion as the home page. Coral = Book accent.
   Real GHL media only (assets.cdn.filesafe.space/dNaxuVG05AsjPmLbMfyA)
   ============================================================ */
:root{
  --teal:#057F7E; --teal-dark:#046B6A; --navy:#1F5870; --navy-deep:#143f52;
  --soft-teal:#76B9B8; --coral:#FD5F4C; --sand:#F3EFEA; --paper:#FEFEFE;
  --ink:#15323b; --muted:#41606b;
  --radius:18px; --radius-lg:26px; --maxw:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow-sm:0 2px 10px rgba(20,63,82,.07);
  --shadow-md:0 14px 40px rgba(20,63,82,.12);
  --shadow-lg:0 30px 80px rgba(20,63,82,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Instrument Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:17px}
h1,h2,h3,h4{font-family:'Instrument Sans',system-ui,sans-serif;font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--navy)}
h1{font-size:clamp(2.4rem,5vw,4.2rem);letter-spacing:-.03em;line-height:1.04}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);letter-spacing:-.025em}
h3{font-size:clamp(1.15rem,1.6vw,1.32rem);letter-spacing:-.015em}
h4{font-size:.92rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.serif-accent{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}
section{position:relative}

.cursor{position:fixed;top:0;left:0;width:30px;height:30px;border:1.5px solid var(--teal);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:9999;transition:width .25s var(--ease),height .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease);mix-blend-mode:multiply}
.cursor.grow{width:58px;height:58px;background:rgba(5,127,126,.10);border-color:transparent}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:.98rem;padding:14px 26px;border-radius:100px;border:0;cursor:pointer;position:relative;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease)}
a.btn.btn-book{background:var(--coral)!important;color:#fff!important;box-shadow:0 10px 26px rgba(253,95,76,.34);transition:background .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease)}
a.btn.btn-book:hover{background:var(--teal)!important;box-shadow:0 18px 44px rgba(5,127,126,.45)!important;transform:translateY(-2px)!important}
a.btn.btn-teal{background:var(--teal)!important;color:#fff!important;box-shadow:0 10px 26px rgba(5,127,126,.26);transition:background .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease)}
a.btn.btn-teal:hover{background:var(--coral)!important;box-shadow:0 18px 44px rgba(253,95,76,.45)!important;transform:translateY(-2px)!important}
.hero-cta a.btn.btn-book{background:var(--teal)!important;box-shadow:0 10px 26px rgba(5,127,126,.32)!important}
.hero-cta a.btn.btn-book:hover{background:var(--coral)!important;box-shadow:0 18px 44px rgba(253,95,76,.50)!important;transform:translateY(-2px)!important}
.hero-cta a.btn.btn-outline2:hover{background:var(--coral)!important;border-color:var(--coral)!important;color:#fff!important;transform:translateY(-2px)!important}
.btn-ghost{background:rgba(255,255,255,.10);color:#fff;border:1.5px solid rgba(255,255,255,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.18)}
.btn-line{background:#fff;color:var(--teal);border:1.5px solid rgba(5,127,126,.35);box-shadow:var(--shadow-sm)}
.btn-line:hover{background:rgba(5,127,126,.06);border-color:var(--teal)}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}

/* HERO - full-bleed real photo + brand-teal veil */
.hero{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0f3140;padding:120px 0 90px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 30%;z-index:0;transform:scale(1.04);animation:kenburns 30s ease-in-out infinite alternate;will-change:transform;filter:saturate(1.05)}
.hero-reveal{position:absolute;inset:0;z-index:2;pointer-events:none;display:none;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(5,1fr)}
.js-hero-anim .hero-reveal{display:grid}
.hero-reveal .cell{background:#0f3140;will-change:transform,opacity;backface-visibility:hidden}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.12) translate(-2%,-1%)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(95deg,rgba(8,28,38,.85) 0%,rgba(15,46,62,.72) 32%,rgba(5,127,126,.30) 60%,rgba(118,185,184,.0) 82%),linear-gradient(0deg,rgba(15,46,62,.55) 0%,transparent 38%)}
.hero-inner{position:relative;z-index:3;width:100%;max-width:var(--maxw);margin:0 auto;padding:60px 28px 90px;text-align:left}
.hero-inner > *{max-width:640px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#eafffb;margin-bottom:24px;padding:8px 16px;border-radius:100px;background:rgba(5,127,126,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(234,255,251,.28);transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);cursor:default}
.hero .eyebrow:hover{background:var(--coral)!important;border-color:var(--coral)!important;color:#fff!important;transform:translateY(-2px) scale(1.03);box-shadow:0 14px 30px rgba(253,95,76,.5)}
.hero h1{color:#fff;text-shadow:0 4px 40px rgba(8,28,38,.7),0 2px 12px rgba(8,28,38,.55);font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.04;display:flex;flex-wrap:wrap;gap:.32em;align-items:baseline}
.hero h1 .line2{font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;color:var(--coral)!important;-webkit-text-fill-color:var(--coral)!important;letter-spacing:-.005em;text-shadow:0 4px 28px rgba(8,28,38,.55),0 2px 12px rgba(8,28,38,.5)}
.hero h1 .line2 .split-word{font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;color:var(--coral)!important;-webkit-text-fill-color:var(--coral)!important}
.hero .lede{margin:24px 0 0;font-size:clamp(1.05rem,1.32vw,1.18rem);color:#fff;max-width:52ch;line-height:1.55;text-shadow:0 2px 16px rgba(8,28,38,.6)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;margin-top:36px}
.hero-cta .btn-book{background:var(--teal);box-shadow:0 10px 26px rgba(5,127,126,.34);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem;padding:16px 28px}
.hero-cta .btn-outline2{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem;padding:16px 28px}
.hero-cta .btn-outline2:hover{background:rgba(255,255,255,.10);border-color:#fff}
.split-word{display:inline-block;will-change:transform,opacity}
@media (max-width:760px){.hero-inner{text-align:center}.hero-inner > *{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero h1{justify-content:center}.hero .lede{margin-left:auto;margin-right:auto}}

/* trust chip card */
.hero-chips{position:relative;z-index:30;margin:-54px auto 0;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(10,30,40,.22);padding:14px 22px;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;max-width:min(1100px,calc(100% - 56px));align-items:center}
.hero-chips .chip{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--navy);padding:8px 14px;border-radius:100px;background:rgba(118,185,184,.16);white-space:nowrap;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.hero-chips .chip svg{width:14px;height:14px;color:var(--teal);flex:0 0 14px;transition:color .3s var(--ease)}
.hero-chips .chip:hover{background:rgba(253,95,76,.14);color:var(--coral);transform:translateY(-2px)}
.hero-chips .chip:hover svg{color:var(--coral)}
@media (max-width:760px){.hero-chips{margin:-40px 16px 0;padding:12px 14px}.hero-chips .chip{font-size:.78rem;padding:7px 12px}}

/* sections + kicker (homepage) */
.sec{padding:clamp(40px,4.2vw,68px) 0}
.sec-head{max-width:700px;margin-bottom:52px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--teal);margin-bottom:18px;transition:color .25s var(--ease)}
.kicker:hover{color:var(--coral)}
.kicker .bar{width:26px;height:2px;background:var(--coral)}
.sec h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.sec h2 .serif-accent{color:var(--teal)}
.sec-head p,.lead{margin-top:18px;font-size:1.12rem;color:var(--muted)}

.reveal{opacity:1;transform:none}
.js-anim .reveal{opacity:0;transform:translateY(32px)}
.js-anim .reveal.in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}

/* WELCOME split */
.welcome{background:var(--paper)}
.welcome-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.welcome-media{position:relative}
.welcome-media .frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.welcome-media .frame img{width:100%;height:470px;object-fit:cover;object-position:center;transition:transform .9s var(--ease)}
.welcome-media:hover .frame img{transform:scale(1.05)}
.welcome-media .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(5,127,126,.12),transparent 55%);pointer-events:none}
.welcome-media .ring{position:absolute;inset:-14px;border:1px solid rgba(118,185,184,.5);border-radius:32px;z-index:-1}
.welcome-media .badge{position:absolute;right:-16px;bottom:26px;background:#fff;border-radius:16px;padding:16px 20px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:14px;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.welcome-media .badge:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.welcome-media .badge b{font-family:'Young Serif',serif;font-size:1.9rem;color:var(--teal);line-height:1}
.welcome-media .badge span{font-size:.78rem;color:var(--muted);letter-spacing:.02em;line-height:1.25;display:block;max-width:13ch}
.welcome-text .micro{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}
.welcome-text .micro .m{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:var(--navy);background:var(--sand);border:1px solid rgba(20,63,82,.06);border-radius:100px;padding:8px 14px;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.welcome-text .micro .m svg{width:15px;height:15px;color:var(--teal);flex:0 0 15px;transition:color .3s var(--ease)}
.welcome-text .micro .m:hover{background:rgba(253,95,76,.10);color:var(--coral);transform:translateY(-2px)}
.welcome-text .micro .m:hover svg{color:var(--coral)}

/* TEAM grid (homepage card language) */
.team{background:linear-gradient(180deg,#f1f7f5,var(--paper))}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:8px}
.member{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:#fff;border:1px solid rgba(20,63,82,.07);box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.member:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(20,63,82,.18);border-color:rgba(253,95,76,.4)}
.member .ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e7f0ef}
.member .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.member:hover .ph img{transform:scale(1.06)}
.member .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(5,127,126,.12),transparent 55%);transition:background .45s var(--ease)}
.member:hover .ph::after{background:linear-gradient(140deg,rgba(253,95,76,.22),transparent 60%)}
.member .info{padding:20px 22px 24px}
.member .nm{font-size:1.14rem;color:var(--navy);font-weight:700;letter-spacing:-.01em}
.member .rl{margin-top:9px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);padding-top:10px;position:relative;transition:color .3s var(--ease)}
.member .rl::before{content:"";position:absolute;top:0;left:0;width:24px;height:2px;background:var(--coral)}
.member:hover .rl{color:var(--coral)}

/* WHY dark band (homepage) */
.why{background:var(--navy);color:#fff;overflow:hidden}
.why h2{color:#fff}
.why .kicker{color:var(--soft-teal)}
.why .kicker:hover{color:var(--coral)}
.why .sec-head p{color:rgba(255,255,255,.82)}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
.why-card{display:flex;gap:18px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:26px;transition:background .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease)}
.why-card:hover{background:rgba(255,255,255,.09);border-color:rgba(253,95,76,.5);transform:translateY(-6px)}
.why-card .ic{flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:rgba(118,185,184,.18);display:flex;align-items:center;justify-content:center;transition:background .4s var(--ease)}
.why-card .ic svg{width:24px;height:24px;color:var(--soft-teal);transition:color .4s var(--ease)}
.why-card:hover .ic{background:rgba(253,95,76,.18)}
.why-card:hover .ic svg{color:var(--coral)}
.why-card h3{color:#fff;font-size:1.16rem}
.why-card p{color:rgba(255,255,255,.8);font-size:.95rem;margin-top:8px}

/* DEPTH stats (homepage, Young Serif numbers) */
.depth{background:var(--paper)}
.depth-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.stat{background:var(--sand);border-radius:var(--radius);padding:26px 20px;text-align:center;border:1px solid rgba(20,63,82,.05)}
.stat .num{font-family:'Young Serif',serif;font-size:clamp(2rem,3.6vw,2.7rem);color:var(--teal);line-height:1}
.stat .num .suf{color:var(--coral)}
.stat .lbl{margin-top:8px;font-size:.86rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chips .chip{font-size:.88rem;color:var(--navy);background:var(--sand);border:1px solid rgba(20,63,82,.06);border-radius:100px;padding:10px 16px}
.chips .chip.hot{background:var(--teal);color:#fff;border-color:transparent;font-weight:600;transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.chips .chip.hot:hover{background:var(--coral);transform:translateY(-2px);box-shadow:0 10px 22px rgba(253,95,76,.4)}

/* COMMIT band */
.commit{background:var(--sand)}
.commit .c-inner{background:#fff;border:1px solid rgba(5,127,126,.14);border-radius:var(--radius-lg);padding:clamp(34px,5vw,56px);box-shadow:var(--shadow-md);position:relative;overflow:hidden;max-width:900px;margin:0 auto}
.commit .c-inner::before{content:"";position:absolute;left:0;top:0;height:100%;width:6px;background:linear-gradient(180deg,var(--teal),var(--coral))}
.commit p{color:var(--muted);margin-top:16px;font-size:1.06rem}

/* FINAL CTA (homepage) */
.cta{background:radial-gradient(60% 80% at 80% 12%,rgba(118,185,184,.30),transparent 60%),radial-gradient(70% 80% at 10% 90%,rgba(253,95,76,.14),transparent 60%),var(--navy);color:#fff;text-align:center;overflow:hidden}
.cta h2{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem)}
.cta h2 .serif-accent{color:#fff}
.cta p{color:rgba(255,255,255,.84);font-size:1.14rem;margin:18px auto 0;max-width:54ch}
.cta .row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:32px}
.cta .small{margin-top:22px;font-size:.9rem;color:rgba(255,255,255,.62)}

@media (max-width:980px){
  .welcome-grid,.depth-grid{grid-template-columns:1fr;gap:40px}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:1fr}
  .welcome-media .frame img{height:400px}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .stat-row{grid-template-columns:1fr 1fr}
  .welcome-media .badge{right:12px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .hero-bg{animation:none}
}
/* ---------------------------------------------------------------------------
   Team card credential panel.
   The registrations and clinical focus existed only in the Person schema, so
   assistants could read them but patients could not. The panel opens on hover
   and, on touch, on scroll through the .fx twin. Colour moves on the text AND
   on a visual property, per non-negotiable 5.
   --------------------------------------------------------------------------- */
.member{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,background .45s ease}
.member.has-more{cursor:default}
.member-more{
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .5s cubic-bezier(.2,.8,.2,1),opacity .4s ease,margin-top .5s ease;
}
.member.has-more:hover,
.member.has-more.fx{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(15,49,64,.16);
  background:#fff;
}
.member.has-more:hover .nm,
.member.has-more.fx .nm{color:var(--teal)}
.member.has-more:hover .member-more,
.member.has-more.fx .member-more{max-height:320px;opacity:1;margin-top:12px}
.mm-cred{
  margin:0;font-size:.78rem;line-height:1.5;color:var(--navy);
  padding-top:10px;border-top:1px solid rgba(5,127,126,.18);
}
.mm-skills{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.mm-skills li{
  font-size:.7rem;line-height:1.35;padding:5px 9px;border-radius:999px;
  background:rgba(5,127,126,.10);color:var(--teal);
  /* nowrap pushed long labels past the card edge, which is a cut line */
  white-space:normal;max-width:100%;
}
@media (prefers-reduced-motion:reduce){
  .member.has-more:hover,.member.has-more.fx{transform:none}
  .member-more{transition:none}
}
