.family-showcase{--family-paper:#fffaf3;--family-gold:#c99b49;--family-gold-light:#e4c991;--family-brown:#6b442b;--family-deep:#5b3824;--family-muted:#8d7563;--family-line:rgba(201,155,73,.72);position:relative;isolation:isolate;overflow:hidden!important;width:100%;padding:clamp(66px,8vw,104px) 14px clamp(86px,10vw,130px)!important;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.9),transparent 21%),radial-gradient(circle at 88% 76%,rgba(255,255,255,.65),transparent 25%),var(--family-paper)!important;color:var(--family-brown)}
.family-showcase,.family-showcase *{box-sizing:border-box;min-width:0}
.family-showcase img{display:block;max-width:100%}
.family-showcase__inner{width:min(100%,1180px);margin:auto;position:relative;z-index:2;container-type:inline-size;container-name:family-layout}
.family-showcase__header{text-align:center;margin-bottom:clamp(38px,5vw,62px)}
.family-showcase__title{margin:0;padding:.1em .08em .06em;font:500 clamp(61px,16.2vw,101px)/1.12 Allura,"Great Vibes",cursive;letter-spacing:.005em;white-space:nowrap;overflow:visible!important;background:linear-gradient(110deg,#6b442b 0%,#7d4e2d 36%,#f6da83 46%,#fff9dc 50%,#d5a448 55%,#7d4e2d 65%,#6b442b 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #fff8);animation:familyTextSparkle 4.6s ease-in-out infinite}
.family-showcase__ornament{width:min(330px,72vw);height:36px;margin:24px auto 0;position:relative}
.family-showcase__ornament:before,.family-showcase__ornament:after{content:"";position:absolute;top:50%;width:39%;height:1px;background:linear-gradient(90deg,transparent,var(--family-gold))}
.family-showcase__ornament:before{left:0}.family-showcase__ornament:after{right:0;transform:scaleX(-1)}
.family-showcase__ornament span{position:absolute;inset:0;display:grid;place-items:center;color:var(--family-gold);font-size:25px}
.family-showcase__grid{display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:clamp(54px,6vw,78px)}
.family-card{position:relative;width:100%;min-width:0;aspect-ratio:1/1;padding:clamp(28px,3vw,38px) clamp(20px,3vw,36px);border:1px solid var(--family-line);border-radius:28px;background:rgba(255,250,243,.95);box-shadow:0 16px 40px rgba(91,56,36,.10);text-align:center;overflow:hidden}
.family-card__flower{position:absolute;top:-42px;width:205px;height:auto;z-index:2;pointer-events:none;filter:drop-shadow(0 9px 12px rgba(103,71,37,.08))}
.family-card--groom .family-card__flower{left:-62px}.family-card--bride .family-card__flower{right:-62px}
.family-card__home{display:block;width:66px;height:66px;margin:0 auto 17px;color:var(--family-gold)}
.family-card__home-image{display:block;width:82px;height:66px;object-fit:contain;margin:0 auto 17px}
.family-card__eyebrow{margin:0;color:#8c5b2e;font:600 clamp(18px,2vw,24px)/1 Montserrat,sans-serif;letter-spacing:.24em}
.family-card__rule{width:190px;max-width:78%;height:26px;margin:17px auto 24px;position:relative}
.family-card__rule:before,.family-card__rule:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:var(--family-gold)}
.family-card__rule:before{left:0}.family-card__rule:after{right:0}
.family-card__rule span{position:absolute;inset:0;display:grid;place-items:center;color:var(--family-gold);font-size:18px}
.family-card__names{width:100%;margin:0;color:var(--family-deep);font:600 clamp(19px,2.45vw,30px)/1.52 Montserrat,sans-serif;white-space:pre-line;overflow-wrap:anywhere}
.family-card__address{width:100%;margin:21px 0 0;display:flex;justify-content:center;align-items:flex-start;gap:10px;color:var(--family-muted);font:400 clamp(15px,1.7vw,21px)/1.5 Montserrat,sans-serif;overflow-wrap:anywhere}
.family-card__pin{display:block;width:23px;height:23px;flex:none;color:#ba8838;margin-top:2px}
.family-divider{position:relative;display:grid;grid-template-rows:1fr auto 1fr;place-items:center;align-self:stretch;color:var(--family-gold)}
.family-divider__line{width:1px;height:100%;min-height:84px;background:linear-gradient(transparent,var(--family-gold-light),var(--family-gold),var(--family-gold-light),transparent)}
.family-divider__badge{width:80px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid var(--family-gold);outline:1px solid rgba(201,155,73,.34);outline-offset:7px;background:var(--family-paper);box-shadow:0 11px 27px rgba(91,56,36,.10);color:#96632f;font:600 37px/1 "Cormorant Garamond",serif}
.family-divider__ornament-image{position:absolute;left:50%;top:-3%;display:block;width:180px;max-width:none!important;height:106%;object-fit:contain;transform:translateX(-50%)}
.couple-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,5.4vw,78px);align-items:start;width:100%}
.couple-portrait{text-align:center;position:relative;width:100%;min-width:0}
.couple-portrait__role{margin:0;padding:.12em .08em .06em;font:500 clamp(40px,11.7vw,72px)/1.14 Allura,"Great Vibes",cursive;white-space:nowrap;overflow:visible!important;background:linear-gradient(110deg,#6b442b 0%,#7d4d2b 38%,#f6da83 47%,#fffbe5 51%,#d5a448 56%,#7d4d2b 66%,#6b442b 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #fff8);animation:familyTextSparkle 4.6s ease-in-out infinite .45s}
.couple-portrait__rule{width:min(220px,72%);height:28px;margin:16px auto 17px;position:relative}
.couple-portrait__rule:before,.couple-portrait__rule:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:var(--family-gold)}
.couple-portrait__rule:before{left:0}.couple-portrait__rule:after{right:0}.couple-portrait__rule span{position:absolute;inset:0;display:grid;place-items:center;color:var(--family-gold);font-size:18px}
.couple-portrait__frame{width:min(100%,365px);aspect-ratio:4/5;margin:auto;overflow:hidden;border:2px solid var(--family-gold);border-radius:50% 50% 24px 24px/29% 29% 24px 24px;background:linear-gradient(135deg,#dfcbb8,#9b7c66);box-shadow:0 15px 36px rgba(91,56,36,.12)}
.family-section.family-showcase .couple-portrait__frame img,.family-section.family-showcase.reveal:not(.is-visible) .couple-portrait__frame img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;opacity:1!important;transform:none!important;filter:none!important;border:0!important;border-radius:0!important;clip-path:none!important;background:transparent!important;box-shadow:none!important}
.couple-portrait__garland{display:block;width:min(450px,118%);max-width:none!important;height:auto;margin:-62px auto -4px;position:relative;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(91,56,36,.07))}
.couple-portrait__name{width:100%;margin:0;color:#6c4329;font:500 clamp(28px,8vw,52px)/1 "Cormorant Garamond",serif;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}
.couple-portrait__bottom{margin-top:6px;color:var(--family-gold);font-size:24px;letter-spacing:.08em}
.family-fx{position:absolute;pointer-events:none;z-index:1;opacity:.65}.family-fx--petal{width:31px;height:17px;border-radius:70% 20% 70% 20%;background:radial-gradient(circle at 35% 45%,#fff,#f294aa88 64%,transparent)}.family-fx--bubble{width:54px;aspect-ratio:1;border-radius:50%;border:2px solid #d0b2ec66;background:radial-gradient(circle at 30% 25%,#fff9,#fff2 36%,#dff6ff26 65%,#ffc7df14)}.family-fx--daisy{width:39px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f4bf2a 0 17%,transparent 18%),repeating-conic-gradient(#fff 0 12deg,transparent 12deg 24deg);filter:drop-shadow(0 3px 5px #6747251a)}
.family-fx--one{left:6%;top:17%}.family-fx--two{right:7%;top:39%}.family-fx--three{right:6%;top:9%}.family-fx--four{left:10%;top:36%}
@container family-layout (min-width:601px) and (max-width:1000px){.family-showcase__grid{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:18px}.family-card{height:calc((100cqw - 108px)/2);aspect-ratio:auto;padding:22px 17px;border-radius:24px}.family-card__flower{width:clamp(115px,18cqw,170px);top:-28px}.family-card--groom .family-card__flower{left:-36px}.family-card--bride .family-card__flower{right:-36px}.family-card__home-image{width:62px;height:46px;margin-bottom:8px}.family-card__eyebrow{font-size:clamp(13px,2.2cqw,18px);line-height:1.05}.family-card__rule{height:20px;margin:10px auto 12px}.family-card__names{font-size:clamp(15px,2.4cqw,21px);line-height:1.28}.family-card__address{margin-top:12px;font-size:clamp(12px,1.8cqw,16px);line-height:1.25}.family-card__pin{width:18px;height:18px}.family-divider{height:calc((100cqw - 108px)/2)}.family-divider__ornament-image{width:145px;height:108%;top:-4%}}
@container family-layout (max-width:600px){.family-showcase__header{margin-bottom:22px}.family-showcase__grid{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:6px;align-items:center;margin-bottom:44px}.family-card{width:100%;height:calc((100cqw - 56px)/2);aspect-ratio:auto;min-height:0;padding:23px 7px 8px;border-radius:19px;overflow:hidden}.family-card__flower{width:82px;top:-15px}.family-card--groom .family-card__flower{left:-22px}.family-card--bride .family-card__flower{right:-22px}.family-card__home-image{width:49px;height:31px;margin-bottom:3px}.family-card__eyebrow{font-size:9.5px;line-height:1;letter-spacing:.15em}.family-card__rule{width:90px;max-width:82%;height:13px;margin:4px auto 5px}.family-card__rule span{font-size:10px}.family-card__names{font-size:9.5px;line-height:1.2;overflow-wrap:normal;word-break:normal}.family-card__address{margin-top:5px;gap:3px;font-size:8.2px;line-height:1.15}.family-card__pin{width:10px;height:10px;margin-top:0}.family-divider{position:relative;display:block;width:44px;height:calc((100cqw - 56px)/2);min-width:0;overflow:visible}.family-divider__ornament-image{position:absolute;left:50%;top:-6%;width:70px;height:112%;max-width:none!important;object-fit:contain;transform:translateX(-50%)}.couple-showcase{gap:17px}.couple-portrait__garland{margin-top:-62px}}
@container family-layout (max-width:340px){.family-card{padding:16px 4px 5px}.family-card__flower{width:62px}.family-card__home-image{width:38px;height:22px;margin-bottom:2px}.family-card__eyebrow{font-size:7.5px}.family-card__rule{height:9px;margin:2px auto}.family-card__rule span{font-size:8px}.family-card__names{font-size:7.4px;line-height:1.12}.family-card__address{margin-top:3px;font-size:6.7px;line-height:1.08}.family-card__pin{width:8px;height:8px}}
@media(max-width:430px){.family-showcase{padding-top:48px!important;padding-bottom:32px!important}.family-showcase__title{font-size:clamp(58px,17.1vw,74px)}.couple-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.couple-portrait__role{font-size:clamp(36px,11.7vw,50px)}.couple-portrait__name{font-size:clamp(27px,8.2vw,38px)}.couple-portrait__garland{width:124%;margin-top:-43px}.couple-portrait__bottom{font-size:18px}}
@media(max-width:350px){.couple-showcase{grid-template-columns:1fr}.couple-portrait__frame{width:min(100%,310px)}.couple-portrait__garland{width:112%;margin-top:-70px}}
@keyframes familyTextSparkle{0%,28%{background-position:100% 0}62%,100%{background-position:-30% 0}}
@media(prefers-reduced-motion:reduce){.family-showcase__title,.couple-portrait__role{animation:none;background-position:45% 0}}
