:root{--navy:#373536;--navy-light:#4a4849;--blue:#007406;--blue-dark:#005a05;--ink:#232826;--muted:#5b655e;--paper:#fff;--surface:#f3f5ef;--line:#dde2d8;--brand-orange:#e3fe4b;--brand-orange-ink:#005a05;--color-brand-accent:#e3fe4b;--radius:3px;--container:1320px;--gutter:clamp(20px,5vw,76px);--section-space:clamp(76px,9vw,132px);--font-body:'Albert Sans',Arial,sans-serif;--text-base:16px;--title-lg:clamp(44px,6.3vw,88px);--title-md:clamp(36px,4vw,58px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65}
h1,h2,h3{color:var(--navy);font-weight:650;letter-spacing:-.045em}
h1{font-size:var(--title-lg);line-height:.99}
h2{font-size:var(--title-md);line-height:1.07}
h3{font-size:22px;line-height:1.2}
.container{width:calc(100% - var(--gutter)*2);max-width:var(--container)}
.eyebrow{color:#007406!important;font-size:11px!important;font-weight:750!important;letter-spacing:.16em!important;line-height:1.45!important;text-transform:uppercase;margin:0 0 20px!important}
.text-link{font-size:14px;color:var(--navy);font-weight:700;gap:10px}
.text-link span{color:#007406;font-size:19px;transition:transform .2s}
.text-link:hover span{transform:translate(2px,-2px)}
.button{--control-height:50px;min-height:50px;padding:13px 21px;border-radius:2px;background:#007406;color:#fff;font-size:12px;letter-spacing:.04em;text-transform:none;transition:background .2s,transform .2s}
.button:hover{background:#005a05;transform:translateY(-1px)}
.button.secondary{border-color:#9fb5b5;color:var(--navy);background:transparent}
.button.secondary:hover{border-color:var(--navy);background:#ffffff30}
.site-header{height:82px;position:fixed;inset:0 0 auto;z-index:100;background:var(--navy);color:#fff;transition:background .25s,box-shadow .25s}
.header-inner{gap:clamp(18px,2.5vw,34px)}
.brand{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:2px;padding:5px 9px}
.brand img{width:132px;height:47px;object-fit:contain}
.skip{z-index:200}
.skip:focus{left:12px;top:10px;background:#fff;color:var(--navy)}
.home-page main{padding-top:0}
.home-page .site-header{background:transparent}
body:not(.home-page) main{padding-top:var(--fb-header-h,82px)}
.section-heading{align-items:end;margin-bottom:50px}
.section-heading h2{max-width:760px;margin:0;font-size:clamp(38px,4.6vw,60px)}
.section-heading>p{max-width:310px;margin:0;color:#60757b;font-size:14px;line-height:1.6}
.species-card{border:1px solid var(--line);background:#fff}
.species-placeholder{display:grid;place-content:center;width:100%;height:100%;padding:22px;color:#617c7e;text-align:center;font-size:12px;line-height:1.5;background:radial-gradient(ellipse at 50% 44%,#cfe4de,#e8f0ed 63%)}
.species-placeholder.large{min-height:520px;font-size:15px}
.species-placeholder small{display:block;margin-top:12px;color:#6e8586;font-size:11px}
.catalog-empty{display:grid;grid-template-columns:.6fr 1fr;gap:40px;align-items:center;padding:32px;border:1px solid var(--line);background:#f0f5f2}
.catalog-empty h3{margin:0 0 8px;font-size:22px}
.catalog-empty p{margin:0 0 14px;max-width:490px;color:#62797c;font-size:14px}
.empty-art{position:relative;min-height:188px;overflow:hidden;background:radial-gradient(ellipse at center,#cee8e1 0,#e2eee9 65%,#eaf2ee)}
.empty-art span{position:absolute;left:50%;top:50%;width:150px;height:150px;border:1px solid #7caaa343;border-radius:50%;transform:translate(-50%,-50%)}
.empty-art span:nth-child(2){width:100px;height:100px;border-style:dashed}
.empty-art span:nth-child(3){width:34px;height:34px;border-color:#378e8c}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.article-card{min-width:0;background:#fff;border:1px solid #d9e3df}
.article-media{position:relative;display:block;aspect-ratio:1.5;overflow:hidden;background:#dfeae5}
.article-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.article-card:hover .article-media img{transform:scale(1.03)}
.article-placeholder{height:100%;display:grid;place-content:center;text-align:center;color:#628081;font-size:11px;font-weight:700;letter-spacing:.15em;background:linear-gradient(140deg,#d4e7e0,#eff4f0)}
.article-placeholder i{color:#088485;font-style:normal}
.article-card-copy{padding:20px 22px 24px}
.article-card-copy time,.article-meta{color:#698082;font-size:10px;letter-spacing:.045em}
.article-card-copy h3,.article-card-copy h2{margin:9px 0 9px;font-size:21px;line-height:1.2}
.article-card-copy p{color:#687b7f;font-size:13px;line-height:1.6}
.article-card-copy .text-link{font-size:12px}
body:not(.home-page) .page-heading{padding-top:70px;padding-bottom:38px}
.page-heading h1{max-width:850px}
.page-heading p:not(.eyebrow){max-width:650px;color:#5f7478;font-size:16px}
.catalog-section{padding-bottom:var(--section-space)}
.filters{gap:13px;padding:20px 0 24px;border-bottom-color:var(--line)}
.filters label{color:#324d54;font-size:11px}
.filters input,.filters select,.contact-form input,.contact-form textarea{min-height:48px;border:1px solid #cbd8c0;border-radius:2px;background:#fff;color:#18363f}
.filters .button{align-self:end}
.home-species .section-heading .text-link{max-width:none}
.back-link{display:inline-flex;margin:39px 0 26px;color:#007406;font-size:12px;font-weight:650}
.species-page{padding-bottom:var(--section-space)}
.species-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(45px,8vw,115px);align-items:center}
.species-main-image{position:relative;min-height:500px;background:#e4eee9}
.species-main-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.species-main-image>span{position:absolute;left:18px;bottom:18px;padding:8px 12px;background:#f5f9f6;color:#1c5960;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.species-title h1{margin:0 0 9px;font-size:clamp(48px,6vw,77px)}
.scientific-name{margin:0 0 28px;color:#557177;font-family:Georgia,serif;font-size:20px}
.species-description{max-width:550px;color:#435f65;font-size:16px;line-height:1.75}
.species-title .button{margin-top:13px}
.organism-facts{margin-top:100px;padding-top:31px;border-top:1px solid var(--line)}
.facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 35px}
.facts-grid article{padding:24px 0;border-top:1px solid var(--line)}
.facts-grid article>span{color:#0d8585;font-size:10px}
.facts-grid h2{margin:10px 0 8px;font-size:19px;letter-spacing:-.02em}
.facts-grid p{margin:0;color:#5f7378;font-size:14px;line-height:1.65}
.species-gallery{margin-top:90px}
.species-gallery .section-heading{margin-bottom:30px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.gallery-grid figure{aspect-ratio:1.3;margin:0;background:#e6efeb}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.video-link{display:flex;align-items:center;justify-content:center;min-height:100px;border:1px solid var(--line);color:#087b80;font-weight:650;font-size:14px}
.blog-page,.institution-page,.contact-page{padding-bottom:var(--section-space)}
.blog-page .page-heading{padding-top:76px}
.blog-list-grid .article-card{display:flex;flex-direction:column}
.blog-list-grid .article-card-copy{display:flex;flex-direction:column;flex:1}
.blog-list-grid .article-card-copy .text-link{margin-top:auto;padding-top:12px}
.article-container{max-width:860px}
.article-page{padding-bottom:var(--section-space)}
.article-page .back-link{margin-block:42px 25px}
.article-header{max-width:790px;margin-bottom:38px}
.article-header .eyebrow{margin-bottom:17px!important}
.article-header h1{max-width:780px;margin:0 0 20px;font-size:clamp(43px,6vw,76px);line-height:1.02}
.article-summary{color:#536d73;font-size:19px;line-height:1.55}
.article-meta{display:flex;gap:20px;padding-top:6px}
.article-cover{max-height:570px;margin:0 0 48px;background:#e4eee9;overflow:hidden}
.article-cover img{width:100%;max-height:570px;object-fit:cover}
.article-content{max-width:720px;margin-inline:auto;color:#293f45;font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.85}
.article-content h2,.article-content h3{margin:1.7em 0 .55em;color:#0c3944;font-family:var(--font-body);font-weight:650;letter-spacing:-.025em;line-height:1.2}
.article-content h2{font-size:32px}
.article-content h3{font-size:24px}
.article-content p{margin:0 0 1.25em;color:#344d52}
.article-content a{color:#087a80;text-decoration:underline;text-underline-offset:3px}
.article-content ul,.article-content ol{padding-left:1.35em;margin:0 0 1.3em}
.article-content li{padding-left:.2em;margin:.35em 0}
.article-content blockquote{margin:2em 0;padding:3px 0 3px 22px;border-left:2px solid #46a9a3;color:#547175;font-size:21px}
.article-content img{height:auto;margin:2em auto}
.article-end{display:flex;align-items:center;justify-content:space-between;max-width:720px;margin:55px auto 0;padding-top:20px;border-top:1px solid var(--line)}
.article-end>span{color:#6b8081;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.contact-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(55px,10vw,140px);padding-top:90px}
.contact-intro h1{font-size:clamp(55px,6vw,78px)}
.contact-intro>p:not(.eyebrow){max-width:470px;color:#536d73;font-size:17px;line-height:1.7}
.contact-aside{margin-top:50px;padding-top:20px;border-top:1px solid var(--line)}
.contact-aside p{display:grid;gap:4px;margin-bottom:20px}
.contact-aside p span{color:#668084;font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.contact-aside p a{color:#073b47;font-size:14px;font-weight:650}
.contact-aside small{color:#6a7c80;font-size:11px}
.contact-form{display:grid;gap:20px;padding:30px;background:#f1f5ec;border:1px solid #d8e3df}
.contact-form label{display:grid;gap:8px;color:#28454d;font-size:12px;font-weight:650}
.contact-form label span{color:#087b80}
.contact-form input,.contact-form textarea{width:100%;padding:12px 14px;font-size:14px;font-weight:400}
.contact-form textarea{min-height:155px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus,.filters input:focus,.filters select:focus{outline:3px solid #62c9c0;outline-offset:2px}
.contact-form .button{justify-self:start}
.form-note{margin:0;color:#6c8082;font-size:10px}
.field-error{color:#a43130;font-size:12px}
.sent-card{max-width:700px;margin:100px auto;padding:56px;background:#f1f5ec}
.sent-card h1{font-size:clamp(43px,5vw,62px)}
.sent-card>p:not(.eyebrow){color:#5f7478}
.sent-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border-radius:50%;background:#cde9df;color:#087b70;font-size:24px}
.institution-content{padding-top:0;color:#3e595f;font-size:17px;line-height:1.8}
.institution-content h2{margin:0 0 17px;font-size:clamp(29px,3vw,39px)}
.institution-content p{color:#435f65}
.institution-content h2:not(:first-child){margin-top:45px}
.institution-content .button{margin-top:10px}
.stores-area{background:#f1f5ec}
.stores-layout{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:24px}
.store-card{border:1px solid var(--line);border-radius:2px;box-shadow:none}
.store-card.selected{border-color:#007406;box-shadow:inset 3px 0 #007406}
.store-card h2{font-size:18px}
.store-card p{color:#64797c}
.store-card .city{color:#183e46}
.store-actions a,.store-actions button{color:#08777c}
.store-map{border-radius:2px}
.map-region{top:102px}
.stores-heading .button{margin-top:20px}
.visitor-postal input{min-height:48px;border:1px solid var(--line);padding-inline:12px}
.footer-grid a:focus-visible,.desktop-nav a:focus-visible,.mobile-nav a:focus-visible,.text-link:focus-visible{outline:3px solid #78e0d3;outline-offset:4px}
@media(max-width:900px){.site-header{height:76px}
.brand img{width:116px;height:42px}
.species-hero{gap:45px}
.species-main-image{min-height:430px}
.contact-layout{padding-top:75px;gap:55px}
.stores-layout{grid-template-columns:1fr 1fr}}
@media(max-width:700px){:root{--gutter:22px;--section-space:76px}
.home-page .site-header{background:transparent}
.section-heading{display:block;margin-bottom:32px}
.section-heading h2{font-size:39px}
.section-heading>p{margin-top:15px}
.catalog-empty{grid-template-columns:1fr;gap:20px;padding:18px}
.empty-art{min-height:130px}
.article-grid{grid-template-columns:1fr;gap:16px}
.article-media{aspect-ratio:1.55}
.article-card-copy{padding:18px}
body:not(.home-page) main{padding-top:76px}
.page-heading{padding-top:49px!important}
.species-hero{grid-template-columns:1fr;gap:29px}
.species-main-image{min-height:0;aspect-ratio:1.1}
.species-placeholder.large{min-height:0}
.species-title h1{font-size:54px}
.organism-facts{margin-top:65px}
.facts-grid{grid-template-columns:1fr 1fr;gap:0 19px}
.species-gallery{margin-top:60px}
.gallery-grid{grid-template-columns:1fr 1fr;gap:9px}
.gallery-grid figure{aspect-ratio:1}
.video-link{grid-column:1/-1;min-height:75px}
.article-page .back-link{margin-top:27px}
.article-header h1{font-size:45px}
.article-summary{font-size:17px}
.article-cover{margin-bottom:30px}
.article-content{font-size:17px;line-height:1.82}
.article-content h2{font-size:28px}
.article-content h3{font-size:22px}
.article-end{margin-top:40px}
.contact-layout{grid-template-columns:1fr;gap:33px;padding-top:53px}
.contact-intro h1{font-size:58px}
.contact-intro>p:not(.eyebrow){font-size:15px}
.contact-aside{margin-top:26px}
.contact-form{padding:20px;gap:16px}
.sent-card{margin:55px auto;padding:28px 22px}
.stores-layout{display:flex;flex-direction:column}
.map-region{order:-1;position:static;width:100%}
.store-map{height:330px}
.stores-list{width:100%;max-height:none;overflow:visible}
.filters label{flex-basis:100%;min-width:0}
.filters .button{width:100%}
.stores-area .filters{display:grid}
.stores-area .filters .text-link{padding:10px 0}}
@media(max-width:380px){:root{--gutter:18px}
.brand img{width:100px}
.header-inner{gap:9px}
.facts-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Editorial revision: photography, strong typography and quiet structure. */
.home-hero{min-height:min(810px,100svh);display:flex;align-items:center;background:#373536;isolation:isolate}
.official-posts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.official-posts-note{grid-column:1/-1;color:var(--muted);font-size:13px}
.official-posts a{padding:20px 18px 20px 0;border-bottom:1px solid var(--line);color:var(--navy);font-size:17px;text-decoration:none}
.official-posts a span{color:#007406;margin-left:8px}
.official-posts a:hover{text-decoration:underline}
.site-header{background:#373536}
.home-page .site-header{background:linear-gradient(180deg,rgba(4,31,42,.65),transparent)}
.brand{background:white}
.brand img{height:47px;object-fit:contain}
.article-placeholder,.catalog-empty,.empty-art,.photo-needed,.science-mark,.photo-orbit,.photo-cross{display:none!important}
@media(max-width:540px){.official-posts{grid-template-columns:1fr}
.official-posts-note{grid-column:1}
.official-posts a{font-size:15px;padding-block:15px}}
