:root{--bg-canvas:#eef7f2;--bg-surface:#fff;--bg-surface-hover:#e3f1e8;--text-primary:#1f2937;--text-muted:#4b6153;--accent-primary:#14532d;--accent-secondary:#74a987;--border-subtle:#c9ddd0;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(17,54,31,.17);--glow-accent:0 0 20px -8px #14532d;--glass-backdrop:blur(16px) saturate(150%);--content:1100px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:Charter,Cambria,Georgia,serif;font-size:17px;line-height:1.65;overflow-wrap:anywhere;hyphens:auto}
a{color:var(--accent-primary);text-decoration:none}
a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
img,svg{max-width:100%}
.wrap{width:min(var(--content),calc(100% - 40px));margin-inline:auto}
.site-header{position:relative;z-index:3;background:rgba(238,247,242,.95);border-bottom:1px solid var(--border-subtle)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:.01em;color:var(--accent-primary);font-size:19px;white-space:nowrap}
.brand-mark{width:34px;height:34px;border:2px solid var(--accent-primary);border-radius:50%;display:grid;place-items:center;font-size:17px}
.nav-links{display:flex;align-items:center;gap:clamp(12px,2vw,25px)}
.nav-links a{font-size:15px;color:var(--text-primary);font-variant:small-caps;letter-spacing:.04em}
.menu-toggle{display:none;border:1px solid var(--border-subtle);background:#fff;color:var(--accent-primary);border-radius:12px;padding:5px 12px;font-size:24px;line-height:1;cursor:pointer}
.mobile-menu{display:none}
.hero{position:relative;min-height:570px;display:grid;place-items:center;overflow:clip;background:#14532d;color:#fff}
.hero-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:.92}
.hero-scrim{position:absolute;inset:0;background:rgba(6,28,15,.55)}
.hero-copy{position:relative;z-index:1;width:min(820px,calc(100% - 36px));text-align:center;padding:78px 0}
.hero h1{max-width:780px;margin:.3em auto .35em;font-size:clamp(2.7rem,7vw,5.8rem);line-height:.99;letter-spacing:-.045em;color:#fff}
.hero p{max-width:64ch;margin:0 auto 28px;color:#e8f3ea;font-size:1.18rem}
.eyebrow,.label{font-variant:small-caps;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:700}
.eyebrow{color:#d2e7d8}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--accent-primary);color:white;padding:12px 22px;font-weight:700;transition:transform .3s var(--ease-kinetic),box-shadow .3s,background .3s}
.button:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-elevation),var(--glow-accent);background:#0d4223;text-decoration:none}
.button-light{background:#fff;color:var(--accent-primary)}
.band{padding:72px 0}
.band-white{background:#fff}
.band-green{background:#dceee2}
.section-heading{max-width:72ch;margin:0 auto 32px}
.section-heading h2,.prose h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.12;color:var(--accent-primary);margin:.25em 0 .55em}
.section-heading p,.prose{max-width:70ch}
.pathway{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.pathway:before{content:"";position:absolute;left:5%;right:5%;top:24px;height:2px;background:#a8cbb2;z-index:0}
.catalog-card{position:relative;z-index:1;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;overflow:visible;box-shadow:0 5px 18px rgba(21,64,39,.06);transition:transform .35s var(--ease-kinetic),box-shadow .35s}
.catalog-card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent)}
.card-art{height:190px;border-radius:20px 20px 0 0;background:#e4f1e8;overflow:hidden}
.card-art svg{width:100%;height:100%;display:block}
.card-body{padding:27px 25px 25px}
.category{display:inline-block;position:relative;margin-top:-43px;margin-bottom:10px;padding:7px 13px;border-radius:999px;background:var(--accent-primary);color:white;font-size:.76rem;font-variant:small-caps;letter-spacing:.1em}
.card-body h3{margin:.15em 0 .45em;font-size:1.45rem;line-height:1.2;color:var(--accent-primary)}
.card-body p{margin:.3em 0 1em}
.text-link{font-weight:700;text-decoration:underline;text-decoration-color:#a7cdb1;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-thickness .2s}
.text-link:hover{text-decoration-thickness:3px}
.reveal{opacity:0;transform:translateY(22px);transition:all .7s var(--ease-kinetic)}
.reveal-visible{opacity:1;transform:translateY(0)}
.prose{margin:0 auto}
.prose p{margin:0 0 1.1em}
.prose h2{margin-top:1.6em}
.prose h3{color:var(--accent-primary);font-size:1.3rem;margin:1.3em 0 .4em}
.note{margin:25px 0;padding:18px 22px;border-left:4px solid var(--accent-primary);background:#e7f2ea;border-radius:0 14px 14px 0}
.table-scroll{overflow-x:auto;margin:25px 0}
table{border-collapse:collapse;width:100%;min-width:580px;background:white}
th,td{padding:12px 14px;text-align:left;border:1px solid var(--border-subtle);vertical-align:top}
th{background:#dceee2;color:var(--accent-primary)}
.diagram{border-radius:20px;background:#e3f1e8;padding:18px;margin:24px auto;max-width:760px}
.diagram svg{display:block;width:100%;height:auto}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.photo-reference{background:#fff;border:1px solid var(--border-subtle);border-radius:20px;padding:18px;box-shadow:var(--shadow-elevation)}
.photo-reference .card-art{border-radius:14px}
.photo-reference p{font-size:.93rem;color:var(--text-muted);margin:12px 2px 2px}
details{border-bottom:1px solid var(--border-subtle);padding:17px 3px}
summary{cursor:pointer;font-weight:700;color:var(--accent-primary)}
details p{max-width:70ch;margin:12px 0 2px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px}
.field-full{grid-column:1/-1}
label{font-weight:700;color:var(--accent-primary)}
input,select,textarea{width:100%;border:1px solid #a8c6b0;border-radius:12px;padding:11px 13px;background:#fff;color:var(--text-primary)}
textarea{min-height:150px;resize:vertical}
.preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--border-subtle);padding:18px;border-radius:16px;min-height:160px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:17px 0}
.status{min-height:1.5em;color:var(--accent-primary)}
.site-footer{background:#123d25;color:#edf5ef;padding:44px 0 24px}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;padding-bottom:25px;border-bottom:1px solid #62806b}
.site-footer a{color:#eef7f2}
.company-block{text-align:center;padding:22px 0 12px;color:#e4f0e7}
.company-block p{margin:3px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.9rem;color:#d0e2d5}
.footer-bottom a{margin-left:12px}
.cookie-choice{margin-left:auto}
.page-hero{padding:55px 0 42px;background:#dceee2}
.page-hero h1{max-width:850px;margin:.15em 0;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.04;color:var(--accent-primary)}
.page-hero p{max-width:68ch;margin:.7em 0 0}
.small-note{font-size:.92rem;color:var(--text-muted)}
.site-header.scrolled{background:#fff}
@media(max-width:767px){.wrap{width:min(var(--content),calc(100% - 30px))}.header-inner{min-height:66px}.nav-links{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-menu.open{display:grid;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--border-subtle);padding:12px 20px 20px;box-shadow:var(--shadow-elevation);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.mobile-menu a{padding:10px 4px;border-bottom:1px solid #e5eee7;color:var(--accent-primary);font-variant:small-caps}.hero{min-height:490px}.hero-copy{padding:55px 0}.band{padding:52px 0}.pathway:before{display:none}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.cookie-choice{margin-left:0}}
@media(max-width:480px){body{font-size:16px}.brand{font-size:16px}.brand-mark{width:30px;height:30px}.hero{min-height:450px}.hero h1{font-size:2.7rem}.card-art{height:165px}.band{padding:43px 0}}
@media(min-width:481px) and (max-width:768px){.pathway{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
@media(min-width:769px) and (max-width:1024px){.wrap{width:calc(100% - 48px)}.nav-links{gap:13px}}
@media(min-width:1025px){.wrap{width:min(var(--content),calc(100% - 60px))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}