:root{--ink:#15213a;--muted:#53647f;--navy:#101b34;--blue:#2355a3;--blue2:#dceaff;--mint:#57dcc5;--line:#dce4ef;--paper:#f4f7fc;--white:#fff;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","PingFang SC","Noto Sans CJK JP",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #2f80ee;outline-offset:3px}p{margin:.55rem 0 1.1rem}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:0 0 1.2rem}h2{font-size:clamp(1.55rem,2.6vw,2.35rem);margin:0 0 .65rem}h3{font-size:1.25rem;margin:.3rem 0 .65rem}main{max-width:1280px;margin:auto;padding:0 4vw 6rem}.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#2872bd;margin:0 0 .85rem}.lead{font-size:1.14rem;color:#43536e;line-height:1.75;max-width:760px}.site-head{background:var(--navy);color:#ecf4ff}.head-inner{max-width:1360px;margin:auto;min-height:76px;padding:0 4vw;display:flex;align-items:center;gap:2.2rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:800;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:var(--mint);color:var(--navy);font-size:1.18rem;font-weight:900;line-height:1}.brand-mark span{font-size:1.4rem;margin-left:-.18rem}.desktop-nav{display:flex;gap:1.3rem;margin-left:auto}.desktop-nav a,.mobile-nav a{color:#d7e4f8;text-decoration:none;font-size:.91rem;font-weight:650}.desktop-nav a:hover,.mobile-nav a:hover{color:#fff}.head-actions{display:flex;align-items:center;gap:1rem}.lang-switch{display:flex;align-items:center;gap:.25rem;border:1px solid #40506c;border-radius:8px;padding:.2rem}.lang-switch a{font-size:.72rem;color:#d7e4f8;text-decoration:none;padding:.25rem .35rem;white-space:nowrap}.lang-switch a:hover{background:#2d4265;border-radius:5px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem;padding:.2rem}.mobile-nav{display:none}.hero{padding:clamp(3.5rem,6vw,6rem) 0 4.5rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:4vw;align-items:center}.hero h1{max-width:820px}.hero-actions,.closing-links,.form-actions,.result-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1.3rem;border-radius:10px;text-decoration:none;font-weight:750;border:1px solid transparent;min-height:46px}.btn.primary{background:#235cb4;color:white;box-shadow:0 8px 20px #194b9630}.btn.primary:hover{background:#164b98}.btn.secondary{background:white;color:#1b4d91;border-color:#b7c9e4}.btn.secondary:hover{background:#eaf2ff}.hero-facts{margin-top:3.3rem;display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;color:#527093;font-size:.71rem;letter-spacing:.12em;font-weight:850}.hero-facts span{background:#e2ebf8;padding:.45rem .65rem;border-radius:5px}.hero-facts b{color:#4988ba}.hero-diagram{background:var(--navy);color:#d9e8fa;border:1px solid #2b4369;border-radius:23px;padding:1.7rem;box-shadow:0 25px 60px #0f203437;transform:rotate(1.2deg)}.diagram-top{display:flex;justify-content:space-between;color:#76a6bb;font-size:.69rem;font-weight:800;letter-spacing:.14em}.diagram-state{font-size:1rem;line-height:1.5;background:#1a2a48;padding:1.1rem;border-radius:10px;margin:1.4rem 0}.diagram-line{color:var(--mint);font-size:.76rem;font-weight:850;letter-spacing:.1em;margin:1.1rem 0}.diagram-output{display:flex;justify-content:space-between;border:1px solid #42708d;background:#1d4260;padding:.55rem .8rem;border-radius:7px;margin:.35rem 0}.diagram-output strong{color:var(--mint)}.diagram-output.muted{background:#15233d;border-color:#2d4260;color:#8fa6c5}.diagram-output.muted strong{color:#8fa6c5}.hero-diagram p{font-size:.74rem;color:#9ab0cb;margin:1rem 0 0}.section{padding:3.2rem 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}.section-heading p:not(.eyebrow){color:var(--muted);max-width:620px}.text-link{font-weight:750;color:#1b5ba6;text-decoration:none}.text-link:hover{text-decoration:underline}.card-grid{display:grid;gap:1rem}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{position:relative;display:block;min-height:225px;padding:1.45rem 1.45rem 2.9rem;background:white;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}.card:hover,.scenario-card:hover,.case-card:hover{transform:translateY(-3px);border-color:#a9c9ec;box-shadow:0 14px 32px #1b3f7d13}.card-no{font-size:1.7rem;font-weight:850;color:#b5cae8;display:block;margin-bottom:.6rem}.card-kicker{font-size:.75rem;letter-spacing:.12em;font-weight:850;color:#2d6cad}.card h3{max-width:90%}.card p{color:var(--muted);font-size:.94rem;line-height:1.6}.card-arrow{position:absolute;right:1.3rem;bottom:1rem;color:#2b65ac;font-size:1.45rem}.closing{display:flex;justify-content:space-between;gap:2rem;align-items:center;background:#e5eefb;border:1px solid #ccdcf3;border-radius:20px;padding:2rem;margin-top:1rem}.closing p{max-width:650px;color:var(--muted)}.site-foot{max-width:1360px;margin:auto;border-top:1px solid var(--line);padding:2.5rem 4vw;display:flex;justify-content:space-between;gap:1.5rem;color:#61718a;font-size:.83rem}.site-foot strong{color:var(--ink);font-size:1rem}.site-foot>div:last-child{display:flex;gap:1.2rem;flex-wrap:wrap}.site-foot a{text-decoration:none;color:#3269a8}.crumb{display:flex;gap:.6rem;align-items:center;color:#687b93;padding:1.4rem 0;font-size:.8rem}.crumb a{color:#4670a2;text-decoration:none}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:5vw;align-items:start;padding-top:1.8rem}.content-article{max-width:850px}.content-article h1{font-size:clamp(2.25rem,4vw,3.9rem)}.content-article .lead{margin-bottom:1.5rem}.meta{display:flex;flex-wrap:wrap;gap:.8rem;color:#71809a;font-size:.78rem;border-bottom:1px solid var(--line);padding-bottom:1.7rem}.prose-section{padding:2.3rem 0 1.2rem;border-bottom:1px solid var(--line)}.prose-section h2{font-size:1.68rem}.prose-section p{font-size:1.06rem;line-height:1.9;color:#34435d;max-width:780px}.prose-section pre,.lab-result pre{overflow:auto;background:#101d36;color:#eaf4ff;padding:1.25rem;border-radius:11px;font-size:.87rem;line-height:1.65;white-space:pre}.source-box{margin:2rem 0;background:#e9f2fc;border-left:4px solid #54a5d9;padding:1.1rem 1.3rem;word-break:break-all;font-size:.9rem}.source-box a{color:#1d5fa9}.related{padding:2rem 0}.related h2{font-size:1.55rem}.related-link{display:block;text-decoration:none;color:#245a9e;background:#fff;border:1px solid var(--line);padding:.8rem 1rem;margin:.5rem 0;border-radius:9px;font-weight:700}.related-link.accent{border-color:#91bfdc;background:#e9f6fc}.content-aside{position:sticky;top:1.5rem;background:#e8eff9;border:1px solid #d4e0f0;border-radius:15px;padding:1.25rem}.content-aside a{display:block;margin:.7rem 0;text-decoration:none;color:#305d93;font-size:.91rem}.content-aside p:not(.eyebrow){color:#61718c;font-size:.82rem;margin-top:1.2rem}.page-intro,.lab-intro{padding:2.5rem 0 1.5rem;max-width:900px}.page-intro h1,.lab-intro h1{font-size:clamp(2.4rem,4.5vw,4rem)}.search-row{background:#e9f0f9;padding:1rem 1.3rem;border:1px solid var(--line);border-radius:12px;margin:1rem 0 1.5rem;display:flex;align-items:center;gap:1rem}.search-row label{font-weight:750;white-space:nowrap}.search-row input{width:100%;padding:.55rem .7rem;border:1px solid #becce0;border-radius:7px;background:white;min-height:42px}.scenario-grid,.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.scenario-card,.case-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;min-height:235px;transition:transform .18s,box-shadow .18s,border-color .18s}.scenario-top{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:800;letter-spacing:.09em;color:#2e6ba9}.scenario-top span:first-child{padding:.25rem .5rem;background:#e8f3fa;border-radius:5px}.scenario-card h2,.case-card h2{font-size:1.4rem;margin:1.1rem 0 .6rem}.scenario-card h2 a{text-decoration:none}.scenario-card p,.case-card p{color:#4f6079;font-size:.92rem}.scenario-foot{border-top:1px solid var(--line);padding-top:.8rem;color:#7890a8;font-size:.8rem;margin-top:1.2rem}.case-card{min-height:255px}.case-card>div{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:1.2rem}.case-card .text-link{font-size:.87rem}.end-note{padding:2.5rem 0}.end-note p{color:#64748a}.flow-table{margin-top:2rem;border:1px solid var(--line);background:white;border-radius:15px;overflow:hidden}.flow-table>div{display:grid;grid-template-columns:180px 1fr;padding:1rem 1.2rem;border-bottom:1px solid var(--line);gap:1rem}.flow-table>div:last-child{border-bottom:0}.flow-table span{font-size:.82rem;color:#557093;font-weight:800}.flow-table p{margin:0}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.92fr);gap:1.5rem;align-items:start}.lab-form,.lab-result{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem}.lab-form label{display:block;font-size:.88rem;font-weight:750;margin-bottom:1rem;color:#273d5d}.lab-form input,.lab-form textarea,.lab-form select{width:100%;display:block;margin-top:.43rem;border:1px solid #bccce0;border-radius:8px;padding:.68rem .8rem;background:#fbfdff;color:var(--ink);font-weight:450;resize:vertical}.lab-form input:focus,.lab-form textarea:focus,.lab-form select:focus{border-color:#4e9ae0}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.lab-result{background:#101b34;color:#e8f1ff;border-color:#223d60;position:sticky;top:1.5rem}.lab-result .eyebrow{color:#69d6ce}.lab-result h2{font-size:1.55rem}.lab-result pre{background:#1c2c49;border:1px solid #2b486d;max-height:490px}.lab-disclaimer,.privacy-note{color:#a9bdd8;font-size:.83rem}.small-btn{background:#244066;border:1px solid #45668d;color:#edf7ff;padding:.55rem .7rem;border-radius:7px;font-size:.82rem;font-weight:700}.small-btn:hover{background:#31547e}.lab-bottom{margin-top:4rem}.lab-bottom h2{margin-bottom:1.5rem}#lab-status{min-height:1.4em;color:#69d6ce;font-size:.8rem}
[hidden]{display:none!important}.policy-box{border-top:1px solid #3a5271;padding-top:1rem;font-size:.86rem;color:#dbe8f7}.policy-box p{color:#a9bdd8;margin:.4rem 0}
@media(max-width:1080px){.desktop-nav{gap:.7rem}.desktop-nav a{font-size:.84rem}.hero{gap:2rem}.content-layout{gap:2rem}.scenario-grid,.case-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.desktop-nav{display:none}.menu-toggle{display:block}.mobile-nav.open{display:flex;flex-direction:column;gap:.9rem;padding:1rem 4vw 1.35rem;border-top:1px solid #2e4364}.head-inner{min-height:66px}.hero{grid-template-columns:1fr;padding-top:3.2rem}.hero-diagram{max-width:620px;transform:none}.card-grid.three{grid-template-columns:1fr 1fr}.content-layout{grid-template-columns:1fr}.content-aside{position:static;display:flex;flex-wrap:wrap;gap:.5rem}.content-aside .eyebrow{width:100%}.content-aside a{margin:0;padding:.4rem}.lab-layout{grid-template-columns:1fr}.lab-result{position:static}.closing{display:block}.site-foot{display:block}}
@media(max-width:600px){main{padding:0 5vw 4rem}.lang-switch a{font-size:.67rem;padding:.18rem}.brand{font-size:.9rem}.hero h1{font-size:2.55rem}.hero-facts{margin-top:2rem}.section{padding:2.6rem 0}.section-heading{display:block}.card-grid.three,.scenario-grid,.case-grid{grid-template-columns:1fr}.card{min-height:175px}.scenario-card,.case-card{min-height:0}.flow-table>div{grid-template-columns:1fr;gap:.2rem}.form-two{grid-template-columns:1fr}.site-foot>div:last-child{margin-top:1rem}.content-article h1{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.scenario-card,.case-card{transition:none}}

.course-hint{color:#5e6f88;font-size:.9rem;margin:1.4rem 0 0;max-width:650px}.course-intro{padding:3.7rem 0 2rem;max-width:980px}.course-intro h1{max-width:850px}.course-progress{margin-top:2.4rem;max-width:600px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;box-shadow:0 8px 28px #1531520b}.course-progress>div:first-child{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.84rem;color:var(--muted)}.course-progress strong{font-size:1.2rem;color:var(--ink)}.progress-track{height:8px;border-radius:10px;background:#e3ebf4;margin-top:.8rem;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:#23a69b;border-radius:10px;transition:width .2s}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2rem;align-items:start;padding-top:1.5rem}.course-stage{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:1.3rem;overflow:hidden}.stage-head{display:flex;align-items:center;gap:1rem;background:#e7f0fb;padding:1.1rem 1.4rem}.stage-head span{font-size:.8rem;color:#2a6eb7;font-weight:900;letter-spacing:.12em}.stage-head h2{font-size:1.35rem;margin:0}.lesson-row{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem 1.4rem;text-decoration:none;border-top:1px solid var(--line);transition:background .15s}.lesson-row:hover{background:#f4f9ff}.lesson-index{font-weight:900;color:#94aecb;min-width:2.3rem}.lesson-text{flex:1}.lesson-text strong{font-size:1.04rem;display:block;line-height:1.35}.lesson-text small{display:block;color:var(--muted);font-size:.85rem;line-height:1.55;margin-top:.3rem}.lesson-time{font-size:.78rem;color:#617690;white-space:nowrap}.lesson-time b{font-size:1.1rem;margin-left:.4rem;color:#2868af}.lesson-row.is-complete .lesson-index{color:#178d80}.lesson-row.is-complete .lesson-index:before{content:'✓ ';}.course-side{position:sticky;top:1.5rem;border:1px solid #d4e0f0;background:#eaf1fa;border-radius:18px;padding:1.4rem}.course-side h2{font-size:1.3rem}.course-side dl{margin:0}.course-side dl>div{padding:.65rem 0;border-top:1px solid #d4e0f0}.course-side dt{font-weight:800;color:#244f84}.course-side dd{margin:.12rem 0 0;color:#536783;font-size:.86rem}.course-side p{margin-top:1rem}.course-quiz{margin:2rem 0;padding:2rem;border:1px solid #c6d8ec;border-radius:18px;background:#eaf3fd;max-width:900px}.course-quiz h2{font-size:1.8rem}.course-quiz>p:not(.eyebrow){font-size:1.08rem;max-width:720px}.quiz-options{display:grid;gap:.6rem;margin:1.4rem 0}.quiz-choice{text-align:left;border:1px solid #b9cee7;background:#fff;color:var(--ink);padding:.8rem 1rem;border-radius:9px}.quiz-choice:hover,.quiz-choice.selected{border-color:#377dc6;background:#e2f0ff}.quiz-choice.correct{border-color:#1a9b84;box-shadow:inset 4px 0 #1a9b84}.quiz-explanation{background:#fff;border-left:4px solid #1a9b84;padding:1rem 1.2rem;margin:1rem 0;line-height:1.8}.course-quiz small,.completion-note{display:block;font-size:.79rem;color:#687d98;margin-top:1rem}.complete-lesson{margin-top:1rem}.content-aside .course-aside-link{border-bottom:1px solid #d0dded;padding:.32rem 0}
@media(max-width:920px){.course-layout{grid-template-columns:1fr}.course-side{position:static}}@media(max-width:600px){.course-intro{padding:2.2rem 0 1.3rem}.course-intro h1{font-size:2.35rem}.course-progress>div:first-child{display:block}.course-progress span{display:block}.lesson-row{gap:.55rem;padding:1rem}.lesson-time{white-space:normal;text-align:right;max-width:55px}.course-quiz{padding:1.2rem}}
.resource-panel{margin:2.2rem 0;padding:1.5rem;border:1px solid #bcd5e8;border-radius:15px;background:#eaf5fc}.resource-panel h2{font-size:1.45rem}.resource-panel p{color:#405c77;line-height:1.8}.resource-panel .btn{margin-top:.5rem}
.resource-teaser{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#e6f3f8;border:1px solid #bfdee7;border-radius:18px;padding:1.7rem 2rem;margin:2rem 0}.resource-teaser h2{max-width:780px}.resource-teaser p:not(.eyebrow){color:#4d657a;max-width:760px}.resource-teaser .btn{white-space:nowrap}.course-resource{margin-top:2rem}.resource-intro{padding:3rem 0 2rem;max-width:980px}.resource-intro h1{max-width:900px}.resource-note{color:#667a90;font-size:.86rem;border-left:3px solid #83a9c6;padding-left:1rem;margin-top:1.6rem}.resource-toc{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.resource-jump{text-decoration:none;padding:.52rem .8rem;background:#e4eff9;border:1px solid #c8d9eb;border-radius:8px;color:#285d9c;font-size:.88rem;font-weight:750}.resource-jump:hover{background:#d7e9fb}.resource-site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.resource-site-card{background:white;border:1px solid var(--line);border-radius:18px;padding:1.4rem;display:flex;flex-direction:column}.resource-card-top{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:#3e75a9;font-weight:800;letter-spacing:.04em}.resource-site-card h2{font-size:1.55rem;margin:1.3rem 0 .5rem}.resource-site-card>p{color:#435873;font-size:.94rem;line-height:1.8}.resource-card-facts{border-top:1px solid var(--line);margin-top:auto;padding-top:.7rem}.resource-card-facts b{font-size:.78rem;color:#2a67a4}.resource-card-facts p{font-size:.83rem;color:#64758a;margin:.15rem 0 .6rem}.resource-site-card>.text-link{margin-top:.8rem}.resource-reading-order{display:grid;grid-template-columns:250px 1fr;gap:2rem;align-items:start;background:#122442;color:#e9f3ff;border-radius:18px;padding:2rem;margin:2.5rem 0}.resource-reading-order .eyebrow{color:#73d5c5}.resource-reading-order h2{font-size:1.55rem}.resource-reading-order ol{margin:0;padding-left:1.4rem}.resource-reading-order li{padding:.38rem 0}.resource-groups>h2{margin:3rem 0 1.2rem}.resource-group{background:#fff;border:1px solid var(--line);border-radius:17px;margin:1rem 0;overflow:hidden;scroll-margin-top:1rem}.resource-group-head{display:flex;align-items:center;justify-content:space-between;background:#eaf1fa;padding:1rem 1.4rem}.resource-group-head h2{font-size:1.3rem;margin:0}.resource-group-head span{font-size:.84rem;color:#4871a2;font-weight:900}.resource-group ol{margin:0;padding:0;list-style:none}.resource-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1.4rem;border-top:1px solid var(--line)}.resource-row-num{color:#9aaeca;font-size:.78rem;font-weight:850;min-width:1.6rem}.resource-row strong{font-size:.95rem;flex:1}.resource-row-links{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}.resource-row-links a{font-size:.8rem;font-weight:750;color:#245f9f;text-decoration:none}.resource-row-links .local-link{color:#158778}.resource-row-links a:hover{text-decoration:underline}.resource-sources{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.resource-sources a{word-break:normal}
@media(max-width:1000px){.resource-site-grid{grid-template-columns:1fr 1fr}.resource-reading-order{grid-template-columns:1fr;gap:.2rem}}@media(max-width:700px){.resource-teaser{display:block;padding:1.4rem}.resource-teaser .btn{margin-top:.4rem}.resource-site-grid{grid-template-columns:1fr}.resource-intro{padding:2rem 0 1rem}.resource-intro h1{font-size:2.4rem}.resource-reading-order{padding:1.4rem}.resource-row{align-items:flex-start;flex-wrap:wrap;gap:.5rem}.resource-row strong{width:calc(100% - 2.5rem);flex:unset}.resource-row-links{width:100%;justify-content:flex-start;padding-left:2.1rem}}
.locale-root{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.locale-root>p{max-width:620px;color:var(--muted)}.locale-root .eyebrow{color:#2872bd}.locale-links{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.locale-disclaimer{font-size:.82rem}.analytics-consent{position:fixed;z-index:1000;left:1rem;right:1rem;bottom:1rem;max-width:780px;margin:auto;background:#fff;color:var(--ink);border:1px solid #b9d0e9;border-radius:14px;box-shadow:0 18px 70px #14253a40;padding:1rem 1.25rem;display:flex;align-items:center;gap:1.2rem}.analytics-consent p{margin:0;flex:1;font-size:.9rem}.analytics-consent>div{display:flex;gap:.5rem;flex-wrap:wrap}.analytics-consent .btn{white-space:nowrap;font-size:.84rem;padding:.55rem .8rem;min-height:38px}@media(max-width:700px){.analytics-consent{display:block}.analytics-consent>div{margin-top:.8rem}}

.case-teaser{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:2rem;align-items:center;margin:2rem 0 3rem;padding:2rem 2.3rem;background:linear-gradient(120deg,#e8f6f4,#edf3ff);border:1px solid #badbdc;border-radius:20px}.case-teaser h2{font-size:clamp(1.75rem,3vw,2.4rem);margin:.35rem 0}.case-teaser p:not(.eyebrow){color:#405775;line-height:1.7;max-width:650px}.case-teaser .btn{margin-top:.4rem}.case-teaser-flow{display:grid;gap:.4rem;background:#122442;color:#f4fbff;padding:1.4rem 1.6rem;border-radius:15px;box-shadow:0 16px 32px #10213a21}.case-teaser-flow span{font-size:.7rem;font-weight:850;letter-spacing:.12em;color:#75d7c6;margin-top:.6rem}.case-teaser-flow b{font-size:.95rem;line-height:1.45}.case-study .lead{font-size:1.13rem}.case-study .prose-section{scroll-margin-top:2rem}.case-facts{padding-left:1.45rem;line-height:1.8;color:#34435d}.case-facts li{margin:.7rem 0;padding-left:.3rem}.table-scroll{overflow-x:auto}.case-table{border-collapse:collapse;width:100%;min-width:620px;font-size:.91rem}.case-table th,.case-table td{padding:.85rem .9rem;text-align:left;vertical-align:top;border:1px solid #d3e0ee;line-height:1.55}.case-table th{background:#e8f2fa;color:#244e80}.case-table tr:nth-child(even){background:#f6f9fd}.case-study pre{max-height:550px}.case-study .course-quiz{margin-top:2rem}
@media(max-width:800px){.case-teaser{grid-template-columns:1fr}.case-teaser-flow{max-width:580px}}@media(max-width:600px){.case-teaser{padding:1.4rem;margin:1.5rem 0 2rem}.case-teaser .btn{white-space:normal;text-align:center}}

.root-landing{max-width:1360px;margin:auto;padding:0 4vw 5rem}.root-hero{max-width:1060px;padding:5rem 0 4.5rem}.root-hero h1{font-size:clamp(2.8rem,5.8vw,5.6rem);line-height:1.06;letter-spacing:-.045em;max-width:1050px}.root-hero .lead{max-width:870px}.root-zh{font-size:1rem;color:#47617e;line-height:1.8;max-width:850px}.root-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.root-flow>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem;min-height:265px}.root-flow span{color:#257c94;font-size:.72rem;font-weight:900;letter-spacing:.1em}.root-flow h2{font-size:1.5rem;margin:.8rem 0}.root-flow p{color:#536880;line-height:1.7}.root-more{max-width:980px;margin:5rem 0 1rem;padding:2.6rem;background:#eaf4f7;border-radius:20px}.root-more h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.2}.root-more p{color:#455d76;line-height:1.8}.root-more small{display:block;color:#67809a;margin-top:2rem}.root-more .hero-actions{flex-wrap:wrap}@media(max-width:800px){.root-flow{grid-template-columns:1fr}.root-flow>div{min-height:0}.root-hero{padding:3rem 0}.root-more{margin-top:3rem;padding:1.6rem}}@media(max-width:600px){.root-landing{padding:0 5vw 3rem}.root-hero h1{font-size:2.65rem}.root-hero .locale-links .btn{width:100%;text-align:center}}

.root-hero{max-width:none;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:3rem;align-items:center;padding:4.2rem 0 3.4rem}.root-hero h1{font-size:clamp(2.7rem,4.6vw,4.75rem);max-width:820px}.root-demo{background:#132442;color:#edf7ff;border:1px solid #334d6b;border-radius:20px;padding:1.5rem;box-shadow:0 24px 50px #18283c22;transform:rotate(1deg)}.root-demo-top{display:flex;justify-content:space-between;gap:.8rem;color:#75d7c6;font-size:.68rem;letter-spacing:.1em;font-weight:800}.root-demo-quote{font-size:1.45rem;font-weight:750;line-height:1.35;margin:1.8rem 0}.root-demo-step{padding:.75rem 0;border-top:1px solid #39516e;display:grid;grid-template-columns:82px 1fr;gap:.6rem;align-items:start}.root-demo-step small{color:#76d7c9;font-size:.69rem;font-weight:850;letter-spacing:.08em;padding-top:.2rem}.root-demo-step strong{font-size:.9rem;line-height:1.45}.root-demo-note{color:#9db5d2;font-size:.74rem;margin:1.4rem 0 0}@media(max-width:970px){.root-hero{grid-template-columns:1fr;gap:1rem}.root-demo{max-width:650px;transform:none}}@media(max-width:600px){.root-hero{padding:2.5rem 0}.root-hero h1{font-size:2.65rem}.root-demo{padding:1.2rem}.root-demo-quote{font-size:1.2rem}}

/* Grid items must be allowed to shrink around wide code and table content. */
.content-layout,.course-layout,.lab-layout,.hero,.root-hero,.case-teaser{min-width:0}
.content-layout>*,.course-layout>*,.lab-layout>*,.hero>*,.root-hero>*,.case-teaser>*{min-width:0}
.content-article{min-width:0;max-width:min(100%,850px)}
.prose-section,.resource-panel,.source-box,.related,.lab-form,.lab-result,.table-scroll{min-width:0;max-width:100%}
.prose-section pre,.lab-result pre{max-width:100%;min-width:0;overflow-x:auto}
.table-scroll{overflow-x:auto;overscroll-behavior-inline:contain}
.content-aside a,.related-link,.source-box,.lesson-text{overflow-wrap:anywhere}
.lesson-text,.form-two>*{min-width:0}
@media(max-width:800px){.content-layout,.lab-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.flow-table>div{grid-template-columns:minmax(0,1fr)}.search-row{flex-direction:column;align-items:stretch}.search-row label{white-space:normal}.resource-teaser .btn,.case-teaser .btn{max-width:100%;white-space:normal;text-align:center}.hero-actions .btn{max-width:100%;text-align:center}}
@media(max-width:360px){.head-inner{gap:.4rem;padding-inline:.6rem}.brand{gap:.35rem}.head-actions{gap:.3rem}.lang-switch{gap:0}.lang-switch a{font-size:.63rem;padding:.12rem}.menu-toggle{padding:.1rem}}
