*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:#F5F0E3;color:#3B2F2F;font-family:'Source Serif 4',serif;font-size:1.125rem;line-height:1.72;position:relative}

/* Noise texture overlay */
.noise-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}

/* Hero */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:2rem}
.leaf-watermark{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(ellipse at center,#C4B7A1 0%,transparent 70%);opacity:0.08;top:50%;left:50%;transform:translate(-50%,-50%)}
h1{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(2.4rem,5vw,5.6rem);letter-spacing:0.015em;color:#3B2F2F;position:relative;z-index:1}
.tagline{font-family:'DM Sans',sans-serif;font-weight:500;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.12em;color:#C4B7A1;margin-top:1.5rem;position:relative;z-index:1}

/* Section titles */
.section-title{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(1.4rem,2.5vw,2.4rem);letter-spacing:0.015em;color:#3B2F2F;text-align:center;padding:clamp(2rem,4vw,5rem) 2rem 2rem}

/* Bento Grid */
.specimens{max-width:1100px;margin:0 auto;padding:0 2rem}
.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem)}
.bento-cell{background:#FFFFFF;border:1px solid #C4B7A1;border-radius:8px;padding:clamp(1.25rem,2vw,2rem);transition:border-color 0.3s ease,transform 0.3s ease,box-shadow 0.3s ease}
.bento-cell:hover{border-color:#B8860B;transform:translateY(-3px);box-shadow:0 4px 16px rgba(59,47,47,0.08)}
.bento-cell:nth-child(1){grid-column:span 5}
.bento-cell:nth-child(2){grid-column:span 4}
.bento-cell:nth-child(3){grid-column:span 3}
.bento-cell:nth-child(4){grid-column:span 8}
.bento-cell:nth-child(5){grid-column:span 4}
.bento-cell:nth-child(6){grid-column:span 5}
.bento-cell.tall{min-height:260px}
.tag{font-family:'DM Sans',sans-serif;font-weight:500;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:#6B7F5E;display:inline-block;margin-bottom:0.75rem}
.bento-cell h3{font-family:'Libre Baskerville',serif;font-weight:700;font-size:1.125rem;color:#3B2F2F;margin-bottom:0.5rem}
.bento-cell p{font-family:'Source Serif 4',serif;font-size:0.9375rem;line-height:1.72;color:#3B2F2F}

/* Interlude */
.interlude{max-width:800px;margin:clamp(3rem,6vw,6rem) auto;padding:clamp(2rem,4vw,4rem);background:#C4B7A1;border-radius:8px;text-align:center}
blockquote p{font-family:'Libre Baskerville',serif;font-weight:400;font-style:italic;font-size:clamp(1.6rem,3vw,2.8rem);color:#3B2F2F;line-height:1.4}
cite{font-family:'DM Sans',sans-serif;font-weight:500;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:#3B2F2F;display:block;margin-top:1.5rem;font-style:normal;opacity:0.7}

/* Growth Rings Timeline */
.growth-rings{max-width:800px;margin:0 auto;padding:0 2rem clamp(3rem,6vw,6rem)}
.timeline{position:relative;padding:2rem 0}
.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#3B2F2F;transform:translateX(-50%)}
.timeline-entry{position:relative;width:45%;margin-bottom:3rem}
.timeline-entry.left{margin-right:auto;text-align:right;padding-right:2rem}
.timeline-entry.right{margin-left:auto;text-align:left;padding-left:2rem}
.node{position:absolute;top:1rem;width:12px;height:12px;border-radius:50%;border:2px solid #B8860B;background:#F5F0E3;z-index:1}
.timeline-entry.left .node{right:-6px}
.timeline-entry.right .node{left:-6px}
.entry-content h3{font-family:'Libre Baskerville',serif;font-weight:700;font-size:1rem;color:#3B2F2F;margin-bottom:0.5rem}
.entry-content p{font-family:'Source Serif 4',serif;font-size:0.9375rem;line-height:1.72;color:#3B2F2F}

/* Botanical divider */
.specimens::after{content:'';display:block;width:120px;height:1px;background:linear-gradient(90deg,transparent,#6B7F5E,transparent);margin:clamp(2rem,4vw,5rem) auto;opacity:0.4}

/* Footer */
.site-footer{background:#1C1A17;padding:3rem 2rem;margin-top:3rem}
.footer-inner{max-width:800px;margin:0 auto;text-align:center}
.footer-domain{font-family:'Libre Baskerville',serif;font-weight:700;font-size:1.25rem;color:#F5F0E3;margin-bottom:0.5rem}
.footer-copy{font-family:'DM Sans',sans-serif;font-size:0.75rem;color:#C4B7A1;margin-bottom:1.5rem}
.footer-links{display:flex;justify-content:center;gap:2rem}
.footer-links a{font-family:'DM Sans',sans-serif;font-size:0.8rem;color:#F5F0E3;text-decoration:none;background-size:0 1px;background-image:linear-gradient(#F5F0E3,#F5F0E3);background-repeat:no-repeat;background-position:left bottom;transition:background-size 0.3s ease}
.footer-links a:hover{background-size:100% 1px}

/* Card reveal */
.card{opacity:0;transform:translateY(12px);transition:opacity 0.6s cubic-bezier(0.22,1,0.36,1),transform 0.6s cubic-bezier(0.22,1,0.36,1)}
.card.visible{opacity:1;transform:translateY(0)}

/* Node pulse */
.card.visible .node{animation:pulse 0.6s ease-out 0.3s}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(184,134,11,0.5)}100%{box-shadow:0 0 0 8px rgba(184,134,11,0)}}

/* Responsive */
@media(max-width:768px){
  .bento-grid{grid-template-columns:1fr}
  .bento-cell,.bento-cell:nth-child(n){grid-column:span 1}
  .timeline-line{left:1rem}
  .timeline-entry,.timeline-entry.left,.timeline-entry.right{width:calc(100% - 2rem);margin-left:2rem;text-align:left;padding-left:1.5rem;padding-right:0}
  .timeline-entry.left .node,.timeline-entry.right .node{left:-2rem}
}
