/* ---------- Design tokens ---------- */
:root{
  --navy:        #14283f;
  --navy-deep:   #0b1a2e;
  --navy-soft:   #1f3a5c;
  --gold:        #c9a961;
  --gold-soft:   #d8bf83;
  --ivory:       #faf8f3;
  --paper:       #ffffff;
  --ink:         #1a1a1a;
  --ink-soft:    #404656;
  --muted:       #6b7280;
  --line:        #e3ddcf;
  --warn-bg:     #fff8e6;
  --warn-line:   #d9b65a;
}

html,body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
  font-weight:400;
}
h1,h2,h3,h4,h5,.serif{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  letter-spacing:.005em;
  color:var(--navy-deep);
}
.lead{font-size:1.125rem;color:var(--ink-soft);font-weight:400;}

/* ---------- Nav ---------- */
.site-nav{
  background:var(--navy-deep);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding-top:.6rem;padding-bottom:.6rem;
}
.site-nav .navbar-brand{
  display:flex;align-items:center;gap:.55rem;
  font-family:'Cormorant Garamond',serif;
  padding-top:.15rem;padding-bottom:.15rem;
}
.brand-name{color:#fff;font-size:1.25rem;letter-spacing:.01em;line-height:1;}
.site-nav .nav-link{color:rgba(255,255,255,.78);font-size:.92rem;font-weight:500;letter-spacing:.02em;padding:.5rem .9rem;}

/* Always-visible language pill on the mobile top bar (next to the hamburger).
   Gold-filled so it stands out clearly against the navy bar. */
.navbar-mobile-controls{gap:.6rem;}
.lang-pill{
  display:inline-flex;align-items:center;gap:.35rem;
  background:var(--gold);color:var(--navy-deep);
  border-radius:999px;
  padding:.4rem .85rem;
  font-size:.82rem;font-weight:600;letter-spacing:.02em;line-height:1;
  text-decoration:none;white-space:nowrap;
  transition:background .15s ease,transform .1s ease;
}
.lang-pill:hover,.lang-pill:focus{background:var(--gold-soft);color:var(--navy-deep);}
.lang-pill:active{transform:scale(.97);}
.lang-pill i{font-size:.95rem;}
.site-nav .nav-link:hover{color:var(--gold);}
/* Tools/Calculators nav item — gold-tinted to stand out as the clinician utility */
.site-nav .nav-link-tools{color:var(--gold);border:1px solid rgba(212,160,23,.45);border-radius:6px;margin:0 .2rem;padding:.4rem .85rem;display:inline-flex;align-items:center;gap:.4rem;}
.site-nav .nav-link-tools:hover{background:var(--gold);color:#0b2240 !important;border-color:var(--gold);}
.site-nav .nav-link-tools .bi{font-size:1rem;}
@media (max-width:991px){.site-nav .nav-link-tools{margin:.3rem 0;}}

/* Navbar dropdown styling (Pediatric / Adult menus) */
.site-nav .dropdown-toggle::after{margin-left:.35rem;}
.site-nav .dropdown-menu{background:#0b2240;border:1px solid rgba(212,160,23,.30);border-radius:8px;padding:.4rem 0;margin-top:.3rem;box-shadow:0 8px 24px rgba(0,0,0,.30);}
.site-nav .dropdown-item{color:rgba(255,255,255,.85);padding:.6rem 1.2rem;font-size:.92rem;display:flex;align-items:center;gap:.6rem;}
.site-nav .dropdown-item:hover, .site-nav .dropdown-item:focus{background:rgba(212,160,23,.15);color:var(--gold);}
.site-nav .dropdown-item .bi{font-size:.95rem;opacity:.85;}
[dir="rtl"] .site-nav .dropdown-toggle::after{margin-left:0;margin-right:.35rem;}

/* Hero secondary subtitle (institution line, separate from main title) */
.hero-subtitle-line{margin-top:.4rem;color:rgba(255,255,255,.78);font-size:.95rem;letter-spacing:.04em;}

/* ---------- Specialty tiles (Pediatric / Adult) ---------- */
.specialty-tile{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:2rem 1.75rem;
  height:100%;
  transition:all .25s ease;
  position:relative;
  display:flex;flex-direction:column;
  overflow:hidden;
}
/* Decorative SVG illustration in the tile background */
.specialty-tile-bg{
  position:absolute;
  bottom:-20px;
  inset-inline-end:-30px;
  width:230px;height:auto;
  opacity:.10;
  pointer-events:none;
  z-index:0;
  transition:opacity .3s ease, transform .3s ease;
}
.specialty-tile:hover .specialty-tile-bg{
  opacity:.18;
  transform:scale(1.06) rotate(-2deg);
}
.specialty-tile > *:not(.specialty-tile-bg){position:relative;z-index:1;}
.specialty-tile:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(212,160,23,.45);
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(0,0,0,.30);
}
.specialty-icon{
  width:72px;height:72px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:2.2rem;
  margin-bottom:1.1rem;
}
.specialty-tile-peds .specialty-icon{background:linear-gradient(135deg, #d4a017 0%, #b88a0d 100%);color:#0b2240;}
.specialty-tile-adult .specialty-icon{background:linear-gradient(135deg, #4a7bb5 0%, #2c5489 100%);color:#fff;}
.specialty-tile h3{color:#fff;font-family:'Cormorant Garamond', serif;font-size:1.75rem;margin-bottom:.6rem;}
.specialty-tile > p{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.6;margin-bottom:1.5rem;flex:1 1 auto;}
.specialty-actions{
  display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;
}
.specialty-btn{
  flex:1 1 auto;min-width:140px;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.7rem 1rem;border-radius:8px;
  text-decoration:none;font-weight:600;font-size:.93rem;letter-spacing:.01em;
  transition:all .15s ease;
  text-align:center;
}
.specialty-btn-primary{background:var(--gold);color:#0b2240;border:1px solid var(--gold);}
.specialty-btn-primary:hover{background:#e8b933;color:#0b2240;}
.specialty-btn-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.40);}
.specialty-btn-secondary:hover{background:rgba(255,255,255,.10);border-color:#fff;}
.specialty-btn .bi{font-size:1.05rem;}
.specialty-meta{
  font-size:.82rem;color:rgba(255,255,255,.55);
  padding-top:1rem;border-top:1px solid rgba(255,255,255,.10);
  letter-spacing:.02em;
}
.specialty-pending-badge{
  display:inline-block;background:rgba(212,160,23,.20);color:var(--gold);
  padding:.18rem .55rem;border-radius:4px;font-size:.75rem;font-weight:600;
  margin-inline-end:.5rem;text-transform:uppercase;letter-spacing:.06em;
}
@media (max-width:991px){
  .specialty-tile{margin-bottom:1rem;}
}

/* Wave divider between sections (decorative SVG, animated) */
.wave-divider-container{
  background:#0b2240;
  padding:.5rem 0;
  overflow:hidden;
  position:relative;
}
.wave-divider{
  display:block;
  width:100%;
  height:32px;
  opacity:.55;
  animation:wave-pulse 4s ease-in-out infinite;
}
@keyframes wave-pulse{
  0%, 100%{opacity:.45;}
  50%{opacity:.75;}
}

/* Page header with side-by-side illustration (Professionals landing) */
.page-header-illustrated{padding-bottom:3rem;}
.page-header-grid{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:2rem;
  align-items:center;
}
.page-header-illustration img{
  width:100%;
  height:auto;
  max-height:220px;
  filter:drop-shadow(0 6px 20px rgba(0,0,0,.35));
  animation:gentle-float 6s ease-in-out infinite;
}
@keyframes gentle-float{
  0%, 100%{transform:translateY(0);}
  50%{transform:translateY(-6px);}
}
@media (max-width:900px){
  .page-header-grid{grid-template-columns:1fr;}
  .page-header-illustration{display:none;}
}

/* Patient hero with illustration */
.patient-hero-illustrated{padding-bottom:2.5rem;}
.patient-hero-grid{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:2rem;
  align-items:center;
}
.patient-hero-illustration img{
  width:100%;
  height:auto;
  max-height:240px;
  animation:gentle-float 6s ease-in-out infinite;
}
@media (max-width:900px){
  .patient-hero-grid{grid-template-columns:1fr;}
  .patient-hero-illustration{display:none;}
}

/* Adult coming-soon page hero illustration */
.adult-hero-illustration{
  width:100%;
  max-width:340px;
  height:auto;
  display:block;
  margin:0 auto 1.5rem;
  animation:gentle-float 6s ease-in-out infinite;
}

/* Home page Tools quick-access tile — horizontal strip with gold accent */
.tools-quickaccess{
  display:inline-flex;align-items:center;gap:1.25rem;
  max-width:680px;width:100%;text-align:start;
  background:linear-gradient(135deg, rgba(255,255,255,.06) 0%, rgba(212,160,23,.08) 100%);
  border:1px solid rgba(212,160,23,.45);border-radius:12px;
  padding:1.25rem 1.5rem;text-decoration:none;color:inherit;
  transition:all .2s ease;
}
.tools-quickaccess:hover{
  background:linear-gradient(135deg, rgba(212,160,23,.12) 0%, rgba(212,160,23,.20) 100%);
  border-color:var(--gold);transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(212,160,23,.20);
}
.tools-quickaccess-icon{
  flex:0 0 auto;width:56px;height:56px;border-radius:50%;
  background:var(--gold);color:#0b2240;
  display:flex;align-items:center;justify-content:center;font-size:1.8rem;
}
.tools-quickaccess-body{flex:1 1 auto;text-align:start;}
.tools-quickaccess-body h4{margin:0 0 .3rem 0;color:var(--gold);font-family:'Cormorant Garamond', serif;font-size:1.3rem;}
.tools-quickaccess-body p{margin:0;font-size:.92rem;color:rgba(255,255,255,.85);}
.tools-quickaccess-cta{flex:0 0 auto;color:var(--gold);font-size:1.6rem;}
@media (max-width:600px){
  .tools-quickaccess{flex-direction:column;align-items:flex-start;gap:.75rem;}
  .tools-quickaccess-cta{align-self:flex-end;}
}

/* Logo in navbar — sized to match the brand name cap-height, on a tight white pad */
.navbar-logo-pad{
  display:inline-flex;align-items:center;justify-content:center;
  background:#ffffff;padding:.18rem .35rem;border-radius:2px;
  box-shadow:0 1px 4px rgba(0,0,0,.22);
}
.navbar-logo{height:22px;width:auto;display:block;transition:opacity .15s ease;}
.navbar-brand:hover .navbar-logo{opacity:.88;}

/* Logo in footer — same white-pad treatment */
.footer-logo-pad{
  display:inline-block;background:#ffffff;padding:.55rem .85rem;border-radius:3px;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.footer-logo{height:50px;width:auto;display:block;}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.hero-bg{
  position:absolute;inset:0;background-size:cover;background-position:center top;
  filter:saturate(.85);
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(11,26,46,.55) 0%, rgba(11,26,46,.78) 60%, rgba(11,26,46,.92) 100%);
}
.hero-inner{position:relative;z-index:2;padding:6rem 0 5rem;text-align:center;}
.hero-eyebrow{
  color:var(--gold);font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;
  margin-bottom:1.25rem;font-weight:500;
}
.hero-name{
  font-family:'Cormorant Garamond',serif;
  color:#fff;font-size:clamp(2.5rem,6vw,4.75rem);
  font-weight:600;line-height:1.05;margin-bottom:.5rem;
}
.hero-creds{
  color:var(--gold-soft);font-size:.95rem;letter-spacing:.22em;
  text-transform:uppercase;margin-bottom:1.25rem;font-weight:500;
}
.hero-title{color:rgba(255,255,255,.92);font-size:1.05rem;margin-bottom:2.25rem;}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ---------- Buttons ---------- */
.btn{border-radius:2px;padding:.7rem 1.4rem;font-weight:500;letter-spacing:.02em;font-size:.92rem;}
.btn-gold{background:var(--gold);color:var(--navy-deep);border:1px solid var(--gold);}
.btn-gold:hover{background:var(--gold-soft);color:var(--navy-deep);}
.btn-navy{background:var(--navy);color:#fff;border:1px solid var(--navy);}
.btn-navy:hover{background:var(--navy-deep);color:#fff;}
.btn-navy-outline{background:transparent;color:var(--navy);border:1px solid var(--navy);}
.btn-navy-outline:hover{background:var(--navy);color:#fff;}
.btn-outline-light{border:1px solid rgba(255,255,255,.85);color:#fff;}
.btn-outline-light:hover{background:#fff;color:var(--navy-deep);}

/* ---------- Sections ---------- */
.section{padding:5rem 0;}
.section-light{background:var(--ivory);}
.section-dark{
  background:var(--navy-deep);
  color:#fff;
  position:relative;
}
/* Subtle gold dot-grid pattern in the dark section background */
.section-dark::before{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(circle, rgba(212,160,23,.10) 1.5px, transparent 1.8px);
  background-size:32px 32px;
  background-position:0 0;
  pointer-events:none;
  opacity:.5;
}
.section-dark > .container{position:relative;z-index:1;}
.section-warning{background:var(--warn-bg);border-top:1px solid var(--warn-line);border-bottom:1px solid var(--warn-line);padding:1.6rem 0;}
.warn-icon{color:#b8851f;font-size:1.5rem;margin-top:.1rem;}

.section-eyebrow{
  color:var(--gold);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
  margin-bottom:.85rem;font-weight:600;
}
.section-eyebrow.light{color:var(--gold-soft);}
.section-heading{font-size:clamp(1.85rem,3.5vw,2.6rem);margin-bottom:1.25rem;}
.section-heading.light{color:#fff;}
.section-sub{color:rgba(255,255,255,.82);max-width:680px;margin:0 auto;}

/* ---------- About / CV ---------- */
.profile-photo{
  width:100%;max-width:280px;border-radius:4px;
  box-shadow:0 12px 32px rgba(11,26,46,.18);
  border:4px solid #fff;
}
.contact-block{color:var(--ink-soft);font-size:.9rem;line-height:1.85;}
.contact-block i{color:var(--gold);width:18px;}

.cv-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.5rem;margin-top:2.5rem;
}
.cv-block{
  background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:1.4rem 1.5rem;box-shadow:0 2px 6px rgba(11,26,46,.04);
}
.cv-block-title{
  font-weight:600;color:var(--navy-deep);
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid var(--line);
}
.cv-block-title i{color:var(--gold);margin-right:.45rem;}
.cv-block ul{list-style:none;padding:0;margin:0;}
.cv-block li{font-size:.92rem;line-height:1.55;padding:.35rem 0;border-bottom:1px dotted #eee5d2;color:var(--ink-soft);}
.cv-block li:last-child{border-bottom:none;}

/* ---------- Route cards ---------- */
.route-card{
  display:block;background:rgba(255,255,255,.04);
  border:1px solid rgba(201,169,97,.35);border-radius:4px;
  padding:2.5rem 2.25rem;color:#fff;text-decoration:none;
  transition:all .25s ease;height:100%;
}
.route-card:hover{
  background:rgba(201,169,97,.08);border-color:var(--gold);
  transform:translateY(-3px);color:#fff;
}
.route-card h3{color:#fff;margin-bottom:.85rem;font-size:1.65rem;}
.route-card p{color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;}
.route-icon{font-size:2.4rem;color:var(--gold);margin-bottom:1.25rem;}
.route-cta{color:var(--gold);font-weight:500;letter-spacing:.04em;font-size:.92rem;}

/* ---------- Module cards ---------- */
.module-card{
  display:block;background:#fff;border:1px solid var(--line);
  border-radius:3px;padding:2rem;height:100%;
  text-decoration:none;color:var(--ink);transition:all .2s ease;
}
.module-card:hover{
  border-color:var(--gold);
  box-shadow:0 8px 22px rgba(11,26,46,.08);
  transform:translateY(-2px);
}
.module-icon{font-size:2rem;color:var(--gold);margin-bottom:.85rem;}
.module-card h3{color:var(--navy-deep);font-size:1.45rem;margin-bottom:.3rem;}
.module-sub{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem;}
.module-card p{color:var(--ink-soft);font-size:.95rem;line-height:1.55;}
.module-cta{color:var(--navy);font-weight:500;font-size:.9rem;margin-top:.75rem;}

/* ---------- Page header ---------- */
.page-header{
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 100%);
  color:#fff;padding:4rem 0 3rem;
}
.page-title{color:#fff;font-size:clamp(1.85rem,3.5vw,2.6rem);margin-bottom:.85rem;}
.page-title.light{color:#fff;}
.page-sub{color:rgba(255,255,255,.78);max-width:780px;font-size:1rem;}
.crumb{color:rgba(255,255,255,.78);text-decoration:none;}
.crumb:hover{color:var(--gold);}

/* ---------- Long-form content ---------- */
.content-narrow{max-width:780px;margin:0 auto;}
.content-medium{max-width:960px;margin:0 auto;}
.content-narrow h2,.content-medium h2{
  font-size:1.55rem;margin-top:2.2rem;margin-bottom:.9rem;color:var(--navy-deep);
}
.content-narrow p,.content-medium p{color:var(--ink-soft);line-height:1.7;font-size:1rem;}
.content-narrow ul,.content-medium ul{color:var(--ink-soft);line-height:1.7;}
.content-debug{
  background:#0f1a2c;color:#cfd6e0;padding:1.25rem;border-radius:3px;
  font-size:.78rem;overflow:auto;max-height:520px;
}

/* ---------- Alerts ---------- */
.alert-navy{background:rgba(20,40,63,.06);border:1px solid var(--navy);color:var(--navy-deep);border-radius:3px;}
.alert-light-warning{background:var(--warn-bg);border:1px solid var(--warn-line);color:#5a4310;border-radius:3px;padding:1rem 1.15rem;}
.alert-light-warning i{color:#b8851f;margin-right:.35rem;}

/* ---------- References list ---------- */
.ref-list{list-style:none;padding:0;}
.ref-list li{
  padding:.85rem 0;border-bottom:1px dotted var(--line);
  font-size:.95rem;line-height:1.55;color:var(--ink-soft);
}
.ref-list li strong{color:var(--navy-deep);}

/* ---------- Placeholder ---------- */
.placeholder-icon{font-size:3rem;color:var(--gold);margin-bottom:1rem;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.72);padding:3.5rem 0 1.75rem;margin-top:0;}
.footer-title{color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;}
.footer-sub{font-size:.88rem;line-height:1.55;color:rgba(255,255,255,.7);}
.footer-sub a{color:var(--gold);}
.footer-heading{
  color:#fff;font-size:.74rem;letter-spacing:.22em;
  text-transform:uppercase;margin-bottom:.85rem;font-weight:600;
}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{padding:.2rem 0;}
.footer-links a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.9rem;}
.footer-links a:hover{color:var(--gold);}
.footer-rule{border-color:rgba(255,255,255,.1);margin:2rem 0 1rem;}
.footer-copyright{color:rgba(255,255,255,.5);font-size:.82rem;}

/* ---------- Footer social / academic identity links ---------- */
.footer-social{margin-top:1.4rem;}
.footer-social-label{
  color:#fff;font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;margin-bottom:.6rem;font-weight:600;opacity:.85;
}
.footer-social-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-wrap:wrap;gap:.55rem;
}
.footer-social-link{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .8rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:rgba(255,255,255,.82);text-decoration:none;
  font-size:.82rem;font-weight:500;line-height:1;
  transition:border-color .15s,color .15s,background .15s;
}
.footer-social-link:hover,
.footer-social-link:focus-visible{
  color:var(--navy-deep);background:var(--gold);
  border-color:var(--gold);
}
.footer-social-link i{font-size:1rem;}
.footer-social-text{white-space:nowrap;}
/* Visual brand accents (subtle — keeps the navy/gold palette dominant) */
.footer-social-linkedin:hover i{filter:drop-shadow(0 0 .15rem rgba(0,0,0,.15));}
@media (max-width:575px){
  .footer-social-list{gap:.4rem;}
  .footer-social-link{padding:.4rem .65rem;font-size:.78rem;}
}

/* ---------- Author byline (E-E-A-T signal on clinical pages) ---------- */
.author-byline{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;
  margin:1.25rem 0 1.75rem;
  padding:.7rem 1rem;
  background:#f7f4ec;border-left:3px solid var(--gold);
  border-radius:2px;
  font-size:.88rem;color:#444;
}
[dir="rtl"] .author-byline{border-left:none;border-right:3px solid var(--gold);}
.author-byline i{color:var(--gold);}
.author-byline strong{color:var(--navy-deep);font-weight:600;}
.author-byline .byline-sep{opacity:.4;}

/* ---------- Contact page ---------- */
.contact-form-wrap{
  background:#fff;border:1px solid var(--line);border-radius:4px;
  padding:1.75rem 1.75rem 1.5rem;
}
.contact-form .form-row{margin-bottom:1.1rem;}
.contact-form label{
  display:block;font-weight:600;color:var(--navy-deep);
  font-size:.92rem;margin-bottom:.35rem;
}
.contact-form .form-required{color:#b1542a;margin-left:.15rem;font-weight:700;}
[dir="rtl"] .contact-form .form-required{margin-left:0;margin-right:.15rem;}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
  width:100%;
  border:1px solid #cbd1da;border-radius:3px;
  padding:.65rem .8rem;font-size:.95rem;font-family:inherit;
  background:#fff;color:#222;
  transition:border-color .15s,box-shadow .15s;
}
.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form textarea:focus{
  outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,169,97,.18);
}
.contact-form textarea{resize:vertical;min-height:160px;line-height:1.55;}
.contact-form input:disabled,
.contact-form textarea:disabled,
.contact-form button:disabled{
  background:#f3f3f0;color:#999;cursor:not-allowed;
}
.contact-form .form-check-row{
  background:#faf8f3;border:1px dashed #d8d0bf;
  border-radius:3px;padding:.7rem .85rem;
}
.contact-form .consent-check{
  display:flex;align-items:flex-start;gap:.55rem;
  font-weight:400;font-size:.86rem;color:#444;cursor:pointer;
  line-height:1.5;
}
.contact-form .consent-check input{margin-top:.2rem;flex-shrink:0;}
.contact-form .contact-submit{
  margin-top:.5rem;padding:.7rem 1.6rem;font-size:1rem;
}
.contact-form .contact-submit i{margin-right:.4rem;}
[dir="rtl"] .contact-form .contact-submit i{margin-right:0;margin-left:.4rem;}

/* Right-side contact card */
.contact-side{
  background:var(--navy-deep);color:rgba(255,255,255,.85);
  padding:1.75rem 1.5rem;border-radius:4px;
}
.contact-side-heading{
  color:#fff;font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;font-weight:600;margin-bottom:.4rem;
}
[dir="rtl"] .contact-side-heading{font-family:'Amiri',serif;}
.contact-side p{color:rgba(255,255,255,.7);font-size:.92rem;line-height:1.55;margin-bottom:1.25rem;}

.contact-email-card{
  display:flex;align-items:center;gap:.8rem;
  padding:.9rem 1rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-left:3px solid var(--gold);
  border-radius:3px;margin-bottom:1.25rem;
}
[dir="rtl"] .contact-email-card{border-left:1px solid rgba(255,255,255,.12);border-right:3px solid var(--gold);}
.contact-email-card > i{font-size:1.4rem;color:var(--gold);}
.contact-email-label{
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:.1rem;
}
.contact-email-link{
  color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;
  word-break:break-all;
}
.contact-email-link:hover{color:var(--gold);}

.contact-social-list{
  list-style:none;padding:0;margin:0 0 1.25rem;
  display:flex;flex-direction:column;gap:.45rem;
}
.contact-social-link{
  display:flex;align-items:center;gap:.7rem;
  padding:.6rem .9rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:3px;
  color:rgba(255,255,255,.85);text-decoration:none;
  font-size:.92rem;font-weight:500;
  transition:border-color .15s,color .15s,background .15s;
}
.contact-social-link:hover,
.contact-social-link:focus-visible{
  background:var(--gold);color:var(--navy-deep);border-color:var(--gold);
}
.contact-social-link > i:first-child{font-size:1.1rem;}
.contact-social-out{
  margin-left:auto;font-size:.85rem;opacity:.6;
}
[dir="rtl"] .contact-social-out{margin-left:0;margin-right:auto;transform:scaleX(-1);}

.contact-affiliation{
  display:flex;align-items:center;gap:.5rem;
  font-size:.85rem;color:rgba(255,255,255,.65);
  padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);
}
.contact-affiliation i{color:var(--gold);}

/* Thanks page card */
.contact-thanks-card{
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:4px;padding:2rem 2rem 2rem;max-width:720px;
}
[dir="rtl"] .contact-thanks-card{border-left:1px solid var(--line);border-right:4px solid var(--gold);}

/* ---------- Module page (clinical content) ---------- */
.module-page{padding-top:2.5rem;padding-bottom:4rem;}
.module-toc-col{position:relative;}
.module-toc{
  position:sticky;top:6.5rem;
  background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:1.25rem 1.1rem;
  max-height:calc(100vh - 8rem);overflow-y:auto;
}
.toc-title{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy-deep);font-weight:600;
  padding-bottom:.65rem;margin-bottom:.5rem;border-bottom:1px solid var(--line);
}
.module-toc ul{list-style:none;padding:0;margin:0;}
.module-toc li{padding:.3rem 0;border-bottom:1px dotted #ece4d2;}
.module-toc li:last-child{border-bottom:none;}
.module-toc li.toc-sep{margin-top:.5rem;padding-top:.6rem;border-top:1px solid var(--line);border-bottom:none;}
.module-toc a{
  color:var(--ink-soft);text-decoration:none;font-size:.88rem;line-height:1.4;
  display:block;
}
.module-toc a:hover{color:var(--gold);}

/* Module tabs (vertical pill nav) — replaces the long-scroll TOC links */
.module-tabs{gap:.15rem;}
.module-tab-btn{
  display:block;width:100%;text-align:left;
  background:transparent;border:none;border-left:3px solid transparent;
  color:var(--ink-soft);font-size:.88rem;line-height:1.4;font-weight:400;
  padding:.55rem .85rem;border-radius:0;
  transition:all .12s ease;cursor:pointer;
}
.module-tab-btn:hover{
  color:var(--navy-deep);background:rgba(201,169,97,.06);
}
.module-tab-btn.active{
  color:var(--navy-deep);background:rgba(201,169,97,.10);
  border-left-color:var(--gold);font-weight:600;
}
.tumor-refs{
  margin-top:2rem;padding-top:1.4rem;border-top:2px solid var(--gold);
}
.tumor-refs h3{color:var(--navy-deep)!important;}

/* Tumor entry "cards" */
.tumor-card{
  background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:2rem 2.1rem;margin-bottom:1.6rem;
  box-shadow:0 2px 6px rgba(11,26,46,.04);
  scroll-margin-top:6rem;
}
.tumor-header{margin-bottom:1.1rem;padding-bottom:.9rem;border-bottom:2px solid var(--gold);}
.tumor-header h2{
  font-size:1.85rem;margin:0;color:var(--navy-deep);
}
.tumor-grade-badge{
  display:inline-block;background:var(--navy-deep);color:var(--gold);
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  padding:.28rem .65rem;border-radius:2px;margin-bottom:.55rem;
  font-family:'Inter',sans-serif;
}
.tumor-who-class{margin-top:.55rem;font-size:.88rem;color:var(--ink-soft);line-height:1.5;}
.tumor-lead{
  font-size:1.02rem;color:var(--ink-soft);line-height:1.65;margin-bottom:1.25rem;
}
.tumor-section{margin-top:1.4rem;}
.tumor-section h3{
  font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--navy-deep);font-weight:600;
  margin:0 0 .65rem;
}
.tumor-section h3 i{color:var(--gold);margin-right:.4rem;}
.tumor-section p{color:var(--ink-soft);line-height:1.65;margin-bottom:.65rem;font-size:.96rem;}
.tumor-section ul{color:var(--ink-soft);line-height:1.65;font-size:.96rem;padding-left:1.15rem;}
.tumor-section ul li{margin-bottom:.3rem;}

.tumor-section.tumor-pearls{
  background:#fdf9ee;border:1px solid #efe1b8;
  border-radius:2px;padding:1rem 1.2rem;margin-top:1.5rem;
}
.tumor-section.tumor-pearls h3{color:#7c5b14;}
.tumor-section.tumor-pearls h3 i{color:#b8851f;}

/* Key-value definition list */
.kv{display:grid;grid-template-columns:140px 1fr;gap:.4rem 1rem;margin:0;}
.kv dt{font-weight:600;color:var(--navy-deep);font-size:.85rem;}
.kv dd{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.55;}

/* Citation marks and cite-block */
.cite{font-size:.75em;}
.cite a{color:var(--gold);text-decoration:none;font-weight:600;padding:0 .1em;}
.cite a:hover{text-decoration:underline;}
.cite-block{
  margin-top:1.2rem;padding-top:.85rem;border-top:1px dotted var(--line);
  color:var(--muted);font-size:.85rem;
}
.cite-label{font-weight:600;letter-spacing:.04em;color:var(--ink-soft);}

/* References appendix at bottom of module */
.module-refs-list{padding-left:1.4rem;}
.module-refs-list li{
  padding:.6rem 0;border-bottom:1px dotted var(--line);
  font-size:.92rem;line-height:1.55;color:var(--ink-soft);
  scroll-margin-top:6rem;
}
.module-refs-list li:target{background:rgba(201,169,97,.12);padding-left:.4rem;}
.module-refs-list strong{color:var(--navy-deep);}
.ref-note{margin-top:.3rem;color:var(--muted);font-size:.85rem;font-style:italic;}
.ref-link{margin-top:.4rem;font-size:.82rem;}
.ref-link a{
  color:var(--navy-deep);text-decoration:none;font-weight:500;
  border-bottom:1px solid var(--gold);padding-bottom:1px;
}
.ref-link a:hover{color:var(--gold);}
.ref-link i{margin-right:.25rem;font-size:.78rem;}

/* Tables inside tumor entries */
.med-table{
  width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.92rem;
}
.med-table thead th{
  background:var(--navy-deep);color:#fff;
  text-align:left;padding:.65rem .85rem;
  font-weight:600;font-size:.82rem;letter-spacing:.04em;
  text-transform:uppercase;
}
.med-table tbody td{
  padding:.65rem .85rem;border-bottom:1px solid var(--line);
  vertical-align:top;color:var(--ink-soft);line-height:1.5;
}
.med-table tbody tr:nth-child(odd) td{background:#fdfaf2;}
.med-table tbody tr:hover td{background:rgba(201,169,97,.08);}
.table-footnote{
  margin-top:.5rem;font-size:.82rem;color:var(--muted);font-style:italic;line-height:1.4;
}
.table-responsive{overflow-x:auto;}

/* Figures */
.figure-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.25rem;margin:1.25rem 0;
}
.med-figure{
  margin:0;background:#fff;border:1px solid var(--line);border-radius:3px;
  overflow:hidden;display:flex;flex-direction:column;
}
.med-figure img{
  width:100%;height:auto;display:block;background:#000;
  max-height:340px;object-fit:contain;
}
.med-figure figcaption{padding:.85rem 1rem 1rem;}
.fig-caption{
  font-size:.88rem;color:var(--ink-soft);line-height:1.5;margin-bottom:.5rem;
}
.fig-credit{
  font-size:.75rem;color:var(--muted);line-height:1.45;
  padding-top:.5rem;border-top:1px dotted var(--line);
}
.fig-credit a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line);}
.fig-credit a:hover{color:var(--gold);border-bottom-color:var(--gold);}

@media (max-width: 991px){
  .module-toc{position:static;max-height:none;}
}

/* ---------- CV page ---------- */
.cv-photo-block{
  background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:1.75rem 1.25rem;box-shadow:0 2px 6px rgba(11,26,46,.04);
  position:sticky;top:6.5rem;
}
.cv-photo-block .profile-photo{max-width:240px;}
.cv-name{
  font-family:'Cormorant Garamond',serif;color:var(--navy-deep);
  font-size:1.65rem;margin-top:1.25rem;margin-bottom:.25rem;
}
.cv-creds{
  color:var(--gold);font-size:.75rem;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;margin-bottom:.85rem;
}
.cv-title{color:var(--navy-deep);font-weight:500;font-size:.98rem;}
.cv-affiliation{color:var(--ink-soft);font-size:.9rem;margin-top:.2rem;}

.cv-section{margin-bottom:2.5rem;}
.cv-section-title{
  font-family:'Cormorant Garamond',serif;color:var(--navy-deep);
  font-size:1.5rem;font-weight:600;
  padding-bottom:.5rem;border-bottom:2px solid var(--gold);
  margin-bottom:1.1rem;
}
.cv-entry{
  margin-bottom:1.1rem;padding-left:1rem;border-left:2px solid var(--line);
}
.cv-entry-title{color:var(--navy-deep);font-weight:600;font-size:1rem;}
.cv-entry-org{color:var(--ink-soft);font-size:.92rem;margin-top:.15rem;}
.cv-entry-date{color:var(--muted);font-size:.85rem;font-style:italic;margin-top:.15rem;}
.cv-list{padding-left:1.2rem;color:var(--ink-soft);line-height:1.7;}
.cv-list li{margin-bottom:.45rem;}
.cv-list strong{color:var(--navy-deep);}
.ref-doi-link{
  display:inline-block;margin-left:.4rem;font-size:.82rem;
  color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);
}
.ref-doi-link:hover{color:var(--gold);}
.cv-contact-note{
  background:rgba(20,40,63,.04);border-left:3px solid var(--gold);
  padding:.85rem 1.1rem;color:var(--ink-soft);font-size:.92rem;border-radius:2px;
}

@media (max-width: 991px){
  .cv-photo-block{position:static;}
}

/* ---------- Patient pages (warm-clinical register) ---------- */
:root{
  --warm-ivory: #fbf6ec;
  --warm-rose: #c45a4a;
  --warm-sage: #6b8f6f;
  --warm-amber: #d59c1f;
  --alert-red-bg: #fdecea;
  --alert-red-border: #c0392b;
  --alert-red-text: #6b1813;
}

.patient-page{
  font-size:1.05rem;
  line-height:1.75;
}
.patient-page p{margin-bottom:1.05rem;color:var(--ink);}
.patient-page ul li{margin-bottom:.4rem;}

.patient-hero{
  background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);
  color:#fff;padding:3rem 0 2.5rem;
}
.patient-hero .eyebrow{
  color:var(--gold-soft);letter-spacing:.22em;text-transform:uppercase;
  font-size:.78rem;font-weight:500;margin-bottom:.85rem;
}
.patient-hero h1{
  color:#fff;font-size:clamp(1.85rem,3.6vw,2.7rem);margin-bottom:.85rem;
}
.patient-hero p{color:rgba(255,255,255,.85);font-size:1.05rem;max-width:780px;}

.patient-disclaimer-banner{
  background:var(--warn-bg);border:1px solid var(--warn-line);
  border-left:5px solid var(--warm-amber);border-radius:3px;
  padding:1.1rem 1.25rem;margin:2rem 0;font-size:.95rem;
}
.patient-disclaimer-banner strong{color:#5a4310;}

.patient-landing-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.25rem;margin-top:1.5rem;
}
.patient-condition-card,
.patient-guide-card{
  background:#fff;border:1px solid var(--line);border-radius:4px;
  padding:1.6rem 1.5rem;text-decoration:none;color:var(--ink);
  transition:all .2s ease;display:block;height:100%;
  position:relative;
}
.patient-condition-card:hover,
.patient-guide-card:hover{
  border-color:var(--gold);box-shadow:0 8px 22px rgba(11,26,46,.08);
  transform:translateY(-2px);color:var(--ink);
}
.patient-condition-card .icon,
.patient-guide-card .icon{
  font-size:2rem;color:var(--gold);margin-bottom:.85rem;
}
.patient-condition-card h3,
.patient-guide-card h3{
  color:var(--navy-deep);font-size:1.3rem;margin-bottom:.45rem;
  font-family:'Cormorant Garamond',serif;
}
.patient-condition-card p,
.patient-guide-card p{
  color:var(--ink-soft);font-size:.95rem;line-height:1.55;margin:0;
}
.patient-condition-card.is-pending{opacity:.65;pointer-events:none;cursor:default;}
.patient-condition-card .pending-badge{
  position:absolute;top:.65rem;right:.65rem;
  background:#ece4d2;color:var(--ink-soft);
  font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.2rem .5rem;border-radius:2px;font-weight:600;
}
body.lang-ar .patient-condition-card .pending-badge{right:auto;left:.65rem;}

.patient-landing-section-title{
  font-family:'Cormorant Garamond',serif;color:var(--navy-deep);
  font-size:1.65rem;margin:2.5rem 0 .65rem;
}
.patient-landing-section-sub{color:var(--ink-soft);font-size:.95rem;margin-bottom:0;}

/* Single-page condition / guide layout */
.patient-content-wrap{
  display:grid;grid-template-columns:240px 1fr;gap:2.5rem;margin-top:2rem;
}
@media (max-width: 991px){
  .patient-content-wrap{grid-template-columns:1fr;gap:1rem;}
}
.patient-toc{
  position:sticky;top:6.5rem;
  background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:1rem 1rem;font-size:.88rem;max-height:calc(100vh - 8rem);overflow-y:auto;
}
.patient-toc .toc-title{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy-deep);font-weight:600;
  padding-bottom:.6rem;margin-bottom:.4rem;border-bottom:1px solid var(--line);
}
.patient-toc ul{list-style:none;padding:0;margin:0;}
.patient-toc li{padding:.3rem 0;border-bottom:1px dotted #ece4d2;}
.patient-toc li:last-child{border-bottom:none;}
.patient-toc a{color:var(--ink-soft);text-decoration:none;display:block;line-height:1.35;}
.patient-toc a:hover{color:var(--gold);}
@media (max-width: 991px){
  .patient-toc{position:static;max-height:none;}
}

.patient-section{
  margin-bottom:2.5rem;padding-bottom:1rem;
  scroll-margin-top:6rem;
}
.patient-section h2{
  font-family:'Cormorant Garamond',serif;color:var(--navy-deep);
  font-size:1.85rem;margin-bottom:1rem;
  padding-bottom:.55rem;border-bottom:2px solid var(--gold);
}
.patient-section h2 i{color:var(--gold);margin-right:.5rem;font-size:.85em;}
body.lang-ar .patient-section h2 i{margin-right:0;margin-left:.5rem;}
.patient-section h3{
  color:var(--navy-deep);font-size:1.2rem;margin-top:1.4rem;margin-bottom:.6rem;
  font-family:'Inter',sans-serif;font-weight:600;
}

/* Treatment options as side-by-side cards */
.treatment-options{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.1rem;margin:1rem 0 1.5rem;
}
.treatment-card{
  background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:1.2rem 1.3rem;
}
.treatment-card h4{
  color:var(--navy-deep);font-size:1.05rem;margin:0 0 .5rem;
  font-family:'Inter',sans-serif;font-weight:600;
}
.treatment-card p{font-size:.95rem;color:var(--ink-soft);margin:0;line-height:1.6;}

/* Questions-to-ask checklist card — designed to be screenshot-able */
.questions-card{
  background:#fdfaf2;border:1px solid var(--gold-soft);border-radius:4px;
  padding:1.5rem 1.6rem;margin:1rem 0;
}
.questions-card h3{
  color:var(--navy-deep);margin-top:0;margin-bottom:.85rem;
  font-family:'Cormorant Garamond',serif;font-size:1.35rem;
}
.questions-card ul{padding-left:1.2rem;margin:0;}
body.lang-ar .questions-card ul{padding-left:0;padding-right:1.2rem;}
.questions-card li{
  margin-bottom:.65rem;line-height:1.6;font-size:1rem;color:var(--ink);
}

/* "When to call us" emergency callout — red */
.alert-emergency{
  background:var(--alert-red-bg);border:1px solid var(--alert-red-border);
  border-left:5px solid var(--alert-red-border);border-radius:3px;
  padding:1.25rem 1.4rem;margin:1.5rem 0;
}
body.lang-ar .alert-emergency{border-left:1px solid var(--alert-red-border);border-right:5px solid var(--alert-red-border);}
.alert-emergency h3{
  color:var(--alert-red-text);margin:0 0 .65rem;
  font-family:'Inter',sans-serif;font-size:1.05rem;font-weight:600;
}
.alert-emergency h3 i{color:var(--alert-red-border);margin-right:.45rem;}
.alert-emergency ul{margin:.5rem 0 0;padding-left:1.2rem;color:var(--ink);}
body.lang-ar .alert-emergency ul{padding-left:0;padding-right:1.2rem;}
.alert-emergency li{margin-bottom:.35rem;line-height:1.55;}

/* More information / external resources */
.more-info-list{list-style:none;padding:0;margin:0;}
.more-info-list li{
  padding:.65rem 0;border-bottom:1px dotted var(--line);
  font-size:.95rem;
}
.more-info-list li:last-child{border-bottom:none;}
.more-info-list strong{color:var(--navy-deep);}
.more-info-list a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold-soft);}
.more-info-list a:hover{color:var(--gold);}

/* Glossary list */
.glossary-list{margin:1.5rem 0;}
.glossary-entry{
  padding:1rem 0;border-bottom:1px solid var(--line);
}
.glossary-entry:last-child{border-bottom:none;}
.glossary-term{
  color:var(--navy-deep);font-weight:600;font-size:1.05rem;
  font-family:'Inter',sans-serif;margin-bottom:.3rem;
}
.glossary-abbr{color:var(--gold);font-size:.85rem;font-weight:500;margin-left:.5rem;}
body.lang-ar .glossary-abbr{margin-left:0;margin-right:.5rem;}
.glossary-def{color:var(--ink-soft);line-height:1.6;font-size:.98rem;margin:0;}

/* Footer note on patient pages */
.patient-footer-note{
  background:rgba(20,40,63,.04);border-left:3px solid var(--gold);
  padding:1rem 1.2rem;margin:2rem 0 0;border-radius:2px;
  color:var(--ink-soft);font-size:.95rem;line-height:1.6;
}
body.lang-ar .patient-footer-note{border-left:none;border-right:3px solid var(--gold);}

/* ---------- Floating disclaimer modal ---------- */
.disclaimer-modal{
  border:1px solid var(--gold);border-radius:4px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.disclaimer-modal .modal-header{
  background:var(--navy-deep);color:#fff;
  border-bottom:2px solid var(--gold);border-radius:0;padding:1.1rem 1.5rem;
}
.disclaimer-modal .modal-title{
  color:#fff;font-family:'Inter',sans-serif;font-size:1.05rem;
  font-weight:600;letter-spacing:.02em;
}
.disclaimer-modal .modal-title i{color:var(--gold);margin-right:.45rem;}
.disclaimer-modal .modal-body{padding:1.5rem 1.6rem;color:var(--ink-soft);font-size:.95rem;line-height:1.6;}
.disclaimer-modal .modal-body p{margin-bottom:.85rem;}
.disclaimer-modal .modal-body strong{color:var(--navy-deep);}
.disclaimer-modal .modal-footer{
  background:var(--ivory);border-top:1px solid var(--line);
  padding:.85rem 1.6rem;
}
.disclaimer-modal .form-check-label{color:var(--muted);}

/* ---------- Responsive tweaks ---------- */
@media (max-width: 768px){
  .hero{min-height:auto;}
  .hero-inner{padding:4rem 0 3rem;}
  .section{padding:3.5rem 0;}
}
