:root{--bg:#101820;--panel:#17232d;--ink:#f2ede3;--muted:#a7b3bc;--line:#35414b;--accent:#d4b58b;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{cursor:pointer}::selection{background:#d4b58b;color:#101820}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.skip{position:absolute;left:20px;top:-80px;background:var(--ink);color:var(--bg);padding:12px;z-index:30}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line);position:relative;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.brand{font-size:24px;letter-spacing:-1.2px;font-weight:700}.brand small{font-size:12px;color:var(--accent);letter-spacing:1px;margin-left:10px;font-weight:400}.navlinks{display:flex;gap:34px;align-items:center;font-size:14px}.navlinks a{padding:8px 0;color:var(--muted)}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--ink)}.navlinks a[aria-current=page]{border-bottom:1px solid var(--accent)}.nav-note{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted)}.menu{display:none;background:none;color:var(--ink);border:1px solid var(--line);padding:8px 14px}.eyebrow{font:11px/1.5 var(--sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:25px}.hero{padding:85px 0 75px;position:relative}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;align-items:center}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(54px,7vw,104px);letter-spacing:-4px;line-height:1.03;margin:0 0 28px;max-width:850px}.hero h1 em{font-weight:400;color:var(--accent)}.hero p{color:var(--muted);max-width:560px;font-size:17px;line-height:1.8}.hero.small h1{font-size:clamp(48px,6vw,80px)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:14px 21px;background:var(--ink);color:var(--bg);font-size:13px;border:1px solid var(--ink);transition:transform .2s,background .2s}.button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--accent)}.hero-art{height:470px;position:relative;background:#131f29;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #2c3842}.hero-art svg{width:100%;height:100%}.art-caption{position:absolute;bottom:23px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;gap:20px}.stat b{display:block;font:34px/1.4 var(--serif);color:var(--ink)}.stat span{font-size:12px;color:var(--muted)}.section{padding:75px 0}.section+.section{border-top:1px solid var(--line)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:34px}.section-head h2,h2{font:400 clamp(29px,4vw,47px)/1.15 var(--serif);letter-spacing:-1px;margin:0 0 17px}.section-head h2{margin:0}.section-head p{margin:0;max-width:490px;color:var(--muted);font-size:14px}.text-link{font-size:13px;border-bottom:1px solid var(--accent);padding-bottom:4px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);padding:30px;background:var(--panel);position:relative;display:block;transition:transform .2s,border-color .2s}.card:hover{border-color:#a79072;transform:translateY(-3px)}.card .num{font-size:11px;color:var(--accent);letter-spacing:1px}.card h3{font:400 29px/1.2 var(--serif);margin:25px 0 15px}.card p{color:var(--muted);font-size:14px;margin:0 0 24px}.card .arrow{font-size:21px;position:absolute;right:25px;bottom:22px;color:var(--accent)}.tag{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--accent)}.banner{display:grid;grid-template-columns:1fr 1fr;min-height:390px;background:#e5decf;color:#17232d}.banner-copy{padding:50px}.banner-copy h2{font-size:48px}.banner-copy p{color:#52606b}.banner .eyebrow{color:#6a5033}.banner-art{background:#1e303a;overflow:hidden}.banner-art svg{width:100%;height:100%;min-height:300px}.breadcrumbs{padding-top:32px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}.breadcrumbs span{color:var(--ink)}.breadcrumbs a:hover{color:var(--accent)}.page-intro{max-width:710px}.row{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:32px 0;border-top:1px solid var(--line)}.row .date{color:var(--accent);font-size:12px;letter-spacing:1px}.row h3{font:400 28px/1.3 var(--serif);margin:0 0 12px}.row p{color:var(--muted);max-width:730px;margin:0 0 12px}.row ul{color:var(--muted);padding-left:18px;max-width:750px}.row .meta{font-size:12px;color:var(--accent);margin-bottom:15px}.tags{display:flex;gap:10px;flex-wrap:wrap}.pill{padding:6px 12px;border:1px solid var(--line);font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:20px;margin:34px 0;align-items:center;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px;flex:1;min-width:190px}.field label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}input,select{width:100%;border:1px solid var(--line);padding:12px 14px;background:var(--panel);color:var(--ink);border-radius:0}.result-count{font-size:12px;color:var(--muted);margin:15px 0}.country{padding:0;background:transparent;overflow:hidden}.country .cover{height:215px;position:relative;background:#1e303a;overflow:hidden}.country img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.country:hover img{transform:scale(1.04)}.country .info{padding:23px}.country h3{font:400 25px/1.2 var(--serif);margin:8px 0 12px}.country .country-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.flag{font-family:Arial,sans-serif;font-size:23px}.rating{color:var(--accent);font-size:13px}.first-order{position:absolute;left:15px;top:15px;padding:3px 8px;background:#101820dd;color:#f2ede3;font-size:10px;letter-spacing:1px}.cover-fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;color:#b3c0cb;font:40px var(--serif);background:repeating-linear-gradient(25deg,#172731,#172731 1px,#20323b 1px,#20323b 50px)}.cover.failed .cover-fallback{display:flex}.cover.failed img{display:none}.country-cover{margin-top:25px;position:relative;aspect-ratio:2.3;background:#1e303a;overflow:hidden}.country-cover img{width:100%;height:100%;object-fit:cover}.country-cover .cover-fallback{font-size:65px}.image-caption{font-size:11px;color:var(--muted);margin-top:10px}.country-head{display:flex;justify-content:space-between;align-items:center;gap:25px}.country-head .big-rating{font:60px/1 var(--serif);color:var(--accent);white-space:nowrap}.country-head .big-rating small{font:14px var(--sans);color:var(--muted)}.pagination{display:flex;justify-content:space-between;gap:25px;padding:35px 0;border-top:1px solid var(--line);margin-top:30px}.pagination a{font-size:13px}.movie-list{border-top:1px solid var(--line)}.movie{display:grid;grid-template-columns:55px 1fr 110px 85px;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.movie .number{font-size:12px;color:var(--muted)}.movie h3{margin:0;font:400 22px/1.2 var(--serif)}.movie .status{font-size:11px;color:var(--muted)}.movie.watched .status{color:var(--accent)}.movie .score{text-align:right;color:var(--accent);font-size:13px}.progress{height:4px;background:var(--line);margin-top:15px}.progress span{display:block;height:100%;background:var(--accent)}.wide-art{height:330px;border:1px solid var(--line);background:#14232d;margin:25px 0;overflow:hidden}.wide-art svg{width:100%;height:100%}.note{border-left:2px solid var(--accent);padding:4px 0 4px 20px;color:var(--muted);font-size:14px;max-width:740px}.mapbox{border:1px solid var(--line);background:#14212a;padding:22px;margin-bottom:40px}.mapbox svg{width:100%;height:auto;display:block}.map-country{fill:#263743;stroke:#101820;stroke-width:.35}.map-country.visited{fill:#bca07d;cursor:pointer}.map-country.visited:hover,.map-country.visited:focus{fill:#f2ede3;stroke:#fff;outline:none}.map-status{min-height:30px;color:var(--muted);font-size:12px}.map-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;gap:15px}.quote{font:400 clamp(34px,5vw,62px)/1.2 var(--serif);max-width:850px}.footer{padding:42px 0 26px;border-top:1px solid var(--line);margin-top:50px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:35px}.footer-brand p{font-size:13px;color:var(--muted);max-width:300px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.footer-links h3{font-size:11px;text-transform:uppercase;color:var(--accent);letter-spacing:1px;margin:0 0 12px}.footer-links a{display:block;color:var(--muted);font-size:12px;margin:7px 0}.footer-links a:hover{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:10px;letter-spacing:.5px}.empty{padding:40px 20px;border:1px solid var(--line);color:var(--muted);text-align:center}[hidden]{display:none!important}.discovery-art{height:200px;margin:-30px -30px 25px;overflow:hidden;background:#20313c}.discovery-art svg{height:100%;width:100%}details{border-top:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font:24px var(--serif)}details p{color:var(--muted);max-width:740px}.skill-category{padding:28px 0;border-top:1px solid var(--line)}.skill-category h3{font:27px var(--serif);margin:0 0 16px}@media(min-width:1400px){.hero{padding-top:100px}}@media(max-width:900px){.wrap{width:calc(100% - 42px)}.hero-grid{grid-template-columns:1fr 1fr;gap:22px}.hero h1{font-size:62px;letter-spacing:-2px}.hero-art{height:390px}.nav-note{display:none}.grid{grid-template-columns:repeat(2,1fr)}.banner-copy{padding:30px}.footer-links{gap:20px}.row{grid-template-columns:150px 1fr;gap:25px}.country .cover{height:200px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.nav{min-height:78px}.brand small{display:none}.menu{display:block}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);padding:20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:12px}.navlinks.open{display:flex}.hero{padding:50px 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:62px}.hero p{font-size:15px}.hero-art{height:335px;margin-top:20px}.stats{grid-template-columns:repeat(2,1fr);gap:25px}.stat b{font-size:30px}.section{padding:48px 0}.section-head{align-items:flex-start;flex-direction:column;gap:15px}.grid,.grid.two{grid-template-columns:1fr}.card{padding:26px}.card h3{font-size:27px}.banner{grid-template-columns:1fr}.banner-copy h2{font-size:40px}.banner-art{height:270px}.row{grid-template-columns:1fr;gap:10px}.footer-top{flex-direction:column}.footer-links{grid-template-columns:repeat(3,1fr);gap:14px}.footer-bottom{gap:15px;flex-wrap:wrap}.country-head{align-items:flex-start}.country-head h1{font-size:52px;letter-spacing:-2px}.country-head .big-rating{font-size:35px;margin-top:12px}.country-cover{aspect-ratio:1.2}.country .cover{height:230px}.movie{grid-template-columns:32px 1fr 65px;gap:10px}.movie .status{grid-column:2;font-size:10px}.movie .score{grid-column:3;grid-row:1 / span 2}.movie h3{font-size:20px}.wide-art{height:260px}.discovery-art{margin:-26px -26px 22px}.pagination a{max-width:46%}.mapbox{padding:10px}.map-caption{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.exam-score{font:55px var(--serif);color:var(--accent)}.exam-score small{font:14px var(--sans);color:var(--muted)}.records{margin-bottom:45px}.records .card h3{font-size:35px}.record-note{border-top:1px solid var(--line);padding-top:15px}.entry-image{max-width:100%;height:auto;max-height:450px;object-fit:contain;display:block;margin:22px 0}.social-links{display:flex;gap:28px;flex-wrap:wrap;padding-bottom:28px}.preview-banner{padding:14px 20px;text-align:center;background:var(--accent);color:var(--bg);font-size:12px;letter-spacing:1px}.preview-banner a{text-decoration:underline}
.personal-stats{padding-top:20px;margin-bottom:20px}.personal-stats h2{font-size:34px}.personal-stats .stats{margin-top:25px}.personal-stats .stat span{display:block;font-size:11px}.personal-stats .stat:hover b{color:var(--accent)}.stats-link{font-size:12px;margin:20px 0}.streak-summary{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.streak-number{font:65px var(--serif);color:var(--accent)}.streak-number small{display:block;font:14px var(--sans);color:var(--muted)}.milestone-track{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);margin:35px 0}.milestone{padding:25px 8px 15px;border-top:2px solid var(--line);min-width:0}.milestone.completed{border-color:var(--accent)}.milestone b{display:block;font:25px var(--serif)}.milestone span{font-size:10px;color:var(--muted)}.milestone.future{opacity:.55}.history-milestone{display:flex;justify-content:space-between;gap:20px;font-size:13px;padding:15px 0;border-bottom:1px solid var(--line)}.history-milestone span{color:var(--muted)}.financial-record{background:var(--panel);border:1px solid var(--line);padding:30px;margin-bottom:30px}.financial-record h3{font:45px var(--serif);color:var(--accent);margin:10px 0}.workbook-structure{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:30px 0}.workbook-structure article{border-top:2px solid var(--accent);padding-top:20px}.workbook-structure h3{font:26px var(--serif);margin:0 0 15px}.workbook-structure p{font-size:13px;color:var(--muted)}.chart-panel{margin-top:35px;border:1px solid var(--line);padding:30px;background:var(--panel)}.chart-panel h3{font:30px var(--serif);margin:15px 0}.chart-panel svg{display:block;width:100%;height:auto}.chart-panel details{margin-top:15px}.chart-panel summary{font:14px var(--sans)}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:12px;border-bottom:1px solid var(--line)}thead th{font-weight:400;color:var(--accent)}caption{text-align:left;font-size:12px;color:var(--muted);padding:15px 0}.finance-demo{border:1px solid var(--line);margin-top:30px;padding:30px}.finance-demo h3{font:32px var(--serif);margin:0 0 15px}.finance-demo p{color:var(--muted);font-size:14px}.demo-summary{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);padding:25px 0;margin-top:25px}.demo-summary .field{flex:0 1 200px}.demo-summary span{font-size:12px;color:var(--muted)}.demo-summary b{display:block;font:45px var(--serif);color:var(--accent)}#demo-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px}#demo-form .field{min-width:0}#demo-form button{grid-column:1/-1;justify-self:start}.demo-chart{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:25px 0;font-size:12px}.bar-track{height:12px;background:var(--line);margin-top:12px}.bar-track span{display:block;height:100%;background:var(--accent);transition:width .2s}.demo-chart>div:last-child .bar-track span{background:#91a8b4}.table-scroll{overflow:auto;margin-bottom:25px}.workbook-screenshot{margin:0}.workbook-screenshot img{max-width:100%;height:auto}.workbook-screenshot figcaption{color:var(--muted);font-size:12px;margin-top:10px}@media(max-width:850px){.workbook-structure{grid-template-columns:repeat(2,1fr)}#demo-form{grid-template-columns:1fr 1fr}.milestone-track{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.personal-stats h2{font-size:30px}.streak-summary{grid-template-columns:1fr}.streak-number{font-size:55px}.milestone-track{grid-template-columns:repeat(3,1fr)}.workbook-structure{grid-template-columns:1fr}.chart-panel,.finance-demo{padding:18px}.chart-panel svg{margin:0 -8px;width:calc(100% + 16px)}.demo-summary{flex-direction:column;align-items:stretch}.demo-summary .field{flex:auto}.demo-summary b{font-size:34px}#demo-form{grid-template-columns:1fr}.demo-chart{grid-template-columns:1fr}th,td{padding:9px}.financial-record h3{font-size:34px}}
.country-head>div:first-child{min-width:0;flex:1}.country-head h1{overflow-wrap:anywhere}.chart-panel{overflow-x:auto}.chart-panel svg{min-width:700px}@media(max-width:600px){.chart-panel svg{width:700px;min-width:700px;margin:0}.country-head .big-rating{flex:0 0 auto}.hero h1{overflow-wrap:anywhere}}
.photo-hero{margin:0;max-width:415px;justify-self:end;height:auto!important;aspect-ratio:2/3;overflow:hidden}.photo-hero img{width:100%;height:100%;object-fit:contain;display:block}.personal-photo{margin:0;max-width:680px;background:var(--panel);border:1px solid var(--line)}.personal-photo img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain}.personal-photo figcaption,.photo-hero figcaption{padding:15px 20px;color:var(--muted);font-size:12px}.social-links a{display:inline-flex;align-items:center;gap:8px}.recipe-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:55px;padding:35px 0}.recipe-layout h2{font-size:35px}.recipe-ingredients{border-top:2px solid var(--accent);padding-top:25px;align-self:start}.recipe-ingredients ul{padding-left:20px;color:var(--muted)}.recipe-ingredients li{margin:14px 0}.recipe-ingredients .text-link{font-size:11px;white-space:normal}.recipe-method{list-style:none;counter-reset:recipe;padding:0}.recipe-method li{counter-increment:recipe;position:relative;padding:20px 0 20px 50px;border-bottom:1px solid var(--line);color:var(--muted)}.recipe-method li:before{content:counter(recipe,decimal-leading-zero);position:absolute;left:0;top:20px;color:var(--accent);font-size:12px}.campaign-summary{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:20px 0 35px}.campaign-summary b{font:60px var(--serif);color:var(--accent)}.campaign-summary h2{font-size:34px}.campaign-summary p{color:var(--muted);font-size:13px}.campaign-progress{height:7px}.world-nav{display:flex;flex-wrap:wrap;gap:12px;margin:35px 0}.world-nav a{border:1px solid var(--line);padding:8px 12px;color:var(--muted);font-size:11px}.world-nav a:hover{color:var(--accent);border-color:var(--accent)}.campaign-world{padding:0;margin:15px 0;border:1px solid var(--line);background:var(--panel);scroll-margin-top:30px}.campaign-world summary{display:flex;gap:25px;align-items:center;padding:25px;font:inherit;list-style:none;cursor:pointer}.campaign-world summary::-webkit-details-marker{display:none}.world-number{font:40px var(--serif);color:var(--muted);min-width:45px}.campaign-world.completed .world-number{color:var(--accent)}.campaign-world.current{border-color:var(--accent)}.campaign-world strong{display:block;font:31px var(--serif);margin-top:6px}.world-check{margin-left:auto;font-size:24px;color:var(--accent)}.campaign-world>p{margin:0 25px 20px;color:var(--muted)}.campaign-world>.progress{margin:0 25px 25px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:0 25px 25px}.achievement{padding:20px;border:1px solid var(--line);background:var(--bg)}.achievement.reached{border-top:2px solid var(--accent)}.achievement.upcoming{opacity:.65}.achievement h3{font:25px/1.2 var(--serif);margin:13px 0}.achievement p{font-size:11px;color:var(--muted)}@media(max-width:900px){.achievement-grid{grid-template-columns:repeat(2,1fr)}.photo-hero{max-width:100%}}@media(max-width:600px){.photo-hero{width:100%;max-width:340px;justify-self:center}.recipe-layout{grid-template-columns:1fr;gap:35px}.campaign-summary{grid-template-columns:1fr;gap:20px}.campaign-summary b{font-size:48px}.achievement-grid{grid-template-columns:1fr;padding:0 18px 18px}.campaign-world summary{padding:18px;gap:15px}.campaign-world strong{font-size:27px}.world-number{font-size:30px;min-width:35px}.world-nav{gap:8px}.world-nav a{padding:7px 9px}.personal-photo img{max-height:none}}
