:root { --cream:#fffaf0; --paper:#fffdf8; --ink:#2f4334; --muted:#617264; --green:#3c7951; --green-dark:#285b3b; --pale-green:#e7f1df; --line:#d6e1d1; --sun:#e9bb55; --shadow:0 9px 25px rgba(47,67,52,.10); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--cream); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; font-size:18px; line-height:1.8; }
a { color:inherit; } img { display:block; max-width:100%; } h1,h2,p { margin-top:0; } h1 { font-size:clamp(2rem,7vw,3.8rem); line-height:1.28; letter-spacing:.02em; } h2 { font-size:clamp(1.45rem,4vw,2rem); line-height:1.45; }
.skip-link { position:absolute; left:-9999px; } .skip-link:focus { left:1rem; top:1rem; z-index:10; background:white; padding:.6rem 1rem; }
.site-header { background:rgba(255,253,248,.96); border-bottom:1px solid var(--line); } .header-inner,.site-footer { max-width:1120px; margin:0 auto; padding:.85rem 1rem; } .header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { color:var(--green-dark); font-size:1.25rem; font-weight:800; text-decoration:none; white-space:nowrap; } .brand span { color:var(--green); } nav { display:flex; flex-wrap:wrap; gap:.25rem .8rem; } nav a { color:var(--green-dark); font-size:1rem; font-weight:700; text-decoration:none; padding:.35rem .15rem; } nav a:hover,.text-link:hover { text-decoration:underline; }
.hero { min-height:470px; padding:4rem 1.2rem 3rem; display:grid; grid-template-columns:minmax(0,640px) minmax(180px,300px); gap:2rem; align-items:center; justify-content:center; background:linear-gradient(135deg,#f5f6df 0%,#fffaf0 60%,#e7f1df 100%); overflow:hidden; } .hero-copy { max-width:640px; } .hero p { max-width:38rem; } .kicker,.eyebrow { color:var(--green); font-size:.9rem; font-weight:800; letter-spacing:.11em; }
.hero-leaf { min-height:230px; position:relative; color:var(--green); font-size:6rem; text-align:center; } .hero-leaf span { position:absolute; opacity:.82; } .hero-leaf span:nth-child(1) { left:9%; top:3%; } .hero-leaf span:nth-child(2) { right:1%; top:28%; color:var(--sun); font-size:4.2rem; } .hero-leaf span:nth-child(3) { left:33%; bottom:3%; font-size:8rem; }
.button { align-items:center; border-radius:.7rem; display:inline-flex; justify-content:center; min-height:52px; padding:.65rem 1.2rem; font-weight:800; text-align:center; text-decoration:none; } .button-primary { background:var(--green); color:white; box-shadow:0 5px 0 var(--green-dark); } .button-primary:hover { background:var(--green-dark); transform:translateY(1px); box-shadow:0 4px 0 var(--green-dark); }
.content-section { max-width:1120px; margin:0 auto; padding:3.5rem 1rem; } .section-heading { max-width:650px; margin-bottom:1.5rem; } .latest-section { padding-top:4.5rem; } .nurie-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:1.25rem; }
.nurie-card { background:var(--paper); border:1px solid var(--line); border-radius:1rem; overflow:hidden; box-shadow:0 4px 13px rgba(47,67,52,.06); } .nurie-card a { display:block; height:100%; text-decoration:none; } .nurie-card a:hover { box-shadow:var(--shadow); } .nurie-card img { width:100%; aspect-ratio:4 / 5; object-fit:cover; object-position:top; background:#fff; }
.card-text { padding:1rem; } .card-text h2 { font-size:1.2rem; margin-bottom:.4rem; } .card-text p:last-child { font-size:1rem; color:var(--muted); margin-bottom:0; } .eyebrow { margin-bottom:.2rem; } .center { text-align:center; margin-top:2rem; } .text-link { color:var(--green-dark); font-weight:800; }
.video-section { padding-top:1rem; } .video-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); gap:1.25rem; } .video-card { overflow:hidden; background:var(--paper); border:1px solid var(--line); border-radius:1rem; box-shadow:0 4px 13px rgba(47,67,52,.06); } .video-card a { display:block; height:100%; color:inherit; text-decoration:none; } .video-card a:hover,.video-card a:focus-visible { box-shadow:var(--shadow); } .video-image { display:block; position:relative; aspect-ratio:16 / 9; overflow:hidden; background:#203329; } .video-image img { display:block; width:100%; height:100%; object-fit:cover; } .video-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:3.5rem; height:3.5rem; border-radius:50%; background:rgba(27,45,34,.88); color:#fff; font-size:1.35rem; padding-left:.2rem; } .video-title { display:block; padding:1rem; font-size:1.05rem; font-weight:800; line-height:1.55; }
.gentle-note { max-width:900px; margin:1rem auto 4rem; padding:2rem 1.3rem; border-radius:1rem; background:var(--pale-green); text-align:center; } .gentle-note p { margin-bottom:0; }
.page-hero { padding:3.6rem 1rem 2.5rem; background:#eef5e9; text-align:center; } .page-hero p { max-width:720px; margin-left:auto; margin-right:auto; } .small-hero { padding-bottom:2.3rem; } .season-section { margin-bottom:3.5rem; } .season-section .section-heading { border-left:5px solid var(--green); padding-left:1rem; } .empty-note { border:2px dashed var(--line); border-radius:1rem; padding:2rem; text-align:center; }
.breadcrumbs { max-width:1120px; margin:0 auto; padding:1.2rem 1rem 0; color:var(--muted); font-size:.95rem; } .breadcrumbs a { color:var(--green-dark); } .print-layout { max-width:1120px; margin:0 auto; padding:2rem 1rem 3rem; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:clamp(1.5rem,5vw,4rem); align-items:center; }
.print-preview { background:#fff; border:1px solid var(--line); border-radius:.9rem; padding:.7rem; box-shadow:var(--shadow); } .print-preview img { width:100%; max-height:690px; margin:auto; object-fit:contain; } .print-copy h1 { font-size:clamp(2rem,5vw,3.1rem); } .download-button { display:flex; width:100%; margin-top:1.5rem; font-size:1.1rem; } .download-help { color:var(--muted); font-size:1rem; text-align:center; }
.two-columns,.about-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; } .info-box { background:var(--paper); border-radius:1rem; padding:1.4rem; border:1px solid var(--line); } .info-box h2 { color:var(--green-dark); font-size:1.3rem; } .info-box p,.info-box ol { margin-bottom:0; } .info-box li+li { margin-top:.6rem; }
.about-layout { align-items:center; max-width:900px; } .photo-placeholder { aspect-ratio:1 / 1; display:grid; place-content:center; border:3px dashed #a6bd9e; border-radius:50%; background:var(--pale-green); color:var(--green-dark); text-align:center; } .photo-placeholder span { font-size:1.5rem; font-weight:800; } .photo-placeholder small { color:var(--muted); } .prose { max-width:800px; } .prose h2 { padding-top:1rem; color:var(--green-dark); font-size:1.4rem; }
.site-footer { display:flex; gap:1.5rem; justify-content:space-between; border-top:1px solid var(--line); color:var(--muted); font-size:.95rem; } .site-footer p { margin-bottom:.25rem; } .footer-name { color:var(--green-dark); font-weight:800; } .site-footer nav { align-content:start; min-width:180px; }
@media (max-width:620px) { .header-inner { align-items:flex-start; flex-direction:column; } .header-inner nav { width:100%; justify-content:space-between; } .hero { min-height:auto; grid-template-columns:1fr; padding-top:3rem; } .hero-leaf { min-height:105px; font-size:3.5rem; } .hero-leaf span:nth-child(2) { font-size:2.4rem; } .hero-leaf span:nth-child(3) { font-size:4.6rem; } .print-layout,.two-columns,.about-layout { grid-template-columns:1fr; } .print-layout { padding-top:1.5rem; } .photo-placeholder { max-width:260px; justify-self:center; width:100%; } .site-footer { flex-direction:column; gap:.8rem; } }
