/* Winsome Nursery — Fresh & Botanical */
:root{
  --green:#3FAE49; --deep:#166534; --deepest:#0F4A26;
  --cream:#F4F9EC; --sage:#DCF3CE; --sage-deep:#BFE9A8; --terra:#D9805F; --gold:#F2B84B;
  --ink:#28422E; --ink-soft:#3B5A43; --ink-mute:#4E6B55; --ink-faint:#7C917F;
  --line:#D8E8CC; --line-soft:#E2EFD8; --chipline:#B9DCA4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Hanken Grotesk',sans-serif;-webkit-font-smoothing:antialiased;background-image:var(--wm-fern-lg),var(--wm-leaf-lg),var(--wm-euca);background-repeat:no-repeat;background-position:left -90px top 480px,right -70px top 1150px,left -60px top 1900px;background-size:380px auto,340px auto,300px auto;background-attachment:fixed}

/* Botanical watermarks (line-art, baked-in low opacity) */
:root{
  --wm-fern-lg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 260' fill='none' stroke='%233FAE49' stroke-width='2.4' stroke-linecap='round' opacity='0.22'%3E%3Cpath d='M100 250 C100 170 104 90 130 20'/%3E%3Cpath d='M104 210 C80 204 62 188 56 166 C82 164 100 178 106 196'/%3E%3Cpath d='M107 170 C86 162 72 146 68 126 C92 126 108 140 111 158'/%3E%3Cpath d='M111 132 C94 122 84 106 82 88 C104 90 116 104 117 120'/%3E%3Cpath d='M116 96 C102 86 96 72 96 56 C114 60 124 74 123 88'/%3E%3Cpath d='M108 208 C130 200 146 184 150 162 C126 162 110 176 106 194'/%3E%3Cpath d='M112 168 C132 158 144 142 146 122 C124 124 110 138 108 156'/%3E%3Cpath d='M117 130 C134 120 142 104 142 86 C122 90 112 104 112 120'/%3E%3Cpath d='M122 94 C136 84 142 70 140 54 C124 60 116 74 117 88'/%3E%3C/svg%3E");
  --wm-leaf-lg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' stroke='%23166534' fill='%233FAE49' fill-opacity='0.12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='0.35'%3E%3Cpath d='M100 190 C40 168 22 118 32 68 C64 28 136 28 168 68 C178 118 160 168 100 190 Z'/%3E%3Cpath fill='none' d='M100 188 L100 58'/%3E%3Cpath fill='none' d='M100 118 C82 108 68 94 62 76'/%3E%3Cpath fill='none' d='M100 150 C76 142 58 126 50 106'/%3E%3Cpath fill='none' d='M100 118 C118 108 132 94 138 76'/%3E%3Cpath fill='none' d='M100 150 C124 142 142 126 150 106'/%3E%3C/svg%3E");
  --wm-fern-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 260' fill='none' stroke='%237FE08A' stroke-width='2.4' stroke-linecap='round' opacity='0.28'%3E%3Cpath d='M100 250 C100 170 104 90 130 20'/%3E%3Cpath d='M104 210 C80 204 62 188 56 166 C82 164 100 178 106 196'/%3E%3Cpath d='M107 170 C86 162 72 146 68 126 C92 126 108 140 111 158'/%3E%3Cpath d='M111 132 C94 122 84 106 82 88 C104 90 116 104 117 120'/%3E%3Cpath d='M116 96 C102 86 96 72 96 56 C114 60 124 74 123 88'/%3E%3Cpath d='M108 208 C130 200 146 184 150 162 C126 162 110 176 106 194'/%3E%3Cpath d='M112 168 C132 158 144 142 146 122 C124 124 110 138 108 156'/%3E%3Cpath d='M117 130 C134 120 142 104 142 86 C122 90 112 104 112 120'/%3E%3Cpath d='M122 94 C136 84 142 70 140 54 C124 60 116 74 117 88'/%3E%3C/svg%3E");
  --wm-euca:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240' stroke='%233FAE49' fill='%233FAE49' fill-opacity='0.14' stroke-width='2.2' stroke-linecap='round' opacity='0.3'%3E%3Cpath fill='none' d='M100 230 C96 160 96 90 110 20'/%3E%3Cellipse cx='72' cy='190' rx='17' ry='13' transform='rotate(-30 72 190)'/%3E%3Cellipse cx='126' cy='168' rx='16' ry='12' transform='rotate(25 126 168)'/%3E%3Cellipse cx='70' cy='138' rx='16' ry='12' transform='rotate(-25 70 138)'/%3E%3Cellipse cx='128' cy='112' rx='15' ry='11' transform='rotate(28 128 112)'/%3E%3Cellipse cx='78' cy='84' rx='14' ry='11' transform='rotate(-28 78 84)'/%3E%3Cellipse cx='126' cy='58' rx='13' ry='10' transform='rotate(25 126 58)'/%3E%3C/svg%3E");
}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--deep)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:'Fraunces',serif;color:var(--deep);letter-spacing:-0.01em;margin:0}
.serif-i{font-style:italic;color:var(--green)}

