:root{--ink:#30213b;--plum:#563664;--paper:#fffafb;--pink:#f7e5ef;--lavender:#e7ddf0;--line:#d9cbdc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ba4b91;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}em{font-weight:400;color:#855080}h1{font-size:clamp(3rem,5vw,5.8rem);line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(2.7rem,4vw,4.6rem);line-height:1.1;letter-spacing:-.035em}h3{font-size:1.75rem;line-height:1.2}.topline{text-align:center;background:var(--plum);color:white;padding:9px 20px;font-size:.75rem;letter-spacing:.17em}header{max-width:1440px;margin:auto;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{width:220px;flex-shrink:0}.brand img{mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:35px;font-size:.875rem}nav a:hover,.textlink:hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{border:1px solid var(--plum);border-radius:30px;padding:10px 23px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:55px 5% 70px;align-items:center}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:bold;margin-bottom:24px}.intro{max-width:455px;margin-top:28px;font-size:1.0625rem;color:#65546d}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--plum);color:white;padding:15px 26px;border:1px solid var(--plum);border-radius:4px;font-size:.875rem;transition:background .2s}.button:hover{background:#754b87}.textlink{font-size:.875rem;border-bottom:1px solid #9a7ca5;padding-bottom:5px}.hero-note{font-size:.75rem;color:#73607a;margin-top:45px}.hero-image{position:relative}.hero-image>img{aspect-ratio:1/1.07;width:100%;object-fit:cover;border-radius:47% 47% 3px 3px}.image-caption{background:var(--pink);padding:17px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px}.image-caption span:first-child{font-size:.65rem;letter-spacing:.13em}.image-caption span:last-child{font-family:Georgia,serif;font-style:italic;font-size:1.2rem}.ribbon{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:35px;padding:20px;background:var(--lavender);font-size:.875rem}.section{padding:90px max(5%,calc((100vw - 1296px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-heading>p{max-width:370px;color:#65546d}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px}.gallery .offset{padding-top:75px}.card-heading{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.card-heading span{font-size:.75rem;color:#8c6b95}.gallery p{color:#65546d;margin-top:9px}.custom-note{border-top:1px solid var(--line);margin-top:55px;padding-top:35px;display:grid;grid-template-columns:.8fr 1.3fr 1fr;gap:35px;align-items:center}.custom-note>p{color:#65546d;font-size:.9375rem}.custom-note>a{justify-self:end}.party{background:var(--plum);color:#fff5fc;display:grid;grid-template-columns:1fr 1fr;gap:12%}.party em{color:#e5b6d8}.party-intro>p:not(.eyebrow){margin-top:25px;max-width:460px;color:#eddfef}.party .button{margin-top:32px}.button.light{background:#f5ddeb;color:#402449;border-color:#f5ddeb}.button.light:hover{background:white}.steps>div{display:flex;gap:24px;border-bottom:1px solid #886990;padding:26px 0}.steps>div:first-child{padding-top:0}.steps>div>span{font-family:Georgia,serif;color:#ddb5d4;font-size:1.25rem}.steps h3{font-size:1.55rem}.steps p{color:#eddfef;margin-top:9px;font-size:.9375rem}.steps .party-detail{font-size:.875rem;margin-top:24px}.contact{text-align:center;background:linear-gradient(120deg,#f7e5ef,#eee7f5)}.contact>p:not(.eyebrow){margin-top:25px;color:#65546d}.contact .actions{justify-content:center}.button.outline{background:transparent;color:var(--plum)}.button.outline:hover{background:white}.contact-details{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:25px;font-size:.875rem}.contact-details a:hover{text-decoration:underline}footer{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:30px 5%;font-size:.75rem;color:#65546d}footer>p{font-family:Georgia,serif;font-size:1.4rem;color:var(--ink)}.skip{position:absolute;top:-100px;background:white;z-index:10;padding:10px}.skip:focus{top:0}@media(min-width:1600px){.hero{gap:80px}}@media(max-width:900px){nav{gap:18px}.brand{width:175px}.hero{gap:25px}.hero .actions{gap:17px}.hero-note{margin-top:25px}.custom-note{grid-template-columns:1fr 2fr}.custom-note>a{grid-column:2;justify-self:start}.party{gap:7%}footer{flex-wrap:wrap}.ribbon{gap:19px}}@media(max-width:650px){.topline{font-size:.625rem;letter-spacing:.08em}header{flex-direction:column;gap:4px;padding:9px 5% 18px}.brand{width:190px}nav{gap:18px;flex-wrap:wrap;justify-content:center;font-size:.8125rem}.nav-contact{padding:5px 12px}.hero{grid-template-columns:1fr;padding-top:35px;gap:35px;padding-bottom:35px}h1{font-size:3.4rem}.hero-image{max-width:500px}.hero-image>img{aspect-ratio:1/1}.eyebrow{margin-bottom:18px}.hero-note{margin-top:22px}.ribbon{gap:10px 17px;font-size:.75rem}.ribbon span:nth-child(4){display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px}.gallery{gap:30px;grid-template-columns:1fr}.gallery .offset{padding-top:0}.custom-note{display:block;margin-top:35px}.custom-note p{margin:20px 0}.custom-note a{display:inline-block}.party{grid-template-columns:1fr;gap:45px}.contact-details{gap:8px;flex-direction:column}.contact-details>span{display:none}footer{flex-direction:column;gap:8px;text-align:center}.image-caption span:first-child{font-size:.625rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.refills{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;background:#f4edf7;border-top:1px solid var(--line)}.refill-heading>p:not(.eyebrow){max-width:480px;color:#65546d;margin-top:25px}.refill-heading .button{margin-top:30px}.refill-details article{padding:24px 0;border-bottom:1px solid var(--line)}.refill-details article:first-child{padding-top:0}.refill-details h3{font-size:1.55rem}.refill-details article p{margin-top:10px;color:#65546d}.vessel-note{font-size:.875rem;color:#65546d;margin-top:22px}@media(max-width:900px){nav{gap:15px;flex-wrap:wrap;justify-content:center}.refills{gap:6%}}@media(max-width:650px){.refills{grid-template-columns:1fr;gap:35px}nav{font-size:.8125rem;gap:12px}.refill-heading .button{gap:18px}}

.gifts{background:#fbedf3;border-top:1px solid var(--line)}.gift-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.gift-grid article{border-top:1px solid #bda4bf;padding-top:20px}.gift-number{font-size:.75rem;letter-spacing:.12em;color:#76577d}.gift-grid h3{font-size:1.65rem;margin-top:18px}.gift-grid p{color:#65546d;font-size:.9375rem;margin-top:15px}.gift-inquiry{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}.gift-inquiry p{max-width:630px;color:#65546d}.gift-inquiry .button{flex-shrink:0}header nav{gap:22px}@media(max-width:1050px){header nav{gap:14px;flex-wrap:wrap;justify-content:center}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}@media(max-width:650px){.gift-grid{grid-template-columns:1fr}.gift-inquiry{flex-direction:column;align-items:flex-start;gap:24px}header nav{gap:12px}}

.vessel-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px}.vessel-gallery figure{margin:0}.vessel-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px}.vessel-gallery a,.bottle-photo a{display:block}.bottles{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8%}.bottle-photo img{width:100%;height:auto;border-radius:3px}.bottle-copy>p:not(.eyebrow){margin-top:24px;color:#65546d}.bottle-options{margin:28px 0}.bottle-options article{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.bottle-options h3{font-size:1.55rem}.bottle-options p{margin-top:10px;color:#65546d}.bottle-copy .bottle-note{font-size:.875rem}header nav{flex-wrap:wrap;justify-content:flex-end;gap:13px 20px}@media(max-width:900px){.vessel-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.bottles{gap:5%}header nav{font-size:.8125rem}}@media(max-width:650px){.bottles{grid-template-columns:1fr;gap:32px}.vessel-gallery{gap:12px;margin-top:0}.bottle-copy .button{gap:14px}header nav{justify-content:center}}

.gift-opening{align-items:start}.gift-opening>div:first-child{flex:1}.gift-opening-copy{flex:1;color:#65546d}.gift-opening-copy p+p{margin-top:20px}.gift-opening-copy strong{color:var(--ink)}@media(max-width:650px){.gift-opening-copy{margin-top:25px}}

.memorial{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;background:#eee8f4;border-top:1px solid var(--line)}.memorial-copy{color:#65546d}.memorial-copy p+p{margin-top:22px}.memorial-closing{font-family:Georgia,serif;font-style:italic;font-size:1.2rem;color:var(--plum)}.memorial-copy .button{margin-top:30px}@media(max-width:650px){.memorial{grid-template-columns:1fr;gap:28px}.memorial-copy .button{gap:18px}}

.about{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;border-bottom:1px solid var(--line)}.about-story{border-left:1px solid var(--line);padding-left:35px;align-self:center}.about-role{font-size:.875rem;color:#65546d;margin-top:12px}#brand-story{margin-top:28px;color:#65546d}#brand-story p+p{margin-top:20px}@media(max-width:650px){.about{grid-template-columns:1fr;gap:30px}.about-story{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}}

.events{background:#fbedf3;border-bottom:1px solid var(--line)}.event-announcement{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:35px;border:1px solid var(--line);background:var(--paper)}.event-announcement p{margin-top:12px;max-width:580px;color:#65546d}.event-announcement .button{flex-shrink:0}@media(max-width:900px){.event-announcement{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.event-announcement{padding:25px}.event-announcement .button{gap:15px}}

.hero h1{font-size:clamp(2.7rem,4.2vw,4.5rem);line-height:1.12}@media(max-width:650px){.hero h1{font-size:clamp(2.4rem,9vw,3.4rem)}}

.hero-story{max-width:560px}.hero-story p+p{margin-top:18px}.hero-story strong{color:var(--ink)}

.candle-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:50px}.candle-categories article{padding:28px;background:var(--pink);border-top:1px solid var(--line)}.candle-categories article:nth-child(2){background:var(--lavender)}.candle-categories p{margin-top:14px;color:#65546d;font-size:.9375rem}@media(max-width:650px){.candle-categories{grid-template-columns:1fr;gap:18px;margin-top:30px}}

.hero-image>img{aspect-ratio:auto;height:auto;object-fit:contain;border-radius:3px}

.category-galleries{border-top:1px solid var(--line)}.category-gallery{border-bottom:1px solid var(--line)}.category-gallery summary{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:25px;padding:27px 20px;cursor:pointer;list-style:none}.category-gallery summary::-webkit-details-marker{display:none}.category-gallery summary:hover{background:var(--pink)}.category-gallery summary:focus-visible{outline:3px solid #ba4b91;outline-offset:3px}.category-title{font-family:Georgia,serif;font-size:1.7rem;line-height:1.25}.category-description{font-size:.9375rem;color:#65546d}.category-open{font-size:.875rem;color:var(--plum);display:flex;gap:20px;align-items:center}.category-open>span{font-size:1.6rem;display:inline-block}.category-gallery[open] summary{background:var(--lavender)}.category-gallery[open] .category-open>span{transform:rotate(45deg)}.category-content{padding:25px 20px 30px}.category-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.category-photos a{display:block;max-width:450px}.category-photos img{width:100%;height:auto;border-radius:3px}.category-photos a:focus-visible{outline:3px solid #ba4b91;outline-offset:4px}.gallery-help{font-size:.875rem;color:#65546d;margin-top:18px}.gallery-empty{color:#65546d;padding:14px 0}@media(max-width:650px){.category-gallery summary{grid-template-columns:1fr auto;gap:10px 15px;padding:22px 12px}.category-title{font-size:1.5rem}.category-description{grid-column:1/-1;grid-row:2}.category-open{gap:12px}.category-content{padding:20px 12px}.category-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(max-width:380px){.category-photos{grid-template-columns:1fr}.category-open{font-size:.8125rem}}

.vessel-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.vessel-gallery img{aspect-ratio:auto;height:auto;object-fit:contain}@media(max-width:650px){.vessel-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

.party-activities{min-width:0}.party-photo{display:block;max-width:420px;margin:0 auto 32px}.party-photo img{width:100%;height:auto;border-radius:4px}

.featured-event{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}.event-flyer{display:block}.event-flyer img{width:100%;height:auto;border-radius:4px}.event-information>p{margin-top:18px}.event-information>.button{margin-top:24px}@media(max-width:700px){.featured-event{grid-template-columns:1fr;gap:28px}}

.ingredient-note{margin-top:28px;max-width:480px;font-size:1rem;color:var(--plum)}
.materials{background:#fbedf3;border-bottom:1px solid var(--line)}.materials-heading{max-width:900px}.materials-heading>p:last-child{max-width:760px;color:#65546d;margin-top:24px;font-size:1.0625rem}.materials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:46px}.materials-grid article{border-top:1px solid #bda4bf;padding-top:22px}.material-number{font-size:.8125rem;letter-spacing:.12em;color:var(--plum);font-weight:bold}.materials-grid h3{margin-top:17px}.materials-grid p{margin-top:15px;color:#65546d}.materials-grid a{text-decoration:underline;text-underline-offset:3px}.materials-grid a:hover{color:var(--plum)}.materials-note{max-width:760px;margin-top:38px;font-size:.9375rem;color:#65546d}@media(max-width:700px){.materials-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}.materials-heading>p:last-child{margin-top:20px}}

.ingredient-note a{text-decoration:underline;text-underline-offset:3px}

#brand-story p{margin-top:1.25rem}#about{grid-template-columns:1fr;gap:32px}#about .about-story{max-width:800px;border-left:0;padding-left:0;align-self:start}

.supplies{background:var(--paper);border-bottom:1px solid var(--line)}.supplies a{text-decoration:underline;text-underline-offset:3px}.supplies a:hover{color:#855080}.supplies-disclosure{margin-top:25px;max-width:850px;padding:20px 24px;background:var(--pink)}.supply-list{max-width:950px;margin-top:40px}.supply-list article{padding:30px 0;border-top:1px solid var(--line)}.supply-list p,.supply-closing p{margin-top:18px;color:#65546d}.wick-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.wick-comparison>div{background:var(--lavender);padding:22px}.wick-comparison h4{margin:0;font-size:1.125rem}.wick-comparison p{margin-top:10px}.supply-closing{max-width:950px;background:var(--pink);padding:30px;margin-top:16px}@media(max-width:650px){.wick-comparison{grid-template-columns:1fr;gap:16px}.supply-closing{padding:24px}}

.section-home{grid-column:1/-1;margin-top:28px;display:flex;justify-content:flex-end}.home-button{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;padding:10px 20px;border:1px solid var(--plum);border-radius:24px;background:var(--paper);color:var(--plum);font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none!important}.home-button:hover{background:var(--lavender)}.floating-home{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:100;box-shadow:0 3px 14px #30213b26}footer{padding-bottom:90px}@media(max-width:650px){.floating-home{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.section-home{margin-top:24px}}

.gallery-introduction{max-width:850px;margin:0 0 28px;color:#65546d;font-size:1rem;line-height:1.75}

/* Custom candle ordering page */
.order-intro{max-width:1200px;margin:auto;padding-top:65px;padding-bottom:40px;text-align:center}.order-intro h1{font-size:clamp(2.7rem,5.5vw,5.2rem)}.order-intro>p:not(.eyebrow){max-width:780px;margin:24px auto 0;color:#65546d}.order-intro .order-lead{font-size:1.2rem}.order-collection{width:100%;height:auto;margin:40px auto 0;border-radius:8px}.order-guide{max-width:900px;margin:auto;padding:0 5% 65px}.order-step{padding:35px 0;border-bottom:1px solid var(--line)}.order-step h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:22px}.order-step p{margin-top:16px;color:#65546d}.order-step ul{padding-left:24px;color:#65546d}.order-step li{margin:12px 0}.order-contact>p{max-width:700px;margin-left:auto;margin-right:auto}.order-contact a:not(.button):not(.home-button){text-decoration:underline;overflow-wrap:anywhere}.order-page nav [aria-current="page"]{font-weight:bold;text-decoration:underline;text-underline-offset:6px}

.hero-image>img.hero-collection{aspect-ratio:auto;object-fit:contain;border-radius:8px 8px 0 0}.custom-candle-photo{width:100%;max-width:620px;height:auto;margin:0 auto 40px;border-radius:8px}.memorial-candle-photo{width:100%;height:auto;margin-top:30px;border-radius:8px}

.vessel-feature-photo{width:100%;max-width:550px;height:auto;border-radius:8px;margin:0 0 30px}.wax-quality{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:45px;padding-top:40px;border-top:1px solid var(--line)}.wax-quality p{margin-top:18px;color:#65546d}.wax-quality-photo{width:100%;height:auto;border-radius:8px}@media(max-width:760px){.wax-quality{grid-template-columns:1fr;gap:25px}}
/* Keep the opening candle photo at the top of the introduction. */
.hero>.hero-image{align-self:start}
@media(max-width:650px){.hero>.hero-image{grid-row:1}}

.custom-intro-title{font-size:1.75rem;line-height:1.25;margin-top:32px;color:var(--ink)}.party-expanded{display:block}.party-expanded>div:not(.section-home){max-width:980px;margin-left:auto;margin-right:auto}.party-expanded p{margin-top:18px;color:#f4eaf5}.party-expanded h3{font-size:clamp(1.6rem,3vw,2.2rem)}.party-welcome h3{margin-top:28px}.party-chapter{border-top:1px solid #947b9f;padding-top:35px;margin-top:40px}.party-expanded li{margin-top:12px}.party-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:25px}.party-theme-grid article{padding:26px;background:#634372;border:1px solid #947b9f;border-radius:8px}.party-theme-grid h4{font-family:Georgia,serif;font-size:1.35rem;margin:0}.party-expanded .party-price{font-size:2rem}.party-booking li{padding-left:8px;margin-top:24px}.party-booking li p{margin-top:8px}.party-booking-photo{width:100%;max-width:420px;margin:40px auto 0;border-radius:8px}.party-booking-contact a:not(.button){text-decoration:underline;overflow-wrap:anywhere}.party-expanded .button{margin-top:0}@media(max-width:650px){.party-theme-grid{grid-template-columns:1fr}.party-theme-grid article{padding:20px}}

.event-list{display:grid;gap:60px}.featured-event+.featured-event{border-top:1px solid var(--line);padding-top:50px}.event-sold-out{display:inline-block;margin-top:24px;padding:14px 28px;border:2px solid var(--plum);border-radius:4px;background:var(--lavender);color:var(--plum);font-weight:bold;letter-spacing:.06em}

/* Mobile banner and title-first introduction; desktop layout preserved. */
.topline-mobile{display:none}
@media(max-width:650px){
.topline{padding:9px 4px;font-size:clamp(8px,2.5vw,12px);letter-spacing:0;white-space:nowrap}
.topline-desktop{display:none}.topline-mobile{display:inline}
.hero>.hero-copy{display:contents}
.hero>.hero-copy>h1{grid-row:1}
.hero>.hero-image{grid-row:2;justify-self:center;width:100%}
.hero>.hero-copy>.intro{grid-row:3;margin-top:0}
.hero>.hero-copy>.actions{grid-row:4;margin-top:0}
.hero>.section-home{grid-row:5}
}

/* Light candle party palette matching the rest of the site. */
.party-expanded{background:var(--paper);color:var(--ink)}
.party-expanded p,.party-expanded li{color:#65546d}
.party-expanded h2,.party-expanded h3,.party-expanded h4,.party-expanded .eyebrow{color:var(--ink)}
.party-expanded em{color:#855080}
.party-expanded .party-chapter{border-color:var(--line)}
.party-expanded .party-theme-grid article{background:#f7e5ef;border-color:var(--line)}
.party-expanded .button.light{background:#f5ddeb;color:#402449;border-color:#d9cbdc}
.party-expanded .button.light:hover{background:#e7ddf0}

/* Custom order pricing and event calendar */
.order-pricing{max-width:960px;margin-inline:auto}.order-pricing p{line-height:1.8;color:#65546d}.order-pricing .actions{flex-wrap:wrap}
.events-calendar{margin:0 0 40px}.events-calendar>summary{cursor:pointer;display:inline-flex;gap:18px;list-style:none}.events-calendar>summary::-webkit-details-marker{display:none}.events-calendar[open]>summary{margin-bottom:24px}.calendar-panel{max-width:680px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.calendar-panel table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:5px;text-align:center}.calendar-panel caption{font-size:1.6rem;font-weight:600;color:var(--ink);padding-bottom:18px}.calendar-panel th{font-size:.8rem;padding-bottom:10px;color:#65546d}.calendar-panel td>span,.calendar-event{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:8px}.calendar-event{background:#704070;color:#fff;text-decoration:none;font-weight:700;gap:5px}.calendar-event span{font-size:7px}.calendar-event:hover{background:#512d59}.calendar-event:focus-visible,.events-calendar summary:focus-visible{outline:3px solid #855080;outline-offset:3px}.calendar-key{font-size:.9rem;line-height:1.5}.calendar-event-list{padding-left:20px;line-height:1.7}.calendar-event-list a{color:#704070}.calendar-event-list strong{display:inline-block;font-size:.8rem;margin-left:5px}.featured-event[id]{scroll-margin-top:30px}.featured-event:target{outline:2px solid #855080;outline-offset:12px}
@media(max-width:650px){.calendar-panel{padding:12px}.calendar-panel table{border-spacing:2px}.calendar-panel td>span,.calendar-event{min-height:40px}.calendar-event-list{font-size:.9rem}}

/* Smaller homepage headline on desktop and mobile */
.hero h1{font-size:clamp(2.2rem,3.4vw,3.6rem)}
@media(max-width:650px){.hero h1{font-size:clamp(2rem,7.2vw,2.7rem)}}

/* Events introduction directly below its heading */
#events>.section-heading{display:block}
#events>.section-heading>p{max-width:780px;margin-top:22px;line-height:1.7}

/* Scale the party tagline to the headline’s available width. */
.hero h1{container-type:inline-size}
.hero h1 .party-headline-line{font-size:min(.884em,6.5cqw);white-space:nowrap;letter-spacing:-.025em;line-height:1.3}

/* Fragrance library: coordinated collections and scent cards. */
.fragrance-page main{max-width:1280px;margin:auto}.fragrance-section{border-bottom:1px solid var(--line);scroll-margin-top:24px}.fragrance-section h1{font-size:clamp(2.6rem,5vw,4.4rem);margin-bottom:24px}.fragrance-section h2{font-size:clamp(2rem,3.2vw,3rem);margin-bottom:24px}.fragrance-section>p{max-width:860px;line-height:1.75;color:#65546d;margin:16px 0}.fragrance-section>.eyebrow{color:var(--ink)}.fragrance-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.fragrance-jump a{border:1px solid var(--line);border-radius:24px;padding:12px 18px;background:#f5ddeb;color:var(--ink);text-decoration:none;font-size:.9rem}.fragrance-jump a:hover{background:#e7ddf0}.scent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}.scent-card{border:1px solid var(--line);border-radius:14px;background:#fcf5fa;padding:26px}.scent-card h3{font-size:1.4rem;line-height:1.3;margin-bottom:12px}.scent-card p{font-size:.98rem;line-height:1.7;color:#65546d}.fragrance-section-links{display:flex;gap:25px;margin-top:28px;font-size:.9rem}.fragrance-section a:not(.button),.fragrance-callout a{color:#704070}.fragrance-next{display:flex;flex-wrap:wrap;gap:16px}.fragrance-callout{margin-top:28px}.fragrance-callout h3{font-size:1.7rem;margin-bottom:14px}.fragrance-callout .textlink{display:inline-block;margin-top:12px}.gift-fragrance-link{margin-top:25px}
@media(max-width:950px){.scent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.scent-grid{grid-template-columns:1fr;gap:14px}.scent-card{padding:22px}.fragrance-jump{gap:8px}.fragrance-jump a{font-size:.85rem;padding:10px 14px}}

.fragrance-group-title{font-size:1.8rem;margin-top:42px;margin-bottom:18px;color:var(--ink)}

/* Our Candles editorial introduction */
.candles-introduction{max-width:880px;margin:0 auto 48px}.candles-introduction h2{margin-bottom:26px}.candles-introduction>p:not(.eyebrow){font-size:1.05rem;line-height:1.8;margin:0 0 20px}

/* Larger site typography and a smaller homepage photo. */
html{font-size:18px}
body{font-size:1rem}
.hero>.hero-image{width:75%;justify-self:center}

.hero-take-home{padding-left:1.3em;margin:12px 0 24px}.hero-take-home li{margin-bottom:10px}

/* Match the Crimson House flyer frame to the Michaels flyer proportions. */
#event-oct-14 .event-flyer img{aspect-ratio:1060/1484;object-fit:contain;object-position:top center}

/* Desktop presentation system. Existing phone and tablet styles stay intact. */
@media (min-width: 951px) {
  :root {
    --desktop-width: 1160px;
    --desktop-gutter: max(48px, calc((100vw - var(--desktop-width)) / 2));
    --desktop-space: 80px;
    --desktop-muted: #65546d;
  }
  body { font-size: 1rem; line-height: 1.75; }
  header {
    max-width: none; padding: 24px var(--desktop-gutter) 22px;
    display: grid; grid-template-columns: 1fr; justify-items: center; gap: 22px;
    background: var(--paper);
  }
  header .brand { width: 210px; }
  header nav {
    width: 100%; display: flex; justify-content: center; flex-wrap: wrap;
    gap: 10px 22px; font-size: .8rem; line-height: 1.4;
  }
  header nav a { padding-block: 9px; white-space: nowrap; }
  header nav .nav-contact { padding: 9px 18px; border-radius: 6px; }
  h1, .order-intro h1, .fragrance-section h1 {
    font-size: clamp(2.8rem, 4vw, 3.6rem); line-height: 1.12; letter-spacing: -.035em;
  }
  h2, .fragrance-section h2 {
    font-size: clamp(2.1rem, 3vw, 2.8rem); line-height: 1.18; letter-spacing: -.025em;
  }
  h3, .party-expanded h3, .order-step h2 {
    font-size: 1.6rem; line-height: 1.3; letter-spacing: -.015em;
  }
  .eyebrow { font-size: .72rem; letter-spacing: .15em; margin-bottom: 18px; }
  .section {
    max-width: none; margin-inline: 0;
    padding: var(--desktop-space) var(--desktop-gutter);
  }
  .section-heading { align-items: start; gap: 48px; margin-bottom: 36px; }
  .section-heading > p, #events > .section-heading > p { max-width: 760px; line-height: 1.75; }
  .section-home { margin-top: 40px; }
  .button, .home-button {
    min-height: 48px; padding: 12px 22px; border-radius: 6px;
    font-size: .85rem; font-weight: 600; line-height: 1.4; gap: 14px;
  }
  .actions { gap: 14px; margin-top: 28px; }
  .textlink { font-size: .9rem; }
  .ribbon { gap: 28px; padding: 18px var(--desktop-gutter); font-size: .82rem; }

  /* A full-width headline, balanced introduction, and a distinct custom-candle feature. */
  .hero {
    max-width: none; padding: 56px var(--desktop-gutter) 64px;
    grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
    column-gap: 56px; row-gap: 20px; align-items: start;
  }
  .hero > .hero-copy, .hero .hero-story { display: contents; }
  .hero h1 {
    grid-column: 1 / -1; grid-row: 1; margin-bottom: 18px;
    font-size: clamp(2.8rem,4vw,3.6rem);
  }
  .hero h1 .party-headline-line { font-size: .66em; }
  .hero .hero-story > p { color: var(--desktop-muted); font-size: 1rem; margin: 0; }
  .hero .hero-story > p:nth-child(1) { grid-column: 1; grid-row: 2; }
  .hero .hero-story > p:nth-child(2) { grid-column: 1; grid-row: 3; }
  .hero .hero-story > p:nth-child(3) { grid-column: 1; grid-row: 4; }
  .hero .hero-take-home { grid-column: 1; grid-row: 5; margin: 0; padding-left: 1.2em; color: var(--desktop-muted); }
  .hero .hero-take-home li { margin-bottom: 8px; }
  .hero > .hero-image { grid-column: 2; grid-row: 2 / 6; width: 100%; max-width: 390px; justify-self: end; align-self: start; }
  .hero-image > img.hero-collection { border-radius: 10px 10px 0 0; }
  .image-caption { padding: 16px; border-radius: 0 0 10px 10px; flex-wrap: wrap; }
  .image-caption span:first-child { font-size: .62rem; }
  .image-caption span:last-child { font-size: 1.1rem; }
  .hero .hero-story > p:nth-child(5) { grid-column: 1 / -1; grid-row: 6; padding: 22px 26px; background: var(--pink); border-radius: 8px; margin-block: 12px; }
  .hero .custom-intro-title { grid-column: 1; grid-row: 7 / 9; margin: 20px 0 0; font-size: 2rem; max-width: 450px; }
  .hero .hero-story > p:nth-child(7) { grid-column: 2; grid-row: 7; margin-top: 20px; }
  .hero .hero-story > p:nth-child(8) { grid-column: 2; grid-row: 8; }
  .hero .hero-copy > .actions { grid-column: 1 / -1; grid-row: 9; margin-top: 12px; }
  .hero > .section-home { grid-row: 10; margin-top: 12px; }

  /* Readable introductory copy and consistent gallery tiles. */
  .candles-introduction { max-width: 880px; margin: 0 0 44px; }
  .candles-introduction > p:not(.eyebrow) { font-size: 1rem; line-height: 1.75; margin-bottom: 20px; }
  .category-gallery summary { grid-template-columns: 1fr 1.2fr auto; gap: 28px; padding: 26px 24px; }
  .category-title { font-size: 1.5rem; }
  .category-description { font-size: .9rem; line-height: 1.6; }
  .category-content { padding: 28px 24px 32px; background: #fcf5fa; }
  .category-photos { gap: 24px; align-items: stretch; }
  .category-photos a { max-width: none; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; padding: 8px; }
  .category-photos img { aspect-ratio: 1; width: 100%; height: auto; object-fit: contain; border-radius: 4px; }

  /* Event cards share one flyer frame and one text column. */
  .event-list { gap: 32px; }
  .featured-event, .featured-event + .featured-event {
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 44px;
    align-items: start; padding: 32px; border: 1px solid var(--line);
    background: var(--paper); border-radius: 10px;
  }
  .event-flyer { width: 100%; max-width: 380px; margin-inline: auto; }
  .event-flyer img { aspect-ratio: 1060/1484; object-fit: contain; object-position: top center; }
  .event-information > p { margin-top: 16px; }
  .event-information h3 { font-size: 1.8rem; }
  .events-calendar { margin-bottom: 32px; }

  /* Service sections use the same balanced columns and image bounds. */
  .gifts { display: grid; grid-template-columns: 1.15fr .85fr; gap: 32px 56px; }
  .gifts .gift-opening { grid-column: 1; grid-row: 1; display: block; margin: 0; }
  .gift-opening-copy { margin-top: 24px; }
  .gifts > .custom-candle-photo { grid-column: 2; grid-row: 1; max-width: 400px; margin: 0; justify-self: end; align-self: start; border-radius: 10px; }
  .gifts > .gift-grid, .gifts > .gift-fragrance-link, .gifts > .gift-inquiry { grid-column: 1 / -1; }
  .gift-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .gift-grid article { background: var(--paper); padding: 28px; border: 1px solid var(--line); border-radius: 8px; }
  .gift-grid h3 { font-size: 1.5rem; margin-top: 12px; }
  .gift-grid p { font-size: .95rem; }
  .gift-fragrance-link, .gift-inquiry { margin-top: 0; }
  .memorial, .refills, .bottles { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px 64px; align-items: start; }
  .memorial-candle-photo, .vessel-feature-photo, .bottle-photo img { max-width: 440px; border-radius: 10px; }
  .bottle-photo { align-self: start; }
  .memorial-copy, .refill-details { padding-top: 4px; }
  .refill-details h3, .bottle-options h3 { font-size: 1.5rem; }

  /* Party, materials, and biography share a readable editorial width. */
  .party-expanded > div:not(.section-home) { max-width: 920px; margin-left: 0; margin-right: 0; }
  .party-expanded .party-welcome { max-width: 880px; }
  .party-expanded .party-chapter { padding-top: 32px; margin-top: 36px; }
  .party-expanded p { line-height: 1.75; }
  .party-theme-grid { gap: 24px; }
  .party-theme-grid article { padding: 28px; border-radius: 8px; }
  .party-theme-grid h4 { font-size: 1.3rem; line-height: 1.35; }
  .party-booking-photo { max-width: 380px; margin: 36px 0 0; }
  .materials-heading, .supplies-disclosure, .supply-list, .supply-closing { max-width: 920px; }
  .supplies-disclosure, .supply-closing { border: 1px solid var(--line); border-radius: 8px; padding: 26px; }
  .supply-list { margin-top: 32px; }
  .supply-list article { padding: 32px 0; }
  .wick-comparison > div { padding: 26px; border-radius: 8px; }
  .wax-quality { gap: 48px; grid-template-columns: 1.1fr .9fr; align-items: start; }
  #about { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 40px 64px; }
  #about .about-story { max-width: none; padding-top: 4px; }
  #brand-story { margin-top: 24px; }
  .contact { background: var(--pink); }
  .contact > p:not(.eyebrow) { max-width: 760px; margin-inline: auto; }

  /* Shared page widths prevent the ordering and fragrance pages from narrowing twice. */
  .order-intro { text-align: left; padding-top: 64px; padding-bottom: 40px; }
  .order-intro > p:not(.eyebrow) { max-width: 860px; margin: 22px 0 0; }
  .order-guide { max-width: none; margin: 0; padding: 0 var(--desktop-gutter) 64px; }
  .order-step { max-width: 920px; padding: 32px 0; }
  .order-step h2 { margin-bottom: 20px; }
  .order-step .fragrance-callout { padding: 26px; border: 1px solid var(--line); background: var(--pink); border-radius: 8px; }
  .order-pricing h2 { margin-bottom: 24px; }
  .order-pricing > p { max-width: 920px; margin-bottom: 20px; line-height: 1.75; }
  .fragrance-page main { max-width: none; margin: 0; }
  .fragrance-section > p { max-width: 880px; }
  .fragrance-jump { justify-content: flex-start; gap: 12px; }
  .fragrance-jump a { border-radius: 6px; font-size: .85rem; }
  .scent-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 32px 0; }
  .scent-card { padding: 26px; border-radius: 8px; }
  .scent-card h3 { font-size: 1.35rem; }
  .scent-card p { font-size: .95rem; }
  footer { padding: 32px var(--desktop-gutter) 96px; gap: 20px; flex-wrap: wrap; border-top: 1px solid var(--line); font-size: .8rem; }
  footer > p { font-size: 1.3rem; }
}

/* Single-line business and phone banner across all pages. */
.topline{padding:9px 4px;white-space:nowrap;font-size:13px;letter-spacing:.06em;line-height:1.5}
.topline a{color:inherit;white-space:nowrap;text-decoration:none}
.topline a:hover,.topline a:focus-visible{text-decoration:underline;text-underline-offset:2px}
@media(max-width:650px){.topline{font-size:min(12px,2.5vw);letter-spacing:0}}

/* Our Candles: four supplied photographs, presented without cropping. */
.candles-introduction{max-width:none}
.candles-introduction>h2,.candles-introduction>p{max-width:880px}
.candles-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0 40px}
.candles-showcase figure{margin:0;padding:12px;background:#fcf5fa;border:1px solid var(--line);border-radius:10px;min-width:0}
.candles-showcase a{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--paper);border-radius:6px}
.candles-showcase img{width:100%;height:100%;object-fit:contain;border-radius:6px}
.candles-showcase figcaption{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;line-height:1.3;padding:18px 8px 8px;color:var(--plum)}
@media(max-width:650px){.candles-showcase{gap:16px;grid-template-columns:1fr;margin:26px 0 32px}.candles-showcase figure{padding:8px}.candles-showcase figcaption{font-size:1.15rem;padding:14px 8px 8px}}

/* Image accompanying the homepage custom-candle introduction. */
.custom-story-photo{display:block;width:100%;max-width:380px;margin:26px auto 0}
.custom-story-photo img{width:100%;height:auto;border-radius:10px}
@media(min-width:951px){.hero .custom-intro-title{grid-row:7}.hero .custom-story-photo{grid-column:1;grid-row:8;margin:0;justify-self:start;max-width:340px}}

/* A single compact four-photo collage matching the homepage image footprint. */
.candles-showcase{width:75%;max-width:390px;aspect-ratio:1099/1431;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin:32px auto 40px;background:var(--pink);border-radius:10px;overflow:hidden}
.candles-showcase figure{display:block;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.candles-showcase a{display:block;width:100%;height:100%;aspect-ratio:auto;border-radius:0;background:var(--paper)}
.candles-showcase img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
@media(min-width:951px){.candles-showcase{width:min(390px,calc((100vw - 2 * var(--desktop-gutter) - 56px) * .425))}}

/* Replace the four-photo collage with the supplied editorial image. */
.candles-showcase.candles-editorial{display:block;width:100%;max-width:526.5px;aspect-ratio:auto;padding:0;background:transparent}
.candles-showcase.candles-editorial a{height:auto;background:transparent}
.candles-showcase.candles-editorial img{height:auto;aspect-ratio:auto;border-radius:10px}

/* Enlarge the editorial image by 35%, constrained to the screen on mobile. */
@media(min-width:951px){.candles-showcase.candles-editorial{width:min(526.5px,calc((100vw - 2 * var(--desktop-gutter) - 56px) * .57375))}}
