/* ============================================================
   SELF WORTH THERAPIST · v3
   Deep plum · Emerald · Lavender · Gold · Warm cream
   Floral backgrounds · Procreate squiggles · WCAG AA
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=Fredoka+One&family=Nunito:wght@700;800&display=swap');

:root {
  --cream:        #F5EDE8;
  --cream-dark:   #EDE0D8;
  --parchment:    #F2EAE4;
  --plum:         #4A1942;
  --plum-light:   #6B3568;
  --lavender:     #9B7EC8;
  --lavender-bg:  #EDE8F5;
  --lavender-text:#6B4FA8;
  --emerald:      #1A6B4A;
  --emerald-mid:  #2A8B62;
  --emerald-bg:   #EDE8F5;   /* replaced light green with soft lavender tint */
/* Callout banners — gold bg, dark plum text (matches footer nav/licensing style) */
--banner-bg:    #C49A2A;   /* gold banner background */
--banner-text:  #3D1530;   /* dark plum text on gold */
  --gold:         #7A5A14;
  --gold-deco:    #C49A2A;
  --gold-bg:      #FBF3E2;
  --text-body:    #2E1A2C;
  --text-head:    #3D1530;
  --text-muted:   #5A4455;
  --text-on-dark: #F5EDE8;
  --emerald-card: #145A3C;
  --plum-card:    #3D1530;
  --gold-card:    #6B4E10;
  --border:       rgba(74,25,66,0.1);
  --white:        #FFFFFF;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'DM Sans', system-ui, sans-serif;
  --r-sm: 6px; --r-md: 14px; --r-lg: 24px;
  --shadow-sm: 0 2px 10px rgba(74,25,66,0.07);
  --shadow-md: 0 6px 24px rgba(74,25,66,0.13);
  --shadow-lg: 0 16px 48px rgba(74,25,66,0.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--cream);color:var(--text-body);line-height:1.75;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--emerald);text-decoration:none;transition:color .2s}
a:hover{color:var(--plum);text-decoration:underline}
ul{list-style:none}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-head);line-height:1.25;font-weight:700}
h1{font-size:clamp(2rem,4.5vw,3.2rem)}
h2{font-size:clamp(1.5rem,2.8vw,2.3rem)}
h3{font-size:clamp(1.05rem,1.8vw,1.35rem)}
h4{font-size:1rem;font-weight:600}
p{font-size:1.05rem;max-width:68ch;line-height:1.8;color:var(--text-body)}

