/* Growers Club, brand tokens pulled from the Squarespace build 2026-09-04 */
:root{
  --peri:#8c96ff;        /* periwinkle, hsl(230.6 100% 77%) */
  --peri-deep:#5f6be0;
  --brown:#5e3b2e;       /* hsl(3 24% 16%) darkened band */
  --brown-deep:#2f1c15;
  --lime:#e3fa6f;        /* hsl(70 93% 72%) */
  --lime-soft:#f2ffb0;
  --orange:#f0523d;      /* logo drop shadow */
  --ink:#fff;
  --ink-soft:rgba(255,255,255,.82);
  --glass:rgba(255,255,255,.08);
  --glass-line:rgba(255,255,255,.22);
  --radius:0;
  --head:'Sansita', Georgia, serif;
  --body:'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-weight:400;font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--peri);overflow-x:clip;min-height:100svh}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.08;margin:0 0 .5em;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(2rem,1.2rem + 3.4vw,3.6rem)}
h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,2.9rem)}
h3{font-size:1.4rem}
p{margin:0 0 1em}
.lede{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);line-height:1.5;font-weight:400}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}

/* ---------- animated sky, fixed behind the whole page ---------- */
.sky{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(180deg,#8f99ff 0%,#7e86ea 40%,#6b5a7a 70%,#5e3b2e 100%);pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.85;will-change:transform;mix-blend-mode:screen}
.b1{width:60vmax;height:60vmax;left:-15vmax;top:-20vmax;background:radial-gradient(circle,#e3fa6f 0%,rgba(227,250,111,.35) 40%,transparent 70%);animation:drift1 26s ease-in-out infinite alternate}
.b2{width:55vmax;height:55vmax;right:-20vmax;top:10vh;background:radial-gradient(circle,#b8bdff 0%,rgba(184,189,255,.4) 45%,transparent 70%);animation:drift2 32s ease-in-out infinite alternate}
.b3{width:70vmax;height:70vmax;left:10vw;bottom:-35vmax;background:radial-gradient(circle,#7a4a3a 0%,rgba(122,74,58,.5) 40%,transparent 70%);mix-blend-mode:multiply;opacity:.9;animation:drift3 38s ease-in-out infinite alternate}
.b4{width:40vmax;height:40vmax;right:5vw;bottom:5vh;background:radial-gradient(circle,#f0523d 0%,rgba(240,82,61,.3) 45%,transparent 70%);opacity:.45;animation:drift4 29s ease-in-out infinite alternate}
.b5{width:45vmax;height:45vmax;left:35vw;top:35vh;background:radial-gradient(circle,#f2ffb0 0%,rgba(242,255,176,.25) 45%,transparent 70%);opacity:.5;animation:drift2 41s ease-in-out infinite alternate-reverse}
.cursor{position:absolute;left:0;top:0;width:min(62vmax,900px);height:min(62vmax,900px);margin:calc(min(62vmax,900px) / -2) 0 0 calc(min(62vmax,900px) / -2);border-radius:50%;background:radial-gradient(circle,#e8ff7a 0%,rgba(232,255,122,.55) 28%,rgba(232,255,122,.18) 50%,transparent 68%);filter:blur(40px);mix-blend-mode:screen;opacity:.8;will-change:transform;transform:translate3d(60vw,35vh,0)}
.grain{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
@keyframes drift1{from{transform:translate(0,0) scale(1)}to{transform:translate(28vw,22vh) scale(1.25)}}
@keyframes drift2{from{transform:translate(0,0) scale(1.1)}to{transform:translate(-26vw,30vh) scale(.9)}}
@keyframes drift3{from{transform:translate(0,0)}to{transform:translate(22vw,-28vh) scale(1.15)}}
@keyframes drift4{from{transform:translate(0,0) scale(.9)}to{transform:translate(-18vw,-30vh) scale(1.3)}}
@media (prefers-reduced-motion:reduce){.blob,.float{animation:none!important}html{scroll-behavior:auto}}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,2.2rem);background:linear-gradient(180deg,rgba(90,98,220,.55),rgba(90,98,220,0));backdrop-filter:none}
.brand img{width:clamp(118px,14vw,168px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--body);font-weight:700;font-size:1rem;letter-spacing:.01em;color:var(--brown-deep);background:var(--lime);border:0;border-radius:2px;padding:.95rem 1.6rem;text-decoration:none;cursor:pointer;box-shadow:0 10px 30px -12px rgba(0,0,0,.45),inset 0 -2px 0 rgba(0,0,0,.08);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px);background:var(--lime-soft);box-shadow:0 16px 34px -12px rgba(0,0,0,.5)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.7;cursor:progress;transform:none}
.btn-small{padding:.65rem 1.1rem;font-size:.9rem}
.link{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.4);padding-bottom:2px;transition:border-color .2s}
.link:hover{border-color:var(--lime)}

/* ---------- sections ---------- */
section{position:relative;padding:clamp(4rem,9vw,7.5rem) 0}
.hero{padding-top:clamp(2rem,6vw,5rem);min-height:min(calc(100svh - 90px),820px);display:flex;flex-direction:column;justify-content:center;gap:clamp(2rem,5vw,4rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.eyebrow{font-family:var(--head);font-style:italic;font-size:1.15rem;color:var(--lime);margin:0 0 .8rem;letter-spacing:.01em}
.hero h1{margin-bottom:1.4rem;text-shadow:0 2px 24px rgba(0,0,0,.18)}
.hero-actions{display:flex;flex-wrap:wrap;gap:1.2rem 1.6rem;align-items:center}
.hero-art{position:relative;aspect-ratio:1;max-width:460px;margin-inline:auto;width:100%}
.art{filter:drop-shadow(0 12px 22px rgba(0,0,0,.28))}
.art-flowers{position:absolute;inset:0;width:82%;margin:auto}
.art-ladybug{position:absolute;width:36%;right:-2%;bottom:4%}
.facts{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.facts li{font-size:.9rem;font-weight:700;letter-spacing:.02em;padding:.45rem .95rem;border:0;border-radius:2px;background:#fff;color:var(--brown-deep)}

.card{background:rgba(255,255,255,.09);border:1px solid var(--glass-line);border-radius:var(--radius);padding:clamp(1.6rem,4vw,3rem);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -40px rgba(0,0,0,.6)}
.what .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.values{margin:0;position:relative;padding:clamp(1.5rem,3vw,2.5rem) 0 0 clamp(1.2rem,3vw,2rem);border-left:3px solid var(--lime)}
.values p{font-family:var(--head);font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);line-height:1.25;margin:0;text-wrap:balance}
.art-lemons{position:absolute;width:150px;right:-10px;top:-120px;opacity:.9}

.statement{padding:clamp(3rem,7vw,5.5rem) 0}
.statement .wrap{position:relative;overflow:visible;background:rgba(47,28,21,.7);border-radius:var(--radius);padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,4rem);text-align:center;border:1px solid rgba(255,255,255,.1)}
.art-hug{position:absolute;width:190px;left:-40px;bottom:-50px;opacity:.95}
.statement-text{font-family:var(--head);font-size:clamp(1.9rem,1.1rem + 3.6vw,3.9rem);line-height:1.12;margin:0;text-wrap:balance}
.statement-text em{font-style:normal;color:var(--lime);background:linear-gradient(transparent 68%,rgba(140,150,255,.75) 68%) no-repeat;padding:0 .15em}

.who-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.portrait{margin:0;position:relative;max-width:420px}
.portrait>img:first-child{border-radius:var(--radius);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);filter:grayscale(1) contrast(1.05)}
.art-fish{position:absolute;width:52%;right:-14%;bottom:-8%}

.interest-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.interest-copy{position:sticky;top:110px}
.art-laptop{width:min(300px,70%);margin-top:1.5rem}
.eoi label{display:block;font-weight:700;font-size:.95rem;margin-bottom:1.1rem}
.eoi .req{font-weight:400;font-size:.8rem;opacity:.7;margin-left:.35rem}
.eoi input,.eoi textarea{display:block;width:100%;margin-top:.4rem;font:inherit;font-weight:400;color:var(--ink);background:rgba(47,28,21,.35);border:1px solid var(--glass-line);border-radius:0;padding:.8rem .95rem;transition:border-color .2s,box-shadow .2s,background .2s}
.eoi input:focus,.eoi textarea:focus{outline:0;border-color:var(--lime);box-shadow:0 0 0 3px rgba(227,250,111,.28);background:rgba(47,28,21,.5)}
.eoi textarea{resize:vertical;min-height:5.5rem}
.row.two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:.4rem}
.note{margin:0;font-size:.9rem;opacity:.8}
.status{margin:.8rem 0 0;font-weight:600;color:var(--lime)}
.status:empty{display:none}
.thanks{text-align:center;padding:1rem 0}
.thanks h3{color:var(--lime);font-size:2rem}

/* ---------- footer ---------- */
.foot{padding:clamp(2.5rem,6vw,4rem) 0 2rem;background:linear-gradient(180deg,rgba(47,28,21,0),rgba(47,28,21,.55))}
.foot-grid{display:grid;grid-template-columns:auto 1fr;gap:1.5rem 3rem;align-items:center}
.foot-grid>img{width:150px}
.foot-contact{text-align:right}
.foot-contact h3{margin-bottom:.2rem}
.foot-contact a{text-decoration:none;font-weight:600;border-bottom:2px solid rgba(255,255,255,.3)}
.foot-contact a:hover{border-color:var(--lime)}
.fine{grid-column:1/-1;font-size:.85rem;opacity:.7;margin:.5rem 0 0}

/* ---------- motion ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d2{transition-delay:.12s}.reveal.d3{transition-delay:.24s}
.float{animation:float 7s ease-in-out infinite}
.float.d2{animation-duration:8.5s;animation-delay:-2s}.float.d3{animation-duration:6s;animation-delay:-1s}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-1.5deg)}}

/* ---------- mobile ---------- */
@media (max-width:820px){
  .hero{min-height:0}
  .hero-grid,.what .wrap,.who-grid,.interest-grid{grid-template-columns:1fr}
  .hero-art{max-width:300px;margin-top:.5rem}
  .art-lemons{width:110px;top:-90px;right:0}
  .art-hug{width:110px;left:auto;right:-8px;bottom:-46px}
  .statement .wrap{padding-bottom:4.5rem}
  .portrait{max-width:320px;margin-inline:auto}
  .interest-copy{position:static}
  .art-laptop{width:min(220px,60%)}
  .foot-grid{grid-template-columns:1fr}
  .foot-contact{text-align:left}
}
@media (max-width:520px){
  .row.two{grid-template-columns:1fr}
  .btn-small{padding:.55rem .9rem;font-size:.82rem}
  .facts li{font-size:.82rem}
}
