/* ════════════════════════════════════════════════════════════════════════
   MOM & CO. — v3.2 stylesheet (baby blue + polaroid scrapbook)
   Vollkorn display + Spectral body/nav/labels + Caveat handwriting accent.
   v3.2 (2026-05-17): killed Major Mono Display entirely — too "moon-script"
                      illegible. Spectral 600 uppercase + tighter letter-spacing
                      handles all label/utility roles now. Nothing under 11px.
   v3.1 (2026-05-17): Caprasimo → Vollkorn (less funky, more clientele-appropriate),
                      spacing + size tightens, subtler polaroid rotations.
   ════════════════════════════════════════════════════════════════════════ */

:root{
  --paper:       #FFFAF0;   /* warm cream white, bright but not cold */
  --paper-2:     #FAF3E3;   /* alt section warm tint */
  --paper-deep:  #F2E8CC;   /* card bg / softer tone */
  --blue:        #A8D5E2;   /* baby blue — primary brand */
  --blue-2:      #7FB8CC;   /* mid blue for hovers/lines */
  --blue-soft:   #C8E4ED;   /* lighter wash */
  --blue-deep:   #2E5C8A;   /* deep ocean for headlines + lines */
  --blue-ink:    #1B3A5C;   /* deepest blue, used as primary ink (replaces black) */
  --sun:         #F4C95D;   /* sunny yellow — badges + stamps */
  --sun-deep:    #D9A93B;   /* darker yellow */
  --sun-soft:    #FFEFC3;   /* sticky-note background */
  --coral:       #E97862;   /* primary CTA */
  --coral-deep:  #C95A45;   /* CTA hover */
  --coral-soft:  #F8C8BD;
  --blush:       #F5D5D0;   /* accent pink — rare */
  --line:        rgba(27,58,92,0.16);
  --line-strong: rgba(27,58,92,0.32);
  --shadow-soft: 0 6px 18px -8px rgba(27,58,92,0.22);
  --shadow-card: 0 12px 28px -14px rgba(27,58,92,0.30);
  --shadow-pol:  0 4px 14px -4px rgba(27,58,92,0.28), 0 12px 30px -16px rgba(27,58,92,0.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0;background:var(--paper);color:var(--blue-ink);font-family:'Spectral',Georgia,serif;font-weight:400;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
body{overflow-x:hidden;font-feature-settings:"kern","liga"}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ─── airy gradient halo behind the page ─── */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0.55;
  background:
    radial-gradient(ellipse 70% 60% at 12% 8%, var(--blue-soft) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 92% 92%, var(--sun-soft) 0%, transparent 55%);
}

/* ─── TYPE ─── */
.display{font-family:'Vollkorn',Georgia,serif;font-weight:700;letter-spacing:-0.008em;line-height:1.04}
.body-serif{font-family:'Spectral',Georgia,serif}
.mono{font-family:'Spectral',Georgia,serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.hand{font-family:'Caveat',cursive;font-weight:600}
.ital{font-style:italic}

.eyebrow{font-family:'Spectral',Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}

/* ════════════════ HEADER ════════════════ */
.site-header{position:sticky;top:0;z-index:50;background:var(--blue);border-bottom:3px solid var(--blue-deep)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:repeating-linear-gradient(90deg,var(--blue-deep) 0,var(--blue-deep) 12px,transparent 12px,transparent 18px);opacity:0.45}
.site-header-inner{max-width:1280px;margin:0 auto;padding:14px 36px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
@media(max-width:780px){.site-header-inner{padding:12px 22px;grid-template-columns:1fr auto;gap:14px}}
.brand{display:flex;align-items:baseline;gap:8px;font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:24px;letter-spacing:-0.008em;color:var(--blue-ink);line-height:1}
.brand .amp{color:var(--coral);font-family:'Caveat',cursive;font-weight:700;font-size:1.15em;padding:0 0.04em;line-height:0.85}
.brand .co{font-family:'Spectral',Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-deep);padding-left:4px;align-self:center}
.site-nav{display:flex;justify-content:center;gap:28px;font-family:'Spectral',Georgia,serif;font-size:16px;letter-spacing:0;text-transform:none;font-weight:600}
.site-nav a{color:var(--blue-ink);padding:6px 0;position:relative;transition:color .15s;line-height:1.2}
.site-nav a:hover{color:var(--coral)}
.site-nav a.is-active{color:var(--blue-ink)}
.site-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2.5px;background:var(--coral);border-radius:2px}
@media(max-width:920px){.site-nav{display:none}}
.header-cta{display:flex;align-items:center;gap:14px}
.header-cta .city{font-family:'Caveat',cursive;font-size:18px;font-weight:600;color:var(--blue-ink);background:var(--sun-soft);padding:6px 14px;border:1.5px solid var(--blue-ink);border-radius:24px;transform:rotate(-1.5deg);display:inline-flex;align-items:center;gap:7px;box-shadow:var(--shadow-soft)}
.header-cta .city::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral)}
@media(max-width:480px){.header-cta .city{display:none}}
.nav-toggle{display:none;background:var(--paper);font-size:22px;color:var(--blue-ink);padding:6px 12px;border-radius:8px;border:2px solid var(--blue-ink)}
@media(max-width:920px){.nav-toggle{display:block}}
.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--blue-soft);border-bottom:3px solid var(--blue-deep);padding:8px 22px 16px;flex-direction:column;gap:0;font-family:'Spectral',Georgia,serif;font-size:18px;letter-spacing:0;text-transform:none;font-weight:600}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:13px 0;border-bottom:1px solid rgba(27,58,92,0.18);color:var(--blue-ink)}
.mobile-nav a:last-child{border-bottom:none}