/* Ribbon */
.ribbon{background:var(--gold);color:var(--deep);text-align:center;font-size:13px;font-weight:800;padding:9px 20px}

/* Nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 5vw;background:rgba(244,249,236,0.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px}
.brand-name{display:flex;flex-direction:column;line-height:1}
.brand-name b{font-family:'Fraunces',serif;font-weight:600;font-size:24px;color:var(--deep)}
.brand-name small{font-size:10px;font-weight:700;letter-spacing:0.34em;color:var(--green);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:600}
.nav-links a{color:#2E4034}
.nav-links a:hover,.nav-links a.active{color:var(--green)}
.nav-links a.active{border-bottom:2px solid var(--green);padding-bottom:3px}
.btn-join{background:var(--deep);color:var(--cream) !important;font-size:14px;font-weight:700;padding:11px 22px;border-radius:99px;transition:transform .18s ease}
.btn-join:hover{transform:translateY(-2px)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;border-radius:99px}
.menu-toggle:hover{background:var(--sage)}
.mobile-menu{display:none}

/* Buttons */
.btn{display:inline-block;background:linear-gradient(135deg,#E8926B 0%,var(--terra) 60%,#C96F4A 100%);color:#fff !important;font-family:inherit;font-size:15.5px;font-weight:700;padding:15px 30px;border-radius:99px;border:none;cursor:pointer;box-shadow:0 8px 20px rgba(217,128,95,.38);transition:transform .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(217,128,95,.4)}
.btn-outline{display:inline-block;border:2px solid var(--green);color:var(--deep) !important;font-size:15.5px;font-weight:700;padding:13px 28px;border-radius:99px;transition:transform .18s ease,background .18s ease}
.btn-outline:hover{transform:translateY(-3px);background:var(--sage)}

/* Layout */
.wrap{max-width:1240px;margin:0 auto;padding:0 5vw}
.section{padding:72px 0}
.kicker{font-size:12.5px;font-weight:800;letter-spacing:.18em;margin:0 0 8px}
.kicker.terra{color:var(--terra)} .kicker.green{color:var(--green)}

/* Hero */
.hero{background:linear-gradient(135deg,var(--sage-deep) 0%,var(--sage) 45%,var(--cream) 100%);overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;right:-140px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(127,224,138,.4) 0%,transparent 65%);pointer-events:none}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--wm-fern-lg) no-repeat left -60px bottom -70px / 340px auto, var(--wm-euca) no-repeat right -40px top -30px / 300px auto, var(--wm-leaf-lg) no-repeat right 12% bottom -80px / 240px auto}
.hero>*{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:72px}
.hero h1{font-weight:520;font-size:clamp(40px,5.2vw,68px);line-height:1.05;margin:0 0 20px;text-wrap:balance}
.hero p.lead{font-size:18px;line-height:1.6;color:var(--ink-soft);margin:0 0 30px;max-width:48ch}
.badge-gold{display:inline-block;background:var(--gold);color:var(--deep);font-size:13px;font-weight:800;padding:8px 16px;border-radius:99px;margin-bottom:24px}

