
    :root{
      --brown:#8b5e3c;--brown-dark:#5a3a22;--brown-light:#a47148;
      --gold:#f2c14e;--gold-light:#f7d774;--cream:#fff8ef;--cream-2:#f8eddf;
      --peach:#e7a977;--ink:#2b1d14;--muted:#756457;--white:#fff;
      --border:#ead8c3;--shadow:0 12px 34px rgba(70,44,27,.11);--shadow-soft:0 7px 20px rgba(70,44,27,.08);
      --radius:26px;--max:1180px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth;scroll-padding-top:92px}
    body{font-family:'Nunito',sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;padding-top:82px}
    img{max-width:100%;display:block} a{color:inherit} button,input,select,textarea{font:inherit}
    h1,h2,h3{line-height:1.12} h1,h2{font-family:'Bubblegum Sans',cursive;font-weight:400}
    .site-nav,nav{position:fixed;inset:0 0 auto;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(139,94,60,.09);transition:.25s}
    .site-nav.shrink,nav.shrink{box-shadow:0 8px 24px rgba(70,44,27,.09)}
    .nav-container{max-width:1240px;margin:auto;padding:.65rem 1.4rem;min-height:72px;display:flex;align-items:center;gap:1.4rem}
    .logo{margin-right:auto}.logo-img{height:58px;width:auto}.header-tagline{font-family:'Quicksand';font-weight:700;color:var(--brown);font-size:.92rem;white-space:nowrap}
    .nav-links{list-style:none;display:flex;align-items:center;gap:1.2rem}.nav-links a,.dropdown-toggle{text-decoration:none;font-weight:800;font-size:.94rem;color:var(--ink);border:0;background:none;cursor:pointer}.nav-links a:hover,.dropdown-toggle:hover{color:var(--brown)}
    .dropdown{position:relative}.dropdown-toggle:after{content:" ▾";font-size:.7em}.dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:180px;padding:.55rem;background:white;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.2s}.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.dropdown-menu a{display:block;padding:.7rem .8rem;border-radius:10px}.dropdown-menu a:hover{background:var(--cream)}
    .mobile-toggle{display:none;border:0;background:var(--cream);color:var(--brown-dark);width:44px;height:44px;border-radius:50%;font-size:1.35rem}.mobile-menu{display:none}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.35rem;border-radius:999px;font-weight:800;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.2s;box-shadow:0 5px 0 rgba(90,58,34,.16)}
    .btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--brown-light),var(--brown));color:white}.btn-secondary{background:white;border-color:var(--brown);color:var(--brown)}.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--ink)}
    .header-book-btn{padding:.6rem 1rem;min-height:40px;box-shadow:none}
    .eyebrow{display:inline-block;font-family:'Quicksand';font-weight:800;letter-spacing:.12em;font-size:.78rem;color:var(--brown);margin-bottom:.8rem}
    .hero{position:relative;overflow:hidden;padding:4.5rem 1.5rem 5rem;background:radial-gradient(circle at 15% 15%,rgba(242,193,78,.26),transparent 28%),linear-gradient(135deg,#fffaf3,#f8eddf)}
    .hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(139,94,60,.12) 1.2px,transparent 1.2px);background-size:28px 28px;opacity:.35;pointer-events:none}
    .hero-container{position:relative;z-index:1;max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}
    .hero h1{font-size:clamp(3.2rem,6vw,5.6rem);color:var(--brown-dark);margin-bottom:1.2rem}.hero h1 span{color:var(--brown);position:relative}.hero-subtitle{font-size:1.15rem;color:var(--muted);max-width:560px;margin-bottom:1.6rem}.hero-buttons{display:flex;gap:.8rem;flex-wrap:wrap}.hero-local{margin-top:1.25rem;color:var(--muted);font-size:.92rem}.hero-local i{color:var(--gold);margin-right:.35rem}
    .hero-collage{position:relative;min-height:530px}.hero-photo{position:absolute;background:white;padding:10px;border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;border-radius:20px}.hero-photo figcaption{position:absolute;left:22px;bottom:20px;background:rgba(255,253,248,.94);padding:.55rem .8rem;border-radius:12px;font-size:.82rem;font-weight:800;color:var(--brown-dark);box-shadow:var(--shadow-soft)}
    .hero-photo-main{width:78%;height:430px;right:0;top:0;transform:rotate(1.5deg)}.hero-photo-small{width:54%;height:250px;left:0;bottom:0;transform:rotate(-3deg);z-index:2}
    .experience-strip{background:var(--brown-dark);color:white;padding:1.2rem 1rem}.experience-steps{max-width:1000px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.experience-steps>div{text-align:center;min-width:95px}.experience-steps span{display:grid;place-items:center;width:46px;height:46px;margin:0 auto .4rem;border-radius:50%;background:var(--gold);color:var(--brown-dark)}.experience-steps strong,.experience-steps small{display:block}.experience-steps small{opacity:.76;font-size:.72rem}.step-arrow{color:var(--gold);opacity:.6}
    section{padding:5.5rem 1.5rem}.section-heading{max-width:760px;margin:0 auto 2.8rem;text-align:center}.section-heading h2,.page-hero h1,.contact-intro h2,.news-copy h2,.service-area h2{font-size:clamp(2.35rem,4vw,3.7rem);color:var(--brown-dark);margin-bottom:.8rem}.section-heading p,.page-hero p{font-size:1.08rem;color:var(--muted)}
    .story-section{background:white}.story-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.story-photo{border-radius:32px;padding:10px;background:var(--cream);box-shadow:var(--shadow);transform:rotate(-1deg)}.story-photo img{width:100%;height:520px;object-fit:cover;border-radius:24px}.story-copy{display:grid;gap:1.5rem}.mini-feature{display:grid;grid-template-columns:56px 1fr;gap:1rem}.mini-feature>i{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--gold-light);color:var(--brown-dark);font-size:1.25rem}.mini-feature h3{font-size:1.22rem;color:var(--brown);margin-bottom:.3rem}.mini-feature p{color:var(--muted)}
    .news-feature{background:linear-gradient(135deg,var(--brown-dark),#745037);color:white}.news-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}.news-copy h2{color:white}.news-copy p{opacity:.84;margin-bottom:1.5rem}.media-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:var(--brown-dark);padding:.5rem .8rem;border-radius:999px;font-weight:900;font-size:.78rem;letter-spacing:.08em;margin-bottom:1rem}.video-shell{background:#fffdf8;padding:12px;border-radius:28px;box-shadow:0 20px 50px rgba(0,0,0,.22)}.video-frame{aspect-ratio:16/9;overflow:hidden;border-radius:20px;background:#111}.video-frame iframe{width:100%;height:100%;border:0}.video-note{color:var(--brown-dark);font-weight:800;text-align:center;padding:.75rem .5rem .2rem}
    .perfect-for{background:var(--cream-2)}.occasion-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.occasion-grid article{background:white;border:1px solid var(--border);border-radius:22px;padding:1.6rem;box-shadow:var(--shadow-soft)}.occasion-grid i{font-size:1.55rem;color:var(--brown);margin-bottom:1rem}.occasion-grid h3{color:var(--brown-dark);margin-bottom:.45rem}.occasion-grid p{color:var(--muted);font-size:.94rem}
    .packages-preview,#pricing{background:white}.pricing-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;align-items:stretch}.pricing-card{position:relative;background:var(--cream);border:1px solid var(--border);border-radius:26px;padding:2rem;box-shadow:var(--shadow-soft)}.pricing-card.featured{background:var(--brown-dark);color:white;transform:translateY(-8px);border-color:var(--brown-dark)}.pricing-card h3{font-size:1.35rem;color:var(--brown);margin-bottom:.8rem}.pricing-card.featured h3{color:var(--gold-light)}.price{font-size:2rem;font-weight:900;color:var(--brown-dark);margin-bottom:1rem}.price span{font-size:.9rem;font-weight:700}.featured .price{color:white}.pricing-card p{color:var(--muted);margin-bottom:1rem}.featured p{color:#f8eddf}.pricing-card ul{list-style:none;margin:1.2rem 0}.pricing-card li{padding:.45rem 0;border-bottom:1px solid rgba(139,94,60,.12)}.pricing-card li:before{content:"";color:var(--gold);margin-right:.55rem}.pricing-badge{position:absolute;right:18px;top:-13px;background:var(--gold);color:var(--brown-dark);font-weight:900;font-size:.75rem;padding:.4rem .7rem;border-radius:999px}.text-link{font-weight:900;color:var(--brown)}.featured .text-link{color:var(--gold-light)}
    .pricing-note-box,.custom-package-box,.addons-section{max-width:var(--max);margin:2rem auto 0;background:var(--cream);border:1px solid var(--border);border-radius:24px;padding:1.7rem}.custom-package-box{text-align:center}.custom-package-box h2,.addons-section h3{font-family:'Bubblegum Sans';font-size:2rem;color:var(--brown-dark);margin-bottom:.7rem}.custom-package-box p{max-width:780px;margin:.5rem auto 1rem;color:var(--muted)}.addons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.addon-item{background:white;border-radius:16px;padding:1rem;display:flex;justify-content:space-between;gap:1rem}.addon-item span{font-weight:900;color:var(--brown)}
    .gallery-preview{background:var(--cream)}.preview-collage{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.35fr .85fr .85fr;grid-template-rows:220px 220px;gap:12px}.preview-collage img{width:100%;height:100%;object-fit:cover;border-radius:20px}.preview-collage img:first-child{grid-row:1/3}.preview-collage img:nth-child(4){grid-column:2/4}.preview-collage img:nth-child(5){display:none}.center{text-align:center;margin-top:2rem}
    .service-area{background:white}.service-area-card{max-width:var(--max);margin:auto;background:linear-gradient(135deg,var(--cream-2),var(--cream));border:1px solid var(--border);border-radius:30px;padding:2.4rem;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}.service-area-card p{color:var(--muted)}.area-tags{display:flex;flex-wrap:wrap;gap:.55rem}.area-tags span{background:white;border:1px solid var(--border);border-radius:999px;padding:.5rem .75rem;font-weight:800;color:var(--brown)}
    .contact-section{background:var(--cream-2)}.contact-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}.contact-intro p{color:var(--muted);margin-bottom:1.4rem}.contact-bits{display:grid;gap:.6rem;color:var(--brown);font-weight:800}.contact-form{background:white;border:1px solid var(--border);border-radius:28px;padding:2rem;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:grid;gap:.35rem}.form-group.full-width{grid-column:1/-1}.form-group label{font-weight:800;color:var(--brown-dark)}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #d9c5ae;border-radius:13px;padding:.85rem;background:#fffdf9;color:var(--ink);font-size:16px}.form-group textarea{resize:vertical}.form-note{font-size:.85rem;color:var(--muted);margin-top:.8rem}
    .page-hero{text-align:center;padding:5rem 1.5rem 3.5rem;background:linear-gradient(135deg,var(--cream-2),#fffaf3)}.page-hero p{max-width:680px;margin:auto}
    .gallery-section{background:white;padding-top:3rem}.gallery-mosaic{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:12px}.gallery-tile{border:0;padding:0;background:var(--cream);border-radius:20px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-soft);grid-column:span 4;grid-row:span 3}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:.3s}.gallery-tile:hover img{transform:scale(1.035)}.gallery-tile.g01,.gallery-tile.g08{grid-column:span 8;grid-row:span 5}.gallery-tile.g03,.gallery-tile.g06,.gallery-tile.g11{grid-row:span 4}.gallery-tile.g05,.gallery-tile.g12{grid-column:span 6;grid-row:span 4}.gallery-tile.g14,.gallery-tile.g15{grid-column:span 6}.gallery-hint{text-align:center;color:var(--muted);margin-top:1.5rem}.gallery-cta{text-align:center;background:var(--cream-2)}.gallery-cta p{color:var(--muted);margin:.6rem 0 1.4rem}.gallery-cta h2{font-family:'Bubblegum Sans';font-size:2.8rem;color:var(--brown-dark)}
    .lightbox{position:fixed;inset:0;background:rgba(30,20,14,.9);z-index:2000;display:none;place-items:center;padding:2rem}.lightbox.open{display:grid}.lightbox img{max-width:min(1100px,92vw);max-height:86vh;border-radius:18px}.lightbox-close{position:absolute;right:24px;top:18px;border:0;background:white;width:46px;height:46px;border-radius:50%;font-size:1.8rem;cursor:pointer}
    .about-modern{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:start;background:white}.about-photo-card{position:sticky;top:110px;background:var(--cream);padding:10px;border-radius:28px;box-shadow:var(--shadow);transform:rotate(-1.5deg)}.about-photo-card img{border-radius:20px;width:100%}.photo-tag{text-align:center;padding:.8rem .4rem .3rem;font-weight:900;color:var(--brown)}.about-story h2{font-size:3rem;color:var(--brown-dark);margin-bottom:1rem}.about-story p{color:var(--muted);margin-bottom:1.1rem}.about-story blockquote{font-family:'Quicksand';font-weight:800;font-size:1.25rem;color:var(--brown);border-left:5px solid var(--gold);padding:1rem 1.2rem;background:var(--cream);border-radius:0 16px 16px 0;margin:1.5rem 0}
    .thank-you-section{min-height:68vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--cream),var(--cream-2))}.thank-you-card{max-width:760px;background:white;border:1px solid var(--border);border-radius:30px;padding:3rem;text-align:center;box-shadow:var(--shadow)}.thank-you-icon{font-size:3rem}.thank-you-card h1{font-size:3rem;color:var(--brown-dark);margin:.5rem 0 1rem}.thank-you-card p{color:var(--muted);margin:.7rem 0}.thank-you-card .hero-buttons{justify-content:center;margin-top:1.4rem}
    #faq,.policy-page{max-width:980px;margin:auto;background:white}#faq .section-header,.policy-page .section-header{padding-top:1rem}.faq-container,.policy-container{background:white;border:1px solid var(--border);border-radius:24px;padding:0 1.4rem;box-shadow:var(--shadow-soft)}.faq-item,.policy-item{border-bottom:1px solid var(--border)}.faq-question,.policy-question{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;cursor:pointer;text-align:left;padding:1.1rem .25rem;font-weight:800;color:var(--brown-dark)}.faq-answer,.policy-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item.active .faq-answer,.policy-item.active .policy-answer{padding-bottom:1rem}.faq-answer p,.policy-answer p{color:var(--muted);margin:.5rem 0}.policy-group-heading h2{font-family:'Bubblegum Sans';color:var(--brown);margin-top:2rem}.policy-closing{padding:1.5rem 0}
    .site-footer{background:var(--brown-dark);color:white;padding:3.5rem 1.5rem 1rem}.footer-container{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}.footer-logo{width:170px;background:white;border-radius:18px;padding:.45rem;margin-bottom:.8rem}.footer-column h4{color:var(--gold-light);margin-bottom:.7rem}.footer-column>a{display:block;text-decoration:none;opacity:.86;margin:.4rem 0}.footer-column>a:hover{opacity:1;color:var(--gold-light)}.footer-column p{opacity:.72;font-size:.9rem}.social-icons{display:flex;gap:.6rem}.social-icons a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);text-decoration:none}.footer-bottom{max-width:var(--max);margin:2.2rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);text-align:center;font-size:.82rem;opacity:.65}
    @media(max-width:980px){
     .header-tagline{display:none}.nav-links{display:none}.mobile-toggle{display:block}.mobile-menu{position:fixed;top:80px;left:1rem;right:1rem;z-index:999;background:white;border:1px solid var(--border);border-radius:20px;padding:.7rem;box-shadow:var(--shadow)}.mobile-menu.active{display:grid}.mobile-menu a{text-decoration:none;padding:.8rem;border-radius:12px;font-weight:800}.mobile-menu a:hover{background:var(--cream)}.mobile-book{background:var(--brown);color:white;text-align:center}
     .hero-container,.story-grid,.news-grid,.contact-layout,.service-area-card,.about-modern{grid-template-columns:1fr}.hero-collage{min-height:500px;max-width:720px;width:100%;margin:auto}.hero-copy{text-align:center}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-buttons{justify-content:center}.hero-local{text-align:center}
     .occasion-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.addons-grid{grid-template-columns:repeat(2,1fr)}.footer-container{grid-template-columns:repeat(2,1fr)}.about-photo-card{position:relative;top:auto;max-width:560px;margin:auto}
    }
    @media(max-width:680px){
     body{padding-top:74px}.nav-container{min-height:64px;padding:.45rem 1rem}.logo-img{height:50px}.mobile-menu{top:72px}
     section{padding:4rem 1rem}.hero{padding:3rem 1rem 4rem}.hero h1{font-size:3.6rem}.hero-collage{min-height:420px}.hero-photo-main{width:86%;height:330px}.hero-photo-small{width:58%;height:190px}.hero-photo figcaption{font-size:.7rem;left:16px;bottom:15px}
     .experience-steps{overflow-x:auto;justify-content:flex-start;padding-bottom:.4rem}.step-arrow{display:none}.experience-steps>div{flex:0 0 95px}
     .story-photo img{height:380px}.occasion-grid{grid-template-columns:1fr}.preview-collage{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px 180px}.preview-collage img:first-child{grid-column:1/3;grid-row:auto}.preview-collage img:nth-child(4){grid-column:auto}.preview-collage img:nth-child(5){display:block}
     .form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:auto}.addons-grid{grid-template-columns:1fr}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.gallery-tile,.gallery-tile.g01,.gallery-tile.g08,.gallery-tile.g03,.gallery-tile.g06,.gallery-tile.g11,.gallery-tile.g05,.gallery-tile.g12,.gallery-tile.g14,.gallery-tile.g15{grid-column:span 1;grid-row:span 1}.gallery-tile.g01,.gallery-tile.g08{grid-column:1/-1;grid-row:span 2}.footer-container{grid-template-columns:1fr}.about-story h2{font-size:2.5rem}.thank-you-card{padding:2rem 1.2rem}.thank-you-card h1{font-size:2.5rem}
    }