/* ════════════════ BUTTONS ════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;
  font-family:'Vollkorn',Georgia,serif;font-weight:700;font-size:16px;letter-spacing:0.005em;
  color:var(--paper);background:var(--coral);
  border:2.5px solid var(--blue-ink);border-radius:32px;
  box-shadow:4px 4px 0 var(--blue-ink);
  transition:transform .15s,box-shadow .15s,background .18s;
  cursor:pointer;
}
.btn:hover{background:var(--coral-deep);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--blue-ink);color:var(--paper)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--blue-ink)}
.btn.outline{background:var(--paper);color:var(--blue-ink)}
.btn.outline:hover{background:var(--blue);color:var(--blue-ink)}
.btn.sun{background:var(--sun);color:var(--blue-ink)}
.btn.sun:hover{background:var(--sun-deep)}
.btn.blue{background:var(--blue-deep);color:var(--paper)}
.btn.blue:hover{background:var(--blue-ink)}
.btn .arrow{display:inline-block;transition:transform .2s;font-family:'Spectral',serif;font-style:italic;font-weight:600}
.btn:hover .arrow{transform:translateX(4px)}

.text-link{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'Vollkorn',Georgia,serif;font-size:15px;letter-spacing:0;
  color:var(--blue-ink);
  border-bottom:2.5px dotted var(--coral);padding-bottom:2px;
  transition:color .15s;
}
.text-link:hover{color:var(--coral)}
.text-link .arrow{font-family:'Spectral',serif;font-style:italic;font-weight:600;transition:transform .2s}
.text-link:hover .arrow{transform:translateX(4px)}

/* ════════════════ STAMP BADGE — circular sun badge, used for section numbers ════════════════ */
.stamp{
  display:inline-flex;align-items:center;justify-content:center;flex-direction:column;
  width:72px;height:72px;border-radius:50%;
  background:var(--sun);color:var(--blue-ink);
  border:2.5px solid var(--blue-ink);
  font-family:'Vollkorn',Georgia,serif;font-weight:800;
  box-shadow:var(--shadow-card);
  transform:rotate(-5deg);
  flex-shrink:0;
}
.stamp .top{font-family:'Spectral',Georgia,serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-deep);line-height:1;margin-bottom:1px;font-weight:600}
.stamp .num{font-size:26px;line-height:0.9;color:var(--blue-ink)}
.stamp.coral{background:var(--coral);color:var(--paper)}
.stamp.coral .top{color:var(--sun-soft)}
.stamp.coral .num{color:var(--paper)}
.stamp.blue{background:var(--blue);color:var(--blue-ink)}

