body{background:var(--paper)}

.pg-hero{padding:clamp(48px,7vw,90px) clamp(14px,6vw,82px) clamp(32px,4vw,56px)}
.pg-hero h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;letter-spacing:-.025em;margin-bottom:14px}
.pg-hero p{color:var(--muted);font-size:clamp(1rem,1.5vw,1.2rem);max-width:620px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 clamp(14px,6vw,82px) clamp(48px,7vw,80px)}
.svc-card{position:relative;padding:28px 26px;border-radius:14px;overflow:hidden;background:var(--white);border:1px solid var(--line);box-shadow:0 2px 14px rgba(13,26,23,.05);cursor:pointer;transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .3s}
.svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--td);transform:scaleX(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform-origin:right}
.svc-card:hover{transform:translateY(-10px) scale(1.025);box-shadow:0 28px 60px rgba(13,26,23,.16);border-color:var(--td)}
.svc-card:hover::before{transform:scaleX(1);transform-origin:left}
.svc-ico{display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:1.3rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .25s,border-color .25s}
.svc-card:hover .svc-ico{transform:rotate(-12deg) scale(1.22);background:var(--td);border-color:var(--td);color:#fff}
.svc-card h3{font-size:1.08rem;margin-bottom:8px}
.svc-card p{color:var(--muted);font-size:.9rem;margin:0}
.svc-card .arr{position:absolute;bottom:18px;left:22px;font-size:1.1rem;color:var(--td);opacity:0;transform:translateX(6px);transition:opacity .25s,transform .25s}
.svc-card:hover .arr{opacity:1;transform:translateX(0)}

/* SUB-PAGE */
.sp-hero{padding:clamp(48px,7vw,90px) clamp(14px,6vw,82px) 0;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:clamp(24px,4vw,60px);align-items:center}
.sp-hero.dark{background:var(--darker);color:#fff}
.sp-hero.mid{background:var(--dark);color:#fff}
.sp-hero.light{background:var(--paper); padding-bottom:2%;}
.sp-hero.cream{background:var(--white)}
.sp-hero.dark .muted-txt,.sp-hero.mid .muted-txt{color:rgba(255,255,255,.62)}
.sp-lead{font-size:clamp(1rem,1.5vw,1.18rem);max-width:580px;margin-bottom:0}
.sp-h{font-size:clamp(2rem,4.2vw,3.6rem);line-height:1;letter-spacing:-.025em;margin-bottom:14px}
.sp-hero.dark .sp-h,.sp-hero.mid .sp-h{color:#fff}
.sp-icon-box{display:grid;place-items:center;width:100%;max-width:200px;aspect-ratio:1;margin:0 auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:20px;font-size:4.5rem;line-height:1;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.sp-icon-box.on-light{background:var(--white);border-color:var(--line);box-shadow:0 12px 40px rgba(13,26,23,.08)}
.sp-icon-box:hover{transform:rotate(-6deg) scale(1.07)}
.sp-acts{margin-top:24px;display:flex;gap:11px;flex-wrap:wrap}

/* stat bar */
.stat-bar{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.stat-bar.dk{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09)}
.sc{padding:24px 28px;border-left:1px solid var(--line);text-align:center;transition:background .22s}
.stat-bar.dk .sc{border-color:rgba(255,255,255,.09)}
.sc:last-child{border-left:none}
.sc:hover{background:var(--paper)}
.stat-bar.dk .sc:hover{background:rgba(255,255,255,.05)}
.sn{font-size:2rem;font-weight:900;color:var(--td);line-height:1;margin-bottom:3px}
.stat-bar.dk .sn{color:#4ade80}
.sl{font-size:.84rem;font-weight:700;color:var(--muted)}
.stat-bar.dk .sl{color:rgba(255,255,255,.45)}

/* feature grid */
.fg{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:clamp(32px,5vw,56px) clamp(14px,6vw,82px)}
.fg.three{grid-template-columns:repeat(3,1fr)}
.fg.dark-bg{background:var(--darker)}
.fg.mid-bg{background:var(--dark)}
.fi{padding:22px;border-radius:12px;background:var(--white);border:1px solid var(--line);box-shadow:0 2px 12px rgba(13,26,23,.04);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .3s}
.fi:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 46px rgba(13,26,23,.14);border-color:var(--td)}
.fi.dk{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff}
.fi.dk:hover{border-color:rgba(74,222,128,.35);box-shadow:0 20px 46px rgba(0,0,0,.25)}
.fi-ico{display:grid;place-items:center;width:36px;height:36px;background:var(--paper);border:1px solid var(--line);border-radius:8px;font-size:1rem;margin-bottom:13px;transition:background .22s,border-color .22s,transform .35s cubic-bezier(.34,1.56,.64,1)}
.fi:hover .fi-ico{background:var(--td);border-color:var(--td);color:#fff;transform:scale(1.18) rotate(-8deg)}
.fi.dk .fi-ico{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.fi.dk:hover .fi-ico{background:rgba(74,222,128,.2);border-color:rgba(74,222,128,.38)}
.fi-t{font-size:.96rem;font-weight:800;margin-bottom:4px}
.fi-b{font-size:.85rem;color:var(--muted);margin:0;line-height:1.5}
.fi.dk .fi-b{color:rgba(255,255,255,.55)}

/* CTA strip */
.cta-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:28px clamp(14px,6vw,82px);background:var(--td);color:#fff}
.cta-strip p{font-size:1.05rem;font-weight:700;margin:0}
.cta-strip span[data-goto]{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border-radius:9px;background:var(--white);color:var(--td);font-weight:800;white-space:nowrap;cursor:pointer;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s}
.cta-strip span[data-goto]:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 26px rgba(0,0,0,.2)}
.cta-strip.dk{background:var(--darker)}
.cta-strip.mid{background:var(--dark)}
.sp-pad{padding-bottom:clamp(40px,6vw,72px)}

@media(max-width:1024px){
.pg-hero,.mth-hero,.sp-hero,.pain-hero,.fit-layout,.contact-layout{padding-top:40px}
.pg-hero{padding:36px 16px 24px}
.svc-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
.svc-grid{grid-template-columns:1fr}
}
