@font-face{font-family:Bricolage;src:url('/fonts/bricolage-latin.woff2') format('woff2');font-style:normal;font-weight:300 800;font-display:swap}
@font-face{font-family:JetBrains;src:url('/fonts/jbmono-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f9f7f1;--white:#fffefa;--ink:#18251d;--muted:#59665c;--green:#277345;--green-light:#e8f0e7;--line:#dfe4db;--hero:#163c2d;--mono:JetBrains,ui-monospace,monospace;--display:Bricolage,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--display);-webkit-font-smoothing:antialiased}
a{color:inherit}button,input{font:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid #5cc67d;outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:20;padding:9px 14px;background:var(--white)}
.skip-link:focus{top:8px}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.header-inner,.footer-inner{max-width:1220px;margin:auto;padding:0 28px}
.header-inner{min-height:76px;display:flex;align-items:center;gap:35px}
.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:23px;font-weight:800;letter-spacing:-.07em;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--green);color:#fff;font-size:19px;line-height:1;letter-spacing:0}
.top-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
.top-nav a,.header-contact{padding:9px 14px;text-decoration:none;font-size:14px;font-weight:600;border-radius:100px}
.top-nav a:hover,.header-contact:hover{background:var(--green-light)}
.top-nav .active{background:var(--green-light);color:var(--hero)}
.header-contact{border:1px solid var(--line);margin-left:14px}
.page-shell{max-width:1220px;padding:20px 28px 0;margin:0 auto}
.hero{position:relative;overflow:hidden;isolation:isolate;min-height:424px;border-radius:30px;background:radial-gradient(circle at 80% 10%,#286b45 0%,transparent 32%),linear-gradient(130deg,#204f37,#173a2c 62%,#102d26);color:white;display:grid;place-items:center;text-align:center;padding:67px 24px 83px}
.hero-lines{position:absolute;inset:0;z-index:-1;opacity:.18;background-image:linear-gradient(90deg,#a3d3a9 1px,transparent 1px),linear-gradient(#a3d3a9 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent 10%,#000 95%)}
.hero-orbit{position:absolute;z-index:-1;border:1px solid rgba(187,225,194,.14);border-radius:50%;aspect-ratio:1}
.hero-orbit-one{width:540px;right:-180px;top:-250px;box-shadow:0 0 0 70px rgba(187,225,194,.035),0 0 0 150px rgba(187,225,194,.025)}
.hero-orbit-two{width:310px;left:-190px;bottom:-230px;box-shadow:0 0 0 62px rgba(187,225,194,.035)}
.hero-content{position:relative;width:min(100%,720px);z-index:1}
.hero-label{display:inline-flex;align-items:center;gap:9px;margin:0 0 20px;padding:8px 13px;border:1px solid rgba(220,243,221,.25);border-radius:99px;background:rgba(255,255,255,.09);font:11px/1 var(--mono);letter-spacing:.035em}
.hero-label-dot{height:7px;width:7px;border-radius:50%;background:#a8e4a5;box-shadow:0 0 0 4px rgba(168,228,165,.16)}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(2.9rem,6vw,5.2rem);letter-spacing:-.075em;line-height:1.02;margin-bottom:16px}
.hero-lead{max-width:540px;margin:0 auto 30px;color:#deeadf;font-size:clamp(16px,2vw,19px);line-height:1.45}
.search-area{position:relative;max-width:620px;margin:auto}
.search-form{display:flex;align-items:center;gap:14px;height:62px;padding:0 19px;background:#fff;color:var(--ink);border-radius:15px;box-shadow:0 16px 35px rgba(0,0,0,.15)}
.search-form:focus-within{outline:3px solid #a1dda7;outline-offset:3px}
.search-form svg{width:22px;height:22px;flex:none;color:#61766a}
.search-form input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:16px;color:var(--ink)}
.search-form input::placeholder{color:#77867b}
.search-form input::-webkit-search-cancel-button{cursor:pointer}
.search-form kbd{border:1px solid var(--line);border-radius:5px;padding:4px 8px;color:#7d8a7f;font:11px/1 var(--mono)}
.search-results{position:fixed;z-index:1000;max-height:360px;overflow-y:auto;text-align:left;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(10,30,17,.25)}
.search-results[hidden]{display:none}
.search-result{display:block;padding:13px 18px;border-bottom:1px solid var(--line);text-decoration:none}
.search-result:last-child{border:0}
.search-result:hover,.search-result:focus-visible{background:var(--green-light)}
.search-result strong{display:block;font-size:15px;line-height:1.25}
.search-result span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.search-empty{margin:0;padding:18px;color:var(--muted)}
.search-hint{margin:15px 0 0;color:#c5d7c7;font-size:13px}
.search-hint a{text-underline-offset:3px}
.search-hint span{margin:0 11px}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;z-index:2;margin:-43px 22px 0}
.quick-card{position:relative;min-height:172px;display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--white);text-decoration:none;box-shadow:0 10px 25px rgba(25,48,30,.07)}
.quick-card:hover{border-color:#92b69a;transform:translateY(-3px)}
.quick-icon,.article-group-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--green-light);color:var(--green);border-radius:11px;font-size:22px;line-height:1;font-weight:700}
.quick-title{display:block;margin-top:21px;font-weight:800;font-size:17px;line-height:1.1}
.quick-description{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.35}
.quick-arrow{position:absolute;right:21px;top:24px;color:#769880;font-size:19px}
.faq-section,.articles-section{scroll-margin-top:30px;padding:98px 22px 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.section-heading h2{font-size:clamp(30px,4vw,43px);letter-spacing:-.055em;line-height:1.1;margin:0 0 6px}
.section-heading p{color:var(--muted);margin:0}
.section-heading>a{white-space:nowrap;color:var(--green);font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid #a5c6ac;padding-bottom:3px}
.section-heading>a:hover{border-color:var(--green)}
.faq-categories{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}
.faq-filter{background:#fff;border:1px solid var(--line);padding:10px 15px;border-radius:99px;color:var(--muted);font-size:13px;font-weight:700}
.faq-filter:hover{border-color:#9ebe9e;color:var(--ink)}
.faq-filter.is-active{background:var(--hero);color:#fff;border-color:var(--hero)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item[hidden]{display:none}
.faq-item summary{list-style:none;position:relative;padding:20px 48px 20px 5px;font-size:17px;font-weight:700;cursor:pointer;line-height:1.4}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--green-light);color:var(--green);font:22px/1 var(--display)}
.faq-item[open] summary::after{content:'−'}
.faq-answer{max-width:720px;padding:0 48px 22px 5px;color:var(--muted)}
.faq-answer p{margin:0 0 10px}
.faq-answer a{color:var(--green);font-weight:700;text-decoration:none;border-bottom:1px solid #a5c6ac}
.articles-section{padding-top:100px;padding-bottom:110px}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.article-group{min-width:0;padding:25px 28px 24px;background:var(--white);border:1px solid var(--line);border-radius:18px}
.article-group-icon{width:39px;height:39px;font-size:19px}
.article-group h3{margin:17px 0 13px;font-size:22px;letter-spacing:-.035em}
.article-group>a{display:block;text-decoration:none;padding:10px 0;border-top:1px solid var(--line);font-size:15px;font-weight:600}
.article-group>a:hover{color:var(--green)}
.article-group>a.article-more{color:var(--green);font-size:13px;margin-top:8px;border-top:0;padding-bottom:0}
.contact-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:37px 44px;background:#e8f0e7;border-radius:22px}
.contact-label{font:12px/1 var(--mono);color:var(--green);margin-bottom:13px}
.contact-banner h2{font-size:clamp(24px,3vw,34px);line-height:1.12;letter-spacing:-.045em;max-width:580px;margin-bottom:10px}
.contact-banner p:last-child{margin:0;color:var(--muted)}
.contact-banner>a{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;min-height:48px;background:var(--green);color:#fff;border-radius:10px;text-decoration:none;font-weight:700}
.contact-banner>a:hover{background:var(--hero)}
.site-footer{margin-top:90px;border-top:1px solid var(--line)}
.footer-inner{display:grid;grid-template-columns:1fr auto auto;align-items:start;gap:40px;padding-top:42px;padding-bottom:45px}
.footer-inner .brand{font-size:20px}.footer-inner .brand-mark{width:25px;height:25px;font-size:17px}
.footer-inner p{color:var(--muted);margin:9px 0 0;font-size:14px}
.footer-inner nav{display:grid;grid-template-columns:repeat(2,auto);gap:8px 28px}
.footer-inner nav a{text-decoration:none;font-size:13px;font-weight:600}
.footer-inner nav a:hover{color:var(--green)}
.footer-inner>span{font:11px/1.6 var(--mono);color:var(--muted)}
@media(max-width:920px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{gap:15px}.top-nav{gap:0}.top-nav a{padding:8px 10px}.header-contact{margin-left:0}}
@media(max-width:650px){.header-inner,.footer-inner{padding-left:20px;padding-right:20px}.header-inner{min-height:68px;flex-wrap:wrap;justify-content:space-between;padding-top:14px;padding-bottom:12px}.brand{font-size:21px}.top-nav{order:3;width:100%;overflow-x:auto;justify-content:space-between}.top-nav a{white-space:nowrap;font-size:12px;padding:8px 10px}.header-contact{font-size:12px;padding:8px 10px}.page-shell{padding:13px 14px 0}.hero{min-height:365px;padding:52px 17px 75px;border-radius:22px}.hero h1{font-size:clamp(42px,10vw,56px)}.hero-lead{font-size:16px}.search-form{height:56px;border-radius:13px}.search-form kbd{display:none}.quick-grid{gap:10px;margin:-39px 12px 0}.quick-card{min-height:154px;padding:17px;border-radius:14px}.quick-title{margin-top:14px;font-size:15px}.quick-description{font-size:12px}.quick-icon{height:36px;width:36px;font-size:18px}.quick-arrow{right:16px;top:18px}.faq-section,.articles-section{padding:72px 12px 0}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:15px}.section-heading h2{font-size:32px}.faq-categories{flex-wrap:nowrap;overflow-x:auto;margin-right:-26px;padding-right:26px;padding-bottom:5px}.faq-filter{white-space:nowrap}.faq-item summary{font-size:15px}.article-grid{grid-template-columns:1fr}.articles-section{padding-bottom:72px}.contact-banner{display:block;padding:28px;border-radius:17px}.contact-banner>a{margin-top:24px}.site-footer{margin-top:70px}.footer-inner{grid-template-columns:1fr 1fr;gap:28px}.footer-inner>div{grid-column:1/-1}.footer-inner nav{grid-template-columns:1fr 1fr}.footer-inner>span{align-self:end}}
@media(max-width:390px){.quick-grid{grid-template-columns:1fr}.quick-card{min-height:112px;padding:15px 16px 15px 64px}.quick-icon{position:absolute;left:16px;top:18px}.quick-title{margin:4px 0 0}.quick-arrow{top:16px}.quick-description{max-width:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.quick-card{transform:none!important}}
