/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Atkinson Hyperlegible Next','Source Sans Pro',sans-serif;color:#2D3E36;background:#F5F0E8;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s}

/* ===== PALETTE ===== */
:root{
  --plum:#4A2545;
  --charcoal:#2D3E36;
  --sage:#7B9E87;
  --rose:#C49A8B;
  --gold:#D4A843;
  --linen:#F5F0E8;
  --white:#FFFFFF;
  /* Track colors */
  --patients:var(--rose);
  --patients-hover:#b38876;
  --sponsors:var(--charcoal);
  --sponsors-hover:#3d5349;
}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4{font-family:'Newsreader',Georgia,serif;color:var(--plum);line-height:1.3;font-weight:500}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.6rem,4vw,2.4rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.5rem)}
.label{font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:.75rem;font-weight:600}

/* ===== LAYOUT ===== */
.container{max-width:1100px;margin:0 auto;padding:0 2rem}
section{padding:5rem 0}

/* ===== PAGE TRANSITIONS ===== */
/* Native cross-document View Transitions: browsers that support this simply
   cross-fade between page loads. Unsupported browsers ignore this block and
   navigate normally with no animation and no errors. */
@view-transition {
  navigation: auto;
}
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.3s;
}

/* ===== NAV ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(245,240,232,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(74,37,69,.08);transition:box-shadow .3s}
nav.scrolled{box-shadow:0 2px 20px rgba(74,37,69,.08)}
.nav-inner{max-width:1200px;margin:0 auto;padding:.9rem 2rem;display:flex;align-items:center;justify-content:space-between}
.nav-logo{cursor:pointer;display:inline-block}
.nav-logo svg{height:44px;width:auto}
.nav-links{display:flex;gap:2rem;align-items:center;text-align:center}
.nav-links a{font-size:.85rem;color:var(--charcoal);font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:color .2s}
.nav-links a:hover{color:var(--plum)}
.nav-links a.active-link{color:var(--plum);border-bottom:2px solid var(--plum);padding-bottom:2px}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--plum);margin:5px 0;transition:all .3s}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;border-radius:40px;font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s;border:2px solid transparent}

/* Patient track buttons */
.btn-patients{background:var(--patients);color:var(--white);border-color:var(--patients)}
.btn-patients:hover{background:var(--patients-hover);border-color:var(--patients-hover);color:var(--white)}

/* Sponsor track buttons */
.btn-sponsors{background:var(--sponsors);color:var(--white);border-color:var(--sponsors)}
.btn-sponsors:hover{background:var(--sponsors-hover);border-color:var(--sponsors-hover);color:var(--white)}

/* Outline variants */
.btn-patients-outline{background:transparent;color:var(--patients);border-color:var(--patients)}
.btn-patients-outline:hover{background:var(--patients);color:var(--white)}
.btn-sponsors-outline{background:transparent;color:var(--sponsors);border-color:var(--sponsors)}
.btn-sponsors-outline:hover{background:var(--sponsors);color:var(--white)}

