/* Shared navigation, theme, course cards and footer used across every route. */
:root{
  --header-bg:rgba(11,10,9,.88);
  --footer-bg:#080706;
  --success:#7ca98a;
  --error:#d58b82;
}
html{color-scheme:dark;}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f2ede5;
  --bg-elevated:#fffdf9;
  --ink:#201c18;
  --ink-muted:#625a50;
  --line:#d7cec1;
  --line-strong:#a99d8d;
  --stone:#8d6331;
  --stone-dim:rgba(141,99,49,.62);
  --header-bg:rgba(250,247,241,.94);
  --footer-bg:#ded2c1;
  --tooth-dot:91,65,37;
  --success:#39734a;
  --error:#a13f36;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0b0a09;
  --bg-elevated:#141210;
  --ink:#f3f0ea;
  --ink-muted:#a8a29b;
  --line:rgba(243,240,234,.13);
  --line-strong:rgba(243,240,234,.28);
  --stone:#b7ae9d;
  --stone-dim:rgba(183,174,157,.55);
  --header-bg:rgba(11,10,9,.88);
  --footer-bg:#080706;
  --tooth-dot:214,205,186;
}
body{background:var(--bg);color:var(--ink);}
body > header,.site-header{background:var(--header-bg)!important;color:var(--ink)!important;border-color:var(--line)!important;}
.nav{position:relative;}
.nav-links{gap:clamp(.7rem,1.5vw,1.45rem)!important;}
.nav-actions{display:flex;align-items:center;gap:.65rem;}
.theme-toggle{
  display:inline-grid;place-items:center;width:42px;height:42px;padding:0;
  border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;
}
.theme-toggle:hover{border-color:var(--ink);}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.theme-toggle .sun{display:none;}
html[data-theme="light"] .theme-toggle .sun{display:block;}
html[data-theme="light"] .theme-toggle .moon{display:none;}

.course-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.course-card{display:flex;flex-direction:column;min-height:100%;padding:clamp(1.4rem,3vw,2rem);background:var(--bg-elevated);text-decoration:none;color:var(--ink);}
.course-card time,.course-card .course-meta{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);}
.course-card h3{margin:.75rem 0;font-family:var(--font-display,"Playfair Display",Georgia,serif);font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.25;}
.course-card p{color:var(--ink-muted);font-size:.92rem;line-height:1.7;}
.course-card .course-link{margin-top:auto;padding-top:1.5rem;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink);}
.course-card:hover h3{color:var(--stone);}

.form-status{grid-column:1/-1;min-height:1.5em;margin:0;font-size:.88rem;color:var(--ink-muted);}
.form-status[data-state="success"]{color:var(--success);}
.form-status[data-state="error"]{color:var(--error);}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
form[aria-busy="true"] button[type="submit"]{opacity:.65;cursor:wait;}

