@font-face{font-family:'Invitation Serif';src:url('fonts/invitation-serif-400-normal.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Invitation Serif';src:url('fonts/invitation-serif-700-normal.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Invitation Serif';src:url('fonts/invitation-serif-400-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Great Vibes';src:url('fonts/great-vibes-400-normal.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--plum:#711661;--wine:#6c245e;--gold:#92520e;--rose:#c59093;--ink:#63304e;--muted:#765568;--cream:#faf4f4;--glass:rgba(255,251,255,.44);--line:rgba(112,32,95,.28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Invitation Serif',Georgia,serif;background:#eee5f1;overflow-x:hidden}a{color:inherit}.page{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(250,244,245,.93) 0 16%,rgba(243,232,241,.78) 36%,transparent 58%),linear-gradient(120deg,#e0d1e8 0%,#f5edf2 48%,#dfd0e8 100%)}.hero-page:before,.details-page:before{content:"";position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(118,52,96,.07),transparent 22% 78%,rgba(118,52,96,.07)),radial-gradient(circle at 50% 100%,rgba(255,255,255,.95),transparent 38%)}.floral{position:absolute;z-index:-1;pointer-events:none;filter:saturate(.9)}.floral-top{top:-70px;left:-3%;width:106%;height:300px;background:radial-gradient(ellipse at 8% 15%,#6d3d59 0 3%,transparent 3.6%),radial-gradient(ellipse at 13% 20%,#9b5aa5 0 4%,transparent 4.8%),radial-gradient(ellipse at 20% 6%,#805098 0 4%,transparent 4.8%),radial-gradient(ellipse at 29% 12%,#b57cc0 0 4%,transparent 4.8%),radial-gradient(ellipse at 42% 4%,#805098 0 3.8%,transparent 4.5%),radial-gradient(ellipse at 58% 10%,#b47ac0 0 4%,transparent 4.7%),radial-gradient(ellipse at 71% 5%,#805098 0 4%,transparent 4.7%),radial-gradient(ellipse at 84% 15%,#a05caf 0 4%,transparent 4.8%),radial-gradient(ellipse at 94% 8%,#74475f 0 3.5%,transparent 4.2%);background-size:170px 170px;opacity:.75;mask-image:linear-gradient(#000 25%,rgba(0,0,0,.75) 62%,transparent)}.floral-left,.floral-right{bottom:-90px;width:260px;height:430px;opacity:.48;background:radial-gradient(circle at 30% 30%,#a46db4 0 5%,transparent 6%),radial-gradient(circle at 55% 42%,#d5b0d8 0 5%,transparent 6%),radial-gradient(circle at 38% 58%,#7e477e 0 4%,transparent 5%),radial-gradient(ellipse at 48% 72%,#6e805a 0 3%,transparent 4%);background-size:105px 105px}.floral-left{left:-75px;transform:rotate(10deg)}.floral-right{right:-75px;transform:scaleX(-1) rotate(10deg)}nav{position:fixed;z-index:30;top:20px;left:50%;transform:translateX(-50%);display:flex;gap:2px;padding:7px 12px;background:rgba(255,250,251,.82);border:1px solid rgba(255,255,255,.9);box-shadow:0 12px 40px rgba(84,36,72,.12);backdrop-filter:blur(18px);border-radius:999px}nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font:500 10px/1 'Invitation Serif',Georgia,serif;padding:11px 16px;border-radius:999px;transition:.35s}nav a:hover,nav a.active{color:var(--plum);background:rgba(104,16,78,.07)}.hero{min-height:100svh;display:grid;place-items:center;text-align:center;padding:105px 22px 70px;position:relative}.hero-inner{max-width:880px;animation:rise 1s cubic-bezier(.2,.8,.2,1) both}.cross{font-family:Georgia,serif;font-size:52px;line-height:1;color:var(--gold);text-shadow:0 2px 10px rgba(168,109,25,.15);margin-bottom:20px}.kicker,.subkicker,.eyebrow{text-transform:uppercase;letter-spacing:.29em;font:500 11px/1.75 'Invitation Serif',Georgia,serif;color:var(--plum)}.title,.section-title h1{font-family:'Invitation Serif',Georgia,serif;font-weight:400;letter-spacing:.16em;color:var(--gold);text-shadow:0 2px 10px rgba(168,109,25,.1)}.title{font-size:clamp(2.4rem,5.4vw,4.8rem);margin:13px 0 5px}.ornament{color:var(--gold);letter-spacing:.1em;font-size:.9rem;margin:4px 0 14px}.subkicker{margin-bottom:20px}.names{font-family:'Invitation Serif','Times New Roman',serif;color:var(--gold);font-size:clamp(3.7rem,8vw,7rem);line-height:.93;letter-spacing:.18em;margin:18px 0 25px;text-shadow:0 2px 0 #fff,0 8px 24px rgba(150,91,19,.10)}.names span{display:block}.names .amp{font-family:'Invitation Serif',Georgia,serif;font-style:italic;font-weight:500;color:var(--rose);font-size:.62em;line-height:.8;letter-spacing:0;margin:.12em}.tagline{font:500 clamp(.72rem,1.2vw,.9rem)/1.7 'Invitation Serif',Georgia,serif;letter-spacing:.2em;color:var(--plum);margin:25px auto 30px}.cta{display:inline-flex;align-items:center;gap:16px;text-decoration:none;color:white;background:linear-gradient(180deg,#7d326f,#591c4d);padding:16px 34px;border-radius:999px;text-transform:uppercase;letter-spacing:.19em;font:500 10px 'Invitation Serif',Georgia,serif;box-shadow:0 15px 34px rgba(104,16,78,.22);transition:.4s cubic-bezier(.2,.8,.2,1)}.cta:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 22px 45px rgba(104,16,78,.28)}.quote{position:absolute;left:4.2vw;top:43%;max-width:210px;text-align:left;font-size:1.2rem;font-style:italic;line-height:1.35;color:var(--muted)}.quote small{display:block;margin-top:12px;font:500 8px 'Invitation Serif',Georgia,serif;letter-spacing:.22em;text-transform:uppercase;color:var(--plum)}.side-note{position:absolute;right:4vw;top:47%;font:500 9px/2 'Invitation Serif',Georgia,serif;letter-spacing:.24em;color:var(--plum)}.scroll{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font:500 8px 'Invitation Serif',Georgia,serif;letter-spacing:.2em;color:var(--plum)}.scroll span{display:block;width:15px;height:27px;border:1px solid var(--plum);border-radius:10px;margin:8px auto 0;position:relative}.scroll span:after{content:"";position:absolute;left:50%;top:5px;width:2px;height:5px;background:var(--plum);border-radius:2px;animation:mouse 1.6s infinite}.details{padding:120px 5vw 70px;min-height:100svh}.shell{width:min(1080px,100%);margin:auto}.section-title{text-align:center}.section-title h1{font-size:clamp(2.5rem,5vw,4.6rem);margin:8px 0 2px}.datebar{display:flex;justify-content:center;flex-wrap:wrap;margin:32px auto 30px;max-width:850px}.datebar div{padding:6px 30px;border-right:1px solid var(--line);font-size:1rem}.datebar div:last-child{border:0}.datebar span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--plum);font-size:.82rem}.datebar strong{display:block;color:var(--plum);font-size:1.35rem;font-weight:600}.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.glass{background:var(--glass);border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 55px rgba(83,42,85,.10);backdrop-filter:blur(14px);border-radius:22px}.venue{padding:36px 28px;text-align:center;transition:.45s cubic-bezier(.2,.8,.2,1)}.venue:hover{transform:translateY(-7px);box-shadow:0 28px 65px rgba(83,42,85,.15)}.icon{font-size:38px;color:var(--plum);margin-bottom:10px}.venue h2{font-family:'Invitation Serif',serif;font-weight:400;font-size:1.85rem;color:var(--plum);margin:10px 0 2px}.venue p{font-size:1.2rem;margin:3px;color:var(--muted)}.map{display:inline-block;margin-top:18px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#83447d,#794077);border-radius:999px;padding:11px 20px;font:500 9px 'Invitation Serif',Georgia,serif;letter-spacing:.13em;text-transform:uppercase;transition:.3s}.map:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(104,16,78,.2)}.families{display:grid;grid-template-columns:1fr 1fr;margin:30px 0;position:relative}.families:after{content:"";position:absolute;left:50%;top:12%;height:76%;width:1px;background:var(--line)}.family{text-align:center;padding:18px 28px}.family h3{font-family:'Invitation Serif',serif;font-weight:400;letter-spacing:.15em;color:var(--gold);font-size:1.55rem;margin:0}.mini-ornament{color:var(--rose);font-size:.8rem;margin:5px}.family p{font-size:1.2rem;line-height:1.45;margin:0}.count-wrap{padding:28px;margin-top:18px}.count-title{text-align:center;text-transform:uppercase;letter-spacing:.23em;font:500 10px 'Invitation Serif',Georgia,serif;color:var(--plum);margin-bottom:20px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);max-width:760px;margin:auto}.unit{text-align:center;border-right:1px solid var(--line)}.unit:last-child{border:0}.num{font-family:'Invitation Serif',serif;font-size:clamp(2.1rem,5vw,3.7rem);color:var(--gold)}.label{display:block;text-transform:uppercase;letter-spacing:.18em;font:500 8px 'Invitation Serif',Georgia,serif;color:var(--muted)}.blessing{text-align:center;font:500 .9rem/1.8 'Invitation Serif',Georgia,serif;letter-spacing:.22em;color:var(--plum);margin:42px 0 5px}.footer{text-align:center;color:var(--muted);padding:25px;font-size:1.05rem}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.show{opacity:1;transform:none}.petal{position:fixed;top:-30px;z-index:10;pointer-events:none;color:#a867b9;opacity:.52;animation:fall linear forwards}.transition{position:fixed;inset:0;z-index:99;background:linear-gradient(135deg,#672153,#985b90);transform:translateY(100%);transition:transform .55s cubic-bezier(.7,0,.3,1);pointer-events:none}.transition.go{transform:translateY(0)}@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes mouse{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,9px)}}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(520deg);opacity:0}}@media(max-width:760px){nav{top:10px;width:calc(100% - 24px);justify-content:center;overflow:hidden;padding:5px}nav a{padding:9px 8px;font-size:7px;letter-spacing:.1em}.quote,.side-note{display:none}.hero{padding:92px 18px 62px}.cross{font-size:43px}.kicker,.subkicker{font-size:9px}.title{letter-spacing:.11em}.names{font-size:clamp(3.2rem,16vw,5rem);letter-spacing:.11em}.tagline{font-size:.62rem;letter-spacing:.12em}.details{padding:95px 16px 45px}.datebar div{padding:7px 12px}.datebar strong{font-size:1.1rem}.cards,.families{grid-template-columns:1fr}.families:after{display:none}.family{padding:14px}.venue{padding:28px 20px}.count-wrap{padding:22px 10px}.num{font-size:2rem}.label{font-size:7px;letter-spacing:.1em}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Typography calibrated against the supplied reference. Fonts are bundled. */
body{font-family:'Invitation Serif',Georgia,serif}
.title,.section-title h1,.family h3{font-family:'Invitation Serif',Georgia,serif;font-weight:700}
.title{font-size:clamp(2.1rem,4.3vw,3.8rem);letter-spacing:.23em;color:#743b06}
.section-title h1{font-size:clamp(2rem,3.9vw,3.5rem);letter-spacing:.23em}
.names{font-family:'Invitation Serif',Georgia,serif;font-size:clamp(3rem,5.66vw,5rem);font-weight:700;letter-spacing:.18em;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.names>span:not(.amp){background:linear-gradient(105deg,#945510 4%,#c38b35 23%,#e3bb8c 40%,#966439 58%,#633001 77%,#a76a16 98%);background-clip:text;-webkit-background-clip:text;color:transparent}
.names .amp{font-family:'Great Vibes',cursive;font-style:normal;font-weight:400;font-size:1.32em;line-height:.93;letter-spacing:0;margin:0;color:#c59093;text-shadow:none}
.kicker{font-size:12px;line-height:1.5;letter-spacing:.29em;color:#63333c}
.subkicker{font-size:14px;letter-spacing:.26em}
.eyebrow{font-size:13px;letter-spacing:.23em}
nav a{font-size:10px;font-weight:400;letter-spacing:.22em}
.tagline{font-size:11px;font-weight:400;letter-spacing:.24em}
.cta{font-size:12px;font-weight:400;letter-spacing:.17em;padding:18px 39px}
.quote{font-size:16px;line-height:1.45;color:#503735}.quote small{font-size:10px}
.side-note{font-size:12px;line-height:1.75}
.venue h2{font-family:'Invitation Serif',Georgia,serif;font-size:22px;font-weight:700}
.venue p{font-size:18px;color:var(--plum);letter-spacing:.07em}
.map{font-size:15px;letter-spacing:.04em;text-transform:none;background:#80457f}
.family h3{font-size:24px;letter-spacing:.04em}.family p{font-size:18px;color:var(--plum)}.family p strong{font-weight:400}
.count-title{font-size:12px}.label{font-size:10px}.blessing{font-size:13px}
.hero-page{background:radial-gradient(ellipse at 50% 42%,#faf2f1 0%,#eee1e5 55%,#ddcddf 100%)}
.details-page{background:radial-gradient(ellipse at 58% 40%,#f5f0f7 0%,#ede5ee 50%,#dcccE5 100%)}
@media(max-width:760px){nav a{font-size:8px;padding:9px 7px}.names{font-size:clamp(3rem,12vw,4rem);letter-spacing:.16em}.title{font-size:clamp(1.8rem,7.6vw,2.6rem);letter-spacing:.16em}.kicker{font-size:10px}.subkicker,.eyebrow{font-size:11px}.tagline{font-size:9px}.family p{font-size:17px}}

/* Strong, consistent contrast for the opening names. */
.names>span:not(.amp){background:none;-webkit-text-fill-color:#703807;color:#703807;text-shadow:none}
.names .amp{color:#974c62;text-shadow:none}

/* Responsive spacing and complete text groups. */
.hero-inner,.shell,.venue,.family,.unit{min-width:0}
.hero-inner{width:100%;max-width:880px}
.tagline{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4em 1em}
.tagline>span,.blessing-line{display:inline-block}
.tagline>span,.title,.section-title h1,.names>span,.datebar strong,.cta,.map{white-space:nowrap}
.num{font-variant-numeric:tabular-nums;display:inline-block;min-width:2ch}
.cta,.map{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){
 .hero{padding:56px 20px 40px;min-height:100svh}
 .hero-inner{max-width:520px;margin-inline:auto}
 .cross{font-size:40px;margin-bottom:18px}
 .kicker{font-size:clamp(10px,2.8vw,12px);letter-spacing:.19em;line-height:1.8}
 .title,.section-title h1{font-size:clamp(27px,7.5vw,40px);letter-spacing:.13em;line-height:1.2}
 .subkicker{font-size:11px;letter-spacing:.2em;margin-bottom:16px}
 .names{font-size:clamp(44px,12vw,64px);letter-spacing:.12em;margin:20px 0 24px}
 .names .amp{line-height:1.05;font-size:1.2em}
 .tagline{font-size:11px;letter-spacing:.1em;gap:8px 12px;line-height:1.5;margin:20px 0 26px}
 .tagline .tag-last{flex-basis:100%}.tagline .tag-dot-last{display:none}
 .cta{font-size:12px;padding:16px 30px;max-width:100%}
 .details{padding:52px 16px 32px}.shell{max-width:520px}
 .section-title .eyebrow{font-size:clamp(10px,2.8vw,12px);letter-spacing:.12em;line-height:1.6}
 .datebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:24px 0}
 .datebar div{padding:12px 6px;border:0}
 .datebar div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);margin-bottom:4px}
 .datebar div:nth-child(2){border-right:1px solid var(--line)}
 .datebar span{font-size:12px;letter-spacing:.09em}
 .datebar strong{font-size:19px;line-height:1.4}
 .datebar{text-align:center}
 .cards{gap:16px}.venue{padding:24px 12px;border-radius:18px}
 .venue .eyebrow{font-size:11px;letter-spacing:.12em}
 .venue h2{font-size:clamp(20px,5.5vw,24px);line-height:1.3;white-space:nowrap;margin:8px 0}
 .venue p{font-size:clamp(14px,3.8vw,17px);line-height:1.6;letter-spacing:0;margin:0}
 .address-line{white-space:nowrap}
 .map{font-size:15px;margin-top:16px;padding:12px 22px}
 .families{gap:18px;margin:28px 0}.family{padding:8px 0}
 .family h3{font-size:24px}.family p{font-size:clamp(15px,4.15vw,18px);line-height:1.7;letter-spacing:0}
 .family p strong{display:inline-block;white-space:nowrap}
 .count-wrap{padding:22px 8px}.count-title{font-size:clamp(10px,2.8vw,12px);letter-spacing:.08em;line-height:1.5}
 .countdown{grid-template-columns:repeat(4,minmax(0,1fr))}
 .num{font-size:clamp(28px,8vw,38px);line-height:1.2}.label{font-size:10px;letter-spacing:.05em;margin-top:6px}
 .blessing{font-size:11px;letter-spacing:.13em;line-height:1.9;margin-top:28px}
 .blessing-line{display:block}.footer{font-size:14px;padding:20px 0;white-space:nowrap}
}
@media(max-width:360px){.hero{padding-inline:16px}.tagline{font-size:10px}.section-title .eyebrow{letter-spacing:.08em}}

/* Floral invitation artwork, retaining the existing content and two-page flow. */
.floral{display:none}
.hero-page{background:#f3e8ea url('assets/hero-florals.webp') center center/cover no-repeat}
.hero-page:before{display:none}
.hero{min-height:max(760px,100svh);padding:145px 24px 110px}
.hero-inner{max-width:740px;position:relative}
.cross{font-size:58px;color:#a77a35;text-shadow:0 1px 0 #fff4cc,0 2px 2px #77441860;margin-bottom:20px}
.title{font-size:clamp(36px,4.3vw,56px);letter-spacing:.22em;margin:8px 0}
.kicker{font-size:12px;line-height:1.6;letter-spacing:.28em}
.subkicker{font-size:14px;letter-spacing:.27em;margin-bottom:20px}
.names{font-size:clamp(54px,5.65vw,76px);letter-spacing:.19em;margin:18px 0 24px}
.names>span:not(.amp){color:#784009;-webkit-text-fill-color:#784009;text-shadow:0 1px 0 #fffaf2}
.names .amp{font-size:1.22em;line-height:.98;color:#ad7b92}
.tagline{font-size:11px;letter-spacing:.19em;margin:28px auto 26px;gap:.4em .9em}
.cta{padding:18px 38px;background:linear-gradient(180deg,#823472,#5c1a50);box-shadow:0 8px 26px #65224e24}
.quote{left:4vw;top:43%;font-size:16px;line-height:1.45;max-width:180px;text-shadow:0 1px 8px #fff}
.quote small:after,.side-note:after{content:'';display:block;width:26px;height:1px;background:#87326f;margin-top:12px}
.side-note{right:4vw;top:47%;font-size:12px}.side-note:after{margin-inline:auto}
.details-page{background:#eee5f1 url('assets/details-florals.webp') center/100% 100% no-repeat}
.details-page:before{display:none}
.details{padding:76px clamp(28px,9vw,160px) 64px}
.shell{max-width:1040px}
.section-title h1{color:#8a4d0b;font-size:clamp(34px,4vw,46px);letter-spacing:.2em}
.section-title .eyebrow{font-size:13px;letter-spacing:.24em}
.datebar{margin:30px auto;text-align:left;align-items:center}
.datebar div{padding:6px 28px}.datebar span{font-size:13px}.datebar strong{font-size:21px}
.cards{gap:18px}.glass{background:#ffffff55;border:1px solid #ffffffdd;border-radius:10px;box-shadow:0 10px 36px #6844670a;backdrop-filter:blur(3px)}
.venue{padding:28px 18px 26px}.venue .icon{font-size:44px;line-height:1.1;margin:0 0 14px}
.venue h2{font-size:25px;margin:10px 0 5px}.venue p{font-size:17px;letter-spacing:0;line-height:1.6}
.map{background:#81447e;font-size:15px;letter-spacing:.025em;margin-top:20px;padding:11px 23px}
.families{margin:28px 0}.family{padding:12px}.family h3{color:#8c510f;font-size:25px;letter-spacing:.05em}
.family p{font-size:18px;line-height:1.55}.family p strong{font-weight:400}
.count-wrap{max-width:720px;margin:28px auto 0;padding:22px 20px;background:#fff9}
.count-title{font-size:12px;letter-spacing:.17em}.num{font-size:42px}.label{font-size:10px}
.blessing{margin:34px 0 0;font-size:13px;letter-spacing:.2em}.footer{padding-bottom:0}
.petal{width:13px;height:20px;color:transparent!important;background:linear-gradient(135deg,#dda8e8,#9d4ab4);border-radius:90% 0 90% 0;box-shadow:inset 2px 1px 3px #ffffff60;opacity:.45}
@media(min-width:761px) and (max-width:1100px){.hero-inner{max-width:600px}.quote{left:2.5vw;max-width:145px;font-size:14px}.side-note{right:2.5vw;font-size:10px}.details{padding-inline:7vw}.datebar div{padding-inline:18px}.family p{font-size:16px}}
@media(max-width:760px){
 .hero-page{background-size:auto 100%;background-position:center top}
 .hero{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:100px 20px 44px}
 .hero-inner{order:0;max-width:520px;background:radial-gradient(ellipse,#fff8f469,transparent 72%)}
 .cross{font-size:42px;margin-bottom:16px}
 .kicker{font-size:clamp(10px,2.8vw,12px);letter-spacing:.18em}
 .title{font-size:clamp(27px,7.5vw,40px);letter-spacing:.13em;margin-top:10px}
 .subkicker{font-size:11px;letter-spacing:.2em;margin-bottom:14px}
 .names{font-size:clamp(44px,12vw,64px);letter-spacing:.12em;margin:18px 0 22px}
 .names .amp{font-size:1.2em;line-height:1.02}
 .tagline{font-size:10px;letter-spacing:.11em;gap:7px 10px;margin:24px 0}.tagline .tag-last{flex-basis:100%}
 .cta{font-size:12px;padding:16px 30px}
 .quote{display:block;position:static;order:1;max-width:none;text-align:center;margin-top:32px;font-size:14px;line-height:1.5}
 .quote br{display:none}.quote small{font-size:9px;margin-top:7px}.quote small:after{margin:10px auto 0}
 .side-note{display:block;position:static;order:2;margin-top:18px;font-size:10px;letter-spacing:.14em;max-width:260px;line-height:1.7}
 .side-note br{display:none}.side-note:after{display:none}
 .details-page{background-size:auto 100%;background-position:center}
 .details{padding:65px 16px 40px}.shell{max-width:520px}
 .section-title h1{font-size:clamp(27px,7.5vw,40px);letter-spacing:.13em}
 .section-title .eyebrow{font-size:clamp(10px,2.8vw,12px);letter-spacing:.1em}
 .datebar{margin:24px 0;text-align:center}.datebar div{padding:12px 6px}.datebar span{font-size:12px}.datebar strong{font-size:19px}
 .cards{gap:18px}.venue{padding:24px 12px;background:#fff9;border-radius:12px}
 .venue h2{font-size:clamp(20px,5.5vw,24px)}.venue p{font-size:clamp(14px,3.8vw,17px)}
 .venue .eyebrow{font-size:11px;letter-spacing:.12em}
 .families{gap:18px;margin:26px 0}.family{padding:8px 0}.family p{font-size:clamp(15px,4.15vw,18px);line-height:1.7}.family h3{font-size:24px}
 .count-wrap{padding:22px 8px}.count-title{font-size:clamp(10px,2.8vw,12px);letter-spacing:.08em}.num{font-size:clamp(28px,8vw,38px)}
 .blessing{font-size:11px;letter-spacing:.13em;margin-top:28px}.footer{font-size:14px}
}
@media(max-width:360px){.hero{padding-inline:16px}.section-title .eyebrow{letter-spacing:.08em}}
/* Keep the off-screen transition layer out of the document's painted area. */
.transition{visibility:hidden}.transition.go{visibility:visible}
@media(max-width:760px){
 .details-page{background-size:100% auto;background-position:center top}
 .details-page:after{content:'';position:absolute;inset:auto 0 0;height:280px;z-index:-1;pointer-events:none;background:url('assets/details-florals.webp') center bottom/100% auto no-repeat;mask-image:linear-gradient(transparent,#000 45%)}
}

.venue .icon{font-size:0;width:70px;height:56px;margin:0 auto 14px;background:url('assets/church.svg') center/contain no-repeat}
.venue:nth-child(2) .icon{background-image:url('assets/hall.svg')}
@media(max-width:760px){
 .details-page{background:linear-gradient(120deg,#eee5f2,#f2ecf4)}
 .details-page:before{display:block;position:absolute;inset:0 0 auto;height:170px;z-index:-1;background:url('assets/details-florals.webp') center top/100% auto no-repeat;mask-image:linear-gradient(#000 25%,transparent 95%)}
}

.footer{white-space:normal;text-wrap:balance;line-height:1.6}
