/* ============================================================
   SANTÉ MEDICA PETIT — BADANIA KLINICZNE (clinical trials)
   Built on the brand tokens in styles.css
   ============================================================ */

/* ---- nav gap relief on narrower desktops (applies site-wide via this page too) ---- */

/* ============================================================
   TRACK SELECTOR (two audiences)
   ============================================================ */
.tracks{background:var(--warm-white);padding:clamp(40px,5vw,72px) 0 clamp(56px,7vw,90px);}
.track-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,2.6vw,40px);}
.track-card{
  position:relative;border:1px solid var(--line);border-radius:8px;
  padding:clamp(34px,3.6vw,52px);background:var(--warm-white);
  display:flex;flex-direction:column;align-items:flex-start;
  transition:transform .6s var(--ease), box-shadow .6s var(--ease), border-color .6s var(--ease);
  overflow:hidden;
}
.track-card:hover{transform:translateY(-6px);box-shadow:0 40px 80px -50px #26222055;border-color:var(--champagne-deep);}
.track-card .tc-index{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--taupe-deep);margin-bottom:20px;}
.track-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,36px);
  line-height:1.08;color:var(--graphite);margin:0 0 16px;}
.track-card p{font-size:16px;line-height:1.7;color:var(--body);margin:0 0 28px;max-width:42ch;}
.track-card .tlink{margin-top:auto;color:var(--olive);font-size:11px;}
.track-card .tlink::after{background:var(--olive);}
.track-card--dark{background:var(--graphite);border-color:var(--graphite);}
.track-card--dark h3{color:#fff;}
.track-card--dark p{color:#f3ece0b3;}
.track-card--dark .tc-index{color:var(--taupe);}
.track-card--dark .tlink{color:var(--taupe);}
.track-card--dark .tlink::after{background:var(--taupe);}
.track-card--dark:hover{transform:translateY(-6px);border-color:var(--graphite);}

/* ============================================================
   PATIENT SECTION
   ============================================================ */
.pat{background:var(--warm-white);scroll-margin-top:80px;}
.pat__intro{max-width:860px;margin-bottom:clamp(50px,6vw,84px);}
.pat__intro h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,64px);
  line-height:1.05;color:var(--graphite);margin:.35em 0 .5em;letter-spacing:-.01em;}
.pat__intro .lead{max-width:54ch;}

.pat__blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(40px,4.5vw,72px) clamp(48px,5vw,96px);}
.pat-block h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.1vw,30px);
  color:var(--graphite);margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.pat-block p{font-size:16px;line-height:1.75;color:var(--body);margin:0 0 16px;}

/* check list */
.check-list{list-style:none;margin:0;padding:0;}
.check-list li{position:relative;padding-left:34px;font-size:16px;line-height:1.6;
  color:var(--body);margin-bottom:15px;}
.check-list li::before{
  content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;
  border:1px solid var(--olive);
}
.check-list li::after{
  content:'';position:absolute;left:6px;top:8px;width:6px;height:9px;
  border:solid var(--olive);border-width:0 1.5px 1.5px 0;transform:rotate(42deg);
}
.check-list.on-dark li{color:#f3ece0cc;}
.check-list.on-dark li::before{border-color:var(--taupe);}
.check-list.on-dark li::after{border-color:var(--taupe);}

/* recruiting highlight */
.recruit{background:var(--champagne);border-radius:8px;padding:clamp(32px,3.6vw,48px);
  margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:auto 1fr;
  gap:clamp(28px,4vw,60px);align-items:center;}
.recruit__tag{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);
  font-weight:600;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--olive);}
.recruit__tag .pulse{width:8px;height:8px;border-radius:50%;background:var(--olive);
  box-shadow:0 0 0 0 var(--olive);animation:recpulse 2.4s ease-out infinite;}
@keyframes recpulse{0%{box-shadow:0 0 0 0 #A8645F66;}70%{box-shadow:0 0 0 12px #A8645F00;}100%{box-shadow:0 0 0 0 #A8645F00;}}
.recruit h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);
  color:var(--graphite);margin:14px 0 0;max-width:24ch;line-height:1.2;}
.recruit__sub{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--taupe-deep);margin:14px 0 0;}
.recruit .check-list{margin-top:4px;}
.recruit .check-list li::before{border-color:var(--taupe-deep);}
.recruit .check-list li::after{border-color:var(--taupe-deep);}
@media (prefers-reduced-motion:reduce){.recruit__tag .pulse{animation:none;}}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.proc{margin-top:clamp(50px,6vw,84px);}
.proc__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.proc__step{background:var(--warm-white);padding:38px 30px 42px;display:flex;flex-direction:column;}
.proc__step .ps-num{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--olive);margin-bottom:18px;}
.proc__step h4{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--graphite);margin:0 0 10px;}
.proc__step p{font-size:14.5px;line-height:1.6;color:var(--body);margin:0;}