/* ════════════════ POLAROID PHOTO FRAME ════════════════ */
.polaroid{
  position:relative;
  background:var(--paper);
  padding:14px 14px 50px;
  box-shadow:var(--shadow-pol);
  border:1px solid var(--line);
  display:inline-block;
  max-width:100%;
}
.polaroid img,
.polaroid .photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;background-color:var(--paper-deep);background-size:cover;background-repeat:no-repeat;background-position:center 25%}
.polaroid img{object-position:center 25%}
.recipe-photo{background-position:center 25% !important}
.feature-img,.feature-photo .polaroid .photo{background-position:center 25%}
.join-strip-photo{background-position:center 25% !important}
.testimonial-photo .polaroid .photo{background-position:center 20%}
.page-hero-photo{background-position:center 25% !important}
.polaroid .label{
  position:absolute;left:0;right:0;bottom:14px;
  text-align:center;
  font-family:'Caveat',cursive;font-weight:600;font-size:22px;color:var(--blue-ink);
  line-height:1.0;
  padding:0 8px;
}
.polaroid .label .role{display:block;font-family:'Spectral',Georgia,serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-top:5px;font-weight:600}
.polaroid.tape::before{
  content:"";position:absolute;left:50%;top:-12px;transform:translateX(-50%) rotate(-2.5deg);
  width:96px;height:24px;
  background:linear-gradient(180deg,rgba(244,201,93,0.85) 0%,rgba(244,201,93,0.70) 100%);
  border-left:1px dashed rgba(27,58,92,0.18);border-right:1px dashed rgba(27,58,92,0.18);
}
.polaroid.tape-blue::before{
  background:linear-gradient(180deg,rgba(168,213,226,0.92) 0%,rgba(168,213,226,0.75) 100%);
}
.polaroid.tape-coral::before{
  background:linear-gradient(180deg,rgba(233,120,98,0.85) 0%,rgba(233,120,98,0.70) 100%);
}
.polaroid.rot-l{transform:rotate(-1.4deg)}
.polaroid.rot-r{transform:rotate(1.2deg)}
.polaroid.rot-l2{transform:rotate(-0.7deg)}
.polaroid.rot-r2{transform:rotate(0.9deg)}

/* ════════════════ STICKY NOTE ════════════════ */
.note{
  display:inline-block;
  background:var(--sun-soft);
  padding:14px 18px 16px;
  font-family:'Caveat',cursive;font-weight:600;font-size:19px;color:var(--blue-ink);line-height:1.28;
  box-shadow:var(--shadow-soft);
  border-top:2px solid rgba(217,169,59,0.35);
  max-width:240px;
  position:relative;
}
.note::before{
  content:"";position:absolute;top:-8px;left:24px;
  width:38px;height:18px;
  background:rgba(168,213,226,0.78);
  transform:rotate(-3deg);
  box-shadow:0 1px 2px rgba(27,58,92,0.15);
}
.note.rot-l{transform:rotate(-2deg)}
.note.rot-r{transform:rotate(2.2deg)}
.note .hand-arrow{display:block;font-family:'Caveat',cursive;font-size:30px;color:var(--coral);line-height:0.6;margin-top:4px}

