/* Cash Clinic — production site styles (redesign)
   Depends on the design-system tokens (colors/typography/spacing/effects/base). */

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--cc-grey-050);color:var(--cc-ink);font-family:var(--font-sans);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}

/* ---------- Header ---------- */
.cc-header{position:sticky;top:0;z-index:50;background:rgba(250,249,251,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--cc-grey-200);}
.cc-header-in{max-width:1200px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.cc-logo{display:inline-flex;align-items:center;gap:13px;}
.cc-logo span{font-size:24px;font-weight:300;letter-spacing:-.01em;color:var(--cc-purple);}
.cc-nav-links{display:flex;align-items:center;gap:34px;}
.cc-navlink{font-size:15px;font-weight:500;color:var(--cc-grey-700);transition:color .18s;}
.cc-navlink:hover{color:var(--cc-purple);}
.cc-header-cta{display:flex;align-items:center;gap:12px;}
.cc-langbtn{font-family:var(--font-sans);cursor:pointer;background:transparent;border:1px solid var(--cc-grey-300);color:var(--cc-grey-700);border-radius:var(--radius-pill);padding:8px 15px;font-size:13px;font-weight:600;line-height:1;}
.cc-langbtn:hover{border-color:var(--cc-purple-300);color:var(--cc-purple);}

/* ---------- Buttons ---------- */
.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--radius-pill);font-weight:600;transition:background .18s,filter .18s,transform .18s;cursor:pointer;line-height:1;}
.cc-btn-wa{background:var(--cc-purple);color:var(--cc-cream);}
.cc-btn-wa:hover{background:var(--cc-purple-700);}
.cc-btn-p{background:var(--cc-purple);color:var(--cc-cream);}
.cc-btn-p:hover{background:var(--cc-purple-700);}
.cc-btn-ghost{background:transparent;color:var(--cc-purple);border:1px solid var(--cc-purple-300);}
.cc-btn-ghost:hover{background:var(--cc-purple-050);}
.cc-wa-ico{width:18px;height:18px;flex:none;}

/* ---------- Section shells ---------- */
.cc-wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
.cc-sec-head{text-align:center;max-width:640px;margin:0 auto;}
.cc-eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-teal-700);}
.cc-h2{font-size:clamp(28px,3.6vw,42px);font-weight:300;letter-spacing:-.01em;margin:14px 0 0;color:var(--cc-ink);}
.cc-lede{font-size:17px;line-height:1.7;color:var(--cc-grey-700);margin:16px 0 0;}

/* ---------- Cards / hovers ---------- */
.cc-clinic{background:var(--cc-white);border-radius:var(--radius-xl);padding:34px 34px 30px;box-shadow:var(--shadow-sm);border:1px solid var(--cc-grey-200);transition:transform .28s var(--ease-out),box-shadow .28s;display:block;}
.cc-clinic:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.cc-consultant{display:block;text-align:center;border-radius:var(--radius-xl);transition:transform .28s var(--ease-out);}
.cc-consultant:hover{transform:translateY(-6px);}
.cc-consultant:hover .cc-blobwrap{transform:scale(1.02);}
.cc-blobwrap{transition:transform .3s var(--ease-out);}
.cc-arrow-cta .cc-arrow{display:inline-block;transition:transform .22s;}
.cc-arrow-cta:hover .cc-arrow{transform:translateX(-6px);}
html[data-lang="en"] .cc-arrow-cta:hover .cc-arrow{transform:translateX(6px);}