/* ===== Compact homepage experience refresh ===== */
.story-section-compact { padding-top: 72px; padding-bottom: 72px; }
.compact-story-grid { align-items: center; gap: clamp(32px, 5vw, 68px); }
.compact-story-copy h2 { margin: 10px 0 16px; }
.compact-story-copy > p { margin: 0 0 22px; }
.compact-perks { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 18px; margin: 0 0 20px; }
.compact-perks span { display: flex; align-items: center; gap: 9px; color: var(--text-dark); font-weight: 800; font-size: .94rem; }
.compact-perks i { color: var(--primary); width: 18px; text-align: center; }
.story-section-compact .story-photo { max-height: 520px; overflow: hidden; }
.story-section-compact .story-photo img { width: 100%; height: 100%; max-height: 520px; object-fit: cover; }
.gallery-preview .preview-collage { grid-template-columns: 1.15fr .85fr .85fr 1.15fr; }
@media (max-width: 800px) {
  .story-section-compact { padding-top: 52px; padding-bottom: 52px; }
  .compact-perks { grid-template-columns: 1fr; }
  .gallery-preview .preview-collage { grid-template-columns: repeat(2,1fr); }
}

/* Gallery refresh */
.gallery-intro{max-width:760px;margin:0 auto 2.4rem;text-align:center;padding:0 1rem}
.gallery-intro h2{font-family:'Bubblegum Sans',cursive;color:var(--brown-dark);font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;margin:.55rem 0 .75rem}
.gallery-intro p{color:var(--muted);font-size:1.05rem;line-height:1.75;margin:0}