/* Image placeholders — swap for <img> when photos are ready */
.img-ph{background:
  var(--wm-fern-lg) no-repeat left -34px bottom -44px / 210px auto,
  var(--wm-euca) no-repeat right -26px top -30px / 170px auto,
  radial-gradient(circle at 22% 115%, rgba(63,174,73,.5) 0%, transparent 55%),
  radial-gradient(circle at 88% -12%, rgba(168,224,143,.9) 0%, transparent 52%),
  linear-gradient(150deg,#CDEDB8 0%,#A5DE8C 55%,#8BD273 100%);
  border:none;border-radius:24px;display:flex;align-items:flex-end;justify-content:center;color:rgba(15,74,38,.72);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:16px;width:100%;height:100%;min-height:180px}
.img-arch{border-radius:240px 240px 24px 24px;box-shadow:0 0 0 12px rgba(63,174,73,.14), 0 24px 50px rgba(22,101,52,.18)}

/* Signup card */
.signup-card{background:#fff;border:1px solid #C9E8B6;border-radius:24px;padding:26px 28px;max-width:560px;box-shadow:0 20px 48px rgba(22,101,52,.14)}
.signup-card p.pitch{margin:0 0 16px;font-size:16px;line-height:1.55;font-weight:600;color:var(--ink)}
.signup-form{display:flex;gap:10px}
.signup-form input{flex:1;background:var(--cream);border:1px solid var(--line);border-radius:99px;padding:14px 20px;font-size:14.5px;font-family:inherit;color:var(--ink);min-width:0}
.signup-form input:focus{outline:2px solid var(--green)}
.fineprint{margin:12px 0 0;font-size:12.5px;color:var(--ink-faint)}

/* Cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card{background:#fff;border:1px solid var(--line-soft);border-radius:24px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:block;color:inherit;box-shadow:0 10px 30px rgba(22,101,52,.08)}
.card:hover{transform:translateY(-5px);color:inherit;box-shadow:0 22px 44px rgba(22,101,52,.16)}
.card .card-img{height:210px}
.card .card-img .img-ph{border-radius:0;border:none;min-height:100%}
.card .card-body{padding:22px 24px}
.tease{background:var(--sage) var(--wm-leaf-lg) no-repeat right -50px bottom -60px / 190px auto;border-radius:26px;padding:16px 16px 24px;text-align:center;box-shadow:0 12px 32px rgba(22,101,52,.1);transition:transform .2s ease,box-shadow .2s ease}
.tease:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(22,101,52,.18)}
.tease h3{font-weight:600;font-size:22px;margin:18px 0 8px}
.tease p{margin:0 auto;font-size:14.5px;line-height:1.6;color:var(--ink-soft);max-width:30ch}
.tease .img-ph{min-height:200px;height:200px;border-radius:18px}
.tease.dark{background:var(--deep) var(--wm-fern-light) no-repeat right -40px bottom -55px / 190px auto}
.tease.dark h3{color:var(--cream)}
.tease.dark p{color:#CBDCCE}

/* Chips */
.chip{display:inline-block;background:var(--sage);color:#166534;font-size:11.5px;font-weight:800;padding:6px 12px;border-radius:99px}
.chip-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.chip-filter{background:#fff;border:1.5px solid var(--chipline);color:#2E4034;font-size:13px;font-weight:700;padding:9px 18px;border-radius:99px}
.chip-filter.active{background:var(--deep);border-color:var(--deep);color:var(--cream)}
.readtime{font-size:12.5px;color:var(--ink-faint);font-weight:600}

/* Club band */
.club{background:var(--deep) var(--wm-fern-light) no-repeat right -30px top -60px / 260px auto;border-radius:26px;padding:34px 44px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.club .kicker{color:var(--gold)}
.club h2,.club p.title{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--cream);margin:0}
.club .signup-form{flex:none;min-width:min(380px,100%)}
.club .signup-form input{background:var(--cream)}

/* Article */
.article{max-width:700px;margin:0 auto;padding:44px 5vw 8px}
.article h1{font-weight:520;font-size:clamp(30px,4vw,42px);line-height:1.12;margin:0 0 26px}
.article h2{font-weight:600;font-size:26px;margin:34px 0 14px}
.article p{font-size:16.5px;line-height:1.8;margin:0 0 18px}
.article ul,.article ol{margin:0 0 24px;padding-left:22px;display:flex;flex-direction:column;gap:12px}
.article li{font-size:16px;line-height:1.75}
.article .drop::first-letter{float:left;font-family:'Fraunces',serif;font-weight:600;font-size:74px;line-height:.8;color:var(--green);padding:8px 12px 0 0}
.tipbox{background:var(--sage) var(--wm-euca) no-repeat right -30px bottom -80px / 170px auto;border-radius:18px;padding:20px 24px;margin:0 0 24px}
.tipbox p{margin:0;font-size:15.5px;line-height:1.75;color:#2E4034}
.article .aside-note{font-size:15px;line-height:1.75;color:var(--ink-mute);font-style:italic}
.ph-mark{background:#FDF3DC;border-radius:6px;padding:1px 6px}
.article-hero{height:min(42vw,340px)}
.article-hero .img-ph{border-radius:0;border:none;min-height:100%}
.club-cta{background:var(--deep) var(--wm-fern-light) no-repeat left -45px bottom -70px / 220px auto;border-radius:24px;padding:30px 34px;text-align:center;margin:36px 0 40px}
.club-cta .signup-form{max-width:420px;margin:0 auto}
.more{background:var(--sage) var(--wm-fern-lg) no-repeat right -60px bottom -90px / 260px auto;padding:36px 5vw 44px}
.more-inner{max-width:900px;margin:0 auto}
.more h3{font-weight:600;font-size:24px;margin:0 0 20px}
.more-card{display:flex;gap:16px;align-items:center;background:var(--cream);border-radius:20px;padding:14px;transition:transform .2s ease;color:inherit}
.more-card:hover{transform:translateY(-3px);color:inherit}
.more-card .img-ph{width:86px;height:86px;min-height:86px;flex:none;border-radius:14px;font-size:10px;padding:6px}
.more-card b{font-family:'Fraunces',serif;font-size:16.5px;font-weight:600;color:var(--deep);line-height:1.3;display:block;margin-top:4px}
.more-card small{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--green)}

/* Forms (contact) */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.field label{font-size:12.5px;font-weight:800;letter-spacing:.08em;color:#7A8A7D}
.field input,.field textarea{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:14px 18px;font-size:14.5px;font-family:inherit;color:var(--ink)}
.field input:focus,.field textarea:focus{outline:2px solid var(--green)}
.panel{background:#fff;border:1px solid var(--line-soft);border-radius:28px;padding:34px 38px}
.panel-sage{background:var(--sage) var(--wm-leaf-lg) no-repeat right -55px bottom -65px / 180px auto;border-radius:24px;padding:26px 28px}
.info-row{display:flex;align-items:center;gap:11px;font-size:14.5px;font-weight:600;color:#2E4034;margin-bottom:12px}
.info-row .ico{width:36px;height:36px;flex:none;border-radius:99px;background:#fff;display:flex;align-items:center;justify-content:center}

/* Footer */
footer.site{background:var(--deepest) var(--wm-fern-light) no-repeat right -50px bottom -80px / 320px auto;color:#CBDCCE;padding:56px 5vw 30px;position:relative;overflow:hidden;margin-top:72px}
footer.site .curve{position:absolute;top:0;left:0;width:100%;height:46px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:40px;padding-top:40px;max-width:1240px;margin:0 auto}
.foot-grid a{color:#CBDCCE;display:block;margin-bottom:11px;font-size:14px}
.foot-grid a:hover{color:#fff}
.foot-head{display:block;font-size:12px;font-weight:800;letter-spacing:.16em;color:#6E8A75;margin-bottom:15px}
.foot-about{font-size:14px;line-height:1.65;color:#9DB5A2;max-width:34ch;margin:0 0 18px}
.socials{display:flex;gap:12px}
.socials span{width:38px;height:38px;border-radius:99px;border:1px solid #2E4A38;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;cursor:pointer}
.foot-legal{border-top:1px solid #22382A;margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:#6E8A75;font-weight:600;max-width:1240px;margin-left:auto;margin-right:auto}

/* Timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.timeline::before{content:"";position:absolute;top:27px;left:12%;right:12%;height:2px;background:#C7D8C4}
.tl-item{position:relative;text-align:center}
.tl-year{display:inline-flex;width:54px;height:54px;border-radius:99px;background:var(--green);color:var(--cream);align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:15px;font-weight:600;margin-bottom:16px;border:4px solid var(--sage)}
.tl-year.now{background:var(--terra)}
.tl-item h3{font-size:19px;font-weight:600;margin:0 0 8px}
.tl-item p{margin:0 auto;font-size:13.5px;line-height:1.6;color:var(--ink-soft);max-width:26ch}

@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}html{scroll-behavior:auto}}

/* ============ Mobile ============ */
@media (max-width:820px){
  .nav-links,.nav .btn-join{display:none}
  .menu-toggle{display:flex}
  .mobile-menu{display:none;position:fixed;inset:0;z-index:100}
  .mobile-menu.open{display:block}
  .mobile-menu .scrim{position:absolute;inset:0;background:rgba(22,40,29,.4)}
  .mobile-menu .sheet{position:absolute;top:0;left:0;right:0;background:var(--cream);border-radius:0 0 26px 26px;box-shadow:0 24px 60px rgba(22,40,29,.3);padding:0 10px 20px}
  .sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:8px}
  .sheet-close{width:38px;height:38px;border-radius:99px;background:var(--sage);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}
  .sheet a.mlink{display:flex;align-items:center;justify-content:space-between;padding:15px 14px;border-radius:14px;color:var(--deep);font-family:'Fraunces',serif;font-size:20px;font-weight:600}
  .sheet a.mlink:hover,.sheet a.mlink.active{background:var(--sage);color:var(--green)}
  .sheet .btn{display:block;text-align:center;margin:12px 8px 0}
  .sheet .fineprint{text-align:center}
  .hero-grid{grid-template-columns:1fr;padding-top:36px;padding-bottom:44px;text-align:center;gap:24px}
  .hero p.lead{margin-left:auto;margin-right:auto}
  .signup-card{margin:0 auto;text-align:left}
  .signup-form{flex-direction:column}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .section{padding:44px 0}
  .club{padding:26px 22px;text-align:center;justify-content:center}
  .timeline{grid-template-columns:1fr;gap:22px}
  .timeline::before{display:none}
  .foot-grid{grid-template-columns:1fr;gap:28px}
}

/* Real photos */
.ph-img{width:100%;height:100%;object-fit:cover;border-radius:24px;display:block}
.img-arch.ph-img{border-radius:240px 240px 24px 24px;box-shadow:0 0 0 12px rgba(63,174,73,.14), 0 24px 50px rgba(22,101,52,.18)}
.card-img .ph-img{border-radius:0;height:100%}
.tease .ph-img{height:200px;border-radius:18px}
.article-hero .ph-img{border-radius:0}
.more-card .ph-img{width:86px;height:86px;border-radius:14px;flex:none}

/* Animations */
.will-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.will-reveal.revealed{opacity:1;transform:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero-grid>div:first-child{animation:fadeUp .9s cubic-bezier(.2,.7,.3,1) both}
.hero-grid>div:last-child{animation:fadeUp .9s .18s cubic-bezier(.2,.7,.3,1) both}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero .img-arch{animation:floaty 8s ease-in-out 1s infinite}
.brand svg{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.brand:hover svg{transform:rotate(-14deg) scale(1.08)}
.nav-links a{position:relative}
.nav-links a:not(.active)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;border-radius:2px;background:var(--green);transition:right .25s ease}
.nav-links a:not(.active):hover::after{right:0}