/* ---------- Animations ---------- */
@keyframes ccFloat{0%{transform:translateY(0)}50%{transform:translateY(-14px)}100%{transform:translateY(0)}}
@keyframes ccDraw{from{clip-path:inset(0 0 100% 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes ccRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.cc-rise{animation:ccRise .7s var(--ease-out) both;}
.cc-tangle{animation:ccDraw 2.4s cubic-bezier(.4,0,.2,1) both, ccFloat 9s ease-in-out 2.4s infinite;}

/* ---------- Grids ---------- */
.cc-clinics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;}
.cc-consultants-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px;max-width:840px;margin-left:auto;margin-right:auto;}
.cc-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px;}
.cc-journey-track{display:flex;gap:14px;margin-top:52px;align-items:stretch;}
.cc-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .cc-hero-inner{grid-template-columns:1fr!important;}
  .cc-hero-visual{display:none!important;}
  .cc-nav-links{display:none!important;}
  .cc-clinics-grid{grid-template-columns:1fr!important;}
  .cc-consultants-grid{grid-template-columns:1fr 1fr!important;max-width:460px;}
  .cc-how-grid{grid-template-columns:1fr 1fr!important;}
  .cc-journey-track{flex-wrap:wrap!important;}
  .cc-footer-grid{grid-template-columns:1fr 1fr!important;}
}
@media (max-width:560px){
  .cc-header-in{padding:14px 18px;}
  .cc-wrap{padding:0 18px;}
  .cc-logo span{font-size:21px;}
  .cc-consultants-grid{grid-template-columns:1fr!important;}
  .cc-how-grid{grid-template-columns:1fr!important;}
}

@media (prefers-reduced-motion: reduce){
  .cc-tangle,.cc-rise{animation:none!important;}
}

/* ===== Clinic pages ===== */
.cc-cl-hero{background:var(--accent-soft);}
.cc-cl-hero-in{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.cc-cl-logo{width:92px;height:92px;border-radius:var(--radius-lg);background:var(--cc-white);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--shadow-sm);}
.cc-cl-cat{font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--accent);}
.cc-cl-name{font-size:clamp(30px,4.4vw,48px);font-weight:300;letter-spacing:-.02em;color:var(--cc-ink);margin:6px 0 0;}
.cc-cl-lede{font-size:17px;line-height:1.75;color:var(--cc-grey-700);margin:16px 0 0;max-width:60ch;}
.cc-cl-consultant{display:inline-flex;align-items:center;gap:9px;margin-top:20px;font-size:14.5px;color:var(--cc-grey-700);}
.cc-cl-consultant b{color:var(--cc-ink);font-weight:600;}
.cc-pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.cc-pkg{position:relative;background:var(--cc-white);border:1px solid var(--cc-grey-200);border-radius:var(--radius-xl);padding:26px 24px 24px;display:flex;flex-direction:column;box-shadow:var(--shadow-xs);transition:box-shadow .2s,transform .2s;}
.cc-pkg:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.cc-pkg.is-featured{border-color:var(--accent);border-width:2px;}
.cc-pkg-top{height:4px;border-radius:999px;background:var(--accent);width:44px;margin-bottom:16px;}
.cc-pkg-badge{position:absolute;top:16px;inset-inline-end:16px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:var(--radius-pill);letter-spacing:.02em;}
.cc-pkg-tag{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--accent);}
.cc-pkg-name{font-size:21px;font-weight:500;color:var(--cc-ink);margin:7px 0 0;line-height:1.3;}
.cc-pkg-meta{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:9px;}
.cc-pkg-meta li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cc-grey-700);}
.cc-pkg-meta .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}
.cc-pkg-foot{margin-top:auto;padding-top:20px;}
.cc-pkg .cc-btn-wa{width:100%;font-size:15px;padding:13px 18px;}