/* ===== SQUIGGLE DIVIDERS ===== */
.squiggle-divider{
  width:100%;height:28px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0,14 C30,4 60,24 90,14 C120,4 150,24 180,14 C210,4 240,24 270,14 C300,4 330,24 360,14 C390,4 420,24 450,14 C480,4 510,24 540,14 C570,4 600,24 630,14 C660,4 690,24 720,14 C750,4 780,24 810,14 C840,4 870,24 900,14 C930,4 960,24 990,14 C1020,4 1050,24 1080,14 C1110,4 1140,24 1170,14 C1185,9 1200,14 1200,14' fill='none' stroke='%234A1942' stroke-width='2.2' stroke-linecap='round' opacity='.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:100% 100%;
}
.squiggle-divider.emerald{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0,14 C30,4 60,24 90,14 C120,4 150,24 180,14 C210,4 240,24 270,14 C300,4 330,24 360,14 C390,4 420,24 450,14 C480,4 510,24 540,14 C570,4 600,24 630,14 C660,4 690,24 720,14 C750,4 780,24 810,14 C840,4 870,24 900,14 C930,4 960,24 990,14 C1020,4 1050,24 1080,14 C1110,4 1140,24 1200,14' fill='none' stroke='%231A6B4A' stroke-width='2.2' stroke-linecap='round' opacity='.28'/%3E%3C/svg%3E")}
.squiggle-divider.gold{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0,14 C30,4 60,24 90,14 C120,4 150,24 180,14 C210,4 240,24 270,14 C300,4 330,24 360,14 C390,4 420,24 450,14 C480,4 510,24 540,14 C570,4 600,24 630,14 C660,4 690,24 720,14 C750,4 780,24 810,14 C840,4 870,24 900,14 C930,4 960,24 990,14 C1020,4 1050,24 1080,14 C1110,4 1140,24 1200,14' fill='none' stroke='%237A5A14' stroke-width='2.2' stroke-linecap='round' opacity='.3'/%3E%3C/svg%3E")}
.squiggle-double{
  width:100%;height:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 36' preserveAspectRatio='none'%3E%3Cpath d='M0,10 C30,2 60,18 90,10 C120,2 150,18 180,10 C210,2 240,18 270,10 C300,2 330,18 360,10 C390,2 420,18 450,10 C480,2 510,18 540,10 C570,2 600,18 630,10 C660,2 690,18 720,10 C750,2 780,18 810,10 C840,2 870,18 900,10 C930,2 960,18 990,10 C1020,2 1050,18 1080,10 C1110,2 1140,18 1200,10' fill='none' stroke='%234A1942' stroke-width='1.8' opacity='.15'/%3E%3Cpath d='M0,26 C30,18 60,34 90,26 C120,18 150,34 180,26 C210,18 240,34 270,26 C300,18 330,34 360,26 C390,18 420,34 450,26 C480,18 510,34 540,26 C570,18 600,34 630,26 C660,18 690,34 720,26 C750,18 780,34 810,26 C840,18 870,34 900,26 C930,18 960,34 990,26 C1020,18 1050,34 1080,26 C1110,18 1140,34 1200,26' fill='none' stroke='%231A6B4A' stroke-width='1.8' opacity='.15'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:100% 100%;
}

/* Squiggle underline on text */
.squiggle-under{display:inline-block;position:relative}

/* ===== FLORAL BACKGROUND SECTIONS ===== */
.floral-section{
  position:relative;overflow:hidden;
}
.floral-section .floral-bg-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  z-index:0;
}
.floral-section .floral-overlay{
  position:absolute;inset:0;z-index:1;
}
.floral-section .floral-content{
  position:relative;z-index:2;
}

/* Drawn botanical SVG decorations */
.botanical-corner{
  position:absolute;pointer-events:none;opacity:.18;
}

/* ===== NAV ===== */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(245,237,232,.97);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);height:68px;padding:0 2rem;
  display:flex;align-items:center;justify-content:space-between;
  box-shadow:var(--shadow-sm);
}
.nav-logo{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--plum);white-space:nowrap;text-decoration:none}
.nav-logo:hover{color:var(--plum);text-decoration:none}
.nav-links{display:flex;gap:1.6rem;align-items:center}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--text-body);padding:.2rem 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;text-decoration:none}
.nav-links a:hover,.nav-links a.active{color:var(--plum);border-bottom-color:var(--plum);text-decoration:none}
.nav-cta{background:var(--emerald)!important;color:var(--white)!important;border:none!important;padding:.5rem 1.1rem!important;border-radius:4px!important;font-weight:600!important;transition:background .2s!important;text-decoration:none!important}
.nav-cta:hover{background:#145238!important;border-bottom-color:transparent!important}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--plum);border-radius:2px}

/* ===== LAYOUT ===== */
.container{max-width:1140px;margin:0 auto;padding:0 2rem}
.section{padding:5.5rem 0}
.section--sm{padding:3.5rem 0}
.section--lg{padding:7rem 0}
.bg-cream{background:var(--cream)}
.bg-cream-dark{background:var(--cream-dark)}
.bg-parchment{background:var(--parchment)}
.bg-plum{background:var(--plum)}
.bg-lavender{background:var(--lavender-bg)}
.bg-emerald-tint{background:var(--emerald-bg)}

.section-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--emerald);display:block;margin-bottom:.5rem}
.divider{width:44px;height:3px;background:var(--plum);border-radius:2px;margin:1rem 0 1.75rem}
.divider.emerald{background:var(--emerald)}
.divider.gold{background:var(--gold-deco)}

