@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#143f32;--deep:#0d2e25;--gold:#9f8b56;--ink:#17362b;--paper:#fff;--line:#dce2dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #b4963e;outline-offset:5px}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;background:white;z-index:10}.topline{text-align:center;background:var(--green);color:white;padding:9px;font-size:11px;letter-spacing:2px}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 6%}.brand{display:flex;gap:12px;align-items:center}.brand img{height:56px;width:56px;object-fit:contain}.brand span{font-size:23px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2.4px;font-weight:500}nav{display:flex;gap:36px;font-size:14px}nav a:hover{color:var(--gold)}nav span{margin-left:9px}.hero{background:#f4f5f0;display:grid;grid-template-columns:47% 53%;position:relative}.hero-copy{padding:60px 10% 58px 13%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 22px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.04;margin:0}h1{font-size:clamp(56px,6.8vw,100px);letter-spacing:-2px}em{font-weight:400;color:var(--gold)}.hero-copy>p:not(.eyebrow){max-width:380px;margin:25px 0;font-size:17px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:#fff;padding:15px 23px;border:0;font-size:14px;font-weight:600}.button:hover{background:#245a45}.button span{font-size:20px}.textlink{display:block;margin-top:19px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.hero figure{margin:0;min-width:0;position:relative}.hero figure>img{width:100%;height:100%;object-fit:cover;object-position:45% center;position:absolute}.hero figcaption{position:absolute;bottom:20px;left:24px;right:24px;color:white;font-size:10px;letter-spacing:1px;text-shadow:0 1px 4px #000;background:#143f3280;padding:8px 12px;display:flex;justify-content:space-between;gap:8px}.hero figcaption span{letter-spacing:0}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:16px 6%;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.8px}.section{max-width:1440px;margin:auto;padding:85px 6%}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:35px}.section-title .eyebrow{margin-bottom:16px}h2{font-size:clamp(36px,4vw,55px)}.section-title>p{font-size:14px;color:#657168;margin:0}.lesson-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:55px}.featured{background:var(--green);color:#fff;padding:34px 38px;position:relative;overflow:hidden}.tag{font-size:10px;letter-spacing:1.6px}.lesson-number{font:150px/1 Georgia,serif;position:absolute;right:25px;top:35px;color:#ffffff12}.featured h3{font-size:48px;margin-top:47px;position:relative}.featured p{max-width:320px;color:#d9e5dc}.meta{font-size:10px;letter-spacing:1.5px;margin:24px 0}.light{background:#fff;color:var(--green)}.light:hover{background:#e5e9df}.lesson-list>button{display:flex;text-align:left;gap:20px;width:100%;border:0;border-bottom:1px solid var(--line);padding:25px 0;background:none;color:var(--green);align-items:center}.lesson-list>button:first-child{padding-top:8px}.lesson-list>button:hover strong{text-decoration:underline}.lesson-list .num{color:var(--gold);font-size:14px;align-self:flex-start;padding-top:5px}.lesson-list small{display:block;font-size:10px;letter-spacing:1.4px;color:#6c756e}.lesson-list strong{display:block;font-size:22px;margin:5px 0;font-weight:500}.lesson-list button span span{font-size:14px;color:#657168}.lesson-list b{margin-left:auto;font-weight:400}.monthly{display:flex;gap:15px;margin-top:25px;padding:16px;background:#f4f5f0;font-size:14px}.monthly>span{color:var(--gold);font-size:25px}.monthly p{margin:0}.monthly strong{font-size:14px}.stories{border-top:1px solid var(--line)}.discovery-intro{max-width:740px;color:#637168;font-size:15px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.filters button{border:1px solid #ccd5cd;background:white;border-radius:30px;padding:9px 18px;font-size:14px;color:var(--green)}.filters .active{background:var(--green);color:white;border-color:var(--green)}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.source-card{border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;min-height:230px}.source-card:hover{border-color:var(--gold)}.source-card small{font-size:10px;letter-spacing:1.3px;color:#6b756e}.source-card h3{font-size:32px;margin:20px 0 10px}.source-card p{font-size:14px;margin:0 0 20px;color:#657168}.source-card a{font-size:13px;font-weight:700;margin-top:auto}.source-note{font-size:12px;color:#6c756e;margin-top:20px}.mission{background:var(--green);color:white;text-align:center;padding:75px 20px}.mission h2{font-size:clamp(40px,5vw,65px)}.mission p:last-child{max-width:670px;margin:25px auto 0;color:#dce6df}.mission em{color:#c6b57f}.shop{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.shop-mark{background:#f4f5f0;display:grid;place-items:center;min-height:360px;padding:50px}.shop-mark img{width:250px;max-width:100%;height:auto}.shop h2{font-size:58px}.shop p{max-width:360px}.coming{display:inline-block;border-bottom:1px solid var(--gold);padding:12px 0;font-size:12px;letter-spacing:1.8px}.shop-note{font-size:13px;color:#6c756e}footer{border-top:1px solid var(--line);padding:35px 6%;display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:13px}.footer-brand{font-size:20px;letter-spacing:2px;font-weight:700}footer p{margin-right:auto;color:#657168}footer small{flex-basis:100%;font-size:12px;color:#657168}dialog{border:0;max-width:680px;width:calc(100% - 32px);padding:45px;max-height:85vh;color:var(--green)}dialog::backdrop{background:#071e18b8;backdrop-filter:blur(4px)}dialog h2{font-size:42px;margin:20px 0}dialog li{margin:14px 0}dialog a{text-decoration:underline}dialog .close{position:absolute;right:15px;top:5px;background:none;border:0;font-size:32px;color:var(--green)}@media(max-width:850px){header{padding:18px 5%}nav{gap:16px;font-size:12px}.brand span{font-size:19px}.hero-copy{padding:40px 10%}.hero{grid-template-columns:1fr 1fr}h1{font-size:62px}.section{padding:60px 5%}.lesson-layout{gap:25px}.source-grid{grid-template-columns:repeat(2,1fr)}.shop{gap:35px}.shop h2{font-size:44px}}@media(max-width:600px){header{flex-wrap:wrap;gap:18px}.brand img{width:45px;height:45px}nav{width:100%;justify-content:space-between;font-size:14px}.hero{display:flex;flex-direction:column}.hero-copy{padding:35px 6% 40px}h1{font-size:64px}.hero figure{height:340px}.hero-bottom{font-size:9px;gap:20px}.hero-bottom span:last-child{display:none}.hero figcaption{font-size:9px}.section-title{display:block}.section-title>p{margin-top:18px}.lesson-layout,.shop{grid-template-columns:1fr}.featured{padding:28px}.source-grid{grid-template-columns:1fr}.section{padding:50px 6%}.shop-mark{min-height:280px}.shop-mark img{width:190px}footer{gap:18px}footer p{flex-basis:100%;margin:0}.featured h3{font-size:44px}dialog{padding:35px 24px}.filters button{font-size:13px;padding:8px 13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.social-links{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;border-top:1px solid var(--line);padding-top:22px;font-size:14px}.social-links strong{font-weight:600;margin-right:auto}.social-links a{padding:8px 0}@media(max-width:600px){.social-links strong{flex-basis:100%}.social-links{justify-content:flex-start}}

