/* M53.22: scoped Wedding Party compositions. */
body #people.party-signature{--pt-paper:#eee7dc;--pt-ink:#30251f;--pt-gold:#a47f3d;--pt-line:#bfa775;--pt-gap:24px;--pt-photo:clamp(245px,22vw,365px);background:var(--pt-paper)!important;color:var(--pt-ink)!important;padding:0!important;margin:0!important;isolation:isolate;overflow:hidden;width:100%;max-width:none!important}
#people.party-signature[hidden]{display:none!important}
#people.party-signature::before,#people.party-signature::after,#people.party-signature>.sib-section-ribbon{display:none!important}
#people .pt-shell,#people .pt-shell *{box-sizing:border-box}
#people .pt-shell{position:relative;max-width:1920px;margin:auto;padding:38px clamp(22px,5vw,90px) 30px;isolation:isolate;font-family:var(--sib-heading,Georgia,serif)}
#people .pt-heading{text-align:center;position:relative;z-index:3;margin:0 auto 32px;max-width:1100px}
#people .pt-kicker{font:500 11px/1.7 var(--sib-heading,Georgia,serif);letter-spacing:.32em;color:var(--pt-gold)}
#people .pt-heading h2{font:400 clamp(34px,3.5vw,62px)/1.12 var(--sib-heading,Georgia,serif)!important;color:var(--pt-ink)!important;letter-spacing:-.025em!important;margin:12px 0!important;overflow-wrap:anywhere}
#people .pt-heading h2 em{font:400 1.17em/1 var(--sib-script,'Pinyon Script',cursive);color:var(--pt-gold);white-space:normal}
#people .pt-heading h2 em:empty{display:none}
#people .pt-heading p{font:400 clamp(15px,1.2vw,21px)/1.5 var(--sib-heading,Georgia,serif)!important;color:var(--pt-ink)!important;margin:12px 0 0!important}
#people .pt-monogram,#people .pt-footer,#people .pt-gallery-label{display:none}
#people .pt-gallery{position:relative;min-width:0;isolation:isolate}
#people .pt-track{display:flex;gap:var(--pt-gap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:12px 2px 16px;position:relative;z-index:2}
#people .pt-track::-webkit-scrollbar{display:none}
#people .pt-card{position:relative;flex:0 0 calc((100% - 3.5 * var(--pt-gap))/4.2);min-width:0;scroll-snap-align:start;isolation:isolate;text-align:center;padding:0;margin:0}
#people .pt-profile{display:block;position:relative;width:100%;padding:0;margin:0;border:0;border-radius:0;background:none!important;box-shadow:none;color:var(--pt-ink)!important;text-align:center;cursor:pointer;font-family:inherit;white-space:normal}
#people .pt-profile:hover{transform:none;filter:none}
#people .pt-profile:focus-visible,#people .pt-controls button:focus-visible,#people .pt-track:focus-visible{outline:2px solid var(--pt-gold);outline-offset:4px}
#people .pt-photo{display:block;position:relative;height:var(--pt-photo);background:linear-gradient(145deg,#dfd2be,#c7b493);overflow:hidden;border-radius:70px 70px 4px 4px}
#people .pt-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;transition:transform .35s ease}
#people .pt-profile:hover .pt-photo img{transform:scale(1.025)}
#people .pt-initial{position:absolute;inset:0;display:grid;place-items:center;font:400 64px/1 var(--sib-script,'Pinyon Script',cursive);color:#715a36}
#people .pt-caption{display:block;position:relative;padding:16px 8px 0;z-index:3}
#people .pt-caption strong{display:block;font:400 clamp(23px,2vw,32px)/1.2 var(--sib-heading,Georgia,serif);color:var(--pt-ink);overflow-wrap:anywhere}
#people .pt-role{display:block;color:var(--pt-gold);font:500 10px/1.6 var(--sib-heading,Georgia,serif);letter-spacing:.2em;margin:7px 0 0;overflow-wrap:anywhere}
#people .pt-meet{display:inline-block;max-width:100%;font:400 14px/1.5 var(--sib-heading,Georgia,serif);border-bottom:1px solid var(--pt-line);padding-bottom:4px;margin-top:14px;overflow-wrap:anywhere}
#people .pt-meet i{font-style:normal;margin-left:8px;color:var(--pt-gold)}
body.sib-people-hide-roles #people .pt-role{display:none}
#people .pt-controls{position:absolute;inset:calc(var(--pt-photo)/2 - 14px) -62px auto;display:flex;justify-content:space-between;pointer-events:none;z-index:6}
#people .pt-controls button{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--pt-gold);border-radius:50%;color:var(--pt-ink);background:var(--pt-paper);padding:0;font:300 30px/1 Georgia,serif;cursor:pointer}
#people .pt-controls button:disabled{opacity:.3;cursor:default}
#people .pt-position{display:flex;align-items:center;justify-content:center;gap:22px;margin:12px 0 0;color:var(--pt-gold);font:400 12px/1.5 var(--sib-heading,Georgia,serif);letter-spacing:.15em}
#people .pt-progress{width:125px;height:2px;display:block;background:color-mix(in srgb,var(--pt-gold) 25%,transparent)}
#people .pt-progress i{display:block;width:var(--pt-progress,25%);height:100%;background:var(--pt-gold)}
#people .pt-fabric,#people .pt-trails,#people .pt-envelope-back,#people .pt-seal,#people .pt-art-frame{display:none;pointer-events:none}
#people .pt-empty{text-align:center;min-height:180px;display:grid;place-items:center;border-block:1px solid var(--pt-line);font:400 22px/1.5 var(--sib-heading,Georgia,serif);position:relative;z-index:2}
/* Veil: tulle stays above the portraits and clear of names. */
#people[data-party-theme="veil"] .pt-shell::before{content:'';position:absolute;inset:0 0 auto;height:150px;background:url('details/veil-valance.png') center top/100% 100% no-repeat;opacity:.72;pointer-events:none;z-index:-1}
#people[data-party-theme="veil"] .pt-shell::after{content:'';position:absolute;bottom:0;left:0;width:105px;height:95px;background:url('details/botanical-corner.png') left bottom/contain no-repeat;opacity:.65;pointer-events:none}
/* Portrait: physical gilt frame over a live photo and ivory mat. */
#people[data-party-theme="portrait"] .pt-shell{display:grid;grid-template-columns:minmax(230px,25%) minmax(0,1fr);gap:28px;padding-top:48px}
#people[data-party-theme="portrait"] .pt-heading{align-self:center;margin:0;text-align:center}
#people[data-party-theme="portrait"] .pt-heading h2{font-size:clamp(36px,3.8vw,64px)!important;line-height:1.08!important;margin:25px 0!important}
#people[data-party-theme="portrait"] .pt-heading h2 em{display:block;margin-top:8px}
#people[data-party-theme="portrait"] .pt-monogram{display:block;margin-top:32px;color:var(--pt-gold);font-size:21px;letter-spacing:.2em}
#people[data-party-theme="portrait"] .pt-gallery-label{display:block;letter-spacing:.27em;font-size:10px;margin:0 110px 28px 0;border-bottom:1px solid var(--pt-line);padding-bottom:10px}
#people[data-party-theme="portrait"] .pt-controls{inset:-12px 0 auto auto;gap:10px}
#people[data-party-theme="portrait"] .pt-card{flex-basis:calc((100% - 3.5 * var(--pt-gap))/4.2)}
#people[data-party-theme="portrait"] .pt-photo{border-radius:0;background:transparent;height:auto;aspect-ratio:3/4;overflow:visible;filter:drop-shadow(0 9px 6px #44311f30)}
#people[data-party-theme="portrait"] .pt-photo::before{content:'';position:absolute;inset:5% 5%;background:#f5efe3}
#people[data-party-theme="portrait"] .pt-photo img{inset:12% 14%;width:72%;height:76%;transform:none!important}
#people[data-party-theme="portrait"] .pt-art-frame{display:block;position:absolute;inset:0;background:url('party/art-frame.png') center/100% 100% no-repeat}
#people[data-party-theme="portrait"] .pt-footer{display:block;grid-column:1/-1;text-align:center;margin-top:10px;padding-top:20px;border-top:1px solid var(--pt-line);font-size:9px;letter-spacing:.35em}
/* Maison: fine double architectural arches, warm stone surface. */
#people[data-party-theme="maison"]{--pt-paper:#eee7d8;background:radial-gradient(ellipse at 15% 15%,#fffaf0aa,transparent 60%),url('details/paper-grain.svg'),#eee7d8!important}
#people[data-party-theme="maison"] .pt-photo{border-radius:50% 50% 0 0 / 38% 38% 0 0;outline:1px solid var(--pt-line);outline-offset:6px;overflow:hidden}
#people[data-party-theme="maison"] .pt-card::before{content:'';position:absolute;inset:0 -8px auto;height:calc(var(--pt-photo) + 7px);border:1px solid var(--pt-line);border-radius:50% 50% 0 0 / 38% 38% 0 0;pointer-events:none}
#people[data-party-theme="maison"] .pt-track{padding-top:22px;gap:32px}
#people[data-party-theme="maison"] .pt-card{flex-basis:calc((100% - 112px)/4.2)}
#people[data-party-theme="maison"] .pt-shell::before,#people[data-party-theme="maison"] .pt-shell::after{content:'';position:absolute;top:0;bottom:0;width:30px;border-inline:5px double #c8b89a55;box-shadow:inset 5px 0 9px #ffffff70,5px 0 12px #8a735318;pointer-events:none}
#people[data-party-theme="maison"] .pt-shell::before{left:15px}#people[data-party-theme="maison"] .pt-shell::after{right:15px}
/* Silk: one soft textile edge above and below the photos. */
#people[data-party-theme="silk"]{--pt-paper:#2b080e;--pt-ink:#f6eadb;--pt-gold:#dbba75;--pt-line:#967343;background:radial-gradient(ellipse at 50% 35%,#541924,#24070b 80%)!important}
#people[data-party-theme="silk"] .pt-photo{border-radius:4px}
#people[data-party-theme="silk"] .pt-fabric{display:block;position:absolute;left:-7%;width:114%;height:65px;background:url('details/silk-border.png') center/100% 100% no-repeat;z-index:4}
#people[data-party-theme="silk"] .pt-fabric-top{top:-14px}
#people[data-party-theme="silk"] .pt-fabric-bottom{top:calc(var(--pt-photo) - 28px);transform:rotate(180deg)}
#people[data-party-theme="silk"] .pt-caption{padding-top:30px}
/* Invitation: an individual open envelope for every customer portrait. */
#people[data-party-theme="invitation"]{--pt-paper:#f4efe4;background:url('details/paper-grain.svg'),#f4efe4!important}
#people[data-party-theme="invitation"] .pt-heading h2{display:flex;flex-wrap:wrap;justify-content:center;gap:.18em}
#people[data-party-theme="invitation"] .pt-heading h2 em{order:-1}
#people[data-party-theme="invitation"] .pt-track{padding-top:54px;gap:26px}
#people[data-party-theme="invitation"] .pt-card{filter:drop-shadow(0 6px 5px #69533820)}
#people[data-party-theme="invitation"] .pt-envelope-back{display:block;position:absolute;inset:-48px 0 0;background:linear-gradient(135deg,#d9c9ac,#ede3d2 40%,#d5c3a4);clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%);border:1px solid var(--pt-gold)}
#people[data-party-theme="invitation"] .pt-photo{height:var(--pt-photo);width:78%;margin:0 auto;border:4px solid #f9f4e9;border-radius:0}
#people[data-party-theme="invitation"] .pt-caption{padding:20px 32px 23px;background:url('details/paper-grain.svg'),linear-gradient(155deg,#fffcf3,#e9dfcf);min-height:127px}
#people[data-party-theme="invitation"] .pt-caption::before{content:'';position:absolute;inset:-78px 0 auto;height:80px;background:linear-gradient(145deg,#fffcf4,#e9dfcf);clip-path:polygon(0 0,50% 100%,100% 0,100% 100%,0 100%);pointer-events:none}
#people[data-party-theme="invitation"] .pt-seal{display:block;position:absolute;width:40px;height:40px;right:6px;bottom:11px;background:url('story/wax-seal.png') center/contain no-repeat;z-index:4}
#people[data-party-theme="invitation"] .pt-meet{font-size:13px;margin-top:12px}
/* Afterglow: readable dusk portraits with light behind the gallery. */
#people[data-party-theme="afterglow"]{--pt-paper:#1b1215;--pt-ink:#f6ecdf;--pt-gold:#dbab70;--pt-line:#94693c;background:radial-gradient(ellipse at 12% 0,#5a382c88,transparent 40%),radial-gradient(ellipse at 85% 100%,#4a241c88,transparent 65%),#181215!important}
#people[data-party-theme="afterglow"] .pt-photo{border-radius:0;border-top:1px solid #b3885155;background:#372720}
#people[data-party-theme="afterglow"] .pt-photo::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#1b1215);pointer-events:none}
#people[data-party-theme="afterglow"] .pt-caption{margin-top:-22px}
#people[data-party-theme="afterglow"] .pt-trails{display:block;position:absolute;z-index:0;top:calc(var(--pt-photo)*.6);left:-8%;width:116%;height:95px;background:url('details/afterglow-trails.svg') center/100% 100% no-repeat}
@media(min-width:1600px){#people[data-party-theme="portrait"] .pt-shell{min-height:610px}}
@media(max-width:1200px){#people.party-signature{--pt-gap:20px;--pt-photo:290px}#people .pt-shell{padding-inline:45px}#people .pt-controls{inset-inline:-38px}#people .pt-controls button{width:32px;height:32px;font-size:24px}#people .pt-card,#people[data-party-theme="portrait"] .pt-card,#people[data-party-theme="maison"] .pt-card{flex-basis:calc((100% - 50px)/3.15)}#people[data-party-theme="portrait"] .pt-shell{grid-template-columns:25% minmax(0,1fr);gap:22px}#people[data-party-theme="portrait"] .pt-card{flex-basis:calc((100% - 30px)/2.2)}#people[data-party-theme="portrait"] .pt-controls{inset-inline:auto 0}#people .pt-caption strong{font-size:24px}}
@media(max-width:760px){#people.party-signature{--pt-photo:300px;--pt-gap:18px}#people .pt-shell,#people[data-party-theme="portrait"] .pt-shell{display:block;padding:30px 22px 24px}#people .pt-heading,#people[data-party-theme="portrait"] .pt-heading{margin:0 0 26px;text-align:center}#people .pt-heading h2,#people[data-party-theme="portrait"] .pt-heading h2{font-size:36px!important;margin:12px 0!important}#people .pt-heading p{font-size:16px!important}#people .pt-kicker{font-size:9px;letter-spacing:.22em}#people .pt-gallery{padding-top:45px}#people .pt-track{margin-right:-22px;padding-right:22px}#people .pt-card,#people[data-party-theme="portrait"] .pt-card,#people[data-party-theme="maison"] .pt-card{flex-basis:82%;max-width:340px}#people .pt-controls,#people[data-party-theme="portrait"] .pt-controls{inset:0 0 auto auto;gap:10px}#people .pt-controls button{width:34px;height:34px}#people .pt-gallery-label,#people[data-party-theme="portrait"] .pt-gallery-label{display:none}#people[data-party-theme="portrait"] .pt-monogram{display:none}#people[data-party-theme="portrait"] .pt-photo{aspect-ratio:3/4;height:auto}#people[data-party-theme="portrait"] .pt-footer{font-size:8px;line-height:1.7;letter-spacing:.2em}#people[data-party-theme="silk"] .pt-fabric-top{top:32px}#people[data-party-theme="silk"] .pt-fabric-bottom{top:calc(var(--pt-photo) + 17px)}#people[data-party-theme="afterglow"] .pt-trails{top:calc(var(--pt-photo)*.6 + 45px)}#people[data-party-theme="maison"] .pt-shell::before,#people[data-party-theme="maison"] .pt-shell::after{display:none}#people[data-party-theme="veil"] .pt-shell::before{height:90px;opacity:.45}#people .pt-position{font-size:11px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){#people .pt-photo img{transition:none}#people .pt-track{scroll-behavior:auto}}
