:root{--ink:#203b37;--paper:#f7f6f1;--muted:#576761;--line:#d9dfd8;--accent:#245d4b}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:#137052}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ac6a1a;outline-offset:4px}header,main,footer{max-width:1220px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:30px 40px;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:20px;letter-spacing:2px;font-weight:750;text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:1.7px;margin-top:3px}nav{display:flex;gap:28px}nav a{font-size:14px;text-decoration:none}.hero{padding:85px 40px 90px;max-width:950px}.eyebrow{font-size:11px;letter-spacing:1.9px;font-weight:700;color:var(--accent)}h1,h2,h3{line-height:1.14;font-weight:500;margin:0 0 24px}h1{font-family:Georgia,serif;font-size:clamp(40px,5.5vw,72px);letter-spacing:-2px}h2{font-family:Georgia,serif;font-size:34px}h3{font-size:19px}.lead{font-size:23px}.intro{font-size:18px;color:var(--muted);max-width:650px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:3px;padding:13px 22px;min-height:48px;font:inherit;text-decoration:none;cursor:pointer}.button:hover{background:#183f33;color:white}.hero .button{margin-top:18px}.section{padding:50px 40px 70px;border-top:1px solid var(--line)}.section-heading{max-width:640px;margin-bottom:35px}.units{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.units a{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;min-height:165px}.units a:hover{background:#e9eee6}.units span{font:14px Georgia,serif;color:var(--accent);display:block;margin-bottom:20px}.units h3{margin:0}.note{padding:44px;margin:0 40px 60px;background:#e8ede5;max-width:850px}.note p{max-width:660px}footer{border-top:1px solid var(--line);padding:35px 40px;color:var(--muted);font-size:12px}footer p{max-width:820px}.library,.detail{padding:60px 40px 90px}.library h1{font-size:clamp(38px,5vw,56px)}.filters{margin:35px 0;padding:24px;background:white;border:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:end}.filters label{font-size:12px;font-weight:650}.filters .search{grid-column:1/-1}input,select{display:block;width:100%;margin-top:7px;background:white;border:1px solid #8a9b90;padding:12px;min-height:46px;font:14px system-ui;color:var(--ink)}.filters .button{grid-column:span 2}.filters>a{font-size:14px;padding:12px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.resource{background:white;border:1px solid var(--line);padding:25px}.resource h2{font-size:27px}.muted{color:var(--muted);font-size:13px}.empty{padding:55px 30px;text-align:center;border:1px dashed #a7b7ab;grid-column:1/-1}.empty h2{font-size:29px}.detail{max-width:900px}.detail>.eyebrow{margin-top:45px}.metadata{display:flex;gap:12px;flex-wrap:wrap}.metadata span{background:#e5ebe1;padding:5px 12px;font-size:13px}.body-text{margin:35px 0;overflow-wrap:anywhere}.actions{display:flex;gap:18px;flex-wrap:wrap}.secondary{background:transparent;color:var(--accent)}.pagination{margin-top:30px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:10px}@media(max-width:700px){header{padding:22px;align-items:start;flex-direction:column;gap:16px}nav a{min-height:44px;display:inline-flex;align-items:center}.hero{padding:48px 24px 55px}h1{letter-spacing:-1px}.section,.library,.detail{padding:35px 24px}.units{grid-template-columns:repeat(2,1fr)}.units a{padding:20px;min-height:170px}.note{margin:0 24px 40px;padding:26px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.resource-grid{grid-template-columns:1fr}footer{padding:28px 24px}}@media print{body{background:white;color:black;font:12pt/1.5 Georgia,serif}header nav,.filters,.actions,footer>a,.skip{display:none}header,.hero,.section,.library,.detail,footer{padding:20px 0}.note{margin:10px 0;padding:20px}.units a,.resource{break-inside:avoid}h1{font-size:32pt}h2{font-size:22pt}a{color:black}.detail{max-width:none}}