/* Readable type and comfortable controls across screen sizes. */
.topline,.eyebrow,.tag,.meta,.lesson-list small,.source-card small,.coming,.hero-bottom,.hero figcaption{font-size:.75rem}
.brand small{font-size:.75rem;letter-spacing:1px}
.lesson-list button span span,.source-card p,.discovery-intro{font-size:1rem}
.source-card a,.shop-note,.textlink,.button,.section-title>p,footer{font-size:.875rem}
.filters button{min-height:44px;font-size:.875rem}
.source-card small,.lesson-list small{letter-spacing:1px}
.lesson-list>button>span:not(.num){min-width:0}
.source-grid{align-items:stretch}
.hero figcaption{flex-wrap:wrap}
dialog .close{min-width:44px;min-height:44px}
@media(max-width:850px){header nav{font-size:.875rem}.brand small{font-size:.75rem}}
@media(max-width:600px){h1{font-size:clamp(3rem,14vw,4rem)}.hero-bottom,.hero figcaption{font-size:.75rem}.hero-bottom{letter-spacing:1px}.section-title h2,.shop h2{overflow-wrap:break-word}.brand span{letter-spacing:1px}header nav{flex-wrap:wrap;gap:12px 18px}.filters button{font-size:.875rem}dialog h2{font-size:2rem}}

.news-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}.news-toolbar h3{font-size:30px}.refresh{background:white;border:1px solid var(--green);color:var(--green);padding:10px 16px;min-height:44px}.news-card h3{font-size:28px;line-height:1.2;overflow-wrap:anywhere}.news-card small{font-size:.875rem;letter-spacing:0}.source-directory{margin-top:35px;border-top:1px solid var(--line);padding-top:24px}.source-directory summary{cursor:pointer;font-weight:600;padding:12px 0}.watch{border-top:1px solid var(--line)}.video-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:45px}.video-frame{aspect-ratio:16/9;background:var(--deep)}.video-frame button{width:100%;height:100%;border:0;color:white;background:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.video-frame button:hover{background:#245a45}.video-frame strong{font:clamp(24px,3vw,40px)/1.1 Georgia,serif}.video-frame small{font-size:14px;color:#e4dbc5}.play-symbol{font-size:36px;color:#d7c389}.video-frame iframe{width:100%;height:100%;border:0}.video-layout h3{font-size:34px;margin-top:24px}.watch-more{padding:32px;background:#f4f5f0}.watch-more h3{font-size:40px;margin:0}.watch-more .button{gap:10px}.watch p{font-size:16px}.watch .source-note{font-size:14px}@media(max-width:700px){.video-layout{grid-template-columns:1fr;gap:25px}.news-toolbar{align-items:flex-start;flex-direction:column}.watch-more{padding:25px}}

/* Brand notice and compact-screen video sizing. */
.brand .brand-mark{position:relative;display:inline-flex;flex-shrink:0;line-height:1}.brand .trademark{position:absolute;top:0;right:-7px;font-size:10px;font-weight:400;letter-spacing:0;color:var(--gold)}
@media(max-width:600px){.video-frame:has(button){aspect-ratio:auto}.video-frame button{min-height:260px}.video-frame strong{font-size:26px}.video-frame button>span:not(.play-symbol){font-size:14px}}

.newsletter{border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:48px}.newsletter h2{font-size:clamp(36px,4vw,50px)}.newsletter>div>p:not(.eyebrow){max-width:620px}.newsletter-action p{font-size:14px;color:#657168}.newsletter-action .button{min-height:48px}@media(max-width:700px){.newsletter{grid-template-columns:1fr;gap:16px}.newsletter-action .button{width:100%;justify-content:center}}
