.pyp-pw{--ink:#110a14;--night:#0d0710;--plum:#32102f;--rose:#ee5fbd;--purple:#7b2f87;--paper:#f7f3f7;--muted:#c9becb;--line:rgba(255,255,255,.15);color:#fff;background:var(--night);font-family:Arial,sans-serif;overflow:hidden;isolation:isolate}
.pyp-pw *{box-sizing:border-box}.pyp-pw h1,.pyp-pw h2,.pyp-pw h3,.pyp-pw p{margin-top:0}.pyp-pw h1,.pyp-pw h2{font-family:"Fino Sans","Aboreto","Playfair Display",serif;font-weight:400;text-wrap:balance}.pyp-pw a{text-decoration:none}.pyp-pw__eyebrow{margin:0 0 20px;color:var(--rose);font-family:"Aboreto",serif;font-size:13px;font-weight:700;letter-spacing:.32em;text-transform:uppercase}.pyp-pw-reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease var(--pyp-delay,0ms),transform .85s cubic-bezier(.2,.8,.2,1) var(--pyp-delay,0ms)}.pyp-pw-reveal.is-visible{opacity:1;transform:none}
.pyp-pw__hero{position:relative;display:flex;align-items:center;min-height:min(850px,86vh);padding:80px clamp(28px,8vw,150px);background-image:linear-gradient(90deg,rgba(7,3,9,.12),rgba(8,4,10,.25) 42%,rgba(8,4,10,.91) 78%),var(--pyp-pw-hero);background-size:cover;background-position:center;overflow:hidden}.pyp-pw__hero:before{content:"FOREVER";position:absolute;right:-.04em;bottom:-.18em;color:rgba(255,255,255,.035);font:clamp(120px,23vw,390px)/.8 "Fino Sans",serif;letter-spacing:-.04em;pointer-events:none}.pyp-pw__hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--rose),transparent)}.pyp-pw__hero-copy{position:relative;z-index:2;width:min(650px,48vw);margin-left:auto;padding:40px 0}.pyp-pw__hero h1{max-width:640px;margin:0 0 24px;font-size:clamp(54px,6.6vw,104px);line-height:.9;letter-spacing:.005em}.pyp-pw__lead{max-width:600px;margin-bottom:34px;color:#e3dce4;font-size:clamp(17px,1.35vw,22px);line-height:1.65}.pyp-pw__actions{display:flex;gap:14px;flex-wrap:wrap}.pyp-pw__button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:58px;padding:15px 27px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;font-family:"Aboreto",serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.pyp-pw__button:hover{color:#fff;transform:translateY(-3px)}.pyp-pw__button span,.pyp-pw__text-link span{font-size:20px;transition:transform .25s ease}.pyp-pw__button:hover span,.pyp-pw__text-link:hover span{transform:translateX(5px)}.pyp-pw__button--primary{border-color:transparent;background:linear-gradient(90deg,var(--rose),var(--purple));box-shadow:0 15px 38px rgba(214,61,168,.25)}.pyp-pw__button--primary:hover{box-shadow:0 20px 48px rgba(214,61,168,.38)}.pyp-pw__button--ghost{background:rgba(12,7,14,.2);backdrop-filter:blur(10px)}.pyp-pw__scroll{position:absolute;z-index:2;bottom:25px;left:50%;width:27px;height:47px;border:1px solid rgba(255,255,255,.5);border-radius:999px}.pyp-pw__scroll span{position:absolute;top:8px;left:50%;width:3px;height:8px;border-radius:10px;background:var(--rose);animation:pypPwScroll 1.8s infinite}
.pyp-pw__intro{position:relative;padding:clamp(80px,9vw,150px) clamp(25px,7vw,130px);background:radial-gradient(circle at 10% 25%,rgba(103,26,91,.32),transparent 32%),var(--night)}.pyp-pw__intro:before{content:"LOVE";position:absolute;top:-.1em;right:-.04em;color:rgba(255,255,255,.025);font:clamp(160px,30vw,500px)/1 "Fino Sans",serif}.pyp-pw__section-heading{position:relative;z-index:1;max-width:1020px;margin:0 auto 70px;text-align:center}.pyp-pw__section-heading h2{margin-bottom:26px;font-size:clamp(46px,6vw,88px);line-height:1}.pyp-pw__section-heading>p:last-child{max-width:770px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.75}.pyp-pw__benefits{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);max-width:1460px;margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pyp-pw__benefit{min-height:270px;padding:36px 30px;border-right:1px solid var(--line);transition:background .35s ease,transform .35s ease}.pyp-pw__benefit:last-child{border-right:0}.pyp-pw__benefit:hover{background:linear-gradient(145deg,rgba(238,95,189,.11),rgba(123,47,135,.08));transform:translateY(-8px)}.pyp-pw__benefit>span{display:block;margin-bottom:45px;color:var(--rose);font-size:12px;letter-spacing:.25em}.pyp-pw__benefit h3{font:400 clamp(24px,2vw,34px)/1.1 "Fino Sans","Aboreto",serif;letter-spacing:.03em}.pyp-pw__benefit p{color:var(--muted);font-size:15px;line-height:1.65}
.pyp-pw__story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(45px,6vw,100px);padding:clamp(65px,7vw,105px) clamp(30px,8vw,150px);color:#1a111b;background:radial-gradient(circle at 85% 20%,rgba(216,158,211,.28),transparent 32%),var(--paper)}.pyp-pw__story-image{position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:16px;width:100%;max-width:760px;padding:22px;border:1px solid rgba(220,83,183,.42);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(238,95,189,.12) 55%,rgba(123,47,135,.1));box-shadow:0 30px 80px rgba(85,29,81,.16),inset 0 1px rgba(255,255,255,.85);backdrop-filter:blur(16px);isolation:isolate}.pyp-pw__story-image:before{content:"";position:absolute;z-index:-1;inset:12% 8% -8%;border-radius:45%;background:rgba(218,87,185,.17);filter:blur(45px);pointer-events:none}.pyp-pw__story-image img{position:relative;display:block;width:100%;height:390px;object-fit:cover;border:5px solid rgba(255,255,255,.92);border-radius:26px;background:#fff;box-shadow:0 22px 55px rgba(28,13,29,.2)}.pyp-pw__story-image-front{transform:translateY(-9px) rotate(-1deg)}.pyp-pw__story-image-back{filter:saturate(.9) brightness(.97);transform:translateY(10px) rotate(1.2deg)}.pyp-pw__story-copy{max-width:770px}.pyp-pw__story-copy h2{margin-bottom:25px;font-size:clamp(52px,5.7vw,86px);line-height:.95}.pyp-pw__story-copy>p:not(.pyp-pw__eyebrow){color:#645a66;font-size:18px;line-height:1.7}.pyp-pw__story-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:30px 0 0;padding:0;border-top:1px solid rgba(33,20,35,.15);list-style:none}.pyp-pw__story-copy li{position:relative;padding:20px 18px 20px 28px;border-bottom:1px solid rgba(33,20,35,.15);font-weight:600;line-height:1.45}.pyp-pw__story-copy li:before{content:"✦";position:absolute;left:0;color:var(--purple)}
.pyp-pw__journey{position:relative;padding:clamp(80px,9vw,145px) clamp(25px,7vw,130px);background:linear-gradient(135deg,#160b19,#2d0d2a 52%,#120915)}.pyp-pw__journey:after{content:"TOGETHER";position:absolute;bottom:-.13em;left:-.03em;color:rgba(255,255,255,.025);font:clamp(110px,19vw,320px)/1 "Fino Sans",serif}.pyp-pw__steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);max-width:1450px;margin:auto}.pyp-pw__step{position:relative;min-height:300px;padding:35px 34px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.025);backdrop-filter:blur(15px);transition:transform .35s ease,background .35s ease}.pyp-pw__step+ .pyp-pw__step{border-left:0}.pyp-pw__step:hover{z-index:2;background:rgba(238,95,189,.08);transform:translateY(-12px)}.pyp-pw__step span{display:grid;place-items:center;width:52px;height:52px;margin-bottom:55px;border:1px solid var(--rose);border-radius:50%;color:var(--rose);font:700 12px "Aboreto",serif}.pyp-pw__step h3{font:400 clamp(25px,2vw,34px) "Fino Sans","Aboreto",serif}.pyp-pw__step p{color:var(--muted);font-size:15px;line-height:1.65}
.pyp-pw__gallery{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);align-items:center;gap:clamp(45px,7vw,115px);min-height:700px;padding:clamp(70px,7vw,105px) clamp(30px,8vw,150px);color:#1b111c;background:var(--paper)}.pyp-pw__gallery:before{content:"ROMANCE";position:absolute;right:-.03em;bottom:-.15em;color:rgba(74,28,70,.025);font:clamp(120px,22vw,360px)/1 "Fino Sans",serif;pointer-events:none}.pyp-pw__gallery-copy{position:relative;z-index:2;max-width:590px}.pyp-pw__gallery-copy h2{margin-bottom:25px;font-size:clamp(55px,6.4vw,92px);line-height:.9}.pyp-pw__gallery-copy>p:not(.pyp-pw__eyebrow){color:#655b67;font-size:18px;line-height:1.7}.pyp-pw__text-link{display:inline-flex;align-items:center;gap:20px;margin-top:26px;padding-bottom:7px;border-bottom:1px solid var(--purple);color:var(--purple);font-family:"Aboreto",serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.pyp-pw__photo-stack{--pyp-x:0px;--pyp-y:0px;--pyp-gallery-glide:2400ms;position:relative;z-index:2;min-height:540px;isolation:isolate}.pyp-pw__photo{position:absolute;top:50%;left:50%;display:block;object-fit:cover;border:7px solid #fff;border-radius:25px;box-shadow:0 24px 65px rgba(29,13,30,.23);will-change:transform,width,height,filter,opacity;transition:transform var(--pyp-gallery-glide) cubic-bezier(.22,.8,.22,1),width var(--pyp-gallery-glide) cubic-bezier(.22,.8,.22,1),height var(--pyp-gallery-glide) cubic-bezier(.22,.8,.22,1),filter var(--pyp-gallery-glide) ease,opacity var(--pyp-gallery-glide) ease,box-shadow .4s ease}.pyp-pw__photo[data-pyp-position="hero"]{z-index:3;width:48%;height:500px;opacity:1;filter:saturate(1);transform:translate(calc(-30% + var(--pyp-x)),calc(-50% + var(--pyp-y))) rotate(2deg)}.pyp-pw__photo[data-pyp-position="front"]{z-index:4;width:44%;height:310px;opacity:1;filter:saturate(.96);transform:translate(-112%,-15%) rotate(-3deg)}.pyp-pw__photo[data-pyp-position="back"]{z-index:2;width:44%;height:300px;opacity:.86;filter:saturate(.78) brightness(.9);transform:translate(14%,-5%) rotate(5deg)}.pyp-pw__photo-stack:hover .pyp-pw__photo[data-pyp-position="hero"]{box-shadow:0 30px 85px rgba(29,13,30,.3)}
.pyp-pw__included{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(60px,8vw,140px);padding:clamp(90px,10vw,160px) clamp(30px,8vw,150px);background:radial-gradient(circle at 0 0,rgba(101,24,91,.38),transparent 34%),var(--night)}.pyp-pw__included:before{content:"DETAILS";position:absolute;right:-.03em;top:.05em;color:rgba(255,255,255,.025);font:clamp(130px,25vw,430px)/1 "Fino Sans",serif}.pyp-pw__included-copy,.pyp-pw__included-list{position:relative;z-index:1}.pyp-pw__included h2{font-size:clamp(54px,6vw,88px);line-height:.95}.pyp-pw__included blockquote{margin:50px 0 0;padding-left:30px;border-left:1px solid var(--rose);color:#cfc3d0;font:400 20px/1.7 "Playfair Display",serif;font-style:italic}.pyp-pw__included-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.pyp-pw__included-list li{display:grid;grid-template-columns:60px 1fr;align-items:center;min-height:69px;border-bottom:1px solid var(--line);color:#eee6ef;font-weight:600}.pyp-pw__included-list li span{color:var(--rose);font:700 11px "Aboreto",serif;letter-spacing:.12em}.pyp-pw__included-list li:hover{padding-left:10px;background:linear-gradient(90deg,rgba(238,95,189,.08),transparent);transition:.25s}
.pyp-pw__cta{padding:clamp(90px,10vw,155px) 25px;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(117,35,106,.55),transparent 48%),linear-gradient(135deg,#150a17,#08050a)}.pyp-pw__cta h2{max-width:1050px;margin:0 auto 24px;font-size:clamp(55px,7vw,105px);line-height:.94}.pyp-pw__cta>p:not(.pyp-pw__eyebrow){max-width:700px;margin:0 auto 35px;color:var(--muted);font-size:18px;line-height:1.7}
@keyframes pypPwScroll{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,20px)}}@keyframes pypPwFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-13px) rotate(2deg)}}
@media(max-width:1050px){.pyp-pw__hero{background-image:linear-gradient(90deg,rgba(8,4,10,.38),rgba(8,4,10,.86)),var(--pyp-pw-hero)}.pyp-pw__hero-copy{width:min(720px,80vw);margin:0}.pyp-pw__benefits,.pyp-pw__steps{grid-template-columns:1fr 1fr}.pyp-pw__benefit:nth-child(2){border-right:0}.pyp-pw__benefit:nth-child(-n+2){border-bottom:1px solid var(--line)}.pyp-pw__step+ .pyp-pw__step{border-left:1px solid rgba(255,255,255,.13)}.pyp-pw__story,.pyp-pw__included{grid-template-columns:1fr}.pyp-pw__story-image{margin:auto}.pyp-pw__gallery{grid-template-columns:1fr;min-height:auto}.pyp-pw__gallery-copy{max-width:800px}.pyp-pw__photo-stack{width:min(760px,100%);margin:auto}}
@media(max-width:680px){.pyp-pw__hero{align-items:flex-end;min-height:760px;padding:90px 25px 75px;background-position:35% center}.pyp-pw__hero-copy{width:100%}.pyp-pw__hero h1{font-size:clamp(52px,15vw,74px)}.pyp-pw__lead{font-size:16px}.pyp-pw__actions{display:grid}.pyp-pw__button{width:100%;min-height:54px}.pyp-pw__scroll{display:none}.pyp-pw__section-heading{margin-bottom:45px}.pyp-pw__section-heading h2{font-size:43px}.pyp-pw__benefits,.pyp-pw__steps{grid-template-columns:1fr}.pyp-pw__benefit{min-height:auto;border-right:0;border-bottom:1px solid var(--line)!important}.pyp-pw__benefit>span{margin-bottom:22px}.pyp-pw__step{min-height:auto}.pyp-pw__step+ .pyp-pw__step{border-top:0}.pyp-pw__step span{margin-bottom:25px}.pyp-pw__story{gap:28px;padding:70px 25px}.pyp-pw__story-image{grid-template-columns:1fr 1fr;gap:9px;padding:13px;border-radius:26px}.pyp-pw__story-image img{height:235px;border-width:3px;border-radius:18px}.pyp-pw__story-image-front{transform:translateY(-5px) rotate(-1deg)}.pyp-pw__story-image-back{transform:translateY(6px) rotate(1.2deg)}.pyp-pw__story-copy h2,.pyp-pw__gallery-copy h2,.pyp-pw__included h2{font-size:48px}.pyp-pw__story-copy ul{grid-template-columns:1fr}.pyp-pw__gallery{gap:20px;padding:72px 25px 65px}.pyp-pw__photo-stack{min-height:430px}.pyp-pw__photo{border-width:5px;border-radius:19px}.pyp-pw__photo[data-pyp-position="hero"]{width:70%;height:365px;transform:translate(calc(-50% + var(--pyp-x)),calc(-55% + var(--pyp-y))) rotate(2deg)}.pyp-pw__photo[data-pyp-position="front"]{width:57%;height:205px;transform:translate(-89%,26%) rotate(-3deg)}.pyp-pw__photo[data-pyp-position="back"]{width:57%;height:200px;transform:translate(-9%,30%) rotate(5deg)}.pyp-pw__included{padding:85px 25px}.pyp-pw__included-list li{grid-template-columns:48px 1fr;font-size:14px}.pyp-pw__included blockquote{font-size:18px}.pyp-pw__cta{padding:90px 25px}.pyp-pw__cta h2{font-size:50px}}
/* Signature image pair: larger photographs inside deep plum glass. */
@media(min-width:1051px){
  .pyp-pw__story{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(38px,4.5vw,82px);padding-left:clamp(30px,6vw,115px);padding-right:clamp(30px,6vw,115px)}
  .pyp-pw__story-image{max-width:880px}
}
.pyp-pw__story-image{
  gap:18px;
  padding:27px;
  border-color:rgba(164,75,155,.36);
  border-radius:40px;
  background:linear-gradient(145deg,rgba(126,60,119,.62),rgba(145,73,135,.53) 48%,rgba(100,43,99,.61));
  box-shadow:0 30px 78px rgba(92,42,91,.2),inset 0 1px rgba(255,255,255,.42),inset 0 0 70px rgba(255,190,238,.1);
  -webkit-backdrop-filter:blur(24px) saturate(112%);
  backdrop-filter:blur(24px) saturate(112%);
  overflow:hidden
}
.pyp-pw__story-image:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.28),transparent 30%,transparent 68%,rgba(255,178,233,.12));pointer-events:none}
.pyp-pw__story-image:before{background:rgba(183,91,171,.2)}
.pyp-pw__story-image img{z-index:1;height:445px;border-color:rgba(255,255,255,.94);border-radius:27px;box-shadow:0 24px 60px rgba(15,5,18,.42)}
@media(max-width:680px){
  .pyp-pw__story{padding-left:20px;padding-right:20px}
  .pyp-pw__story-image{gap:10px;padding:15px;border-radius:27px}
  .pyp-pw__story-image img{height:265px}
}
/* Signature image pair: open, offset stack with no enclosing color panel. */
.pyp-pw__story-image{
  display:block;
  min-height:525px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  overflow:visible
}
.pyp-pw__story-image:before,.pyp-pw__story-image:after{display:none}
.pyp-pw__story-image img{
  position:absolute;
  height:455px;
  border:7px solid rgba(255,255,255,.96);
  border-radius:29px;
  box-shadow:0 28px 70px rgba(69,25,67,.24)
}
.pyp-pw__story-image-front{
  z-index:2;
  top:34px;
  left:0;
  width:58%;
  transform:rotate(-2.2deg)
}
.pyp-pw__story-image-back{
  z-index:1;
  top:0;
  right:0;
  width:53%;
  transform:rotate(2.4deg)
}
@media(max-width:680px){
  .pyp-pw__story-image{min-height:315px;padding:0}
  .pyp-pw__story-image img{height:280px;border-width:4px;border-radius:20px}
  .pyp-pw__story-image-front{top:25px;width:59%;transform:rotate(-2deg)}
  .pyp-pw__story-image-back{width:54%;transform:rotate(2deg)}
}
/* Slow physical-photo shuffle: each image glides to the back of the stack. */
.pyp-pw__story-image img{
  top:34px;
  left:8%;
  width:84%;
  height:455px;
  transform-origin:center;
  will-change:transform,opacity;
  animation:pypPwPhotoShuffle 18s cubic-bezier(.65,0,.35,1) infinite
}
.pyp-pw__story-image-front{z-index:2;right:auto;animation-delay:0s}
.pyp-pw__story-image-back{z-index:1;right:auto;filter:saturate(.92) brightness(.97);animation-delay:-9s}
@keyframes pypPwPhotoShuffle{
  0%,39%{z-index:2;opacity:1;transform:translate(-3%,-2%) rotate(-2deg) scale(1)}
  46%{z-index:2;opacity:.96;transform:translate(-14%,-7%) rotate(-4deg) scale(.95)}
  49%{z-index:1;opacity:.8;transform:translate(-18%,-5%) rotate(-3deg) scale(.93)}
  53%,89%{z-index:1;opacity:.82;transform:translate(8%,7%) rotate(2.5deg) scale(.94)}
  96%{z-index:1;opacity:.9;transform:translate(14%,2%) rotate(3deg) scale(.96)}
  100%{z-index:2;opacity:1;transform:translate(-3%,-2%) rotate(-2deg) scale(1)}
}
@media(max-width:680px){
  .pyp-pw__story-image img{top:18px;left:6%;width:88%;height:280px}
}
@media(prefers-reduced-motion:reduce){.pyp-pw *{animation:none!important;scroll-behavior:auto!important}.pyp-pw-reveal{opacity:1;transform:none;transition:none}}

