/* ═══════════ Birdello — shared styles for sub-pages & blog ═══════════ */
@font-face { font-family:'Poppins'; font-weight:300; font-style:normal; font-display:swap; src:url('fonts/Poppins-Light.ttf') format('truetype'); }
@font-face { font-family:'Poppins'; font-weight:400; font-style:normal; font-display:swap; src:url('fonts/Poppins-Regular.ttf') format('truetype'); }
@font-face { font-family:'Poppins'; font-weight:400; font-style:italic; font-display:swap; src:url('fonts/Poppins-Italic.ttf') format('truetype'); }
@font-face { font-family:'Poppins'; font-weight:500; font-style:normal; font-display:swap; src:url('fonts/Poppins-Medium.ttf') format('truetype'); }
@font-face { font-family:'Poppins'; font-weight:600; font-style:normal; font-display:swap; src:url('fonts/Poppins-SemiBold.ttf') format('truetype'); }
@font-face { font-family:'Poppins'; font-weight:700; font-style:normal; font-display:swap; src:url('fonts/Poppins-Bold.ttf') format('truetype'); }
@font-face { font-family:'Poppins'; font-weight:800; font-style:normal; font-display:swap; src:url('fonts/Poppins-ExtraBold.ttf') format('truetype'); }
@font-face { font-family:'Poppins'; font-weight:900; font-style:normal; font-display:swap; src:url('fonts/Poppins-Black.ttf') format('truetype'); }

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
:root{
  --green:#074726; --green-deep:#05351C; --green-light:#79B742;
  --yellow:#FEDF5A; --yellow-deep:#F2CA2E; --offwhite:#F1F2F2;
  --black:#0B0B0B; --cream:#FBF8EF; --gold:#C6A15B; --line:rgba(7,71,38,0.12);
  --font:'Poppins',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1); --pad:clamp(22px,6vw,120px);
}
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ font-family:var(--font); background:var(--cream); color:var(--green); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img{ display:block; max-width:100%; }
a{ color:inherit; }
::selection{ background:var(--yellow); color:var(--green); }
.wrap{ max-width:1200px; margin-inline:auto; padding-inline:var(--pad); }
.narrow{ max-width:760px; }

.eyebrow{ font-size:12px; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--green-light); }
.display{ font-weight:800; line-height:1.02; letter-spacing:-0.03em; }
.display em{ font-style:normal; color:var(--green-light); }
h1.display{ font-size:clamp(38px,6vw,76px); font-weight:900; letter-spacing:-0.04em; }
h2.display{ font-size:clamp(28px,4.4vw,52px); }
.lead{ font-size:clamp(16px,1.4vw,20px); line-height:1.6; font-weight:300; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font); font-size:15px; font-weight:600; padding:15px 30px; border-radius:100px; text-decoration:none; cursor:pointer; border:none; transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s; white-space:nowrap; }
.btn svg{ transition:transform .3s var(--ease); }
.btn:hover svg{ transform:translateX(4px); }
.btn-gold{ background:var(--yellow); color:var(--green); box-shadow:0 10px 30px -8px rgba(254,223,90,0.5); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -10px rgba(254,223,90,0.65); }
.btn-green{ background:var(--green); color:var(--offwhite); }
.btn-green:hover{ transform:translateY(-2px); background:var(--green-deep); }
.btn-outline{ background:transparent; color:var(--offwhite); border:1.5px solid rgba(241,242,242,0.35); }
.btn-outline:hover{ border-color:var(--yellow); color:var(--yellow); }
.btn-outline-dark{ background:transparent; color:var(--green); border:1.5px solid rgba(7,71,38,0.25); }
.btn-outline-dark:hover{ border-color:var(--green); background:rgba(7,71,38,0.05); }

/* Social */
.social{ display:inline-flex; gap:12px; align-items:center; }
.social a{ width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(241,242,242,0.22); transition:background .25s,border-color .25s,transform .2s; }
.social a:hover{ background:var(--yellow); border-color:var(--yellow); transform:translateY(-2px); }
.social a:hover svg{ fill:var(--green); }
.social svg{ width:17px; height:17px; fill:var(--offwhite); transition:fill .25s; }

