:root {
  --pink: #ec168c;
  --pink-deep: #b70d68;
  --pink-soft: #ffe5f3;
  --teal: #009f9a;
  --teal-deep: #006d70;
  --teal-soft: #dff9f5;
  --gold: #c9952e;
  --gold-light: #f4cf72;
  --cream: #fffaf1;
  --white: #fffefd;
  --ink: #31212c;
  --ink-soft: #705c68;
  --line: rgba(49, 33, 44, .13);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --shadow: 0 24px 70px rgba(87, 37, 69, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 400 16px/1.7 var(--sans); -webkit-font-smoothing: antialiased; }
body.lightbox-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
.shell { width: min(100% - 44px, 1180px); margin-inline: auto; }
.section { padding: 118px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; top: 8px; left: 8px; padding: 10px 14px; background: var(--ink); color: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 4px; }
.eyebrow { margin: 0 0 18px; color: var(--teal-deep); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
h1, h2 { margin: 0; font: 500 1em/.88 var(--serif); letter-spacing: -.045em; }
h1 { font-size: clamp(4.3rem, 7.3vw, 7.2rem); }
h2 { font-size: clamp(3.3rem, 5.5vw, 5.5rem); }
h1 em, h2 em { color: var(--pink); font-weight: 500; }
.button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 13px 24px; overflow: hidden; border: 1px solid var(--pink); border-radius: 999px; background: var(--pink); box-shadow: 0 14px 32px rgba(236, 22, 140, .22); color: #fff; font-size: .84rem; font-weight: 700; text-decoration: none; transition: transform .2s, background .2s, box-shadow .2s; }
.button::after { content: ""; position: absolute; inset: -120% auto auto -45%; width: 35%; height: 320%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); transform: rotate(28deg); transition: left .6s; }
.button:hover { background: var(--pink-deep); box-shadow: 0 18px 40px rgba(183, 13, 104, .3); transform: translateY(-2px); }
.button:hover::after { left: 120%; }
.button-small { min-height: 42px; padding: 9px 18px; }
.text-link, .product-cta { color: var(--pink-deep); font-size: .82rem; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; padding-top: 18px; transition: padding .3s, background .3s, box-shadow .3s; }
.site-header.scrolled { padding: 10px 0; background: rgba(255,250,241,.9); box-shadow: 0 8px 30px rgba(49,33,44,.08); backdrop-filter: blur(18px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.wordmark { display: flex; align-items: center; gap: 9px; font: 600 1.45rem var(--serif); text-decoration: none; }
.wordmark em { color: var(--pink); font-weight: 500; }
.wordmark-mark { color: var(--gold); filter: drop-shadow(0 0 6px rgba(201,149,46,.55)); }
.site-nav { display: flex; align-items: center; gap: 25px; }
.site-nav > a:not(.button) { font-size: .77rem; font-weight: 700; text-decoration: none; }
.site-nav > a:not(.button):hover { color: var(--pink); }
.nav-toggle { display: none; width: 42px; height: 42px; border: 0; background: transparent; }
.nav-toggle > span:not(.sr-only) { display: block; width: 22px; height: 2px; margin: 5px auto; background: var(--ink); transition: transform .25s; }

.hero { position: relative; min-height: 760px; padding: 165px 0 95px; overflow: hidden; background: radial-gradient(circle at 15% 20%, #fff 0, transparent 35%), linear-gradient(140deg, #fffaf1 0%, #fff0f8 58%, #e4fbf7 100%); }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 56px; }
.hero-copy { position: relative; z-index: 2; }
.hero-lede { max-width: 580px; margin: 30px 0; color: var(--ink-soft); font-size: 1.08rem; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.micro-note { margin: 23px 0 0; color: #8a7180; font-size: .76rem; }
.hero-art { position: relative; min-width: 0; }
.hero-brand-art { position: relative; width: min(100%, 570px); margin: 0 auto; padding: 12px; border: 1px solid rgba(201,149,46,.45); border-radius: 30px; background: rgba(255,255,255,.8); box-shadow: 0 30px 85px rgba(73,37,56,.17), 0 0 45px rgba(236,22,140,.13); }
.hero-brand-art::before { content: ""; position: absolute; z-index: -1; inset: -18px; border: 1px dashed rgba(0,159,154,.36); border-radius: 43px; }
.hero-brand-art img { width: 100%; height: auto; aspect-ratio: 1290 / 1282; object-fit: contain; border-radius: 20px; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(10px); opacity: .4; }
.hero-glow-one { width: 260px; height: 260px; top: -90px; right: 18%; background: var(--pink-soft); }
.hero-glow-two { width: 190px; height: 190px; bottom: -70px; left: 8%; background: var(--teal-soft); }
.sparkle { position: absolute; color: var(--gold); text-shadow: 0 0 20px rgba(244,207,114,.8); animation: twinkle 3s ease-in-out infinite; }
.sparkle-a { right: -4%; top: 4%; font-size: 2.6rem; }.sparkle-b { left: -5%; top: 18%; font-size: 1.9rem; animation-delay: 1s; }.sparkle-c { right: -3%; bottom: 19%; color: var(--pink); font-size: 1.8rem; animation-delay: .5s; }.sparkle-d { left: -5%; bottom: 8%; color: var(--teal); font-size: 2rem; animation-delay: 1.6s; }.sparkle-e { right: 13%; top: -5%; color: var(--pink); font-size: 1.1rem; animation-delay: 2s; }

.blessing-bar { position: relative; z-index: 2; overflow: hidden; padding: 16px 0; background: var(--teal-deep); color: #fff; }
.marquee-track { width: max-content; min-width: 100%; display: flex; align-items: center; justify-content: center; gap: 35px; padding-inline: 20px; font: 500 1.05rem var(--serif); letter-spacing: .04em; white-space: nowrap; }
.marquee-track i { color: var(--gold-light); font-style: normal; font-size: .7rem; }

.collection { background: var(--white); }
.section-heading { display: grid; grid-template-columns: 1fr .55fr; gap: 80px; align-items: end; margin-bottom: 60px; }
.heading-aside { padding-bottom: 8px; }.heading-aside p { margin: 0 0 20px; color: var(--ink-soft); }
.product-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 26px; }
.product-card { position: relative; display: flex; flex-direction: column; grid-column: span 2; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 18px 52px rgba(49,33,44,.07); transition: transform .3s, box-shadow .3s; }
.product-card:nth-child(4) { grid-column: 2 / span 2; }
.product-card:nth-child(5) { grid-column: 4 / span 2; }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 26px 65px rgba(49,33,44,.13), 0 0 36px rgba(0,159,154,.08); }
.product-image { position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; padding: 0; overflow: hidden; border: 0; background: #fff9f5; cursor: zoom-in; }
.product-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-image img { transform: scale(1.025); }
.product-image::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 55px rgba(255,255,255,.35); }
.image-glint { position: absolute; top: 13%; right: 14%; width: 20px; height: 20px; color: var(--gold); }
.image-glint::before, .image-glint::after { content: ""; position: absolute; top: 50%; left: 50%; background: #fff; box-shadow: 0 0 12px var(--gold-light); transform: translate(-50%,-50%); }
.image-glint::before { width: 2px; height: 20px; }.image-glint::after { width: 20px; height: 2px; }
.product-image::before { content: "✦"; position: absolute; z-index: 1; left: 11%; top: 16%; color: var(--gold); font-size: 1.1rem; text-shadow: 0 0 12px var(--gold-light); }
.zoom-note { position: absolute; left: 14px; bottom: 14px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.84); backdrop-filter: blur(8px); color: var(--teal-deep); font-size: .65rem; font-weight: 700; }
.product-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 26px 28px 30px; }
.product-kicker { margin: 0 0 10px; color: var(--teal); font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-copy h3 { margin: 0 0 15px; font: 600 2rem/1 var(--serif); }
.product-copy > p:not(.product-kicker) { margin: 0 0 24px; color: var(--ink-soft); font-size: .9rem; }
.product-cta { margin-top: auto; }
.collection-blessing { display: flex; align-items: center; justify-content: center; gap: 28px; max-width: 850px; margin: 72px auto 0; padding: 24px 32px; border-top: 1px solid rgba(201,149,46,.45); border-bottom: 1px solid rgba(201,149,46,.45); color: var(--teal-deep); text-align: center; }
.collection-blessing p { margin: 0; font: italic 1.65rem/1.2 var(--serif); }
.collection-blessing span { color: var(--gold); font-size: 1.2rem; }

.story { background: linear-gradient(140deg, #e6faf7, #fff9ee 52%, #ffe8f4); }
.story-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: center; }
.story-visual { position: relative; display: flex; min-height: 560px; padding: 54px 42px; flex-direction: column; justify-content: center; overflow: hidden; border: 1px solid rgba(201,149,46,.55); border-radius: 34px; background: radial-gradient(circle at 84% 16%, rgba(255,255,255,.24), transparent 28%), linear-gradient(145deg, #007d7c, #004d54); box-shadow: var(--shadow); color: #fff; text-align: center; }
.story-visual::before, .story-visual::after { content: "✦"; position: absolute; color: var(--gold-light); text-shadow: 0 0 24px rgba(244,207,114,.8); font-size: 2.2rem; }
.story-visual::before { top: 12%; left: 13%; }.story-visual::after { right: 11%; bottom: 15%; }
.story-visual-kicker { margin: 0 0 38px; color: var(--gold-light); font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.story-visual-line { margin: 0; color: #fff; font: italic 3.4rem/.98 var(--serif); }
.story-visual-source { margin: 25px 0 0; color: var(--gold-light); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.story-visual-stars { margin: 42px 0 30px; color: var(--gold-light); font-size: 1.3rem; letter-spacing: .3em; }
.story-visual-signoff { margin: 0; color: #f8d5e9; font: italic 1.45rem var(--serif); }
.story-copy > p:not(.eyebrow) { color: var(--ink-soft); }
.story-intro { margin-top: 30px; color: var(--ink) !important; font-size: 1.08rem; font-weight: 600; }

.more { background: var(--cream); }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.category-card { position: relative; min-height: 280px; padding: 38px; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 16px 44px rgba(49,33,44,.06); }
.category-card::after { content: ""; position: absolute; width: 140px; height: 140px; right: -55px; bottom: -65px; border-radius: 50%; background: var(--pink-soft); opacity: .65; }
.category-card:nth-child(2)::after { background: var(--teal-soft); }.category-card:nth-child(3)::after { background: #fff0bf; }
.category-card > span { color: var(--gold); font-size: 1.8rem; text-shadow: 0 0 16px rgba(201,149,46,.45); }
.category-card h3 { margin: 40px 0 13px; font: 600 1.7rem var(--serif); }
.category-card p { margin: 0; color: var(--ink-soft); font-size: .9rem; }
.availability-note { max-width: 720px; margin: 34px auto 0; color: var(--ink-soft); text-align: center; font-size: .86rem; }

.social-section { position: relative; padding-block: 125px; overflow: hidden; background: var(--teal-deep); color: #fff; }
.social-section::before, .social-section::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.social-section::before { width: 570px; height: 570px; left: -270px; top: -250px; }.social-section::after { width: 420px; height: 420px; right: -180px; bottom: -240px; }
.social-inner { position: relative; max-width: 760px; text-align: center; }
.social-inner .eyebrow { color: var(--gold-light); }.social-inner h2 em { color: #ff8acb; }.social-inner > p:not(.eyebrow) { max-width: 590px; margin: 26px auto 34px; color: #d7f2ef; }
.social-actions { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.button-light { border-color: #fff; background: #fff; color: var(--teal-deep); }.button-light:hover { background: var(--pink-soft); color: var(--pink-deep); }
.button-ghost { border-color: rgba(255,255,255,.55); background: transparent; box-shadow: none; }.button-ghost:hover { background: rgba(255,255,255,.1); }
.social-sparkle { position: absolute; color: var(--gold-light); animation: twinkle 3.2s ease-in-out infinite; }.social-sparkle-one { left: 4%; top: 40%; font-size: 2.5rem; }.social-sparkle-two { right: 7%; top: 12%; font-size: 1.8rem; animation-delay: .7s; }.social-sparkle-three { right: 17%; bottom: 4%; color: #ff8acb; animation-delay: 1.3s; }

.contact { background: var(--white); }
.contact-grid { display: grid; grid-template-columns: .82fr 1fr; gap: 105px; align-items: start; }
.contact-copy > p:not(.eyebrow) { max-width: 470px; margin: 28px 0; color: var(--ink-soft); }.contact-links a { color: var(--teal-deep); font-weight: 700; text-underline-offset: 4px; }
.contact-form { padding: 42px; border: 1px solid rgba(0,159,154,.2); border-radius: 28px; background: linear-gradient(145deg, #fff, #fffbfd); box-shadow: 0 22px 65px rgba(49,33,44,.09), 0 0 45px rgba(0,159,154,.06); }
.form-row { margin-bottom: 22px; }.form-row label { display: block; margin-bottom: 7px; color: var(--ink); font-size: .77rem; font-weight: 700; }.form-row label span { color: var(--ink-soft); font-weight: 400; }
.form-row input, .form-row textarea { width: 100%; padding: 10px 2px 12px; border: 0; border-bottom: 1px solid #c9b8c3; border-radius: 0; outline: none; background: transparent; color: var(--ink); }
.form-row textarea { min-height: 120px; resize: vertical; }.form-row input:focus, .form-row textarea:focus { border-color: var(--teal); box-shadow: 0 2px 0 var(--teal); }.form-row [aria-invalid="true"] { border-color: #b42318; }
.field-error { display: block; min-height: 18px; padding-top: 4px; color: #a12a25; font-size: .72rem; }.submit-button { width: 100%; border: 0; }.submit-button[disabled] { opacity: .65; cursor: wait; transform: none; }.form-status { min-height: 24px; margin: 14px 0 0; text-align: center; font-size: .82rem; }.form-status.error { color: #a12a25; }.form-status.success { color: var(--teal-deep); }

.site-footer { padding: 75px 0 24px; background: #182f30; color: #effbf9; }
.footer-top { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding-bottom: 55px; }.wordmark-footer { font-size: 1.9rem; }.wordmark-footer em { color: #ff83c8; }.footer-top > div > p { color: #b8d5d1; font-size: .86rem; }
.footer-links { display: grid; grid-template-columns: repeat(2,1fr); gap: 40px; }.footer-links > div { display: flex; flex-direction: column; gap: 8px; }.footer-links p { margin: 0 0 6px; color: var(--gold-light); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }.footer-links a { width: fit-content; color: #effbf9; font-size: .86rem; text-decoration: none; }.footer-links a:hover { color: #ff83c8; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #94b7b3; font-size: .73rem; }.footer-bottom p { margin: 0; }.blessing { color: var(--gold-light); font: italic 1rem var(--serif); }

.lightbox { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 60px 80px; background: rgba(17,42,43,.88); backdrop-filter: blur(16px); }.lightbox[hidden] { display: none; }.lightbox figure { max-width: min(78vw,850px); max-height: 80vh; margin: 0; text-align: center; }.lightbox img { max-width: 100%; max-height: 72vh; margin: auto; border-radius: 18px; box-shadow: 0 35px 90px rgba(0,0,0,.35); }.lightbox figcaption { margin-top: 12px; color: #fff; font: italic 1.2rem var(--serif); }
.lightbox-close, .lightbox-arrow { position: absolute; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; }.lightbox-close { top: 24px; right: 24px; width: 46px; height: 46px; font-size: 1.8rem; line-height: 1; }.lightbox-arrow { top: 50%; width: 50px; height: 50px; font-size: 1.15rem; }.lightbox-prev { left: 22px; }.lightbox-next { right: 22px; }.lightbox-count { position: absolute; bottom: 18px; margin: 0; color: rgba(255,255,255,.75); font-size: .78rem; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }.reveal.in-view { opacity: 1; transform: none; }
@keyframes twinkle { 0%,100% { transform: scale(.8) rotate(0); opacity: .55; } 50% { transform: scale(1.15) rotate(15deg); opacity: 1; } }

/* Three scroll-depths of decorative sparkle, kept away from the reading column. */
.glitter-field { position: fixed; z-index: 30; inset: 0; overflow: hidden; pointer-events: none; }
.glitter-layer { position: absolute; inset: -100vh 0 auto; height: 200vh; width: 100%; }
.floating-glitter { position: absolute; display: block; line-height: 1; animation: twinkle 3.7s ease-in-out infinite; }
.glitter-layer-dust .floating-glitter { color: #d4a945; font-size: 1.2rem; opacity: .66; text-shadow: 0 0 8px #fff, 0 0 16px var(--gold-light); }
.glitter-layer-stars .floating-glitter { color: #f65cad; font-size: clamp(1.3rem, 2vw, 2.25rem); text-shadow: 0 0 4px #fff, 0 0 16px #ff9fd0, 0 0 30px #f65cad; }
.glitter-layer-jewels .floating-glitter { color: #00b7ac; font-size: clamp(1.1rem, 1.7vw, 1.8rem); text-shadow: 0 0 3px #fff, 0 0 15px #82f5e2, 0 0 28px #00b7ac; }
.floating-glitter-1 { animation-duration: 4.6s; }.floating-glitter-2 { animation-duration: 2.9s; }

.hero { background: radial-gradient(circle at 10% 15%, rgba(255,255,255,.95), transparent 33%), radial-gradient(circle at 83% 19%, rgba(255,216,237,.96), transparent 32%), radial-gradient(circle at 75% 91%, rgba(153,245,226,.75), transparent 32%), linear-gradient(140deg, #fffaf1, #ffebf7 52%, #e6fff9); }
.hero::before, .collection::before, .more::before, .contact::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .35; background-image: radial-gradient(circle, #ffe69b 1px, transparent 1.5px), radial-gradient(circle, #ff80c2 1px, transparent 1.5px), radial-gradient(circle, #66e7d5 1px, transparent 1.5px); background-position: 0 0, 35px 57px, 88px 20px; background-size: 150px 165px, 190px 175px, 220px 190px; }
.hero-grid, .collection > .shell, .more > .shell, .contact > .shell { position: relative; }
.hero-brand-art { border: 2px solid #f2c765; box-shadow: 0 30px 85px rgba(73,37,56,.2), 0 0 0 7px rgba(255,255,255,.7), 0 0 60px rgba(236,22,140,.35), 0 0 100px rgba(0,159,154,.22); }
.hero-brand-art::before { inset: -26px; border: 2px dotted rgba(236,22,140,.5); border-radius: 51px; }
.hero .sparkle { font-size: 2.8rem; text-shadow: 0 0 3px #fff, 0 0 20px currentColor, 0 0 35px var(--gold-light); }
.hero .sparkle-b, .hero .sparkle-d { font-size: 2.3rem; }
.micro-note { color: var(--pink-deep); font-weight: 700; letter-spacing: .01em; }
.micro-note span { color: var(--gold); white-space: nowrap; text-shadow: 0 0 12px var(--gold-light); }
.button { border-color: #c80a77; background: linear-gradient(115deg, #f62c99, #cd127f 58%, #e6369e); box-shadow: 0 10px 28px rgba(236,22,140,.3), 0 0 0 4px rgba(255,221,242,.7), 0 0 22px rgba(245,177,54,.28); }
.button:hover { background: linear-gradient(115deg, #d80b7b, #ad0b65); box-shadow: 0 16px 38px rgba(183,13,104,.34), 0 0 0 5px rgba(255,221,242,.8), 0 0 30px rgba(245,177,54,.38); }
.button-light { border-color: #fff; background: #fff; }.button-ghost { border-color: rgba(255,255,255,.8); background: transparent; }
.site-header.scrolled { background: rgba(255,249,246,.92); border-bottom: 1px solid rgba(238,145,192,.32); }
.wordmark-mark { color: #dc9e26; font-size: 1.3em; text-shadow: 0 0 11px var(--gold-light), 0 0 22px var(--pink); }

.blessing-bar { border-top: 3px solid #f0c864; border-bottom: 3px solid #f0c864; background: radial-gradient(circle at 16% 50%, rgba(255,214,137,.22), transparent 25%), radial-gradient(circle at 78% 50%, rgba(250,115,190,.25), transparent 28%), linear-gradient(90deg, #b31370, #007a7b 48%, #b31370); box-shadow: 0 8px 28px rgba(184,34,124,.2); }
.marquee-track i { font-size: 1.1rem; text-shadow: 0 0 11px var(--gold-light), 0 0 18px #fff; }
.collection, .more, .contact { position: relative; overflow: hidden; }
.collection { background: radial-gradient(circle at 0 18%, #ffeaf4, transparent 25%), radial-gradient(circle at 95% 77%, #d9fff5, transparent 28%), #fffdfa; }
.more { background: radial-gradient(circle at 10% 90%, #fce1f0, transparent 30%), radial-gradient(circle at 95% 5%, #d7fbf1, transparent 34%), #fff8ef; }
.contact { background: radial-gradient(circle at 7% 20%, #f9e2ee, transparent 28%), radial-gradient(circle at 90% 82%, #d9fff7, transparent 30%), #fffcf8; }
.section-heading h2 em, .contact h2 em { text-shadow: 0 5px 22px rgba(236,22,140,.2); }
.section-heading .eyebrow, .contact .eyebrow { color: var(--pink-deep); }
.product-card { border: 2px solid rgba(224,161,65,.52); background: linear-gradient(150deg, #fff, #fff9fc); box-shadow: 0 16px 43px rgba(150,43,103,.11), 0 0 25px rgba(246,157,205,.17); }
.product-card::after { content: "✦"; position: absolute; right: 20px; bottom: 18px; color: #dfac3e; font-size: 1.35rem; text-shadow: 0 0 12px #f4cf72; }
.product-image { background: linear-gradient(135deg, #fff7ea, #fff8fc 54%, #eafff9); }
.product-image::after { z-index: 1; box-shadow: inset 0 0 48px rgba(255,255,255,.42); background: radial-gradient(circle at 14% 12%, rgba(255,222,137,.4), transparent 20%), radial-gradient(circle at 87% 76%, rgba(255,134,199,.3), transparent 25%); }
.product-image::before { color: var(--pink); font-size: 1.9rem; text-shadow: 0 0 4px #fff, 0 0 17px #ff72bd, 0 0 30px var(--gold-light); }
.image-glint { z-index: 3; width: 30px; height: 30px; filter: drop-shadow(0 0 9px var(--gold-light)); animation: twinkle 3s ease-in-out infinite; }
.image-glint::before { height: 30px; }.image-glint::after { width: 30px; }
.product-glitter { position: absolute; z-index: 2; inset: 0; pointer-events: none; overflow: hidden; }
.product-glitter::before { content: ""; position: absolute; inset: -80% -100%; background: linear-gradient(110deg, transparent 44%, rgba(255,255,255,.08) 48%, rgba(255,255,255,.44) 50%, rgba(255,255,255,.08) 52%, transparent 56%); transform: translateX(-55%); animation: photo-sheen 8s ease-in-out infinite; }
.product-glitter i { position: absolute; color: #eeb63e; font: normal 1.25rem/1 var(--sans); text-shadow: 0 0 3px #fff, 0 0 10px #f7d363, 0 0 18px currentColor; animation: twinkle 3.4s ease-in-out infinite; }
.product-glitter i:nth-child(1) { left: 9%; top: 9%; font-size: 1.8rem; color: var(--pink); }
.product-glitter i:nth-child(2) { right: 11%; top: 27%; font-size: 1.1rem; color: var(--teal); animation-delay: -.8s; }
.product-glitter i:nth-child(3) { left: 12%; top: 49%; font-size: 1rem; animation-delay: -1.6s; }
.product-glitter i:nth-child(4) { right: 8%; top: 58%; font-size: 1.9rem; color: var(--pink); animation-delay: -1.1s; }
.product-glitter i:nth-child(5) { left: 15%; bottom: 13%; font-size: 1.4rem; color: var(--teal); animation-delay: -2s; }
.product-glitter i:nth-child(6) { right: 18%; bottom: 9%; font-size: .9rem; animation-delay: -2.5s; }
.zoom-note { z-index: 4; border: 1px solid rgba(244,207,114,.8); background: rgba(255,255,255,.9); box-shadow: 0 3px 18px rgba(206,146,44,.18); }
.product-kicker::before { content: "✦ "; color: var(--gold); }
.product-copy h3 { min-height: 93px; margin-bottom: 12px; color: #5a263e; font-size: 1.75rem; line-height: 1.04; }
.product-copy h3 span { display: block; }
.product-copy h3 small { display: block; margin-top: 7px; color: var(--teal-deep); font: 700 .72rem/1.4 var(--sans); letter-spacing: .035em; }
.product-copy > p.product-price { align-self: flex-start; margin: 0 0 18px; padding: 4px 0 5px; border-bottom: 2px solid var(--gold-light); color: var(--pink-deep); font: 700 1.2rem/1.2 var(--sans); }
.product-price > span:not(.sr-only) { color: var(--ink-soft); font-size: .64rem; letter-spacing: .12em; }
.product-copy > p.product-teaser { margin: 0 0 17px; }
.product-details-trigger { display: inline-flex; align-items: center; min-height: 42px; margin: 0 0 16px; padding: 8px 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--teal-deep); cursor: pointer; font-size: .76rem; font-weight: 700; text-align: left; }
.product-details-trigger:hover { color: var(--pink-deep); }
.product-details-trigger span { margin-left: 3px; }
.collection-blessing { position: relative; border: 2px solid rgba(233,185,81,.75); border-radius: 28px; background: linear-gradient(120deg, #fff7df, #fff0f8 45%, #e9fff9); box-shadow: 0 15px 42px rgba(186,91,141,.12); }
.collection-blessing strong { display: block; margin-top: 6px; color: var(--pink-deep); font-weight: 600; }
.collection-blessing span { font-size: 2rem; text-shadow: 0 0 14px var(--gold-light); }

.story { position: relative; background: radial-gradient(circle at 4% 50%, rgba(253,191,226,.55), transparent 30%), radial-gradient(circle at 95% 20%, rgba(255,224,130,.35), transparent 27%), linear-gradient(140deg, #dffbf4, #fff9ee 52%, #ffe4f2); }
.story-visual { border: 3px solid #ebc36c; background: radial-gradient(circle at 25% 18%, rgba(255,110,192,.32), transparent 30%), radial-gradient(circle at 75% 75%, rgba(250,207,105,.2), transparent 28%), linear-gradient(145deg, #008885, #005660); box-shadow: 0 23px 60px rgba(0,100,104,.25), 0 0 0 7px rgba(255,255,255,.65), 0 0 35px #f1bbde; }
.story-visual::before, .story-visual::after { font-size: 3.2rem; }
.story-visual-stars { font-size: 1.7rem; text-shadow: 0 0 10px #fff, 0 0 24px var(--gold-light); }
.story-visual-signoff { color: #ffd7eb; font-size: 1.9rem; }
.category-card { border: 2px solid rgba(227,174,84,.55); background: linear-gradient(145deg, #fff, #fff6fb); box-shadow: 0 15px 46px rgba(201,71,133,.12); }
.category-card:nth-child(2) { background: linear-gradient(145deg, #fff, #effffb); }.category-card:nth-child(3) { background: linear-gradient(145deg, #fff, #fff9e9); }
.category-card > span { font-size: 2.7rem; text-shadow: 0 0 8px #fff, 0 0 20px currentColor; }
.category-card::before { content: "✧"; position: absolute; top: 24px; right: 28px; color: var(--pink); font-size: 1.7rem; text-shadow: 0 0 15px #ff8fce; }
.category-card:nth-child(2)::before { color: var(--teal); }

.blessing-interlude { position: relative; padding: 78px 0; overflow: hidden; border-block: 4px double #f7d276; background: radial-gradient(circle at 15% 50%, rgba(255,255,255,.4), transparent 30%), linear-gradient(110deg, #f55aab, #f5c866 49%, #04a9a3); color: #492541; text-align: center; }
.blessing-interlude::before { content: ""; position: absolute; inset: 0; opacity: .8; background-image: radial-gradient(circle, rgba(255,255,255,.9) 1px, transparent 2px), radial-gradient(circle, rgba(255,255,255,.75) 2px, transparent 3px); background-position: 0 0, 45px 38px; background-size: 45px 50px, 130px 115px; }
.blessing-interlude-inner { position: relative; }
.blessing-interlude p { margin: 16px 0; font: 600 clamp(2.25rem, 4.6vw, 4.6rem)/.98 var(--serif); text-shadow: 0 2px 20px rgba(255,255,255,.55); }
.blessing-interlude em { color: #9d0e66; }.blessing-ornament { color: #fff; font-size: 1.65rem; letter-spacing: .7em; text-shadow: 0 0 8px #fff, 0 0 22px #f5d66c; }
.social-section { background: radial-gradient(circle at 14% 20%, rgba(248,114,195,.3), transparent 30%), radial-gradient(circle at 82% 85%, rgba(248,210,102,.2), transparent 28%), linear-gradient(140deg, #006f72, #024e59); }
.social-section::before, .social-section::after { border-color: rgba(255,220,132,.45); box-shadow: 0 0 32px rgba(255,223,132,.15); }
.social-sparkle { font-size: 2.8rem; text-shadow: 0 0 8px #fff, 0 0 24px currentColor; }
.contact-form { border: 2px solid rgba(218,164,67,.65); background: linear-gradient(145deg, #fff, #fff5fb 55%, #f1fffb); box-shadow: 0 22px 65px rgba(49,33,44,.11), 0 0 0 7px rgba(255,235,246,.65), 0 0 50px rgba(0,159,154,.13); }
.site-footer { border-top: 4px solid #e9b951; background: radial-gradient(circle at 10% 15%, rgba(236,22,140,.2), transparent 32%), radial-gradient(circle at 90% 80%, rgba(0,159,154,.3), transparent 33%), #182f30; }
.lightbox { padding: 55px 76px; }
.lightbox-panel { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); width: min(1120px,100%); height: min(calc(100dvh - 110px),940px); overflow: hidden; border: 2px solid var(--gold-light); border-radius: 30px; background: #fffcf7; box-shadow: 0 35px 100px rgba(0,0,0,.35), 0 0 55px rgba(244,207,114,.23); }
.lightbox-panel figure { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; max-width: none; max-height: none; min-height: 0; padding: 26px; background: radial-gradient(circle at 25% 20%, #fff1f7, transparent 40%), linear-gradient(145deg, #fff7e8, #f2fffb); }
.lightbox-panel img { width: min(100%, 50.25vh, 495px); height: auto; max-height: none; object-fit: contain; border: 1px solid rgba(218,164,67,.35); border-radius: 18px; background: transparent; box-shadow: 0 15px 45px rgba(94,44,74,.15); }
.lightbox-panel figcaption { margin-top: 11px; color: var(--teal-deep); }
.lightbox-product { min-height: 0; padding: 44px 45px 38px; overflow-y: auto; color: var(--ink); overscroll-behavior: contain; }
.lightbox-product .eyebrow { margin-bottom: 14px; color: var(--pink-deep); }
.lightbox-product h2 { font-size: clamp(2.2rem,3.2vw,3.25rem); line-height: .98; }
.lightbox-price { width: fit-content; margin: 16px 0 26px; padding-bottom: 6px; border-bottom: 2px solid var(--gold-light); color: var(--pink-deep); font-size: 1.4rem; font-weight: 700; }
.lightbox-price > span:not(.sr-only) { color: var(--ink-soft); font-size: .72rem; letter-spacing: .12em; }
.lightbox-description { color: var(--ink-soft); font-size: .88rem; line-height: 1.65; }
.lightbox-description p { margin: 0 0 15px; }
.lightbox-description .product-verse { color: var(--teal-deep); font: italic 1.55rem/1.13 var(--serif); }
.lightbox-description .product-verse span { display: block; margin-top: 7px; color: var(--pink-deep); font: 700 .67rem/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.lightbox-description ul { margin: 0 0 23px; padding-left: 20px; }
.lightbox-description li { margin: 0 0 9px; }
.lightbox-description li::marker { color: var(--gold); }
.lightbox-description strong { color: var(--ink); }
.lightbox-inquiry { margin-top: 5px; }
.lightbox-count { color: #fff; }
@keyframes photo-sheen { 0%, 30%, 100% { transform: translateX(-55%); } 55%, 70% { transform: translateX(55%); } }

@media (max-width: 980px) {
  .section { padding: 88px 0; }.nav-toggle { display: block; z-index: 2; }.site-nav { position: fixed; inset: 0; padding: 110px 30px 40px; background: rgba(255,250,241,.98); backdrop-filter: blur(20px); flex-direction: column; justify-content: flex-start; align-items: stretch; transform: translateX(100%); transition: transform .3s; }.site-nav.open { transform: none; }.site-nav > a:not(.button) { padding: 12px 0; border-bottom: 1px solid var(--line); font: 600 2rem var(--serif); }.nav-toggle[aria-expanded="true"] span:nth-of-type(1) { transform: translateY(3.5px) rotate(45deg); }.nav-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(-3.5px) rotate(-45deg); }
  .hero { min-height: auto; padding-top: 140px; }.hero-grid { grid-template-columns: 1fr; }.hero-copy { max-width: 690px; }.hero-art { width: min(100%, 620px); margin-inline: auto; }
  .section-heading, .story-grid, .contact-grid { grid-template-columns: 1fr; gap: 50px; }.story-copy { max-width: 760px; }.story-visual { max-width: 600px; margin-inline: auto; }.category-grid { grid-template-columns: 1fr 1fr; }.category-card:last-child { grid-column: 1 / -1; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.product-card, .product-card:nth-child(4), .product-card:nth-child(5) { grid-column: auto; }.product-card:last-child { grid-column: 1 / -1; width: calc((100% - 26px) / 2); justify-self: center; }
}

@media (max-width: 680px) {
  .shell { width: min(100% - 28px,1180px); }.section { padding: 72px 0; }.site-header { padding-top: 14px; }.wordmark { font-size: 1.28rem; }.hero { padding: 125px 0 60px; }.hero-grid { gap: 44px; }h1 { font-size: clamp(3.7rem,18vw,5.2rem); }h2 { font-size: clamp(3rem,14vw,4.2rem); }.hero-lede { font-size: 1rem; }.hero-actions { align-items: stretch; flex-direction: column; }.hero-actions .button { width: 100%; }.hero-brand-art { width: calc(100% - 20px); }.sparkle-a { right: 0; }.sparkle-b { left: 0; }.sparkle-c { right: 1%; }.sparkle-d { left: 1%; }.marquee-track { justify-content: flex-start; gap: 24px; padding-inline: 18px; font-size: .98rem; }
  .section-heading { margin-bottom: 42px; }.product-grid { grid-template-columns: 1fr; gap: 20px; }.product-card, .product-card:nth-child(4), .product-card:nth-child(5), .product-card:last-child { grid-column: auto; width: 100%; }.product-copy { padding: 28px; }.collection-blessing { gap: 14px; margin-top: 50px; padding-inline: 10px; }.collection-blessing p { font-size: 1.3rem; }.story-visual { width: 100%; min-height: 390px; padding: 40px 25px; }.story-visual-line { font-size: 2.65rem; }.category-grid { grid-template-columns: 1fr; }.category-card:last-child { grid-column: auto; }.category-card { min-height: 0; }.contact-form { padding: 28px 20px; border-radius: 22px; }.footer-top { grid-template-columns: 1fr; }.footer-bottom { gap: 15px; align-items: flex-start; flex-direction: column; }.lightbox { padding: 70px 15px; }.lightbox figure { max-width: 94vw; }.lightbox-arrow { top: auto; bottom: 20px; }.lightbox-count { bottom: 32px; }
}

@media (max-width: 700px) {
  .lightbox { padding: 58px 14px 72px; }
  .lightbox-panel { grid-template-columns: 1fr; grid-template-rows: 215px minmax(0,1fr); height: calc(100dvh - 136px); border-radius: 22px; }
  .lightbox-panel figure { padding: 13px 18px 7px; }
  .lightbox-panel img { width: auto; height: 172px; }
  .lightbox-panel figcaption { margin-top: 3px; font-size: .95rem; }
  .lightbox-product { padding: 25px 24px 34px; }
  .lightbox-product h2 { font-size: 2.25rem; }
  .lightbox-description { font-size: .85rem; }
  .lightbox-close { top: 10px; right: 11px; }
  .lightbox-arrow { bottom: 11px; width: 42px; height: 42px; }
  .lightbox-count { bottom: 18px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }.reveal { opacity: 1; transform: none; } }