/* =========================================================
   SWL POLISH PASS — Fredoka personality + warm text + hero fixes
   ========================================================= */
:root{
  --ink:#4b3427;
  --text-dark:#4b3427;
  --muted:#745f50;
}

/* No harsh black text anywhere */
body, p, li, label, input, textarea, select, button, a, small, span { color:inherit; }
body{color:var(--ink);}
input,textarea,select{color:var(--brown-dark);}

/* Bring the original SWL personality back */
.site-nav,.nav-links,.mobile-menu,.header-tagline,
.btn,.eyebrow,.experience-steps,.pricing-card h3,.price,
.faq-question,.policy-question,.contact-bits,
.site-footer h4,.text-link,.area-tags,.pricing-badge,
.section-header h2,.section-heading h2,.page-hero h1,
.contact-intro h2,.news-copy h2,.service-area h2,
.gallery-intro h2,.gallery-cta h2,.about-story h2,
.thank-you-card h1{
  font-family:'Fredoka','Nunito',sans-serif;
}
h1,h2,h3{
  font-family:'Fredoka','Bubblegum Sans','Nunito',sans-serif;
  color:var(--brown-dark);
}
.hero h1{
  font-family:'Fredoka','Bubblegum Sans','Nunito',sans-serif;
  font-weight:600;
  letter-spacing:-.025em;
}
.eyebrow{font-weight:650;}
.btn,.nav-links a,.dropdown-toggle{font-weight:600;}