/* Nav (solid, for content pages) */
nav.subnav{ position:fixed; top:0; left:0; right:0; z-index:90; display:flex; align-items:center; justify-content:space-between; padding:14px var(--pad); background:rgba(251,248,239,0.9); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%); border-bottom:1px solid var(--line); transition:box-shadow .3s; }
nav.subnav.scrolled{ box-shadow:0 4px 24px -12px rgba(7,71,38,0.25); }
.subnav .nav-logo img{ height:28px; }
.subnav .nav-links{ display:flex; align-items:center; gap:30px; list-style:none; }
.subnav .nav-links a{ font-size:14px; font-weight:500; text-decoration:none; color:var(--green); opacity:.82; transition:opacity .2s; }
.subnav .nav-links a:hover{ opacity:1; }
.subnav .nav-cta{ padding:10px 22px; }
.subnav .nav-right{ display:flex; align-items:center; gap:18px; }
.hamburger{ display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:8px; }
.hamburger span{ width:24px; height:2px; background:var(--green); }
.mobile-menu{ position:fixed; inset:0; z-index:89; background:var(--green); color:var(--offwhite); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; padding:40px; opacity:0; visibility:hidden; transition:opacity .4s var(--ease),visibility .4s; }
.mobile-menu.open{ opacity:1; visibility:visible; }
.mobile-menu a{ font-size:26px; font-weight:700; text-decoration:none; color:var(--offwhite); padding:8px; }
.mobile-menu a.mm-cta{ color:var(--yellow); }

/* Page hero */
.page-hero{ background:radial-gradient(120% 100% at 80% 0%, #0a5c30 0%, var(--green) 45%, var(--green-deep) 100%); color:var(--offwhite); padding:clamp(120px,18vh,190px) var(--pad) clamp(56px,9vh,96px); }
.page-hero .wrap{ padding-inline:0; }
.page-hero .eyebrow{ color:var(--yellow); }
.page-hero h1{ color:#fff; margin:18px 0 18px; max-width:16ch; }
.page-hero h1 em{ color:var(--yellow); }
.page-hero p{ max-width:56ch; color:rgba(241,242,242,0.82); font-weight:300; font-size:clamp(16px,1.5vw,20px); }
.page-hero .hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.crumbs{ font-size:13px; color:rgba(241,242,242,0.6); margin-bottom:6px; }
.crumbs a{ color:rgba(241,242,242,0.8); text-decoration:none; }
.crumbs a:hover{ color:var(--yellow); }

/* Sections */
section.block{ padding:clamp(64px,10vh,120px) 0; }
.section-head{ max-width:640px; }
.section-head .eyebrow{ display:block; margin-bottom:16px; }
.section-head h2{ margin-bottom:18px; }
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,88px); align-items:center; }
.bg-cream{ background:var(--cream); } .bg-white{ background:#fff; } .bg-green{ background:var(--green); color:var(--offwhite); }
.bg-green .eyebrow{ color:var(--yellow); } .bg-green h2{ color:#fff; } .bg-green h2 em{ color:var(--yellow); } .bg-green .lead{ color:rgba(241,242,242,0.75); }

/* Feature grid / cards */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:48px; }
.card{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px 26px; transition:transform .35s var(--ease),box-shadow .35s; }
.card:hover{ transform:translateY(-4px); box-shadow:0 24px 50px -28px rgba(7,71,38,0.3); }
.card .n{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green-light); }
.card h3{ font-size:19px; font-weight:700; margin:12px 0 8px; letter-spacing:-0.01em; }
.card p{ font-size:14px; line-height:1.65; font-weight:300; color:rgba(7,71,38,0.7); }
.card .ico{ width:46px; height:46px; border-radius:12px; background:var(--yellow); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:18px; }
.bg-green .card{ background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1); }
.bg-green .card h3{ color:#fff; } .bg-green .card p{ color:rgba(241,242,242,0.65); }

.media-photo{ border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(7,71,38,0.4); }
.media-photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; }

/* Checklist */
.ticklist{ list-style:none; display:flex; flex-direction:column; gap:14px; margin-top:8px; }
.ticklist li{ display:flex; gap:12px; align-items:flex-start; font-size:15px; line-height:1.5; }
.ticklist svg{ flex-shrink:0; margin-top:3px; }

