/* TDNSC v21 • Combined 2026-10-19 edition • visual refresh only.
   All study content, checkout status and underlying tools remain from v20. */
:root{--v21-navy:#09295c;--v21-blue:#248feb;--v21-sky:#65baff;--v21-ice:#e6f6ff;--v21-line:#cfe8fc}
html{scroll-behavior:smooth}html,body{background:#fff!important;color:var(--v21-navy)}
body{overflow-x:hidden}
/* Brand-first, generous white header and a working full-width nav. */
header.header{background:white!important;position:relative!important;border-bottom:1px solid #deedf8!important;box-shadow:0 3px 14px rgba(5,41,88,.025)!important}
header.header .header-inner{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;max-width:1250px!important;margin:0 auto!important;padding:9px 22px 5px!important;min-height:unset!important;position:relative!important;gap:5px!important}
header.header .brand{width:auto!important;max-width:100%!important;justify-content:center!important;align-self:center!important;padding:0!important;margin:0!important;background:#fff!important;box-shadow:none!important}
header.header .brand .brand-logo-crop{width:365px!important;max-width:80vw!important;height:auto!important;aspect-ratio:auto!important;overflow:visible!important;background:#fff!important;box-shadow:none!important;border:0!important}
header.header .tdnsc-brand-wordmark{display:block!important;width:100%!important;height:auto!important;max-height:135px!important;object-fit:contain!important;filter:none!important;box-shadow:none!important}
header.header .tdnsc-brand-name{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
header.header nav.main-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:clamp(11px,2.15vw,35px)!important;width:100%!important;min-width:0!important;margin:0!important;position:relative!important}
header.header .main-nav .nav-link{color:#173b67!important;font-size:clamp(.83rem,.95vw,.98rem)!important;font-weight:790!important;padding:12px 3px 11px!important;border-bottom:3px solid transparent!important;white-space:nowrap!important;text-decoration:none!important;line-height:1.15!important}
header.header .main-nav .nav-link:hover,header.header .main-nav .nav-link:focus-visible,header.header .main-nav .nav-link.active{border-bottom-color:#38a8f8!important;color:#1265ab!important}
header.header .account-link{position:absolute!important;right:18px!important;bottom:9px!important;z-index:2!important;border:1px solid #8acbff!important;background:#e9f7ff!important;color:#075bad!important;border-radius:999px!important;font-size:.83rem!important;padding:9px 13px!important;font-weight:820!important;box-shadow:none!important}
.tdnsc-level3-banner{background:#2386dd!important;color:#fff!important;padding:9px 14px!important;font-size:clamp(.88rem,1.13vw,1.02rem)!important;font-weight:750!important;letter-spacing:.02em!important}
#home.student-home{max-width:1210px!important;width:calc(100% - 28px)!important;margin:0 auto!important}
/* Screenshot-inspired hero: icy blue shapes, large clear typography and a reserved founder portrait space. */
#home .welcome-panel.v21-hero{display:grid!important;grid-template-columns:1.08fr .92fr!important;align-items:center!important;gap:clamp(18px,3.2vw,46px)!important;max-width:1200px!important;margin:25px auto 28px!important;padding:clamp(28px,4vw,58px)!important;min-height:505px!important;border:1px solid #cceafb!important;border-radius:32px!important;overflow:hidden!important;background:radial-gradient(ellipse at 98% 5%,#c9edff 0,#ebf8ff 28%,transparent 55%),linear-gradient(118deg,#e5f5ff 0%,#f9fdff 53%,#eff9ff 100%)!important;box-shadow:0 14px 35px rgba(16,93,163,.07)!important;position:relative!important}
#home .welcome-panel.v21-hero::before{content:"";position:absolute;width:210px;height:210px;background:#d4f0ff;border-radius:50%;left:-106px;top:-110px;opacity:.65;pointer-events:none}
#home .v21-hero-copy{position:relative;z-index:1;min-width:0}
#home .v21-hero h1{color:#0b2d62!important;font-size:clamp(3.05rem,5.4vw,5.5rem)!important;letter-spacing:-.062em!important;line-height:1.01!important;margin:0 0 23px!important;font-weight:930!important;text-wrap:balance}
#home .v21-hero h1 span{color:#339eea!important;display:inline-block}
#home .v21-hero-punch{font-size:clamp(1.17rem,1.72vw,1.57rem)!important;line-height:1.37!important;margin:0 0 12px!important;font-weight:850!important;color:#174979!important}
#home .v21-hero-punch strong{font-weight:900!important;color:#0a2b5c!important}
#home .v21-hero-intro{color:#2e567c!important;font-size:clamp(.96rem,1.23vw,1.08rem)!important;font-weight:560!important;line-height:1.62!important;max-width:570px!important;margin:0 0 25px!important}
#home .v21-hero .welcome-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:16px!important;margin:0!important}
#home .v21-hero .welcome-cta-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:auto!important;min-height:57px!important;padding:14px 24px!important;color:#fff!important;background:linear-gradient(110deg,#157fdb,#35a5f6)!important;border:2px solid white!important;border-radius:999px!important;box-shadow:0 6px 0 #adddff,0 11px 22px rgba(19,115,209,.13)!important;font-weight:870!important;font-size:1.03rem!important}
#home .v21-secondary-link{color:#1267af!important;text-decoration:underline!important;text-underline-offset:3px!important;font-weight:780!important;font-size:.95rem!important}
#home .v21-hero-benefits{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:29px;color:#1d527e;font-size:.81rem;font-weight:760}
#home .v21-hero-benefits span{white-space:nowrap}
#home .v21-hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:410px;isolation:isolate}
#home .v21-hero-shape{position:absolute;inset:12px 10px 0 0;border-radius:51% 49% 37% 33% / 45% 40% 30% 34%;background:linear-gradient(155deg,#c9eafa,#ddf4ff 65%,#c6e9fc);transform:rotate(-3deg);z-index:-1;border:8px solid #fff9}
#home .v21-photo-slot{position:relative;width:min(100%,345px);height:340px;border-radius:46% 46% 31% 31%;border:8px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;overflow:hidden;background:linear-gradient(145deg,#e6f7ff,#fafdff 85%);box-shadow:0 19px 38px rgba(12,77,137,.09)}
#home .v21-photo-slot img{max-width:55%!important;max-height:57%!important;object-fit:contain!important;filter:drop-shadow(0 8px 9px rgba(54,136,191,.12));opacity:.88}
#home .v21-photo-note{font-size:1.2rem;line-height:1.14;text-align:center;color:#1c5b96;font-weight:700}
#home .v21-photo-note strong{font-size:1.37rem;font-weight:920;color:#0a3976}
#home .v21-handwritten{position:absolute;right:-6px;top:5%;transform:rotate(9deg);font-size:1.17rem;line-height:1.38;color:#1e82d1;font-family:cursive;font-weight:700;text-align:center}
#home .v21-sticker-heart{position:absolute;left:0;bottom:8%;font-size:3rem;color:#399cdd;line-height:1}
#home .v21-sticker-sparkle{position:absolute;left:6%;top:5%;font-size:2.6rem;color:#168ee4}
/* Seven working revision routes, in the airy pastel tile treatment shown in the example. */
#home .revision-menu{max-width:1200px!important;margin:0 auto 25px!important}
#home .revision-menu-header{text-align:center!important;margin:0 0 24px!important}
#home .revision-menu-header h2{font-size:clamp(1.85rem,2.7vw,2.6rem)!important;line-height:1.15!important;letter-spacing:-.042em!important;margin-bottom:7px!important;color:#0b326a!important}
#home .revision-menu-header h2 span{color:#269fed}
#home .revision-menu-header p{display:block!important;font-size:.99rem!important;font-weight:560!important;line-height:1.5!important;margin:0!important;color:#456d90!important}
#home .revision-menu-list{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:12px!important}
#home .revision-menu-list>.revision-menu-button{grid-column:span 3;display:flex!important;flex-direction:row!important;min-width:0;min-height:133px!important;align-items:center!important;gap:13px!important;padding:18px 15px!important;border-radius:22px!important;background:#e0f2ff!important;border:1px solid #cde9ff!important;box-shadow:none!important;transition:transform .15s ease,box-shadow .15s ease!important}
#home .revision-menu-list>.revision-menu-button:nth-child(n+5){grid-column:span 4}
#home .revision-menu-list>.revision-menu-button:nth-child(2){background:#e1f8ef!important;border-color:#cff0e3!important}
#home .revision-menu-list>.revision-menu-button:nth-child(3){background:#eeebff!important;border-color:#e2ddff!important}
#home .revision-menu-list>.revision-menu-button:nth-child(4){background:#ffebf4!important;border-color:#f8dce9!important}
#home .revision-menu-list>.revision-menu-button:nth-child(5){background:#e8f3ff!important;border-color:#d8eaff!important}
#home .revision-menu-list>.revision-menu-button:nth-child(6){background:#daf6f7!important;border-color:#c9eff2!important}
#home .revision-menu-list>.revision-menu-button:nth-child(7){background:#e2f3ff!important;border-color:#cce9fc!important}
#home .revision-menu-list>.revision-menu-button:hover{transform:translateY(-3px)!important;box-shadow:0 9px 16px rgba(36,102,169,.10)!important}
#home .revision-menu-icon{width:56px!important;height:56px!important;flex:0 0 56px!important;background:#fff9!important;color:#0a5493!important;border:1px solid #d0eafb!important;border-radius:18px!important;display:grid!important;place-items:center!important;box-shadow:none!important}
#home .revision-menu-icon svg{width:34px!important;height:34px!important;stroke-width:1.8px}
#home .revision-menu-copy{min-width:0!important;flex:1!important;gap:7px!important}
#home .revision-menu-copy strong{font-size:clamp(.76rem,1vw,.94rem)!important;line-height:1.26!important;color:#082b59!important;font-weight:900!important;letter-spacing:.005em!important}
#home .revision-menu-copy small{color:#3e668b!important;font-weight:650!important;font-size:clamp(.65rem,.78vw,.78rem)!important;line-height:1.3!important}
#home .revision-menu-arrow{display:grid!important;place-items:center!important;border-radius:999px!important;width:27px!important;height:27px!important;min-width:27px!important;background:#2c9bef!important;color:#fff!important;font-size:1.12rem!important;box-shadow:none!important}
#home .revision-menu-note{text-align:center!important;font-size:.77rem!important;padding:14px 2px!important;color:#496e8e!important}
/* Friendly support strip adds the requested bottom-third of the reference layout. */
#home .v21-support{position:relative;overflow:hidden;margin:26px auto 30px;padding:34px 36px 39px;border:1px solid #d6edfc;border-radius:27px;background:radial-gradient(circle at 100% 0%,#e7f7ff 0,transparent 36%),linear-gradient(115deg,#f1faff,#fff 46%,#eff9ff);max-width:1200px!important}
#home .v21-support-annotation{position:absolute;left:27px;top:38px;font-size:1.2rem;font-family:cursive;color:#248ce0;line-height:1.18;transform:rotate(-10deg);text-align:center}
#home .v21-support-intro{max-width:650px;margin:0 auto 30px;text-align:center}
#home .v21-support-kicker{font-size:.77rem;font-weight:880;letter-spacing:.08em;color:#1981ca}
#home .v21-support h2{font-size:clamp(1.7rem,2.5vw,2.6rem)!important;line-height:1.1!important;color:#082e66!important;letter-spacing:-.035em!important;margin:11px auto 15px!important}
#home .v21-support h2 span{color:#309eec}
#home .v21-support p{color:#416684;line-height:1.62;font-size:.95rem;margin:0!important}
#home .v21-support-values{display:grid;grid-template-columns:repeat(3,1fr);max-width:830px;margin:0 auto;gap:14px}
#home .v21-support-values>div{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:4px 16px;border-right:1px solid #cee4f4}
#home .v21-support-values>div:last-child{border-right:0}
#home .v21-value-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#ccecff;color:#136dc0;font-size:2rem;line-height:1}
#home .v21-support-values>div:nth-child(2) .v21-value-icon{background:#e7ddff;color:#7352c3}
#home .v21-support-values>div:nth-child(3) .v21-value-icon{background:#d8f4ec;color:#198f76}
#home .v21-support-values strong{font-size:1.06rem;color:#092e62;font-weight:890}
#home .v21-support-values small{font-size:.83rem;line-height:1.38;color:#4a6b89}
#home .v21-support-note{position:absolute;right:30px;top:35px;transform:rotate(7deg);font-family:cursive;font-size:1rem;line-height:1.2;color:#2885c1;text-align:center}
/* Extended content is still present, and accessed in the existing disclosure. */
#home .v19-more-details{max-width:1180px!important;margin:12px auto 45px!important}
/* Adequate focus states and reduced motion. */
#home a:focus-visible,header a:focus-visible{outline:3px solid #176ec1!important;outline-offset:4px!important}
@media (max-width:1200px){header.header .account-link{position:static!important;align-self:center!important;display:none!important}header.header .main-nav{gap:19px!important}}
@media (max-width:840px){
 header.header .header-inner{padding:8px 15px 6px!important;gap:6px!important}
 header.header .brand .brand-logo-crop{width:295px!important}
 header.header .main-nav{overflow-x:auto!important;justify-content:flex-start!important;max-width:100%!important;gap:20px!important;scrollbar-width:thin}
 header.header .main-nav .nav-link{font-size:.85rem!important;padding:9px 4px 11px!important}
 #home .welcome-panel.v21-hero{gap:5px!important;grid-template-columns:1fr!important;margin:16px auto 24px!important;padding:26px clamp(18px,5vw,35px) 18px!important;min-height:unset!important;border-radius:25px!important}
 #home .v21-hero h1{font-size:clamp(2.7rem,8.1vw,4.7rem)!important;line-height:1.04!important;margin-bottom:16px!important}
 #home .v21-hero-copy{max-width:650px}
 #home .v21-hero-art{min-height:245px!important;max-width:390px;margin:18px auto 0;width:100%}
 #home .v21-photo-slot{height:225px!important;width:270px!important;border-width:6px}
 #home .v21-photo-slot img{max-width:45%!important;max-height:47%!important}
 #home .v21-handwritten{font-size:.95rem;right:-8px;top:15px}
 #home .revision-menu-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 #home .revision-menu-list>.revision-menu-button,#home .revision-menu-list>.revision-menu-button:nth-child(n+5){grid-column:span 1!important;min-height:119px!important;gap:9px!important;flex-wrap:wrap!important}
 #home .revision-menu-list>.revision-menu-button:last-child{grid-column:span 2!important}
 #home .revision-menu-icon{height:44px!important;width:44px!important;flex:0 0 44px!important;border-radius:13px!important}
 #home .revision-menu-icon svg{width:26px!important;height:26px!important}
 #home .revision-menu-arrow{margin-left:auto!important}
 #home .revision-menu-copy{flex-basis:100%!important;order:2!important}
 #home .v21-support-annotation,#home .v21-support-note{display:none}
 #home .v21-support{padding:28px 17px!important}
}
@media (max-width:480px){
 header.header .brand .brand-logo-crop{width:257px!important;max-width:77vw!important}
 header.header .main-nav{gap:14px!important}
 .tdnsc-level3-banner{padding:9px 12px!important;font-size:.84rem!important}
 #home.student-home{width:calc(100% - 20px)!important}
 #home .welcome-panel.v21-hero{padding:24px 18px 15px!important;margin:11px auto 23px!important}
 #home .v21-hero h1{font-size:clamp(2.4rem,10.6vw,3.55rem)!important;letter-spacing:-.052em!important}
 #home .v21-hero-punch{font-size:1.10rem!important}
 #home .v21-hero-intro{font-size:.91rem!important;line-height:1.58!important}
 #home .v21-hero .welcome-actions{gap:15px!important;align-items:flex-start!important}
 #home .v21-hero .welcome-cta-primary{min-height:52px!important;padding:12px 17px!important;font-size:.94rem!important}
 #home .v21-hero-benefits{font-size:.68rem;gap:10px;margin-top:22px}
 #home .v21-hero-art{min-height:235px!important}
 #home .v21-photo-slot{width:244px!important;height:225px!important}
 #home .v21-handwritten{right:-5px;font-size:.86rem}
 #home .revision-menu-header{margin-bottom:17px!important}
 #home .revision-menu-header h2{font-size:1.9rem!important}
 #home .revision-menu-header p{font-size:.84rem!important}
 #home .revision-menu-list>.revision-menu-button,#home .revision-menu-list>.revision-menu-button:nth-child(n+5){min-height:133px!important;padding:13px!important;border-radius:18px!important}
 #home .revision-menu-copy strong{font-size:.84rem!important;line-height:1.22!important}
 #home .revision-menu-copy small{font-size:.7rem!important}
 #home .revision-menu-icon{width:44px!important;height:44px!important;flex:0 0 44px!important}
 #home .revision-menu-arrow{width:25px!important;height:25px!important;min-width:25px!important;font-size:1rem!important}
 #home .v21-support{margin-top:22px!important;padding:25px 14px!important}
 #home .v21-support h2{font-size:1.7rem!important}
 #home .v21-support-values{grid-template-columns:1fr!important;gap:12px!important}
 #home .v21-support-values>div{border-right:0!important;border-bottom:1px solid #dbe9f6!important;padding:8px 22px 15px!important}
 #home .v21-support-values>div:last-child{border-bottom:0!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#home .revision-menu-list>.revision-menu-button{transition:none!important}}
/* small polish: prevent inherited filled-pill menu backgrounds and saturated icon tiles */
header.header .main-nav .nav-link{background:transparent!important;box-shadow:none!important;border-radius:0!important}
header.header .main-nav .nav-link.active{background:transparent!important;color:#0b6dbf!important}
#home .revision-menu-list>.revision-menu-button .revision-menu-icon{background:rgba(255,255,255,.87)!important;color:#105a95!important}
#home .revision-menu-list>.revision-menu-button .revision-menu-icon svg{stroke:currentColor!important}
#home .v21-existing-access{display:inline-flex;align-items:center;color:#0b67b4;text-decoration:underline;text-underline-offset:3px;font-weight:800;margin-top:12px}
@media(max-width:840px){header.header nav.main-nav{flex-wrap:nowrap!important;justify-content:flex-start!important;white-space:nowrap!important;overflow-x:auto!important}.header .main-nav .nav-link{flex:0 0 auto!important}}
