:root{--ink:#183b58;--blue:#176b9d;--blue-dark:#124d72;--paper:#f5f8fa;--white:#fff;--line:#d5e2ea;--muted:#4f6474;--accent:#e99a32;--pale:#e5f1f7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#263e50;background:var(--paper);font:16px/1.65 Verdana,Arial,sans-serif}
a{color:#12628f;text-decoration:underline;text-underline-offset:3px}
a:hover{color:#0b4568}
a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip-link{position:absolute;z-index:30;top:-60px;left:12px;background:#fff;padding:10px 16px}
.skip-link:focus{top:12px}
.site-header{background:#fff;border-bottom:1px solid #b8cfdb}
.header-inner{max-width:1200px;margin:auto;padding:25px 22px 19px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand-mark{width:55px;height:55px;border-radius:8px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font:700 27px/1 'Trebuchet MS',Arial,sans-serif;letter-spacing:-2px;box-shadow:inset 0 -5px 0 #0c2b43}
.brand-mark span{color:#f7ad46;font-size:20px;align-self:flex-start;margin-top:7px;margin-left:1px}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font:700 30px/1.1 'Trebuchet MS',Arial,sans-serif;letter-spacing:-.7px}
.brand-text small{margin-top:5px;font:15px/1.2 Verdana,Arial,sans-serif;color:#587389}
.header-note{margin:0;max-width:210px;color:#6b8595;font:14px/1.45 'Trebuchet MS',Arial,sans-serif;text-align:right}
.top-nav{background:var(--blue-dark);padding:0 max(22px,calc((100vw - 1156px)/2));display:flex;flex-wrap:wrap;gap:0}
.top-nav a{display:block;padding:13px 20px;color:#fff;text-decoration:none;font:700 15px/1.35 'Trebuchet MS',Arial,sans-serif;border-right:1px solid rgba(255,255,255,.18)}
.top-nav a:first-child{border-left:1px solid rgba(255,255,255,.18)}
.top-nav a:hover,.top-nav a:focus-visible{background:#1d729e;color:#fff}
.page-shell{max-width:1200px;margin:30px auto 55px;padding:0 22px;display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:28px;align-items:start}
main{min-width:0}
.sidebar{padding-top:0}
.sidebar-block{background:#fff;border:1px solid var(--line);border-top:4px solid #4c9bc1;margin-bottom:18px;padding:18px 19px}
.sidebar-block h2{color:var(--ink);font:700 20px/1.2 'Trebuchet MS',Arial,sans-serif;margin:0 0 14px}
.sidebar-block ul{list-style:none;padding:0;margin:0}
.sidebar-block li{border-top:1px solid #e4ebef;padding:8px 0}
.sidebar-block li:first-child{border-top:0}
.sidebar-block a{font-size:14px}
.sidebar-note{border-top-color:var(--accent)}
.sidebar-note p{font-size:14px;line-height:1.55;margin:0}
.hero{min-height:310px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);overflow:hidden}
.hero-copy{padding:35px 37px 38px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-kicker{margin:0 0 8px;color:#4b7c99;font:700 13px/1.4 'Trebuchet MS',Arial,sans-serif}
h1,h2,h3{font-family:'Trebuchet MS',Arial,sans-serif;color:var(--ink)}
.hero h1{font-size:clamp(32px,3.7vw,47px);line-height:1.08;letter-spacing:-1.2px;margin:0 0 17px}
.hero-copy>p:not(.hero-kicker){max-width:560px;margin:0 0 23px;color:#3c5365;font-size:16px;line-height:1.6}
.hero-link{display:inline-block;background:var(--blue-dark);color:#fff;padding:10px 19px;font:700 15px/1.4 'Trebuchet MS',Arial,sans-serif;text-decoration:none}
.hero-link:hover{background:var(--blue);color:#fff}
.hero-art{position:relative;min-height:310px;overflow:hidden;background:linear-gradient(180deg,#d8eef8 0%,#9bcbe0 60%,#eaf3ec 61%,#f2f7ee 100%);border-left:1px solid #d9e8ee}
.hero-art:before{content:"";position:absolute;inset:15px;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);background-size:20px 20px;border:1px solid rgba(255,255,255,.7)}
.art-sun{position:absolute;left:27%;top:23%;width:76px;height:76px;background:#f4c57a;border-radius:50%;box-shadow:0 0 0 11px rgba(255,255,255,.35)}
.art-hill{position:absolute;width:120%;height:85%;bottom:-42%;left:-12%;border-radius:50% 50% 0 0;transform:rotate(-9deg)}
.art-hill-back{background:#5d9eb7;bottom:-50%;left:15%;transform:rotate(15deg)}
.art-hill-front{background:#28769a;bottom:-58%}
.art-crosshair{position:absolute;inset:25px;border:1px dashed rgba(19,78,112,.55)}
.art-crosshair:before,.art-crosshair:after{content:"";position:absolute;background:#194f70}
.art-crosshair:before{height:1px;width:32px;top:20%;left:-16px}
.art-crosshair:after{width:1px;height:32px;top:calc(20% - 16px);left:0}
.home-section,.text-panel,.lesson,.page-intro{background:#fff;border:1px solid var(--line)}
.home-section{margin-top:24px;padding:26px 28px 30px}
.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:2px solid var(--ink);padding-bottom:13px;margin-bottom:8px}
.section-heading h2{font-size:28px;line-height:1.2;margin:0}
.section-heading p{margin:0;color:var(--muted);font-size:13px}
.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.lesson-card{padding:20px 0 19px;border-bottom:1px solid #dce8ed;min-width:0}
.lesson-category{display:inline-block;color:#336c89;font:700 12px/1.3 'Trebuchet MS',Arial,sans-serif;border-left:3px solid var(--accent);padding-left:8px}
.lesson-card h3{font-size:20px;line-height:1.24;margin:9px 0 7px;overflow-wrap:anywhere}
.lesson-card h3 a{color:var(--ink);text-decoration:none}
.lesson-card h3 a:hover{text-decoration:underline}
.lesson-card p{margin:0 0 10px;font-size:14px;line-height:1.5;color:#495f70}
.read-link{font:700 14px/1.4 'Trebuchet MS',Arial,sans-serif}
.all-link{margin:24px 0 0;text-align:right;font:700 15px/1.4 'Trebuchet MS',Arial,sans-serif}
.page-intro{padding:25px 30px;margin-bottom:20px;border-left:5px solid var(--blue)}
.page-intro h1{font-size:34px;line-height:1.16;margin:0 0 10px}
.page-intro p{margin:0;color:#486072;max-width:65ch}
.lesson-group{background:#fff;border:1px solid var(--line);margin-bottom:18px;padding:20px 27px 25px;scroll-margin-top:12px}
.lesson-group h2{font-size:25px;margin:0;border-bottom:2px solid var(--ink);padding-bottom:10px}
.text-panel{padding:22px 30px}
.text-panel h2{font-size:23px;margin:8px 0 10px}
.text-panel p,.text-panel li{max-width:68ch}
.text-panel ul{padding-left:24px}
.text-panel li{padding:3px 0}
.breadcrumbs{font-size:13px;margin-bottom:15px;color:#657987}
.breadcrumbs span{padding:0 9px}
.lesson{padding:30px 38px 36px}
.lesson h1{font-size:clamp(29px,3vw,39px);line-height:1.18;letter-spacing:-.7px;overflow-wrap:anywhere;margin:11px 0 17px}
.lesson .lead{font-size:17px;line-height:1.62;color:#3c5668;max-width:68ch;margin:0 0 25px}
.lesson-rule{height:34px;display:flex;gap:5px;align-items:center;margin:0 0 20px}
.lesson-rule span{display:block;height:7px;width:48px;background:#1e668d}
.lesson-rule span:nth-child(2){background:#7fb0c7;width:23px}.lesson-rule span:nth-child(3){background:#e7a044;width:12px}
.lesson h2{font-size:25px;margin:0 0 14px}
.steps{list-style:none;counter-reset:step;padding:0;margin:0}
.steps li{counter-increment:step;position:relative;padding:0 0 18px 45px;margin-bottom:15px;border-bottom:1px solid #e2ebf0;max-width:72ch}
.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:29px;height:29px;border:1px solid #b8d2df;color:var(--blue-dark);display:grid;place-items:center;font:700 14px/1 'Trebuchet MS',Arial,sans-serif}
.tip{background:#e9f3f7;border-left:4px solid #4e9cc1;padding:16px 19px;margin:22px 0}
.tip strong{font-family:'Trebuchet MS',Arial,sans-serif;color:var(--ink)}
.tip p{margin:4px 0 0;max-width:70ch}
.back-link{margin:25px 0 0}
.error-page .error-code{font:700 45px/1 'Trebuchet MS',Arial,sans-serif;color:#6c9bb3;margin:0 0 11px}
.error-page .hero-link{margin-top:20px}
.site-footer{background:#183b58;color:#d8e8ef;padding:20px 22px;font-size:13px}
.site-footer>div{max-width:1156px;margin:auto;display:flex;flex-wrap:wrap;gap:10px 25px;align-items:center}
.site-footer a{color:#fff}
@media(max-width:920px){.page-shell{grid-template-columns:minmax(0,1fr) 215px;gap:18px}.hero{grid-template-columns:minmax(0,1.25fr) minmax(190px,.75fr)}.hero-copy{padding:28px}.section-heading{display:block}.section-heading p{margin-top:4px}}
@media(max-width:700px){.header-inner{padding:18px 16px}.header-note{display:none}.top-nav{padding:0 8px}.top-nav a{padding:12px 13px}.page-shell{display:block;margin:18px auto 35px;padding:0 13px}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.sidebar-block{margin:0}.hero{grid-template-columns:1fr}.hero-art{min-height:175px;border-left:0;border-top:1px solid #d9e8ee}.hero-copy{padding:25px}.home-section{padding:21px}.lesson{padding:24px}.lesson-group{padding:20px}.page-intro{padding:22px}}
@media(max-width:480px){body{font-size:15px}.brand-mark{width:46px;height:46px;font-size:23px}.brand-text strong{font-size:23px}.brand-text small{font-size:12px}.top-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#0d4669;padding:1px}.top-nav a,.top-nav a:first-child{border:0;text-align:center;background:var(--blue-dark);padding:11px 5px;font-size:13px}.hero h1{font-size:33px}.hero-copy>p:not(.hero-kicker){font-size:15px}.lesson-grid{grid-template-columns:1fr}.sidebar{display:block}.sidebar-block{margin-bottom:12px}.section-heading h2{font-size:25px}.page-intro h1{font-size:29px}.lesson h1{font-size:29px}.lesson .lead{font-size:16px}.lesson-card{padding:17px 0}.site-footer>div{display:block}.site-footer span,.site-footer a{display:block;margin:4px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
