@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("assets/fonts/inter-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/plex-mono-400-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/plex-mono-500-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/plex-mono-600-latin.woff2") format("woff2")}
:root{--ivory:#F7F5ED;--forest:#203D32;--ink:#18251F;--sage:#E5EBE1;--butter:#F0D46C;--emerald:#167D69}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit}button,input{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--emerald);outline-offset:4px}.wrap{width:min(1320px,calc(100% - clamp(36px,8vw,160px)));margin:auto}.header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font-weight:900;font-size:18px;line-height:.92;letter-spacing:-.06em;text-decoration:none}.nav{display:flex;gap:clamp(10px,1.5vw,28px);align-items:center}.nav a{text-decoration:none;font-size:12px;font-weight:700}.nav a[aria-current=page]{color:var(--emerald)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--forest);color:var(--ivory);padding:16px 22px;min-height:50px;text-decoration:none;font-weight:800;font-size:12px;transition:transform .2s}.btn:hover{transform:translateY(-3px)}.btn.gold{background:var(--butter);color:var(--ink)}.menu{display:none;border:0;background:transparent;font-size:28px;min-height:44px;min-width:44px}.hero{background:var(--forest);color:var(--ivory);padding:clamp(85px,10vw,155px) 0}.hero-inner{display:grid;grid-template-columns:1.4fr .6fr;gap:7vw;align-items:end}.hero h1{font-size:clamp(50px,6.4vw,106px);letter-spacing:-.082em;line-height:1.01;font-weight:900;margin:0}.hero h1 span{color:var(--butter)}.hero-copy{font-size:clamp(16px,1.25vw,19px);line-height:1.8;color:#e4e8e1}.hero-copy p{margin:0 0 20px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:25px}.hero-actions a:not(.btn){font-size:12px;text-decoration:none;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:8px}.search{background:var(--sage);padding:70px 0}.search h2{font-size:clamp(36px,4.2vw,62px);letter-spacing:-.07em;line-height:1.05;margin:10px 0 26px}.searchbar{background:var(--ivory);display:flex;align-items:center;max-width:950px;padding:8px 10px 8px 22px}.searchbar input{border:0;background:transparent;flex:1;min-width:0;font-size:18px;min-height:55px;outline:none}.searchbar button{background:var(--forest);color:white;border:0;min-height:47px;padding:0 20px;cursor:pointer}.mono,.search label,.group header small,.faq summary small,.count{font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.08em}.search .count{margin-top:17px;color:var(--emerald)}.content{display:grid;grid-template-columns:235px minmax(0,1fr);gap:clamp(38px,6vw,105px);padding-top:90px;padding-bottom:120px}.side{position:sticky;top:25px;align-self:start}.side h3{font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.08em}.filters{display:flex;flex-direction:column;gap:6px;margin-top:25px}.filters button{border:0;text-align:left;background:transparent;color:var(--ink);font-size:13px;font-weight:700;padding:15px;cursor:pointer}.filters button.active{background:var(--forest);color:var(--ivory)}.filters button:not(.active):hover{background:var(--sage)}.group{margin-bottom:90px;scroll-margin-top:30px}.group header{display:flex;gap:20px;align-items:start;margin-bottom:30px}.group header small{color:var(--emerald);white-space:nowrap;padding-top:7px}.group h2{font-size:clamp(32px,3.3vw,55px);letter-spacing:-.065em;line-height:1.1;margin:0}.faq{border-bottom:1px solid #cad3c8}.faq:first-of-type{border-top:1px solid #cad3c8}.faq summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr) 28px;align-items:center;gap:18px;padding:27px 4px;cursor:pointer;font-size:clamp(17px,1.5vw,23px);font-weight:750;letter-spacing:-.025em;line-height:1.32}.faq summary::-webkit-details-marker{display:none}.faq summary small{color:#778578}.faq summary b{font-size:26px;font-weight:400;text-align:right}.faq[open] summary{color:var(--emerald)}.faq[open] summary b{transform:rotate(45deg)}.faq p{font-size:16px;line-height:1.85;margin:0;padding:0 55px 32px 54px;color:#3a493e}.empty{display:none;font-size:20px;padding:35px 0}.closing{background:var(--forest);color:var(--ivory);padding:clamp(85px,10vw,145px) 0}.closing-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.closing h2{font-size:clamp(42px,5.6vw,83px);letter-spacing:-.075em;line-height:1.05;margin:0}.closing h2 span{color:var(--butter)}.closing p{font-size:18px;line-height:1.75;color:#d9e3d9}.footer{background:var(--ink);color:var(--ivory);padding:65px 0}.foot{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px}.foot h3{font-size:clamp(30px,3.2vw,48px);letter-spacing:-.065em;line-height:1.08;margin:0}.foot h3 span{color:var(--butter)}.foot-col{display:flex;flex-direction:column;gap:15px}.foot-col strong{font:600 11px 'IBM Plex Mono',monospace}.foot-col a{text-decoration:none;font-size:13px}.foot-col a:hover{color:var(--butter)}.hidden{display:none!important}@media(max-width:1050px){.header>.btn{display:none}.menu{display:block}.nav{display:none;position:absolute;top:90px;left:0;right:0;z-index:9;background:var(--ivory);padding:24px 6vw;flex-direction:column;align-items:stretch;box-shadow:0 15px 20px #0002}.nav.open{display:flex}.nav a{padding:12px}.hero-inner{grid-template-columns:1fr}.hero-copy{max-width:670px}.content{grid-template-columns:1fr}.side{position:static}.filters{flex-direction:row;overflow-x:auto}.filters button{flex:0 0 auto}.foot{grid-template-columns:1fr 1fr}}@media(max-width:640px){.header{min-height:78px}.nav{top:78px}.hero{padding:75px 0 90px}.hero h1{font-size:clamp(43px,11vw,66px)}.search{padding:60px 0}.searchbar input{font-size:16px}.searchbar button{padding:0 12px}.content{padding-top:55px;padding-bottom:65px}.group{margin-bottom:65px}.group header{display:block}.group header small{display:block;margin-bottom:14px}.faq summary{grid-template-columns:25px minmax(0,1fr) 23px;gap:10px;padding:22px 0}.faq p{padding:0 4px 28px 34px}.closing-inner,.foot{grid-template-columns:1fr}.closing h2{font-size:clamp(39px,10vw,58px)}.foot{gap:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--forest);color:var(--ivory);padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.searchbar input:focus-visible{outline:2px solid var(--forest);outline-offset:2px}

.content>*{min-width:0}.side{top:116px}.group h2{overflow-wrap:anywhere}

.search .count,.faq summary small{color:var(--forest)}
