:root { --ink:#20172c; --plum:#4d245e; --deep:#26142f; --cream:#fbf7f1; --paper:#fffdf9; --line:rgba(77,36,94,.16); --shadow:0 28px 80px rgba(38,20,47,.16); }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.65} img{display:block;max-width:100%} a{color:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.75rem 1rem;color:#fff;background:var(--deep);border-radius:.5rem}.skip-link:focus{top:1rem}.shell{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.site-header{position:absolute;inset:0 0 auto;z-index:10;color:white}.nav{min-height:6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;font:700 1.05rem/1.2 "Libre Baskerville",Georgia,serif}.brand img{width:3.25rem;height:3.25rem;padding:.7rem;object-fit:contain;background:rgba(28,16,39,.72);border:1px solid rgba(255,255,255,.2);border-radius:50%}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-links a{font-size:.9rem;font-weight:700;text-decoration:none}.nav-links a:not(.button):hover{text-decoration:underline;text-underline-offset:.35rem}
.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.1rem;border:1px solid transparent;border-radius:999px;background:var(--plum);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 10px 30px rgba(28,14,36,.2);transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);background:#5f3071}.button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #f2c9ea;outline-offset:3px}.button-light{background:#fff;color:var(--deep)}.button-light:hover{background:#f9edf7}
.hero{position:relative;min-height:760px;display:grid;align-items:center;isolation:isolate;overflow:hidden;color:#fff}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url("/images/hero-butterfly-meadow.webp") 58% center/cover no-repeat;transform:scale(1.015)}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(29,15,38,.48) 0%,rgba(29,15,38,.57) 45%,rgba(22,11,30,.76) 100%)}.hero-copy{max-width:1000px;padding:10rem 0 6rem;text-align:center}.eyebrow{margin:0 0 1rem;color:#ead3e8;font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{margin:0;font-family:"Libre Baskerville",Georgia,serif;line-height:1.12}h1{font-size:clamp(2.8rem,6.2vw,5.2rem);letter-spacing:-.04em;text-wrap:balance}.hero-lede{max-width:720px;margin:1.5rem auto 0;color:rgba(255,255,255,.92);font-size:clamp(1.05rem,2vw,1.3rem)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.text-link{font-weight:800;text-underline-offset:.3rem}.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1.5rem;margin:2.1rem 0 0;padding:0;list-style:none;color:rgba(255,255,255,.86);font-size:.9rem;font-weight:700}.trust-row li::before{content:"✦";margin-right:.5rem;color:#e7b7df}
.intro-strip{position:relative;z-index:2;margin:-3rem auto 0;padding:1.5rem 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;background:var(--paper);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--shadow)}.intro-strip div{padding:.4rem 1rem;border-left:1px solid var(--line)}.intro-strip div:first-child{border-left:0}.intro-strip strong{display:block;color:var(--plum);font-family:"Libre Baskerville",Georgia,serif}.intro-strip span{color:#665c69;font-size:.9rem}
@media(max-width:760px){.nav{min-height:5rem}.brand span{max-width:8rem}.nav-links a:not(.button){display:none}.nav .button{min-height:2.6rem;padding:.55rem .85rem;font-size:.82rem}.hero{min-height:700px}.hero::before{background-position:61% center}.hero::after{background:radial-gradient(ellipse at center,rgba(30,15,39,.5),rgba(30,15,39,.82))}.hero-copy{padding-top:8rem}.intro-strip{grid-template-columns:1fr;margin-top:-2rem;padding:1rem 1.25rem;gap:.25rem}.intro-strip div,.intro-strip div:first-child{border-left:0;border-top:1px solid var(--line);padding:.75rem 0}.intro-strip div:first-child{border-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}

.section{padding:7rem 0}.section h2{max-width:720px;font-size:clamp(2.1rem,4.5vw,3.75rem);letter-spacing:-.035em;text-wrap:balance}.lede{max-width:680px;color:#665c69;font-size:1.12rem}.eyebrow.dark{color:#865d8f}.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(3rem,7vw,7rem);align-items:center}.two-col>div:first-child{align-self:center}.steps{margin-top:2.5rem}.steps article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid var(--line)}.steps article>span{display:grid;width:2.2rem;height:2.2rem;place-items:center;color:var(--plum);background:#f1e6f0;border-radius:50%;font-size:.78rem;font-weight:900}.steps h3{font-size:1.08rem}.steps p{margin:.35rem 0 0;color:#665c69}.photo-card{position:relative;width:min(100%,430px);height:560px;margin:0;justify-self:center;display:grid;grid-template-rows:minmax(0,1fr) auto}.photo-card::before{content:"";position:absolute;inset:-.75rem .75rem .75rem -.75rem;z-index:-1;border:1px solid #c99bc6;border-radius:1.6rem}.photo-card img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;border-radius:1.25rem;box-shadow:var(--shadow)}.photo-card figcaption{margin-top:.8rem;color:#756a77;font-size:.85rem}
.about{background:var(--paper);border-block:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(3rem,8vw,8rem);align-items:center}.about-grid>div:last-child{max-width:710px}.about-grid a,.plum{color:var(--plum);font-weight:800;text-underline-offset:.25rem}.monogram{aspect-ratio:1;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 30% 25%,#9d6daa,var(--deep) 70%);color:#fff;border-radius:50% 50% 47% 53%/45% 53% 47% 55%;box-shadow:var(--shadow)}.monogram span{font:700 clamp(4rem,9vw,8rem)/1 "Libre Baskerville",serif}.monogram small{margin-top:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.cat-note{display:flex;gap:1rem;margin-top:2rem;padding:1.2rem 1.35rem;background:#f7edf6;border:1px solid var(--line);border-radius:1rem}.cat-note>span:first-child{font-size:1.6rem}
.price-section{padding:5rem 0;background:var(--deep);color:#fff}.price-card{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:center}.price-card h2{font-size:clamp(2rem,4vw,3.3rem)}.price-card>div:first-child p:last-child{max-width:650px;color:#dbcddd}.price{text-align:center}.amount{display:block;font:700 clamp(4rem,9vw,7rem)/1 "Libre Baskerville",serif}.price>span:nth-child(2){display:block;margin:.4rem 0 1.5rem;color:#dbcddd;font-weight:700}
.testimonial{background:#eedfeb;text-align:center}.quote-wrap{max-width:900px}.quote-mark{display:block;height:4rem;color:#9d6997;font:700 7rem/1 Georgia,serif}.testimonial blockquote{margin:1rem auto 1.5rem;font:400 clamp(1.55rem,3vw,2.45rem)/1.5 "Libre Baskerville",serif}.testimonial cite{color:#655668;font-style:normal;font-weight:800}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{position:relative;padding:1.4rem 2.5rem 1.4rem 0;cursor:pointer;list-style:none;font-weight:800}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:.2rem;top:1.1rem;color:var(--plum);font-size:1.5rem}details[open] summary::after{content:"–"}details p{margin:-.4rem 2.5rem 1.5rem 0;color:#665c69}
.final-cta{padding-top:1rem}.cta-card{padding:clamp(3rem,7vw,6rem);text-align:center;color:#fff;background:linear-gradient(130deg,#381b47,#754479);border-radius:2rem;box-shadow:var(--shadow)}.cta-card h2{margin-inline:auto}.cta-card p:not(.eyebrow){margin:1rem auto 1.8rem;color:#eadde9}
footer{padding:5rem 0 2rem;color:#ded1df;background:#1f1127}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}.footer-brand{color:#fff;font:700 1.35rem "Libre Baskerville",serif;text-decoration:none}.footer-grid p{max-width:330px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.footer-grid strong{margin-bottom:.35rem;color:#fff}.footer-grid a:not(.footer-brand){color:#ded1df;text-underline-offset:.25rem}.legal{display:flex;justify-content:space-between;gap:2rem;margin-top:4rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem}
@media(max-width:860px){.two-col,.about-grid,.price-card,.faq-grid{grid-template-columns:1fr}.photo-card{width:min(100%,520px);height:auto;min-height:0;max-height:none;justify-self:center}.photo-card img{height:auto;aspect-ratio:4/5}.monogram{width:min(380px,85%);margin-inline:auto}.price{text-align:left}.price .button{width:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.section{padding:5rem 0}.section h2{font-size:2.15rem}.hero h1{font-size:3rem}.hero-actions .button{width:100%}.two-col{gap:4rem}.photo-card::before{inset:-.6rem .6rem .6rem -.6rem}.price-card{gap:1rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.legal{flex-direction:column;margin-top:3rem}}
.policy{max-width:760px;padding-block:5rem}.policy h1{margin:2rem 0 1rem;font-size:clamp(2.5rem,7vw,4.5rem)}.policy h2{margin-top:2.5rem;font-size:1.6rem}.policy a{color:var(--plum);font-weight:800;text-underline-offset:.25rem}
.experience .two-col{display:block;max-width:780px;margin-inline:auto}.experience h2{max-width:700px}

/* Quiet minimal hero */
.hero-minimal{min-height:760px;background:linear-gradient(135deg,#211027 0%,#311637 66%,#3d1d43 100%)}.hero-minimal::before,.hero-minimal::after{display:none}.hero-minimal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,6vw,6rem);align-items:end;min-height:760px;padding-top:8rem}.hero-minimal .hero-copy{align-self:center;max-width:730px;padding:3rem 0 5rem;text-align:left}.hero-minimal h1{font-size:clamp(3.4rem,5.6vw,6rem)}.hero-minimal .hero-lede{max-width:560px;margin:1.4rem 0 0;color:#d3c9d5}.hero-minimal .hero-actions{justify-content:flex-start}.hero-minimal .button-light{background:#f5f0ea}.hero-minimal .eyebrow{color:#cfa5c3}.hero-art{position:relative;align-self:end;height:650px;transform:translateX(4.5rem)}.hero-arch{position:absolute;inset:0 0 0 0;background:url("/images/hero-butterfly-meadow.webp") 68% center/cover;border:1px solid rgba(255,255,255,.2);border-bottom:0;border-radius:18rem 18rem 0 0;box-shadow:0 0 0 14px rgba(255,255,255,.025)}.hero-arch::after{content:"";position:absolute;inset:0;background:rgba(34,18,40,.13);border-radius:inherit;mix-blend-mode:multiply}.price-orbit{position:absolute;left:-3.7rem;bottom:6rem;display:grid;width:7.4rem;height:7.4rem;place-content:center;text-align:center;background:#f5f0ea;color:var(--deep);border-radius:50%;box-shadow:0 18px 45px rgba(12,5,16,.42)}.price-orbit strong{font:700 2rem/1 "Libre Baskerville",serif}.price-orbit span{margin-top:.35rem;font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:860px){.hero-minimal-grid{grid-template-columns:1fr;min-height:920px;padding-top:7rem}.hero-minimal .hero-copy{max-width:700px;padding:3rem 0 1rem;text-align:center}.hero-minimal h1{font-size:clamp(3.1rem,10vw,5.2rem)}.hero-minimal .hero-lede{margin-inline:auto}.hero-minimal .hero-actions{justify-content:center}.hero-art{width:min(72vw,440px);height:450px;margin-inline:auto;transform:none}.price-orbit{left:-2.8rem;bottom:3rem;width:6.2rem;height:6.2rem}.price-orbit strong{font-size:1.65rem}}
@media(max-width:560px){.hero-minimal-grid{min-height:880px}.hero-minimal .hero-copy{padding-inline:.3rem}.hero-minimal h1{font-size:clamp(2.85rem,13vw,4rem)}.hero-art{width:78vw;height:390px}.price-orbit{left:-1.4rem;bottom:2.5rem}.hero-minimal .hero-actions .text-link{width:100%;text-align:center}}

/* CMS image keeps the existing arch composition. */
.hero-arch{background:none;overflow:hidden}.hero-arch img{width:100%;height:100%;object-fit:cover;object-position:68% center}

/* Local proof: code controls layout independently of CMS content. */
.hero-minimal .hero-actions{gap:1.25rem}

/* Storefront and editable pages */
.content-page .site-header{position:relative;background:var(--deep)}
.content-page .nav-links a{display:inline-block}
.content-page main{min-height:60vh}
.shop-intro{padding-block:5rem 2rem;max-width:1120px}
.shop-intro h1{max-width:850px}
.shop-list{display:grid;gap:2rem;padding-bottom:6rem}
.product-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--paper);border:1px solid var(--line);border-radius:1.5rem;overflow:hidden}
.product-card:not(:has(>a)){grid-template-columns:1fr;max-width:760px}
.product-card>a img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.product-card-copy{padding:clamp(1.5rem,4vw,3.5rem)}
.product-card h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.product-card h2 a{text-decoration:none}
.product-card-copy>p:not(.eyebrow){color:#665c69}
.product-card .button{margin-top:1rem}
.product-detail{padding-block:2rem 6rem}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.85rem;margin-bottom:3rem;color:#665c69}
.product-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.product-grid h1{font-size:clamp(2.5rem,5vw,4.5rem)}
.product-image{border-radius:1.5rem;overflow:hidden;margin-bottom:2.5rem}
.product-image img{width:100%;height:auto}
.prose{overflow-wrap:anywhere}
.prose h2{margin:2.5rem 0 1rem;font-size:clamp(1.5rem,3vw,2rem);line-height:1.3}
.prose h3{margin-top:2rem;font-size:1.3rem}
.prose p,.prose li{color:#665c69}
.prose li+li{margin-top:.6rem}
.prose a{color:var(--plum);text-underline-offset:.2rem}
.purchase-card{grid-column:2;grid-row:1/3;position:sticky;top:2rem;padding:2rem;background:linear-gradient(135deg,#311637,#4d245e);border-radius:1.5rem;color:white;box-shadow:var(--shadow)}
.purchase-card h2{font-size:1.9rem;line-height:1.3}
.product-price{font-weight:700}
.purchase-card .button{width:100%;margin-top:1rem;text-align:center}
.checkout-note{font-size:.9rem;color:#eadde9;line-height:1.7}
.purchase-card>.text-link{font-size:.85rem}
.content-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem}
.content-footer nav{display:flex;flex-wrap:wrap;gap:1.5rem}
@media(max-width:760px){.product-card,.product-grid{grid-template-columns:1fr}.purchase-card{position:static;grid-column:auto;grid-row:auto}.shop-intro{padding-top:3rem}.product-detail{padding-bottom:4rem}.nav-links a.shop-nav{display:inline-block}.nav{gap:1rem}.nav-links{gap:.85rem}.content-page .nav-links a{font-size:.8rem}}