/* ===== BUTTONS — RECTANGLE ===== */
.btn{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.8rem 1.7rem;border-radius:4px;
  font-family:var(--font-body);font-size:.95rem;font-weight:600;
  cursor:pointer;border:none;text-decoration:none;
  transition:transform .2s,box-shadow .2s,background .2s;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}
.btn-primary{background:var(--plum);color:var(--white)}
.btn-primary:hover{background:#3a1233;color:var(--white)}
.btn-emerald{background:var(--emerald);color:var(--white)}
.btn-emerald:hover{background:#145238;color:var(--white)}
.btn-gold{background:var(--gold);color:var(--white)}
.btn-gold:hover{background:#5e4410;color:var(--white)}
.btn-outline{background:transparent;color:var(--plum);border:2px solid var(--plum)}
.btn-outline:hover{background:var(--plum);color:var(--white)}
.btn-outline-em{background:transparent;color:var(--emerald);border:2px solid var(--emerald)}
.btn-outline-em:hover{background:var(--emerald);color:var(--white)}
.btn-on-dark{background:var(--cream);color:var(--plum)}
.btn-on-dark:hover{background:var(--white)}

/* ===== CARDS ===== */
.card{background:var(--cream);border-radius:var(--r-md);padding:1.75rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.card-white{background:var(--white)}
.card--plum{border-top:3px solid var(--plum)}
.card--emerald{border-top:3px solid var(--emerald)}
.card--gold{border-top:3px solid var(--gold-deco)}
.card--lavender{border-top:3px solid var(--lavender)}
.card--teal{border-top:3px solid #2A8080}
.card--rose{border-top:3px solid #B05070}

/* ===== SPECIALTY PILLS — no light green ===== */
/* Specialty pills — text only with colored circle bullet, no colored backgrounds */
.spec-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.88rem;font-weight:400;color:var(--text-body);background:none;border:none}
.spec-pill::before{content:'';width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--plum)}
.spec-pill.plum::before{background:var(--plum)}
.spec-pill.emerald::before{background:var(--emerald)}
.spec-pill.gold::before{background:var(--gold-deco)}
.spec-pill.lavender::before{background:var(--lavender)}
.spec-pill.teal::before{background:#2A8080}
.spec-pill.rose::before{background:#B05070}
.specialty-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}

/* ===== CALLOUTS ===== */
.callout-brand{background:var(--plum);border-radius:var(--r-lg);padding:3rem 3.5rem;text-align:center;position:relative;overflow:hidden}
.callout-brand p{font-family:var(--font-display);font-size:clamp(1.2rem,2.2vw,1.6rem);font-style:italic;color:var(--cream);max-width:700px;margin:0 auto;line-height:1.55}
.callout-brand .sub{font-family:var(--font-body);font-size:.95rem;font-style:normal;color:rgba(245,237,232,.7);margin-top:.75rem;max-width:none}
.callout-emerald{background:rgba(196,154,42,0.15);border-left:4px solid var(--plum);border-radius:0 var(--r-md) var(--r-md) 0;padding:1.25rem 1.5rem;color:#4A1942}.callout-emerald p,.callout-emerald strong,.callout-emerald h4{color:#4A1942 !important}
.bg-emerald-tint{background:rgba(196,154,42,0.1)}
.callout-plum{background:rgba(196,154,42,0.15);border-left:4px solid var(--plum);border-radius:0 var(--r-md) var(--r-md) 0;padding:1.25rem 1.5rem;color:#4A1942}.callout-plum p,.callout-plum strong,.callout-plum h4{color:#4A1942 !important}
.callout-lavender{background:rgba(196,154,42,0.12);border-radius:var(--r-md);padding:1.5rem;border:1px solid rgba(196,154,42,0.28);color:#4A1942}.callout-lavender p{color:#4A1942 !important}
.callout-note{background:var(--gold-bg);border:1px solid rgba(122,90,20,.2);border-radius:var(--r-md);padding:1.25rem 1.5rem;font-size:.92rem}

/* ===== TAGS ===== */
.tag{display:inline-block;padding:.25rem .65rem;border-radius:4px;font-size:.78rem;font-weight:600}
.tag--plum{background:rgba(74,25,66,.08);color:var(--plum-card);border:1px solid rgba(74,25,66,.18)}
.tag--emerald{background:rgba(74,25,66,.07);color:var(--plum-card);border:1px solid rgba(74,25,66,.18)}
.tag--gold{background:var(--gold-bg);color:var(--gold-card);border:1px solid rgba(122,90,20,.2)}
.tag--lavender{background:var(--lavender-bg);color:var(--lavender-text);border:1px solid rgba(107,79,168,.2)}

/* ===== GRIDS ===== */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}

/* ===== PAGE HERO ===== */
.page-hero{padding-top:108px;padding-bottom:4rem;position:relative;overflow:hidden;background:var(--cream-dark)}

/* ===== AVAIL BADGE ===== */
.avail-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(245,237,232,.15);border:1px solid rgba(245,237,232,.35);border-radius:4px;padding:.38rem 1rem;font-size:.82rem;font-weight:600;color:var(--cream)}
.avail-badge::before{content:'';width:7px;height:7px;background:#5dba8a;border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ===== WORKSHOP CARDS ===== */
.wk-card{background:var(--cream);border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.wk-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.wk-card-head{padding:1.4rem 1.5rem;position:relative}
.wk-card-head.plum{background:var(--plum)}
.wk-card-head.emerald{background:var(--emerald)}
.wk-card-num{position:absolute;top:.5rem;right:1rem;font-family:var(--font-display);font-size:2.8rem;font-weight:700;color:rgba(245,237,232,.15);line-height:1}
.wk-card-series{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:rgba(245,237,232,.65);margin-bottom:.3rem}
.wk-card-title{font-family:var(--font-display);font-size:1.1rem;color:var(--cream);font-weight:700;line-height:1.3}
.wk-card-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:.6rem}
.wk-card-body p{font-size:.92rem;color:var(--text-muted);max-width:none}
.wk-card-foot{padding:.9rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.wk-price{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--text-head)}
.wk-price.free-price{color:var(--emerald-card)}
.coming-soon-badge{background:rgba(196,154,42,0.14);color:var(--plum-card);border:1px solid rgba(196,154,42,0.3);padding:.2rem .65rem;border-radius:4px;font-size:.75rem;font-weight:600}

/* ===== FAQ ===== */
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 0;cursor:pointer;gap:1rem}
.faq-q h3{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--text-head);line-height:1.45}
.faq-icon{width:26px;height:26px;border:2px solid var(--emerald);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--emerald);font-size:1.2rem;font-weight:300;transition:transform .25s,background .25s,color .25s}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--emerald);color:var(--white)}
.faq-a{overflow:hidden;max-height:0;transition:max-height .35s ease}
.faq-a-inner{padding:0 0 1.2rem}
.faq-a-inner p{color:var(--text-muted);font-size:.97rem}
.faq-item.open .faq-a{max-height:900px}

/* ===== QUOTE PHOTO CARD PHRASES ===== */
.qpc-phrase{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:0 1.5rem;
  white-space:nowrap;
  flex-wrap:nowrap;
}
.qwl{
  display:inline-block;
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.6rem;
  font-style:italic;
  color:#f5f0c0;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
  animation:qWave 2.2s ease-in-out infinite;
  animation-delay:calc(var(--i,0) * 0.1s);
}
.qws{
  display:inline-block;
  width:.35em;
  animation:none;
}
@keyframes qWave{
  0%,100%{transform:translateY(0px);}
  50%{transform:translateY(-8px);}
}

/* Phrase 1: slides in from left, pauses, slides out to right */
/* Phrase 2: slides in from left after phrase 1 leaves, pauses, slides out to right */
/* Total cycle: 12s. Phrase 1 on screen 0-5s, off 5-6s, Phrase 2 on 6-11s, off 11-12s */
.qpc-phrase-1{
  animation:qSlide1 12s ease-in-out infinite;
}
.qpc-phrase-2{
  animation:qSlide2 12s ease-in-out infinite;
}

@keyframes qSlide1{
  0%   {transform:translateX(-110%);opacity:0;}
  8%   {transform:translateX(0%);opacity:1;}
  42%  {transform:translateX(0%);opacity:1;}
  50%  {transform:translateX(110%);opacity:0;}
  51%  {transform:translateX(-110%);opacity:0;}
  100% {transform:translateX(-110%);opacity:0;}
}
@keyframes qSlide2{
  0%   {transform:translateX(-110%);opacity:0;}
  50%  {transform:translateX(-110%);opacity:0;}
  58%  {transform:translateX(0%);opacity:1;}
  92%  {transform:translateX(0%);opacity:1;}
  100% {transform:translateX(110%);opacity:0;}
}

@media(max-width:768px){
  .qwl{font-size:1.2rem;}
  .qpc-phrase{padding:0 .75rem;}
}

/* ===== HERO MARQUEE ===== */
.hero-marquee-wrap{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  overflow:hidden;
  padding:1.5rem 0 0.75rem;
  background:rgba(61,26,46,0.45);
  backdrop-filter:blur(2px);
  border-top:1px solid rgba(245,237,232,0.12);
}
.hero-marquee-track{
  display:flex;
  white-space:nowrap;
  overflow:visible;
  position:relative;
  height:3.2rem;
}
.hero-marquee-inner{
  display:inline-flex;
  align-items:flex-end;
  position:absolute;
  left:0;
  gap:0;
  will-change:transform;
}
.hero-marquee-copy{
  display:inline-flex;
  align-items:flex-end;
  padding:0 15vw;
}
.wl{
  display:inline-block;
  font-family:'Playfair Display',Georgia,serif;
  font-style:italic;
  font-size:1.6rem;
  font-weight:400;
  letter-spacing:.18em;
  color:rgba(245,240,192,0.9);
  animation:waveUp 3.6s ease-in-out infinite;
  animation-delay:calc(var(--i,0) * 0.15s);
  line-height:1;
  padding-top:24px;
}
.ws{
  display:inline-block;
  width:.6em;
  animation:none;
}
@keyframes waveUp{
  0%,100%{transform:translateY(0px);}
  50%{transform:translateY(-20px);}
}

/* Mobile */
@media(max-width:768px){
  .wl{font-size:1.1rem;letter-spacing:.1em;padding-top:18px;}
  .hero-marquee-wrap{padding:1.2rem 0 .5rem;}
  .hero-marquee-track{height:2.6rem;}
  .hero-marquee-copy{padding:0 8vw;}
  @keyframes waveUp{
    0%,100%{transform:translateY(0px);}
    50%{transform:translateY(-11px);}
  }
}
/* Safe here marquee — static centered wave */
.safe-marquee-css{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  white-space:nowrap;
  padding-top:20px;
  text-align:center;
  width:100%;
}

/* Safe marquee */
.safe-marquee-inner{
  display:inline-flex;
  white-space:nowrap;
  will-change:transform;
}
.safe-copy{
  display:inline-flex;
  align-items:flex-end;
  padding:0 15vw;
}
.qpc-phrase{
  position:absolute;
  white-space:nowrap;
  z-index:3;
  display:flex;
  align-items:center;
  width:100%;
  justify-content:center;
}
.qwl{
  display:inline-block;
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.6rem;
  font-style:italic;
  color:#f5f0c0;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
  animation:qWave 2.2s ease-in-out infinite;
  animation-delay:calc(var(--i,0) * 0.1s);
}
.qws{
  display:inline-block;
  width:.4em;
  animation:none;
}
@keyframes qWave{
  0%,100%{transform:translateY(0px);}
  50%{transform:translateY(-10px);}
}
.qpc-phrase-1{
  animation:qSlide1 10s ease-in-out infinite;
}
.qpc-phrase-2{
  animation:qSlide2 10s ease-in-out infinite;
}
@keyframes qSlide1{
  0%   {transform:translateX(-110%);opacity:0;}
  8%   {transform:translateX(0%);opacity:1;}
  42%  {transform:translateX(0%);opacity:1;}
  50%  {transform:translateX(110%);opacity:0;}
  51%  {transform:translateX(-110%);opacity:0;}
  100% {transform:translateX(-110%);opacity:0;}
}
@keyframes qSlide2{
  0%   {transform:translateX(-110%);opacity:0;}
  50%  {transform:translateX(-110%);opacity:0;}
  58%  {transform:translateX(0%);opacity:1;}
  92%  {transform:translateX(0%);opacity:1;}
  100% {transform:translateX(110%);opacity:0;}
}
@media(max-width:768px){
  .qwl{font-size:1.2rem;}
  .quote-photo-card{min-height:160px!important;}
}

.cn-float{display:inline-block;animation:cnFloat 3s ease-in-out infinite}
.cn-float:nth-child(2){animation-delay:.6s}
.cn-float:nth-child(3){animation-delay:1.2s}

/* Chicken nuggets floating in slow squiggly circles on each side of the card */
.cn-border-card{isolation:isolate;}

.cn-side-floaters{
  position:relative;
  max-width:680px;
  margin:0 auto;
}

.cn-side-floaters .cn-side{
  position:absolute;
  pointer-events:none;
  z-index:2;
}

/* Left side — three nuggets orbiting at different speeds, covering more vertical space */
.cn-side-floaters .cn-side.left-1{
  font-size:1.7rem;
  left:-65px;
  top:50%;
  animation:cnOrbitLeft1 14s ease-in-out infinite;
}
.cn-side-floaters .cn-side.left-2{
  font-size:1.2rem;
  left:-48px;
  top:50%;
  opacity:.6;
  animation:cnOrbitLeft2 18s ease-in-out infinite;
  animation-delay:-6s;
}
.cn-side-floaters .cn-side.left-3{
  font-size:1rem;
  left:-70px;
  top:50%;
  opacity:.35;
  animation:cnOrbitLeft3 22s ease-in-out infinite;
  animation-delay:-11s;
}

/* Right side */
.cn-side-floaters .cn-side.right-1{
  font-size:1.7rem;
  right:-65px;
  top:50%;
  animation:cnOrbitRight1 14s ease-in-out infinite;
  animation-delay:-3s;
}
.cn-side-floaters .cn-side.right-2{
  font-size:1.2rem;
  right:-48px;
  top:50%;
  opacity:.6;
  animation:cnOrbitRight2 18s ease-in-out infinite;
  animation-delay:-9s;
}
.cn-side-floaters .cn-side.right-3{
  font-size:1rem;
  right:-70px;
  top:50%;
  opacity:.35;
  animation:cnOrbitRight3 22s ease-in-out infinite;
  animation-delay:-14s;
}

/* Squiggly circular orbits — wide vertical range to fill the side space, with lateral wobble */
@keyframes cnOrbitLeft1{
  0%  {transform:translate(8px,-120px) rotate(-12deg);}
  15% {transform:translate(22px,-70px) rotate(10deg);}
  30% {transform:translate(10px,-10px) rotate(-8deg);}
  45% {transform:translate(25px,50px) rotate(14deg);}
  60% {transform:translate(5px,110px) rotate(-10deg);}
  75% {transform:translate(-18px,55px) rotate(8deg);}
  88% {transform:translate(-12px,-40px) rotate(-14deg);}
  100%{transform:translate(8px,-120px) rotate(-12deg);}
}
@keyframes cnOrbitLeft2{
  0%  {transform:translate(-12px,-100px) rotate(10deg);}
  20% {transform:translate(18px,-40px) rotate(-12deg);}
  40% {transform:translate(8px,30px) rotate(8deg);}
  60% {transform:translate(-20px,90px) rotate(-10deg);}
  80% {transform:translate(-8px,20px) rotate(12deg);}
  100%{transform:translate(-12px,-100px) rotate(10deg);}
}
@keyframes cnOrbitLeft3{
  0%  {transform:translate(5px,-90px) rotate(-6deg);}
  25% {transform:translate(22px,-20px) rotate(10deg);}
  50% {transform:translate(0px,70px) rotate(-8deg);}
  75% {transform:translate(-22px,10px) rotate(6deg);}
  100%{transform:translate(5px,-90px) rotate(-6deg);}
}
@keyframes cnOrbitRight1{
  0%  {transform:translate(-8px,-120px) rotate(12deg);}
  15% {transform:translate(-22px,-70px) rotate(-10deg);}
  30% {transform:translate(-10px,-10px) rotate(8deg);}
  45% {transform:translate(-25px,50px) rotate(-14deg);}
  60% {transform:translate(-5px,110px) rotate(10deg);}
  75% {transform:translate(18px,55px) rotate(-8deg);}
  88% {transform:translate(12px,-40px) rotate(14deg);}
  100%{transform:translate(-8px,-120px) rotate(12deg);}
}
@keyframes cnOrbitRight2{
  0%  {transform:translate(12px,-100px) rotate(-10deg);}
  20% {transform:translate(-18px,-40px) rotate(12deg);}
  40% {transform:translate(-8px,30px) rotate(-8deg);}
  60% {transform:translate(20px,90px) rotate(10deg);}
  80% {transform:translate(8px,20px) rotate(-12deg);}
  100%{transform:translate(12px,-100px) rotate(-10deg);}
}
@keyframes cnOrbitRight3{
  0%  {transform:translate(-5px,-90px) rotate(6deg);}
  25% {transform:translate(-22px,-20px) rotate(-10deg);}
  50% {transform:translate(0px,70px) rotate(8deg);}
  75% {transform:translate(22px,10px) rotate(-6deg);}
  100%{transform:translate(-5px,-90px) rotate(6deg);}
}

/* Mobile: hide side floaters, scatter a few nuggets loosely around the card */
@media(max-width:860px){
  .cn-side-floaters .cn-side{display:none;}
  .cn-border-card{overflow:visible;}
  .cn-border-card::before{
    content:"🍗";
    position:absolute;
    top:-22px;
    right:18%;
    font-size:1.3rem;
    animation:cnMobileFloat1 5s ease-in-out infinite;
    pointer-events:none;
  }
  .cn-border-card::after{
    content:"🍗";
    position:absolute;
    bottom:-22px;
    left:18%;
    font-size:1.3rem;
    animation:cnMobileFloat2 6s ease-in-out infinite;
    animation-delay:-2.5s;
    pointer-events:none;
  }
}
@keyframes cnMobileFloat1{
  0%,100%{transform:translateY(0) rotate(-8deg);}
  50%{transform:translateY(-10px) rotate(8deg);}
}
@keyframes cnMobileFloat2{
  0%,100%{transform:translateY(0) rotate(6deg);}
  50%{transform:translateY(-12px) rotate(-6deg);}
}
@keyframes cnFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(4deg)}}

