:root{--navy:#121f33;--ink:#17253a;--muted:#627186;--line:#dce4ec;--paper:#faf9f5;--white:#fff;--blue:#315f96;--orange:#eb8a5a;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}p{line-height:1.7}h1,h2,h3{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1 em,h2 em{font-weight:400;color:var(--orange)}[hidden]{display:none!important}.section-wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.site-header{height:78px;background:var(--white);border-bottom:1px solid #e7e9e9;position:relative;z-index:10}.header-inner{width:min(1320px,calc(100% - 64px));height:100%;margin:auto;display:flex;align-items:center;gap:45px}.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand-mark{width:39px;height:39px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:17px;font-weight:700;letter-spacing:-.08em}.brand-mark span{color:var(--orange)}.brand-copy{font-weight:700;font-size:17px;letter-spacing:-.04em;line-height:1}.brand-copy small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8792a0;margin-top:6px;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:34px;height:100%}.desktop-nav a{font-size:13px;font-weight:700;color:#607085;height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav a.active{color:var(--navy);border-color:var(--orange)}.header-cta{margin-left:auto;border:1px solid var(--line);padding:12px 17px;border-radius:4px;font-weight:700;font-size:12px}.header-cta span{margin-left:12px;color:var(--orange)}.header-cta:hover{background:#f4f6f8}.menu-toggle,.mobile-nav{display:none}.site-footer{background:var(--navy);color:#b1bfcd;padding:60px max(32px,calc((100vw - 1200px)/2)) 24px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:55px}.footer-brand{font-family:var(--serif);font-size:29px;color:#fff}.accent-dot{color:var(--orange)}.footer-top p{margin:10px 0 0;font-size:13px}.footer-links{display:flex;gap:30px;align-items:flex-start;font-size:13px;color:#e4ebf2}.footer-links a:hover{color:var(--orange)}.footer-bottom{border-top:1px solid #34445a;padding-top:23px;display:flex;justify-content:space-between;gap:30px;font-size:11px;line-height:1.5}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--blue)}.eyebrow.light{color:#edac88}.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero-glow{position:absolute;width:800px;height:800px;background:radial-gradient(circle,#284263 0,transparent 67%);right:-310px;top:-290px;opacity:.55}.hero-inner{width:min(1200px,calc(100% - 64px));margin:auto;min-height:615px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:55px;position:relative}.hero-copy{padding:70px 0}.hero h1{font-size:clamp(60px,6.4vw,96px);line-height:.98;margin:27px 0 28px}.hero-copy>p{font-size:17px;max-width:490px;color:#c7d2dc;line-height:1.68}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 22px;border-radius:4px;font-size:13px;font-weight:700;min-width:180px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:var(--navy)}.button-dark{background:var(--navy);color:#fff}.text-link{font-size:13px;font-weight:700}.text-link span{margin-left:11px;color:var(--orange)}.hero-proof{display:flex;gap:31px;margin-top:62px;border-top:1px solid #41516a;padding-top:22px}.hero-proof span{font-size:11px;color:#aebed0}.hero-proof strong{color:#fff;font-size:16px;margin-right:5px}.hero-visual{background:#f4f5f1;color:var(--navy);border-radius:8px;padding:25px;box-shadow:0 28px 90px #07111e44;transform:rotate(1.5deg)}.visual-label,.visual-bottom{display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.14em}.visual-label span{color:#9ba6b4}.visual-plot{background:#fff;border:1px solid #e4e8eb;margin:21px 0;padding:16px}.visual-plot svg{display:block;width:100%}.visual-bottom{font-size:12px;letter-spacing:0;color:#607086}.visual-bottom span:last-child{color:var(--orange);font-size:22px;line-height:.7}.intro-section{padding-block:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin:17px 0 38px}.section-heading h2{font-size:clamp(38px,4vw,57px);max-width:650px;line-height:1.08}.section-heading p{max-width:325px;color:var(--muted);font-size:14px;margin:0}.strand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.strand-card{min-height:310px;background:#fff;border:1px solid var(--line);padding:29px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.strand-card:hover,.lesson-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #14243a12}.strand-index{color:var(--orange);font-size:12px;font-weight:700}.strand-line{width:100%;height:1px;background:var(--line);margin:25px 0}.strand-card h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.12}.strand-card p{font-size:13px;color:var(--muted);margin:12px 0 25px}.strand-count{font-size:11px;font-weight:700;margin-top:auto}.strand-count b{float:right;font-size:17px;color:var(--orange)}.feature-section{background:#eaf0f3;padding:95px 0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.feature-grid h2{font-size:clamp(39px,4vw,57px);line-height:1.08;margin:18px 0}.feature-grid>div:first-child>p{color:var(--muted);font-size:14px;max-width:430px;margin-bottom:30px}.feature-list{border-top:1px solid #c8d3dc}.feature-list>div{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #c8d3dc}.feature-list>div>span{font-size:12px;font-weight:700;color:var(--orange);padding-top:5px}.feature-list h3{font-size:16px}.feature-list p{font-size:13px;color:var(--muted);margin:6px 0 0}.closing-cta{text-align:center;padding-block:100px}.closing-cta h2{font-size:clamp(38px,4vw,58px);margin:14px 0 30px}.page-hero{padding-block:75px 60px}.page-hero h1{font-size:clamp(54px,6vw,84px);line-height:1.02;margin:20px 0}.page-hero>p{font-size:16px;color:var(--muted);max-width:610px;margin:0}.search-wrap{position:relative;max-width:590px;margin-top:35px}.search-wrap label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:11px}.search-wrap input{width:100%;background:#fff;border:1px solid var(--line);border-radius:4px;padding:17px 48px 17px 17px;outline:0}.search-wrap input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #315f9622}.search-wrap span{position:absolute;right:17px;bottom:11px;color:var(--orange);font-size:26px}.curriculum{padding-bottom:100px}.curriculum-section{padding:39px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.curriculum-heading{display:flex;gap:28px;margin-bottom:24px}.curriculum-heading>span{color:var(--orange);font-size:12px;font-weight:700;padding-top:12px}.curriculum-heading h2{font-size:39px}.curriculum-heading p{margin:3px 0;color:var(--muted);font-size:13px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.lesson-card{background:#fff;border:1px solid var(--line);min-height:215px;padding:24px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center}.lesson-number{font-size:12px;color:var(--orange);font-weight:700}.card-arrow{font-size:19px;color:#adb9c5}.lesson-card h3{font-family:var(--serif);font-size:24px;line-height:1.15;font-weight:400;margin:23px 0}.card-bottom{margin-top:auto;color:var(--muted);font-size:11px}.reading-dot{height:8px;width:8px;border:1px solid #a8b7c5;border-radius:50%}.reading-dot.done{background:#62a78b;border-color:#62a78b}.no-results{color:var(--muted);padding:20px}.lesson-shell{display:grid;grid-template-columns:270px minmax(0,760px);gap:75px;width:min(1210px,calc(100% - 64px));margin:auto;padding:50px 0 115px}.lesson-sidebar{border-right:1px solid var(--line);padding-right:22px}.back-link{display:block;color:var(--blue);font-size:12px;font-weight:700;margin-bottom:38px}.sidebar-label{font-size:10px;font-weight:700;letter-spacing:.16em;color:#95a2ae;margin-bottom:16px}.lesson-sidebar nav{display:flex;flex-direction:column;gap:3px}.lesson-sidebar nav a{font-size:12px;color:#627184;padding:9px 8px;border-radius:3px;line-height:1.35;display:flex;gap:11px}.lesson-sidebar nav a:hover,.lesson-sidebar nav a.current{background:#e9edf0;color:var(--navy)}.lesson-sidebar nav a.current{font-weight:700}.lesson-sidebar nav span{min-width:23px;color:var(--orange);font-weight:700}.lesson-article>.eyebrow{margin-top:10px}.lesson-article h1{font-size:clamp(43px,4.1vw,62px);line-height:1.07;margin:17px 0}.lesson-lede{font-size:17px;color:var(--muted);margin:0}.lesson-meta{display:flex;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:30px 0 38px;color:#748295;font-size:11px;font-weight:700}.lesson-content{font-size:15px;line-height:1.75}.lesson-content h2{font-family:var(--serif);font-size:30px;line-height:1.18;margin:42px 0 14px;scroll-margin-top:25px}.lesson-content h2:first-child{margin-top:0}.lesson-content p{margin:12px 0 20px;color:#36465b}.lesson-content strong{background:none;color:#8b1e2d;font-weight:inherit}.lesson-figure{border:1px solid var(--line);background:#fff;margin:26px 0 35px;padding:22px;overflow:hidden}.lesson-figure figcaption{font-size:12px;font-weight:700;margin-bottom:18px}.graph-svg{display:block;width:min(100%,560px);margin:auto}.figure-note{font-size:11px!important;color:#8090a0!important;margin:16px 0 0!important}.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);background:#fff}.lesson-figure .table-scroll{border:0}table{width:100%;border-collapse:collapse;min-width:520px;font-size:13px}th,td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--line)}th{background:#eef2f5;color:#34465c;font-size:12px}tr:last-child td{border-bottom:0}.wide-table{min-width:690px}.wide-table td{vertical-align:top}.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rule-grid>div{background:#f1f4f6;padding:15px;display:flex;flex-direction:column;gap:4px}.rule-grid b{font-size:20px}.rule-grid span{font-size:10px;color:var(--muted)}.concept-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.concept-strip>div{background:#edf2f4;padding:18px}.concept-strip span{font-size:10px;color:var(--blue);font-weight:700;letter-spacing:.1em}.concept-strip strong{display:block;background:none;font-size:15px;margin:10px 0}.concept-strip p{font-size:12px;margin:0}.callout{margin-top:26px;background:#eaf0f3;padding:22px;border-left:3px solid var(--orange)}.callout>span{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--blue)}.callout p{margin:8px 0 0}.lesson-actions{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:30px;margin-top:45px}.lesson-actions button{border:1px solid var(--line);background:#fff;padding:13px 17px;font-size:12px;font-weight:700;border-radius:3px}.lesson-actions .complete-button{background:var(--navy);color:#fff;border-color:var(--navy)}.lesson-actions .complete-button.is-done{background:#357e66;border-color:#357e66}.lesson-actions .save-button.is-saved{color:#bb693b;border-color:#e6b89e}.lesson-actions button span{margin-left:18px}.lesson-pager{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.lesson-pager a{border-top:1px solid var(--line);padding-top:14px;font-family:var(--serif);font-size:18px;line-height:1.25}.lesson-pager a:last-child{text-align:right}.lesson-pager small{display:block;font-family:var(--sans);font-size:10px;color:var(--muted);font-weight:700;margin-bottom:7px}.practice-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:55px;padding-bottom:100px}.practice-sidebar{align-self:start;position:sticky;top:30px}.filter-title,.practice-list-head{font-size:11px;letter-spacing:.13em;font-weight:700;color:#8290a0;padding-bottom:16px;border-bottom:1px solid var(--line)}.filter-button{background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;padding:15px 5px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between}.filter-button.selected{font-weight:700;color:var(--navy)}.filter-button span{color:#a7b2be}.practice-note{background:#eaf0f3;padding:20px;margin-top:28px;font-size:12px}.practice-note p{color:var(--muted);margin:7px 0 0}.practice-list-head{display:flex;justify-content:space-between;margin-bottom:18px}.practice-card{background:#fff;border:1px solid var(--line);padding:27px;margin-bottom:18px}.practice-card-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;font-weight:700;color:var(--orange)}.practice-card-top a{color:var(--blue)}.practice-card h2{font-family:var(--serif);font-size:27px;line-height:1.2;margin:20px 0}.exercise{display:flex;flex-direction:column;gap:9px}.exercise label{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:3px;padding:12px 14px;font-size:13px;cursor:pointer}.exercise label:hover{border-color:#99b0c6}.exercise input{accent-color:var(--blue)}.exercise label.answer-correct{background:#e8f5ee;border-color:#8cbe9e}.exercise label.answer-wrong{background:#faede5;border-color:#dfa686}.exercise-bottom{display:flex;align-items:center;gap:16px;margin-top:10px;flex-wrap:wrap}.check-button{border:0;background:var(--navy);color:#fff;border-radius:3px;padding:12px 16px;font-size:12px;font-weight:700}.check-button span{margin-left:12px;color:var(--orange)}.exercise-feedback{font-size:12px;line-height:1.5;margin:0;flex:1;min-width:190px}.exercise-feedback.correct{color:#237153}.exercise-feedback.incorrect{color:#a35028}.progress-layout{padding-bottom:100px}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.progress-stats>div{background:#fff;border:1px solid var(--line);padding:27px;display:flex;flex-direction:column;gap:18px}.progress-stats span{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--muted)}.progress-stats strong{font-family:var(--serif);font-weight:400;font-size:50px}.progress-stats small{font-family:var(--sans);font-size:16px;color:#a6b2be}.progress-section{margin-top:65px}.progress-section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:16px}.progress-section-head h2{font-size:36px;margin-top:8px}.progress-section-head>a{font-size:12px;font-weight:700;color:var(--blue)}.progress-list{margin-top:15px}.progress-list a{display:flex;gap:16px;align-items:center;background:#fff;padding:16px 20px;border:1px solid var(--line);margin-bottom:8px;font-size:13px}.progress-list a span{color:var(--orange);font-weight:700}.progress-list a b{margin-left:auto;color:var(--blue)}.empty-state{color:var(--muted);font-size:13px;background:#fff;border:1px solid var(--line);padding:20px}.privacy-note{margin-top:50px;background:#eaf0f3;padding:17px;font-size:12px;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding:25px 0 110px;border-top:1px solid var(--line)}.about-grid h2{font-size:43px;line-height:1.1;margin-top:15px}.about-grid p{color:var(--muted);font-size:14px;margin-top:0}.about-grid h3{font-size:16px;margin-top:30px;margin-bottom:10px}
@media(max-width:960px){.desktop-nav,.header-cta{display:none}.header-inner{justify-content:space-between}.menu-toggle{display:block;border:0;background:transparent;font-size:23px;color:var(--navy)}.menu-open .mobile-nav{display:flex;flex-direction:column;background:#fff;padding:12px 32px 25px;box-shadow:0 14px 20px #14243a16}.mobile-nav a{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.hero-inner{gap:25px}.hero h1{font-size:65px}.lesson-shell{grid-template-columns:210px 1fr;gap:35px}.lesson-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{gap:40px}.practice-layout{gap:30px}}
@media(max-width:700px){.section-wrap,.hero-inner,.lesson-shell{width:calc(100% - 38px)}.site-header{height:68px}.header-inner{width:calc(100% - 38px)}.brand{min-width:0}.hero-inner{display:block;padding:55px 0 65px}.hero-copy{padding:0}.hero h1{font-size:clamp(58px,14vw,82px)}.hero-copy>p{font-size:15px}.hero-proof{margin:38px 0 40px;gap:17px}.hero-proof span{font-size:10px}.hero-proof strong{display:block;font-size:16px}.hero-visual{transform:none;max-width:470px}.intro-section{padding-block:75px}.section-heading,.feature-grid,.about-grid{display:block}.section-heading h2{font-size:42px}.section-heading p{margin-top:16px}.strand-grid{grid-template-columns:1fr}.strand-card{min-height:220px}.feature-section{padding:75px 0}.feature-list{margin-top:45px}.closing-cta{padding-block:75px}.page-hero{padding-block:55px}.page-hero h1{font-size:56px}.curriculum-heading h2{font-size:31px}.lesson-grid{grid-template-columns:1fr}.lesson-card{min-height:175px}.lesson-shell{display:block;padding:22px 0 75px}.lesson-sidebar{border:0;padding:0}.lesson-sidebar nav,.sidebar-label{display:none}.back-link{margin-bottom:30px}.lesson-article h1{font-size:45px}.lesson-meta{gap:10px;flex-wrap:wrap}.lesson-content h2{font-size:27px}.concept-strip{grid-template-columns:1fr}.rule-grid{grid-template-columns:repeat(2,1fr)}.lesson-actions{flex-wrap:wrap}.lesson-pager{gap:15px}.practice-layout{display:block}.practice-sidebar{position:static;margin-bottom:35px}.filter-button{display:inline-flex;width:auto;border:1px solid var(--line);padding:10px 12px;margin:4px 3px 4px 0;gap:12px}.filter-title{border:0}.practice-note{margin-top:20px}.practice-card{padding:19px}.practice-card h2{font-size:25px}.progress-stats{grid-template-columns:1fr;gap:9px}.progress-stats>div{flex-direction:row;align-items:center;justify-content:space-between;padding:20px}.progress-stats strong{font-size:35px}.progress-section-head h2{font-size:30px}.about-grid{padding-bottom:80px}.about-grid>div:last-child{margin-top:30px}.site-footer{padding:55px 19px 25px}.footer-top,.footer-bottom{display:block}.footer-links{flex-wrap:wrap;margin-top:32px;gap:17px}.footer-bottom span{display:block;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.workshop-banner{background:#dfe9ee;border:1px solid #c8d8e2;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 28px;margin-bottom:40px}.workshop-banner span{display:flex;flex-direction:column;gap:4px}.workshop-banner small{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.15em}.workshop-banner strong{font-family:var(--serif);font-size:26px;font-weight:400}.workshop-banner em{font-size:12px;color:var(--muted);font-style:normal}.workshop-banner>b{white-space:nowrap;font-size:12px;color:var(--blue)}.workshop-layout{max-width:860px;padding-bottom:100px}.workshop-task{background:#fff;border:1px solid var(--line);padding:33px;margin-bottom:22px;scroll-margin-top:25px}.workshop-task h2{font-size:33px;margin:12px 0}.workshop-task>p{font-size:14px;color:var(--muted)}.workshop-task label{display:block;font-size:12px;font-weight:700;margin:25px 0 9px}.workshop-task textarea{display:block;width:100%;resize:vertical;min-height:160px;border:1px solid var(--line);padding:15px;line-height:1.6;color:var(--ink)}.workshop-task textarea:focus{outline:2px solid #b2c8dd}.workshop-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.workshop-controls button,.self-review button{background:#fff;border:1px solid var(--line);padding:11px 14px;font-size:12px;font-weight:700}.workshop-controls [data-submit-task]{background:var(--navy);border-color:var(--navy);color:#fff}.draft-status{font-size:11px;color:var(--muted)}.model-answer{background:#eaf0f3;padding:24px;margin-top:25px}.model-answer h3{font-family:var(--serif);font-size:25px;font-weight:400}.model-answer p{font-size:13px}.self-review{border-top:1px solid #cad7e1;padding-top:16px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.self-review span{font-size:12px;font-weight:700;margin-right:6px}@media(max-width:700px){.workshop-banner{display:block}.workshop-banner>b{display:block;margin-top:15px}.workshop-task{padding:20px}.workshop-task h2{font-size:28px}}
/* Original material is displayed at its natural aspect ratio, with full-size access. */
.source-figure{margin:28px 0;background:#fff;border:1px solid var(--line);padding:12px;break-inside:avoid}.source-figure img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.source-figure figcaption{color:var(--muted);font-size:11px;padding:10px 3px 0;line-height:1.5}.source-figure figcaption a{color:var(--blue);text-decoration:underline}.translated-table{margin:32px 0}.translated-table figcaption{font-family:var(--serif);font-size:23px;margin-bottom:14px}.translated-table table{min-width:790px}.translated-table th{position:sticky;top:0}.translated-table td{vertical-align:top;line-height:1.6}.related-questions{margin:45px 0}.related-questions>h2,.given-data>h2,.written-answer>h2,.question-related>h2{font-size:30px;margin-bottom:20px}.past-paper-card{display:block;padding:24px;border:1px solid var(--line);background:#fff;margin-bottom:12px;transition:border-color .15s}.past-paper-card:hover{border-color:var(--blue)}.question-card-label{font-size:10px;color:var(--blue);text-transform:uppercase;font-weight:700;letter-spacing:.08em}.past-paper-card h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.2;margin:13px 0}.past-paper-card p{font-size:12px;color:var(--muted)}.question-card-bottom{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);line-height:1.5}.question-card-bottom b{color:var(--blue);white-space:nowrap}.paper-library{padding-bottom:90px}.past-paper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.paper-filters{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px}.paper-filters label{display:block;font-size:12px;font-weight:700;margin-bottom:9px}.paper-filters select,.paper-filters input{width:100%;padding:13px 12px;border:1px solid var(--line);background:#fff;border-radius:4px;color:var(--ink);font:inherit;font-size:13px}#question-count{color:var(--muted);font-size:12px;padding:15px 0}.question-page{max-width:900px;padding-block:45px 100px}.question-page h1{font-size:clamp(33px,4vw,53px);line-height:1.13;margin:20px 0}.question-task{font-size:17px;color:#34455a;margin:25px 0}.original-question{margin:26px 0;border:1px solid var(--line);background:#fff;padding:20px}.original-question summary{cursor:pointer;font-weight:700;font-size:14px;line-height:1.6}.original-question summary span{float:right;color:var(--muted);font-size:12px}.given-data{margin:40px 0;padding:25px;background:#eaf0f3;line-height:1.7}.given-data h3{font-size:15px;margin:20px 0 12px}.given-data p{white-space:normal;font-size:15px}.written-answer{margin:40px 0}.written-answer label{display:block;font-size:12px;margin-bottom:10px}.written-answer textarea{width:100%;font:inherit;padding:16px;line-height:1.6;min-height:170px;resize:vertical;border:1px solid var(--line);border-radius:4px;background:#fff}.written-answer textarea[readonly]{background:#f1f4f7}.written-answer textarea:focus{outline:2px solid #96b2cc}#submit-question{background:var(--navy);color:#fff}#question-status{font-size:12px;color:var(--muted);min-height:20px}.question-related{margin-top:45px}.question-related a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--blue)}.self-review [aria-pressed="true"]{background:var(--navy);color:#fff}.reference-content p{line-height:1.7;font-size:14px}#storage-error{background:#fff0dc;padding:16px;color:#86451e}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #789cc5;outline-offset:3px}@media(max-width:700px){.past-paper-grid,.paper-filters{grid-template-columns:1fr}.question-page{padding-top:30px}.original-question{padding:12px}.past-paper-card{padding:18px}.question-card-bottom{flex-wrap:wrap}.source-figure{padding:5px}.translated-table{margin-inline:0}.given-data{padding:17px}}
.introduction-content{max-width:800px;padding-bottom:90px}.introduction-content h2{font-size:30px;margin-bottom:30px}.introduction-content h3{margin-top:28px}.introduction-content h4{margin-bottom:0}.introduction-content p{color:#36465b}.intro-link a{display:inline-block;color:var(--blue);font-size:13px;font-weight:700;margin-top:18px}

/* Put the exam overview first in the learning path. */
.learn-page-hero{padding-top:58px}
.learn-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:55px;margin-top:17px}
.learn-hero-grid h1{margin:0 0 17px;font-size:clamp(45px,5.3vw,72px)}
.learn-hero-grid p{max-width:550px;margin:0;color:var(--muted);font-size:16px}
.exam-intro-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:30px 68px 30px 32px;background:var(--navy);color:#fff;border-radius:8px;box-shadow:0 18px 42px #16294522;transition:transform .2s,box-shadow .2s}
.exam-intro-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px #16294533}
.exam-intro-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;color:#efa47c}
.exam-intro-card strong{font-family:var(--serif);font-size:clamp(27px,2.6vw,35px);font-weight:400;line-height:1.12;margin:19px 0 12px}
.exam-intro-description{font-size:13px;line-height:1.5;color:#c6d3e1}
.exam-intro-arrow{position:absolute;right:29px;bottom:25px;font-size:29px;color:#efa47c}
.learn-page-hero .search-wrap{margin-top:36px}

/* Give the translated 3.6 forms the available width and wrap their English text. */
.lesson-shell-wide{width:min(1550px,calc(100% - 64px));grid-template-columns:220px minmax(0,1fr);gap:52px}
.lesson-shell-wide .lesson-article{min-width:0}
.lesson-shell-wide .translated-table .table-scroll{overflow-x:visible}
.lesson-shell-wide .translated-table table{width:100%;min-width:0;table-layout:fixed}
.lesson-shell-wide .translated-table th,.lesson-shell-wide .translated-table td{overflow-wrap:anywhere;hyphens:auto;padding:12px 14px}

@media(max-width:960px){.learn-hero-grid{gap:28px}.lesson-shell-wide{grid-template-columns:180px minmax(0,1fr);gap:26px}}
@media(max-width:700px){
 .learn-page-hero{padding-top:42px}
 .learn-hero-grid{display:block;margin-top:17px}
 .learn-hero-grid h1{font-size:clamp(42px,11vw,56px)}
 .exam-intro-card{margin-top:28px;min-height:210px;padding:26px 55px 26px 25px}
 .exam-intro-card strong{font-size:29px}
 .lesson-shell-wide{width:calc(100% - 38px)}
 .lesson-shell-wide .translated-table .table-scroll{border:0;background:transparent}
 .lesson-shell-wide .translated-table table,.lesson-shell-wide .translated-table tbody,.lesson-shell-wide .translated-table tr,.lesson-shell-wide .translated-table td{display:block;width:100%}
 .lesson-shell-wide .translated-table thead{display:none}
 .lesson-shell-wide .translated-table tr{margin-bottom:14px;border:1px solid var(--line);background:#fff}
 .lesson-shell-wide .translated-table td{border-bottom:1px solid var(--line);padding:12px 15px}
 .lesson-shell-wide .translated-table td:last-child{border-bottom:0}
 .lesson-shell-wide .translated-table td::before{content:attr(data-label);display:block;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
}
.graph-note-crop{aspect-ratio:989/1290;overflow:hidden;background:white}.graph-note-crop img{display:block;width:100%;height:auto;max-width:100%}.translated-graph-notes{background:#edf2f5;padding:18px;margin-top:15px}.translated-graph-notes h3{font-size:14px;margin:0 0 10px}.translated-graph-notes p{font-size:13px;line-height:1.7;margin:0}.expanded-graph{max-width:1030px;padding-block:35px 75px}.expanded-graph h1{font-size:36px;margin-bottom:25px}.visual-plot img{display:block;width:100%;height:auto}

/* A quieter interface: clear purpose, readable content, direct actions. */
:root{--paper:#fff;--ink:#1d1d1f;--navy:#1d1d1f;--muted:#6e6e73;--blue:#0066cc;--orange:#0066cc;--line:#e5e5e7;--serif:var(--sans)}
h1,h2,h3{font-weight:600;letter-spacing:-.035em}
h1 em,h2 em{font-style:normal;color:inherit;font-weight:600}
.site-header{background:#fafafc;border-color:#eee;height:72px}
.header-inner{max-width:1200px}
.brand-mark{background:#1d1d1f}.brand-mark span{color:#fff}
.brand-copy small{letter-spacing:.07em}
.desktop-nav a{font-weight:500}.desktop-nav a.active{border-color:var(--ink)}
.header-cta{border:0;color:var(--blue);font-weight:500}
.eyebrow,.section-kicker{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.button{border-radius:9px;font-size:15px;font-weight:500;padding:16px 22px;min-width:0;gap:24px}
.button-dark{background:#0071e3}.button-dark:hover{background:#0077ed;transform:none}
.button-outline{background:#fff;border:1px solid #d2d2d7;color:var(--ink)}
.button-outline:hover{background:#f5f5f7;transform:none}
.focused-home{max-width:1080px;padding-block:85px 90px}
.focused-home h1{font-size:clamp(46px,6.5vw,82px);line-height:1.06;letter-spacing:-.055em;margin:22px 0}
.home-purpose{font-size:22px;line-height:1.5;color:var(--muted);margin:0;max-width:670px}
.home-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.teacher-profile{border-top:1px solid var(--line);margin-top:65px;padding-top:28px;display:grid;grid-template-columns:230px minmax(0,620px);gap:28px}
.profile-label{font-size:15px;font-weight:600;line-height:1.65}
.teacher-profile p{font-size:17px;line-height:1.65;margin:0;color:#515154}
.learn-page-hero,.focused-page-hero{padding-block:42px 32px}
.learn-hero-grid{gap:40px;grid-template-columns:minmax(0,1fr) minmax(320px,440px);margin-top:16px}
.learn-hero-grid h1,.focused-page-hero h1{font-size:48px;line-height:1.1;margin:0 0 14px;font-weight:600}
.focused-page-hero h1{margin-top:16px}
.learn-hero-grid p,.focused-page-hero>p{font-size:16px;line-height:1.6;max-width:580px}
.exam-intro-card{background:#f5f5f7;color:var(--ink);border:1px solid #e5e5e7;box-shadow:none;min-height:180px;padding:24px 55px 24px 26px;border-radius:12px}
.exam-intro-card:hover{background:#eeeef1;transform:none;box-shadow:none}
.exam-intro-kicker{color:var(--blue);letter-spacing:.08em;font-size:10px}
.exam-intro-card strong{font-size:27px;font-weight:600;letter-spacing:-.035em;margin:13px 0 9px}
.exam-intro-description{color:var(--muted);font-size:13px}
.exam-intro-arrow{color:var(--blue);right:24px;bottom:23px}
.learn-page-hero .search-wrap{margin-top:27px}
.curriculum-section{padding-block:30px}.curriculum-heading h2{font-size:28px}
.curriculum-heading>span{color:var(--muted);padding-top:6px}
.lesson-card{min-height:165px;border-radius:10px;padding:22px}
.lesson-card h3{font-size:22px;font-weight:500;margin:19px 0}
.lesson-card:hover{transform:none;box-shadow:none;border-color:#a8a8ad}
.lesson-number{color:var(--muted)}
.lesson-card-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lesson-access-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:5px;background:#e7f0e8;color:#315d3d;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1}
.past-paper-card{border-radius:10px;transition:border-color .15s}
.past-paper-card h3{font-size:23px;font-weight:500}
.paper-filters select,.paper-filters input,.search-wrap input{border-radius:8px}
.site-footer{background:#f5f5f7;color:var(--muted);padding-top:35px}
.footer-brand{color:var(--ink);font-size:21px;font-weight:600}
.footer-links{color:var(--ink)}.footer-top{padding-bottom:28px}
.footer-bottom{border-color:#d2d2d7;font-size:11px;padding-top:18px}
.accent-dot{color:var(--ink)}
/* Lesson 3.6 uses the full reading width, with course navigation above it. */
.lesson-shell-wide{display:block;width:min(1480px,calc(100% - 64px))}
.lesson-shell-wide .lesson-sidebar{border:0;padding:0}
.lesson-shell-wide .lesson-sidebar nav,.lesson-shell-wide .sidebar-label{display:none}
.lesson-shell-wide .back-link{margin-bottom:28px}
.lesson-shell-wide .lesson-content>p{max-width:880px}
.lesson-shell-wide .translated-table table{min-width:0;width:100%;table-layout:fixed;font-size:14px}
.lesson-shell-wide .translated-table th{font-size:13px;position:static}
.lesson-shell-wide .translated-table td,.lesson-shell-wide .translated-table th{padding:16px;overflow-wrap:anywhere;white-space:normal}
.lesson-shell-wide .translated-table .table-scroll{overflow:visible;border-radius:10px}
@media(max-width:700px){
 .focused-home{padding-block:48px 55px}.focused-home h1{font-size:clamp(40px,10vw,60px);margin:18px 0}
 .home-purpose{font-size:19px}.home-actions{gap:10px;margin-top:26px}
 .home-actions .button{font-size:14px;padding:14px 17px}
 .teacher-profile{display:block;margin-top:42px;padding-top:23px}.teacher-profile p{margin-top:8px;font-size:16px}
 .learn-page-hero,.focused-page-hero{padding-block:30px 26px}
 .learn-hero-grid{display:block}.learn-hero-grid h1,.focused-page-hero h1{font-size:40px}
 .exam-intro-card{min-height:0;margin-top:22px;padding:21px 49px 21px 22px}
 .exam-intro-card strong{font-size:25px}.exam-intro-arrow{right:19px}
 .curriculum-heading{gap:16px}.curriculum-heading h2{font-size:25px}
 .lesson-card{min-height:150px}.site-footer{padding-top:30px}
 .lesson-shell-wide{width:calc(100% - 32px)}
 .lesson-shell-wide .translated-table table{font-size:14px}
 .lesson-shell-wide .translated-table .table-scroll{border:0}
 .lesson-shell-wide .translated-table tr{border-radius:9px}
 .lesson-shell-wide .translated-table td{padding:12px 15px}
}

/* Exam overview: a compact heading, aligned facts and a clear reading rhythm. */
.exam-overview{max-width:960px;padding-block:38px 76px}
.exam-overview-header .back-link{margin-bottom:30px}
.exam-overview-header h1{font-size:clamp(32px,4.2vw,46px);line-height:1.12;letter-spacing:-.04em;margin:16px 0 12px;max-width:760px}
.exam-overview-header>p{font-size:18px;line-height:1.5;color:var(--muted);margin:0}
.exam-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0 8px;padding:24px 0;background:#f5f5f7;border-radius:12px}
.exam-facts>div{padding:0 28px;border-right:1px solid #dedee2}
.exam-facts>div:last-child{border:0}
.exam-facts dt{font-size:12px;font-weight:500;color:var(--muted);margin-bottom:7px}
.exam-facts dd{font-size:28px;font-weight:600;letter-spacing:-.035em;line-height:1.2;margin:0}
.exam-detail-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;padding:25px 0;border-bottom:1px solid var(--line)}
.exam-overview h2{font-size:19px;line-height:1.5;letter-spacing:-.02em}
.exam-detail-row p{font-size:15px;line-height:1.7;margin:0;color:#515154;max-width:680px}
.exam-structure{padding-top:25px}
.exam-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:17px}
.exam-question-grid>section{border:1px solid var(--line);border-radius:10px;padding:22px}
.exam-question-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.exam-question-heading h3{font-size:17px;line-height:1.4;letter-spacing:-.02em}
.exam-question-heading span{font-size:12px;color:var(--muted);white-space:nowrap}
.exam-question-grid p{font-size:15px;line-height:1.65;color:#515154;margin:12px 0 0}
.exam-timing-note{font-size:17px;line-height:1.65;color:var(--ink);margin:22px 0 0;padding:20px 23px;background:#f5f5f7;border-left:4px solid #8b1e2d;border-radius:0 8px 8px 0}
.exam-timing-note>strong{display:block;font-size:15px;font-weight:600;color:#8b1e2d;margin-bottom:6px}
.exam-timing-note p{margin:0}
.exam-timing-note p strong{font-weight:600}
.exam-overview-action{margin-top:30px}
@media(max-width:700px){
 .exam-overview{padding-block:24px 52px}
 .exam-overview-header .back-link{margin-bottom:24px}
 .exam-overview-header h1{font-size:32px}
 .exam-overview-header>p{font-size:16px}
 .exam-facts{margin-top:25px;padding:19px 0}
 .exam-facts>div{padding:0 14px}.exam-facts dt{font-size:11px}.exam-facts dd{font-size:24px}
 .exam-detail-row{grid-template-columns:1fr;gap:7px;padding:21px 0}
 .exam-overview h2{font-size:18px}
 .exam-question-grid{grid-template-columns:1fr;gap:12px}
 .exam-question-grid>section{padding:19px}
}

/* Feedback stays within reach in the top navigation on every screen size. */
.feedback-link{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:10px 16px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap}
.feedback-link:hover{background:#f5f5f7;border-color:#a8a8ad}
@media(max-width:960px){.header-inner{gap:16px}.feedback-link{display:inline-flex}.menu-toggle{padding:4px}}
@media(max-width:380px){.header-inner{gap:10px}.feedback-link{padding:9px 12px}.brand-copy small{display:none}.brand-copy{font-size:15px}.brand{gap:9px}.brand-mark{width:33px;height:33px}}

.feedback-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 90px #0003;overflow-y:auto}
.feedback-dialog::backdrop{background:#0006}
.feedback-dialog h2{font-size:28px;line-height:1.2;padding-right:25px}
.feedback-close{position:absolute;right:17px;top:13px;background:transparent;border:0;font-size:28px;color:var(--muted);padding:4px 9px}
.feedback-intro{font-size:15px;color:var(--muted);line-height:1.6;margin:12px 0 23px}
.feedback-form label{display:block;font-size:14px;font-weight:600;margin-top:18px}
.feedback-form label span{font-weight:400;color:var(--muted);font-size:12px}
.feedback-form textarea,.feedback-form input[type=email]{display:block;box-sizing:border-box;width:100%;margin-top:8px;border:1px solid #c6c6cc;border-radius:8px;background:#fff;color:var(--ink);padding:12px;font:inherit;font-size:16px;font-weight:400;line-height:1.5}
.feedback-form textarea{min-height:140px;resize:vertical}
.feedback-form textarea:focus-visible{outline:3px solid #789cc5;outline-offset:2px}
.feedback-trap{display:none!important}
.feedback-privacy{font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0 20px}
.feedback-privacy a{text-decoration:underline}
.feedback-send{border:0;width:100%;justify-content:center}
.feedback-send:disabled{opacity:.6;cursor:wait}
.feedback-status{font-size:14px;line-height:1.6;margin:15px 0 0;color:#246342}
.feedback-status:empty{display:none}.feedback-status.is-error{color:#8b1e2d}
.feedback-page{max-width:620px;padding-block:45px 70px}.feedback-page h1{font-size:38px}
@media(max-width:700px){.feedback-dialog{padding:25px 21px}.feedback-dialog h2{font-size:25px}}
