:root{--blush:#e8c2cd;--rose:#ae5062;--burg:#650214;--mauve:#685860;--grey:#909090;--pink:#e8c2cd;--pink-d:#650214;--mint:#f2e7d3;--lav:#f2e7d3;--butter:#f2e7d3;--cream:#fbf1f4;--ink:#685860;--brown:#650214;--r:4px}
*{box-sizing:border-box}
body{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.1rem;color:var(--ink);background:var(--cream);line-height:1.6;
 background-color:var(--blush)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--burg)}
h2{font-size:clamp(1.8rem,4vw,2.4rem);text-align:center;margin:0 0 1rem;color:var(--pink-d)}
h2{font-family:Allura,cursive;font-weight:400;font-size:clamp(2.8rem,7vw,4.2rem)!important}h3{text-transform:uppercase;letter-spacing:.2em}
a{color:var(--pink-d)}
:focus-visible{outline:3px solid var(--burg);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:.6rem 1.2rem;background:rgba(232,194,205,.96);border-bottom:2px solid var(--burg);backdrop-filter:blur(6px)}
.brand{font-size:1.35rem;font-weight:600;text-decoration:none;color:var(--ink)}
.nav nav{display:flex;gap:1rem;align-items:center}
.nav nav a{text-decoration:none;font-weight:700;color:var(--ink)}
.menu-btn{display:none;font:inherit;background:var(--lav);border:0;border-radius:999px;padding:.4rem 1rem;cursor:pointer}
main section{max-width:1000px;margin:2.5rem auto;padding:2.5rem 1.4rem}
.card-section{background:#fff;border-radius:var(--r);border-left:4px solid var(--burg);border-right:4px solid var(--burg);background:#f2e7d3}
.hero{position:relative;text-align:center;max-width:none!important;margin:0!important;padding:3rem 1.2rem 4rem!important;
 background:radial-gradient(ellipse 45% 70% at 100% 20%,var(--rose) 60%,transparent 61%),radial-gradient(ellipse 30% 50% at -5% 90%,#f2e7d3 60%,transparent 61%),var(--blush);overflow:hidden}
.hero h1{font-size:clamp(2.4rem,8vw,4.5rem);margin:.8rem 0 .2rem;color:var(--burg);font-family:Allura,cursive;font-weight:400;font-size:clamp(3.2rem,10vw,6rem)}
.tag{font-size:clamp(1.1rem,3vw,1.45rem);font-weight:700;margin:.2rem 0}
.sub{margin:.3rem auto 1.6rem;max-width:40rem}
.banner{display:inline-block;background:var(--burg);color:#fff;padding:.55rem 1.1rem;border-radius:999px;font-size:.95rem}
.banner a{color:var(--blush);font-weight:700}
.sprinkles{display:none;position:absolute;inset:0;pointer-events:none;opacity:.6;
 background:radial-gradient(circle at 10% 20%,#fff 0 4px,transparent 5px),radial-gradient(circle at 85% 30%,var(--butter) 0 6px,transparent 7px),radial-gradient(circle at 70% 80%,#fff 0 5px,transparent 6px),radial-gradient(circle at 20% 75%,var(--butter) 0 7px,transparent 8px),radial-gradient(circle at 50% 10%,#fff 0 3px,transparent 4px)}
.hero>*{position:relative}
.cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--pink-d);color:#fff;font-weight:700;text-decoration:none;border:0;border-radius:2px;padding:.85rem 1.6rem;font:500 .95rem Raleway,sans-serif;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;box-shadow:none;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:#fff;color:var(--pink-d);box-shadow:0 4px 0 var(--pink)}
.btn.small{padding:.45rem 1rem;color:#fff!important}
.btn.fb{background:var(--mauve)}
.trust{list-style:none;padding:0;margin:2rem 0 0;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.trust li{background:rgba(255,255,255,.8);padding:.6rem 1.1rem;border-radius:16px}
.trust span{font-size:.85rem}
.about{display:grid;grid-template-columns:240px 1fr;gap:1.75rem;align-items:start}
.avatar{font-size:4.5rem;width:140px;height:140px;display:grid;place-items:center;background:var(--butter);border-radius:50%;border:3px solid var(--burg)}
.ph{background:var(--butter);border:2px dashed #e0b400;border-radius:10px;padding:.15rem .45rem;font-style:italic}
p.ph{padding:.6rem .9rem}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.steps li{background:#fff;border-radius:var(--r);padding:1.2rem;border:3px solid var(--mint)}
.steps h3{margin:.4rem 0}
.num{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--mint);font:600 1.3rem "Cormorant Garamond",serif;color:var(--burg)}
.note{background:var(--lav);padding:1rem 1.2rem;border-radius:16px}
.warn{background:#f2e7d3;border-left:6px solid #e08a00;padding:.8rem 1rem;border-radius:10px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:480px}
caption{font-weight:700;padding:.5rem;color:var(--brown)}
th,td{padding:.75rem;text-align:left;border-bottom:2px dotted var(--pink)}
thead th{background:var(--pink);color:var(--ink)}
tbody tr:nth-child(even){background:#fff6fa}
.small-note{font-size:.9rem;color:#6b4a58}
.legend{display:flex;gap:.6rem;justify-content:center;margin:1rem 0}
.pill{padding:.2rem .8rem;border-radius:999px;font-weight:700;font-size:.85rem}
.open{background:var(--mint);color:#1d5e45}.limited{background:var(--butter);color:#7a5a00}.booked{background:#f3d1d1;color:#8a1c1c}
.weeks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem}
.weeks li{background:#fff;border-radius:16px;padding:1rem;border:3px solid var(--lav);display:flex;flex-direction:column;gap:.3rem}
.weeks li.is-booked{opacity:.7}
form label{display:block;font-weight:700;margin:.6rem 0}
form input:not([type=radio]),form textarea{display:block;width:100%;margin-top:.3rem;padding:.7rem;font:inherit;border:2px solid var(--lav);border-radius:12px;background:var(--cream)}
form input:focus,form textarea:focus{border-color:var(--pink-d);outline:none;box-shadow:0 0 0 3px var(--pink)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
fieldset{border:2px dashed var(--pink);border-radius:14px;margin:.8rem 0;padding:.6rem 1rem}
legend{font-weight:700;padding:0 .4rem}
.radio{display:inline-flex!important;gap:.4rem;margin-right:1.2rem!important;font-weight:400!important}
.form-msg{font-weight:700}.form-msg.err{color:#b00020}.form-msg.ok{color:#1d6e4c}
details{background:#fff;border-radius:16px;margin:.7rem 0;padding:1rem 1.2rem;border:3px solid var(--pink)}
summary{font-weight:700;cursor:pointer}
.contact{text-align:center}
.contact-list{list-style:none;padding:0;font-size:1.1rem}
footer{text-align:center;padding:2rem 1rem;background:var(--pink);margin-top:3rem}
@media (max-width:760px){
 .menu-btn{display:block}
 .nav nav{display:none;width:100%;flex-direction:column;padding:.8rem 0;gap:.7rem}
 .nav nav.open{display:flex}
 .about{grid-template-columns:1fr;justify-items:center}
 .grid{grid-template-columns:1fr}
 main section{margin:1.5rem .7rem;padding:1.8rem 1rem}
}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wordmark{display:inline-flex;align-items:flex-end;gap:.15em;text-decoration:none;color:var(--mauve);margin:0;line-height:1}
.wm-sans{font:300 1.05rem Raleway,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.wm-sans:first-letter{font-size:1.35em}
.wm-script{font:2.1rem Sacramento,cursive;margin-bottom:-.12em}
.wordmark.big .wm-sans{font-size:clamp(1.3rem,3.5vw,2rem)}.wordmark.big .wm-script{font-size:clamp(3rem,8vw,5rem)}
.tag,.sub,.small-note{color:var(--mauve)}.small-note{color:var(--grey)}
.tag{font-family:Raleway,sans-serif;font-weight:300;letter-spacing:.1em;text-transform:uppercase;font-size:1rem!important}
.pricing{text-align:center}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tier h3{font-size:1.6rem;letter-spacing:.2em;margin:0 0 .4rem}
.tier ul{list-style:none;padding:0;margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mauve);line-height:1.3;min-height:6.5em}
.tier .price{border-left:3px solid var(--burg);border-right:3px solid var(--burg);padding:1.2rem .5rem;margin:0;font-size:1.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--burg)}
.center{text-align:center}
th,td{border-bottom:1px solid var(--rose)}
@media (max-width:760px){.tiers{grid-template-columns:1fr}.tier ul{min-height:0}.wordmark .wm-script{font-size:1.6rem}}

/* Logo */
.brand{display:flex;align-items:center}
.nav-wordmark{display:block;height:58px;width:auto}
.hero-rose{display:block;width:min(170px,34vw);height:auto;margin:1.2rem auto 0}
.hero-wordmark{display:block;margin:-.4rem auto 0}
.hero-wordmark img{display:block;width:min(560px,88vw);height:auto;margin:0 auto}
.hero h1{margin-top:.6rem;font-size:clamp(2.4rem,7vw,3.8rem)}
.avatar img{width:100%;height:100%;object-fit:contain;padding:12%;box-sizing:border-box}
footer{background:var(--burg,#650214);color:#fff}
footer p{color:#f6e6ea}
.footer-wordmark{display:block;width:min(260px,70vw);height:auto;margin:0 auto .6rem}
@media (max-width:760px){.nav-wordmark{height:44px}}

.hero .banner{margin-bottom:2.5rem !important;}
.hero h1.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero .tag{margin-top:1.75rem!important}

/* Multi-page */
main section>h1:not(.sr-only){font-family:Allura,cursive;font-weight:400;font-size:clamp(2.8rem,7vw,4.2rem);text-align:center;margin:0 0 1rem;color:var(--pink-d);line-height:1.2}
.nav nav a[aria-current="page"]:not(.btn){color:var(--burg);border-bottom:2px solid var(--burg)}
.nav nav a.btn[aria-current="page"]{background:var(--mauve)}
main section{margin:1.5rem auto}
footer{margin-top:1.5rem}
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}

/* Placeholder photo slots */
figure{margin:0}
.ph-photo{display:block;width:100%;height:auto;border-radius:var(--r);background:#F2DDE3}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:2.5rem;align-items:center;max-width:1080px;margin:0 auto}
.hero-photo .ph-photo{max-width:380px;margin:0 auto;box-shadow:0 10px 30px rgba(101,2,20,.15)}
.hero .banner{margin-bottom:1.2rem!important}
.hero .tag{margin-top:1rem!important}
.hero .trust{margin-top:1.4rem}
.tier-photos{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.7rem}
.page-pricing section{margin:.8rem auto;padding:1.2rem 1.4rem}
.page-pricing h1{margin-bottom:.4rem!important}
.page-pricing .tier ul{margin-bottom:.7rem;min-height:5.4em;font-size:.95rem}
.page-pricing .tier .price{padding:.6rem .5rem;font-size:1.35rem}
.page-pricing .small-note{margin:.6rem 0}
.order-intro{display:grid;grid-template-columns:180px 1fr;gap:1.2rem;align-items:center;margin-bottom:.8rem}
.order-intro p{margin:0}
.about{grid-template-columns:260px 1fr}
.about-photo{width:260px}
.about-photo .ph-photo{aspect-ratio:3/4;width:100%;height:auto;object-fit:cover}
@media (max-width:760px){
 .hero-grid{grid-template-columns:1fr;gap:1.4rem}
 .hero-photo .ph-photo{max-width:300px}
 .hero{padding:1.6rem 1rem 2.4rem!important}
 .about{grid-template-columns:1fr}
 .about-photo{width:200px;max-width:100%}
 .order-intro{grid-template-columns:110px 1fr}
 .page-pricing .tier ul{min-height:0}
}
.page-pricing .tier{display:flex;flex-direction:column}.page-pricing .tier ul{flex:1}
@media (max-width:760px){.hero-photo .ph-photo{max-width:240px}.page-pricing .tiers{gap:1rem}}
.hero-grid{display:block!important;max-width:760px}
.hero-photo{margin:1.2rem auto}
.hero-photo .ph-photo{max-width:300px!important;display:block}
@media (max-width:760px){}

.booked-ribbon{display:block;width:100%;box-sizing:border-box;background:var(--burg);color:#fff;text-align:center;padding:.55rem 1rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.05rem;font-style:italic;letter-spacing:.02em;border:none;margin:0}

.reviews-ribbon{background:var(--dusty,#ae5062);color:var(--burg);padding:1.6rem 1.2rem 1.8rem;margin:0;border-top:2px solid var(--burg);border-bottom:2px solid var(--burg)}
.reviews-title{font-family:Allura,cursive;font-weight:400;font-size:clamp(2rem,5vw,2.8rem);text-align:center;margin:0 0 1rem;color:var(--burg)}
.reviews-track{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1080px;margin:0 auto}
.review{background:rgba(255,255,255,.85);border:2px solid var(--burg);margin:0;padding:1rem 1.1rem;text-align:left}
.review p{margin:0 0 .7rem;color:var(--mauve,#685860);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.05rem;line-height:1.45}
.review cite{font-style:normal;font-family:Raleway,sans-serif;font-size:.85rem;color:var(--burg);font-weight:600}
@media (max-width:760px){.reviews-track{grid-template-columns:1fr}}

/* About page sign-off */
.about-signoff{margin:1.4rem 0 0;color:var(--burg)}
.about-signature{display:inline-block;margin-top:.1em;font-family:Sacramento,cursive;font-size:clamp(2.2rem,5vw,2.8rem);line-height:1.1;color:var(--burg)}

/* Pricing tier click-through galleries */
.tier-gallery{margin-top:.9rem}
.gallery-frame{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:var(--r);background:#F2DDE3;box-shadow:0 8px 22px rgba(101,2,20,.14)}
.gallery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
.gallery-slide.is-active{opacity:1}
.gallery-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;border-radius:50%;background:rgba(255,255,255,.88);color:var(--burg);font-size:1.8rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(101,2,20,.2);display:grid;place-items:center;padding:0 0 4px}
.gallery-btn:hover,.gallery-btn:focus-visible{background:#fff}
.gallery-btn.prev{left:10px}.gallery-btn.next{right:10px}
.gallery-dots{display:flex;justify-content:center;gap:.45rem;margin-top:.6rem}
.gallery-dots button{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--burg);background:transparent;padding:0;cursor:pointer}
.gallery-dots button[aria-selected="true"]{background:var(--burg)}
@media (prefers-reduced-motion:reduce){.gallery-slide{transition:none}}

.hero-photo .ph-photo{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r)}

.order-intro{display:block!important;text-align:center}

.pricing-cta{text-align:center;margin:1.2rem 0 1rem}
.page-pricing .note{max-width:900px;margin:0 auto}

.page-pricing .note+.note{margin-top:.8rem}

/* Pricing page: wider layout + price-guide style blotches */
body.page-pricing-body, .page-pricing{position:relative}
main.page-pricing{background:url(images/decor/pricing-blobs.svg) center/100% 100% no-repeat}
.page-pricing section{max-width:1240px!important;padding:1.4rem 2rem 2rem!important}
.page-pricing .tiers{gap:2.4rem}
.page-pricing .tier h3{font-size:2rem}
.page-pricing .tier ul{font-size:1.08rem;line-height:1.4;color:#5a4a52}
.page-pricing .tier .price{font-size:1.6rem;padding:.9rem .5rem}
.page-pricing .note{max-width:1100px}
@media (max-width:760px){main.page-pricing{background-size:220% 100%}.page-pricing section{padding:1rem .8rem!important}}

/* Canva palette softening: crimson used as tinted accent */
.hero{background:radial-gradient(ellipse 45% 70% at 100% 20%,rgba(174,80,98,.5) 60%,transparent 61%),radial-gradient(ellipse 30% 50% at -5% 90%,#f2e7d3 60%,transparent 61%),var(--blush)!important}
.reviews-ribbon{background:linear-gradient(rgba(174,80,98,.42),rgba(174,80,98,.42)),var(--blush)!important}

/* Price-guide blotches on inner pages */
main.page-about,main.page-how-it-works,main.page-order{background:url(images/decor/pricing-blobs.svg) center/100% 100% no-repeat}
main.page-faq{background:url(images/decor/pricing-blobs.svg) top center/100% 1100px no-repeat,url(images/decor/pricing-blobs.svg) bottom center/100% 1100px no-repeat}
main.page-faq{transform:none}
@media (max-width:760px){main.page-about,main.page-how-it-works,main.page-order{background-size:220% 100%}main.page-faq{background-size:220% 900px,220% 900px}}

/* Varied blotch layouts per page + wider layouts */
.hero{background:url(images/decor/blobs-home.svg) center/100% 100% no-repeat,var(--blush)!important}
main.page-about{background-image:url(images/decor/blobs-mirror.svg)}
main.page-how-it-works{background-image:url(images/decor/blobs-flip.svg)}
main.page-order{background-image:url(images/decor/blobs-both.svg)}
main.page-faq{background-image:url(images/decor/blobs-mirror.svg),url(images/decor/blobs-flip.svg)}
.page-how-it-works section,.page-order section,.page-faq section{max-width:1240px!important}
.page-how-it-works .steps{gap:1.6rem}
.page-how-it-works .steps li{padding:1.5rem}
.page-how-it-works .steps p{font-size:1.08rem}
.page-index .reviews-track{max-width:1240px;gap:1.6rem}
.page-index .hero-grid{max-width:900px!important}

.reviews-ribbon .reviews-track{max-width:1240px;gap:1.6rem}
.reviews-ribbon .review p{font-size:1.12rem}

.about-contact{margin:2.2rem auto 0;padding:1.6rem 1rem 0;border-top:1px solid #e8c2cd;text-align:center}
.about-contact h2{margin:0 0 .6rem}
.about-contact-lines{font-size:1.1rem;margin:0 0 1rem}
.about-contact-lines a{color:#650214;text-decoration:none;font-weight:600}
.about-social{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin:0}
.social-link{display:inline-block;padding:.55rem 1.3rem;border:2px solid #650214;color:#650214;text-decoration:none;font-family:Raleway,sans-serif;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;background:#fff}
.social-link:hover{background:#650214;color:#fff}

/* ==========================================================================
   Home hero: full peony logo layout (chosen Oct 2026, "Home E flipped")
   Desktop: photo on the LEFT; full logo + tagline, service line, buttons,
   badges on the RIGHT. Mobile (<=760px): logo, then photo, then text.
   Replaces the old script-wordmark hero (.hero-grid/.hero-wordmark).
   ========================================================================== */
.hero-split{display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:1fr auto auto 1fr;grid-template-areas:"photo ." "photo logo" "photo copy" "photo .";column-gap:3rem;align-items:center;max-width:1240px;margin:0 auto;padding:0 1.5rem}
.hero-split .hero-logo{grid-area:logo;display:block}
.hero-split .hero-logo img{display:block;width:380px;max-width:86vw;height:auto;margin:0 auto}
.hero-split .hero-photo{grid-area:photo;margin:0}
.hero-split .hero-photo .ph-photo{width:100%;max-width:440px!important;margin:0 auto;box-shadow:0 12px 34px rgba(101,2,20,.18)}
.hero-split .hero-copy{grid-area:copy;text-align:center}
.hero .hero-split .tag{margin-top:1rem!important}
.hero-split .tag,.hero-split .sub{text-wrap:balance}
.hero-split .sub{margin-bottom:1.4rem}
.hero-split .trust{margin-top:1.4rem;gap:.6rem;flex-wrap:nowrap}
.hero-split .trust li{padding:.55rem .95rem;white-space:nowrap}
@media (max-width:760px){
 .hero-split{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"logo" "photo" "copy";row-gap:1.4rem;padding:0}
 .hero-split .hero-logo img{width:min(300px,78vw)}
 .hero-split .hero-photo .ph-photo{max-width:260px!important}
 .hero .hero-split .tag{margin-top:0!important}
 .hero-split .trust{flex-wrap:wrap}
 .hero-split .trust li{white-space:normal}
}

/* ==========================================================================
   About page: full peony logo overlapping the bottom of Danielle's photo
   (chosen Oct 2026, "About E" without the cream backing card).
   The transparent logo sits at the photo's bottom-right corner; only the top
   of the gold arch overlaps the photo, so the thin logo text stays on the
   cream card. Card stays 1000px max.
   ========================================================================== */
.page-about .about{grid-template-columns:280px 1fr}
.page-about .about-photo{position:relative;width:280px;margin-bottom:222px}
.about-logo{position:absolute;right:-8px;bottom:-216px;display:block;width:200px;pointer-events:none}
.about-logo img{display:block;width:200px;height:auto}
@media (max-width:760px){
 .page-about .about{grid-template-columns:1fr}
 .page-about .about-photo{width:240px;max-width:100%;margin:0 auto 236px}
 .about-logo{right:50%;bottom:-226px;transform:translateX(50%)}
}

/* Home hero quote */
.hero .hero-quote{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.3rem;color:#650214;line-height:1.4;margin-top:.6rem}

/* Home hero mobile: photo first, then logo, then text */
@media (max-width:760px){.hero-split{grid-template-areas:"photo" "logo" "copy"}.hero-split .hero-logo img{width:min(260px,70vw)}}
@media (max-width:760px){.reviews-ribbon h2{line-height:1.15}}
