/* Shared footer and course reading surfaces. The homepage stays dark. */
.site-footer{display:block;max-width:1140px;margin:30px auto 0;padding:32px 24px;color:#c7ccd5;background:#000;border-color:#343a44}.site-footer h2{font:clamp(23px,3vw,32px)/1.3 Georgia,serif;color:#f4f5f8;margin:0 0 22px;letter-spacing:-.3px}.site-footer .social-links{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 28px}.site-footer .social-links a{position:relative;width:42px;height:44px;min-height:44px;display:grid;place-items:center;padding:0;background:none;border:0;border-radius:0;color:#eef1f6;box-shadow:none;transition:transform .25s,color .25s,filter .25s}.site-footer .social-links svg{width:25px;height:25px;fill:currentColor}.site-footer .social-links a span{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,5px);padding:4px 7px;border-radius:6px;background:#e8edf5;color:#111722;font:11px/1.5 Arial,sans-serif;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s}.site-footer .social-links a:hover,.site-footer .social-links a:focus-visible{color:#fff;transform:translateY(-4px);filter:drop-shadow(0 0 8px #ffffff40)}.site-footer .social-links a:hover span,.site-footer .social-links a:focus-visible span{visibility:visible;opacity:1;transform:translate(-50%,0)}.footer-bottom{border-top:1px solid #343a44;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px}.footer-mark{color:#e0e5ed}.article-page{--learning-accent:#6f94c5;--surface:#253247;--surface-end:#1b2534;--panel-ink:#f4f6fa;--panel-copy:#d6dfeb;--field:#0c1420;--field-focus:#34465f;--surface-edge:#617289;--learning-shadow:#7091be20}.article-page.lights-on{--surface:#e7ebf1;--surface-end:#dbe2eb;--panel-ink:#17202e;--panel-copy:#303c4e;--field:#f4f6f9;--field-focus:#fff;--surface-edge:#a5b2c4;--learning-shadow:#60799425}.article-page .platinum-panel,.course-page .course-module,.article-page .video-card,.course-page .learning-loop>div{background:linear-gradient(140deg,var(--surface),var(--surface-end));border:1px solid var(--surface-edge);color:var(--panel-ink);box-shadow:0 12px 32px #0003,0 0 28px var(--learning-shadow),inset 0 1px 0 #ffffff15;transition:transform .3s,box-shadow .3s,background .3s}.article-page .platinum-panel:hover,.article-page .video-card:hover,.course-page .course-module:hover,.course-page .learning-loop>div:hover{transform:translateY(-4px);box-shadow:0 16px 35px #0004,0 0 36px var(--learning-shadow)}.article-page .platinum-panel:after{display:none}.article-page .platinum-panel h2,.article-page .platinum-panel label,.article-page .question legend,.article-page .primer dt,.course-page .course-module h4,.course-page .learning-loop strong,.article-page .video-card h3{color:var(--panel-ink)}.article-page .platinum-panel p,.article-page .platinum-panel .small,.article-page .primer dd,.article-page .video-card p,.course-page .course-module li,.course-page .learning-loop p,.article-page .panel-kicker{color:var(--panel-copy)}.course-page .module-index,.course-page .planned-tag{color:var(--panel-copy)}.course-page .planned-tag{border-color:var(--surface-edge)}.course-page .available-lesson,.article-page .video-card .watch-link{color:var(--panel-ink)}.article-page .notes textarea,.article-page .orientation-form textarea{background:var(--field);color:var(--panel-ink);border:1px solid var(--surface-edge);font:17px/1.7 Georgia,serif;transition:background .25s,box-shadow .25s}.article-page .notes textarea:focus,.article-page .orientation-form textarea:focus{background:var(--field-focus);box-shadow:0 0 0 4px var(--learning-shadow);outline:2px solid var(--learning-accent);outline-offset:2px}.article-page .orientation-form label{font:17px/1.7 Georgia,serif}.article-page .platinum-panel .outline{color:var(--panel-ink);border-color:var(--surface-edge)}.article-page .platinum-panel .platinum{color:#111621}.article-page .question{border-top-color:var(--surface-edge)}.article-page .question.correct .feedback{color:#71e4a2}.article-page .question.incorrect .feedback{color:#ffabb5}.article-page.lights-on .question.correct .feedback{color:#075324}.article-page.lights-on .question.incorrect .feedback{color:#8a1324}.article-page .watch-section>p,.article-page .watch-focus,.article-page .checkpoint-intro,.article-page .exercise>p,.course-page #curriculum>p{font:17px/1.85 Georgia,serif}.article-page .video-card .watch-focus{font:16px/1.8 Georgia,serif}.article-page .video-credit{font:14px/1.8 Georgia,serif;color:var(--copy)}.article-page .video-card .eyebrow{color:var(--panel-copy)}.article-page.lights-on .video-stage{background:radial-gradient(ellipse,#35465c,#121b29);color:white}.article-page.lights-on .course-outcome,.article-page.lights-on .course-outcome strong{color:var(--ink)}.course-page .course-navigation a.outline{color:var(--ink)}.course-navigation{margin:45px auto 0;padding-top:22px;border-top:1px solid var(--edge);max-width:920px}.course-page .learning-loop>div{cursor:default}.learning-reveal{animation:learning-rise .7s ease-out both}@keyframes learning-rise{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.learning-reveal{animation:none}.article-page .platinum-panel,.article-page .video-card,.course-page .course-module,.course-page .learning-loop>div{transition:none;transform:none!important}}@media(max-width:750px){.site-footer{margin:20px 20px 0;padding:28px 0}.site-footer .social-links{gap:12px}.footer-bottom{font-size:10px}.article-page .watch-section>p,.course-page #curriculum>p{font-size:16px}}

.article-page:not(.lights-on){--surface:color-mix(in srgb,var(--learning-accent) 20%,#263143);--surface-end:color-mix(in srgb,var(--learning-accent) 10%,#1b2534);--learning-shadow:color-mix(in srgb,var(--learning-accent) 20%,transparent)}.article-page .video-stage button span{font:14px/1.6 Georgia,serif}
.site-footer .social-links a:last-child span{left:auto;right:0;transform:translateY(5px)}.site-footer .social-links a:last-child:hover span,.site-footer .social-links a:last-child:focus-visible span{transform:translateY(0)}
.article-page .references-list a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
/* One full-width, compact footer for the whole site. */
.site-footer{width:100%;max-width:none;margin:30px 0 0;padding:24px max(20px,calc((100vw - 1240px)/2)) 22px!important;border-top:1px solid #343a44}.footer-inner{width:100%;max-width:1240px;margin:auto}.site-footer h2{font:clamp(19px,2.4vw,25px)/1.3 Georgia,serif;margin:0 0 17px}.site-footer .social-links{gap:12px;margin:0 0 15px;align-items:center}.site-footer .social-links a{width:36px;height:40px;min-height:40px}.site-footer .social-links svg{width:20px;height:20px}.site-footer .social-links a[aria-label$="Fiverr"] svg{width:29px;height:29px}.site-footer .social-links a span{background:#000;color:#fff;border:0;border-radius:0;padding:3px 5px;box-shadow:none;font-size:10px}.footer-bottom{padding-top:14px;font-size:10px;gap:12px}.footer-mark img{width:28px;height:28px}.footer-legal{display:flex;gap:10px 19px;flex-wrap:wrap;justify-content:flex-end;margin-top:15px;font:11px/1.7 Arial,sans-serif;color:#c1c8d3}.footer-legal a:hover{text-decoration:underline;color:white}.reader-actions,.course-actions,.note-tools{justify-content:flex-end}.orientation-form #download-plan{display:block;margin-left:auto}.video-card .watch-link{display:block;width:fit-content;margin-left:auto;text-align:right}.available-lesson{text-align:right}.related-heading{display:flex;gap:20px;justify-content:space-between;align-items:start;flex-wrap:wrap}.related-heading h2{margin-top:0}.related-links{margin-left:auto;display:flex;gap:10px 18px;justify-content:flex-end;flex-wrap:wrap;max-width:580px}.related-links p{margin:0;font:13px/1.8 Georgia,serif}.related-links a{display:inline-block;text-align:right}.related-learning>p{clear:both;margin-top:18px}.learning-goals,.practice-case{max-width:880px;margin:32px auto;padding:25px;border:1px solid var(--surface-edge);border-radius:18px;background:linear-gradient(125deg,var(--surface),var(--surface-end));color:var(--panel-ink);box-shadow:0 9px 25px var(--learning-shadow)}.learning-goals h2,.practice-case h2{font-size:27px;color:var(--panel-ink)}.learning-goals li,.practice-case p{font:16px/1.85 Georgia,serif;color:var(--panel-copy)}.learning-goals ul{padding-left:21px}.learning-goals li{margin:11px 0}.learning-map{display:block;width:100%;max-width:680px;height:auto;margin:24px auto;color:var(--panel-ink)}.learning-map .learning-pulse{stroke-dasharray:20 420;animation:learning-path 9s linear infinite}@keyframes learning-path{to{stroke-dashoffset:-440}}.practice-case summary{cursor:pointer;text-align:right;font:15px Georgia,serif;padding:10px;color:var(--panel-ink)}.project-review{margin-top:24px;border-top:1px solid var(--surface-edge);padding-top:18px}.project-review label{font:15px/1.7 Georgia,serif}.project-review select{display:block;margin:7px 0 16px auto;width:min(100%,380px);padding:10px;background:var(--field);color:var(--panel-ink);border:1px solid var(--surface-edge);border-radius:9px}.legal-copy{max-width:800px;margin:auto}.legal-copy p,.legal-copy li{font:17px/1.9 Georgia,serif;color:var(--copy)}.legal-copy h2{font-size:27px;margin-top:35px}.legal-copy a{color:var(--ink);text-decoration:underline}.portfolio-samples{display:grid;grid-template-columns:1fr 1fr;gap:15px}.portfolio-samples section{padding:20px;border:1px solid var(--edge);border-radius:15px}.portfolio-samples h3{color:var(--ink)}@media(max-width:750px){.site-footer{margin:24px 0 0!important}.site-footer .social-links{gap:9px}.footer-legal{justify-content:flex-end;gap:9px 15px}.related-heading{display:block}.related-links{justify-content:flex-end;margin-top:18px}.learning-goals,.practice-case{padding:20px}.portfolio-samples{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.learning-map .learning-pulse{animation:none}}
.course-actions .platinum{order:2}.course-actions .small{order:1}.article-page .question .check-select,.article-page #review-assessment{display:block;margin-left:auto}.teaching-link{margin-left:auto;color:#e0e5ed}.teaching-link:hover{text-decoration:underline}
.site-footer .social-links a{min-width:0!important;max-width:36px;flex:0 0 36px}.site-footer h2{margin-bottom:12px}.site-footer .social-links{margin-bottom:12px}.related-learning{max-width:1040px}.related-heading{flex-wrap:nowrap}.related-heading h2{font-size:28px;flex:0 0 auto}.related-links{flex:1;min-width:0}.project-review{border:0;border-top:1px solid var(--surface-edge);padding:18px 0 0;margin:24px 0 0;min-width:0}.project-review legend{font:18px Georgia,serif;color:var(--panel-ink)}
/* Compact universal footer: one logical row of word links. */
.site-footer h2{font-size:clamp(16px,1.5vw,20px);margin-bottom:10px}.site-footer .social-links{gap:8px;margin-bottom:16px}.site-footer .social-links a{width:28px!important;height:30px!important;min-height:30px!important;max-width:28px!important;flex:0 0 28px!important}.site-footer .social-links svg{width:16px;height:16px}.site-footer .social-links a:last-child svg{width:24px;height:24px}.footer-bottom{display:block!important;margin:0!important;padding:0!important}.footer-identity{display:block}.footer-copyright{margin:10px 0 16px;font-size:11px;line-height:1.5;color:#aaa}.footer-mark img{width:30px;height:30px}.footer-mark{font-size:13px}.footer-word-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px 17px;border-top:1px solid #ffffff16;padding-top:14px}.footer-word-links a,.footer-word-links button{font:11px/1.6 inherit;font-family:inherit;font-size:11px;line-height:1.6;color:#ccc;background:none;border:0;padding:3px 0;text-decoration:none;cursor:pointer;white-space:nowrap}.footer-word-links a:hover,.footer-word-links button:hover{color:#fff}.footer-word-links :focus-visible{outline:2px solid #ddd;outline-offset:5px}.footer-info-dialog{width:min(850px,calc(100vw - 28px));max-height:85dvh;border:1px solid #ffffff30;border-radius:18px;padding:0;background:#111722;color:#fff;--copy:#c9cdd5;--ink:#fff;box-shadow:0 24px 100px #000b;overflow:hidden}.footer-info-dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.footer-info-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #ffffff20;background:#111722}.footer-info-bar h2{font:17px Georgia,serif;margin:0}.footer-info-close{width:44px;height:44px;border:1px solid #ddd;border-radius:50%;color:#111;background:linear-gradient(135deg,#fff,#aab0b8,#fff);font-size:25px;cursor:pointer}.footer-info-body{max-height:calc(85dvh - 70px);overflow:auto;overscroll-behavior:contain;padding:20px 28px 30px}.footer-info-body .article-hero{padding:10px 0}.footer-info-body h1{font:clamp(28px,5vw,46px) Georgia,serif}.footer-info-body .deck,.footer-info-body p{color:var(--copy)}.footer-info-body a{color:#fff}.footer-info-body .reader-actions{margin-top:25px}.footer-info-body .legal-copy{width:100%}@media(max-width:600px){.footer-word-links{gap:8px 14px;justify-content:flex-start}.footer-info-body{padding:15px 18px 24px}.footer-info-body .portfolio-samples{grid-template-columns:1fr}}
/* Two-row footer: social left, company right, words below. */
.footer-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.footer-top-row .footer-social{flex:1}.footer-top-row .footer-bottom{flex:0 0 auto;text-align:right;border:0!important}.footer-top-row .footer-mark{justify-content:flex-end}.footer-top-row .footer-copyright{margin:8px 0 0}.footer-top-row .social-links{margin-bottom:0}.footer-word-links{border:0;padding-top:22px;justify-content:space-between;gap:8px 14px}.site-footer .footer-mark{border:0}.site-footer{padding-top:22px!important;padding-bottom:20px!important}.footer-info-body .service-card{min-width:0}@media(max-width:700px){.footer-top-row{gap:15px;flex-wrap:wrap}.footer-top-row .footer-social{flex-basis:100%}.footer-top-row .footer-bottom{margin-left:auto!important}.footer-word-links{justify-content:flex-start;padding-top:18px}.footer-top-row .footer-copyright{font-size:10px}}@media(min-width:701px){.footer-top-row .footer-social h2{margin-top:0}.footer-top-row .footer-identity{padding-top:2px}}