.site-footer-v2{padding:clamp(3.5rem,7vw,5.5rem) 0 1.6rem!important;background:var(--footer-bg)!important;color:#f3f0ea!important;border-top:0!important;}
.footer-main{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(140px,.65fr));gap:clamp(2rem,6vw,5rem);padding-bottom:3.2rem;}
.footer-brand{max-width:28rem;}
.footer-brand strong{display:block;font-family:var(--font-display,"Playfair Display",Georgia,serif);font-size:clamp(1.7rem,3vw,2.45rem);font-weight:600;line-height:1.12;}
.footer-brand strong span{color:#b7ae9d;}
.footer-brand p{margin:1rem 0 0;color:#bdb7ae;max-width:42ch;}
.footer-col h2{margin:0 0 1rem;font-family:var(--font-body,"Inter",sans-serif);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b7ae9d;}
.footer-col a{display:block;width:max-content;max-width:100%;margin:.55rem 0;color:#d8d3cb;text-decoration:none;font-size:.9rem;}
.footer-col a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.4rem;border-top:1px solid rgba(243,240,234,.14);color:#8f8981;font-size:.75rem;}
.footer-bottom a{color:inherit;text-decoration:none;}
.footer-bottom a:hover{color:#fff;}

/* Light mode is a designed warm editorial system, not a colour inversion. */
html[data-theme="light"] body{background:#f2ede5;color:#201c18;}
html[data-theme="light"] body > header,
html[data-theme="light"] .site-header{box-shadow:0 8px 28px rgba(65,49,30,.06);}
html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .menu-button{background:#fffdf9;border-color:#b9ae9f;}
html[data-theme="light"] .site-footer-v2{background:#ded2c1!important;color:#201c18!important;border-top:1px solid #c4b6a3!important;}
html[data-theme="light"] .site-footer-v2 .footer-brand strong span,
html[data-theme="light"] .site-footer-v2 .footer-col h2{color:#8d6331;}
html[data-theme="light"] .site-footer-v2 .footer-brand p{color:#625a50;}
html[data-theme="light"] .site-footer-v2 .footer-col a{color:#3f3830;}
html[data-theme="light"] .site-footer-v2 .footer-col a:hover{color:#8d6331;}
html[data-theme="light"] .site-footer-v2 .footer-bottom{border-color:rgba(32,28,24,.18);color:#625a50;}
html[data-theme="light"] .site-footer-v2 .footer-bottom a:hover{color:#201c18;}
html[data-theme="light"] .btn-solid,
html[data-theme="light"] .btn--primary{background:#201c18;color:#fffdf9;border-color:#201c18;}
html[data-theme="light"] .btn-solid:hover,
html[data-theme="light"] .btn--primary:hover{background:#8d6331;color:#fff;border-color:#8d6331;}

html[data-theme="light"] .home-page .hero{background:#faf7f1;border-bottom:1px solid var(--line);}
html[data-theme="light"] .home-page .hero-visual{
  background:radial-gradient(closest-side at 50% 46%,rgba(141,99,49,.2),rgba(141,99,49,0) 72%);
}
html[data-theme="light"] .home-page .credentials{background:#cfc4b5;border-color:#cfc4b5;}
html[data-theme="light"] .home-page .credential{background:#fffdf9;}
html[data-theme="light"] .home-page #cases{background:#e9e1d6;}
html[data-theme="light"] .home-page .case-grid{background:#c9bdad;border-color:#c9bdad;}
html[data-theme="light"] .home-page .case-card{background:#fffdf9;}
html[data-theme="light"] .home-page #approach{background:#f8f4ed;}
html[data-theme="light"] .home-page #education{background:#ded2c1;}
html[data-theme="light"] .home-page #past-courses{background:#f8f4ed;}
html[data-theme="light"] .home-page .past-course{padding:1.35rem 1.45rem;background:#fffdf9;border:1px solid #c9bdad;}
html[data-theme="light"] .home-page #about{background:#e8dfd2;}
html[data-theme="light"] .home-page .portrait{border-color:#b9ab98;box-shadow:0 22px 48px rgba(54,41,25,.13);}
html[data-theme="light"] .home-page .location{background:#c9bdad;border-color:#c9bdad;}
html[data-theme="light"] .home-page .location div{background:#fffdf9;}
html[data-theme="light"] .home-page #patients{background:#fbf9f5;}
html[data-theme="light"] .home-page #contact{background:#e5dacb;}
html[data-theme="light"] .home-page input,
html[data-theme="light"] .home-page select,
html[data-theme="light"] .home-page textarea{background:#fffdf9;border-color:#aa9d8c;}

.home-page .hero{
  max-width:none;
  padding-inline:max(var(--gutter),calc((100vw - 1320px)/2 + var(--gutter)));
}
@media(min-width:901px){
  .home-page .hero-grid{grid-template-columns:1fr 1.05fr;gap:clamp(2.5rem,4vw,4.5rem);}
  .home-page .hero .actions{flex-wrap:nowrap;gap:.75rem;}
  .home-page .hero .actions .btn{padding-inline:1.35rem;font-size:.75rem;}
  .home-page .hero-visual{transform:scale(1.08);}
}

html[data-theme="light"] .profile-page .profile-hero{background:#e4d9ca;}
html[data-theme="light"] .profile-page .profile-copy{background:#eee6db;}
html[data-theme="light"] .profile-page .profile-image{box-shadow:-22px 0 55px rgba(54,41,25,.11);}
html[data-theme="light"] .profile-page .profile-stamp{background:#fffdf9;box-shadow:0 8px 24px rgba(32,28,24,.15);}
html[data-theme="light"] .profile-page .metrics{background:#fffaf3;border-color:#cfc4b5;}
html[data-theme="light"] .profile-page .metric{border-color:#cfc4b5;}
html[data-theme="light"] .profile-page .profile-section{background:#f8f4ed;border-color:#d1c5b6;}
html[data-theme="light"] .profile-page .profile-section.alt{background:#e9e0d4;}
html[data-theme="light"] .profile-page .principles{background:#c8bcab;border-color:#c8bcab;}
html[data-theme="light"] .profile-page .principle{background:#fffdf9;}
html[data-theme="light"] .profile-page .international{background:#211c17;color:#fff;}
html[data-theme="light"] .profile-page .course-band{background:#c7aa7b;color:#201c18;}
html[data-theme="light"] .profile-page .course-art{background:rgba(255,253,249,.36);border-color:rgba(32,28,24,.35);}

html[data-theme="light"] .courses-page .courses-hero{background:#e4d9ca;border-color:#c7b9a7;}
html[data-theme="light"] .courses-page .archive{background:#f8f4ed;}
html[data-theme="light"] .course-card{box-shadow:0 16px 38px rgba(54,41,25,.08);}
html[data-theme="light"] .course-card:hover{border-color:#8d6331;box-shadow:0 20px 45px rgba(54,41,25,.14);}

html[data-theme="light"] .blog-page .blog,
html[data-theme="light"] .blog-page .post{background:#f8f4ed;}
html[data-theme="light"] .blog-page .post-card__link,
html[data-theme="light"] .blog-page .post__cta,
html[data-theme="light"] .blog-page .post__toc{background:#fffdf9;box-shadow:0 16px 38px rgba(54,41,25,.07);}
html[data-theme="light"] .prose{color:#47443f;}
html[data-theme="light"] .post-card__cover{background:#e8e3dc;}
html[data-theme="light"] .toc-float__pill{background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(25,24,22,.14);}
html[data-theme="light"] dialog::backdrop{background:rgba(25,24,22,.42);}

html[data-theme="light"] body.course-page{--paper:#f4efe8;--white:#fffdf9;--muted:#625a50;--line:#d2c7b9;}
html[data-theme="light"] body.course-page .hero{background:#e4d9ca!important;color:#201c18!important;}
html[data-theme="light"] body.course-page .hero h1,
html[data-theme="light"] body.course-page .hero h2,
html[data-theme="light"] body.course-page .hero h3{color:#201c18!important;}
html[data-theme="light"] body.course-page .hero .lead{color:#5f574e;}
html[data-theme="light"] body.course-page .hero .lead strong{color:#201c18;}
html[data-theme="light"] body.course-page .hero .proofline{color:#5f574e;}
html[data-theme="light"] body.course-page .hero .gold{color:#8d6331!important;}
html[data-theme="light"] body.course-page .hero .btn.gold{color:#111!important;}
html[data-theme="light"] body.course-page .hero .btn.ghost{color:#201c18!important;border-color:#8f8374!important;}
html[data-theme="light"] body.course-page .hero .btn.ghost:hover{background:#fffdf9;}
html[data-theme="light"] body.course-page .hero-image{background:#d2d0cd;}
html[data-theme="light"] body.course-page .hero-image:after{
  background:linear-gradient(90deg,#e4d9ca 0%,rgba(228,217,202,0) 22%),linear-gradient(180deg,transparent 62%,rgba(32,28,24,.18) 100%);
}
html[data-theme="light"] body.course-page .hero-card{background:rgba(255,253,249,.9);border-color:#a99d8d;}
html[data-theme="light"] body.course-page .hero-card b{color:#201c18;}
html[data-theme="light"] body.course-page .hero-card span{color:#625a50;}
html[data-theme="light"] body.course-page section:not(.hero):not(.dark):not(.cta-section){background:#f4efe8!important;}
html[data-theme="light"] body.course-page section:nth-of-type(4),
html[data-theme="light"] body.course-page section:nth-of-type(6){background:#e8dfd3!important;}
html[data-theme="light"] body.course-page .value-card,
html[data-theme="light"] body.course-page .after,
html[data-theme="light"] body.course-page details{background:#fffdf9;border-color:#c8bcad;}
html[data-theme="light"] body.course-page .site-header .menu-button{color:#201c18!important;border-color:#a99d8d!important;}

/* The archived course page predates the shared shell and uses its own token names. */
html[data-theme="dark"] body.course-page{
  --ink:#f3f0ea;--paper:#0b0a09;--white:#141210;--muted:#a8a29b;--line:rgba(243,240,234,.14);
}
html[data-theme="dark"] body.course-page section:not(.dark):not(.cta-section){background:var(--paper)!important;color:var(--ink);}
html[data-theme="dark"] body.course-page .form-card{background:#141210;color:#f3f0ea;border-color:rgba(183,174,157,.4);}
html[data-theme="dark"] body.course-page .form-card input,
html[data-theme="dark"] body.course-page .form-card select{background:#0b0a09;color:#f3f0ea;border-color:rgba(243,240,234,.22);}
html[data-theme="dark"] body.course-page .form-card label,
html[data-theme="dark"] body.course-page .form-card .sub,
html[data-theme="dark"] body.course-page details p{color:#a8a29b;}
html[data-theme="dark"] body.course-page .value-card,
html[data-theme="dark"] body.course-page .after{background:#141210;border-color:rgba(243,240,234,.15);}
body.course-page .site-header .site-brand{color:var(--ink);}
body.course-page .site-header .nav-links a{color:var(--ink-muted)!important;}
body.course-page .site-header .nav-links a:hover,
body.course-page .site-header .nav-links a[aria-current="page"]{color:var(--ink)!important;}
body.course-page .hero{background:#0b0b0b!important;color:#fff!important;}
body.course-page .hero h1,
body.course-page .hero h2,
body.course-page .hero h3{color:#fff!important;}
html[data-theme="dark"] body.course-page .hero .gold{color:#e1c48a!important;}
body.course-page .hero .btn.gold{color:#111!important;}

/* Course page: keep its established layout and copy, but use the site's editorial language. */
body.course-page{
  --gold:var(--stone);
  --gold2:#d2b47f;
  --radius:0;
  --shadow:none;
}
body.course-page .btn{
  min-height:52px;border-radius:0;padding-inline:1.5rem;
  font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
body.course-page .hero:before{border-color:rgba(183,174,157,.2);box-shadow:0 0 0 90px rgba(183,174,157,.025),0 0 0 180px rgba(183,174,157,.015);}
body.course-page .hero-image,
body.course-page .hero-card,
body.course-page .value-card,
body.course-page .device-card,
body.course-page .portrait,
body.course-page .portrait:after,
body.course-page .after,
body.course-page .unit-box,
body.course-page .deadline-panel,
body.course-page .timebox,
body.course-page .form-card,
body.course-page input,
body.course-page select,
body.course-page .mobile-cta .btn.gold{border-radius:0!important;box-shadow:none!important;}
body.course-page .hero-card{background:rgba(11,10,9,.88);border-color:rgba(243,240,234,.2);}
body.course-page .value-grid{gap:1px;background:var(--line);border:1px solid var(--line);}
body.course-page .value-card{border:0;background:var(--white);}
body.course-page .dark{background:#181410;}
body.course-page .device-card{border:1px solid var(--line);background:#181410;}
body.course-page .portrait{border:1px solid var(--line);}
body.course-page .after{border-color:var(--line-strong);}
body.course-page .unit-box{background:#181410;border-color:rgba(183,174,157,.38);}
body.course-page .cta-section{background:#181410;}
body.course-page .cta-section:before{border-color:rgba(183,174,157,.18);box-shadow:0 0 0 80px rgba(183,174,157,.02);}
body.course-page .deadline-panel{background:rgba(183,174,157,.08);border-color:rgba(210,180,127,.5);}
body.course-page .timebox{background:rgba(0,0,0,.18);}
body.course-page .form-card{border-color:var(--line-strong);}
body.course-page input,
body.course-page select{border-color:var(--line-strong);}
body.course-page input:focus,
body.course-page select:focus{box-shadow:0 0 0 2px var(--stone-dim);}
body.course-page .form-card .btn{border-radius:0;}
body.course-page details{padding-inline:1.1rem;border:1px solid var(--line);border-top:0;}
body.course-page details:first-of-type{border-top:1px solid var(--line);}
body.course-page .mobile-cta .btn.gold{background:var(--stone);border-color:#d2b47f;color:#17120a;}
body.course-page .mobile-cta .btn.gold:hover{background:#d2b47f;}
body.course-page .mobile-cta .btn:after{display:none;}
@media(prefers-reduced-motion:no-preference){
  body.course-page .motion-ready .value-card.is-visible:hover{transform:none;border-color:var(--stone);box-shadow:none;}
}

@media(max-width:900px){
  .course-list{grid-template-columns:1fr;}
  .footer-main{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1/-1;}
}
@media(max-width:760px){
  .nav-actions{margin-left:auto;}
  .nav-links{background:var(--bg)!important;border-color:var(--line)!important;}
}
@media(max-width:560px){
  .footer-main{grid-template-columns:1fr;}
  .footer-brand{grid-column:auto;}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;}}
