/* TDNSC Version 21: second-reference styling + functional top nav, banner, login/signup destinations. */
:root{--v21-navy:#071b4d;--v21-blue:#087eff;--v21-border:#dce8f5;--v21-muted:#4c6687}
html,body{background:#fff!important;color:var(--v21-navy)}body{overflow-x:hidden}
.v21-header{background:#fff;position:relative;z-index:12;border-bottom:1px solid #d9e6f5;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;box-shadow:0 4px 21px rgba(5,35,84,.022)}
.v21-header a{font:inherit;text-decoration:none}.v21-header *{box-sizing:border-box}
.v21-brand-row{min-height:122px;padding:14px 16px 12px;display:flex;justify-content:center;align-items:center}
.v21-brand{display:block;max-width:min(355px,80vw);width:100%;background:#fff!important;box-shadow:none!important}
.v21-brand img{display:block;width:100%;max-height:107px;height:auto;object-fit:contain;background:#fff!important;filter:none!important;mix-blend-mode:normal!important}
.v21-banner{display:flex;gap:12px;align-items:center;justify-content:center;background:linear-gradient(100deg,#0868e3 0%,#087eff 54%,#055cbf 100%);color:#fff;text-align:center;min-height:45px;padding:10px 18px;font-size:clamp(.86rem,1.46vw,1.06rem);font-weight:650;line-height:1.35;letter-spacing:.006em}
.v21-banner strong{font-weight:880;color:#fff}.v21-banner svg{width:21px;height:21px;flex:0 0 21px}
.v21-nav-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.v21-desktop-nav{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:72px}
.v21-nav-links,.v21-nav-actions{display:flex;align-items:center;gap:3px}.v21-nav-links>a,.v21-dropdown>summary{display:inline-flex;align-items:center;gap:6px;border:0;background:#fff;border-radius:11px;padding:12px 10px;color:#152f60;font-size:.87rem;font-weight:750;white-space:nowrap;cursor:pointer;line-height:1.2}.v21-dropdown{position:relative}.v21-dropdown>summary{list-style:none}.v21-dropdown>summary::-webkit-details-marker{display:none}
.v21-nav-links>a:hover,.v21-nav-links>a:focus-visible,.v21-dropdown[open]>summary,.v21-dropdown>summary:hover{background:#f0f7ff;color:#065fbe}
.v21-drop-menu{position:absolute;left:0;top:calc(100% + 6px);min-width:255px;background:#fff;border:1px solid var(--v21-border);border-radius:15px;box-shadow:0 12px 30px #061b4d21;padding:9px;display:grid;gap:2px;z-index:50}
.v21-drop-menu a{color:#112d5d!important;padding:12px 13px;border-radius:9px;font-size:.89rem;font-weight:700;background:#fff;line-height:1.25}
.v21-drop-menu a:hover{background:#edf6ff;color:#0064dd!important}
.v21-nav-actions{gap:9px}.v21-nav-actions>a,.v21-mobile-actions>a{font-size:.88rem;font-weight:800;text-decoration:none;border-radius:999px;white-space:nowrap;min-height:41px;display:inline-flex;align-items:center;justify-content:center;padding:10px 17px}
.v21-search{width:41px!important;padding:10px!important;color:#071b4d!important}.v21-search svg{width:24px;height:24px}
.v21-login,.v21-mobile-actions>a:first-child{border:1.5px solid #087eff!important;background:#fff!important;color:#0759b9!important}
.v21-signup{border:1.5px solid #087eff!important;background:#087eff!important;color:#fff!important;box-shadow:0 4px 11px #0078ff1c}
.v21-mobile-nav{display:none!important}
.v21-header a:focus-visible,.v21-header summary:focus-visible{outline:3px solid #087eff;outline-offset:3px}
/* Hero: calm white space, friendly mascot, strong hierarchy. */
#home .welcome-panel{max-width:1050px;margin:26px auto 42px!important;padding:clamp(20px,4vw,42px)!important;border:1px solid #deebf8!important;border-radius:28px!important;background:#fff!important;box-shadow:0 10px 40px #092a5b0b!important}
#home .v21-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:clamp(16px,3vw,30px);align-items:center}
#home .v21-hero-copy{max-width:670px;min-width:0}
#home .v21-hero-copy h1{font-size:clamp(2.6rem,5.2vw,4.4rem)!important;line-height:1.04!important;letter-spacing:-.049em!important;color:#071b4d!important;font-weight:900!important;margin:0 0 20px!important;text-wrap:balance}
#home .v21-hero-copy h1 em{font-style:normal;color:#087eff!important}
#home .v21-hero-lead{font-size:clamp(.98rem,1.7vw,1.13rem);line-height:1.55;color:#506986;margin:0 0 23px;max-width:420px}
#home .welcome-actions{display:flex;flex-wrap:wrap;gap:11px!important}
#home .welcome-cta{font-size:clamp(.84rem,1.2vw,.98rem)!important;min-height:57px!important;border-radius:14px!important;padding:15px 17px!important;white-space:normal}
#home .v21-hero-visual{position:relative;display:flex;align-items:center;justify-content:center;max-height:350px;min-width:0;padding:20px;background:radial-gradient(ellipse at 50% 57%,#e7f5ff 0,#fff 69%);border-radius:40%}
#home .v21-hero-visual>img{display:block;width:100%;max-width:240px;height:auto;mix-blend-mode:multiply;object-fit:contain}
#home .v21-doodle{position:absolute;line-height:1;font-size:36px;font-weight:900;color:#087eff}.v21-doodle-one{left:10%;top:10%}.v21-doodle-two{right:1%;bottom:13%}
/* Free exam prep is the main highlighted destination. */
#home .revision-menu{max-width:1040px!important;margin:0 auto 30px!important}
#home .revision-menu-header{text-align:left!important;margin-bottom:20px!important}
#home .revision-menu-header h2{font-size:clamp(1.45rem,2.7vw,1.95rem)!important}
#home .exam-prep-feature{background:#f3f9ff!important;border:1.5px solid #acd9ff!important;box-shadow:none!important;border-radius:20px!important;min-height:92px!important;padding:18px 23px!important}
#home .exam-prep-feature-icon{border-radius:17px!important;background:#087eff!important}
#home .revision-menu-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
#home .revision-menu-button{min-height:101px!important;padding:17px!important;gap:13px!important;border-radius:19px!important;border:1px solid #dce7f5!important;background:#fff!important;box-shadow:0 6px 19px rgba(13,53,114,.045)!important;text-decoration:none}
#home .revision-menu-button:last-child:nth-child(odd){grid-column:1/-1}
#home .revision-menu-icon{height:56px!important;width:56px!important;flex:0 0 56px!important;background:#edf6ff!important;color:#087eff!important}
#home .revision-menu-copy strong{font-size:clamp(.92rem,1.4vw,1.03rem)!important;line-height:1.28!important}
#home .revision-menu-copy small{font-size:clamp(.73rem,1.2vw,.82rem)!important;line-height:1.3!important}
#home .revision-menu-arrow{border-radius:100%;display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;background:#edf6ff;color:#087eff!important}
#home .revision-menu-button:hover{border-color:#7dbcff!important;transform:translateY(-2px)}
#home .v19-more-details{max-width:1040px!important}
/* Existing resource pages: universal nav above original back-link; no double-logo. */
body:has(>.v21-header) .wrap>.top .brand{display:none!important}
body:has(>.v21-header) .wrap>.top{justify-content:flex-end;min-height:25px}
body:has(>.v21-header) .wrap>.top .back{color:#0869cf;font-weight:800}
/* Newly built real destinations. */
.v21-content-page{max-width:970px;margin:0 auto;padding:29px 22px 90px;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;min-height:63vh}
.v21-content-page h1,.v21-content-page h2{color:#071b4d;letter-spacing:-.035em;line-height:1.17}.v21-breadcrumb{font-weight:750;color:#0871d7;text-decoration:none;font-size:.88rem}
.v21-page-heading{margin:24px 0}.v21-page-heading h1{font-size:clamp(2.1rem,5vw,3.55rem);margin:12px 0 0}
.v21-eyebrow{display:inline-block;color:#0876e8;font-size:.75rem;font-weight:850;letter-spacing:.09em}
.v21-surface{padding:clamp(22px,4.5vw,33px);border-radius:22px;border:1px solid var(--v21-border);background:#fff;box-shadow:0 12px 30px #092a5a0b}
.v21-surface h2{font-size:clamp(1.25rem,3vw,1.7rem);margin:6px 0 14px}.v21-surface p{color:#4f6888;line-height:1.68;max-width:760px}
.v21-surface a{color:#046dd8;font-weight:750}.v21-page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:19px}.v21-page-actions>a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:49px;border-radius:12px;padding:12px 20px;font-size:.93rem;font-weight:750}
.v21-action-primary{color:#fff!important;background:#087eff}.v21-action-secondary{color:#0b55aa!important;background:#fff;border:1.5px solid #7bb9f4}
.v21-info{padding:18px;border-left:4px solid #087eff;background:#f4faff;border-radius:12px;margin:20px 0}.v21-info p{margin:5px 0 0}
.v21-page-cards{display:grid;gap:16px}.v21-search-label{display:block;font-weight:800;margin-bottom:12px}.v21-search-input{width:100%;min-height:54px;border:2px solid #a6d0f6;border-radius:13px;padding:12px 16px;color:#071b4d;background:#fff;font:inherit;font-size:1rem}
.v21-search-results{list-style:none;margin:20px 0;padding:0;display:grid;gap:10px}.v21-search-results li[hidden]{display:none!important}
.v21-search-results li a{display:flex;align-items:center;gap:12px;padding:18px;text-decoration:none;border:1px solid #dce6f3;border-radius:13px;background:#fff;color:#071b4d;min-height:75px}
.v21-search-results li a strong{font-size:.95rem;min-width:180px}.v21-search-results li a span{color:#5c7090;flex:1;font-size:.85rem}.v21-search-results li a b{color:#087eff;font-size:1.3rem}
.v21-global-footer{max-width:1000px;margin:20px auto;padding:18px 24px 32px;border-top:1px solid #e1eaf4;color:#60728c;font-size:.79rem}
/* Responsive: calm, predictable hamburger and two account options. */
@media(max-width:1150px){.v21-nav-wrap{padding:0 14px}.v21-nav-links>a,.v21-dropdown>summary{padding:12px 8px;font-size:.82rem}.v21-nav-actions{gap:5px}.v21-nav-actions>a{padding:9px 13px}}
@media(max-width:920px){
 .v21-brand-row{min-height:97px;padding:11px 16px 8px}.v21-brand{max-width:min(270px,72vw)}.v21-brand img{max-height:85px}
 .v21-banner{min-height:48px;padding:10px 15px;font-size:.83rem}.v21-banner svg{width:18px;height:18px;flex-basis:18px}
 .v21-desktop-nav{display:none!important}.v21-mobile-nav{display:flex!important;align-items:center;justify-content:space-between;min-height:58px;gap:10px}
 .v21-nav-wrap{padding:0 15px}.v21-mobile-menu{position:relative}.v21-mobile-menu>summary{list-style:none;cursor:pointer;font-size:.89rem;color:#071b4d;font-weight:850;display:flex;align-items:center;gap:10px;padding:10px 7px;min-width:86px}
 .v21-mobile-menu>summary::-webkit-details-marker{display:none}.v21-mobile-menu>summary span{font-size:1.3rem;color:#087eff}
 .v21-mobile-links{position:absolute;top:calc(100% + 4px);left:-7px;width:min(290px,90vw);max-height:70vh;overflow-y:auto;background:#fff;border:1px solid #cfe0f2;border-radius:17px;box-shadow:0 13px 29px #061b4d2b;z-index:30;padding:9px;display:grid;gap:2px}
 .v21-mobile-links a{font-weight:700;padding:11px 12px;border-radius:10px;color:#112f60;font-size:.93rem}.v21-mobile-links a:hover{background:#eef7ff}
 .v21-mobile-actions{display:flex;gap:7px}.v21-mobile-actions>a{min-height:39px;padding:9px 13px;font-size:.81rem}
 #home .v21-hero-grid{grid-template-columns:1fr minmax(140px,.42fr);gap:5px}#home .v21-hero-visual>img{max-width:220px}
}
@media(max-width:650px){
 #home .welcome-panel{padding:25px 20px!important;margin:17px auto 31px!important}
 #home .v21-hero-grid{grid-template-columns:1fr;gap:3px}#home .v21-hero-visual{position:absolute;right:8px;top:8px;width:88px;opacity:.23;padding:5px;pointer-events:none}#home .v21-hero-visual>img{max-width:75px}
 #home .v21-doodle{display:none}#home .v21-hero-copy{position:relative;z-index:1}
 #home .v21-hero-copy h1{font-size:clamp(2.25rem,8.7vw,3.3rem)!important;margin-bottom:16px!important}
 #home .v21-hero-lead{font-size:.92rem;line-height:1.55;margin-bottom:22px}
 #home .welcome-actions{flex-direction:column}#home .welcome-cta{width:100%}
 #home .revision-menu-list{grid-template-columns:1fr!important}#home .revision-menu-button:last-child:nth-child(odd){grid-column:auto}
 #home .revision-menu-button{min-height:80px!important;padding:12px!important;border-radius:16px!important}#home .revision-menu-icon{height:49px!important;width:49px!important;flex-basis:49px!important}
 #home .exam-prep-feature{min-height:88px!important;padding:14px!important}
 .v21-search-results li a{flex-wrap:wrap}.v21-search-results li a strong{min-width:0}.v21-search-results li a span{flex-basis:100%}
 .v21-content-page{padding:23px 15px 70px}
}
@media(max-width:380px){.v21-mobile-actions>a{padding:8px 10px}.v21-banner{font-size:.79rem}}
@media(prefers-reduced-motion:reduce){.v21-header *,.v21-header *::before{animation:none!important;transition:none!important}}

/* Keep all resource icons legible regardless of older tile variants. */
#home .revision-menu-list .revision-menu-button .revision-menu-icon{background:#edf6ff!important;color:#087eff!important;}
#home .revision-menu-list .revision-menu-button .revision-menu-icon svg{color:#087eff!important;stroke:#087eff!important;}

/* TDNSC V22: compact text-only qualification banner and verified signed-in navigation */
.v21-banner{gap:0!important;letter-spacing:0.005em}
.v21-banner svg{display:none!important}
.v21-header .v22-my-revision[hidden],.v21-header .v21-login[hidden],.v21-header .v21-signup[hidden],.v21-header .v21-mobile-actions>a[hidden]{display:none!important}
.v21-header .v22-my-revision{border:1.5px solid #087eff!important;background:#087eff!important;color:#fff!important;border-radius:999px;box-shadow:0 4px 11px #0078ff1c}
.v21-header .v21-nav-actions>.v22-my-revision,.v21-header .v21-mobile-actions>.v22-my-revision{font-weight:800;text-decoration:none;font-size:.88rem;min-height:41px;display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;white-space:nowrap}
@media(max-width:920px){.v21-header .v21-mobile-actions>.v22-my-revision{font-size:.81rem;min-height:39px;padding:9px 13px}}