/* ════════════════ CONTAINER + SECTIONS ════════════════ */
.container{max-width:1280px;margin:0 auto;padding:0 36px;position:relative;z-index:1}
@media(max-width:780px){.container{padding:0 22px}}
section{padding:88px 0;position:relative;z-index:1}
@media(max-width:780px){section{padding:60px 0}}
section.tight{padding:56px 0}
section.tone-paper{background:var(--paper)}
section.tone-paper-2{background:var(--paper-2)}
section.tone-blue{background:var(--blue-soft)}
section.tone-blue-deep{background:var(--blue-deep);color:var(--paper)}
section.tone-blue-deep h2,
section.tone-blue-deep .display{color:var(--paper)}
section.tone-blue-deep .eyebrow{color:var(--sun-soft)}
section.tone-blue-deep p{color:#D8E3EF}

/* ─── decorative dotted divider line ─── */
.divider{
  display:flex;align-items:center;gap:14px;justify-content:center;
  margin:24px 0;color:var(--blue-deep);font-family:'Spectral',Georgia,serif;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
}
.divider::before, .divider::after{
  content:"";flex:1;height:0;border-top:2px dotted var(--blue-2);
}
.divider .dot{width:10px;height:10px;border-radius:50%;background:var(--sun);border:1.5px solid var(--blue-ink)}

/* ════════════════ HERO ════════════════ */
.page-hero{position:relative;padding:64px 0 80px;background:var(--paper);overflow:hidden}
@media(max-width:780px){.page-hero{padding:48px 0 56px}}
.hero-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  max-width:1280px;margin:0 auto;padding:0 36px;position:relative;z-index:1;
}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:36px;padding:0 22px}}
.hero-copy .eyebrow{margin-bottom:18px;display:inline-block}
.hero-copy h1{font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:clamp(44px,6.2vw,76px);line-height:1.06;letter-spacing:-0.014em;margin:0 0 22px;color:var(--blue-ink)}
.hero-copy h1 .pop{color:var(--coral);font-style:italic}
.hero-copy h1 .pop-blue{color:var(--blue-deep)}
.hero-copy h1 .underline-arc{position:relative;display:inline-block}
.hero-copy h1 .underline-arc::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:14px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'><path d='M2 9 C 40 1, 80 13, 120 6 S 198 9 198 9' fill='none' stroke='%23E97862' stroke-width='3.5' stroke-linecap='round'/></svg>") center/100% 100% no-repeat;
  opacity:0.92;pointer-events:none;
}
.hero-copy .lead{font-family:'Spectral',serif;font-size:18.5px;line-height:1.55;color:var(--blue-ink);opacity:0.86;margin:0 0 32px;max-width:540px}
.hero-copy .lead strong{color:var(--blue-deep);font-weight:600}
.hero-copy .cta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hero-meta{margin-top:36px;display:flex;flex-wrap:wrap;gap:16px}
.hero-meta .chip{
  font-family:'Spectral',Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:var(--blue-deep);background:var(--blue-soft);
  padding:6px 14px;border-radius:24px;border:1.5px solid var(--blue-2);
}
.hero-meta .chip::before{content:"✓ ";color:var(--coral);font-weight:700;font-family:serif}

.hero-photo-cluster{position:relative;min-height:520px}
@media(max-width:980px){.hero-photo-cluster{min-height:auto;display:flex;justify-content:center;padding:20px 0 40px}}
.hero-photo-cluster .polaroid.lead{
  width:78%;position:absolute;top:0;right:30px;
  transform:rotate(-1.4deg);
  z-index:2;
}
.hero-photo-cluster .polaroid.lead .photo{aspect-ratio:4/5}
.hero-photo-cluster .note.float{
  position:absolute;left:-30px;bottom:30px;z-index:3;
  max-width:220px;
}
@media(max-width:980px){
  .hero-photo-cluster .polaroid.lead{position:relative;width:min(80%,400px);right:auto;top:auto}
  .hero-photo-cluster .note.float{position:relative;left:auto;bottom:auto;margin-top:18px}
}

/* ════════════════ SECTION HEADER (chunky + decorative) ════════════════ */
.sec-head{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;margin-bottom:48px}
@media(max-width:780px){.sec-head{grid-template-columns:auto 1fr;gap:18px;margin-bottom:32px}}
.sec-head .lockup .eyebrow{display:block;margin-bottom:10px}
.sec-head .lockup h2{font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:clamp(32px,4.2vw,50px);letter-spacing:-0.010em;margin:0;line-height:1.08;color:var(--blue-ink)}
.sec-head .lockup h2 .pop{color:var(--coral);font-style:italic}
.sec-head .lockup h2 .pop-blue{color:var(--blue-deep)}
.sec-head .aside{font-family:'Caveat',cursive;font-weight:600;font-size:22px;color:var(--blue-deep);line-height:1.25;max-width:280px;text-align:right}
@media(max-width:780px){.sec-head .aside{display:none}}

/* ════════════════ MEET THE MOMS — polaroid cluster ════════════════ */
.moms-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px;
  padding:14px 0 32px;
}
@media(max-width:880px){.moms-grid{grid-template-columns:repeat(2,1fr);gap:36px 18px}}
.moms-grid .polaroid{width:100%}