/* ===== Consultant pages ===== */
.cc-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--cc-teal-700);}
.cc-cons-grid{display:grid;grid-template-columns:1fr 340px;gap:40px;margin-top:24px;align-items:start;}
.cc-cons-card{background:var(--cc-white);border:1px solid var(--cc-grey-200);border-radius:var(--radius-xl);padding:32px 34px;box-shadow:var(--shadow-sm);}
.cc-cons-card + .cc-cons-card{margin-top:22px;}
.cc-cons-chip{display:inline-block;font-size:12px;font-weight:600;color:#fff;background:var(--accent);padding:5px 14px;border-radius:var(--radius-pill);}
.cc-cons-h{font-size:22px;font-weight:500;margin:18px 0 20px;color:var(--cc-ink);}
.cc-cons-card:first-child .cc-cons-h{margin-top:20px;}
.cc-cons-bio{display:flex;flex-direction:column;gap:16px;}
.cc-cons-bio p{font-size:16px;line-height:1.85;color:var(--cc-grey-700);margin:0;}
.cc-cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cc-cred{display:flex;align-items:flex-start;gap:12px;background:var(--cc-purple-050);border-radius:var(--radius-lg);padding:16px 18px;}
.cc-cred .dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:7px;}
.cc-cred-h{font-size:15px;font-weight:600;color:var(--cc-ink);line-height:1.4;}
.cc-cred-sub{font-size:13px;color:var(--cc-grey-500);margin-top:3px;}
.cc-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cc-svc{border:1px solid var(--cc-grey-200);border-radius:var(--radius-lg);padding:20px;}
.cc-svc-bar{width:32px;height:3px;border-radius:2px;background:var(--accent);}
.cc-svc-h{font-size:17px;font-weight:600;margin:14px 0 6px;color:var(--cc-ink);}
.cc-svc-p{font-size:14.5px;line-height:1.65;color:var(--cc-grey-700);margin:0;}
.cc-cons-side{position:sticky;top:96px;}
.cc-cons-sidecard{background:var(--cc-white);border:1px solid var(--cc-grey-200);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-md);text-align:center;}
.cc-cons-photo{position:relative;width:190px;height:190px;margin:0 auto;}
.cc-cons-photo .blob{position:absolute;top:2%;left:50%;transform:translateX(-50%);width:98%;height:98%;object-fit:contain;}
.cc-cons-photo .pic{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);width:57%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:4px solid var(--cc-white);box-shadow:0 8px 22px rgba(47,23,72,.22);}
.cc-cons-photo .pic img{width:100%;height:100%;object-fit:cover;object-position:center 16%;}
.cc-cons-name{font-size:24px;font-weight:500;margin:18px 0 4px;color:var(--cc-ink);}
.cc-cons-title{font-size:14.5px;color:var(--cc-grey-500);margin:0;line-height:1.5;}
.cc-cons-stats{display:flex;gap:12px;margin-top:22px;}
.cc-cons-stat{flex:1;background:var(--cc-purple-050);border-radius:var(--radius-lg);padding:14px 8px;}
.cc-cons-stat b{font-size:24px;font-weight:300;color:var(--cc-purple);display:block;}
.cc-cons-stat span{font-size:12px;color:var(--cc-grey-500);margin-top:3px;display:block;}
.cc-cons-side .cc-btn-wa{width:100%;margin-top:22px;font-size:16px;padding:15px;}
.cc-cons-pkglink{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:var(--accent);}
@media(max-width:860px){.cc-cons-grid{grid-template-columns:1fr;}.cc-cons-side{position:static;}.cc-cred-grid,.cc-svc-grid{grid-template-columns:1fr;}}

/* ===== Policy page ===== */
.cc-pol-wrap{max-width:820px;margin:0 auto;}
.cc-pol-head{text-align:center;margin:30px 0 42px;}
.cc-pol-eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-teal-700);}
.cc-pol-title{font-size:clamp(30px,4.4vw,44px);font-weight:300;letter-spacing:-.01em;margin:14px 0 16px;color:var(--cc-ink);}
.cc-pol-intro{font-size:17px;line-height:1.7;color:var(--cc-grey-700);max-width:580px;margin:0 auto;}
.cc-pol-list{display:flex;flex-direction:column;gap:16px;}
.cc-pol-card{background:var(--cc-white);border:1px solid var(--cc-grey-200);border-radius:var(--radius-xl);padding:28px 30px;box-shadow:var(--shadow-xs);}
.cc-pol-h{display:flex;align-items:center;gap:14px;margin:0 0 16px;font-size:20px;font-weight:500;color:var(--cc-ink);}
.cc-pol-n{flex:none;width:34px;height:34px;border-radius:var(--radius-pill);background:var(--cc-purple);color:var(--cc-cream);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;}
.cc-pol-ul{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:10px;}
.cc-pol-ul li{font-size:15.5px;line-height:1.7;color:var(--cc-grey-700);}
.cc-pol-cta{text-align:center;margin-top:44px;}

/* ===== New brand composite photos (blob + person + gold line) ===== */
.cc-cons-photo{width:236px;height:auto;margin:0 auto;position:static;}
.cc-cons-photo img{width:100%;height:auto;display:block;}
.cc-cl-photo{flex:none;width:250px;max-width:44vw;align-self:center;}
.cc-cl-photo img{width:100%;height:auto;display:block;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);}
@media(max-width:760px){.cc-cl-photo{width:200px;margin-top:8px;}}