/* ===== PHOTO FRAMES — hand-drawn style ===== */
.frame-blob{border-radius:52% 48% 60% 40%/45% 42% 58% 55%;overflow:hidden;box-shadow:var(--shadow-lg)}
.frame-squiggle-border{position:relative}
.frame-squiggle-border::after{
  content:'';position:absolute;inset:-8px;
  border:3px solid var(--plum);opacity:.2;
  border-radius:55% 45% 62% 38%/48% 55% 45% 52%;
  pointer-events:none;
}

/* ===== COLLAGE ===== */
.cn-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1rem}
.cn-collage-big{grid-column:1/2;grid-row:1/3}
.cn-collage-tr{grid-column:2/3;grid-row:1/2}
.cn-collage-br{grid-column:2/3;grid-row:2/3}
.cn-collage img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== FOOTER ===== */
.site-footer{background:var(--plum);padding:4rem 0 2rem}
.site-footer p,.site-footer li{color:rgba(245,237,232,.75)}
.site-footer a{color:rgba(245,237,232,.75);text-decoration:none}
.site-footer a:hover{color:var(--cream)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}
.footer-logo{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--cream);margin-bottom:.35rem}
.footer-tagline{font-size:.88rem;color:rgba(245,237,232,.55);margin-bottom:1.1rem;max-width:none}
.footer-col h4{font-family:var(--font-body);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-deco);margin-bottom:.85rem;font-weight:700}
.footer-col li{margin-bottom:.4rem}
.footer-col a{font-size:.875rem}
.footer-bottom{border-top:1px solid rgba(245,237,232,.1);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}
.footer-bottom p{font-size:.78rem;color:rgba(245,237,232,.4);max-width:none}