/* Article / prose */
.article{ max-width:720px; margin-inline:auto; padding:clamp(48px,7vh,80px) var(--pad) clamp(64px,9vh,110px); }
.article > *{ margin-bottom:22px; }
.article p{ font-size:17px; line-height:1.75; font-weight:300; color:rgba(7,71,38,0.86); }
.article h2{ font-size:clamp(24px,3vw,32px); font-weight:800; letter-spacing:-0.02em; margin-top:40px; }
.article h3{ font-size:20px; font-weight:700; margin-top:28px; }
.article ul,.article ol{ padding-left:22px; }
.article li{ font-size:17px; line-height:1.7; font-weight:300; margin-bottom:10px; color:rgba(7,71,38,0.86); }
.article a{ color:var(--green); font-weight:500; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--green-light); }
.article a:hover{ color:var(--green-light); }
.article blockquote{ border-left:4px solid var(--yellow); padding:6px 0 6px 22px; margin:8px 0; font-size:20px; font-weight:600; font-style:italic; color:var(--green); }
.article strong{ font-weight:600; }
.article img{ border-radius:18px; width:100%; margin:12px 0; box-shadow:0 24px 50px -30px rgba(7,71,38,0.35); }
.article .meta{ font-size:13px; color:var(--green-light); font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }
.article .lede{ font-size:20px; line-height:1.6; font-weight:400; color:var(--green); }
.article-hero{ background:var(--green); color:var(--offwhite); padding:clamp(120px,17vh,180px) var(--pad) clamp(40px,6vh,60px); }
.article-hero .inner{ max-width:720px; margin-inline:auto; }
.article-hero h1{ color:#fff; margin:14px 0 8px; }
.article-hero h1 em{ color:var(--yellow); }
.article-hero .crumbs{ margin-bottom:14px; }

/* Blog index cards */
.post-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; margin-top:52px; }
.post-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:22px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .35s var(--ease),box-shadow .35s; }
.post-card:hover{ transform:translateY(-5px); box-shadow:0 30px 60px -30px rgba(7,71,38,0.32); }
.post-card .pc-tag{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green-light); }
.post-card .pc-body{ padding:28px 28px 32px; }
.post-card h3{ font-size:22px; font-weight:700; letter-spacing:-0.01em; margin:12px 0 10px; line-height:1.15; }
.post-card p{ font-size:14.5px; line-height:1.6; font-weight:300; color:rgba(7,71,38,0.7); }
.post-card .pc-more{ margin-top:16px; font-weight:600; font-size:14px; color:var(--green); }
.post-card .pc-thumb{ height:120px; background:var(--green); }
.post-card:nth-child(2) .pc-thumb{ background:linear-gradient(135deg,var(--green-light),var(--green)); }
.post-card:nth-child(3) .pc-thumb{ background:linear-gradient(135deg,var(--yellow-deep),var(--yellow)); }
.post-card:nth-child(4) .pc-thumb{ background:linear-gradient(135deg,var(--yellow),var(--green-light)); }