/* ════════════════ RECIPE CARDS — services ════════════════ */
.recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:1000px){.recipes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.recipes{grid-template-columns:1fr}}
.recipe{
  position:relative;display:block;
  background:var(--blue-soft);
  border:2.5px solid var(--blue-ink);border-radius:18px;
  padding:0;overflow:hidden;
  box-shadow:5px 5px 0 var(--blue-deep);
  transition:transform .2s, box-shadow .2s;
}
.recipe:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--blue-deep)}
.recipe::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:14px;
  background:var(--sun);
  border-right:2.5px solid var(--blue-ink);
}
.recipe::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:14px;
  background:repeating-linear-gradient(180deg,transparent 0,transparent 16px,rgba(27,58,92,0.18) 16px,rgba(27,58,92,0.18) 17px);
  pointer-events:none;
}
.recipe-photo{aspect-ratio:5/3;background:var(--paper-deep) center/cover no-repeat;position:relative;margin-left:14px;border-bottom:2.5px solid var(--blue-ink)}
.recipe-body{padding:24px 26px 26px 32px;background:var(--paper)}
.recipe-body .eyebrow{margin-bottom:10px;display:block;color:var(--blue-deep)}
.recipe-body h3{font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:26px;letter-spacing:-0.008em;margin:0 0 10px;line-height:1.1;color:var(--blue-ink)}
.recipe-body p{font-family:'Spectral',serif;font-size:16px;line-height:1.5;color:var(--blue-ink);opacity:0.82;margin:0 0 14px}
.recipe-body .more{font-family:'Vollkorn',Georgia,serif;font-size:15px;color:var(--coral);display:inline-flex;align-items:center;gap:6px;border-bottom:2px dotted var(--coral);padding-bottom:1px}
.recipe-body .more::after{content:"→";font-family:'Spectral',serif;font-style:italic;transition:transform .18s}
.recipe:hover .recipe-body .more::after{transform:translateX(4px)}

