:root{--cream:#fffaf1;--paper:#fffdf9;--mint:#cbe8d5;--mint-deep:#497866;--lav:#d9c8ee;--purple:#76549a;--green:#678165;--char:#28252d;--peach:#f3c7ad;--blue:#c8dce8;--line:#ded8cd;--shadow:0 12px 30px rgba(47,52,44,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{margin:0;max-width:100%;overflow-x:hidden;background:var(--cream);color:var(--char);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}img{max-width:100%}a{color:inherit}button,input{font:inherit}.announcement{background:var(--char);color:white;text-align:center;padding:.6rem 1rem;font-size:.82rem;letter-spacing:.03em}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,250,241,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:auto;padding:.9rem 1rem;display:flex;align-items:center;gap:1rem}.brand{text-decoration:none;display:flex;align-items:center;gap:.65rem;min-width:0}.mark{width:42px;height:42px;border-radius:50% 48% 52% 46%;background:var(--mint);display:grid;place-items:center;font-family:Georgia,serif;font-size:1.45rem;color:var(--mint-deep);transform:rotate(-3deg);border:1px solid #a8c9b4}.brand-text strong{font-family:Georgia,serif;font-size:1.15rem;display:block;line-height:1}.brand-text small{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}.menu-toggle{margin-left:auto;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.65rem .8rem}.nav-links{display:none}.nav-links.open{display:flex;position:absolute;top:70px;left:1rem;right:1rem;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:var(--shadow);flex-direction:column}.nav-links a{text-decoration:none;padding:.6rem}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.8rem 1.15rem;border-radius:999px;border:0;background:var(--purple);color:white;text-decoration:none;font-weight:750;box-shadow:0 5px 0 #5b4078;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn.secondary{background:transparent;color:var(--char);border:1.5px solid var(--char);box-shadow:none}.btn.disabled{background:#aaa2aa;box-shadow:none;cursor:not-allowed}.container{max-width:1180px;margin:auto;padding:0 1rem}.hero{padding:2.2rem 0 1.5rem;overflow:hidden}.hero-grid{display:grid;gap:1.7rem}.eyebrow{text-transform:uppercase;font-size:.76rem;letter-spacing:.14em;font-weight:800;color:var(--purple)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:.35rem 0 .8rem}h1{font-size:clamp(2.7rem,11vw,5.6rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,7vw,3.5rem)}h3{font-size:1.3rem}.hero p{font-size:1.08rem;max-width:600px}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.hero-art{min-height:335px;background:var(--lav);border-radius:38% 62% 48% 52%/51% 41% 59% 49%;position:relative;display:grid;place-items:center;transform:rotate(1deg)}.paper-stack{width:68%;height:78%;background:var(--paper);border:1px solid #cfc6d7;box-shadow:12px 14px 0 var(--mint),var(--shadow);padding:1.5rem;transform:rotate(-4deg);position:relative}.paper-stack:before{content:"TODAY";font-family:Georgia,serif;font-size:1.25rem;color:var(--purple)}.paper-stack i{display:block;height:1px;background:#bcb6bf;margin:1.2rem 0}.paper-stack b{display:block;width:62%;height:9px;background:var(--peach);margin:.8rem 0;border-radius:5px}.scribble{position:absolute;border:4px solid var(--green);border-radius:48% 52% 35% 65%;opacity:.55}.s1{width:78px;height:125px;right:2%;top:4%;transform:rotate(22deg)}.s2{width:92px;height:55px;left:3%;bottom:4%;transform:rotate(-18deg)}section{padding:3.4rem 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}.section-head a{font-weight:750;color:var(--purple)}.grid{display:grid;gap:1rem}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 5px 18px rgba(60,50,70,.06);display:flex;flex-direction:column}.product-image{aspect-ratio:4/3;padding:1rem;display:grid;place-items:center;position:relative;overflow:hidden}.product-image.mint{background:var(--mint)}.product-image.lavender{background:var(--lav)}.product-image.peach{background:var(--peach)}.product-image.blue{background:var(--blue)}.mini-page{width:55%;height:80%;background:white;box-shadow:7px 8px 0 rgba(255,255,255,.48),var(--shadow);padding:.75rem;transform:rotate(-3deg)}.mini-page:before{content:"WILLOW & FERN";font-family:Georgia,serif;font-size:.65rem}.mini-page span{display:block;border-bottom:1px solid #aaa;margin:.65rem 0}.product-body{padding:1.15rem;display:flex;flex-direction:column;flex:1}.product-body p{color:#605c63;margin:.15rem 0 1rem}.price{font-weight:850;margin-top:auto;margin-bottom:.8rem;color:var(--purple)}.categories{display:flex;gap:.55rem;overflow:auto;padding:.2rem 0 1rem;scrollbar-width:none}.chip{white-space:nowrap;border:1px solid var(--line);background:var(--paper);padding:.65rem 1rem;border-radius:999px;cursor:pointer}.chip.active{background:var(--char);color:white}.trust{background:var(--char);color:white}.trust-grid{display:grid;gap:1rem}.trust-item{border:1px solid #58535d;border-radius:20px;padding:1.2rem}.trust-item strong{display:block;color:var(--mint);margin-bottom:.35rem}.about{background:var(--mint)}.about-card{background:var(--paper);padding:1.5rem;border-radius:28px;box-shadow:var(--shadow)}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem;margin:.7rem 0}.faq summary{cursor:pointer;font-weight:800}.faq details p{margin-bottom:0;color:#5e5960}.footer{background:#e9dfef;padding:2.5rem 0}.footer-grid{display:grid;gap:1.5rem}.footer a{color:#51405e}.socials{display:flex;gap:.7rem}.socials a{width:44px;height:44px;border:1px solid var(--char);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-weight:900}.shop-hero{padding:2.5rem 0 1rem}.notice{background:#f0e8f7;border-left:4px solid var(--purple);padding:1rem;border-radius:8px;margin:1rem 0}.detail{display:grid;gap:2rem;padding:2rem 0}.gallery-main{border-radius:28px;overflow:hidden}.gallery-main .product-image{aspect-ratio:1/1}.detail .price{font-size:1.25rem}.detail-list{padding-left:1.2rem}.info-grid{display:grid;gap:.8rem;margin:1.2rem 0}.info-box{border-top:1px solid var(--line);padding-top:.8rem}.breadcrumb{font-size:.9rem;padding-top:1rem}.empty{padding:4rem 1rem;text-align:center}.fine{font-size:.82rem;color:#676168}@media(min-width:700px){.menu-toggle{display:none}.nav-links{margin-left:auto;display:flex;align-items:center;gap:.2rem}.nav-links.open{position:static;flex-direction:row;box-shadow:none;border:0;padding:0;background:none}.nav-links .shop-link{background:var(--purple);color:#fff;border-radius:999px;padding:.65rem 1rem}.hero{padding:4.5rem 0 3rem}.hero-grid{grid-template-columns:1.12fr .88fr;align-items:center}.grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.detail{grid-template-columns:1fr 1fr;align-items:start;padding:3rem 0}.info-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1020px){.grid{grid-template-columns:repeat(3,1fr)}.featured-grid{grid-template-columns:repeat(4,1fr)}}

.product-summary {
  color: #555057;
  font-size: 1.08rem;
}

.product-description {
  border-top: 1px solid var(--line);
  margin-top: 1.75rem;
  padding-top: 1.5rem;
}

.product-description h2,
.detail > div > h2 {
  font-size: clamp(1.55rem, 4vw, 2.1rem);
  margin-top: 1.6rem;
}

.product-description h2 {
  margin-top: 0;
}

.product-description p {
  color: #514d54;
  line-height: 1.72;
}

.best-for {
  background: #eef5ef;
  border: 1px solid #cadccf;
  border-radius: 16px;
  margin: 1.4rem 0;
  padding: 1rem 1.1rem;
}

.best-for strong {
  color: var(--mint-deep);
  display: block;
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.best-for p {
  margin: 0.35rem 0 0;
}

.page-list {
  columns: 1;
  margin-bottom: 1.6rem;
}

.page-list li,
.detail-list li {
  margin-bottom: 0.45rem;
}

@media (min-width: 700px) {
  .page-list {
    columns: 2;
    column-gap: 2rem;
  }
}

.free-worksheet {
  padding: 1.2rem 0 3.4rem;
  scroll-margin-top: 7rem;
}

.free-worksheet-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 1.75rem;
  overflow: hidden;
  padding: 1.5rem;
  position: relative;
}

.free-worksheet-card::after {
  background: var(--mint);
  border-radius: 50%;
  content: "";
  height: 150px;
  opacity: 0.65;
  position: absolute;
  right: -65px;
  top: -75px;
  width: 150px;
  pointer-events: none;
}

.free-worksheet-copy,
.worksheet-signup-panel {
  position: relative;
  z-index: 1;
}

.free-worksheet-card h2 {
  font-size: clamp(2rem, 6vw, 3.2rem);
}

.free-worksheet-card p {
  max-width: 720px;
}

.worksheet-signup-panel {
  background: #f0e8f7;
  border: 1px solid #d9c8e8;
  border-radius: 22px;
  padding: 1.2rem;
}

.worksheet-signup {
  display: grid;
  gap: 1rem;
}

.worksheet-fields {
  display: grid;
  gap: 0.9rem;
}

.worksheet-fields label {
  display: grid;
  font-size: 0.9rem;
  font-weight: 800;
  gap: 0.4rem;
}

.worksheet-fields input {
  background: white;
  border: 1px solid #bdb3c5;
  border-radius: 12px;
  color: var(--char);
  font-size: 1rem;
  min-height: 48px;
  padding: 0.75rem 0.85rem;
  width: 100%;
}

.worksheet-fields input:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 3px rgba(118, 84, 154, 0.18);
  outline: 0;
}

.worksheet-signup .btn,
.worksheet-success .btn {
  justify-self: start;
  touch-action: manipulation;
}

.worksheet-signup .btn:disabled {
  cursor: wait;
  opacity: 0.68;
}

.form-honey {
  height: 1px;
  left: -10000px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.form-status {
  color: #8a3042;
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0;
  min-height: 1.4rem;
}

.form-note {
  color: #625b67;
  font-size: 0.85rem;
  margin: -0.5rem 0 0;
}

.worksheet-success {
  outline: 0;
}

.worksheet-success[hidden],
.worksheet-signup[hidden] {
  display: none;
}

.worksheet-success h3 {
  font-size: clamp(1.7rem, 5vw, 2.4rem);
  margin-top: 0.45rem;
}

.worksheet-success p {
  color: #514d54;
}

@media (min-width: 700px) {
  .free-worksheet-card {
    align-items: center;
    grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1.1fr);
    padding: 2rem 2.25rem;
  }

  .worksheet-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