/* Hero: machine is dominant; photos stay in their lane and never cover copy */
.hero{overflow:hidden;}
.hero-container{
  grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);
  gap:3.25rem;
}
.hero-copy{position:relative;z-index:4;min-width:0;}
.hero-collage{
  position:relative;
  min-height:520px;
  width:100%;
  max-width:650px;
  justify-self:end;
}
.hero-photo{
  box-sizing:border-box;
  border:1px solid rgba(139,94,60,.12);
}
.hero-photo-main{
  width:82%;
  height:455px;
  right:0;
  top:5px;
  transform:rotate(1deg);
  z-index:1;
}
.hero-photo-main img{object-position:center center;}
.hero-photo-small{
  width:45%;
  height:215px;
  left:0;
  bottom:5px;
  transform:rotate(-2deg);
  z-index:2;
}
.hero-photo figcaption{
  left:18px;
  right:auto;
  bottom:18px;
  max-width:calc(100% - 36px);
  width:max-content;
  box-sizing:border-box;
  white-space:normal;
  line-height:1.25;
  font-family:'Fredoka','Nunito',sans-serif;
  font-weight:600;
}

/* Designed intro cards for inner information pages */
#pricing > .section-header,
#faq > .section-header,
.policy-page > .section-header{
  max-width:920px;
  margin:0 auto 2.5rem;
  padding:2.4rem clamp(1.25rem,4vw,3rem);
  text-align:center;
  background:
    radial-gradient(circle at top right,rgba(242,193,78,.20),transparent 32%),
    linear-gradient(135deg,#fffaf3,var(--cream-2));
  border:1px solid rgba(139,94,60,.14);
  border-radius:30px;
  box-shadow:var(--shadow-soft);
  position:relative;
  overflow:hidden;
}
#pricing > .section-header::before,
#faq > .section-header::before,
.policy-page > .section-header::before{
  content:"";
  display:block;
  width:64px;
  height:5px;
  border-radius:999px;
  background:var(--gold);
  margin:0 auto 1rem;
}
#pricing > .section-header h2,
#faq > .section-header h2,
.policy-page > .section-header h2{
  font-family:'Fredoka','Nunito',sans-serif;
  font-size:clamp(2.25rem,4.5vw,3.6rem);
  line-height:1.08;
  color:var(--brown-dark);
  margin:0 0 .85rem;
}
#pricing > .section-header p,
#faq > .section-header p,
.policy-page > .section-header p{
  max-width:760px;
  margin:.55rem auto;
  color:var(--muted);
}

/* Contact phone looks like the other contact details */
.contact-bits a{
  color:var(--brown-dark);
  text-decoration:none;
  font-weight:700;
}
.contact-bits a:hover{text-decoration:underline;}

/* Footer/contact links stay warm, never default black/blue */
.site-footer a,.contact-bits span{color:inherit;}

@media(max-width:1050px){
  .hero-container{grid-template-columns:1fr;gap:2rem;}
  .hero-copy{text-align:center;}
  .hero-collage{justify-self:center;max-width:680px;min-height:490px;}
  .hero-photo-main{width:78%;height:400px;}
  .hero-photo-small{width:42%;height:190px;}
}
@media(max-width:640px){
  .hero{padding-top:2.5rem;}
  .hero-collage{
    min-height:0;
    display:grid;
    grid-template-columns:1fr .72fr;
    gap:10px;
    align-items:end;
    max-width:100%;
  }
  .hero-photo{
    position:relative;
    inset:auto;
    transform:none;
    width:100%;
    padding:7px;
  }
  .hero-photo-main{height:300px;}
  .hero-photo-small{height:205px;}
  .hero-photo figcaption{
    left:12px;
    bottom:12px;
    max-width:calc(100% - 24px);
    font-size:.68rem;
    padding:.42rem .55rem;
  }
  #pricing > .section-header,
  #faq > .section-header,
  .policy-page > .section-header{
    border-radius:22px;
    padding:1.8rem 1.1rem;
  }
}

/* Featured gallery photo: its own natural-height block outside the mosaic. */
.gallery-featured-wrap{max-width:var(--max);margin:0 auto 24px;}
.gallery-featured-wrap .gallery-tile.gallery-featured{
  display:block;position:relative;width:100%;height:auto;min-width:0;
  padding:0;border:0;border-radius:26px;overflow:hidden;
  background:var(--cream);box-shadow:var(--shadow-soft);
}
.gallery-featured-wrap .gallery-featured img{
  display:block;width:100%;height:auto;max-height:none;
  object-fit:contain;object-position:center;transform:none;
}
.gallery-featured-wrap .gallery-featured:hover img{transform:none;}
.gallery-mosaic{min-width:0;}
.gallery-mosaic .gallery-tile{min-width:0;min-height:0;position:relative;}
.gallery-mosaic .gallery-tile img{display:block;min-width:0;min-height:0;}
@media(max-width:680px){
  .gallery-featured-wrap{margin-bottom:16px;}
  .gallery-featured-wrap .gallery-tile.gallery-featured{border-radius:20px;}
}
/* Draw the pricing hearts in CSS: no platform-dependent emoji colors. */
.pricing-card li{padding-left:1.35rem;position:relative;}
.pricing-card li::before{
  content:"";position:absolute;left:0;top:.83rem;
  width:.85rem;height:.85rem;margin:0;background:var(--gold);
  border-radius:0;transform:none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21 3.5 12.5C-3 6 5-2 12 5c7-7 15 1 8.5 7.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21 3.5 12.5C-3 6 5-2 12 5c7-7 15 1 8.5 7.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pricing-card li::after{content:none;}
.pricing-card .fa-heart,.pricing-card .heart,.pricing-card .heart-icon{
  color:var(--gold)!important;
}
.pricing-card svg.fa-heart{fill:currentColor;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .gallery-tile img{transition:none;}
}
/* ===== Detailed party booking and received pages ===== */
.party-booking-section{max-width:1000px;margin:auto;padding-top:2.5rem;}
.party-booking-intro{padding:1.5rem 1.8rem;background:var(--gold-light);border:1px solid var(--gold);border-radius:22px;margin-bottom:1.5rem;color:var(--brown-dark);}
.party-booking-intro strong{font-family:'Fredoka','Nunito',sans-serif;font-size:1.35rem;}
.party-booking-intro p{margin:.5rem 0 0;}
.party-booking-form{padding:2.2rem;min-width:0;}
.party-fieldset{border:0;border-bottom:1px solid var(--border);padding:0 0 2rem;margin:0 0 2rem;min-width:0;}
.party-fieldset legend{font-family:'Fredoka','Nunito',sans-serif;font-size:1.55rem;color:var(--brown-dark);font-weight:500;margin-bottom:.7rem;width:100%;}
.party-fieldset legend>span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold-light);font-size:.9rem;margin-right:.5rem;}
.party-section-note{color:var(--muted);font-size:.94rem;margin:0 0 1rem;}
.party-booking-form .full-width{grid-column:1/-1;}
.party-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.party-package{display:flex;align-items:flex-start;gap:12px;padding:1.2rem;background:var(--cream);border:2px solid var(--border);border-radius:18px;cursor:pointer;}
.party-package:has(input:checked){border-color:var(--brown);background:#fff1ce;}
.party-package input,.party-check input{accent-color:var(--brown);width:20px;height:20px;flex:0 0 20px;margin-top:4px;}
.party-package strong,.party-package b,.party-package small{display:block;}
.party-package strong{font-family:'Fredoka','Nunito',sans-serif;font-size:1.1rem;color:var(--brown-dark);}
.party-package b{color:var(--brown);margin:.25rem 0;}
.party-package small{color:var(--muted);font-size:.86rem;line-height:1.55;}
.party-plush-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.party-check{display:flex;align-items:flex-start;gap:12px;padding:.8rem;border:1px solid var(--border);border-radius:12px;background:var(--cream);cursor:pointer;line-height:1.6;}
.party-check:has(input:checked){border-color:var(--gold);}
.party-estimate,.party-key-terms{background:var(--cream-2);border:1px solid var(--border);border-radius:18px;padding:1.3rem;}
.party-estimate strong{color:var(--brown-dark);}.party-estimate p{font-size:.88rem;margin:.4rem 0 0;color:var(--muted);}
.party-key-terms p{margin:.65rem 0;font-size:.94rem;}.party-key-terms a{font-weight:800;color:var(--brown);}
.party-policy-copy{border:1px solid var(--border);padding:1rem 1.2rem;border-radius:16px;}
.party-policy-copy summary{cursor:pointer;font-weight:800;color:var(--brown-dark);padding:.4rem 0;}
.party-policy-copy h3{font-size:1.1rem;margin:1.5rem 0 .4rem;}.party-policy-copy p{font-size:.92rem;color:var(--muted);margin:.5rem 0;}
.party-agreements{display:grid;gap:12px;}.party-agreements .party-check{padding:1rem;}
.party-submit{text-align:center;}.party-submit .btn{width:100%;}.party-submit .btn:disabled{opacity:.65;cursor:wait;transform:none;}
#form-status{margin-top:1rem;color:var(--brown-dark);font-weight:800;}
.party-booking-form input:focus-visible,.party-booking-form textarea:focus-visible,.party-booking-form select:focus-visible,.party-policy-copy summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.party-received-section{min-height:70vh;background:linear-gradient(135deg,var(--cream),var(--cream-2));}
.party-received-card{max-width:850px;margin:auto;background:white;border:1px solid var(--border);border-radius:30px;box-shadow:var(--shadow);padding:3rem;text-align:center;}
.party-received-heart{font-size:3rem;}.party-received-card h1{font-size:clamp(2.5rem,5vw,3.7rem);margin:.8rem 0 1.2rem;}.party-received-card>p{color:var(--muted);margin:1rem 0;}
.party-next-steps{text-align:left;background:var(--cream);border-radius:20px;padding:1.5rem 1.8rem;margin:1.8rem 0;}
.party-next-steps h2{font-size:1.6rem;margin-bottom:1rem;}.party-next-steps ol{padding-left:1.3rem;}.party-next-steps li{margin:.8rem 0;}
.party-important{font-weight:900;color:var(--brown-dark)!important;}.party-received-card .hero-buttons{justify-content:center;margin-top:1.5rem;}
@media(max-width:680px){.party-booking-form{padding:1.2rem;}.party-packages,.party-plush-options{grid-template-columns:1fr;}.party-fieldset legend{font-size:1.3rem;}.party-received-card{padding:2rem 1.2rem;}.party-next-steps{padding:1.2rem;}.party-booking-intro{padding:1.2rem;}}
/* Stuff At Home — scoped shop styles and shared header cart */
.swl-header-cart{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0;text-decoration:none;color:var(--brown-dark);font-weight:800;border:1px solid var(--border);border-radius:999px;padding:.55rem .75rem;background:var(--cream)}
.swl-header-cart [data-cart-count]{min-width:23px;height:23px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-size:.75rem}
.nav-container{gap:1rem}.nav-links{gap:.9rem}.header-tagline{display:none}
.swl-shop{color:var(--brown-dark)}.swl-shop [hidden]{display:none!important}.swl-shop h1,.swl-shop h2,.swl-shop h3{font-family:'Fredoka',sans-serif;font-weight:600;color:var(--brown-dark)}
.swl-shop h1{font-size:clamp(2.8rem,5vw,4.8rem);letter-spacing:-.035em}.swl-shop h2{font-size:clamp(2rem,3.6vw,3rem)}.swl-shop h3{font-size:1.65rem}.swl-shop p{color:var(--muted)}
.swl-shop-wrap{max-width:1180px;margin-inline:auto;padding-inline:24px}.swl-shop-section{padding-block:56px}.swl-shop-hero{padding:65px 0 48px;background:radial-gradient(circle at 80% 30%,#f7d77488,transparent 46%),linear-gradient(120deg,#fff8ef,#f8eddf)}
.swl-shop-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center}.swl-shop-hero p{font-size:1.12rem;margin:22px 0;max-width:550px}.swl-shop-hero h1 span{color:var(--brown)}
.swl-hero-friends{position:relative;display:flex;align-items:end;min-height:350px;isolation:isolate}.swl-hero-friends:before{content:'';position:absolute;inset:30px 10px 0;border-radius:48% 48% 30% 30%;background:#fffaf3;border:2px dashed #e2cba8;z-index:-1}.swl-hero-friends img{width:54%;height:350px;object-fit:contain}.swl-hero-friends img+img{margin-left:-8%;height:320px;transform:rotate(7deg)}.swl-hero-sticker{position:absolute;right:0;top:-8px;z-index:2;transform:rotate(8deg);background:var(--gold);color:var(--brown-dark);border-radius:50%;width:120px;height:120px;display:grid;place-content:center;text-align:center;font-family:'Fredoka';font-size:1.2rem;line-height:1.15;box-shadow:var(--shadow-soft)}
.swl-kit-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:28px;border-bottom:1px solid var(--border)}.swl-kit-strip>div{display:grid;grid-template-columns:32px 1fr;column-gap:8px;align-content:start}.swl-kit-strip i{grid-row:span 2;color:var(--gold);font-size:1.45rem;margin-top:4px}.swl-kit-strip span{font-size:.84rem;color:var(--muted)}
.swl-section-heading{text-align:center;max-width:760px;margin:0 auto 32px}.swl-section-heading p{margin-top:15px}.swl-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.swl-product{border:1px solid var(--border);border-radius:25px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.swl-product-photo{background:linear-gradient(160deg,#fff6dd,#f6e9d8);padding:18px;position:relative;height:275px}.swl-product-photo>span{display:block;font-family:'Fredoka';font-size:.9rem;text-align:center;color:var(--brown)}.swl-product-photo img{height:225px;width:100%;object-fit:contain;transition:transform .25s}.swl-product:hover .swl-product-photo img{transform:translateY(-4px) rotate(-2deg)}.swl-product-info{padding:20px;display:flex;flex-direction:column;flex:1}.swl-product-info>p{font-size:.9rem;margin:10px 0}.swl-product-info form{margin-top:auto}.swl-product-price{font-family:'Fredoka';font-size:1.5rem!important;font-weight:600;color:var(--brown-dark)!important}.swl-product-price small{font-family:'Nunito';font-size:.8rem;font-weight:600}
.swl-option{display:flex;gap:8px;align-items:center;font-size:.85rem;padding:8px 0}.swl-option strong{white-space:nowrap;margin-left:auto}.swl-shop input[type=checkbox]{width:18px;height:18px;accent-color:var(--brown);flex-shrink:0}.swl-shop input:not([type=checkbox]),.swl-shop select{width:100%;border:1px solid #cdb396;border-radius:12px;background:#fff;color:var(--brown-dark);padding:11px;min-height:44px}.swl-shop label:not(.swl-option):not(.swl-agree){display:block;font-size:.88rem;font-weight:800}.swl-name-field{margin:6px 0 12px}.swl-shop input:focus-visible,.swl-shop select:focus-visible,.swl-shop button:focus-visible,.swl-shop a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.swl-add-row{display:flex;gap:10px;align-items:end;margin-top:12px}.swl-add-row label{width:56px;flex-shrink:0}.swl-add-row .btn{flex:1;padding:.6rem;font-size:.88rem;min-height:44px}.swl-product-message{font-size:.85rem;min-height:1.5em;font-weight:800;margin-top:8px}.swl-fine{font-size:.86rem!important;line-height:1.6}.swl-centered{text-align:center;margin-top:18px}
.swl-birthday-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;background:#f7ecd9;border:1px solid var(--border);border-radius:32px;padding:40px}.swl-birthday-card>div>p{margin-top:18px}.swl-box-price{font-family:'Fredoka';font-size:3rem;color:var(--brown-dark)!important;font-weight:600}.swl-box-price small{font-size:1.1rem}.swl-box-friends{display:flex;margin-top:35px;align-items:end}.swl-box-friends img{width:27%;height:150px;object-fit:contain}.swl-box-friends img+img{margin-left:-3%}#birthday-builder{background:#fff;border-radius:23px;padding:25px}#birthday-builder>p{font-size:.9rem;margin:12px 0 18px}.swl-child{border:1px solid var(--border);padding:12px;border-radius:14px;margin:12px 0}.swl-child legend{font-family:'Fredoka';font-weight:600;padding:0 5px}.swl-child .swl-option{display:inline-flex;margin-right:8px}.swl-builder-total{display:flex;justify-content:space-between;padding:20px 0;font-family:'Fredoka';font-size:1.5rem}#birthday-builder>.btn{width:100%}
.swl-unboxing{text-align:center;border:2px dashed #dfc9ac;border-radius:30px;padding:50px 25px;background:#fffaf3}.swl-unboxing-icon{display:block;font-size:3.5rem;color:var(--brown);margin-bottom:12px}.swl-unboxing p{max-width:550px;margin:18px auto}.swl-coming-tag{display:inline-block;background:var(--gold-light);padding:8px 18px;border-radius:99px;font-weight:800;font-size:.88rem}.swl-shop-faq{max-width:850px}.swl-shop details{border-bottom:1px solid var(--border);padding:18px 0}.swl-shop summary{cursor:pointer;font-weight:800}.swl-shop details p{margin-top:12px}.swl-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:1100;background:var(--brown-dark);color:#fff;padding:15px 25px;border-radius:18px;box-shadow:var(--shadow);width:max-content;max-width:90vw}
.swl-cart-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:30px;margin-top:30px;align-items:start}.swl-cart-line{display:grid;grid-template-columns:95px 1fr auto;gap:20px;padding:24px 0;border-bottom:1px solid var(--border)}.swl-cart-line img{width:95px;height:120px;object-fit:contain;background:#f7ecd9;border-radius:16px;padding:8px}.swl-cart-line h2{font-size:1.3rem}.swl-cart-line p{font-size:.9rem}.swl-line-details{white-space:pre-line}.swl-quantity{display:flex;align-items:center;gap:12px;margin-top:10px}.swl-quantity button{border:1px solid var(--border);background:#fff;width:34px;height:34px;border-radius:50%;color:var(--brown-dark);cursor:pointer}.swl-quantity .swl-remove{width:auto;border:0;border-radius:0;background:none;text-decoration:underline;font-size:.85rem}.swl-order-summary{background:#fff;border:1px solid var(--border);border-radius:24px;padding:26px;position:sticky;top:105px}.swl-order-summary h2{font-size:1.6rem;margin-bottom:22px}.swl-summary-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--border)}.swl-order-summary .btn{width:100%;margin:20px 0}.swl-order-summary .swl-fine{margin:12px 0}.swl-text-link{display:block;margin:15px 0;font-weight:800;color:var(--brown)}.swl-empty{text-align:center;padding:35px 20px}.swl-empty i{font-size:3rem;color:var(--gold)}.swl-empty h2{margin:15px 0}.swl-empty .btn{margin-top:20px}
.swl-checkout-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;margin-bottom:22px}.swl-checkout-card h2{font-size:1.6rem;margin-bottom:20px}.swl-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.swl-field-wide{grid-column:1/-1}.swl-field-grid input,.swl-field-grid select{margin-top:5px}.swl-checkout-card>.swl-fine{margin:18px 0}.swl-notice{background:#fff0c5;border:1px solid #dfbf70;border-radius:14px;padding:15px 20px;margin-top:20px;color:var(--brown-dark)}.swl-shipping-option{display:flex;gap:12px;align-items:start;padding:14px;border:1px solid var(--border);border-radius:14px;margin-bottom:10px;cursor:pointer}.swl-shipping-option input{width:18px!important;min-height:18px!important;accent-color:var(--brown);margin-top:5px}.swl-shipping-option span{flex:1}.swl-shipping-option small{display:block;color:var(--muted)}.swl-agree{display:flex;gap:12px;margin:18px 0;font-size:.9rem}.swl-agree input{margin-top:5px}.swl-grand-total{font-family:'Fredoka';font-size:1.4rem}.swl-status{font-weight:800;min-height:1.7em}.swl-shop button:disabled{opacity:.55;cursor:not-allowed;transform:none}.swl-checkout-mini{padding:12px 0;border-bottom:1px solid var(--border);font-size:.9rem}.swl-checkout-mini small{display:block;color:var(--muted)}.swl-receipt{max-width:800px;margin:auto;text-align:center;background:#fff;border:1px solid var(--border);border-radius:30px;padding:40px}.swl-receipt-heart{font-size:3rem}.swl-receipt p{margin:20px 0}.swl-receipt .hero-buttons{justify-content:center}.swl-receipt-line{text-align:left;padding:15px 0;border-bottom:1px solid var(--border)}
@media(max-width:1100px){.nav-links{gap:.6rem}.nav-links a,.dropdown-toggle{font-size:.84rem}.swl-product-grid{grid-template-columns:repeat(2,1fr)}.swl-product-photo{height:310px}.swl-product-photo img{height:255px}}
@media(max-width:980px){.swl-header-cart{margin-left:auto}.logo{margin-right:0}.swl-birthday-card{gap:25px;padding:28px}.swl-kit-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.swl-shop-wrap{padding-inline:18px}.swl-shop-section{padding-block:35px}.swl-shop-hero{padding-top:35px}.swl-shop-hero-grid,.swl-birthday-card,.swl-cart-layout{grid-template-columns:1fr}.swl-shop-hero-grid{gap:20px}.swl-hero-friends{min-height:290px;max-width:420px;width:100%;margin:auto}.swl-hero-friends img{height:290px}.swl-hero-friends img+img{height:270px}.swl-hero-sticker{width:100px;height:100px;font-size:1rem}.swl-order-summary{position:static}.swl-birthday-card{padding:23px}.swl-cart-line{grid-template-columns:65px 1fr;gap:14px}.swl-cart-line img{width:65px;height:90px}.swl-cart-line>strong{grid-column:2}.swl-header-cart .swl-cart-label{display:none}.swl-checkout-card{padding:20px}.swl-receipt{padding:25px}.swl-unboxing{padding:35px 20px}}
@media(max-width:450px){.swl-product-grid{grid-template-columns:1fr}.swl-product-photo{height:320px}.swl-product-photo img{height:265px}.swl-field-grid{grid-template-columns:1fr}.swl-field-wide{grid-column:auto}.swl-kit-strip{gap:20px 10px}.swl-kit-strip strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.swl-shop *{scroll-behavior:auto;transition:none!important}.swl-product:hover .swl-product-photo img{transform:none}}