.recipe.feature-dark{background:var(--blue-deep);color:var(--paper);box-shadow:5px 5px 0 var(--blue-ink)}
.recipe.feature-dark .recipe-body{background:var(--blue-deep)}
.recipe.feature-dark .recipe-body h3{color:var(--paper)}
.recipe.feature-dark .recipe-body p{color:#D8E3EF;opacity:1}
.recipe.feature-dark .recipe-body .eyebrow{color:var(--sun-soft)}
.recipe.feature-dark .recipe-body .more{color:var(--sun)}
.recipe.feature-dark::before{background:var(--coral)}

/* ════════════════ FEATURE STRIP (photo + copy, polaroid-style) ════════════════ */
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
@media(max-width:880px){.feature{grid-template-columns:1fr;gap:36px}}
.feature.reverse .feature-photo{order:2}
@media(max-width:880px){.feature.reverse .feature-photo{order:-1}}
.feature-photo{position:relative;display:flex;justify-content:center;padding:20px 0}
.feature-photo .polaroid{max-width:520px;width:100%}
.feature-copy .eyebrow{margin-bottom:14px;display:inline-block}
.feature-copy h2{font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:clamp(30px,3.8vw,46px);letter-spacing:-0.010em;line-height:1.08;margin:0 0 18px;color:var(--blue-ink)}
.feature-copy h2 .pop{color:var(--coral);font-style:italic}
.feature-copy h2 .pop-blue{color:var(--blue-deep)}
.feature-copy p{font-family:'Spectral',serif;font-size:17.5px;line-height:1.58;color:var(--blue-ink);opacity:0.84;margin:0 0 16px}
.feature-copy ul{margin:18px 0 28px;padding:0;list-style:none;font-family:'Spectral',serif;font-size:16.5px;color:var(--blue-ink);line-height:1.5}
.feature-copy ul li{padding:10px 0 10px 36px;position:relative;border-top:1.5px dotted var(--line-strong)}
.feature-copy ul li:last-child{border-bottom:1.5px dotted var(--line-strong)}
.feature-copy ul li::before{
  content:"★";position:absolute;left:6px;top:9px;
  color:var(--coral);font-size:18px;line-height:1;
}

/* ════════════════ HOW IT WORKS — three sticky-note steps ════════════════ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;align-items:start}
@media(max-width:880px){.steps{grid-template-columns:1fr;gap:36px;justify-items:center}}
.step{position:relative;text-align:left;padding-top:0}
.step .step-stamp{margin-bottom:18px}
.step h3{font-family:'Vollkorn',Georgia,serif;font-weight:700;font-size:28px;letter-spacing:-0.005em;margin:0 0 10px;line-height:1.0;color:var(--blue-ink)}
.step p{font-family:'Spectral',serif;font-size:17px;line-height:1.55;color:var(--blue-ink);opacity:0.84;margin:0;max-width:340px}

/* steps on dark blue section */
.tone-blue-deep .step h3{color:var(--paper)}
.tone-blue-deep .step p{color:#D8E3EF;opacity:1}

/* ════════════════ TESTIMONIAL — index card + polaroid ════════════════ */
.testimonial{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;max-width:980px;margin:0 auto}
@media(max-width:780px){.testimonial{grid-template-columns:1fr;text-align:left;gap:32px}}
.testimonial-photo{width:200px;flex-shrink:0}
@media(max-width:780px){.testimonial-photo{margin:0 auto;width:240px}}
.testimonial-card{
  background:var(--paper);
  border:2.5px solid var(--blue-ink);border-radius:14px;
  padding:32px 34px;
  box-shadow:5px 5px 0 var(--coral);
  position:relative;
}
.testimonial-card::before{
  content:"\201C";position:absolute;top:-22px;left:18px;
  font-family:'Vollkorn',Georgia,serif;font-size:84px;line-height:1;color:var(--coral);
  background:var(--paper);padding:0 8px;
}
.testimonial-card blockquote{
  margin:0;font-family:'Spectral',serif;font-style:italic;font-size:21px;line-height:1.5;color:var(--blue-ink);font-weight:500;
}
.testimonial-card cite{
  display:block;margin-top:18px;
  font-family:'Spectral',Georgia,serif;font-style:normal;font-size:13px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--blue-deep);
}
.testimonial-card cite span{color:var(--coral);font-weight:500;display:block;margin-top:4px;font-size:11px;letter-spacing:.12em}

/* ════════════════ JOIN STRIP — apply to the crew ════════════════ */
.join-strip{
  display:grid;grid-template-columns:5fr 6fr;gap:0;
  background:var(--sun);
  border:3px solid var(--blue-ink);border-radius:24px;
  overflow:hidden;align-items:stretch;
  box-shadow:8px 8px 0 var(--blue-deep);
  position:relative;
}
@media(max-width:880px){.join-strip{grid-template-columns:1fr}}
.join-strip-photo{min-height:380px;background:var(--paper-deep) center/cover no-repeat;position:relative;border-right:3px solid var(--blue-ink)}
@media(max-width:880px){.join-strip-photo{border-right:none;border-bottom:3px solid var(--blue-ink);min-height:300px}}
.join-strip-copy{padding:56px 56px 52px;display:flex;flex-direction:column;justify-content:center;background:var(--sun)}
@media(max-width:880px){.join-strip-copy{padding:40px 28px}}
.join-strip-copy .eyebrow{color:var(--coral-deep);margin-bottom:12px;display:inline-block}
.join-strip-copy h2{font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:clamp(28px,3.4vw,42px);line-height:1.08;margin:0 0 16px;color:var(--blue-ink);letter-spacing:-0.010em}
.join-strip-copy h2 .pop{color:var(--coral);font-style:italic}
.join-strip-copy p{font-family:'Spectral',serif;font-size:18px;line-height:1.55;color:var(--blue-ink);opacity:0.92;margin:0 0 28px;max-width:520px}

/* ════════════════ COUPON FORM — torn paper feel ════════════════ */
.coupon{
  max-width:820px;margin:0 auto;
  background:var(--paper);
  border:3px solid var(--blue-ink);border-radius:16px;
  padding:38px 42px 34px;position:relative;
  box-shadow:6px 6px 0 var(--blue);
}
@media(max-width:680px){.coupon{padding:28px 22px}}
.coupon::before{
  content:"";position:absolute;left:18px;right:18px;top:14px;
  height:0;border-top:2.5px dashed var(--blue-2);
}
.coupon::after{
  content:"";position:absolute;left:18px;right:18px;bottom:14px;
  height:0;border-top:2.5px dashed var(--blue-2);
}
.coupon-heading{text-align:center;margin-bottom:28px;padding-top:10px}
.coupon-heading .eyebrow{display:block;margin-bottom:12px}
.coupon-heading h2{font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:36px;letter-spacing:-0.010em;margin:0 0 8px;line-height:1.05;color:var(--blue-ink)}
.coupon-heading h2 .pop{color:var(--coral);font-style:italic}
.coupon-heading p{font-family:'Caveat',cursive;font-size:22px;font-weight:600;color:var(--blue-deep);margin:0}

.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field label{font-family:'Spectral',Georgia,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-deep);font-weight:600}
.field input,.field textarea,.field select{
  font-family:'Spectral',serif;font-size:18px;color:var(--blue-ink);
  padding:11px 14px;background:var(--paper);
  border:2px solid var(--blue-ink);border-radius:8px;
  outline:none;transition:border-color .15s,background .15s;
}
.field input::placeholder,.field textarea::placeholder{color:var(--blue-deep);opacity:0.55;font-style:italic}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--coral);background:var(--sun-soft)}
.field textarea{min-height:96px;resize:vertical}
.field select{font-style:italic}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:0}
@media(max-width:560px){.row-2{grid-template-columns:1fr;gap:0}}
.coupon-submit{margin-top:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
.coupon-submit .note{font-family:'Caveat',cursive;font-weight:600;font-size:20px;color:var(--blue-deep)}

/* ════════════════ FOOTER ════════════════ */
.site-footer{
  background:var(--blue-deep);color:#D8E3EF;
  padding:64px 0 32px;margin-top:0;position:relative;z-index:1;
  border-top:6px solid var(--coral);
}
.site-footer .container{max-width:1280px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding-bottom:42px;border-bottom:2px dotted rgba(255,250,240,0.25)}
@media(max-width:880px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px} .footer-brand{grid-column:1/-1}}
.footer-brand{max-width:380px}
.footer-brand .wm{font-family:'Vollkorn',Georgia,serif;font-weight:800;font-size:32px;letter-spacing:-0.005em;color:var(--paper);display:block;margin-bottom:14px;line-height:1}
.footer-brand .wm .amp{color:var(--sun);font-family:'Caveat',cursive;font-weight:700;font-size:1.05em;padding:0 0.02em}
.footer-brand p{font-family:'Spectral',serif;font-style:italic;font-size:16px;color:#CFDDEC;line-height:1.55;margin:0 0 16px}
.footer-brand .where{font-family:'Caveat',cursive;font-weight:600;font-size:20px;color:var(--sun-soft)}
.footer-col h4{font-family:'Spectral',Georgia,serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);font-weight:700;margin:0 0 16px}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-family:'Spectral',serif;font-size:16px}
.footer-col ul a{color:#D8E3EF;transition:color .15s}
.footer-col ul a:hover{color:var(--sun)}
.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;font-family:'Spectral',Georgia,serif;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#9BB0C5;flex-wrap:wrap;gap:14px}
.footer-bottom .phone{color:var(--sun);font-family:'Caveat',cursive;font-size:18px;letter-spacing:0;text-transform:none}

/* ════════════════ THANKS (form confirmation) ════════════════ */
.thanks{text-align:center;padding:34px 0}
.thanks .eyebrow{color:var(--coral);display:block;margin-bottom:14px}
.thanks h3{font-family:'Vollkorn',Georgia,serif;font-weight:700;font-size:34px;margin:0 0 10px;color:var(--blue-ink);line-height:1.05}
.thanks p{font-family:'Spectral',serif;font-style:italic;font-size:18px;color:var(--blue-ink);opacity:0.82;margin:0;line-height:1.55}

/* ════════════════ UTILITIES ════════════════ */
.center{text-align:center}
.hide-mob{display:initial} @media(max-width:780px){.hide-mob{display:none}}
.show-mob{display:none} @media(max-width:780px){.show-mob{display:initial}}
