/* =====================================================================
   TheraCure – Service landing page theme (full-width)
   Shared by main service pages: Occupational Therapy, Physiotherapy,
   Posture Club, Wellness. Loads on top of /css/tc-condition.css, which
   provides the base type scale, buttons, reveal animations, chips, cards,
   callouts and CTA band.
   ===================================================================== */

/* ----- Hero: full-bleed image with overlapping content card ----- */
.s-hero{padding:24px 0 0}
.s-hero .frame{position:relative;border-radius:32px;overflow:hidden;min-height:560px;display:flex;align-items:flex-end;background:var(--ink)}
.s-hero .frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.06);animation:sKb 18s ease-in-out infinite alternate}
@keyframes sKb{to{transform:scale(1)}}
.s-hero .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,35,28,.86) 0%,rgba(34,35,28,.55) 45%,rgba(34,35,28,.05) 75%)}
.s-hero .inner{position:relative;z-index:1;padding:56px;max-width:660px;color:#fff}
.s-hero .crumbs{color:#d9d8c6}
.s-hero .crumbs a:hover{color:#fff}
.s-hero .crumbs [aria-current]{color:var(--brand-tint)}
.s-hero .tagline{background:rgba(255,255,255,.14);color:#fff}
.s-hero h1{color:#fff}
.s-hero h1 em{font-style:italic;color:var(--brand-tint)}
.s-hero .intro{color:#e6e5d6!important;margin-top:14px!important;max-width:540px}
.s-hero .ages{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px;list-style:none}
.s-hero .ages li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:100px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:13px!important;font-weight:600;color:#fff}
.s-hero .ages svg.i{width:15px;height:15px;color:var(--brand-tint)}
.s-hero .btn-line{border-color:#fff;color:#fff!important}
.s-hero .btn-line:hover{background:#fff;color:var(--ink)!important}
.s-hero .float{position:absolute;right:28px;bottom:28px;z-index:2;display:grid;gap:10px}
.s-hero .float div{background:#fff;border-radius:16px;padding:12px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 24px 50px -24px rgba(0,0,0,.5);animation:bob 6s ease-in-out infinite}
.s-hero .float div:nth-child(2){animation-delay:-3s}
.s-hero .float .ic{width:38px;height:38px;border-radius:11px;background:var(--brand-soft);display:grid;place-items:center;color:var(--brand)}
.s-hero .float b{display:block;font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.1}
.s-hero .float small{font-size:12px;color:var(--ink-2)}

/* ----- Jump nav (sticky pill bar) ----- */
.jump{position:sticky;top:78px;z-index:30;margin-top:22px}
.jump .jbar{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;background:rgba(251,250,245,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:100px;padding:6px}
.jump .jbar::-webkit-scrollbar{display:none}
.jump a{flex:none;padding:9px 16px;border-radius:100px;font-size:14px;font-weight:600;color:var(--ink-2);transition:all .25s}
.jump a:hover{color:var(--ink);background:var(--brand-soft)}
.jump a.on{background:var(--ink);color:#fff}

/* ----- Section shells ----- */
.s-sec{padding:96px 0}
.s-sec.soft{background:var(--brand-soft)}
.s-sec.dark{background:var(--ink);color:#fff;border-radius:36px;margin:0 20px}
.s-sec.dark h2,.s-sec.dark h3,.s-sec.dark h4{color:#fff}
.s-sec.dark p{color:#c9c9bc}
.s-sec.dark .sec-k{color:var(--brand-tint)}
.s-head{max-width:720px;margin-bottom:46px}
.s-head.center{text-align:center;margin-inline:auto}
.s-head.center .sec-k::after{content:"";width:24px;height:1px;background:currentColor;margin-left:10px}
.s-head h2{margin-bottom:12px}
.s-head p+p{margin-top:10px}

/* Split image + text */
.s-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.s-split.rev{grid-template-columns:1.1fr .9fr}
.s-split.rev .s-media{order:2}
.s-media{position:relative}
.s-media .pic{border-radius:28px;overflow:hidden;position:relative}
.s-media .pic img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--ease)}
.rv.in .pic img,.s-media.in .pic img{transform:none}
.s-media .arch{border-radius:220px 220px 28px 28px}
.s-media .ring{position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--brand);border-radius:inherit;z-index:-1}
.s-media .note{position:absolute;left:-22px;bottom:34px;background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 24px 50px -24px rgba(34,35,28,.4);display:flex;gap:12px;align-items:center;max-width:250px;animation:bob 6s ease-in-out infinite}
.s-media .note .ic{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}
.s-media .note b{font-size:14px;display:block}
.s-media .note small{font-size:12px;color:var(--ink-2)}
.s-copy p+p{margin-top:14px}

/* ----- Case study ----- */
.case{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}
.profile{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;position:sticky;top:150px}
.profile .badge{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-deep);background:var(--brand-soft);padding:6px 10px;border-radius:100px;margin-bottom:16px}
.profile .who{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.profile .av{width:58px;height:58px;border-radius:50%;background:var(--brand-soft);display:grid;place-items:center;color:var(--brand)}
.profile .av svg.i{width:30px;height:30px}
.profile h3{font-size:20px!important;margin:0!important}
.profile .who span{font-size:13px;color:var(--ink-2)}
.profile .cond{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--warn-soft);color:var(--warn);font-size:14px;font-weight:600;margin-bottom:16px}
.profile h4{font-size:13px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:16px 0 10px!important}
.roles{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none}
.roles li{display:flex;gap:8px;align-items:center;font-size:13px!important;font-weight:600;padding:9px 10px;border-radius:12px;background:var(--paper)}
.roles svg.i{width:16px;height:16px;color:var(--brand)}
.adl{display:flex;flex-wrap:wrap;gap:6px;list-style:none}
.adl li{font-size:12px!important;font-weight:600;padding:6px 10px;border-radius:100px;border:1px solid var(--line);color:var(--ink-2)}
.case-main{display:grid;gap:22px}
.phase{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}
.phase .ph-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;border-bottom:1px solid var(--line)}
.phase .ph-head small{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.phase .ph-head h3{font-size:20px!important;margin:4px 0 0!important}
.phase .ph-body{display:grid;grid-template-columns:1fr 280px;gap:0}
.phase .ph-body.full{grid-template-columns:1fr}
.phase ol{list-style:none;counter-reset:g;padding:22px 26px!important;display:grid;gap:14px}
.phase ol>li{counter-increment:g;display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;color:var(--ink-2)}
.phase ol>li::before{content:counter(g);width:34px;height:34px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;font-family:var(--serif);font-size:15px;font-weight:600}
.phase ol>li b{color:var(--ink);font-weight:600}
.phase .ph-img{position:relative;min-height:100%}
.phase .ph-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.aids{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;list-style:none}
.aids li{font-size:12px!important;font-weight:600;padding:4px 9px;border-radius:100px;background:var(--brand-soft);color:var(--ink)}
.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:24px 26px;position:relative}
.progress::before{content:"";position:absolute;left:46px;right:46px;top:46px;height:2px;background:var(--brand-tint)}
.progress .pg{position:relative;text-align:center}
.progress .pg .ic{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--brand);color:var(--brand);display:grid;place-items:center;margin:0 auto 12px;position:relative;z-index:1;transition:all .4s var(--ease)}
.progress .pg:hover .ic{background:var(--brand);color:#fff;transform:translateY(-4px)}
.progress .pg p{font-size:13px!important;line-height:1.45!important}

/* ----- Pillars (why it works) ----- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:22px;overflow:hidden;margin-top:40px}
.pillar{background:var(--ink);padding:28px 24px;transition:background .4s}
.pillar:hover{background:#2c2d24}
.pillar .ic{width:50px;height:50px;border-radius:14px;border:1px solid rgba(233,230,200,.3);display:grid;place-items:center;color:var(--brand-tint);margin-bottom:18px;transition:transform .4s var(--ease)}
.pillar:hover .ic{transform:rotate(-8deg) scale(1.06)}
.pillar .ic svg.i{width:24px;height:24px}
.pillar h4{font-size:17px!important;margin-bottom:6px!important}
.pillar p{font-size:14px!important}

/* ----- Paediatric ----- */
.kids{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:start}
.kids .s-media{position:sticky;top:150px}
.kids .s-media .pic{aspect-ratio:1/1;border-radius:28px}
.kgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kitem{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;transition:transform .35s var(--ease),border-color .35s}
.kitem:hover{transform:translateY(-3px);border-color:var(--brand)}
.kitem .ic{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}
.kitem p{color:var(--ink)!important;font-weight:600;font-size:14px!important;line-height:1.4!important}
.kitem small{display:block;font-weight:500;color:var(--ink-2);font-size:13px;margin-top:3px}

/* ----- Diagnoses ----- */
.dx-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dx-group{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}
.dx-group .gh{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.dx-group .gh .ic{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}
.dx-group h3{font-size:18px!important;margin:0!important}
.dx-group ul{list-style:none;display:grid;gap:8px}
.dx-group li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2)}
.dx-group li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-top:8px}

/* ----- Services ----- */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.svc-grid .icard{display:flex;flex-direction:column}
.svc-grid .icard.wide{grid-column:span 2}
.svc-grid .icard a{color:var(--brand-deep);font-weight:600}

/* ----- Related ----- */
.rel-grid.four{grid-template-columns:repeat(4,1fr)}

/* ----- Responsive ----- */
@media (max-width:1080px){
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .pillars{grid-template-columns:1fr 1fr}
  .dx-groups{grid-template-columns:1fr 1fr}
  .case{grid-template-columns:1fr}
  .profile{position:static}
}
@media (max-width:900px){
  .s-sec{padding:70px 0}
  .s-sec.dark{margin:0 10px;border-radius:28px}
  .s-hero .frame{min-height:0;flex-direction:column;align-items:stretch}
  .s-hero .frame>img{position:relative;height:300px}
  .s-hero .frame::after{background:linear-gradient(180deg,rgba(34,35,28,0) 0%,rgba(34,35,28,0) 180px,var(--ink) 300px)}
  .s-hero .inner{padding:8px 24px 34px;max-width:none}
  .s-hero .float{display:none}
  .jump{top:76px}
  .s-split,.s-split.rev,.kids{grid-template-columns:1fr;gap:44px}
  .s-split.rev .s-media{order:0}
  .s-media{max-width:460px;margin:0 auto;width:100%}
  .s-media .note{left:8px}
  .s-media .ring{inset:14px -8px -14px 14px}
  .kids .s-media{position:relative;top:0}
  .phase .ph-body{grid-template-columns:1fr}
  .phase .ph-img{min-height:220px;order:-1}
  .progress{grid-template-columns:1fr;gap:14px}
  .progress::before{left:47px;right:auto;top:30px;bottom:30px;width:2px;height:auto}
  .progress .pg{display:grid;grid-template-columns:44px 1fr;gap:14px;text-align:left;align-items:center}
  .progress .pg .ic{margin:0}
  .rel-grid.four{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .kgrid,.dx-groups,.pillars,.roles{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .svc-grid .icard.wide{grid-column:span 2}
  .rel-grid.four{grid-template-columns:1fr}
}
