/* Shared public-page frame. Kept separate from the botanical record layout. */
:root{--shell-ink:#264d42;--shell-muted:#718078;--shell-paper:#faf9f5;--shell-gold:#e4c278}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body .site-header{display:block;padding:0;background:var(--shell-paper);border-bottom:1px solid #dfe5df;text-align:left}
.header-inner{max-width:1180px;min-height:122px;margin:0 auto;padding:15px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-brand{display:inline-flex;align-items:center;gap:18px;text-decoration:none;color:var(--shell-ink);flex-shrink:0}
.site-brand img{width:88px;height:88px;object-fit:contain}
.site-brand>span{font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.1;letter-spacing:-.04em;font-weight:400}
.header-right,.header-actions,.desktop-nav{display:flex;align-items:center}
.header-right{gap:32px}.desktop-nav{gap:28px}
.desktop-nav a{position:relative;color:#4f655b;text-decoration:none;font-size:14px;line-height:44px;white-space:nowrap}
.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--shell-ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{transform:scaleX(1)}
.desktop-nav a[aria-current=page]{color:var(--shell-ink)}
.header-actions{border-left:1px solid #dce3dc;padding-left:24px;gap:8px}
.header-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--shell-ink);border:0;border-radius:50%;background:transparent;text-decoration:none;cursor:pointer;transition:background .18s}
.header-icon svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.header-icon:hover{background:#eaf0e8}.header-icon:focus-visible,.site-brand:focus-visible,.desktop-nav a:focus-visible,.site-footer a:focus-visible{outline:2px solid #9aaf93;outline-offset:4px}
.header-menu{position:relative;display:none;border:0;padding:0}
.header-menu summary{list-style:none}.header-menu summary::-webkit-details-marker{display:none}
.header-menu[open]>summary{background:#eaf0e8}
.menu-panel{position:absolute;right:0;top:58px;z-index:20;width:min(320px,calc(100vw - 36px));padding:25px;background:#faf9f5;border:1px solid #dce3d9;box-shadow:0 16px 40px #153b2c16;border-radius:3px}
.menu-caption{font-size:10px;letter-spacing:.19em;color:#78877d}
.mobile-nav{display:flex;flex-direction:column;margin:10px 0 18px}
.mobile-nav a{padding:12px 0;border-bottom:1px solid #e2e6dc;text-decoration:none;font-family:Georgia,serif;font-size:24px;line-height:1.3;color:var(--shell-ink)}
.mobile-nav a[aria-current=page]{font-style:italic}.menu-method{font-size:13px;text-decoration:none;color:#5e7568;display:flex;justify-content:space-between}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body .site-footer{display:block;max-width:none;margin:60px 0 0;padding:0;border:0;background:#193f33;color:#e8eee6;font-size:14px}
.footer-inner{max-width:1180px;margin:0 auto;padding:58px 28px 22px}
.footer-top{display:grid;grid-template-columns:1.6fr .85fr 1fr 1.3fr;gap:44px;padding-bottom:48px}
.footer-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:37px;letter-spacing:-.045em;line-height:1.2;text-decoration:none;color:#f5f2e7}
.footer-dot{color:var(--shell-gold)}
.footer-intro>p{max-width:270px;font-size:14px;line-height:1.8;color:#b9ccbd;margin:20px 0 24px}
.footer-signature{display:block;font-size:9px;letter-spacing:.19em;color:#cbb67e}
.footer-column h2{font-family:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#e0c88f;margin:6px 0 24px;line-height:1.5}
.footer-column>a{display:block;width:fit-content;color:#e0e9df;text-decoration:none;margin:0 0 13px;line-height:1.6;font-size:13px}
.footer-column>a span{margin-left:14px;color:#acbfb1}.footer-column>a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-contact>p{font-size:13px;color:#b9ccbd;line-height:1.8;margin:0 0 18px;max-width:220px}
.footer-contact>a[href^='mailto:']{overflow-wrap:anywhere;font-size:12px}
.footer-contact>a.footer-contact-link{display:inline-flex;gap:22px;align-items:center;color:#e6ce98;border-bottom:1px solid #829779;padding:3px 0 8px;margin-top:9px}
.footer-bottom{border-top:1px solid #ffffff24;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#abc0b0;font-size:11px}
.footer-bottom>a{color:#c9d9ca;text-decoration:none}
/* Quiet rectangular controls replace the previous pill treatment. */
body .button,body button{border-radius:4px;min-height:46px;padding:12px 20px;font-size:14px;letter-spacing:.01em;font-weight:500;box-shadow:none}
body .button:hover,body button:hover{box-shadow:none;background:#193f33}
body .button.secondary,body button.secondary{background:transparent;border-color:#aebca8;color:#2b4e3c}
body .button.secondary:hover,body button.secondary:hover{background:#e9eee3}
.install-card{border-radius:4px;box-shadow:none;background:#efefe6}
@media(max-width:1050px){.header-inner{gap:20px}.header-right{gap:22px}.desktop-nav{gap:18px}.site-brand{gap:12px}.site-brand>span{font-size:29px}.header-actions{padding-left:16px}.footer-top{gap:28px;grid-template-columns:1.3fr .8fr 1fr 1.3fr}}
@media(max-width:820px){.desktop-nav{display:none}.header-menu{display:block}.header-actions{border:0;padding:0;gap:3px}.header-inner{min-height:110px;padding:12px 22px}.site-brand img{width:76px;height:76px}.site-brand>span{font-size:29px}.footer-top{grid-template-columns:1fr 1fr;gap:36px 28px}.footer-intro>p{max-width:300px}.footer-intro{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-contact>p{max-width:none}.footer-inner{padding:40px 24px 22px}}
@media(max-width:480px){.header-inner{min-height:98px;padding:12px 16px;gap:8px}.site-brand{gap:8px}.site-brand img{width:60px;height:60px}.site-brand>span{font-size:25px}.header-actions{gap:0}.header-icon{width:38px;height:44px}.header-icon svg{width:23px;height:23px}.header-right{gap:0}.footer-inner{padding:38px 22px 22px}.footer-wordmark{font-size:35px}.footer-top{gap:30px 22px;padding-bottom:28px}.footer-column h2{font-size:10px;margin-bottom:18px}.footer-bottom{flex-wrap:wrap;gap:12px}.footer-bottom>span:nth-child(2){display:none}}
/* Mobile installed app retains the centered identity requested by the owner. */
@media(max-width:1024px){.is-pwa .site-header .header-inner{position:relative;flex-direction:column;padding-top:20px;padding-bottom:20px;gap:12px}.is-pwa .site-header .site-brand{flex-direction:column;gap:7px}.is-pwa .site-header .site-brand img{width:88px;height:88px}.is-pwa .site-header .header-right{position:absolute;right:16px;top:20px}.is-pwa .site-header .desktop-nav,.is-pwa .site-header .search-link,.is-pwa .site-header .header-actions>a:not(.search-link){display:none}.is-pwa .site-header .header-menu{display:block}}
@media(display-mode:standalone) and (max-width:1024px){.site-header .header-inner{position:relative;flex-direction:column;padding-top:20px;padding-bottom:20px;gap:12px}.site-header .site-brand{flex-direction:column;gap:7px}.site-header .site-brand img{width:88px;height:88px}.site-header .header-right{position:absolute;right:16px;top:20px}.site-header .desktop-nav,.site-header .search-link,.site-header .header-actions>a:not(.search-link){display:none}.site-header .header-menu{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.desktop-nav a::after,.header-icon{transition:none}}

@media(max-width:360px){.header-inner{padding-left:12px;padding-right:12px}.site-brand img{width:48px;height:48px}.site-brand{gap:6px}.site-brand>span{font-size:22px}.header-icon{width:34px}.header-icon svg{width:21px;height:21px}}