/* ===== ANIMATIONS ===== */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.fade-in.visible{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  .nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--border);flex-direction:column;padding:1.5rem 2rem;gap:1.1rem;align-items:flex-start;box-shadow:var(--shadow-md)}
  .nav-links.open{display:flex}
  .nav-toggle{display:flex}
  .grid-2,.grid-3{grid-template-columns:1fr !important}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column}
  .callout-brand{padding:2rem 1.5rem}
  .cn-collage{grid-template-columns:1fr;grid-template-rows:auto}
  .cn-collage-big,.cn-collage-tr,.cn-collage-br{grid-column:1;grid-row:auto}
  .cn-float-hide-mobile{display:none}
  /* Force all inline grid-2 layouts to single column */
  [class*="grid-2"]{grid-template-columns:1fr !important;}
  div[style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  /* Force flex rows to stack vertically */
  div[style*="display:flex"][style*="gap"]{flex-direction:column !important;}
  div[style*="display: flex"][style*="gap"]{flex-direction:column !important;}
  /* Remove min-width constraints that prevent stacking */
  div[style*="min-width:280px"]{min-width:0 !important;width:100% !important;}
  div[style*="flex:1"]{flex:none !important;width:100% !important;}
  div[style*="flex:0"]{flex:none !important;width:100% !important;max-width:100% !important;padding-right:0 !important;}
  /* Remove large gaps on mobile */
  div[style*="gap:4rem"]{gap:2rem !important;}
  div[style*="gap:4.5rem"]{gap:2rem !important;}
  /* CN photo collage mobile — all 4 photos stacked */
  .cn-photo-collage{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
  }
  .cn-big-photo{grid-row:auto !important;grid-column:1/2 !important;}
  .cn-photo-collage div{grid-column:1/2 !important;grid-row:auto !important;}
  .cn-photo-collage div img{height:280px !important;width:100% !important;object-fit:cover;}
  /* Remove corner chicken leg pseudo-elements on mobile */
  .cn-border-card::before,.cn-border-card::after{display:none;}
}
@media(max-width:480px){.container{padding:0 1.25rem}.section{padding:3.5rem 0}.quote-photo-card{min-height:180px!important;}.cn-photo-collage div img{height:180px;object-fit:cover;}}