/* ============================================================
   SPONSOR SECTION (dark, professional)
   ============================================================ */
.sponsor{background:var(--graphite);color:#f3ece0;scroll-margin-top:80px;}
.sponsor h2,.sponsor h3,.sponsor h4{color:#fff;}
.sponsor .eyebrow{color:var(--taupe);}
.sponsor__head{max-width:780px;margin-bottom:clamp(50px,6vw,84px);}
.sponsor__head h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,62px);
  line-height:1.05;margin:.35em 0 .5em;letter-spacing:-.01em;}
.sponsor__head .lead{color:#f3ece0b3;max-width:56ch;}
.spon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1px,1px,1px);
  background:var(--line-dark);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);}
.spon-card{background:var(--graphite);padding:clamp(32px,3vw,48px);}
.spon-card .eyebrow{margin-bottom:20px;}
.spon-card h4{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);margin:0 0 18px;}
.spon-card p{font-size:15px;line-height:1.7;color:#f3ece0b3;margin:0 0 14px;}
.spon-card .sub{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--taupe);margin:22px 0 10px;}
.sponsor__cta{margin-top:clamp(46px,5vw,72px);display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.sponsor .btn-light{border-color:#ffffff66;}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq{background:var(--ivory);}
.faq__head{max-width:720px;margin-bottom:clamp(40px,5vw,64px);}
.faq__head h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,52px);
  color:var(--graphite);margin:.3em 0 0;}
.faq__list{max-width:880px;margin:0 auto;border-top:1px solid var(--line);}
.faq__item{border-bottom:1px solid var(--line);}
.faq__q{width:100%;background:none;border:none;cursor:pointer;text-align:left;
  display:flex;justify-content:space-between;align-items:center;gap:30px;
  padding:30px 4px;font-family:var(--serif);font-weight:400;
  font-size:clamp(20px,1.8vw,26px);color:var(--graphite);transition:color .4s;}
.faq__q:hover{color:var(--olive);}
.faq__icon{flex:none;width:22px;height:22px;position:relative;}
.faq__icon::before,.faq__icon::after{content:'';position:absolute;background:var(--olive);
  transition:transform .4s var(--ease), opacity .4s var(--ease);}
.faq__icon::before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%);}
.faq__icon::after{left:50%;top:0;height:100%;width:1.5px;transform:translateX(-50%);}
.faq__item.open .faq__icon::after{transform:translateX(-50%) scaleY(0);opacity:0;}
.faq__a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.faq__a-inner{padding:0 4px 30px;max-width:62ch;}
.faq__a p{font-size:16px;line-height:1.75;color:var(--body);margin:0;}
.faq__item.open .faq__a{max-height:340px;}

/* ============================================================
   APPLY FORM (reuses .book / .form vocabulary)
   ============================================================ */
.apply{background:var(--champagne);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .track-grid{grid-template-columns:1fr;}
  .pat__blocks{grid-template-columns:1fr;}
  .spon-grid{grid-template-columns:1fr;}
  .proc__grid{grid-template-columns:1fr 1fr;}
  .recruit{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:560px){
  .proc__grid{grid-template-columns:1fr;}
}

/* ============================================================
   HOMEPAGE — ONCOLOGY CARE  +  FAQ / SYMPTOMS
   ============================================================ */
.onko{background:var(--ivory);}
.onko__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(46px,6vw,100px);align-items:center;}
.onko__media{position:relative;}
.onko__media image-slot{width:100%;height:auto;aspect-ratio:5/6;border-radius:4px;
  --slot-bg:var(--champagne);background:var(--champagne);}
.onko__media .ring-accent{width:120px;height:120px;left:-40px;top:-34px;}
.onko h2{margin:.4em 0 .6em;font-weight:300;}
.onko__lead{margin-bottom:26px;}
.onko .check-list{margin-top:30px;}

.home-faq{background:var(--warm-white);}
.home-faq__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(40px,5vw,90px);align-items:start;}
.home-faq__intro h2{font-weight:300;margin:.4em 0 .7em;}
.home-faq__when{margin-top:34px;padding-top:30px;border-top:1px solid var(--line);}
.home-faq__when h4{font-family:var(--serif);font-weight:400;font-size:22px;
  color:var(--graphite);margin:0 0 20px;}
.home-faq .faq__list{margin:0;}
@media (max-width:860px){
  .onko__grid{grid-template-columns:1fr;}
  .onko__media{order:-1;}
  .onko__media .ring-accent{display:none;}
  .home-faq__grid{grid-template-columns:1fr;}
}
