
:root{--green:#234f2d;--green2:#3f6b3f;--sage:#dfe8d7;--cream:#fbf8ef;--paper:#fffdf7;--purple:#8166a4;--ink:#17301e;--muted:#607064;--line:#d9dfd3;--gold:#b58b3b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit}img{max-width:100%;display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:99}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,253,247,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-wrap{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem}.brand{text-decoration:none;display:flex;gap:.7rem;align-items:center}.brand-mark{font-size:2rem}.brand strong{font-family:Georgia,serif;font-size:1.2rem}.brand small{display:block;color:var(--muted)}
.nav-links{display:flex;gap:1.1rem;align-items:center}.nav-links a{text-decoration:none;font-size:.93rem}.menu-btn{display:none;border:0;background:transparent;font-size:1.7rem}
.hero{min-height:72vh;display:grid;place-items:center;position:relative;overflow:hidden;background:
radial-gradient(circle at 20% 20%,rgba(255,211,82,.55),transparent 18%),
radial-gradient(circle at 78% 35%,rgba(137,93,160,.42),transparent 18%),
linear-gradient(135deg,#234f2d,#668459)}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1px);background-size:18px 18px}
.hero-inner{position:relative;text-align:center;color:white;padding:5rem 1rem;max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700}.hero h1,.page-title{font-family:Georgia,serif;font-weight:500;line-height:1.05}.hero h1{font-size:clamp(3rem,8vw,6.5rem);margin:.5rem 0}.hero p{font-size:clamp(1rem,2.3vw,1.25rem);max-width:620px;margin:1rem auto 1.6rem}.button-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:.8rem 1.1rem;border-radius:999px;text-decoration:none;border:1px solid transparent;font-weight:700}.btn-primary{background:white;color:var(--green)}.btn-secondary{border-color:rgba(255,255,255,.7);color:white}.btn-green{background:var(--green);color:white}
.section{max-width:1180px;margin:auto;padding:4rem 1rem}.section h2{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:500;margin:.2rem 0 1rem}.intro{max-width:720px;color:var(--muted)}
.explore-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem}.explore-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.2rem;text-decoration:none;min-height:180px}.explore-card .icon{font-size:2rem}.explore-card h3{font-family:Georgia,serif;font-size:1.3rem;margin:.8rem 0 .3rem}.explore-card p{color:var(--muted);font-size:.92rem}
.story-band{background:var(--purple);color:white}.story-band .section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.quote{font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,3rem);line-height:1.2}
.page-hero{max-width:1180px;margin:auto;padding:3.5rem 1rem 1rem}.page-title{font-size:clamp(2.6rem,7vw,5rem);margin:.2rem 0}.controls{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.7rem;margin:1.5rem 0}.control{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:white;padding:.7rem;font:inherit}
.plant-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.plant-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;transition:.2s transform}.plant-card:hover{transform:translateY(-3px)}.plant-photo{aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,var(--sage),#efe4c9);font-size:3rem;position:relative}.plant-number{position:absolute;top:.65rem;left:.65rem;background:var(--green);color:white;border-radius:9px;padding:.25rem .5rem;font-weight:800;font-size:.8rem}.plant-content{padding:1rem}.plant-content h3{font-family:Georgia,serif;font-size:1.25rem;margin:0}.botanical{font-family:Georgia,serif;font-style:italic;color:var(--muted)}.meta{font-size:.85rem;color:var(--muted);margin:.45rem 0}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.chip{background:#edf1e7;border:1px solid #dce4d4;border-radius:999px;padding:.28rem .55rem;font-size:.78rem}.card-link{font-weight:800;color:var(--purple);font-size:.9rem}
.plant-layout{max-width:1080px;margin:auto}.plant-hero-image{height:min(55vw,520px);background:linear-gradient(135deg,#6b8d54,#d99b43,#7f5b91);display:grid;place-items:center;color:white;font-size:6rem;position:relative}.plant-header{padding:1.3rem 1rem 0}.standing{background:#edf1e2;border-radius:14px;padding:.7rem;text-align:center}.plant-header h1{font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,5rem);font-weight:500;margin:.8rem 0 0}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1rem 0}.quick{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.85rem}.quick small{display:block;color:var(--muted)}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:0 1rem 4rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.2rem;margin:1rem 0}.panel h2{font-family:Georgia,serif;font-weight:500;margin:0 0 .6rem}.visitor-list{display:flex;gap:.8rem;overflow:auto;padding:.4rem 0}.visitor{min-width:95px;text-align:center}.visitor-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--sage);font-size:1.7rem}.timeline{display:grid;grid-template-columns:repeat(12,1fr);gap:3px}.month{text-align:center;font-size:.7rem}.bar{grid-column:1/-1;height:12px;background:#eee;border-radius:8px;overflow:hidden;position:relative}.bar span{display:block;height:100%;background:var(--purple);border-radius:8px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.gallery-item{aspect-ratio:1;background:linear-gradient(135deg,#dfe8d7,#f0d8a7);border-radius:12px;display:grid;place-items:center;font-size:2rem}
.map-wrap{max-width:1180px;margin:auto;padding:1rem 1rem 4rem}.map-shell{position:relative;aspect-ratio:16/10;border:2px solid var(--green);border-radius:24px;overflow:hidden;background:#e8ead8}.house{position:absolute;right:2%;top:8%;width:29%;height:48%;background:#d1c3ac;border:2px solid #896f58;border-radius:8px;display:grid;place-items:center}.path{position:absolute;left:39%;top:0;width:12%;height:100%;background:#cbbda4;transform:skew(-5deg)}.zone{position:absolute;border:2px dashed rgba(35,79,45,.55);border-radius:40%;background:rgba(99,140,77,.18);display:flex;align-items:center;justify-content:center;color:#29492f;font-weight:800;font-size:.85rem;text-align:center;padding:.5rem}.pin{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:2px solid white;background:var(--green);color:white;font-size:.72rem;font-weight:800;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 8px rgba(0,0,0,.25)}.pin:hover,.pin:focus{background:var(--purple);z-index:4}.map-note{background:#fff5d9;border:1px solid #e4c980;border-radius:14px;padding:1rem;margin:1rem 0}.map-pop{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:60;width:min(92%,460px);background:white;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 10px 35px rgba(0,0,0,.25);display:none}.map-pop.open{display:block}.footer{background:#17301e;color:white;padding:2.5rem 1rem;text-align:center}.floating-search{display:none}
.empty{text-align:center;padding:3rem;color:var(--muted)}
@media(max-width:900px){.explore-grid{grid-template-columns:repeat(2,1fr)}.plant-grid{grid-template-columns:repeat(2,1fr)}.controls{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){body{padding-bottom:72px}.brand strong{font-size:1.05rem}.brand small{font-size:.72rem}.menu-btn{display:block}.nav-wrap{flex-wrap:wrap}.nav-links{position:static;order:3;width:100%;display:flex;max-height:0;overflow:hidden;visibility:hidden;opacity:0;padding:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border:0;transition:max-height .22s ease,opacity .18s ease,padding .22s ease}.nav-links a{display:block;padding:.72rem .25rem;text-align:left}.nav-links.open{max-height:32rem;visibility:visible;opacity:1;padding:.75rem 0 .35rem;border-top:1px solid var(--line)}.hero{min-height:76vh}.hero-inner{padding:4rem 1rem}.button-row{flex-direction:column}.btn{width:100%}.section{padding:3rem 1rem}.explore-grid{grid-template-columns:1fr}.explore-card{min-height:auto;display:grid;grid-template-columns:auto 1fr auto;column-gap:1rem;align-items:center}.explore-card .icon{grid-row:1/3}.explore-card h3,.explore-card p{margin:.1rem 0}.story-band .section{grid-template-columns:1fr}.controls{grid-template-columns:1fr}.plant-grid{grid-template-columns:1fr}.plant-card{display:grid;grid-template-columns:38% 62%}.plant-photo{aspect-ratio:auto;min-height:170px}.plant-header{padding-top:1rem}.plant-hero-image{height:58vw;min-height:260px}.content-grid{padding:0 .8rem 3rem}.quick-grid{grid-template-columns:repeat(2,1fr)}.gallery{display:flex;overflow:auto}.gallery-item{min-width:72%;aspect-ratio:4/3}.map-shell{aspect-ratio:3/4}.house{width:36%;height:42%}.path{left:42%;width:17%}.pin{width:30px;height:30px}.floating-search{display:flex;position:fixed;left:50%;bottom:.7rem;transform:translateX(-50%);z-index:50;background:var(--green);color:white;border-radius:999px;min-height:50px;padding:.7rem 1.2rem;text-decoration:none;align-items:center;gap:.5rem;box-shadow:0 8px 22px rgba(0,0,0,.25)}}


.welcome-section{max-width:1180px;margin:-2.2rem auto 0;padding:0 1rem;position:relative;z-index:5}
.welcome-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.5rem 1.7rem;display:grid;grid-template-columns:auto 1fr;gap:1.2rem;box-shadow:0 12px 30px rgba(23,48,30,.12)}
.welcome-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--sage);font-size:1.8rem}
.welcome-card h2{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:500;line-height:1.12;margin:.25rem 0 .8rem}
.welcome-card p{max-width:850px}
.welcome-favor{margin:1rem 0;padding:1rem;border-left:4px solid var(--purple);background:#f4f0f8;border-radius:0 14px 14px 0}
.curiosity-line{font-family:Georgia,serif;font-size:1.35rem;color:var(--purple);margin-bottom:0}
.why-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;align-items:start}
.why-grid>div:first-child{font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2rem);line-height:1.35}
@media(max-width:650px){
  .welcome-section{margin:-1.2rem auto 0}
  .welcome-card{grid-template-columns:1fr;padding:1.25rem}
  .welcome-icon{width:50px;height:50px}
  .welcome-card h2{font-size:2rem}
  .why-grid{grid-template-columns:1fr}
}


.chip-link{text-decoration:none;font-weight:700;transition:.15s background,.15s transform}
.chip-link:hover,.chip-link:focus{background:#ddd2ea;transform:translateY(-1px)}
.text-link{color:var(--purple);font-weight:800;text-decoration-thickness:2px;text-underline-offset:3px}
.rabbit-layout{display:grid;grid-template-columns:2fr 1fr;gap:1.2rem;padding-top:1rem}
.rabbit-box{background:#f3edf8;border:1px solid #d9cae7;border-radius:18px;padding:1.2rem;margin:1rem 0;font-size:1.05rem}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.resource-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:1.3rem}
.resource-card h2{font-family:Georgia,serif;font-weight:500;font-size:1.8rem;margin:.4rem 0}
.resource-icon{font-size:2rem}
.start-small{max-width:780px;margin:2rem auto}
.start-small li{margin:.6rem 0}
@media(max-width:650px){
 .rabbit-layout,.resource-grid{grid-template-columns:1fr}
 .resource-card .btn{width:100%}
}


.plant-card{display:flex;flex-direction:column}
.plant-card-main{display:block;text-decoration:none;color:inherit}
.plant-card-actions{padding:0 1rem 1rem}
.plant-card-actions .chips{margin-top:0}
.chip-link{cursor:pointer;font-weight:750;text-decoration:none}
.chip-link:hover,.chip-link:focus{background:#ddd2ea;outline:2px solid var(--purple);outline-offset:2px}
.map-close{float:right;border:0;background:none;font-size:1.3rem;cursor:pointer}
@media(max-width:650px){
  .plant-card{display:grid;grid-template-columns:38% 62%;grid-template-rows:auto auto}
  .plant-card-main{display:contents}
  .plant-photo{grid-column:1;grid-row:1 / span 2}
  .plant-content{grid-column:2;grid-row:1;padding-bottom:.25rem}
  .plant-card-actions{grid-column:2;grid-row:2;padding:.15rem 1rem 1rem}
}

/* Plant photos are optional. Missing files reveal a styled fallback instead of
   hiding the card or leaving a broken-image icon. Add images as images/plants/NUMBER.jpg. */
.image-shell{position:relative;overflow:hidden}
.plant-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.image-fallback{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;text-align:center;background:linear-gradient(135deg,var(--sage),#efe4c9);color:var(--green);padding:1rem}
.fallback-icon{font-size:clamp(2.6rem,8vw,5rem);line-height:1}
.fallback-label{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.72}
.image-shell.image-missing .plant-image{display:none}
.image-shell .plant-number{z-index:2}
.gallery-item{position:relative;flex-direction:column;gap:.25rem}
.gallery-item small{display:block;font-size:.72rem;color:var(--muted)}
.gallery-photo .fallback-icon{font-size:2.2rem}
.gallery-photo .fallback-label{font-size:.65rem}

/* Photo journals: drop predictable filenames into the matching folders. */
.media-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.media-tile{margin:0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--sage);border:1px solid var(--line)}
.media-tile img{width:100%;height:100%;object-fit:cover}
.gallery-empty-note{margin-top:1rem;padding:.9rem 1rem;background:#f3f0e7;border:1px dashed #c9c1ac;border-radius:12px;color:var(--muted);font-size:.88rem}
.gallery-empty-note code{background:white;border:1px solid var(--line);border-radius:5px;padding:.08rem .28rem;color:var(--ink)}
.visitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:1rem}
.visitor-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.visitor-card-link{display:grid;grid-template-columns:42% 58%;text-decoration:none;color:inherit;height:100%}
.visitor-photo{min-height:330px;background:linear-gradient(135deg,var(--sage),#efe4c9)}
.visitor-card-copy{padding:1.5rem}
.visitor-card-copy h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:.3rem 0}
.wildlife-layout{max-width:1080px;margin:auto}
.wildlife-hero{height:min(58vw,560px);background:linear-gradient(135deg,var(--sage),#efe4c9)}
.wildlife-heading{padding:1.7rem 1rem .3rem}
.wildlife-heading h1{font-family:Georgia,serif;font-size:clamp(2.6rem,7vw,5rem);font-weight:500;line-height:1.05;margin:.35rem 0}
.wildlife-summary{font-size:1.15rem;max-width:760px;color:var(--muted)}
.wildlife-content{padding-top:.5rem}
@media(max-width:800px){.visitor-grid{grid-template-columns:1fr}.visitor-card-link{grid-template-columns:36% 64%}.visitor-photo{min-height:260px}.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.visitor-card-link{grid-template-columns:1fr}.visitor-photo{min-height:250px}.media-gallery{display:flex;overflow:auto}.media-tile{min-width:78%}.wildlife-hero{min-height:290px}}

/* Field notebook journals */
.journal-list{display:grid;gap:16px}.journal-entry{border-top:1px solid #d8d3c7;padding-top:16px}.journal-entry:first-child{border-top:0;padding-top:0}.journal-date{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;color:#66705f;font-weight:800}.journal-entry h3{margin:.3rem 0}.journal-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:10px 0}.journal-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.field-notebook-link{position:fixed;right:16px;bottom:16px;z-index:40;background:#42583f;color:white;padding:12px 16px;border-radius:999px;text-decoration:none;font-weight:800}@media(max-width:640px){.journal-photos{grid-template-columns:1fr 1fr}}


/* Garden Brain 3.2 stable-test public polish */
.hero{background:linear-gradient(135deg,#234f2d,#668459)}
.hero-carousel{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.25s ease;background-position:center;background-size:cover}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,43,27,.28),rgba(18,43,27,.68))}
.hero-slide.active{opacity:1}
.hero-inner{z-index:2}
.hero-progress{position:absolute;z-index:3;left:50%;bottom:1.25rem;transform:translateX(-50%);display:flex;gap:.48rem}
.hero-progress button{width:34px;height:4px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.38);overflow:hidden;cursor:pointer}
.hero-progress button::after{content:"";display:block;width:0;height:100%;background:#fff}
.hero-progress button.active::after{animation:heroProgress 8s linear forwards}
@keyframes heroProgress{to{width:100%}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-progress button.active::after{animation:none;width:100%}}
.weekly-story{max-width:1180px;margin:0 auto;padding:3.5rem 1rem}
.weekly-story-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(1.25rem,4vw,2rem)}
.weekly-story-card h2{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:500;margin:.2rem 0 .65rem}
.weekly-story-card p{max-width:850px;font-size:1.05rem}
.weekly-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.weekly-chip{background:#edf1e7;border:1px solid #dce4d4;border-radius:999px;padding:.36rem .72rem;font-size:.84rem;font-weight:700}

/* Mobile navigation stays in document flow. It never masks the homepage. */
@media(max-width:650px){
  .site-header{position:sticky;top:0;z-index:80}
  .nav-wrap{display:grid;grid-template-columns:1fr auto;align-items:center}
  .brand{min-width:0}
  .menu-btn{grid-column:2;grid-row:1;display:block;min-width:44px;min-height:44px;border-radius:10px}
  .nav-links{grid-column:1/-1;grid-row:2;position:static!important;inset:auto!important;width:100%;max-height:0;overflow:hidden;visibility:hidden;opacity:0;padding:0!important;margin:0;display:flex!important;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border:0!important;box-shadow:none!important;border-radius:0!important;transition:max-height .22s ease,opacity .18s ease,padding .22s ease}
  .nav-links.open{max-height:36rem;visibility:visible;opacity:1;padding:.55rem 0 .4rem!important;border-top:1px solid var(--line)!important}
  .nav-links a{padding:.72rem .35rem;text-align:left}
}

/* Stable mobile public action buttons: two equal tap targets, no overlap. */
@media(max-width:650px){
  .floating-search,.field-notebook-link{display:flex;position:fixed;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:50;min-height:50px;width:calc(50% - 1.25rem);padding:.7rem .65rem;border-radius:999px;align-items:center;justify-content:center;text-align:center;font-size:.88rem;box-shadow:0 8px 22px rgba(0,0,0,.22)}
  .floating-search{left:.75rem;right:auto;transform:none}
  .field-notebook-link{right:.75rem;left:auto;background:#42583f;color:#fff}
}
/* 4.2.0 · The Garden Comes Alive */
.visitor-link{color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.visitor-link:hover,.visitor-link:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px rgba(35,55,35,.12)}
.wildlife-category{grid-column:1/-1}.visitor-grid-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.journal-entry-link{color:inherit;text-decoration:none}.journal-entry-link:hover h3{text-decoration:underline;text-underline-offset:4px}
.compact-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:100%}.gallery-thumb{position:relative;display:block;border:0;padding:0;background:#eee;border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:zoom-in}.gallery-thumb img{width:100%!important;height:100%!important;object-fit:cover;display:block}.more-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,35,24,.62);color:#fff;font-size:1.3rem;font-weight:800}.media-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,12,9,.94);display:grid;grid-template-columns:56px 1fr 56px;grid-template-rows:56px 1fr 44px;align-items:center}.media-lightbox[hidden]{display:none}.media-lightbox img{grid-column:1/-1;grid-row:2;max-width:94vw;max-height:82vh;margin:auto;object-fit:contain}.media-lightbox button{border:0;background:rgba(255,255,255,.14);color:white;font-size:2rem;border-radius:999px;width:44px;height:44px;cursor:pointer}.lightbox-close{grid-column:3;grid-row:1;justify-self:center}.lightbox-prev{grid-column:1;grid-row:2;justify-self:center}.lightbox-next{grid-column:3;grid-row:2;justify-self:center}.lightbox-count{grid-column:1/-1;grid-row:3;color:#fff;text-align:center}.weekly-chip[href]{text-decoration:none;color:inherit}.observation-layout{max-width:900px;margin:0 auto;padding:32px 20px 80px}.observation-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.observation-media{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.observation-media .gallery-thumb{border-radius:14px}.entity-links{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:640px){.compact-gallery,.observation-media{grid-template-columns:repeat(4,minmax(0,1fr))}.media-lightbox{grid-template-columns:48px 1fr 48px}.visitor-grid-inner{grid-template-columns:1fr}}
