/* Elora Academy: shared public website and member portal visual system. */
:root{--navy:#174b7e;--gold:#c3a05b;--paper:#f7f9fc;--ink:#17374c;--muted:#627482;--elora-border:#bfd4e7;color-scheme:light}
body{background:radial-gradient(ellipse at 90% 0,#dceeff,transparent 50%),#f7f9fc;color:#17374c;font-family:Arial,Helvetica,sans-serif}
body header{background:#ffffffed;border-bottom:1px solid #d7c08b;box-shadow:0 4px 24px #174b7e09}
body .wordmark{background:#fff;border:1px solid #c3a05b;border-radius:10px;padding:10px 12px}
body nav a,body nav a.portal-link,body .language-switch{background:#eaf4fc;color:#174b7e;border:1px solid #b99554;border-radius:8px;box-shadow:0 3px 12px #174b7e06;font-weight:700;min-height:44px}
body nav a:hover,body nav a.portal-link:hover,body .language-switch:hover{background:#fff0c9;color:#174b7e;border-color:#a37c37}
body .hero{background:radial-gradient(ellipse at 90% 0,#dceeff88,transparent 65%);border-color:#bfd4e7}
body .hero:before{display:none}
body :is(h1,h2,h3,h4,legend){font-family:Arial,Helvetica,sans-serif;font-weight:800;color:#174b7e;letter-spacing:-.035em}
body .hero h1{font-size:clamp(42px,5.8vw,72px);line-height:1.08;font-weight:800;color:#174b7e;text-shadow:none}
body .hero h1 em{font-family:inherit;font-weight:800;font-style:normal;color:#8b6c32}
body .hero p,body .panel p,body .contact p,body .intro p,body .step p,body .card-intro,body dd,body .form-note,body .program-note,body .inquiry>p{color:#627482;text-shadow:none}
body .eyebrow,body .hero>div>.eyebrow,body .panel .label,body .lesson-tag,body .panel .domain{color:#8b6c32;font-weight:800}
body .panel{background:linear-gradient(145deg,#fff,#eaf3ff);border:1px solid #a5c4e1;border-top:4px solid #c8a55f;border-radius:20px;color:#174b7e;box-shadow:0 16px 40px #174b7e14}
body .panel h2{font-family:Arial,Helvetica,sans-serif;font-weight:800;color:#174b7e;font-size:34px}
body .panel h3{color:#174b7e}body .panel hr{border-color:#bfd4e7}
body .button,body form button[type=submit],body .calc-card button{background:#2262a0;color:#fff;border:1px solid #b99554;border-radius:8px;font-family:Arial,Helvetica,sans-serif;font-weight:700;min-height:44px;box-shadow:0 4px 12px #174b7e0c}
body .button:hover,body form button[type=submit]:hover,body .calc-card button:hover{background:#1b548c;color:#fff}
body :is(.funding-card,.funding-card.real-estate,.calc-card,.lesson,.learning-example,.program-guidelines){background:#fff;border:1px solid #bfd4e7;border-top:3px solid #90bce1;border-radius:12px;box-shadow:0 6px 22px #174b7e08;color:#17374c}
body :is(.funding-card h2,.calc-card h3,.inquiry h2,.contact h2,.lesson h2,#calculators>h2){color:#174b7e;font-weight:800}
body :is(.contact,.inquiry,.uni-teaser,.learn-tools){background:linear-gradient(145deg,#fff,#edf5ff);border:1px solid #bfd4e7;border-top:3px solid #c3a05b;border-radius:16px;box-shadow:0 6px 22px #174b7e08;color:#17374c}
body :is(.course-links a,.resource-links a,.category-controls button){background:#eaf4fc;color:#174b7e;border:1px solid #b99554;border-radius:8px;font-weight:700}
body :is(.course-links a:hover,.resource-links a:hover,.category-controls button[aria-pressed=true]){background:#fff0c9;color:#174b7e}
body .calc-results{background:linear-gradient(145deg,#fff,#eaf3ff);border:1px solid #a5c4e1;border-top:4px solid #c8a55f;border-radius:12px;color:#174b7e}
body .calc-results strong{color:#174b7e}body :is(.calc-results p,.calc-results span,#calculators>p,.contact-note,.contact-note a,.inquiry>p a){color:#55738c}
body form label{color:#17374c}body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#f5f9ff;color:#17374c;border:1px solid #8cafcf;border-radius:8px;min-height:44px}
body input[type=checkbox],body input[type=radio]{accent-color:#2262a0}
body :is(details,.quote-disclosure,.learn-note,.guideline-note){background:#edf5ff;color:#42627e;border:1px solid #bfd4e7;border-radius:10px}
body :is(summary,.quote-disclosure strong){color:#174b7e}body .quote-consent{color:#42627e}
body :is(dl>div,fieldset){border-color:#bfd4e7}body fieldset{border-radius:12px}
body footer{background:#edf5fd;border-top:1px solid #d7c08b;color:#627482}body footer .footer-inner{color:#627482}
body .funded-section{background:#f7f9fc;color:#174b7e}body .funded-heading h2{color:#174b7e}body .funded-heading p,body .funded-footnote{color:#627482}
body .funded-arrow{background:#eaf4fc;color:#174b7e;border-color:#b99554}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b99554;outline-offset:3px}
@media(max-width:720px){body .hero{background:#f7f9fc;padding-top:38px}body .hero h1{font-size:clamp(38px,9.5vw,52px)}body .panel{padding:28px 24px}body .panel h2{font-size:29px}body nav a,body .language-switch{min-height:44px}}
/* Explicit heading selectors supersede older section-level serif declarations. */
body h1,body h2,body h3,body h4,body legend{font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;letter-spacing:-.035em}
body .panel strong,body footer strong{color:#174b7e}
body .funded-deal .coastal-caption{background:linear-gradient(145deg,#fff,#edf5ff);border-top-color:#c3a05b}
/* Progressive enhancement: all links stay visible if JavaScript is unavailable. */
body .site-menu-toggle{display:none;background:#eaf4fc;color:#174b7e;border:1px solid #b99554;border-radius:8px;min-height:44px;padding:10px 16px;font:700 14px Arial,Helvetica,sans-serif}
@media(max-width:800px){
 body header[data-nav-enhanced=true]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 6%;align-items:center}
 body header[data-nav-enhanced=true] .wordmark{width:min(100%,205px);margin:0;justify-self:start}
 body header[data-nav-enhanced=true] .site-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
 body header[data-nav-enhanced=true] nav{grid-column:1/-1;margin:0;width:100%;display:none}
 body header[data-nav-enhanced=true] nav[data-open=true]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body header[data-nav-enhanced=true] nav a{white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center;padding:10px 8px;min-height:44px}
 body header[data-nav-enhanced=true] nav .language-switch{grid-column:1/-1}
}
/* Approved logo visibility update: preserve portal theme and responsive navigation. */
body header .wordmark{width:340px;max-width:100%;padding:12px 16px}
body header .wordmark img{display:block;width:100%;height:auto}
@media(max-width:760px){body header[data-nav-enhanced=true] .wordmark{width:min(100%,250px)}}
