/* Integrate the preserved plant and secured admin views with the original archive. */
body { margin: 0; }
body > main { min-height: 50vh; }
.site-header, .site-footer { max-width: none; }
.site-nav a { white-space: nowrap; }
.site-footer { display: grid; grid-template-columns: 1fr 1fr 1.3fr; }
.site-footer .footer-mark { font-family: 'Archivo Black', sans-serif; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; gap: 16px; }
.site-footer .footer-links p { width: 100%; }
.archive-search { display: flex; gap: 12px; max-width: 720px; margin-bottom: 36px; }
.archive-search input { flex: 1; min-width: 0; padding: 14px; border: 1px solid currentColor; }
.archive-search button { padding: 12px 24px; }
.photo-admin { padding: 32px clamp(18px,5vw,80px); }
.photo-admin .graffiti-grid { margin-top: 28px; }
.photo-editor { max-width: 900px; margin: auto; padding: 36px 20px; }
.photo-editor label { display: block; margin-bottom: 18px; }
.photo-editor input:not([type=checkbox]), .photo-editor textarea, .photo-editor select { display:block; width:100%; padding:12px; border:1px solid #aeb7b1; background:white; }
.photo-editor .photo-editor-image { max-width: 100%; max-height: 350px; object-fit: contain; }
.photo-admin-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:12px; }
.photo-admin-actions button { padding:8px 12px; }
.archive-notice { max-width:760px; margin:80px auto; padding:0 24px; }
.archive-notice h1 { font-size:clamp(32px,5vw,56px); }
.archive-notice p { line-height:1.7; margin:20px 0; }
.plants-section { --surface: #fff; --surface-soft: #f0f0e9; --ink: #19372d; --muted: #587568; }
@media(max-width:700px) { .site-footer { grid-template-columns:1fr; } .archive-search { flex-wrap:wrap; } .archive-search input { min-width:180px; } }

/* The homepage introduces all three collections, with a small featured selection. */
.archive-home-intro { padding: 64px clamp(22px,5vw,80px) 56px; background:#17232c; color:#fff; }
.archive-home-intro .kicker { color:#9db5ba; }
.archive-home-intro h1 { margin:36px 0; font-size:clamp(58px,8vw,120px); line-height:.98; letter-spacing:-.065em; text-transform:uppercase; font-weight:800; }
.archive-home-intro h1 em { color:#1bb7a8; font-style:normal; }
.archive-home-intro-foot { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }
.archive-home-intro-foot > p { max-width:540px; margin:0; color:#d3dee1; font-size:19px; line-height:1.6; }
.archive-home-intro-foot nav { display:flex; flex-direction:column; }
.archive-home-intro-foot nav a { display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid #ffffff30; color:#fff; text-decoration:none; font-size:18px; }
.archive-home-intro-foot nav a:hover { color:#1bb7a8; }
.archive-home-collections { padding:64px clamp(22px,5vw,80px) 72px; }
.archive-home-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:36px; }
.archive-home-heading h2 { font-size:clamp(28px,3vw,44px); line-height:1.1; letter-spacing:-.04em; margin:10px 0 0; }
.archive-home-heading > p { color:#52636b; font-size:16px; line-height:1.5; margin:0; }
.archive-home-panels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.archive-home-panel { min-width:0; display:flex; flex-direction:column; }
.archive-home-panel header { border-top:2px solid #17232c; padding:20px 0 24px; }
.archive-home-panel h3 { margin:12px 0; font-size:clamp(22px,2.1vw,32px); line-height:1.15; letter-spacing:-.035em; }
.archive-home-panel h3 a { display:flex; justify-content:space-between; gap:8px; color:inherit; text-decoration:none; }
.archive-home-panel header > p { font-size:16px; line-height:1.5; color:#52636b; margin:0; min-height:72px; }
.archive-home-featured { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.archive-home-photo { min-width:0; text-decoration:none; color:inherit; }
.archive-home-photo-main { grid-column:1/-1; }
.archive-home-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#e3e8e8; }
.archive-home-photo span { display:block; font-size:12px; line-height:1.4; padding-top:8px; overflow-wrap:anywhere; }
.archive-home-photo:hover img { filter:brightness(.9); }
.archive-home-collection-link { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #b7c2c5; margin-top:24px; padding:18px 0; color:#0b756d; font-size:15px; font-weight:700; text-decoration:none; }
.archive-home-empty { min-height:200px; }
.archive-home-note { padding:48px clamp(22px,5vw,80px); background:#dff5f1; }
.archive-home-note > p:not(.kicker) { font-size:clamp(24px,3vw,40px); line-height:1.2; letter-spacing:-.035em; }
.archive-home-note > a { color:inherit; }
@media(max-width:900px) { .archive-home-panels { gap:20px; } .archive-home-panel header > p { min-height:96px; } }
@media(max-width:700px) { .archive-home-intro { padding-top:40px; } .archive-home-intro-foot { grid-template-columns:1fr; gap:28px; } .archive-home-intro-foot > p { font-size:17px; } .archive-home-heading { display:block; } .archive-home-heading > p { margin-top:20px; } .archive-home-panels { grid-template-columns:1fr; gap:40px; } .archive-home-panel header > p { min-height:0; } .archive-home-panel h3 { font-size:30px; } .archive-home-collections { padding-top:40px; } }
