/* TDNSC / v7 · Modern, mobile-first study dashboard, no changes to protected resource functions. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root {--display:'Outfit','Cabin',system-ui,sans-serif;--font:'DM Sans','Clear Sans',system-ui,sans-serif;--v7-ink:#122547;--v7-blue:#235cdb;--v7-blue2:#3979f8;--v7-soft:#eaf1ff;--v7-line:#e0e7f2;--v7-muted:#536784;}
html{scroll-padding-top:95px}
body{background:#f8faff;color:var(--v7-ink);font-family:var(--font);font-size:17px;line-height:1.5}
.header{background:#fffffff2;box-shadow:none;border-bottom:1px solid #e5ebf5;backdrop-filter:blur(12px)}
.header-inner{max-width:1280px;min-height:78px;gap:20px;padding-inline:25px}
.header .brand-logo-crop{width:186px;max-width:45vw}
.header .tdnsc-brand-name{display:none}
.header .main-nav{gap:2px}.header .nav-link{font:650 .84rem var(--font);color:#516781;border-radius:10px;padding:10px 12px;min-height:40px}
.header .nav-link.active{background:#ecf3ff;color:#2555b6}
.header .account-link{font:700 .82rem var(--font);background:#f0f4fa;border:1px solid #e5ebf5;border-radius:12px;color:#355273;padding:10px 14px;min-height:42px;box-shadow:none}
main{max-width:1280px;padding:32px 25px 80px}
.hero.student-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(24px,4.5vw,65px);align-items:center;min-height:650px;padding:clamp(38px,6vw,78px);margin:0;border:0;border-radius:28px;background:linear-gradient(117deg,#f1f6ff 0%,#eaf2ff 57%,#deebff 100%);box-shadow:none;overflow:hidden;position:relative}
.hero.student-hero:before{content:'';position:absolute;width:560px;height:560px;border:1px solid #afcbfa70;border-radius:100%;right:-320px;top:-290px;pointer-events:none;font-size:0}
.hero.student-hero:after{content:'';position:absolute;width:420px;height:420px;border:1px solid #b2cef880;border-radius:100%;right:-230px;top:-225px;pointer-events:none}
.student-hero .hero-copy{max-width:650px;position:relative;z-index:2}
.v7-overline{display:inline-flex;align-items:center;gap:9px;font:750 .72rem var(--font);letter-spacing:.1em;color:#3468b5;margin-bottom:26px}
.v7-overline-dot{display:block;height:8px;width:8px;border-radius:100%;background:#3876e8;box-shadow:0 0 0 4px #d7e6ff}
.v7-overline-star{color:#ffad7f;margin-left:3px;font-size:1rem}
.student-hero h1{font:800 clamp(3.1rem,5.8vw,5.9rem)/1.035 var(--display);letter-spacing:-.058em;color:#122951;margin:0 0 23px!important;text-transform:none}
.student-hero h1 em{font-style:normal;background:linear-gradient(90deg,#255ed7,#5587f4);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;padding-right:.055em}
.student-hero .intro{max-width:41ch;color:#506885;font:500 clamp(1.03rem,1.4vw,1.2rem)/1.55 var(--font);margin:0 0 30px}
.student-hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.student-hero .actions .btn{font:700 .96rem/1.2 var(--font);min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 21px;border-radius:14px;box-shadow:none;white-space:normal;letter-spacing:-.02em}
.student-hero .actions .primary{background:var(--v7-blue);border:2px solid var(--v7-blue);color:white}
.student-hero .actions .primary:hover{background:#1b49b4;border-color:#1b49b4;color:#fff}
.v7-btn-arrow{font-size:1.2rem}
.student-hero .actions .secondary{color:#2a4c7d;border:1.5px solid #c7d5e9;background:#fff;box-shadow:none}
.student-hero .actions .secondary:hover{background:#f8fbff;border-color:#92acd6}
.v7-hero-footnote{margin-top:23px;color:#6c7f97;font:600 .82rem var(--font)}
.v7-tick{display:inline-grid;place-items:center;background:#ccecdf;border-radius:50%;height:20px;width:20px;font-weight:800;color:#117655;margin-right:5px}
.v7-dotsep{color:#a1b2c7}
/* Real study interaction, laid out like an app instead of an angled paper card */
.student-hero .v7-preview-wrap{justify-self:stretch;align-self:center;width:100%;transform:none;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;margin:0;padding:27px;border:1px solid #dce5f7;background:#fff;border-radius:25px;box-shadow:0 25px 50px #3563aa15,0 2px 5px #3563aa05;position:relative;z-index:2}
.v7-preview-top{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.v7-preview-avatar{width:42px;height:42px;flex-shrink:0;background:#e4edff;color:var(--v7-blue);border-radius:13px;display:grid;place-items:center;font-size:1.4rem}
.v7-preview-top strong{display:block;font:800 .77rem var(--display);letter-spacing:.03em;color:#244366}
.v7-preview-top small{display:block;color:#8190a6;font:550 .79rem var(--font);margin-top:2px}
.v7-preview-menu{margin-left:auto;color:#98a9c0;font-size:1rem;letter-spacing:.15em}
.v7-preview-progress{display:flex;justify-content:space-between;color:#7688a1;font:700 .74rem var(--font)}
.v7-preview-bar{margin:8px 0 24px;height:7px;background:#e9eef8;border-radius:50px;overflow:hidden}
.v7-preview-bar span{display:block;width:20%;height:100%;background:#4085f5;border-radius:50px}
.v7-preview-label{font:750 .7rem var(--font);letter-spacing:.085em;color:#2874d8;margin-bottom:12px}
.v7-preview-wrap h2{color:#173355;font:750 clamp(1.7rem,2.75vw,2.5rem)/1.13 var(--display);letter-spacing:-.036em;margin:0 0 14px}
.v7-preview-hint{font:500 .91rem/1.5 var(--font);color:#73869f;margin:0 0 26px}
.v7-flip{border-radius:15px;background:#f2f6ff;border:1px solid #d9e5fa;color:#2153aa;margin-bottom:21px}
.v7-flip summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font:750 .88rem var(--font);padding:16px 18px;list-style:none}
.v7-flip summary::-webkit-details-marker{display:none}
.v7-flip summary span:last-child{font-size:1.15rem}
.v7-flip[open] summary{border-bottom:1px solid #dbe6f9}
.v7-flip p{padding:15px 18px;margin:0;color:#314f77;font:600 .91rem/1.5 var(--font)}
.v7-preview-bottom{display:flex;align-items:center;gap:5px;font:600 .78rem var(--font);color:#91a0b1;border-top:1px solid #e8edf6;padding-top:17px}
.v7-preview-bottom span{color:#5288d8;font-size:1.07rem;margin-right:5px}
.v7-preview-bottom a{margin-left:auto;color:#2a64cc;text-decoration:none;font-weight:750}
.student-proof{margin:0 0 66px;padding:20px 20px;background:#fff;gap:0;justify-content:center;border:1px solid #ebeff7;border-radius:0 0 22px 22px;display:flex;box-shadow:0 12px 25px #23477d06}
.student-proof span{padding:0 38px;display:flex;align-items:center;gap:12px;border-right:1px solid #e4eaf3;font:500 .85rem var(--font);color:#6d7f94}
.student-proof span:last-child{border:0}
.student-proof strong{font:800 1.5rem var(--display);letter-spacing:-.05em;color:#255ed7;white-space:nowrap}
.student-proof small{font:600 .83rem var(--font);color:#5e728a}
/* App-like browse cards */
.student-home .section-intro{max-width:none;margin:0 0 22px}.student-home .eyebrow{font:750 .71rem var(--font);letter-spacing:.09em;color:#527cbb}
.student-home .section-intro h2{font:760 clamp(2.2rem,3.8vw,3.2rem)/1.06 var(--display);letter-spacing:-.05em;margin:12px 0;color:#172f53}
.student-home .section-intro h2 em{font-style:normal;color:#2c69e1}
.student-home .section-intro p:last-child{font:500 1rem/1.5 var(--font);color:#6c7f98}
.student-home .start-section{margin-bottom:80px}
.student-home .path-cards{gap:15px;grid-template-columns:repeat(3,minmax(0,1fr))}
.student-home .path-card,.student-home .path-card:nth-child(2),.student-home .path-card:nth-child(3){background:#fff!important;border:1px solid #e5eaf3;border-radius:22px;min-height:280px;box-shadow:0 8px 28px #2b539008;padding:26px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}
.student-home .path-card:after{display:none}
.student-home .path-card:first-child{background:#205dd3!important;border-color:#205dd3}
.student-home .path-icon,.student-home .path-card:nth-child(3) .path-icon{background:#eaf1ff!important;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#2c65cc;font:750 1rem var(--display);margin:0 0 28px;box-shadow:none}
.student-home .path-card:first-child .path-icon{background:#fff3!important;color:#fff}
.student-home .path-tag{font:750 .68rem var(--font);letter-spacing:.07em;color:#7590b1}
.student-home .path-card h3{font:750 clamp(1.5rem,2.3vw,2.1rem)/1.14 var(--display);letter-spacing:-.04em;color:#1e375c;margin:10px 0 10px}
.student-home .path-card p{font:500 .95rem/1.5 var(--font);color:#657a93;margin:0 0 23px}
.student-home .path-cta{margin-top:auto;padding:16px 0 0;width:100%;border-top:1px solid #e3eaf2;font:750 .86rem var(--font);color:#2a5fbf}
.student-home .path-cta b{background:#eef4ff;border-radius:12px;width:36px;height:36px}
.student-home .path-card:first-child h3,.student-home .path-card:first-child p,.student-home .path-card:first-child .path-tag,.student-home .path-card:first-child .path-cta{color:#fff}
.student-home .path-card:first-child .path-tag{color:#c9dcff}
.student-home .path-card:first-child .path-cta{border-color:#6190ed}
.student-home .path-card:first-child .path-cta b{background:#ffffff24;color:#fff}
.student-home .path-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px #2b53901b}
/* Bring the rest of the site into the same visual system without removing features */
.student-home .student-toolkit{background:#eff4fd;border-radius:26px;padding:38px;gap:35px;margin-bottom:70px;grid-template-columns:.95fr 1.05fr;border:1px solid #e4ebf8}
.student-toolkit .quick-section-copy h2,.offers-heading h2{font:750 clamp(2rem,3.2vw,3rem)/1.07 var(--display);letter-spacing:-.045em;color:#173355}
.student-toolkit .quick-section-copy h2 em{color:#326ce0}
.student-toolkit .quick-section-copy p{font:500 .98rem/1.6 var(--font);color:#60748b}
.study-note{background:#e0eaff;color:#4a6492;font:600 .84rem var(--font);border-radius:14px;box-shadow:none}
.student-toolkit .quick-links a,.student-toolkit .quick-links a:nth-child(2),.student-toolkit .quick-links a:nth-child(3){background:#fff;border:1px solid #e2e8f3;box-shadow:none;border-radius:17px;min-height:82px;padding:15px}
.student-toolkit .quick-icon{background:#edf3ff;border-radius:12px;font-size:1.4rem;width:48px;height:48px}
.student-toolkit .quick-links strong{font:750 1.1rem var(--display)}.student-toolkit .quick-links small{font:500 .83rem var(--font)}
.student-offers{background:#fff;padding:0;margin:0 0 70px;border:0;border-radius:0;overflow:visible}
.student-offers:before{display:none}.offers-heading h2{max-width:730px}
.offers-heading p{font:500 1rem var(--font);color:#697b93}
.offer-cards{gap:16px}.offer-card,.offer-card.paid-offer{background:#fff;border-radius:23px;border:1px solid #e5eaf4;box-shadow:none;padding:28px}
.offer-card.free-offer{background:#f0f5ff;border-color:#dce7fc}
.offer-stamp{color:#4777ca;font:750 .7rem var(--font)}.offer-card h3{font:760 1.65rem var(--display)}.offer-card p{font:500 .98rem/1.5 var(--font)}
.offer-tail strong{font:800 1.55rem var(--display)}.offer-tail a{background:#e1ecff;font:750 .84rem var(--font);color:#2155ae;border-radius:12px}
.student-home .rewards-teaser{background:#e9ecff;border:1px solid #dfe5fa;border-radius:25px;box-shadow:none}.student-home .rewards-teaser-icon{border-radius:14px}.student-home .rewards-teaser h2{font:750 2rem var(--display)}.student-home .rewards-teaser p{font:500 .95rem var(--font)}
.student-home .calm-strip{background:#1d3260;border-radius:22px}.student-home .calm-strip h2{font:750 2rem var(--display)}.student-home .calm-strip p{font:500 1rem var(--font)}
.student-home .existing-learner{border:1px solid #e4eaf2;border-radius:22px;box-shadow:none}.student-home .about h2{font:750 2.2rem var(--display)}
.footer{font:500 .8rem var(--font)}
/* Other app pages; modern nav / typography without touching behaviour */
.page:not(.student-home) .heading h1,.rewards-page h1{font-family:var(--display);font-weight:750;letter-spacing:-.05em}
.page:not(.student-home) .activity,.rewards-card,.page:not(.student-home) .product,.page:not(.student-home) .route{border-radius:18px;box-shadow:none;border-color:#e2e9f4}
.rewards-hero{background:linear-gradient(125deg,#ecf2ff,#e6edff);border:1px solid #dae5f8;border-radius:25px}
.rewards-card:nth-child(2),.rewards-card:nth-child(3){background:#fff}
/* responsive: real thumb-friendly homepage, no clipped type, cards in one column */
@media(max-width:1060px){.header .main-nav{gap:0}.header .nav-link{padding:8px}.hero.student-hero{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);padding:42px;min-height:570px;gap:25px}.student-hero h1{font-size:clamp(3rem,5.7vw,5rem)}.student-hero .v7-preview-wrap{padding:22px}.student-hero .actions .btn{font-size:.88rem;padding:14px 17px}}
@media(max-width:760px){
  body{font-size:16px}.header-inner{padding:11px 17px;min-height:72px}.header .brand-logo-crop{width:178px;max-width:58vw}.header .account-link{font-size:.73rem;padding:10px 11px;min-height:38px}
  main{padding:16px 13px 74px}
  .hero.student-hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:34px 24px 25px;min-height:0;border-radius:23px;overflow:hidden;background:linear-gradient(135deg,#eff5ff 0%,#eaf2ff 80%,#e5eeff 100%)}
  .v7-overline{font-size:.65rem;letter-spacing:.06em;margin-bottom:24px}
  .student-hero h1{font-size:clamp(2.75rem,10.15vw,4.5rem);line-height:1.025;letter-spacing:-.057em;margin-bottom:19px!important}
  .student-hero .intro{font-size:.96rem;margin-bottom:25px;max-width:34ch}
  .student-hero .actions{display:flex;flex-direction:column;gap:9px}
  .student-hero .actions .btn{width:100%;min-height:54px;font-size:.96rem;border-radius:13px;justify-content:center}
  .v7-hero-footnote{font-size:.76rem;margin-top:18px}
  .student-hero .v7-preview-wrap{display:flex;width:100%;padding:23px 20px;transform:none;box-shadow:0 10px 22px #1c4f9c15;border-radius:20px}
  .v7-preview-top{margin-bottom:22px}.v7-preview-bar{margin-bottom:20px}.v7-preview-wrap h2{font-size:1.75rem}
  .student-proof{border-radius:0 0 17px 17px;margin:0 0 55px;padding:16px 5px;gap:0}
  .student-proof span{padding:0 10px;display:flex;flex-direction:column;gap:2px;flex:1;text-align:center}
  .student-proof strong{font-size:1.32rem}.student-proof small{font-size:.68rem;line-height:1.25}
  .student-home .section-intro h2{font-size:2.3rem}
  .student-home .path-cards{grid-template-columns:1fr;gap:11px}
  .student-home .path-card,.student-home .path-card:nth-child(2),.student-home .path-card:nth-child(3){padding:21px;min-height:0;display:grid;grid-template-columns:48px 1fr;column-gap:13px;border-radius:19px}
  .student-home .path-icon{grid-column:1;grid-row:1/4;margin:0}
  .student-home .path-tag{grid-column:2;grid-row:1;margin:0}
  .student-home .path-card h3{grid-column:2;grid-row:2;font-size:1.42rem;margin:5px 0}
  .student-home .path-card p{grid-column:2;grid-row:3;margin:0;font-size:.87rem;line-height:1.38}
  .student-home .path-cta{grid-column:1/3;grid-row:4;margin-top:12px;padding-top:10px;font-size:.84rem}
  .student-home .start-section{margin-bottom:45px}
  .student-home .student-toolkit{padding:27px 20px;border-radius:21px;grid-template-columns:1fr;gap:16px;margin-bottom:55px}
  .student-home .student-toolkit h2{font-size:2.06rem}
  .student-offers{margin-bottom:50px}.student-home .rewards-teaser{padding:23px}.student-home .rewards-teaser h2{font-size:1.7rem}
  .student-home .calm-strip{border-radius:20px;padding:24px}.student-home .calm-strip h2{font-size:1.5rem}.student-home .existing-learner{border-radius:20px}
}
@media(max-width:375px){.header .brand-logo-crop{width:165px}.header .account-link{font-size:.7rem;padding:8px}.hero.student-hero{padding:30px 19px 24px}.student-hero h1{font-size:2.58rem}.student-proof span{padding:0 5px}.student-proof small{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){.student-home *{transition:none!important;transform:none!important}}