/* Wedding Editorial Design System — v2.0.0 */
.pyp-pw{width:100vw;max-width:100vw;margin:0 calc(50% - 50vw);background:var(--pw-page);color:var(--pw-white);font-family:var(--pw-body-font);overflow:hidden}.pyp-pw h1,.pyp-pw h2,.pyp-pw h3{font-family:var(--pw-heading-font)!important;line-height:var(--pw-heading-lh)!important}.pyp-pw p,.pyp-pw li{font-family:var(--pw-body-font)!important;font-size:var(--pw-body-size);line-height:var(--pw-body-lh)}.pyp-pw__eyebrow{font-family:var(--pw-accent-font)!important;font-size:var(--pw-kicker-size)!important;line-height:var(--pw-kicker-lh)!important;color:var(--pw-rose)!important}.pyp-pw__mobile-title{display:none}
.pyp-pw__hero{min-height:760px;padding-top:var(--pw-hero-space);padding-bottom:var(--pw-hero-space)}.pyp-pw__hero h1{font-size:var(--pw-hero-size)!important}.pyp-pw__button{width:min(100%,var(--pw-button-w));min-height:var(--pw-button-h);border-color:var(--pw-button-border);border-radius:var(--pw-button-r);font-family:var(--pw-accent-font);font-size:var(--pw-button-size)}.pyp-pw__button--primary{background:var(--pw-button-bg);color:var(--pw-button-text)!important;box-shadow:0 16px 42px color-mix(in srgb,var(--pw-champagne) 38%,transparent)}.pyp-pw__button--ghost{color:var(--pw-white)!important}
.pyp-pw__intro{padding-top:var(--pw-intro-space);padding-bottom:var(--pw-intro-space);background:radial-gradient(circle at 12% 10%,color-mix(in srgb,var(--pw-champagne) 24%,transparent),transparent 32%),var(--pw-light);color:var(--pw-ink)}.pyp-pw__intro:before{color:color-mix(in srgb,var(--pw-rose) 5%,transparent)}.pyp-pw__section-heading h2,.pyp-pw__story-copy h2,.pyp-pw__gallery-copy h2,.pyp-pw__included h2,.pyp-pw__cta h2{font-size:var(--pw-heading-size)!important}.pyp-pw__section-heading>p:last-child,.pyp-pw__benefit p{color:var(--pw-body)!important}
.pyp-pw__benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pw-benefit-gap);max-width:1500px;border:0}.pyp-pw__benefit{position:relative;isolation:isolate;min-height:var(--pw-benefit-h);overflow:hidden;padding:38px;border:1px solid color-mix(in srgb,var(--pw-rose) 28%,transparent);border-radius:var(--pw-benefit-r);background:linear-gradient(145deg,rgba(255,255,255,.92),color-mix(in srgb,var(--pw-champagne) 24%,white));box-shadow:0 24px 65px rgba(75,47,70,.1);color:var(--pw-ink)}.pyp-pw__benefit:before{content:"";position:absolute;z-index:-1;inset:10px;border:1px solid rgba(255,255,255,.86);border-radius:calc(var(--pw-benefit-r) - 8px)}.pyp-pw__benefit:after{content:"✦";position:absolute;right:25px;top:22px;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--pw-champagne);border-radius:50%;color:var(--pw-rose)}.pyp-pw__benefit>span{width:46px;height:46px;display:grid;place-items:center;margin-bottom:48px;border-radius:50%;background:var(--pw-champagne);color:var(--pw-ink)}.pyp-pw__benefit h3{font-size:var(--pw-benefit-title)!important}.pyp-pw__benefit:hover{background:white;transform:translateY(-8px) rotate(-.35deg)}
.pyp-pw__story{padding-top:var(--pw-story-space);padding-bottom:var(--pw-story-space);background:var(--pw-light);color:var(--pw-ink)}.pyp-pw__journey{padding-top:var(--pw-journey-space);padding-bottom:var(--pw-journey-space);background:linear-gradient(135deg,color-mix(in srgb,var(--pw-dark) 94%,black),var(--pw-dark))}.pyp-pw__gallery{padding-top:var(--pw-gallery-space);padding-bottom:var(--pw-gallery-space);background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--pw-champagne) 34%,transparent),transparent 30%),var(--pw-light);color:var(--pw-ink)}.pyp-pw__included{padding-top:var(--pw-included-space);padding-bottom:var(--pw-included-space);background:var(--pw-dark)}.pyp-pw__cta{padding-top:var(--pw-cta-space);padding-bottom:var(--pw-cta-space);background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--pw-rose) 28%,transparent),transparent 48%),var(--pw-light);color:var(--pw-ink)}.pyp-pw__cta>p:not(.pyp-pw__eyebrow){color:var(--pw-body)}
.pyp-pw__photo-stack{position:relative;min-height:var(--pw-invite-h);isolation:isolate;perspective:1400px}.pyp-pw__photo{position:absolute;inset:3% 8% 10%;width:auto!important;height:auto!important;margin:0;padding:12px 12px 62px;border:1px solid rgba(92,67,87,.18)!important;border-radius:var(--pw-invite-r)!important;background:#fff;box-shadow:0 28px 70px rgba(50,31,48,.19);opacity:1!important;filter:none!important;transition:transform var(--pyp-gallery-glide) cubic-bezier(.22,.8,.22,1),opacity .7s ease!important}.pyp-pw__photo img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--pw-invite-r) - 8px)}.pyp-pw__photo figcaption{position:absolute;left:18px;right:18px;bottom:18px;color:var(--pw-ink);font:italic var(--pw-caption-size)/1.15 var(--pw-caption-font);text-align:center}.pyp-pw__photo[data-pyp-position="hero"]{z-index:5;transform:translate(0,0) rotate(-1deg)!important}.pyp-pw__photo[data-pyp-position="slot-2"]{z-index:4;transform:translate(calc(4% * var(--pw-invite-spread)),2%) rotate(3deg)!important}.pyp-pw__photo[data-pyp-position="slot-3"]{z-index:3;transform:translate(calc(-5% * var(--pw-invite-spread)),4%) rotate(-4deg)!important}.pyp-pw__photo[data-pyp-position="slot-4"]{z-index:2;transform:translate(calc(7% * var(--pw-invite-spread)),6%) rotate(6deg)!important}.pyp-pw__vellum{position:absolute;z-index:7;left:-4%;top:10%;width:42%;padding:35px 24px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,var(--pw-vellum));box-shadow:0 18px 48px rgba(69,48,64,.13);backdrop-filter:blur(12px);transform:rotate(-4deg);text-align:center}.pyp-pw__vellum span{display:block;color:var(--pw-ink);font:400 38px/1 var(--pw-heading-font);text-transform:uppercase}.pyp-pw__vellum small{display:block;margin-top:10px;color:var(--pw-body);font:italic 16px/1.3 var(--pw-caption-font)}.pyp-pw__wax-next{position:absolute;z-index:8;right:2%;bottom:4%;width:104px;height:104px;padding:15px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:var(--pw-rose);color:#fff;font:600 9px/1.35 var(--pw-accent-font);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 18px 42px rgba(58,31,55,.25);cursor:pointer}.pyp-pw__wax-next span{display:block;margin-top:6px;font-size:18px}
.pyp-pw-admin-wide{grid-column:1/-1}.pyp-pw-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pyp-pw-color{display:flex;gap:8px}.pyp-pw-color input[type=color]{width:54px;flex:0 0 54px}
@media(max-width:1050px){.pyp-pw__benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.pyp-pw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pyp-pw__desktop-title{display:none!important}.pyp-pw__mobile-title{display:inline!important}.pyp-pw__hero,.pyp-pw__intro,.pyp-pw__story,.pyp-pw__journey,.pyp-pw__gallery,.pyp-pw__included,.pyp-pw__cta{padding-left:var(--pw-mobile-pad)!important;padding-right:var(--pw-mobile-pad)!important}.pyp-pw__hero{padding-top:var(--pw-hero-space)!important;padding-bottom:var(--pw-hero-space)!important}.pyp-pw__intro{padding-top:var(--pw-intro-space)!important;padding-bottom:var(--pw-intro-space)!important}.pyp-pw__story{padding-top:var(--pw-story-space)!important;padding-bottom:var(--pw-story-space)!important}.pyp-pw__journey{padding-top:var(--pw-journey-space)!important;padding-bottom:var(--pw-journey-space)!important}.pyp-pw__gallery{padding-top:var(--pw-gallery-space)!important;padding-bottom:var(--pw-gallery-space)!important}.pyp-pw__included{padding-top:var(--pw-included-space)!important;padding-bottom:var(--pw-included-space)!important}.pyp-pw__cta{padding-top:var(--pw-cta-space)!important;padding-bottom:var(--pw-cta-space)!important}.pyp-pw__hero h1{font-size:var(--pw-hero-size)!important}.pyp-pw__section-heading h2,.pyp-pw__story-copy h2,.pyp-pw__gallery-copy h2,.pyp-pw__included h2,.pyp-pw__cta h2{font-size:var(--pw-heading-size)!important}.pyp-pw__button{width:min(100%,var(--pw-button-w));height:var(--pw-button-h);min-height:var(--pw-button-h);margin-left:auto;margin-right:auto}.pyp-pw__benefits{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:84vw;gap:var(--pw-benefit-gap);overflow-x:auto;margin:0 calc(var(--pw-mobile-pad) * -1);padding:8px var(--pw-mobile-pad) 35px;scroll-snap-type:x mandatory;scrollbar-width:none}.pyp-pw__benefit{min-height:var(--pw-benefit-h);scroll-snap-align:center}.pyp-pw__photo-stack{min-height:var(--pw-invite-h)}.pyp-pw__photo{inset:4% 4% 8%;padding:9px 9px 54px}.pyp-pw__vellum{left:0;top:4%;width:52%;padding:24px 14px}.pyp-pw__vellum span{font-size:25px}.pyp-pw__wax-next{right:0;bottom:2%;width:84px;height:84px;font-size:7px}.pyp-pw-grid{grid-template-columns:1fr}}

/* Cache/minifier-safe invitation suite containment — v2.0.1 */
.pyp-pw__gallery {
  position: relative !important;
  overflow: hidden !important;
}
.pyp-pw__photo-stack {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--pw-invite-h, 620px) !important;
  contain: layout paint !important;
  isolation: isolate !important;
}
.pyp-pw__photo-stack .pyp-pw__photo {
  position: absolute !important;
  top: 3% !important;
  right: 8% !important;
  bottom: 10% !important;
  left: 8% !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 12px 62px !important;
  overflow: hidden !important;
  border: 1px solid rgba(92,67,87,.18) !important;
  border-radius: var(--pw-invite-r, 10px) !important;
  background: #fff !important;
  box-shadow: 0 28px 70px rgba(50,31,48,.19) !important;
  opacity: 1 !important;
}
.pyp-pw__photo-stack .pyp-pw__photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.pyp-pw__photo-stack .pyp-pw__photo figcaption {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  left: 18px !important;
  display: block !important;
  color: var(--pw-ink, #342135) !important;
  font-family: var(--pw-caption-font, Georgia, serif) !important;
  font-size: var(--pw-caption-size, 22px) !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  text-align: center !important;
}
.pyp-pw__photo[data-pyp-position="hero"] { z-index: 5 !important; transform: translate(0,0) rotate(-1deg) !important; }
.pyp-pw__photo[data-pyp-position="slot-2"] { z-index: 4 !important; transform: translate(4%,2%) rotate(3deg) !important; }
.pyp-pw__photo[data-pyp-position="slot-3"] { z-index: 3 !important; transform: translate(-5%,4%) rotate(-4deg) !important; }
.pyp-pw__photo[data-pyp-position="slot-4"] { z-index: 2 !important; transform: translate(7%,6%) rotate(6deg) !important; }
.pyp-pw__photo-stack .pyp-pw__vellum {
  position: absolute !important;
  z-index: 7 !important;
  top: 10% !important;
  left: 0 !important;
  display: block !important;
  width: 42% !important;
  padding: 35px 24px !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 18px 48px rgba(69,48,64,.13) !important;
  transform: rotate(-4deg) !important;
  text-align: center !important;
}
.pyp-pw__vellum span,
.pyp-pw__vellum small { display: block !important; }
.pyp-pw__photo-stack .pyp-pw__wax-next {
  position: absolute !important;
  z-index: 8 !important;
  right: 2% !important;
  bottom: 4% !important;
  display: block !important;
  width: 104px !important;
  height: 104px !important;
  padding: 15px !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 50% !important;
  background: var(--pw-rose, #a46b96) !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(58,31,55,.25) !important;
  font-family: var(--pw-accent-font, sans-serif) !important;
  font-size: 9px !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.pyp-pw__included,
.pyp-pw__cta {
  position: relative !important;
  z-index: 3 !important;
  overflow: hidden !important;
  clear: both !important;
}
@media (max-width: 680px) {
  .pyp-pw__photo-stack { min-height: var(--pw-invite-h, 520px) !important; }
  .pyp-pw__photo-stack .pyp-pw__photo {
    top: 4% !important;
    right: 4% !important;
    bottom: 8% !important;
    left: 4% !important;
    padding: 9px 9px 54px !important;
  }
  .pyp-pw__photo-stack .pyp-pw__vellum {
    top: 4% !important;
    width: 52% !important;
    padding: 24px 14px !important;
  }
  .pyp-pw__photo-stack .pyp-pw__wax-next {
    right: 0 !important;
    bottom: 2% !important;
    width: 84px !important;
    height: 84px !important;
    font-size: 7px !important;
  }
}

/* Reference-style two-jaw wooden clothespin — v2.3.1 */
.pyp-pw__floral-valance { display: none !important; }
.pyp-pw__clothesline .pyp-pw__clothespin {
  top: -58px !important;
  width: 25px !important;
  height: 82px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 3px !important;
  background:
    linear-gradient(90deg,
      #9c6d3e 0 5%,#d9b075 6% 42%,
      #76502f 43% 48%,#f0d095 49% 54%,
      #9b6a3a 55% 60%,#dfb979 61% 95%,#8b5c34 96%) !important;
  box-shadow: 3px 7px 10px rgba(48,28,20,.28),inset 2px 0 rgba(255,235,190,.48) !important;
  transform: translateX(-50%) rotate(4deg) !important;
  clip-path: polygon(8% 0,92% 0,100% 87%,77% 100%,55% 91%,45% 91%,23% 100%,0 87%);
}
.pyp-pw__clothesline .pyp-pw__clothespin:before {
  top: 29px !important;
  left: 50% !important;
  width: 19px !important;
  height: 19px !important;
  border: 2px solid #5f5c57 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at center,#ece9e2 0 16%,#6f6c67 18% 25%,transparent 27%),
    repeating-radial-gradient(circle,#dedbd4 0 1px,#706d68 2px 3px) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.45),inset 0 0 0 1px #f7f4ec !important;
  transform: translateX(-50%) !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin:after {
  content: "" !important;
  position: absolute !important;
  top: 45px !important;
  right: 4px !important;
  bottom: auto !important;
  left: 4px !important;
  height: 12px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse at center,#81572f 0 28%,#b78049 30% 47%,transparent 49%) !important;
}
.pyp-pw__clothespin i {
  position: absolute;
  z-index: 3;
  top: 35px;
  left: 50%;
  display: block;
  width: 31px;
  height: 37px;
  border-right: 2px solid #706c66;
  border-bottom: 2px solid #706c66;
  border-left: 2px solid #706c66;
  border-radius: 0 0 14px 14px;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.35));
  transform: translateX(-50%);
}
.pyp-pw__clothespin i:before,
.pyp-pw__clothespin i:after {
  content: "";
  position: absolute;
  bottom: -3px;
  width: 15px;
  height: 2px;
  background: #706c66;
}
.pyp-pw__clothespin i:before { left: -7px; transform: rotate(-29deg); }
.pyp-pw__clothespin i:after { right: -7px; transform: rotate(29deg); }

/* Garden arcade and dimensional wooden clothespins — v2.2 */
.pyp-pw__benefit-image,
.pyp-pw__floral-valance { display: none; }
.pyp-pw__benefits--arches {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--pw-benefit-gap);
}
.pyp-pw__benefits--arches .pyp-pw__benefit {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: var(--pw-benefit-h);
  padding: 38px 34px;
  overflow: hidden;
  border: 9px solid rgba(255,255,255,.92);
  border-radius: 48% 48% var(--pw-benefit-r) var(--pw-benefit-r);
  background: #39283a;
  box-shadow: 0 28px 65px rgba(61,38,59,.2),0 0 0 1px rgba(111,72,105,.24);
  color: #fff;
  isolation: isolate;
}
.pyp-pw__benefits--arches .pyp-pw__benefit:before {
  z-index: -1;
  inset: 0;
  border: 0;
  border-radius: inherit;
  background: linear-gradient(to bottom,rgba(20,10,20,.03) 20%,rgba(20,10,20,.18) 48%,rgba(20,10,20,.88) 100%);
}
.pyp-pw__benefits--arches .pyp-pw__benefit:after { display: none; }
.pyp-pw__benefits--arches .pyp-pw__benefit-image {
  position: absolute;
  z-index: -2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(calc(1 - var(--pw-benefit-darkness)));
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.pyp-pw__benefits--arches .pyp-pw__benefit:hover .pyp-pw__benefit-image { transform: scale(1.06); }
.pyp-pw__benefits--arches .pyp-pw__benefit > span {
  position: absolute;
  top: 24px;
  left: 50%;
  width: 48px;
  height: 48px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.78);
  background: rgba(255,255,255,.78);
  color: var(--pw-ink);
  transform: translateX(-50%);
  backdrop-filter: blur(8px);
}
.pyp-pw__benefits--arches .pyp-pw__benefit h3,
.pyp-pw__benefits--arches .pyp-pw__benefit p {
  position: relative;
  z-index: 3;
  color: #fff !important;
  text-align: center;
  text-shadow: 0 2px 16px rgba(0,0,0,.38);
}
.pyp-pw__benefits--arches .pyp-pw__benefit h3 { margin-bottom: 18px; }
.pyp-pw__benefits--florals .pyp-pw__floral-valance {
  position: absolute;
  z-index: 2;
  top: -7px;
  right: 5%;
  left: 5%;
  display: block;
  height: 100px;
  pointer-events: none;
}
.pyp-pw__floral-valance:before,
.pyp-pw__floral-valance:after {
  content: "";
  position: absolute;
  top: 12px;
  width: 45%;
  height: 70px;
  border-top: 9px solid #8d9b72;
  border-radius: 50%;
  filter: drop-shadow(0 3px 4px rgba(32,20,29,.25));
}
.pyp-pw__floral-valance:before { left: 3%; transform: rotate(9deg); }
.pyp-pw__floral-valance:after { right: 3%; transform: rotate(-9deg); }
.pyp-pw__floral-valance i {
  position: absolute;
  display: block;
  width: 32px;
  height: 32px;
  border: 7px solid #f5dbe5;
  border-radius: 52% 46% 55% 42%;
  background: #d4a2b7;
  box-shadow: inset 0 0 0 5px #f8eee7,0 4px 8px rgba(59,36,50,.2);
}
.pyp-pw__floral-valance i:nth-child(1) { top: 4px; left: 16%; transform: rotate(18deg); }
.pyp-pw__floral-valance i:nth-child(2) { top: 20px; left: 32%; width: 24px; height: 24px; }
.pyp-pw__floral-valance i:nth-child(3) { top: 3px; left: calc(50% - 19px); width: 38px; height: 38px; }
.pyp-pw__floral-valance i:nth-child(4) { top: 20px; right: 32%; width: 24px; height: 24px; }
.pyp-pw__floral-valance i:nth-child(5) { top: 4px; right: 16%; transform: rotate(-18deg); }
.pyp-pw__clothespin {
  top: -46px;
  width: 22px;
  height: 61px;
  border: 1px solid #986b39;
  border-radius: 7px 7px 3px 3px;
  background:
    linear-gradient(90deg,transparent 43%,rgba(91,57,27,.38) 44% 49%,rgba(255,229,177,.42) 50% 56%,transparent 57%),
    repeating-linear-gradient(98deg,rgba(108,67,29,.14) 0 1px,transparent 1px 5px),
    linear-gradient(90deg,#a96f38 0 12%,#e3b66e 13% 43%,#be8447 44% 55%,#f0ca82 56% 88%,#9d6735 89%);
  box-shadow: 2px 5px 9px rgba(50,28,20,.3),inset 1px 0 rgba(255,241,205,.65),inset -1px 0 rgba(92,52,25,.35);
}
.pyp-pw__clothespin:before {
  content: "";
  position: absolute;
  top: 20px;
  left: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid #6f655d;
  border-radius: 50%;
  background: radial-gradient(circle,#c9c3bb 0 22%,transparent 24%),repeating-radial-gradient(circle,#837a70 0 1px,#bcb4aa 2px 3px);
  box-shadow: 0 1px 2px rgba(0,0,0,.3);
  transform: translateX(-50%);
}
.pyp-pw__clothespin:after {
  content: "";
  position: absolute;
  right: 3px;
  bottom: -7px;
  left: 3px;
  height: 15px;
  border-right: 2px solid #8b7e72;
  border-bottom: 2px solid #8b7e72;
  border-left: 2px solid #8b7e72;
  border-radius: 0 0 8px 8px;
}
@media (max-width: 680px) {
  .pyp-pw__benefits--arches {
    grid-template-columns: none;
    grid-auto-columns: 82vw;
  }
  .pyp-pw__benefits--arches .pyp-pw__benefit { min-height: var(--pw-benefit-h); }
}

/* Dedicated Bridal Shower and Wedding Shower experiences — v2.1 */
.pyp-pw__bridal,
.pyp-pw__wedding-shower {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding-right: clamp(24px,7vw,120px);
  padding-left: clamp(24px,7vw,120px);
}
.pyp-pw__bridal {
  padding-top: var(--pw-bridal-space);
  padding-bottom: var(--pw-bridal-space);
  background: var(--pw-bridal-bg);
  color: var(--pw-bridal-ink);
}
.pyp-pw__bridal-copy {
  width: min(900px,100%);
  margin: 0 auto 70px;
  text-align: center;
}
.pyp-pw__bridal-copy h2,
.pyp-pw__shower-copy h2 {
  margin: 0 0 24px;
  font-size: var(--pw-bridal-title) !important;
}
.pyp-pw__bridal-copy > p:not(.pyp-pw__eyebrow),
.pyp-pw__shower-copy > p:not(.pyp-pw__eyebrow) {
  color: inherit;
  opacity: .72;
}
.pyp-pw__bridal-copy ul,
.pyp-pw__shower-copy ul {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px 34px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.pyp-pw__bridal-copy li,
.pyp-pw__shower-copy li {
  position: relative;
  padding-left: 24px;
  color: inherit;
}
.pyp-pw__bridal-copy li:before,
.pyp-pw__shower-copy li:before {
  content: "✦";
  position: absolute;
  left: 0;
  color: var(--pw-bridal-accent);
}
.pyp-pw__clothesline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--pw-bridal-gap);
  max-width: 1450px;
  margin: 0 auto;
  padding: 55px 10px 24px;
}
.pyp-pw__clothesline-rope {
  position: absolute;
  top: 31px;
  left: -4%;
  width: 108%;
  height: 2px;
  border-radius: 50%;
  background: var(--pw-bridal-accent);
  box-shadow: 0 2px 0 rgba(255,255,255,.65);
  transform: rotate(-.6deg);
}
.pyp-pw__hanging-photo {
  position: relative;
  margin: 0;
  padding: 12px 12px 58px;
  background: #fff;
  box-shadow: 0 24px 55px rgba(68,42,62,.16);
  transform-origin: 50% -22px;
  transition: transform .4s ease,box-shadow .4s ease;
}
.pyp-pw__hanging-photo--1 { transform: rotate(-3deg); }
.pyp-pw__hanging-photo--2 { transform: translateY(18px) rotate(2deg); }
.pyp-pw__hanging-photo--3 { transform: rotate(-1.5deg); }
.pyp-pw__hanging-photo:hover {
  z-index: 3;
  transform: translateY(-8px) rotate(0);
  box-shadow: 0 32px 70px rgba(68,42,62,.24);
}
.pyp-pw__hanging-photo img {
  display: block;
  width: 100%;
  height: var(--pw-bridal-photo-h);
  object-fit: cover;
}
.pyp-pw__hanging-photo figcaption {
  position: absolute;
  right: 12px;
  bottom: 17px;
  left: 12px;
  color: var(--pw-bridal-ink);
  font: 500 22px/1.1 var(--pw-caption-font);
  text-align: center;
}
.pyp-pw__clothespin {
  position: absolute;
  z-index: 2;
  top: -43px;
  left: 50%;
  width: 15px;
  height: 55px;
  border-radius: 5px 5px 2px 2px;
  background: linear-gradient(90deg,#c99c61,#f0c98b 46%,#a97945);
  box-shadow: 0 3px 7px rgba(53,31,38,.2);
  transform: translateX(-50%) rotate(2deg);
}
.pyp-pw__wedding-shower {
  display: grid;
  grid-template-columns: minmax(420px,1fr) minmax(0,.9fr);
  align-items: center;
  gap: clamp(55px,8vw,135px);
  padding-top: var(--pw-shower-space);
  padding-bottom: var(--pw-shower-space);
  background: var(--pw-shower-bg);
  color: var(--pw-shower-ink);
}
.pyp-pw__shower-art {
  position: relative;
  min-height: var(--pw-shower-photo-h);
}
.pyp-pw__shower-arch {
  position: absolute;
  inset: 0 14% 0 0;
  overflow: hidden;
  border: 10px solid rgba(255,255,255,.9);
  border-radius: 48% 48% 24px 24px;
  box-shadow: 0 28px 70px rgba(67,39,58,.2);
}
.pyp-pw__shower-arch img,
.pyp-pw__shower-inset img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pyp-pw__shower-inset {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 4%;
  width: 39%;
  height: 46%;
  overflow: hidden;
  border: 8px solid #fff;
  border-radius: 50% 50% 18px 18px;
  box-shadow: 0 20px 48px rgba(67,39,58,.24);
}
.pyp-pw__shower-monogram {
  position: absolute;
  z-index: 3;
  top: 7%;
  right: 4%;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 50%;
  background: var(--pw-shower-accent);
  color: #fff;
  font: 400 44px/1 var(--pw-heading-font);
  box-shadow: 0 15px 35px rgba(67,39,58,.2);
}
.pyp-pw__shower-copy h2 { font-size: var(--pw-shower-title) !important; }
.pyp-pw__shower-copy li:before { color: var(--pw-shower-accent); }
@media (max-width: 850px) {
  .pyp-pw__wedding-shower { grid-template-columns: 1fr; }
  .pyp-pw__shower-art { width: min(680px,100%); }
}
@media (max-width: 680px) {
  .pyp-pw__bridal,
  .pyp-pw__wedding-shower {
    padding-right: var(--pw-mobile-pad) !important;
    padding-left: var(--pw-mobile-pad) !important;
  }
  .pyp-pw__bridal {
    padding-top: var(--pw-bridal-space) !important;
    padding-bottom: var(--pw-bridal-space) !important;
  }
  .pyp-pw__wedding-shower {
    padding-top: var(--pw-shower-space) !important;
    padding-bottom: var(--pw-shower-space) !important;
  }
  .pyp-pw__bridal-copy { margin-bottom: 45px; }
  .pyp-pw__bridal-copy h2 { font-size: var(--pw-bridal-title) !important; }
  .pyp-pw__shower-copy h2 { font-size: var(--pw-shower-title) !important; }
  .pyp-pw__bridal-copy ul,
  .pyp-pw__shower-copy ul { grid-template-columns: 1fr; }
  .pyp-pw__clothesline {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: 82vw;
    gap: var(--pw-bridal-gap);
    overflow-x: auto;
    margin-right: calc(var(--pw-mobile-pad) * -1);
    margin-left: calc(var(--pw-mobile-pad) * -1);
    padding-right: var(--pw-mobile-pad);
    padding-left: var(--pw-mobile-pad);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .pyp-pw__clothesline-rope { width: 310%; }
  .pyp-pw__hanging-photo { scroll-snap-align: center; }
  .pyp-pw__hanging-photo img { height: var(--pw-bridal-photo-h); }
  .pyp-pw__shower-art { min-height: var(--pw-shower-photo-h); }
  .pyp-pw__shower-arch { right: 8%; }
  .pyp-pw__shower-inset { width: 44%; height: 41%; }
  .pyp-pw__shower-monogram { width: 72px; height: 72px; font-size: 34px; }
}

/* Keep the dimensional pin finish after the base clothesline rules. */
.pyp-pw__clothesline .pyp-pw__clothespin {
  top: -46px !important;
  width: 22px !important;
  height: 61px !important;
  border: 1px solid #986b39 !important;
  border-radius: 7px 7px 3px 3px !important;
  background:
    linear-gradient(90deg,transparent 43%,rgba(91,57,27,.38) 44% 49%,rgba(255,229,177,.42) 50% 56%,transparent 57%),
    repeating-linear-gradient(98deg,rgba(108,67,29,.14) 0 1px,transparent 1px 5px),
    linear-gradient(90deg,#a96f38 0 12%,#e3b66e 13% 43%,#be8447 44% 55%,#f0ca82 56% 88%,#9d6735 89%) !important;
  box-shadow: 2px 5px 9px rgba(50,28,20,.3),inset 1px 0 rgba(255,241,205,.65),inset -1px 0 rgba(92,52,25,.35) !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin:before {
  content: "" !important;
  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #6f655d !important;
  border-radius: 50% !important;
  background: radial-gradient(circle,#c9c3bb 0 22%,transparent 24%),repeating-radial-gradient(circle,#837a70 0 1px,#bcb4aa 2px 3px) !important;
  transform: translateX(-50%) !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin:after {
  content: "" !important;
  position: absolute !important;
  right: 3px !important;
  bottom: -7px !important;
  left: 3px !important;
  height: 15px !important;
  border-right: 2px solid #8b7e72 !important;
  border-bottom: 2px solid #8b7e72 !important;
  border-left: 2px solid #8b7e72 !important;
  border-radius: 0 0 8px 8px !important;
}

/* Compact single-row celebration timeline — v2.3 */
.pyp-pw__benefits--arches {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-columns: none !important;
  grid-auto-columns: var(--pw-benefit-card-w,320px) !important;
  justify-content: start !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  margin-right: calc(clamp(24px,7vw,120px) * -1) !important;
  margin-left: calc(clamp(24px,7vw,120px) * -1) !important;
  padding: 15px clamp(24px,7vw,120px) 42px !important;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.pyp-pw__benefits--arches::-webkit-scrollbar { display: none; }
.pyp-pw__benefits--arches .pyp-pw__benefit {
  width: var(--pw-benefit-card-w,320px) !important;
  min-height: var(--pw-benefit-h,390px) !important;
  scroll-snap-align: center;
}
.pyp-pw__timeline-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}
.pyp-pw__timeline-nav button {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 1px solid var(--pw-rose);
  border-radius: 50%;
  background: transparent;
  color: var(--pw-ink);
  font: 400 24px/1 sans-serif;
  cursor: pointer;
  transition: background .25s ease,color .25s ease,transform .25s ease;
}
.pyp-pw__timeline-nav button:hover {
  background: var(--pw-rose);
  color: #fff;
  transform: translateY(-2px);
}
.pyp-pw__timeline-nav span {
  margin-left: 10px;
  color: var(--pw-body);
  font: 600 10px/1.3 var(--pw-accent-font);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pyp-pw__benefits--editorial + .pyp-pw__timeline-nav { display: none; }
@media (max-width: 680px) {
  .pyp-pw__benefits--arches {
    grid-auto-columns: var(--pw-mobile-benefit-card-w,285px) !important;
    margin-right: calc(var(--pw-mobile-pad) * -1) !important;
    margin-left: calc(var(--pw-mobile-pad) * -1) !important;
    padding-right: var(--pw-mobile-pad) !important;
    padding-left: var(--pw-mobile-pad) !important;
  }
  .pyp-pw__benefits--arches .pyp-pw__benefit {
    width: var(--pw-mobile-benefit-card-w,285px) !important;
  }
  .pyp-pw__timeline-nav span { display: none; }
}

/* Final clothespin finish must remain last in the cascade. */
.pyp-pw__floral-valance { display: none !important; }
.pyp-pw__clothesline .pyp-pw__clothespin {
  top: -58px !important;
  width: 25px !important;
  height: 82px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: linear-gradient(90deg,#9c6d3e 0 5%,#d9b075 6% 42%,#76502f 43% 48%,#f0d095 49% 54%,#9b6a3a 55% 60%,#dfb979 61% 95%,#8b5c34 96%) !important;
  box-shadow: 3px 7px 10px rgba(48,28,20,.28),inset 2px 0 rgba(255,235,190,.48) !important;
  transform: translateX(-50%) rotate(4deg) !important;
  clip-path: polygon(8% 0,92% 0,100% 87%,77% 100%,55% 91%,45% 91%,23% 100%,0 87%) !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin:before {
  top: 29px !important;
  width: 19px !important;
  height: 19px !important;
  border: 2px solid #5f5c57 !important;
  background: radial-gradient(circle,#ece9e2 0 16%,#6f6c67 18% 25%,transparent 27%),repeating-radial-gradient(circle,#dedbd4 0 1px,#706d68 2px 3px) !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin:after {
  top: 45px !important;
  right: 4px !important;
  bottom: auto !important;
  left: 4px !important;
  height: 12px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse,#81572f 0 28%,#b78049 30% 47%,transparent 49%) !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin i {
  position: absolute !important;
  z-index: 3 !important;
  top: 35px !important;
  left: 50% !important;
  display: block !important;
  width: 31px !important;
  height: 37px !important;
  border-right: 2px solid #706c66 !important;
  border-bottom: 2px solid #706c66 !important;
  border-left: 2px solid #706c66 !important;
  border-radius: 0 0 14px 14px !important;
  transform: translateX(-50%) !important;
}

/* Layered editorial celebration collage — v2.4 */
.pyp-pw__benefits--collage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 28px;
  max-width: 1420px;
  margin: 30px auto 0;
  padding: 70px 55px 90px;
  overflow: visible;
}
.pyp-pw__benefits--collage:before,
.pyp-pw__benefits--collage:after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 47% 53% 62% 38%;
  background: rgba(218,158,164,.22);
  filter: blur(1px);
}
.pyp-pw__benefits--collage:before {
  top: 0;
  right: 4%;
  width: 270px;
  height: 220px;
  transform: rotate(18deg);
}
.pyp-pw__benefits--collage:after {
  bottom: 2%;
  left: 1%;
  width: 230px;
  height: 190px;
  transform: rotate(-24deg);
}
.pyp-pw__benefits--collage .pyp-pw__benefit {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 360px;
  padding: 30px 27px;
  overflow: hidden;
  border: 10px solid #fff;
  border-radius: 4px;
  background: #2d202f;
  box-shadow: 0 24px 55px rgba(61,38,59,.18);
  color: #fff;
  isolation: isolate;
}
.pyp-pw__benefits--collage .pyp-pw__benefit:before {
  z-index: -1;
  inset: 0;
  border: 0;
  border-radius: 0;
  background: linear-gradient(to bottom,transparent 24%,rgba(20,10,20,.15) 48%,rgba(20,10,20,.9));
}
.pyp-pw__benefits--collage .pyp-pw__benefit:after { display: none; }
.pyp-pw__benefits--collage .pyp-pw__benefit-image {
  position: absolute;
  z-index: -2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}
.pyp-pw__benefits--collage .pyp-pw__benefit:hover .pyp-pw__benefit-image { transform: scale(1.055); }
.pyp-pw__benefits--collage .pyp-pw__benefit > span {
  position: absolute;
  top: 19px;
  left: 19px;
  width: 43px;
  height: 43px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.7);
  background: rgba(255,255,255,.82);
  color: var(--pw-ink);
  backdrop-filter: blur(8px);
}
.pyp-pw__benefits--collage .pyp-pw__benefit h3,
.pyp-pw__benefits--collage .pyp-pw__benefit p {
  position: relative;
  z-index: 2;
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.45);
}
.pyp-pw__benefits--collage .pyp-pw__benefit h3 { margin-bottom: 12px; font-size: 25px !important; }
.pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(1) { grid-column: 1 / span 4; transform: translateY(18px) rotate(-1.2deg); }
.pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(2) { z-index: 2; grid-column: 5 / span 4; transform: translateY(-28px) rotate(.7deg); }
.pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(3) { grid-column: 9 / span 4; transform: translateY(30px) rotate(1.3deg); }
.pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(4) { grid-column: 2 / span 4; transform: translateY(-4px) rotate(.8deg); }
.pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(5) { z-index: 2; grid-column: 5 / span 4; transform: translateY(35px) rotate(-1deg); }
.pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(6) { grid-column: 9 / span 4; transform: translateY(-12px) rotate(.6deg); }
.pyp-pw__benefits--collage + .pyp-pw__timeline-nav { display: none; }

/* Restore the shorter dimensional clothespin treatment. */
.pyp-pw__clothesline .pyp-pw__clothespin {
  top: -46px !important;
  width: 22px !important;
  height: 61px !important;
  border: 1px solid #986b39 !important;
  border-radius: 7px 7px 3px 3px !important;
  background:
    linear-gradient(90deg,transparent 43%,rgba(91,57,27,.38) 44% 49%,rgba(255,229,177,.42) 50% 56%,transparent 57%),
    repeating-linear-gradient(98deg,rgba(108,67,29,.14) 0 1px,transparent 1px 5px),
    linear-gradient(90deg,#a96f38 0 12%,#e3b66e 13% 43%,#be8447 44% 55%,#f0ca82 56% 88%,#9d6735 89%) !important;
  box-shadow: 2px 5px 9px rgba(50,28,20,.3),inset 1px 0 rgba(255,241,205,.65),inset -1px 0 rgba(92,52,25,.35) !important;
  clip-path: none !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin:before {
  top: 20px !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #6f655d !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin:after {
  right: 3px !important;
  bottom: -7px !important;
  left: 3px !important;
  height: 15px !important;
  border-right: 2px solid #8b7e72 !important;
  border-bottom: 2px solid #8b7e72 !important;
  border-left: 2px solid #8b7e72 !important;
  border-radius: 0 0 8px 8px !important;
  background: transparent !important;
}
.pyp-pw__clothesline .pyp-pw__clothespin i { display: none !important; }
@media (max-width: 760px) {
  .pyp-pw__benefits--collage {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: var(--pw-mobile-benefit-card-w,285px);
    gap: var(--pw-benefit-gap);
    overflow-x: auto;
    margin-right: calc(var(--pw-mobile-pad) * -1);
    margin-left: calc(var(--pw-mobile-pad) * -1);
    padding: 40px var(--pw-mobile-pad) 48px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .pyp-pw__benefits--collage::-webkit-scrollbar { display: none; }
  .pyp-pw__benefits--collage .pyp-pw__benefit,
  .pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(n) {
    grid-column: auto;
    width: var(--pw-mobile-benefit-card-w,285px);
    min-height: var(--pw-benefit-h,400px);
    transform: none;
    scroll-snap-align: center;
  }
  .pyp-pw__benefits--collage + .pyp-pw__timeline-nav { display: flex; }
}

/* Two-row collage alignment — v2.4.1 */
@media (min-width: 761px) {
  .pyp-pw__benefits--collage {
    grid-template-rows: repeat(2,minmax(0,360px));
    row-gap: 8px;
    padding-top: 48px;
    padding-bottom: 58px;
  }
  .pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(1) {
    grid-row: 1;
    grid-column: 1 / span 4;
    transform: translateY(14px) rotate(-1.2deg);
  }
  .pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(2) {
    grid-row: 1;
    grid-column: 5 / span 4;
    transform: translateY(-18px) rotate(.7deg);
  }
  .pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(3) {
    grid-row: 1;
    grid-column: 9 / span 4;
    transform: translateY(20px) rotate(1.3deg);
  }
  .pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(4) {
    grid-row: 2;
    grid-column: 1 / span 4;
    transform: translate(7%,-10px) rotate(.8deg);
  }
  .pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(5) {
    grid-row: 2;
    grid-column: 5 / span 4;
    transform: translateY(16px) rotate(-1deg);
  }
  .pyp-pw__benefits--collage .pyp-pw__benefit:nth-child(6) {
    grid-row: 2;
    grid-column: 9 / span 4;
    transform: translate(-5%,-6px) rotate(.6deg);
  }
}
