/* Learner home: neutral interface, meaningful illustrations and a readable course map. */
.home{--bg:#f6f7f5;--surface:#fff;--ink:#303138;--body:#50525a;--muted:#686b73;--green:#af5a42;--line:#e0e2df;background:var(--bg);color:var(--body)}
.home .preview-bar{background:#eeefeb;color:#646760;font-size:var(--font-ui);padding:5px 16px}
.home .header{background:#fff;border-bottom:1px solid #e6e7e3}
.home .header-inner{max-width:1120px;padding:17px 40px}
.home .brand{color:var(--ink);font-size:16px;gap:12px;letter-spacing:.01em}.home .brand small{font-size:var(--font-ui);color:#666961;letter-spacing:.04em}
.home .brand-mark{width:34px;height:39px;border-radius:7px;background:#f8e9dc;color:#a95b43;flex:none}.home .brand-mark svg{width:21px;height:21px}
.home .desktop-nav{gap:28px;font-size:var(--font-ui)}.home .desktop-nav button{color:var(--body)}.home .desktop-nav>a:first-child{color:#a1513e;font-weight:700;text-decoration:underline;text-underline-offset:9px;text-decoration-thickness:2px}
.home .page{max-width:1120px;padding:24px 40px 0}
.home .page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;min-height:159px}
.home .heading-copy{flex:1;min-width:0}.home h1{font-family:inherit;font-size:32px;line-height:1.6;font-weight:650;letter-spacing:.005em;color:var(--ink)}
.home h1>span,.home .keep{display:inline-block}.home .welcome{font-size:var(--font-ui);line-height:1.9;margin-top:10px;color:#62656b}.home .welcome br{display:block}
.home .heading-art{position:relative;width:220px;height:174px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,#f4ebdb 0,#f4ebdb 52%,transparent 53%)}
.home .heading-art img{display:block;width:214px;height:214px;object-fit:contain;transform:translateY(-5px)}
.home .art-note{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;background:#fff;padding:5px 12px;color:#72644f;font-size:var(--font-ui);box-shadow:0 2px 5px #37312212;border:1px solid #ede8dd;border-radius:3px}
.home .resume{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;background:#fcf0e5;border:1px solid #efd6c2;border-left:4px solid #c77d55;border-radius:9px;padding:18px 23px;box-shadow:none}
.home .resume-kicker{font-size:var(--font-ui);letter-spacing:.03em;color:#976045;font-weight:600}.home .resume h2{font-size:18px;line-height:1.65;margin:5px 0 0;color:#473b33}
.home .resume .primary{background:#ad5b43;border-color:#ad5b43;color:#fff;padding:12px 19px;border-radius:6px;font-size:var(--font-ui);min-height:46px;flex:none}.home .resume .primary:hover{background:#934a36}
.home .journey{margin-top:27px;padding:18px 0 22px;border-bottom:1px solid #dedfd9}
.home .journey-heading{display:flex;align-items:center;gap:14px;margin-bottom:17px}.home .journey h2{font-size:var(--font-ui);line-height:1.6;font-weight:650}.home .journey-heading>span{font-size:var(--font-ui);color:#73756e}
.home .journey-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:19px}
.home .journey-steps li{display:flex;align-items:flex-start;gap:8px;position:relative}
.home .journey-steps li+li:before{content:'›';position:absolute;left:-15px;top:21px;font-size:20px;color:#a1a49c}
.home .step-number{display:grid;place-items:center;flex:none;width:26px;height:26px;background:#e9ede4;border-radius:50%;color:#5f6d51;font-size:var(--font-ui);font-weight:650;margin-top:2px}
.home .journey-steps li:nth-child(n+3) .step-number{background:#e7edf0;color:#5c7283}.home .journey-steps li:nth-child(n+5) .step-number{background:#f4e9dd;color:#987147}
.home .journey-steps small{font-size:var(--font-ui);color:#73766c;display:block;margin-bottom:4px}.home .journey-steps strong{font-size:var(--font-ui);line-height:1.6;display:block;color:#454943;font-weight:600}.home .journey-steps div>span{display:block;font-size:var(--font-ui);line-height:1.7;margin-top:4px;color:#6d7168}
.home .section{margin-top:29px;scroll-margin-top:24px}.home .section-title{margin-bottom:15px;gap:16px}.home .section h2{font-size:22px;line-height:1.6;font-weight:650;letter-spacing:.01em}
.home .progress-row{margin:0;gap:10px;font-size:var(--font-ui)}.home .progress-row strong{font-size:17px}.home .track{flex:none;width:80px;height:4px;background:#dfe3db}
.home .chapters{list-style:none;display:grid;gap:0;padding:0;margin:0;border:1px solid #e1e3dd;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 12px #28382405}
.home .chapters>li+li{border-top:1px solid #e8e9e3}
.home .chapter{display:flex;align-items:center;gap:24px;min-height:140px;padding:18px 24px;background:#fff;border:0;border-radius:0;box-shadow:none}
.home .chapter.ready{background:#fffdf8;border:0;box-shadow:inset 4px 0 #d29458}.home .chapter.ready:hover{background:#fff9ee}.home .chapter.ready:focus-visible{outline-offset:-4px}
.home .chapter-visual{display:flex;align-items:center;justify-content:center;width:158px;height:102px;flex:none;overflow:hidden;border-radius:8px;background:#f3f2eb}
.home .chapter-visual img{width:150px;height:150px;object-fit:contain;display:block;flex:none}
.home .visual-0{background:#eef2e7}.home .visual-1{background:#fff2d8}.home .visual-2{background:#eaf3f1}.home .visual-3{background:#eaf0f7}.home .visual-4{background:#f5eee5}.home .visual-5{background:#eef1f7}.home .visual-6{background:#f5efdc}
.home .visual-5 img,.home .visual-6 img{width:135px;height:96px}
.home .chapter-copy{min-width:0;flex:1}.home .chapter-meta{font-size:var(--font-ui);line-height:1.6;color:#73766f;margin:0 0 5px;gap:10px}
.home .status{font-size:var(--font-ui);line-height:1.5;border:0;border-radius:4px;padding:2px 7px;color:#6b6e68;background:#f0f1ed}.home .open-status{color:#8a602e;background:#f7ebcf}
.home .chapter h3{font-size:19px;line-height:1.6;font-weight:650;color:#32343a}.home .chapter p{font-size:var(--font-ui);line-height:1.85;margin-top:6px;color:#666972}
.home .chapter-arrow{display:grid;place-items:center;width:33px;height:33px;flex:none;border:1px solid #dac6a8;border-radius:50%;color:#ac743e}.home .chapter-arrow svg{width:17px;height:17px}
.home .small-note{font-size:var(--font-ui);line-height:1.9;color:#767971;margin-top:12px}
.home .resources{margin-top:40px;padding-top:0}.home .section-intro{margin:-5px 0 20px;font-size:var(--font-ui);line-height:1.8;color:#6c7068}
.home .tools-grid{gap:16px}.home .tool{background:white;border:1px solid #e0e3dc;border-radius:10px;padding:23px;box-shadow:0 3px 12px #28382403}
.home .tool-icon{color:#647e7e;margin-bottom:16px}.home .tool>.status{top:22px;right:18px}.home .tool h3{font-size:17px;color:#3e4448}.home .tool p{font-size:var(--font-ui);color:#686d72;line-height:1.85}.home .tool-context{border-top-color:#e7e9e1;color:#74796e;font-size:var(--font-ui)}
.home .update-list{background:transparent;border:0;border-top:1px solid #e0e2db;border-bottom:1px solid #e0e2db;border-radius:0}.home .update{padding:20px 0}.home .update-category{background:#ecefe5;color:#636d52;border-radius:3px}.home .footer{margin-top:40px;border-top:0;color:#767a70;font-size:var(--font-ui)}
.home :is(a,button):focus-visible{outline:3px solid #a45b3e;outline-offset:4px}
@media(max-width:900px){.home .header-inner{padding:16px 26px}.home .page{padding:24px 26px 0}.home .desktop-nav{gap:18px}.home .heading-art{width:165px}.home .heading-art img{width:182px;height:182px}.home h1{font-size:28px}.home .journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 25px}.home .journey-steps li:nth-child(4):before{display:none}.home .resume{flex-direction:column;align-items:flex-start;gap:16px}.home .resume .primary{align-self:flex-end}}
@media(max-width:800px){.home .tools-grid{grid-template-columns:1fr}.home .tool{grid-template-columns:32px 1fr;padding:21px}.home .tool-icon{margin:4px 0 0}.home .tool-context{border:0;padding:0;margin-top:8px}}
@media(max-width:600px){
 .home .preview-bar{font-size:var(--font-ui);padding:5px 10px}.home .preview-bar span{margin-left:10px}.home .header-inner{padding:14px 20px}.home .brand{font-size:var(--font-ui);gap:10px}.home .brand small{font-size:var(--font-ui)}.home .brand-mark{width:29px;height:34px}.home .brand-mark svg{width:19px;height:19px}
 .home .page{padding:22px 20px 90px}.home .page-heading{position:relative;min-height:165px;gap:0;margin-bottom:18px;align-items:flex-start}.home .heading-copy{position:relative;z-index:1}.home h1{font-size:25px;line-height:1.65;letter-spacing:0;max-width:290px}.home h1>span{display:block}.home .welcome{font-size:var(--font-ui);line-height:1.85;margin-top:10px;max-width:235px}.home .welcome br{display:none}
 .home .heading-art{position:absolute;right:0;bottom:4px;width:108px;height:116px;background:none}.home .heading-art img{width:146px;height:146px;transform:none}.home .art-note{display:none}
 .home .resume{padding:17px 17px 17px 16px;gap:14px;border-left-width:3px}.home .resume-kicker{font-size:var(--font-ui)}.home .resume h2{font-size:16px;line-height:1.7}.home .resume .primary{width:100%;justify-content:space-between;min-height:46px;font-size:var(--font-ui);padding:10px 15px}
 .home .journey{margin-top:20px;padding:12px 0 20px}.home .journey-heading{justify-content:space-between;gap:9px;margin-bottom:15px}.home .journey h2{font-size:var(--font-ui)}.home .journey-heading>span{font-size:var(--font-ui)}
 .home .journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px}.home .journey-steps li{gap:7px}.home .journey-steps li:before{display:none!important}.home .step-number{width:22px;height:22px;font-size:var(--font-ui)}.home .journey-steps small{font-size:var(--font-ui);margin-bottom:2px}.home .journey-steps strong{font-size:var(--font-ui)}.home .journey-steps div>span{font-size:var(--font-ui);margin-top:2px}
 .home .section{margin-top:25px}.home .section-title{margin-bottom:13px}.home .section h2{font-size:20px}.home .curriculum-heading{flex-wrap:wrap;gap:8px}.home .progress-row{font-size:var(--font-ui);gap:6px}.home .progress-row strong{font-size:var(--font-ui)}.home .track{display:none}
 .home .chapters{border-radius:10px}.home .chapter{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:13px;padding:18px 14px;min-height:0}.home .chapter-visual{width:78px;height:77px;margin-top:3px;border-radius:6px}.home .chapter-visual img{width:116px;height:116px}.home .visual-5 img,.home .visual-6 img{width:78px;height:67px}
 .home .chapter-meta{font-size:var(--font-ui);gap:7px;margin-bottom:5px;flex-wrap:wrap}.home .status{font-size:var(--font-ui);padding:2px 5px}.home .chapter h3{font-size:16px;line-height:1.65}.home .chapter p{font-size:var(--font-ui);line-height:1.9;margin-top:6px}.home .chapter-arrow{display:none}.home .small-note{font-size:var(--font-ui)}
 .home .resources{margin-top:29px}.home .section-intro{font-size:var(--font-ui)}.home .tool{padding:20px 16px;column-gap:10px;grid-template-columns:27px 1fr}.home .tool h3{font-size:16px;padding-right:48px}.home .tool p{font-size:var(--font-ui)}.home .tool>.status{right:14px;top:22px}.home .tool-context{font-size:var(--font-ui)}
 .home .update{padding:17px 0;gap:9px 12px}.home .update-title{font-size:var(--font-ui)}.home .footer{margin-top:27px}
 .home .mobile-nav{background:#fffefb;border-top:1px solid #e4dbd0;backdrop-filter:none;box-shadow:0 -3px 12px #39352806;padding:4px 8px calc(4px + env(safe-area-inset-bottom))}.home .mobile-nav a,.home .mobile-nav button{border-radius:6px;min-height:49px;font-size:var(--font-ui);gap:4px;color:#6c6a64}.home .mobile-nav [aria-current]{color:#a85a40;background:#f8eade;font-weight:650}
}
@media(max-width:360px){.home .page{padding-inline:16px}.home h1{font-size:24px}.home .welcome{max-width:184px;font-size:var(--font-ui)}.home .heading-art{right:0;width:98px;bottom:5px}.home .heading-art img{width:128px;height:128px}.home .chapter{grid-template-columns:62px minmax(0,1fr);padding-inline:11px;gap:10px}.home .chapter-visual{width:62px;height:67px}.home .chapter-visual img{width:98px;height:98px}.home .visual-5 img,.home .visual-6 img{width:64px;height:60px}.home .journey-heading{display:block}.home .journey-heading>span{display:block;margin-top:3px}}

/* The overview opens on demand, keeping the resume link and chapter artwork close. */
.home .page-heading{min-height:143px}.home .heading-art{height:145px}.home .heading-art img{width:186px;height:186px}
.home .journey{margin-top:18px;padding:0;border-bottom:1px solid #dedfd9}.home .journey-heading{list-style:none;cursor:pointer;min-height:48px;margin:0;padding:10px 0}.home .journey-heading::-webkit-details-marker{display:none}.home .journey-toggle{margin-left:auto;color:#986744;font-size:20px!important}.home .journey[open] .journey-toggle{transform:rotate(45deg)}.home .journey-steps{padding:14px 0 23px}.home .journey-steps small,.home .journey-steps div>span{font-size:var(--font-ui)}.home .journey-steps strong{font-size:var(--font-ui)}.home summary:focus-visible{outline:3px solid #a45b3e;outline-offset:3px}
@media(max-width:600px){.home .page-heading{min-height:165px}.home .heading-art{height:116px}.home .heading-art img{width:146px;height:146px}.home .journey-heading{display:flex;min-height:48px}.home .journey-heading>span{font-size:var(--font-ui)}.home .journey-steps strong{font-size:var(--font-ui)}.home .chapter p{font-size:var(--font-ui)}.home .welcome{max-width:216px}}
@media(max-width:360px){.home .heading-art img{width:128px;height:128px}.home .welcome{max-width:180px}.home .journey-heading>span{margin-top:0;font-size:var(--font-ui)}}

/* Original editorial artwork: full scene for the introduction, cutout for the heading. */
.home .heading-art{width:220px;height:145px;background:none;border-radius:0}
.home .heading-art img{width:220px;height:auto;transform:none}
.home .visual-0{background:#f6eee1}
.home .visual-0 img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:900px){.home .heading-art{width:180px}.home .heading-art img{width:180px}}
@media(max-width:600px){.home .heading-art{width:108px;height:80px;bottom:8px}.home .heading-art img{width:108px}.home .visual-0 img{object-position:53% center}}
@media(max-width:360px){.home .heading-art{width:98px}.home .heading-art img{width:98px}}

/* Consistent chapter scenes; focal points keep faces visible in compact rows. */
.home .chapter-visual{background:#f6eee1}
.home .chapter-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:600px){
 .home .visual-1 img{object-position:72% center}
 .home .visual-2 img{object-position:56% center}
 .home .visual-3 img{object-position:center}
 .home .visual-4 img{object-position:60% center}
 .home .visual-5 img{object-position:55% center}
 .home .visual-6 img{object-position:68% center}
}
