/* Layout: blush-and-gold "pink room" world from her approved mockups. Each ministry gets its own accent inside one family:
   Weddings = ivory + gold, Eagle's Faith = deep rose/plum + gold, Embrace Outreach = warm blush, Notary = clean ivory. Single light look on purpose. */
:root{
  --bg:#fdfafa; --blush:#fdf2f3; --blush2:#fae6ea; --rose:#f2d3da; --pink:#dd6c89; --pink-d:#c4566f;
  --plum:#5a2340; --plum-2:#7a3456; --gold:#b2803f; --gold-d:#8f6228; --gold-l:#dcc08a;
  --ink:#3d3133; --muted:#6e5e60; --white:#fff;
  --script:"Great Vibes","Pinyon Script",cursive;
  --caps:"Cinzel","Trajan Pro",Georgia,serif;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.55;font-weight:500}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-weight:400;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1160px;margin:0 auto;padding-inline:20px}
.caps{font-family:var(--caps);text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:400}
.script{font-family:var(--script);font-weight:400;line-height:1}
.gold{color:var(--gold)} .pinkc{color:var(--pink)}
.btn{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:999px;padding:12px 26px;background:linear-gradient(180deg,#e9849f,#dd6c89);color:#fff;font-family:var(--caps);text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;text-decoration:none;cursor:pointer;box-shadow:0 4px 14px rgba(221,108,137,.25);transition:transform .2s,filter .2s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.gold{background:linear-gradient(180deg,#c09150,#93622a);box-shadow:0 4px 14px rgba(147,98,42,.25)}
.btn.ghost{background:rgba(255,255,255,.7);color:var(--gold-d);box-shadow:inset 0 0 0 1px var(--gold-l)}
.btn.plum{background:linear-gradient(180deg,#8a3f63,#5a2340);box-shadow:0 4px 14px rgba(90,35,64,.25)}
.btn svg{width:9px;height:9px}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.divider{display:flex;align-items:center;gap:12px;justify-content:center;color:var(--gold-l);margin:16px 0}
.divider:before,.divider:after{content:"";height:1px;width:60px;background:currentColor}
.divider svg{width:12px;height:12px;color:var(--gold)}

/* header */
.demo-bar{background:var(--ink);color:#f7e9eb;text-align:center;font:14px var(--serif);padding:5px 16px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(253,250,250,.96);backdrop-filter:blur(8px);border-bottom:1px solid #f1e3e5}
.nav{display:flex;align-items:center;gap:16px;min-height:80px}
.logo img{height:70px;width:auto}
.menu{display:flex;gap:2px;margin-left:auto;align-items:center}
.menu a{font-family:var(--caps);text-transform:uppercase;letter-spacing:.07em;font-size:11px;text-decoration:none;padding:8px 9px;position:relative;white-space:nowrap}
.menu a:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:linear-gradient(90deg,#c9a25a,#a7782e);transform:translateX(-50%);transition:width .2s}
.menu a.on{color:var(--gold-d)} .menu a.on:after,.menu a:hover:after{width:28px}
.menu .btn{margin-left:12px;padding:9px 18px;font-size:10.5px;letter-spacing:.1em}
.menu .btn:after{display:none}
.cartbtn{position:relative;border:1px solid var(--rose);background:#fff;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--ink);flex-shrink:0}
.cartbtn svg{width:17px;height:17px}
.cartbtn b{position:absolute;top:-4px;right:-4px;background:var(--pink);color:#fff;font:600 11px/18px var(--serif);min-width:18px;border-radius:9px;padding:0 4px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--rose);border-radius:8px;width:40px;height:40px;cursor:pointer;color:var(--ink)}
@media (max-width:1150px){
  .burger{display:grid;place-items:center}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:8px 20px 18px;border-bottom:1px solid var(--rose);box-shadow:0 12px 24px rgba(61,49,51,.08)}
  .menu.open{display:flex}
  .menu a{padding:13px 4px;border-bottom:1px solid var(--blush2);font-size:12px}
  .menu a:after{display:none}
  .menu .btn{margin:12px 0 0;justify-content:center}
}
@media (max-width:480px){.logo img{height:54px}}

/* hero */
.hero{position:relative;overflow:hidden;
  background:
    radial-gradient(55% 75% at 28% 42%,rgba(255,255,255,.96),rgba(255,255,255,0) 72%),
    radial-gradient(30% 40% at 88% 20%,rgba(255,240,220,.9),rgba(255,240,220,0) 70%),
    repeating-linear-gradient(90deg,rgba(255,255,255,0) 0 30px,rgba(255,255,255,.22) 30px 38px,rgba(255,255,255,0) 38px 66px),
    linear-gradient(180deg,#f9dfe4 0%,#f6d2da 65%,#f1c3cd 100%)}
.hero .roses{position:absolute;left:0;bottom:0;width:200px;-webkit-mask-image:linear-gradient(90deg,#000 60%,transparent);mask-image:linear-gradient(90deg,#000 60%,transparent)}
.hero .sparkle{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1.2px,transparent 2px),radial-gradient(circle,rgba(230,190,120,.7) 0 1px,transparent 1.8px);background-size:120px 90px,170px 130px;background-position:10px 20px,60px 40px;opacity:.55;pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;min-height:560px}
.hero-text{text-align:center;align-self:center;padding:46px 0 56px}
.hero-text .lg{width:min(500px,92%);margin:0 auto}
.hero-text .roles{margin-top:16px;color:var(--gold-d);font-size:12.5px;letter-spacing:.26em}
.hero-text h1{font-style:italic;font-family:var(--serif);font-size:clamp(26px,2.6vw,34px);line-height:1.3;margin:6px 0 26px;font-weight:500}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero-photo{align-self:end;justify-self:center;width:min(500px,100%)}
.hero-photo img{width:100%;filter:drop-shadow(0 16px 28px rgba(150,80,95,.22));-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 7%);mask-image:linear-gradient(0deg,transparent 0,#000 7%)}
.words{position:absolute;right:3%;top:12%;z-index:2;font-family:var(--script);color:var(--gold);font-size:34px;line-height:1.05;transform:rotate(-8deg);text-align:right}
@media (max-width:1000px){.words{display:none}}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;min-height:0}.hero-text{padding:34px 0 8px}.hero-photo{width:min(380px,92%)}.hero .roses{width:120px}}

/* banner */
.banner{position:relative;background:#f7dfe4}
.banner .full{width:100%;height:auto}
.banner .hot{position:absolute;left:22.7%;top:71.2%;width:15.8%;height:7.4%;border-radius:999px}
.banner .hot:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.banner .mob{display:none}
@media (max-width:700px){
  .banner .full,.banner .hot{display:none}
  .banner .mob{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 16px 0;background:linear-gradient(180deg,#fff,#fbe3e8)}
  .banner .mob .lg{width:min(320px,90%)}
  .banner .mob .q{font-style:italic;font-size:22px;line-height:1.35;margin:14px 0 18px}
  .banner .mob .ph{width:100%;margin-top:22px}
}

/* trust strip */
.strip{background:linear-gradient(90deg,#a87b2b,#d6b066 50%,#a87b2b);color:#fff}
.strip .wrap{display:flex;justify-content:center;gap:12px 34px;flex-wrap:wrap;padding-block:12px}
.strip span{font-family:var(--caps);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.strip svg{width:14px;height:14px}

section{padding-block:76px}
.head{text-align:center;margin-bottom:40px}
.head .script{font-size:clamp(52px,6.5vw,74px);color:var(--gold)}
.head .script.pinkc{color:var(--pink)}
.head .caps{margin-top:2px;font-size:14px;letter-spacing:.22em}
.head p.lead{max-width:640px;margin:12px auto 0;color:var(--muted)}

/* welcome */
.wel{background:linear-gradient(180deg,#fff,var(--blush))}
.wel .wrap{display:grid;grid-template-columns:320px 1fr 340px;gap:44px;align-items:center}
.wel .photo{width:320px;max-width:100%}
.wel h2{display:flex;flex-direction:column}
.wel h2 .script{font-size:clamp(64px,7vw,86px);color:var(--pink)}
.wel h2 .caps{font-size:20px;letter-spacing:.16em;margin:-16px 0 0 80px}
.wel .txt{min-width:0}
.wel .txt p{margin:20px 0 24px;max-width:38ch}
.box{background:#fcefef;padding:14px 28px}
.it{display:flex;gap:20px;align-items:center;padding:12px 0}
.it img{width:58px;height:58px;flex-shrink:0}
.it b{display:block;font-family:var(--caps);font-weight:400;text-transform:uppercase;letter-spacing:.18em;font-size:13px}
.it span{display:block;font-size:15.5px;line-height:1.35;color:var(--muted)}
@media (max-width:1000px){.wel .wrap{grid-template-columns:1fr;justify-items:center;text-align:center}.wel h2 .caps{margin-left:40px}.wel .txt p{margin-inline:auto}.it{text-align:left}}

/* wedding feature */
.wfeat{background:#fff}
.wfeat .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.wfeat .badge{background:radial-gradient(circle at 50% 45%,#fff 0%,#fdf1f3 60%,#f8e2e7 100%);border:1px solid var(--rose);aspect-ratio:1/1;border-radius:50%;display:grid;place-items:center;padding:12%;box-shadow:0 0 0 14px #fff,0 0 0 15px var(--gold-l)}
.wfeat .txt{min-width:0}
.wfeat .script{font-size:clamp(54px,6vw,72px);color:var(--gold)}
.wfeat ul{list-style:none;padding:0;margin:20px 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.wfeat li{display:flex;gap:10px;align-items:flex-start}
.wfeat li svg{width:18px;height:18px;flex-shrink:0;color:var(--gold);margin-top:5px}
@media (max-width:860px){.wfeat .wrap{grid-template-columns:1fr}.wfeat .badge{max-width:320px;margin:0 auto}.wfeat ul{grid-template-columns:1fr}}

/* ministries */
.mins{background:linear-gradient(90deg,#fde8e7,#fcf1f2 45%,#fcecef)}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mcard{background:#fff;text-decoration:none;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(160,90,100,.09);transition:transform .25s,box-shadow .25s}
.mcard:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(160,90,100,.16)}
.mcard .top{position:relative;height:190px;display:grid;place-items:center;overflow:hidden}
.mcard .top.eagle{background:radial-gradient(circle at 50% 30%,#8f416a,#5a2340 70%)}
.mcard .top.embrace{background:radial-gradient(circle at 50% 30%,#fff3ef,#f6cfd6 80%)}
.mcard .top.notary{background:radial-gradient(circle at 50% 30%,#fffaf2,#efe1c8 85%)}
.mcard .top svg.big{width:120px;height:120px}
.mcard .top .eagle-svg{color:#e7c98d}
.mcard .top .emb-svg{color:var(--pink)}
.mcard .top .not-svg{color:var(--gold)}
.mcard .bd{padding:26px 26px 28px;display:flex;flex-direction:column;gap:8px;flex:1}
.mcard h3{font-family:var(--caps);font-size:17px;letter-spacing:.12em;text-transform:uppercase;line-height:1.35}
.mcard .sub{font-family:var(--script);font-size:32px;color:var(--pink);line-height:1}
.mcard p{color:var(--muted);font-size:17px;flex:1}
.mcard .more{font-family:var(--caps);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-top:8px}
@media (max-width:900px){.mgrid{grid-template-columns:1fr}}

/* "More Than Enough" band: background picture only, all words are page text */
.band{position:relative;overflow:hidden;text-align:center;display:grid;place-items:center;aspect-ratio:3.4/1;max-height:440px;min-height:260px;width:100%;background:#fbe3e6 url("/img/band.jpg") center/cover no-repeat}
.band .in{position:relative;z-index:1;padding:28px 20px;max-width:900px}
.band .top{font-size:clamp(13px,1.4vw,19px);letter-spacing:.2em;color:#4a3530}
.band .script{font-size:clamp(44px,5.6vw,84px);margin:4px 0 12px}
.band .ref span{white-space:nowrap}
.band .ref{font-size:clamp(10.5px,1vw,13px);letter-spacing:.2em;color:#4a3530}
@media (max-width:600px){.band{aspect-ratio:auto;min-height:280px;background-position:38% center}.band .ref span{white-space:nowrap}
.band .ref{line-height:2}}

/* shop */
.shopsec{background:#fff}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media (max-width:1000px){.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.products{grid-template-columns:1fr}}
.prod{background:#fff;border:1px solid #f3e1e4;display:flex;flex-direction:column;transition:box-shadow .2s}
.prod:hover{box-shadow:0 14px 30px rgba(160,90,100,.12)}
.prod .art{aspect-ratio:1/1;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff 0%,#fcecef 70%,#f8dfe5 100%);position:relative}
.prod .art svg{width:72%;height:72%}
.prod .tag{position:absolute;left:12px;top:12px;background:var(--gold);color:#fff;font:10px var(--caps);letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:999px}
.prod .b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod .cat{color:var(--gold);font-size:10.5px;letter-spacing:.18em}
.prod h4{font-size:21px;font-weight:600;line-height:1.2}
.prod p{font-size:15.5px;color:var(--muted);flex:1}
.prod select{margin-top:4px}
.prod .buy{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}
.prod .buy b{font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}
.prod .btn{padding:9px 16px;font-size:10.5px}
.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}
.filters button{border:1px solid var(--rose);background:#fff;border-radius:999px;padding:8px 18px;font:11.5px var(--caps);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--ink)}
.filters button.on{background:var(--pink);border-color:var(--pink);color:#fff}

/* events + kind words */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}
.split2>*{min-width:0}
@media (max-width:860px){.split2{grid-template-columns:1fr}}
.ev{display:grid;grid-template-columns:78px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--rose);padding:16px 18px}
.ev+.ev{margin-top:12px}
.ev .d{text-align:center;border-right:1px solid var(--rose);padding-right:12px}
.ev .d b{display:block;font-size:34px;line-height:1;color:var(--gold);font-weight:500}
.ev .d span{font-family:var(--caps);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.ev h4{font-size:21px;font-weight:600}
.ev p{font-size:15.5px;color:var(--muted)}
.ev .btn{padding:8px 16px;font-size:10.5px}
@media (max-width:600px){.ev{grid-template-columns:66px 1fr}.ev .btn{grid-column:1/-1;justify-self:start}}
.kindbox{background:#fff;border:1px solid var(--rose);padding:34px 34px 28px;text-align:center}
.kindbox .script{font-size:60px;color:var(--pink-d)}
.kindbox blockquote{margin:16px 0 0;font-style:italic;font-size:20px;line-height:1.5;min-height:150px}
.kindbox cite{display:block;font-style:normal;margin-top:10px;font-size:13px;font-family:var(--caps);letter-spacing:.14em;color:var(--muted)}
.dots{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px}
.dots button{background:none;border:0;color:var(--gold);cursor:pointer;font-size:30px;line-height:1;padding:0 8px}
.dots i{width:8px;height:8px;border-radius:50%;border:1px solid var(--gold);display:block}
.dots i.on{background:var(--gold)}

/* page banners */
.pb{position:relative;overflow:hidden;text-align:center;padding-block:60px 54px;background:radial-gradient(60% 100% at 50% 35%,#fff 0%,#fbe3e8 65%,#f5ccd5 100%)}
.pb .script{font-size:clamp(58px,8vw,92px);color:var(--gold)}
.pb .caps{margin-top:8px;font-size:13px;letter-spacing:.24em}
.pb .lead{max-width:660px;margin:16px auto 0;font-style:italic;font-size:22px}
.pb .jl{width:min(270px,62%);margin:0 auto 4px}
.pb.eagle{background:radial-gradient(70% 120% at 50% 30%,#8a3c63 0%,#5a2340 60%,#40172d 100%);color:#fbeef2}
.pb.eagle .script{color:#f3cbd8}
.pb.eagle h1.ttl{font-family:var(--caps);font-size:clamp(28px,4.4vw,48px);letter-spacing:.12em;color:#ecd29b;line-height:1.2}
.pb.eagle .lead{color:#f6dfe7}
.pb.eagle .wing{width:150px;height:90px;color:#e7c98d;margin:0 auto 10px}
.pb.embrace .ttl{font-family:var(--caps);font-size:clamp(26px,4vw,44px);letter-spacing:.1em;color:var(--plum);line-height:1.2}
.pb.embrace .script{color:var(--pink)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:860px){.cards{grid-template-columns:1fr}}
.cards.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.cards.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cards.four{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--rose);padding:28px 26px;display:flex;flex-direction:column;gap:10px}
.card h3{font-family:var(--caps);font-size:15.5px;letter-spacing:.14em;text-transform:uppercase}
.card p{color:var(--muted);font-size:17px}
.ic{width:56px;height:56px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--gold-l);display:grid;place-items:center;color:var(--gold);background:#fff}
.ic svg{width:26px;height:26px}
.plumbg{background:linear-gradient(180deg,#fbf1f4,#f6e3ea)}
.pkg{text-align:center;align-items:center}
.pkg.fav{border:1.5px solid var(--gold-l);box-shadow:0 18px 40px rgba(178,128,63,.14);position:relative}
.pkg.fav:before{content:"Most booked";position:absolute;top:-12px;background:var(--gold);color:#fff;font:11px/1 var(--caps);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.card .price,.price{font-size:50px;color:var(--gold);line-height:1;font-weight:500;font-variant-numeric:tabular-nums}
.pkg ul{list-style:none;padding:0;margin:8px 0 14px;font-size:17px;width:100%}
.pkg li{padding:7px 0;border-bottom:1px dashed var(--rose)}
.note{font-size:15px;color:var(--muted);text-align:center;margin-top:18px;font-style:italic}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;text-align:center;font-size:16px;color:var(--muted)}
.steps li:before{content:counter(s);display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border-radius:50%;border:1.5px solid var(--gold-l);color:var(--gold);font:20px var(--caps);background:#fff}
.steps b{display:block;color:var(--ink);font-family:var(--caps);font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin-bottom:4px}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,1fr);row-gap:26px}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}
.two>*{min-width:0}
.two.c{align-items:center}
@media (max-width:820px){.two{grid-template-columns:1fr}}
.prose p+p{margin-top:14px}
.prose h3{font-family:var(--script);font-size:56px;color:var(--pink);margin:4px 0 10px;line-height:1}
.prose h4{font-family:var(--caps);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:15px;margin:22px 0 6px}
.verse{border-left:2px solid var(--gold-l);padding:6px 0 6px 20px;font-style:italic;font-size:22px;margin:18px 0}
.verse cite{display:block;font-style:normal;font-family:var(--caps);font-size:12px;letter-spacing:.18em;margin-top:6px;color:var(--gold-d)}
form.f{background:#fff;border:1px solid var(--rose);padding:30px;display:grid;gap:14px}
form.f h3{font-family:var(--script);font-size:48px;color:var(--gold);line-height:1}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row{grid-template-columns:1fr}form.f{padding:22px 18px}}
label{display:grid;gap:5px;font-family:var(--caps);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:17px/1.4 var(--serif);font-weight:500;color:var(--ink);background:var(--blush);border:1px solid #efd3d9;border-radius:4px;padding:10px 12px;width:100%;text-transform:none;letter-spacing:0}
textarea{resize:vertical}
.check{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-family:var(--serif);font-size:17px}
.check input{width:auto}
.ok{background:#f3f8ef;border:1px solid #cfe2c2;color:#3d5a2c;padding:14px 16px;font-size:17px;border-radius:4px}
.amounts{display:flex;flex-wrap:wrap;gap:10px}
.amounts button{border:1px solid var(--gold-l);background:#fff;color:var(--gold-d);border-radius:999px;padding:9px 20px;font:600 17px var(--serif);cursor:pointer}
.amounts button.on{background:var(--gold);color:#fff}
details{background:#fff;border:1px solid var(--rose);padding:16px 20px}
details+details{margin-top:10px}
summary{cursor:pointer;font-size:20px;font-weight:600}
details p{margin-top:8px;color:var(--muted)}
.callout{border:1px solid var(--gold-l);background:#fffaf0;padding:18px 22px;font-size:17px;margin-top:18px}
.stat{display:flex;gap:30px;flex-wrap:wrap;margin-top:22px}

/* cart */
.drawer{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end;background:rgba(61,49,51,.35)}
.drawer .panel{background:#fff;width:min(420px,100%);height:100%;padding:calc(22px + env(safe-area-inset-top,0px)) 22px calc(22px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px;overflow:auto}
.drawer h3{font-size:46px;font-family:var(--script);color:var(--gold);line-height:1}
.cline{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--rose);padding-bottom:12px}
.cline .mini{width:60px;height:60px;background:#fcecef;display:grid;place-items:center}
.cline .mini svg{width:46px;height:46px}
.cline b{font-size:17px;font-weight:600;line-height:1.2;display:block}
.cline small{color:var(--muted);font-size:14px}
.qty{display:flex;align-items:center;gap:6px;margin-top:4px}
.qty button{width:26px;height:26px;border-radius:50%;border:1px solid var(--rose);background:#fff;cursor:pointer;color:var(--ink)}
.tot{display:flex;justify-content:space-between;font-size:21px;font-variant-numeric:tabular-nums}
.x{align-self:flex-end;background:none;border:0;font-size:28px;cursor:pointer;color:var(--ink);line-height:1}
.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:#fff;font:16px var(--serif);padding:10px 18px;border-radius:999px;z-index:60}

/* footer */
footer{background:linear-gradient(90deg,#e7839a,#e48a9d 50%,#e7839a);color:#fff}
.fg{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:30px;padding-block:40px}
.fg>div{min-width:0}
.fg .flogo{width:240px}
.fg h5{font-family:var(--caps);font-weight:400;font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px}
.fg ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:16.5px}
.fg a{text-decoration:none} .fg a:hover{text-decoration:underline}
.soc{display:flex;gap:10px;margin-top:16px}
.soc a{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#d9b064,#9d7027);display:grid;place-items:center;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.soc svg{width:15px;height:15px;fill:#fff}
.sub{display:flex;margin-top:12px;background:#fff;border-radius:4px;overflow:hidden}
.sub input{border:0;background:#fff;border-radius:0;font-size:15px;padding:9px 12px}
.sub button{border:0;background:linear-gradient(180deg,#9b6c2e,#7f561f);color:#fff;font:11px var(--caps);letter-spacing:.1em;text-transform:uppercase;padding:0 14px;cursor:pointer;white-space:nowrap}
.goldbar{background:linear-gradient(90deg,#b28040,#d9b46f 45%,#b8883f 75%,#93622a)}
.goldbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;flex-wrap:wrap;padding-block:6px}
.goldbar .caps{font-size:10.5px;letter-spacing:.16em;color:#fff}
.goldbar img{width:190px}
@media (max-width:900px){.fg{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fg{grid-template-columns:1fr}.goldbar .wrap{justify-content:center}}

/* Gold gradient script. background-clip:text only paints inside the box, and Great Vibes swashes reach
   far past their letter boxes, so the box gets generous padding (cancelled by negative margin) and nothing is cut off. */
.gt{display:inline-block;background:linear-gradient(180deg,#d3a95d 0%,#b2803f 55%,#8f6228 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.18em .42em .3em;margin:-.18em -.42em -.3em;line-height:1.1}
.script{overflow-wrap:normal}

/* Gold form outline (all forms) */
form.f{border:2px solid #c9a25a;border-radius:6px;box-shadow:0 10px 30px rgba(178,128,63,.12)}
form.f input,form.f select,form.f textarea{border:1.5px solid #d9bd85;background:#fffafa}
form.f input:focus,form.f select:focus,form.f textarea:focus{border-color:#b2803f;outline:2px solid rgba(201,162,90,.35);outline-offset:0}

/* ---------- Wedding Officiant page: "More Than Enough" cloud look ---------- */
.wp{overflow-x:clip;background:#fdf3f4 url("/img/clouds-soft.jpg") center top/cover no-repeat}
@media (hover:hover) and (min-width:900px){.wp{background-attachment:fixed}}
.wp section{background:transparent}
.wp .veil{background:rgba(255,251,251,.62)}
.wp .head .caps.above{margin:0 0 2px;color:#4a3530;font-size:clamp(13px,1.3vw,17px);letter-spacing:.24em}
.wp .head .script{font-size:clamp(50px,6.2vw,80px)}
.wp .head .caps.under{color:#4a3530}
.wp .pipes{color:#4a3530;font-size:clamp(11px,1vw,13.5px);letter-spacing:.2em;line-height:2}
.wp .pipes span{white-space:nowrap}
.wp .pipes i{font-style:normal;color:var(--gold);padding:0 .6em}
.whero{position:relative;text-align:center;display:grid;place-items:center;min-height:clamp(420px,52vw,640px);background:#fbe3e6 url("/img/band.jpg") center/cover no-repeat;padding:48px 16px 56px}
.whero .in{max-width:980px}
.whero .jl{width:min(170px,40%);margin:0 auto 10px;filter:drop-shadow(0 6px 16px rgba(150,80,95,.18))}
.whero .top{font-size:clamp(13px,1.5vw,20px);letter-spacing:.24em;color:#4a3530}
.whero h1.script{font-size:clamp(54px,8.4vw,120px);margin:6px 0 14px}
.whero .lead{font-style:italic;font-size:clamp(19px,2vw,24px);color:#4a3530;max-width:620px;margin:14px auto 22px}
.wp .card{background:rgba(255,255,255,.88);border:1.5px solid #e3c995;backdrop-filter:blur(2px)}
.wp .pkg.fav{border:2px solid #c9a25a}
.wp details{background:rgba(255,255,255,.9);border:1.5px solid #e3c995}
.wp .steps li:before{border:2px solid #c9a25a;background:rgba(255,255,255,.9)}
.wp .quote{text-align:center;max-width:820px;margin:0 auto}
.wp .quote p{font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.4;color:#4a3530}
.wp .quote cite{display:block;margin-top:12px;font-style:normal;font-family:var(--caps);font-size:12px;letter-spacing:.2em;color:var(--gold-d)}
@media (max-width:600px){.whero{min-height:0;background-position:30% center}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ---------- live-site additions ---------- */
.pb{background-size:cover;background-position:center}
.pb .emb{width:84px;height:84px;margin:0 auto 8px;color:var(--pink)}
.pb .script.s2{font-size:clamp(42px,5.6vw,64px);margin-top:6px;color:var(--pink)}
.pb.eagle .script.s2{color:#f3cbd8}
.pb.eagle .ttl,.pb.embrace .ttl{font-family:var(--caps);line-height:1.2}
.pb .ttl{font-family:var(--caps);font-size:clamp(26px,4vw,44px);letter-spacing:.1em;line-height:1.2;color:var(--plum)}
.pb.clouds{background:#fbe3e6 url("/img/band.jpg") center/cover no-repeat}
.pb.clouds .caps,.pb.clouds .lead{color:#4a3530}
.pb .script .gt{line-height:1.1}
.bg-white{background:#fff}.bg-blush{background:var(--blush)}.bg-plum{background:linear-gradient(180deg,#fbf1f4,#f6e3ea)}
.bg-clouds{background:#fdf3f4 url("/img/clouds-soft.jpg") center/cover no-repeat}
.head .caps.above{margin:0 0 2px;color:#4a3530;font-size:clamp(13px,1.3vw,16px);letter-spacing:.24em}
.wfeat .p p,.wel .p p{margin:20px 0 24px;max-width:46ch}
.wel .p p{max-width:38ch}
.wfeat .txt .p p{margin:16px 0 8px}
.cards.twoc{grid-template-columns:1fr 1fr}
@media (max-width:560px){.cards.twoc{grid-template-columns:1fr}}
.card .more{font-family:var(--caps);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);text-decoration:none;margin-top:auto}
.pkg.fav:before{content:attr(data-badge)}
.framed{width:min(440px,100%);margin-inline:auto;border:2px solid var(--gold-l);box-shadow:0 0 0 10px #fff,0 20px 40px rgba(150,80,95,.18)}
.prose ul{padding-left:1.1em;margin:10px 0}
.prose a{color:var(--gold-d)}
.narrow{max-width:760px}
.ftext{color:var(--muted);font-size:17px;margin-top:-4px}
.small{font-size:14px;color:var(--muted)}
.f.give{background:#fff;border:2px solid #c9a25a;border-radius:6px;padding:30px;display:grid;gap:14px;box-shadow:0 10px 30px rgba(178,128,63,.12)}
.f.give h3{font-family:var(--script);font-size:48px;line-height:1}
.amounts span{border:1px solid var(--gold-l);background:#fff;color:var(--gold-d);border-radius:999px;padding:9px 20px;font:600 17px var(--serif)}
.evlist .ev{max-width:820px;margin-inline:auto}
.prod .art img{width:100%;height:100%;object-fit:cover}
.prod .noimg{display:grid;justify-items:center;gap:6px;color:var(--gold);font-size:14px}
.prod .noimg svg{width:54px;height:54px}
.prod .noimg small{color:var(--muted)}
.prod .note{margin:0;font-size:14px}
.cline .mini img{width:60px;height:60px;object-fit:cover}
.drawer .co{display:grid;gap:10px;border-top:1px solid var(--rose);padding-top:14px}
.drawer .co h4{font-family:var(--caps);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.drawer .co .check{font-size:16px}
.kindbox .qs blockquote{margin:16px 0 0;font-style:italic;font-size:20px;line-height:1.5;min-height:150px}
.fcontact{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:4px;font-size:16px}
.fcontact a{text-decoration:none}
.gal figure{margin:0;border:1.5px solid #e3c995;background:#fff}
.gal figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gal figcaption{padding:8px 12px;font-size:15px;color:var(--muted);text-align:center}
.gal .ph{aspect-ratio:4/5;border:1.5px solid #e3c995;background:linear-gradient(160deg,rgba(255,255,255,.75),rgba(250,226,232,.85));display:grid;place-items:center;text-align:center;padding:16px;color:var(--muted);font-size:15px}
.gal .ph svg{width:38px;height:38px;color:var(--gold);margin:0 auto 8px;display:block}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:700px){.gal{grid-template-columns:1fr 1fr}}
.thanks-box{max-width:640px;margin:0 auto;text-align:center}
.logo .script{font-size:42px;color:var(--gold)}