/* CTA band */
.cta-band{ background:var(--green); color:var(--offwhite); text-align:center; position:relative; overflow:hidden; }
.cta-band::before{ content:''; position:absolute; width:60vw; height:60vw; max-width:640px; max-height:640px; left:50%; top:-30%; transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle,rgba(254,223,90,0.16),transparent 62%); }
.cta-band .inner{ position:relative; z-index:2; max-width:680px; margin-inline:auto; }
.cta-band .eyebrow{ color:var(--yellow); } .cta-band h2{ color:#fff; margin:16px 0 14px; } .cta-band h2 em{ color:var(--yellow); }
.cta-band p{ color:rgba(241,242,242,0.72); margin-bottom:34px; }
.email-form{ display:flex; gap:12px; max-width:480px; margin:0 auto; }
.email-form input{ flex:1; padding:16px 22px; border-radius:100px; border:1.5px solid rgba(241,242,242,0.2); background:rgba(241,242,242,0.07); color:var(--offwhite); font-family:var(--font); font-size:15px; outline:none; transition:border-color .25s; }
.email-form input::placeholder{ color:rgba(241,242,242,0.42); }
.email-form input:focus{ border-color:var(--yellow); }
.cta-band .fineprint{ margin-top:20px; font-size:12px; color:rgba(241,242,242,0.42); }
.form-done{ display:none; margin-top:22px; font-size:19px; font-weight:700; font-style:italic; color:var(--yellow); }

/* Footer */
footer.site-footer{ background:var(--green-deep); color:rgba(241,242,242,0.6); padding:70px var(--pad) 34px; }
.footer-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:42px; border-bottom:1px solid rgba(241,242,242,0.1); }
.footer-brand img.f-logo{ height:28px; margin-bottom:18px; }
.footer-brand p{ font-size:14px; font-weight:300; max-width:34ch; line-height:1.6; }
.footer-brand .contact{ margin-top:16px; font-size:14px; }
.footer-brand .contact a{ color:var(--yellow); text-decoration:none; }
.footer-brand .social{ margin-top:22px; }
.footer-col h5{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(241,242,242,0.85); margin-bottom:16px; font-weight:600; }
.footer-col a{ display:block; font-size:14px; color:rgba(241,242,242,0.6); text-decoration:none; margin-bottom:11px; font-weight:300; transition:color .2s; }
.footer-col a:hover{ color:var(--yellow); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:26px; font-size:12.5px; color:rgba(241,242,242,0.4); }
.footer-bottom .badge{ display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(241,242,242,0.15); border-radius:100px; padding:6px 14px; }

/* Age gate */
.agegate{ position:fixed; inset:0; z-index:1000; background:var(--green-deep); display:flex; align-items:center; justify-content:center; text-align:center; padding:32px; transition:opacity .6s var(--ease),visibility .6s; }
.agegate.hide{ opacity:0; visibility:hidden; }
.agegate-inner{ max-width:440px; }
.agegate img{ width:82px; margin:0 auto 24px; }
.agegate h2{ color:#fff; font-size:clamp(24px,4vw,32px); font-weight:800; line-height:1.05; margin-bottom:12px; letter-spacing:-0.02em; }
.agegate p{ color:rgba(241,242,242,0.6); font-size:15px; margin-bottom:28px; font-weight:300; }
.agegate-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.agegate small{ display:block; margin-top:22px; color:rgba(241,242,242,0.35); font-size:12px; }

/* Cookie */
.cookie{ position:fixed; left:50%; bottom:20px; transform:translateX(-50%) translateY(160%); z-index:200; width:min(680px,calc(100vw - 32px)); background:var(--green); color:var(--offwhite); border:1px solid rgba(254,223,90,0.25); border-radius:18px; padding:20px 22px; box-shadow:0 24px 60px -18px rgba(0,0,0,0.5); display:flex; align-items:center; gap:20px; flex-wrap:wrap; transition:transform .55s var(--ease); }
.cookie.show{ transform:translateX(-50%) translateY(0); }
.cookie p{ font-size:13.5px; font-weight:300; color:rgba(241,242,242,0.85); line-height:1.55; flex:1 1 300px; }
.cookie p a{ color:var(--yellow); }
.cookie-actions{ display:flex; gap:10px; }
.cookie .btn{ padding:11px 22px; font-size:13.5px; }
.cookie .btn-decline{ background:transparent; color:var(--offwhite); border:1.5px solid rgba(241,242,242,0.3); }
.cookie .btn-decline:hover{ border-color:var(--yellow); color:var(--yellow); }

/* Reveal */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.d1{ transition-delay:.08s; } .d2{ transition-delay:.16s; } .d3{ transition-delay:.24s; }

/* Responsive */
@media (max-width:900px){
  .subnav .nav-links{ display:none; } .hamburger{ display:flex; } .subnav .nav-cta{ display:none; }
}
@media (max-width:820px){
  .split{ grid-template-columns:1fr; } .media-photo{ max-width:460px; margin-inline:auto; }
  .grid-3{ grid-template-columns:1fr; } .grid-2{ grid-template-columns:1fr; }
  .post-grid{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .email-form{ flex-direction:column; } .footer-top{ grid-template-columns:1fr; } .cookie{ flex-direction:column; text-align:center; } .cookie-actions{ justify-content:center; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; scroll-behavior:auto !important; } .reveal{ opacity:1; transform:none; transition:none; }
}
