:root{--p:#7b3fa0;--pd:#4b1e69;--l:#e9dcf3;--c:#fbf7f0}
*{box-sizing:border-box}
body{margin:0;font-family:Lato,sans-serif;color:#3a2d42;line-height:1.65;background:var(--c);
 background-image:url("assets/butterfly.svg"),url("assets/butterfly.svg"),radial-gradient(circle at 1px 1px,#e4d6ee 1px,transparent 1.5px);
 background-size:46px,30px,22px 22px;background-position:20px 40px,140px 200px,0 0;background-blend-mode:normal;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background:url("assets/butterfly.svg") 0 0/38px,url("assets/butterfly.svg") 110px 150px/24px;opacity:.13;pointer-events:none;z-index:0}
body{background-image:radial-gradient(circle at 1px 1px,#e4d6ee 1px,transparent 1.5px);background-size:22px 22px}
header,main,footer{position:relative;z-index:1}
h1,h2,h3{font-family:"Cormorant Garamond",serif;color:var(--pd);line-height:1.15}
a{color:var(--p)}
.top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.8rem 1.5rem;background:rgba(251,247,240,.94);border-bottom:2px solid var(--l)}
.brand{display:flex;align-items:center;gap:.5rem;font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:700;text-decoration:none;color:var(--pd)}
nav a{margin-left:1rem;text-decoration:none;font-weight:700;font-size:.95rem}
.hero{text-align:center;padding:4.5rem 1.5rem 3.5rem;max-width:780px;margin:2rem auto 0;background:rgba(255,255,255,.88);border:1px solid var(--l);border-radius:20px;box-shadow:0 0 0 8px rgba(233,220,243,.5)}
.kicker{letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--p)}
h1{font-size:clamp(2.6rem,7vw,4.4rem);margin:.3rem 0}
h1 span{color:var(--p);font-style:italic}
.tag{font-size:1.15rem;max-width:560px;margin:1rem auto 1.8rem}
.btn{display:inline-block;background:var(--p);color:#fff;padding:.75rem 1.6rem;border-radius:999px;text-decoration:none;font-weight:700}
.btn:hover{background:var(--pd)}
.wrap{max-width:1050px;margin:0 auto;padding:1rem 1.5rem}
.narrow{max-width:760px}
section h2{text-align:center;font-size:2.4rem}
#about,#craft,.emma{background:rgba(255,255,255,.88);border-radius:18px;border:1px solid var(--l);padding:1.5rem 2rem}
.divider{display:flex;justify-content:center;gap:1.2rem;margin:2.5rem 0}
.divider::before,.divider::after,.divider span{content:"";width:34px;height:34px;background:url(assets/butterfly.svg) center/contain no-repeat}
.divider span{width:46px;height:46px}
.cards{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem}
.card{background:#fff;border:1px solid var(--l);border-radius:18px;padding:1.5rem;box-shadow:0 6px 20px rgba(75,30,105,.08)}
.book{display:grid;grid-template-columns:170px 1fr;gap:1.3rem;border-top:5px solid var(--p)}
.book img{width:100%;height:auto;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.book h3{font-size:1.6rem;margin:.4rem 0}
.sub{font-size:.95rem}
.pill{background:var(--l);color:var(--pd);border-radius:999px;padding:.15rem .7rem;font-size:.8rem;font-weight:700}
.soon{text-align:center;border:2px dashed #cbb0dd;background:rgba(255,255,255,.85)}
.soon img{opacity:.6}
.tech{padding-left:1.2rem}.tech li{margin:.4rem 0}
.emma{text-align:center;margin-top:2rem}
footer{text-align:center;padding:2rem;margin-top:2rem;background:var(--pd);color:#f1e7f7}
footer img{filter:brightness(2.2)}
.flutter i{position:fixed;width:34px;height:34px;background:url(assets/butterfly.svg) center/contain no-repeat;opacity:.55;pointer-events:none;z-index:0;animation:fly 9s ease-in-out infinite}
.flutter i:nth-child(1){top:12%;left:3%}
.flutter i:nth-child(2){top:35%;right:3%;animation-delay:-2s;width:26px}
.flutter i:nth-child(3){top:62%;left:2%;animation-delay:-4s;width:42px;height:42px}
.flutter i:nth-child(4){top:82%;right:5%;animation-delay:-6s}
.flutter i:nth-child(5){top:20%;right:12%;animation-delay:-3s;width:22px}
.flutter i:nth-child(6){top:50%;left:10%;animation-delay:-7s;width:24px}
@keyframes fly{0%,100%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(10px,-18px) rotate(10deg)}}
@media (prefers-reduced-motion:reduce){.flutter i{animation:none}}
@media (max-width:820px){.cards{grid-template-columns:1fr 1fr}.book{grid-column:1/-1}}
@media (max-width:520px){.cards{grid-template-columns:1fr}.book{grid-template-columns:1fr;text-align:center}.book img{max-width:200px;margin:auto}nav a{margin:0 .8rem 0 0}.flutter i:nth-child(n+5){display:none}#about,#craft,.emma{padding:1.2rem}}
/* ===== v2: bigger butterflies, more purple ===== */
:root{--plum:#3b1452;--violet:#7b3fa0;--lav:#c9a8e4}
body{background-color:#f4ecfa;background-image:url("assets/butterfly.svg"),radial-gradient(circle at 1px 1px,#dcc6ec 1px,transparent 1.6px);background-size:110px,22px 22px;background-position:30px 30px,0 0}
body::before{background:url("assets/butterfly.svg") 0 0/90px,url("assets/butterfly.svg") 160px 220px/60px;opacity:.22}
.top{background:linear-gradient(90deg,var(--plum),var(--violet));border-bottom:3px solid var(--lav)}
.brand,nav a{color:#fff}
.band-dark{background:linear-gradient(135deg,var(--plum) 0%,var(--violet) 55%,#b48ad6 100%);color:#fff}
.band-dark h1,.band-dark h2,.band-dark h1 span{color:#fff}
.hero{position:relative;overflow:hidden;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:6rem 1.5rem 5rem}
.hero>*{position:relative;z-index:1}
.hero .kicker{color:#e9d8f7}.hero .tag{color:#f6effb}
.hero .btn{background:#fff;color:var(--plum)}
.big{position:absolute!important;z-index:0!important;background:url(assets/butterfly-light.svg) center/contain no-repeat;opacity:.5;pointer-events:none;animation:fly 10s ease-in-out infinite}
.b1{width:200px;height:200px;left:4%;top:18%}
.b2{width:170px;height:170px;right:5%;bottom:10%;animation-delay:-5s}
.btn{background:var(--violet);border:2px solid var(--plum);box-shadow:0 4px 0 var(--plum)}
.btn:hover{background:var(--plum)}
section{position:relative}
.corner{position:absolute;top:-30px;right:-10px;width:140px;height:140px;background:url(assets/butterfly.svg) center/contain no-repeat;transform:rotate(18deg);pointer-events:none;z-index:0}
#craft .corner,#books .corner{left:-20px;right:auto;transform:rotate(-18deg)}
#about,#craft,.emma,.card{position:relative;z-index:1;border:2px solid var(--lav)}
#about,#craft{background:#fff}
#about>*:not(.corner),#craft>*:not(.corner){position:relative;z-index:1}
#about .corner,#craft .corner{width:120px;height:120px;top:-55px}
.book{border-top:6px solid var(--violet)}
.pill{background:var(--violet);color:#fff}
.soon{border:2px dashed var(--violet);background:#f7f0fc}
.soon img{width:110px;height:110px;opacity:.85}
.divider{gap:2rem}
.divider::before,.divider::after{width:80px;height:80px}
.divider span{width:120px;height:120px}
.flutter i{width:90px;height:90px;opacity:.5}
.flutter i:nth-child(2){width:70px;height:70px}
.flutter i:nth-child(3){width:120px;height:120px}
.flutter i:nth-child(5){width:60px;height:60px}
.flutter i:nth-child(6){width:75px;height:75px}
.videoband{padding:3rem 0 3.5rem;overflow:hidden}
.videoband .corner{background-image:url(assets/butterfly-light.svg);opacity:.5;width:180px;height:180px;top:-20px}
.video-frame{position:relative;max-width:860px;margin:0 auto;aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:4px solid var(--lav);box-shadow:0 12px 40px rgba(0,0,0,.35);background:var(--plum)}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,var(--violet),var(--plum));background-image:url(assets/butterfly-light.svg),radial-gradient(circle,var(--violet),var(--plum));background-size:70%,cover;background-position:center;background-repeat:no-repeat;background-blend-mode:soft-light}
.play{width:90px;height:90px;border-radius:50%;background:#fff;position:relative;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.play::after{content:"";position:absolute;left:36px;top:26px;border-left:28px solid var(--violet);border-top:19px solid transparent;border-bottom:19px solid transparent}
.video-placeholder p{color:#fff;font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:700;margin:.8rem 0 0}
footer{background:linear-gradient(135deg,var(--plum),var(--violet));border-top:4px solid var(--lav)}
footer img{filter:none}
@media (max-width:520px){
 .b1{width:120px;height:120px;left:-20px;top:8%}.b2{width:100px;height:100px;right:-15px}
 .corner,#about .corner,#craft .corner{width:80px;height:80px;top:-35px}
 .videoband .corner{width:100px;height:100px}
 .flutter i{width:55px;height:55px}.flutter i:nth-child(3){width:70px;height:70px}
 .divider span{width:80px;height:80px}.divider::before,.divider::after{width:55px;height:55px}
 .hero{padding:4rem 1.2rem 3.5rem}
 .play{width:64px;height:64px}.play::after{left:25px;top:18px;border-left-width:20px;border-top-width:14px;border-bottom-width:14px}
 .video-placeholder p{font-size:1.4rem}.video-frame{margin:0 1rem}
}
html,body{overflow-x:clip}main{overflow-x:clip}
body{background-image:url("assets/butterfly-faint.svg"),radial-gradient(circle at 1px 1px,#dcc6ec 1px,transparent 1.6px);background-size:150px,22px 22px;background-repeat:repeat}
body::before{background:url("assets/butterfly.svg") 60px 80px/110px;opacity:.1}
section>h2{display:table;margin:0 auto 1rem;background:#fff;padding:.2rem 1.2rem;border-radius:999px;border:2px solid var(--lav)}
.band-dark>.wrap>h2,.band-dark h2{background:none;border:0}
/* ===== v3: sepia keepsake video ===== */
.caption{text-align:center;color:#f6effb;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.3rem;margin:-.4rem 0 1.6rem}
.keepsake{position:relative;max-width:880px;margin:0 auto;padding:18px;background:#f5ecd9;background-image:radial-gradient(circle at 30% 20%,#fbf5e8,#eadcbf);border-radius:20px;box-shadow:0 18px 45px rgba(20,0,30,.45),inset 0 0 0 2px #d9c49a,inset 0 0 0 8px #f5ecd9,inset 0 0 0 9px #c9b182}
.video-frame{max-width:none;margin:0;border:0;border-radius:12px;box-shadow:none;background:#3a2a1c url(https://i.ytimg.com/vi/ajVdZuEpv_M/hqdefault.jpg) center/cover}
.video-frame iframe{filter:none}
.video-frame::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:12px;box-shadow:inset 0 0 60px rgba(60,35,10,.55)}
.kb{position:absolute;width:110px;height:110px;background:url(assets/butterfly-light.svg) center/contain no-repeat;pointer-events:none;z-index:2}
.k1{top:-62px;left:-58px;transform:rotate(-20deg)}
.k2{bottom:-62px;right:-58px;transform:rotate(160deg)}
@media (max-width:520px){.keepsake{margin:0 1.2rem;padding:10px}.video-frame{margin:0}.kb{width:60px;height:60px}.k1{top:-40px;left:-22px}.k2{bottom:-40px;right:-22px}.caption{font-size:1.1rem;padding:0 1rem}}
.k1{top:-94px;left:-94px}.k2{bottom:-94px;right:-94px}
@media (max-width:520px){.k1{top:-52px;left:-20px}.k2{bottom:-52px;right:-20px}}
.memory{text-align:center;margin:0 0 .6rem}.memory img{display:block;margin:0 auto .2rem}.memory span{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.25rem;color:var(--violet);letter-spacing:.05em}
/* ===== v4: patterns shop ===== */
.shop-intro{text-align:center;background:#fff;display:table;margin:0 auto 1.5rem;padding:.4rem 1.2rem;border-radius:12px;border:2px solid var(--lav)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.pattern{text-align:center;border-top:6px solid var(--violet);display:flex;flex-direction:column;align-items:center}
.pat-img{width:100%;aspect-ratio:4/3;border-radius:12px;margin-bottom:.8rem;background:url(assets/butterfly.svg) center/45% no-repeat,linear-gradient(135deg,#efe3f8,#d9c2ec);border:2px dashed var(--lav);opacity:.85}
.pattern h3{margin:.5rem 0 .2rem;font-size:1.4rem}
.price{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:700;color:var(--violet);margin:.2rem 0 .8rem}
.pat-btns{display:flex;flex-direction:column;gap:.6rem;width:100%;margin-top:auto}
.btn.off{background:#e6dbee;color:#7c6a8a;border-color:#cbb8da;box-shadow:none;cursor:not-allowed;font-size:.95rem;padding:.55rem 1rem}
.btn.off small{display:block;font-weight:400;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.how{list-style:none;padding:1rem 1.2rem;margin:1.8rem auto 0;max-width:900px;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;background:linear-gradient(135deg,var(--plum),var(--violet));color:#fff;border-radius:999px;font-weight:700;font-size:.95rem}
.how li{display:flex;align-items:center;gap:.4rem}
.how li::before{content:"";width:22px;height:22px;flex:none;background:url(assets/butterfly-light.svg) center/contain no-repeat}
@media (max-width:820px){.cards.three{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cards.three{grid-template-columns:1fr}.how{border-radius:18px;flex-direction:column;align-items:flex-start}}
/* ===== v5: real Etsy cards ===== */
.pat-photo{display:block;width:100%;margin-bottom:.8rem}
.pat-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.pattern .pat-img{margin-bottom:0}
.bundle{border-top-color:var(--plum);background:linear-gradient(#fff,#f7effc)}
.bundle .pill{background:var(--plum)}
.pdesc{font-size:.92rem;margin:.2rem 0}
.shop-cta{text-align:center;margin:2rem 0 .8rem}
.shop-note{text-align:center;background:#fff;display:table;margin:0 auto;padding:.5rem 1.2rem;border-radius:12px;border:2px solid var(--lav);font-weight:700;color:var(--pd)}
.shop-note small{font-weight:400;color:#5a4866}
/* ===== v6: logo ===== */
.hlogo{width:56px;height:56px;border-radius:50%;border:2px solid #F5EEDE;background:#F5EEDE}
.brand{font-family:Cinzel,serif;font-size:1.25rem;letter-spacing:.04em}
.hero-logo{display:block;width:300px;height:300px;margin:0 auto 1.2rem;border-radius:50%;background:#F5EEDE;border:6px solid #F5EEDE;box-shadow:0 0 0 4px rgba(255,255,255,.35),0 18px 40px rgba(20,0,30,.45)}
.kicker{font-family:Cinzel,serif}
section h2{font-family:Cinzel,serif;font-size:2rem;letter-spacing:.03em}
.flogo{width:110px;height:110px;border-radius:50%;background:#F5EEDE;border:3px solid #F5EEDE}
@media (max-width:520px){.hero-logo{width:220px;height:220px}.hlogo{width:44px;height:44px}section h2{font-size:1.6rem}}
.btn-big{font-size:1.2rem;padding:1rem 2.4rem}
.page-hero{padding:4rem 1.5rem 3.5rem}
.hero-logo.small{width:180px;height:180px}
@media (max-width:520px){.hero-logo.small{width:140px;height:140px}}
.book-soon{max-width:560px;margin:0 auto;padding:2.2rem 1.5rem}.book-soon h3{font-size:1.9rem;margin:.6rem 0 .3rem}.book-soon img{width:120px;height:120px;opacity:1}
.yt-more{text-align:center;margin-top:2.4rem}
.yt-btn{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--plum);border-color:#F5EEDE;font-size:1.1rem;padding:.8rem 1.8rem;box-shadow:0 4px 0 rgba(0,0,0,.25)}
.yt-btn:hover{background:#F5EEDE}
.yt-more p{color:#f6effb;margin:.8rem 1rem 0}
.social a{display:inline-flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:700}
.social a:hover span{text-decoration:underline}
/* ===== v7: videos page ===== */
.vdesc{text-align:center;margin:-.2rem 0 1.4rem}.vdesc span{display:inline-block;background:var(--violet);color:#fff;border-radius:999px;padding:.1rem .7rem;font-size:.8rem;font-weight:700;margin-left:.3rem}
.vseries>h2{margin-bottom:.6rem}
.vgrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.4rem}
.vcard{all:unset;box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;cursor:pointer;background:#fff;border:2px solid var(--lav);border-radius:16px;padding:10px;box-shadow:0 8px 22px rgba(75,30,105,.12);transition:transform .15s,box-shadow .15s}
.vcard:hover,.vcard:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px rgba(75,30,105,.22);border-color:var(--violet)}
.vcard:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.vthumb{position:relative;display:block;padding:7px;background:#f5ecd9;border-radius:10px;box-shadow:inset 0 0 0 1px #d9c49a}
.vthumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.vthumb::after{content:"";position:absolute;inset:7px;border-radius:6px;box-shadow:inset 0 0 28px rgba(60,35,10,.5);pointer-events:none}
.vplay{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(123,63,160,.92);box-shadow:0 4px 12px rgba(0,0,0,.35);z-index:1}
.vplay::after{content:"";position:absolute;left:21px;top:16px;border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.vtitle{display:block;padding:.7rem .3rem .2rem;font-weight:700;color:var(--pd);font-size:.95rem;line-height:1.35;white-space:pre-wrap}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(30,8,42,.88);display:flex;align-items:center;justify-content:center;padding:1rem}
.lightbox[hidden]{display:none}
.lb-inner{position:relative;width:min(960px,100%)}
.lb-close{position:absolute;top:-48px;right:0;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:var(--plum);font-size:1.8rem;line-height:1;cursor:pointer}
.lb-title{color:#fff;text-align:center;font-weight:700;margin:.8rem 0 0;white-space:pre-wrap}
.all-videos{margin-top:.6rem;background:var(--plum);border-color:#F5EEDE;color:#fff}
@media (max-width:520px){.vgrid{grid-template-columns:1fr 1fr;gap:.8rem}.vcard{padding:6px}.vthumb{padding:4px}.vthumb::after{inset:4px}.vtitle{font-size:.8rem}.vplay{width:38px;height:38px;margin:-19px 0 0 -19px}.vplay::after{left:15px;top:11px;border-left-width:12px;border-top-width:8px;border-bottom-width:8px}}
#lb-frame{background:#2a1d14}
.emma-line{margin:0 0 .9rem;font-weight:700;color:var(--pd)}.emma-line span{font-weight:400;font-style:italic;color:#5a4866}
.btn-emma{background:var(--violet);color:#fff;border-color:var(--plum)}
.foot-emma{margin:1.2rem 0}.foot-emma p{margin:0 0 .5rem;font-style:italic;color:#e9d8f7}
.btn-emma.light{background:#F5EEDE;color:var(--plum);border-color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.25)}
.btn-emma.light:hover{background:#fff}
#about + .emma{margin-top:1.5rem}
/* ===== v8: sepia only on home welcome video ===== */
.video-frame{filter:none}
#video .video-frame{filter:sepia(.75) contrast(1.05) brightness(.97) saturate(.9)}
#lb-frame{background:#000}
#lb-frame::after{display:none}
.lightbox .keepsake{background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.5),inset 0 0 0 3px var(--violet)}
.vthumb{background:#fff;box-shadow:inset 0 0 0 2px var(--violet)}
.vthumb img{filter:none}
.vthumb::after{display:none}

/* v9 cards banner */
.cards-banner{position:relative;overflow:hidden;padding:3rem 0 3.2rem;text-align:center}
.cards-banner h2{margin:0 0 .3rem}.cb-lead{margin:0 0 1.6rem;opacity:.92;font-style:italic}
.cb-bf{position:absolute;opacity:.35;pointer-events:none;width:70px}
.cb-bf1{top:14px;left:5%;transform:rotate(-15deg)}.cb-bf2{top:30px;right:7%;width:54px;transform:rotate(18deg)}.cb-bf3{bottom:10px;left:46%;width:42px;opacity:.25}
.cb-marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cb-track{display:flex;gap:1.4rem;width:max-content;margin:0;padding:.4rem 0;list-style:none;animation:cb-scroll 60s linear infinite}
.cb-marquee:hover .cb-track,.cb-marquee:focus-within .cb-track{animation-play-state:paused}
.cb-track li{flex:none}
.cb-track a{display:block;background:#fbf6ea;padding:10px;border-radius:6px;box-shadow:0 6px 18px rgba(40,10,60,.35);transition:transform .3s}
.cb-track a:hover,.cb-track a:focus{transform:translateY(-4px) rotate(-1deg)}
.cb-track img{display:block;height:220px;width:auto;border-radius:2px}
@keyframes cb-scroll{to{transform:translateX(calc(-50% - .7rem))}}
@media (max-width:600px){.cb-track img{height:150px}.cb-track{gap:1rem;animation-duration:45s}.cb-bf1{width:48px}}
@media (prefers-reduced-motion:reduce){.cb-track{animation:none;width:auto}.cb-marquee{overflow-x:auto;-webkit-mask:none;mask:none}.cb-track li[aria-hidden]{display:none}}

/* v10 free pattern of the month */
.free-pattern{padding-top:3rem;padding-bottom:3rem}
.fp-month{white-space:nowrap}
.fp-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:1.6rem;align-items:center;background:#fff;border:2px solid var(--lav);border-radius:14px;padding:1.4rem;box-shadow:0 8px 26px rgba(59,20,82,.12)}
.fp-grid figure{margin:0}.fp-grid img{display:block;width:100%;height:auto;border-radius:8px}
.fp-preview img{border:1px solid #ddd;background:#fff}.fp-preview figcaption{text-align:center;font-size:.85rem;color:#6a5a78;margin-top:.4rem}
.fp-info h3{margin:0;font-size:1.9rem;color:var(--plum)}
.fp-credit{margin:.2rem 0 1rem;font-style:italic;color:var(--violet);font-size:1.15rem}
.fp-details{margin:0 0 1.3rem;padding-left:1.1rem;line-height:1.6}
.fp-btn{display:inline-block;background:var(--violet);color:#fff;font-size:1.2rem;padding:.95rem 2rem;border-radius:999px;text-decoration:none;font-weight:700;box-shadow:0 4px 0 var(--plum)}
.fp-btn:hover,.fp-btn:focus{background:var(--plum)}
.fp-note{font-size:.9rem;color:#6a5a78;margin:.9rem 0 0}
@media (max-width:900px){.fp-grid{grid-template-columns:1fr 1fr}.fp-info{grid-column:1/-1;grid-row:1;text-align:center}.fp-details{text-align:left;display:inline-block}}
@media (max-width:560px){.fp-grid{grid-template-columns:1fr}.fp-btn{display:block;text-align:center}}
.fp-feature{display:flex;gap:1.2rem;align-items:center;max-width:760px;margin:0 auto 2rem;background:#fff;border:2px solid var(--violet);border-radius:14px;padding:1rem;text-decoration:none;color:inherit;box-shadow:0 6px 20px rgba(59,20,82,.15)}
.fp-feature img{width:42%;height:auto;border-radius:8px}
.fp-feature-text{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
.fp-tag{background:var(--violet);color:#fff;font-size:.8rem;padding:.2rem .7rem;border-radius:999px}
.fp-feature strong{font-size:1.5rem;color:var(--plum)}.fp-feature em{color:var(--violet)}
@media (max-width:560px){.fp-feature{flex-direction:column}.fp-feature img{width:100%}.fp-feature-text{align-items:center;text-align:center}}

/* v11 gallery */
.maker{padding-top:2.5rem}.maker h2{text-align:center}
.g-grid{columns:3 260px;column-gap:1.4rem}
.g-item{break-inside:avoid;margin:0 0 1.4rem;background:#fbf6ea;padding:12px 12px 10px;border-radius:8px;box-shadow:0 6px 18px rgba(59,20,82,.18);text-align:center}
.g-item img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:3px}
.g-link{display:block;cursor:zoom-in}
.g-item figcaption{margin-top:.6rem;font-size:.92rem;line-height:1.4;color:#4a3a58}
.g-item figcaption strong{display:block;color:var(--plum);font-size:.85rem;letter-spacing:.02em}
.g-invite{text-align:center;padding:1rem 0 3rem}.g-invite p{display:inline-block;background:#fff;border:2px dashed var(--lav);border-radius:12px;padding:1rem 1.6rem;font-style:italic;font-size:1.1rem;color:var(--plum)}
.g-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(30,8,44,.88);display:flex;align-items:center;justify-content:center;padding:1rem}
.g-lightbox[hidden]{display:none}
.g-lightbox figure{margin:0;background:#fbf6ea;padding:14px;border-radius:8px;max-width:95vw;text-align:center}
.g-lightbox img{display:block;max-width:min(90vw,100%);max-height:80vh;width:auto;height:auto;margin:0 auto}
.g-lightbox figcaption{margin-top:.6rem;color:var(--plum)}
.g-lightbox .lb-close{position:absolute;top:12px;right:16px}
.g-teaser{text-align:center;padding-top:2.5rem;padding-bottom:2.5rem}
.g-teaser-row{display:flex;gap:1.2rem;justify-content:center;align-items:center;flex-wrap:wrap;margin:1rem 0 .4rem}
.g-teaser-row a{background:#fbf6ea;padding:8px;border-radius:6px;box-shadow:0 5px 14px rgba(59,20,82,.18)}
.g-teaser-row img{display:block;height:200px;width:auto}
.g-teaser-credit{font-size:.9rem;color:#6a5a78;margin:.6rem 0 1rem}
@media (max-width:600px){.g-teaser-row{gap:.6rem}.g-teaser-row img{height:110px}}
@media (max-width:600px){nav{display:flex;flex-wrap:wrap;gap:.35rem .9rem}nav a{margin:0;white-space:nowrap;font-size:.9rem}}

/* v12 Emma & Wendy keepsake */
.keepsake-photo{padding:3rem 1rem 3.5rem;text-align:center}
.polaroid{position:relative;display:inline-block;width:100%;max-width:420px;margin:0;background:#fbf6ea;padding:14px 14px 0;border-radius:4px;box-shadow:0 10px 30px rgba(59,20,82,.22),0 2px 6px rgba(59,20,82,.12);transform:rotate(-1.2deg)}
.polaroid img{display:block;width:100%;height:auto}
.polaroid figcaption{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.7rem;color:var(--plum);padding:.6rem 0 .9rem}
.polaroid .kp-bf{position:absolute;width:58px;top:-24px;right:-22px;transform:rotate(20deg);z-index:2}
@media (max-width:520px){.keepsake-photo{padding:2rem .6rem 2.5rem}.polaroid{max-width:none}.polaroid .kp-bf{width:44px;right:-6px;top:-20px}}
