@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fredoka:wght@400;500;600;700&display=swap');
:root {
  --cream:#fffaf0;
  --paper:#fffdf7;
  --butter:#fff0b6;
  --ink:#384436;
  --muted:#717666;
  --grass:#638f58;
  --forest:#3e6a4b;
  --forest-dark:#2e5540;
  --pink:#f3a9bf;
  --pink-deep:#db829f;
  --peach:#ffe6d5;
  --edge:#e8dcc4;
  --shadow:0 18px 52px rgba(75,83,55,.11);
  --radius:24px
}
* {
  box-sizing:border-box
}
[hidden] {
  display:none!important
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  line-height:1.6;
  overflow-x:hidden
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid #dd8eac;
  outline-offset:4px
}
img {
  max-width:100%;
  display:block
}
p {
  margin-top:0
}
h1,h2,h3 {
  font-family:'Fredoka',system-ui,sans-serif;
  line-height:1.1;
  letter-spacing:-.028em;
  margin:0;
  color:var(--ink)
}
h1 {
  font-size:clamp(3.4rem,6vw,5.9rem)
}
h2 {
  font-size:clamp(2.5rem,4.2vw,4.05rem)
}
h3 {
  font-size:1.48rem
}
.container {
  width:min(1200px,calc(100% - 44px));
  margin-inline:auto
}
.section {
  padding:102px 0
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#8f6883;
  font-size:.76rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800
}
.eyebrow .sparkle {
  color:#e29bb0
}
.lead {
  font-size:1.11rem;
  color:var(--muted);
  max-width:530px;
  line-height:1.83
}
.section-heading {
  max-width:680px;
  margin-bottom:42px
}
.section-heading p {
  color:var(--muted);
  font-size:1.03rem;
  margin:17px 0 0;
  max-width:520px
}
.announcement {
  background:#426d4c;
  color:#fff7e4;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
  padding:7px 16px;
  font-size:.78rem;
  font-weight:750;
  letter-spacing:.035em
}
.announcement .heart {
  color:#ffd1df
}
.site-header {
  position:relative;
  z-index:20;
  background:var(--cream)
}
.nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  min-height:94px
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  white-space:nowrap
}
.brand-icon {
  background:#f8edce;
  border:2px solid #e7d9b8;
  border-radius:14px;
  padding:5px;
  width:51px;
  height:51px;
  box-shadow:4px 4px 0 #efddbb
}
.brand-icon img {
  width:100%;
  height:100%
}
.brand-name {
  font-family:'Fredoka',sans-serif;
  font-size:1.65rem;
  font-weight:650;
  letter-spacing:-.055em;
  color:var(--forest-dark)
}
.brand-name span {
  color:var(--pink-deep)
}
.nav-links {
  display:flex;
  align-items:center;
  gap:33px;
  margin-left:auto
}
.nav-links a {
  font-size:.88rem;
  font-weight:750;
  color:#5d6859;
  transition:color .2s
}
.nav-links a:hover,.nav-links a.current {
  color:var(--pink-deep)
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:12px
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  border-radius:13px;
  border:2px solid transparent;
  padding:14px 23px;
  min-height:51px;
  font-size:.92rem;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  white-space:nowrap
}
.button:hover {
  transform:translateY(-2px)
}
.button-green {
  color:#fffdf4;
  background:var(--forest);
  border-color:var(--forest-dark);
  box-shadow:0 5px 0 var(--forest-dark)
}
.button-green:hover {
  box-shadow:0 7px 0 var(--forest-dark)
}
.button-cream {
  color:#426448;
  background:var(--paper);
  border-color:#deccb0;
  box-shadow:0 5px 0 #ebddc6
}
.button-pink {
  color:#653e4c;
  background:#f6bacc;
  border-color:#e59fb4;
  box-shadow:0 5px 0 #d99bb0
}
.button-outline {
  background:transparent;
  border-color:#8ab394;
  color:var(--forest-dark)
}
.button svg {
  width:18px;
  height:18px;
  flex:none
}
.button.small {
  padding:11px 17px;
  min-height:44px;
  font-size:.82rem
}
.menu-toggle {
  display:none;
  background:var(--paper);
  border:2px solid var(--edge);
  border-radius:12px;
  width:48px;
  height:46px;
  cursor:pointer;
  color:var(--forest-dark);
  font-size:1.3rem
}
.hero {
  position:relative;
  padding:48px 0 86px;
  overflow:hidden;
  background:radial-gradient(ellipse at 8% 18%,#fff5e3,transparent 35%),var(--cream)
}
.hero::before,.features-section::before {
  content:'✳';
  font-family:serif;
  font-size:60px;
  position:absolute;
  color:#f3dac6;
  left:2%;
  top:12%;
  opacity:.65
}
.hero-grid {
  display:grid;
  grid-template-columns:1fr 1.04fr;
  align-items:center;
  gap:34px
}
.hero-copy {
  padding:30px 0 55px;
  position:relative;
  z-index:2
}
.mini-tag {
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1.5px solid #ecd7c0;
  background:#fff4df;
  padding:9px 15px;
  border-radius:100px;
  color:#996c59;
  font-weight:800;
  font-size:.76rem;
  letter-spacing:.035em;
  margin-bottom:25px
}
.mini-tag span {
  font-size:1.13rem
}
.hero h1 {
  max-width:590px
}
.hero h1 em {
  font-style:normal;
  color:var(--pink-deep);
  position:relative;
  white-space:nowrap
}
.hero h1 em::after {
  content:'';
  position:absolute;
  bottom:-6px;
  left:5%;
  right:4%;
  height:10px;
  background:repeating-linear-gradient(90deg,#f1bac8 0 22px,transparent 22px 29px);
  border-radius:8px;
  opacity:.64;
  z-index:-1
}
.hero .lead {
  margin:27px 0 30px
}
.hero-buttons {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:13px
}
.hero-note {
  font-size:.78rem;
  font-weight:700;
  color:#9d9b8b;
  margin-top:21px
}
.hero-note .dot {
  margin:0 6px;
  color:#c8ad8b
}
.hero-illustration {
  position:relative;
  padding:16px
}
.farm-frame {
  position:relative;
  overflow:hidden;
  border:8px solid #fffaf0;
  border-radius:27px;
  outline:3px solid #e5d4b4;
  background:#bbdfda;
  box-shadow:16px 17px 0 #e7d8bb,0 25px 55px rgba(70,78,49,.13);
  aspect-ratio:1.08/1
}
.farm-frame img {
  width:100%;
  height:100%;
  object-fit:cover
}
.farm-sticker {
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:9px;
  background:#fffdf4;
  border:2px solid #e8d7b4;
  padding:11px 16px;
  border-radius:14px;
  box-shadow:5px 6px 0 #d8d5ab;
  font-family:'Fredoka';
  font-size:1.05rem;
  line-height:1.1;
  color:#537954;
  transform:rotate(-5deg);
  left:-12px;
  bottom:42px
}
.farm-sticker.right {
  left:auto;
  right:-5px;
  top:43px;
  bottom:auto;
  transform:rotate(6deg);
  color:#ad708e
}
.farm-sticker span {
  font-size:1.45rem
}
.hero-flowers {
  position:absolute;
  right:-2%;
  bottom:12px;
  color:#c4dd9f;
  font-size:4.5rem;
  transform:rotate(-10deg);
  opacity:.9
}
.ribbon {
  background:#e7ecd6;
  border-top:2px dashed #c8d5b3;
  border-bottom:2px dashed #c8d5b3;
  min-height:74px;
  display:flex;
  align-items:center;
  overflow:hidden
}
.ribbon-inner {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 36px;
  text-align:center;
  width:100%;
  padding:19px
}
.ribbon strong {
  color:#5c7957;
  font-family:'Fredoka';
  font-size:1.09rem;
  white-space:nowrap
}
.ribbon b {
  color:#df91a7;
  font-weight:800
}
.features-section {
  position:relative;
  background:#fffdf7
}
.features-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}
.feature-card {
  background:#fffaf1;
  border:2px solid #efe4ce;
  border-radius:23px;
  padding:27px 26px 29px;
  position:relative;
  box-shadow:0 6px 0 #f0e6d6;
  transition:transform .2s ease,box-shadow .2s ease
}
.feature-card:hover {
  transform:translateY(-5px);
  box-shadow:0 12px 0 #f0e6d6
}
.feature-art {
  height:126px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:4.6rem;
  margin-bottom:24px;
  position:relative;
  overflow:hidden
}
.feature-art::before,.feature-art::after {
  content:'';
  position:absolute;
  background:rgba(255,255,255,.32);
  height:12px;
  width:80px;
  transform:rotate(-24deg);
  top:18px;
  left:-15px
}
.feature-art::after {
  top:auto;
  bottom:14px;
  left:auto;
  right:-12px
}
.feature-art span {
  position:relative;
  z-index:1;
  filter:drop-shadow(3px 7px 0 rgba(85,87,57,.13));
  transform:rotate(-5deg)
}
.art-wheat {
  background:#f9e4a8
}
.art-tools {
  background:#d8e5bf
}
.art-animals {
  background:#f4d5d3
}
.art-seasons {
  background:#d7e8ee
}
.art-coins {
  background:#f6dcbc
}
.art-sparkle {
  background:#e5d6f0
}
.feature-card h3 {
  font-size:1.54rem;
  margin-bottom:11px
}
.feature-card p {
  color:#798073;
  font-size:.92rem;
  line-height:1.76;
  margin:0
}
.feature-card .feature-number {
  position:absolute;
  top:36px;
  right:37px;
  background:#fffaf4;
  border-radius:100px;
  padding:3px 10px;
  font-size:.73rem;
  color:#9e998c;
  font-weight:800
}
.seasons-section {
  background:#f6f4e5;
  position:relative;
  overflow:hidden
}
.seasons-layout {
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:75px;
  align-items:center
}
.seasons-text p {
  max-width:430px;
  color:#798073;
  font-size:1.03rem;
  line-height:1.8;
  margin:18px 0 26px
}
.season-display {
  background:#fffdf7;
  border:2px solid #e6dbc6;
  border-radius:30px;
  padding:23px;
  box-shadow:13px 14px 0 #e2dfce
}
.season-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:13px
}
.season-card {
  padding:17px 9px 16px;
  background:#faf5e8;
  border:2px solid transparent;
  border-radius:17px;
  cursor:pointer;
  text-align:center;
  transition:.2s
}
.season-card.active {
  border-color:#e1a8b9;
  background:#fff1f2;
  transform:translateY(-3px)
}
.season-emoji {
  display:block;
  font-size:3.25rem;
  line-height:1.3;
  margin-bottom:11px
}
.season-card b {
  display:block;
  font-family:'Fredoka';
  font-size:1.02rem;
  color:#667363
}
.season-note {
  min-height:107px;
  background:#f8f1e2;
  padding:20px 24px;
  border-radius:17px;
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:16px
}
.season-note .flower {
  font-size:2rem
}
.season-note strong {
  display:block;
  font-family:'Fredoka';
  font-size:1.2rem;
  color:#57785c
}
.season-note p {
  font-size:.86rem;
  color:#7d8073;
  margin:3px 0 0;
  line-height:1.5
}
.store-section {
  background:#fffdf7
}
.section-topline {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:40px
}
.section-topline .section-heading {
  margin-bottom:0
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:25px
}
.product-card {
  background:var(--paper);
  border:2px solid #e9ddcb;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 7px 0 #efe4d2;
  transition:transform .2s
}
.product-card:hover {
  transform:translateY(-4px)
}
.product-image {
  height:230px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden
}
.product-image::before {
  content:'';
  position:absolute;
  width:175px;
  height:175px;
  border:2px dashed rgba(255,255,255,.7);
  border-radius:100%;
  transform:rotate(-12deg)
}
.product-image::after {
  content:'✦';
  position:absolute;
  right:38px;
  top:25px;
  font-size:26px;
  color:#fff8e5
}
.product-image > span[aria-hidden="true"] {
  font-size:6.5rem;
  position:relative;
  z-index:2;
  filter:drop-shadow(6px 9px 0 rgba(80,64,68,.13))
}
.product-image.daisy {
  background:#dcecc5
}
.product-image.honeybee {
  background:#fce7a7
}
.product-image.rosewood {
  background:#f2d6df
}
.product-image.petals {
  background:#e7c9dd
}
.product-image.strawhat {
  background:#ffe2b9
}
.product-image.harvest {
  background:#d7e9ce
}
.product-tag {
  position:absolute;
  top:17px;
  left:17px;
  background:#fffaf2;
  border:1px solid #eadac2;
  color:#8d7966;
  padding:5px 11px;
  border-radius:40px;
  font-size:.73rem;
  font-weight:800;
  z-index:1
}
.product-info {
  padding:22px 24px 25px
}
.product-info h3 {
  margin-bottom:7px
}
.product-info p {
  margin:0;
  color:#7f8074;
  font-size:.88rem;
  line-height:1.65
}
.product-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:20px
}
.product-meta {
  font-size:.78rem;
  color:#b4899a;
  font-weight:800
}
.preview-link {
  font-size:.86rem;
  color:var(--forest);
  font-weight:800;
  display:inline-flex;
  gap:7px;
  align-items:center
}
.preview-link:hover {
  text-decoration:underline
}
.preview-link::after {
  content:'→';
  font-size:1.15rem
}
.button-icon {
  background:none;
  border:0;
  cursor:pointer;
  padding:4px 2px
}
.preview-disclaimer {
  font-size:.82rem;
  color:#85877a;
  text-align:center;
  margin:30px 0 0
}
.join-section {
  padding:85px 0;
  background:#436d4d;
  position:relative;
  overflow:hidden
}
.join-section::before {
  content:'✿   ✧    ✿';
  position:absolute;
  top:20px;
  right:5%;
  font-size:5rem;
  color:#7fa477;
  opacity:.27;
  letter-spacing:35px
}
.join-panel {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:35px;
  position:relative;
  z-index:1
}
.join-panel h2 {
  color:#fff9df;
  font-size:clamp(2.6rem,4vw,4.2rem)
}
.join-panel p {
  color:#cddfc4;
  margin:15px 0 0;
  max-width:610px
}
.join-action {
  text-align:center
}
.server-ip {
  display:block;
  font-family:'Fredoka';
  font-size:1.45rem;
  color:#fff8dc;
  letter-spacing:.005em;
  margin-bottom:12px
}
.join-action .button {
  min-width:205px
}
.join-badge {
  font-size:.81rem;
  color:#d2e5cb;
  margin-top:16px;
  font-weight:600
}
.faq-section {
  background:#fffaf0
}
.faq-wrap {
  display:grid;
  grid-template-columns:.74fr 1.26fr;
  gap:76px
}
.faq-wrap .section-heading {
  margin:0
}
.faq-list {
  display:flex;
  flex-direction:column;
  gap:13px
}
.faq-list details {
  border:2px solid #ebe0cc;
  border-radius:17px;
  background:#fffdf7;
  padding:0 19px;
  box-shadow:0 4px 0 #f2e9d9
}
.faq-list summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:19px 0;
  font-family:'Fredoka';
  font-size:1.1rem;
  color:#4f6652
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-list summary::after {
  content:'+';
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#f8e6e9;
  width:31px;
  height:31px;
  flex:none;
  font-family:'DM Sans';
  font-size:1.3rem;
  color:#ab7690
}
.faq-list details[open] summary::after {
  content:'−'
}
.faq-list details p {
  color:#777d70;
  font-size:.89rem;
  line-height:1.8;
  margin:0 0 18px
}
.faq-list details[open] {
  border-color:#e5cad0
}
.site-footer {
  background:#f0ebda;
  padding:56px 0 27px;
  border-top:2px solid #e5dfcb
}
.footer-grid {
  display:grid;
  grid-template-columns:1.4fr .6fr .7fr;
  gap:40px
}
.footer-brand p {
  max-width:360px;
  color:#838576;
  font-size:.88rem;
  margin:17px 0 0
}
.footer-column h4 {
  font-family:'Fredoka';
  font-size:1.22rem;
  color:#516a52;
  margin:0 0 13px
}
.footer-column a {
  display:block;
  margin:8px 0;
  color:#6d7868;
  font-weight:650;
  font-size:.88rem
}
.footer-column a:hover {
  color:var(--pink-deep)
}
.footer-bottom {
  margin-top:45px;
  border-top:1px solid #dad7c8;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  font-size:.77rem;
  color:#898a7a
}
.official-disclaimer {
  max-width:560px;
  line-height:1.5;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.016em
}
.toast {
  position:fixed;
  z-index:100;
  bottom:24px;
  left:50%;
  transform:translate(-50%,20px);
  background:#364b39;
  color:#fff8e7;
  border-radius:13px;
  padding:14px 22px;
  font-weight:800;
  box-shadow:0 12px 40px rgba(0,0,0,.19);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  max-width:calc(100vw - 32px);
  text-align:center
}
.toast.show {
  opacity:1;
  transform:translate(-50%,0)
}
/* Little Barn Shop page */
.store-hero {
  padding:74px 0 65px;
  background:#f7f0dd;
  position:relative;
  overflow:hidden
}
.store-hero::before {
  content:'✿';
  font-size:18rem;
  position:absolute;
  color:#f0d8d7;
  right:4%;
  top:-85px;
  opacity:.66
}
.store-hero-content {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px
}
.store-hero h1 {
  font-size:clamp(3.4rem,5.7vw,5.5rem);
  max-width:750px
}
.store-hero h1 em {
  font-style:normal;
  color:var(--pink-deep)
}
.store-hero p {
  color:#7d7f71;
  max-width:610px;
  font-size:1.05rem;
  margin:18px 0 0
}
.shop-sign {
  width:174px;
  height:174px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:6rem;
  flex:none;
  border:4px solid #e9d6b7;
  border-radius:35px;
  background:#fce9c8;
  box-shadow:12px 12px 0 #e8d8bf;
  transform:rotate(9deg)
}
.shop-section {
  padding-top:65px
}
.notice {
  background:#fff6e9;
  border:2px dashed #d9b98e;
  padding:20px 24px;
  border-radius:19px;
  display:flex;
  align-items:start;
  gap:15px;
  margin-bottom:43px
}
.notice>span {
  font-size:1.6rem
}
.notice strong {
  font-family:'Fredoka';
  font-size:1.19rem;
  color:#997149
}
.notice p {
  margin:4px 0 0;
  font-size:.88rem;
  color:#887e6c
}
.filter-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:25px;
  flex-wrap:wrap
}
.filters {
  display:flex;
  flex-wrap:wrap;
  gap:9px
}
.filter-chip {
  cursor:pointer;
  border:2px solid #e9dec9;
  background:#fffdf6;
  padding:10px 18px;
  border-radius:100px;
  font-weight:800;
  color:#828474;
  font-size:.88rem;
  transition:.2s
}
.filter-chip.active {
  background:#557c59;
  color:#fff;
  border-color:#466f4b
}
.results-count {
  font-size:.8rem;
  color:#9d9b8e;
  font-weight:800
}
.store-products {
  padding-bottom:110px
}
.product-card[hidden] {
  display:none
}
.product-card .button-cream {
  width:100%;
  margin-top:20px;
  min-height:44px;
  font-size:.82rem;
  padding:10px
}
.product-card .button-cream:hover {
  background:#f7e6c7
}
.store-tail {
  background:#e8eee0;
  padding:45px 0;
  text-align:center
}
.store-tail h2 {
  font-size:2rem
}
.store-tail p {
  max-width:650px;
  margin:13px auto 0;
  color:#7b8476;
  font-size:.91rem
}
.product-dialog {
  border:0;
  border-radius:25px;
  max-width:470px;
  width:calc(100% - 32px);
  background:#fffaf1;
  padding:35px;
  box-shadow:0 25px 90px #303d2d50
}
.product-dialog::backdrop {
  background:#25352caa;
  backdrop-filter:blur(4px)
}
.product-dialog .mini-tag {
  margin-bottom:15px
}
.product-dialog h2 {
  font-size:2.35rem
}
.product-dialog p {
  color:#798072;
  margin:14px 0 26px
}
.product-dialog .button {
  width:100%
}
.fineprint {
  font-size:.74rem;
  color:#96948a;
  margin-top:15px;
  text-align:center
}
@media(max-width:1050px) {
  .nav-links {
    gap:20px
  }
  .hero-grid {
    gap:10px
  }
  .hero-copy {
    padding-right:10px
  }
  .farm-sticker {
    left:1px
  }
  .seasons-layout {
    gap:38px
  }
  .faq-wrap {
    gap:40px
  }
  .product-image {
    height:200px
  }
}
@media(max-width:780px) {
  .container {
    width:min(100% - 34px,650px)
  }
  .nav {
    min-height:76px
  }
  .brand-name {
    font-size:1.46rem
  }
  .brand-icon {
    width:43px;
    height:43px
  }
  .nav-links {
    display:none;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    background:#fff9ed;
    padding:16px 22px 24px;
    box-shadow:0 18px 23px rgba(54,77,51,.13);
    border-top:1px solid #f1e4d6;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    z-index:30
  }
  .nav-links.is-open {
    display:flex
  }
  .nav-links a {
    padding:13px 7px;
    border-bottom:1px solid #f0e8da
  }
  .nav-actions .button {
    display:none
  }
  .menu-toggle {
    display:block
  }
  .section {
    padding:78px 0
  }
  .hero {
    padding:35px 0 65px
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:5px
  }
  .hero-copy {
    padding:10px 0 30px
  }
  .hero h1 {
    max-width:600px;
    font-size:clamp(3.25rem,10vw,5rem)
  }
  .hero .lead {
    max-width:570px;
    margin:22px 0 26px
  }
  .hero-illustration {
    max-width:590px;
    margin:0 auto
  }
  .farm-sticker {
    left:10px
  }
  .features-grid,.product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .seasons-layout,.faq-wrap {
    grid-template-columns:1fr;
    gap:32px
  }
  .seasons-text p {
    max-width:620px
  }
  .join-panel {
    grid-template-columns:1fr
  }
  .join-action {
    text-align:left
  }
  .footer-grid {
    grid-template-columns:1.2fr .7fr
  }
  .section-topline {
    align-items:start
  }
  .store-hero {
    padding:62px 0
  }
  .shop-sign {
    width:115px;
    height:115px;
    font-size:4rem
  }
}
@media(max-width:560px) {
  h1 {
    font-size:3.1rem
  }
  .section {
    padding:67px 0
  }
  .hero::before,.features-section::before {
    display:none
  }
  .hero h1 {
    font-size:clamp(3rem,11.6vw,4.2rem)
  }
  .hero h1 em {
    white-space:normal
  }
  .hero-buttons {
    align-items:stretch
  }
  .hero-buttons .button {
    flex:1;
    padding:12px 14px;
    min-width:145px
  }
  .hero-illustration {
    padding:8px 5px 16px
  }
  .farm-frame {
    border-width:6px;
    box-shadow:9px 11px 0 #e7d8bb
  }
  .farm-sticker {
    font-size:.83rem;
    padding:8px 9px;
    left:-4px;
    bottom:30px;
    box-shadow:3px 4px 0 #d8d5ab
  }
  .farm-sticker span {
    font-size:1.1rem
  }
  .farm-sticker.right {
    right:-1px;
    top:12px
  }
  .ribbon-inner {
    gap:6px 15px
  }
  .ribbon strong {
    font-size:.9rem
  }
  .features-grid,.product-grid {
    grid-template-columns:1fr
  }
  .feature-art {
    height:130px
  }
  .feature-card {
    padding:22px
  }
  .season-display {
    padding:13px;
    box-shadow:7px 8px 0 #e2dfce
  }
  .season-grid {
    gap:5px
  }
  .season-card {
    padding:11px 4px 9px;
    border-radius:12px
  }
  .season-card b {
    font-size:.77rem
  }
  .season-emoji {
    font-size:2.2rem
  }
  .season-note {
    padding:17px
  }
  .section-topline {
    display:block
  }
  .section-topline .button {
    margin-top:22px
  }
  .join-panel h2 {
    font-size:2.65rem
  }
  .server-ip {
    font-size:1.15rem
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:25px
  }
  .footer-brand {
    grid-column:span 2
  }
  .footer-bottom {
    margin-top:30px
  }
  .store-hero-content {
    display:block
  }
  .shop-sign {
    display:none
  }
  .store-hero h1 {
    font-size:3.4rem
  }
  .notice {
    padding:17px;
    gap:8px
  }
  .filter-chip {
    padding:9px 13px;
    font-size:.8rem
  }
  .product-image {
    height:220px
  }
  .store-tail h2 {
    font-size:1.75rem
  }
  .product-dialog {
    padding:25px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}
/* PayPal checkout additions */
.product-dialog {max-height:calc(100vh - 40px);overflow-y:auto}
.shop-modal-price {font-size:1.3rem!important;font-weight:900!important;color:#527657!important;margin:4px 0 16px!important}
.shop-label {display:block;margin:12px 0 8px;color:#465f48;font-weight:800}
.shop-input {width:100%;padding:14px 17px;font:inherit;border-radius:13px;border:2px solid #d6dfc8;background:#fff;color:#31422f}
.shop-input:focus {outline:3px solid #f2a4bc;outline-offset:1px}
.shop-help {font-size:.79rem!important;color:#847c70!important;margin:8px 0 14px!important}
.shop-feedback {font-size:.87rem!important;color:#517353!important;margin:12px 0!important}
.paypal-buttons {position:relative;min-height:5px;z-index:2}
.shop-feedback:empty {display:none}
.receipt-page {padding:85px 0 110px;min-height:65vh}
.receipt-card {padding:32px;border-radius:22px;background:#fffcf4;border:2px solid #e9e5d6;box-shadow:0 8px 20px #374c3210;max-width:700px}
.receipt-card h1 {font-size:2.4rem;margin:0 0 15px}
.receipt-card p {margin:7px 0;color:#647263}
.receipt-card code {overflow-wrap:anywhere}
.receipt-row {display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #ede6d6}
.receipt-row strong {text-align:right}
.receipt-list a {display:block;padding:16px;margin:12px 0;background:#fff;border:1px solid #e5e2d2;border-radius:12px;color:#477348;font-weight:700}
.site-legal {max-width:790px;margin:65px auto 100px;padding:0 24px}
.site-legal h1 {font-size:2.7rem}
.site-legal p,.site-legal li {line-height:1.8}