/* Neutral */
.btn-plum{background:var(--plum);color:var(--white);border-color:var(--plum)}
.btn-plum:hover{background:#5e3259;border-color:#5e3259;color:var(--white)}
.btn-white{background:var(--white);border-color:var(--white)}
.btn-white:hover{background:var(--linen);border-color:var(--linen)}

.btn-arrow::after{content:'\2192';margin-left:.25rem;transition:transform .2s}
.btn:hover .btn-arrow::after{transform:translateX(3px)}

/* ===== MISSION BAR ===== */
.mission-bar{background:var(--plum);padding:1.25rem 0;text-align:center}
.mission-bar p{font-family:'Newsreader',serif;font-size:1.05rem;color:var(--white);letter-spacing:.02em;font-weight:600}

/* ===== HERO ===== */
.hero{padding:8rem 0 5rem;position:relative;overflow:hidden;text-align:center}
.hero::before{content:'';position:absolute;top:0;right:-10%;width:50%;height:100%;background:radial-gradient(ellipse at center,rgba(123,158,135,.08) 0%,transparent 70%);pointer-events:none}
.hero .label{color:var(--charcoal);opacity:.6}
.hero h1{margin:0 auto 1.5rem;max-width:none;font-size:clamp(2rem,4.5vw,2.85rem)}
.hero-body{font-size:1.15rem;max-width:720px;margin:0 auto 2rem;color:#444}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}

/* ===== WHY WE EXIST ===== */
.why{background:var(--white);text-align:center}
.why h2{max-width:900px;margin:0 auto 1.5rem}
.why-body{max-width:760px;font-size:1.05rem;margin:0 auto 1.5rem}
.why-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.5rem}
.why-link{font-weight:600;color:var(--plum);border-bottom:2px solid var(--sage);padding-bottom:2px;cursor:pointer;transition:border-color .2s}
.why-link:hover{border-color:var(--plum)}

/* ===== STATS BANNER ===== */
.stats-banner{background:var(--plum);padding:4rem 0;color:var(--white);text-align:center}
.stats-banner h2{color:var(--white);margin-bottom:2.5rem}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.stat-item .stat-number{font-family:'Newsreader',serif;font-size:clamp(2.5rem,5vw,3.5rem);color:var(--gold);line-height:1.1;margin-bottom:.5rem;font-weight:700}
.stat-item .stat-desc{font-size:.95rem;color:rgba(255,255,255,.85);line-height:1.5}
.stat-item .stat-desc sup{font-size:.65em;color:var(--gold)}

/* ===== DUAL CTA CARDS ===== */
.dual-cta{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.cta-card{border-radius:16px;padding:3rem;color:var(--white);position:relative;overflow:hidden;text-align:center}
.cta-card.for-patients{background:var(--patients)}
.cta-card.for-sponsors{background:var(--sponsors)}
.cta-card .label{color:rgba(255,255,255,.6)}
.cta-card h2{color:var(--white);margin-bottom:1rem;font-size:1.6rem;font-weight:700}
.cta-card p{color:rgba(255,255,255,.85);margin-bottom:1.5rem;font-size:1rem}

/* ===== PARTNERS ===== */
.partners{padding:3rem 0;text-align:center}
.partner-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem}
.partner-chip{background:var(--white);border:1px solid rgba(74,37,69,.1);border-radius:40px;padding:.6rem 1.4rem;font-size:.9rem;color:var(--charcoal);font-weight:500}

/* ===== TEAM PAGE ===== */
.team-header{padding:8rem 0 2rem;background:var(--white)}
.team-header h1{margin-bottom:1rem}
.team-header p{max-width:640px;font-size:1.1rem;color:#555;text-align:justify}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:0 0 3rem}
.team-card{background:var(--linen);border-radius:16px;overflow:hidden;transition:transform .2s;display:flex;flex-direction:column}
.team-card:hover{transform:translateY(-4px)}
.team-photo{height:280px;background:var(--linen);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}

.team-info{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.team-info h3{margin-bottom:.25rem;font-size:1.3rem}
.team-title{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);font-weight:600;margin-bottom:1rem}
.team-info p{font-size:.95rem;color:#555;line-height:1.6}
.team-quote{border-left:3px solid var(--plum);padding-left:1rem;margin-top:1rem;font-style:italic;color:var(--plum);font-family:'Newsreader',serif;font-size:.9rem;line-height:1.5}
.team-profile-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(74,37,69,.1);font-size:.85rem;font-weight:600;color:var(--sage);transition:color .2s}
.team-profile-link:hover{color:var(--plum)}
.team-profile-link svg{width:16px;height:16px}

/* ===== TACT PAGE ===== */
.tact-header{padding:8rem 0 3rem;background:#F7ECBC;color:var(--white);text-align:center}
.tact-header .back-link{display:inline-flex}
.tact-header .label{color:var(--plum);opacity:0.7}
.tact-header h1{color:#4A7858;margin:0 auto .5rem;max-width:700px;font-weight:700}
.tact-header p{color:var(--charcoal);max-width:600px;margin:0 auto;font-size:1.1rem}
.tact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:3rem 0}
.tact-item{background:var(--white);border-radius:14px;padding:2rem;text-align:center}
.tact-item h3{color:var(--plum);font-size:1.1rem;margin-bottom:.5rem;font-weight:700}
.tact-item p{color:#555;font-size:.95rem}

/* Premium Experience (on TACT page) */
.premium{text-align:center}
.premium h2{max-width:800px;margin:0 auto 1rem}
.premium-intro{max-width:640px;font-size:1.05rem;margin:0 auto 2rem;color:#555}
.premium-list{max-width:640px;margin:0 auto;text-align:left}
.premium-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(74,37,69,.06)}
.premium-item .bullet{width:8px;height:8px;border-radius:50%;background:var(--rose);flex-shrink:0;margin-top:8px}
.premium-item p{font-size:1rem;color:#444}

/* ===== PATIENTS PAGE ===== */
.patients-hero{background:var(--patients);border-radius:16px;padding:4rem;color:var(--white);margin-bottom:3rem;overflow:hidden;text-align:center}
.patients-hero .label{color:rgba(255,255,255,.6)}
.patients-hero h2{color:var(--white);margin-bottom:1rem}
.patients-hero p{color:rgba(255,255,255,.9);font-size:1.05rem;max-width:600px;margin:0 auto}
.patients-hero .photo-placeholder{background:rgba(255,255,255,.15);border-radius:12px;height:300px;margin-top:2rem;overflow:hidden}
.patients-hero .photo-placeholder img{width:100%;height:100%;object-fit:cover;display:block}
.patients-hero .photo-placeholder span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}

.trial-info{text-align:center}
.trial-info h2{margin:0 auto 1.5rem;max-width:700px}
.trial-info p{max-width:640px;font-size:1.05rem;margin:0 auto 1rem;color:#555}

.journey{text-align:center}
.journey h2{margin-bottom:2rem}
.journey-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}
.journey-step{background:var(--white);border:1px solid rgba(74,37,69,.06);border-radius:14px;padding:1.5rem;transition:border-color .2s;text-align:center}
.journey-step:hover{border-color:var(--patients)}
.step-number{width:36px;height:36px;border-radius:50%;background:var(--patients);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;margin:0 auto 1rem}
.journey-step h3{font-size:1.05rem;margin-bottom:.5rem;font-weight:700}
.journey-step p{font-size:.9rem;color:#666;line-height:1.5}

.safety{padding:3rem 0;text-align:center}
.safety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.safety-item h3{font-size:1.1rem;margin-bottom:.5rem;color:var(--plum);font-weight:700}
.safety-item p{font-size:.95rem;color:#555}

.register-cta{background:var(--patients);border-radius:16px;padding:4rem;color:var(--white);margin:2rem 0 3rem;text-align:center}
.register-cta h2{color:var(--white);margin-bottom:1rem}
.register-cta p{color:rgba(255,255,255,.85);max-width:600px;margin:0 auto 2rem;font-size:1.05rem}

/* ===== SPONSORS PAGE ===== */
.sponsors-hero{background:var(--sponsors);border-radius:16px;padding:4rem;color:var(--white);margin-bottom:3rem;text-align:center}
.sponsors-hero .label{color:rgba(255,255,255,.5)}
.sponsors-hero h2{color:var(--white);margin-bottom:1rem}
.sponsors-hero p{color:rgba(255,255,255,.85);font-size:1.05rem;max-width:640px;margin:0 auto}
.sponsor-stats{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:2rem}
.sponsor-stat .stat-number{font-family:'Newsreader',serif;font-size:2.5rem;color:var(--gold);line-height:1;font-weight:700}
.sponsor-stat .stat-desc{font-size:.9rem;color:rgba(255,255,255,.7);margin-top:.5rem}

.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:2rem 0}
.service-card{background:var(--white);border:1px solid rgba(74,37,69,.06);border-radius:14px;padding:1.25rem;transition:border-color .2s}
.service-card:hover{border-color:var(--sponsors)}
.service-card h3{font-size:.95rem;margin-bottom:.6rem;color:var(--plum);font-weight:700}
.service-card p{font-size:.8rem;color:#666;line-height:1.55}

.capabilities h2{margin-bottom:.75rem}
.capabilities-intro{max-width:600px;margin-bottom:2rem;font-size:1.05rem;color:#555}
.cap-list{display:flex;flex-direction:column;gap:.5rem;max-width:600px}
.cap-item{background:var(--white);border:1px solid rgba(74,37,69,.06);border-radius:10px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;color:var(--charcoal)}

/* ===== CONTACT PAGE ===== */
.contact-header{padding:8rem 0 2rem}
.contact-header h1{margin-bottom:1rem}
.contact-body{max-width:600px;font-size:1.05rem;color:#555;margin-bottom:2rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.contact-form{display:flex;flex-direction:column;gap:1rem}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--charcoal);margin-bottom:.25rem;letter-spacing:.03em}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid rgba(74,37,69,.15);border-radius:8px;font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:.95rem;background:var(--linen);color:var(--charcoal);transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sage)}
.form-group textarea{resize:vertical;min-height:100px}
.contact-sidebar{padding:2rem;background:var(--white);border-radius:16px}
.contact-sidebar h3{margin-bottom:1rem}
.contact-sidebar p{font-size:.95rem;color:#555;margin-bottom:.75rem}
.privacy-notice{background:var(--linen);border:1px solid rgba(74,37,69,.08);border-radius:10px;padding:1.25rem;margin-top:1.5rem}
.privacy-notice h4{font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--plum);margin-bottom:.5rem;font-weight:600}
.privacy-notice p{font-size:.85rem;color:#666;line-height:1.5;margin-bottom:.5rem}

/* ===== FACILITY (on Sponsors page) ===== */
.facility{background:var(--white);border-radius:16px;padding:3rem;margin:2rem 0;text-align:center}
.facility h2{margin:0 auto 1rem;max-width:700px}
.facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}
.facility-grid h3{margin-bottom:.75rem;font-size:1.1rem}
.facility-grid p{color:#555;font-size:.95rem;margin-bottom:.5rem}

/* ===== FOOTER ===== */
footer{background:var(--plum);color:rgba(255,255,255,.7);padding:3rem 0 2rem}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem}
.footer-brand .nav-logo svg{height:auto;width:140px}
.footer-brand p{font-size:.85rem;margin-top:.5rem;max-width:300px}
.footer-links{display:flex;gap:3rem}
.footer-col h4{color:var(--white);font-family:'Atkinson Hyperlegible Next',sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-weight:600}
.footer-col a{display:block;font-size:.9rem;color:rgba(255,255,255,.6);margin-bottom:.4rem;cursor:pointer;transition:color .2s}
.footer-col a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.5rem;font-size:.8rem;text-align:center;color:rgba(255,255,255,.4)}
.footer-bottom a{color:rgba(255,255,255,.5)}

/* ===== BACK LINK ===== */
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--sage);cursor:pointer;margin-bottom:2rem;transition:color .2s}
.back-link:hover{color:var(--plum)}
.back-link::before{content:'\2190'}

/* ===== TABLET (601–768px) ===== */
@media(max-width:768px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--linen);flex-direction:column;padding:1.5rem 2rem;gap:1rem;border-bottom:1px solid rgba(74,37,69,.1)}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .hero{padding:7rem 0 3rem}
  .dual-cta{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .stats-grid .stat-item+.stat-item{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem}
  .team-grid{grid-template-columns:1fr}
  .tact-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .service-card{padding:1.5rem}
  .service-card h3{font-size:1.05rem}
  .service-card p{font-size:.9rem}
  .contact-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column}
  .footer-links{flex-direction:column;gap:1.5rem}
  .patients-hero,.sponsors-hero,.register-cta{padding:2.5rem}
  .facility-grid{grid-template-columns:1fr}
  .team-header{padding:7rem 0 2rem}
  .tact-header{padding:7rem 0 2rem}
  .contact-header{padding:7rem 0 1rem}
  .journey-grid{grid-template-columns:repeat(2,1fr)}
  .safety-grid{grid-template-columns:repeat(2,1fr)}
}

/* ===== MOBILE (≤480px) ===== */
@media(max-width:480px){
  .container{padding:0 1.25rem}
  h1{font-size:1.75rem}
  h2{font-size:1.4rem}
  h3{font-size:1.1rem}
  section{padding:3.5rem 0}
  .hero{padding:6rem 0 2.5rem}
  .hero h1{font-size:1.75rem;max-width:100%}
  .hero-body{font-size:1rem;max-width:100%}
  .hero-ctas{flex-direction:column;gap:.75rem}
  .hero-ctas .btn{width:100%;justify-content:center;padding:.9rem 1.5rem}
  .mission-bar p{font-size:.9rem}
  .why h2{font-size:1.35rem}
  .why-body{font-size:.95rem;max-width:100%}
  .stats-banner{padding:3rem 0}
  .stat-item .stat-number{font-size:2.2rem}
  .stat-item .stat-desc{font-size:.85rem}
  .cta-card{padding:2rem;border-radius:12px}
  .cta-card h2{font-size:1.3rem}
  .cta-card p{font-size:.9rem}
  .partner-chips{gap:.5rem}
  .partner-chip{font-size:.8rem;padding:.5rem 1rem}
  .team-header{padding:6rem 0 1.5rem}
  .team-header h1{font-size:1.5rem}
  .team-header p{font-size:.95rem}
  .team-card{border-radius:12px}
  .team-photo{height:220px}
  .team-info{padding:1.25rem}
  .team-info h3{font-size:1.15rem}
  .team-info p{font-size:.9rem}
  .team-quote{font-size:.85rem}
  .tact-header{padding:6rem 0 2rem}
  .tact-header h1{font-size:2rem}
  .tact-header p{font-size:.95rem;max-width:100%}
  .tact-item{padding:1.5rem;border-radius:10px}
  .tact-item h3{font-size:1rem}
  .tact-item p{font-size:.9rem}
  .premium-intro{font-size:.95rem;max-width:100%}
  .premium-item p{font-size:.9rem}
  .patients-hero,.sponsors-hero{padding:2rem;border-radius:12px}
  .patients-hero h2,.sponsors-hero h2{font-size:1.3rem}
  .patients-hero p,.sponsors-hero p{font-size:.95rem;max-width:100%}
  .patients-hero .photo-placeholder{height:200px}
  .trial-info h2{font-size:1.3rem;max-width:100%}
  .trial-info p{font-size:.95rem;max-width:100%}
  .journey-grid{grid-template-columns:1fr}
  .journey-step{padding:1.25rem;border-radius:10px}
  .journey-step h3{font-size:1rem}
  .journey-step p{font-size:.85rem}
  .safety-grid{grid-template-columns:1fr}
  .safety-item h3{font-size:1rem}
  .safety-item p{font-size:.9rem}
  .register-cta{padding:2rem;border-radius:12px}
  .register-cta h2{font-size:1.3rem}
  .register-cta p{font-size:.95rem}
  .sponsor-stat .stat-number{font-size:2rem}
  .service-card{padding:1.5rem;border-radius:10px}
  .service-card h3{font-size:1rem}
  .service-card p{font-size:.85rem}
  .cap-item{padding:.85rem 1.25rem;font-size:.9rem;border-radius:8px}
  .facility{padding:2rem;border-radius:12px}
  .facility h2{font-size:1.3rem}
  .contact-header{padding:6rem 0 1rem}
  .contact-header h1{font-size:1.5rem}
  .contact-body{font-size:.95rem;max-width:100%}
  .contact-sidebar{padding:1.5rem;border-radius:12px}
  .btn{padding:.75rem 1.4rem;font-size:.9rem}
  .nav-inner{padding:.75rem 1.25rem}
  .nav-logo svg{height:36px}
  .nav-links{padding:1.25rem}
  .nav-links a{font-size:.9rem;padding:.5rem 0}
  .footer-brand .nav-logo svg{width:120px}
  footer{padding:2.5rem 0 1.5rem}
  .footer-col a{font-size:.85rem}
  .footer-bottom{font-size:.75rem}
}
