@font-face{font-family:Pearl Display;src:url("../editorial-noir/fonts/Prata-Regular.3456391b8e6e.ttf");font-display:swap}@font-face{font-family:Pearl Serif;src:url("../fonts/cormorantgaramond.618588c60263.ttf");font-display:swap}@font-face{font-family:Pearl Sans;src:url("../fonts/manrope.946beb949095.ttf");font-display:swap}
*{box-sizing:border-box}html{scrollbar-width:none;scroll-behavior:smooth}body{margin:0;background:#efedf3;color:#242631;font:20px/1.2 Pearl Serif,Georgia,serif;overflow-x:clip}h1,h2,h3,p,figure{margin:0;font-weight:400}img,svg{display:block}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #5f6078;outline-offset:3px}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pearl-invitation{width:min(100%,520px);margin:auto;container-type:inline-size;box-shadow:0 0 90px #b4afc533}.pearl-section{position:relative;isolation:isolate;min-height:177.69cqi;background:#efedf5;overflow:clip;overflow-wrap:anywhere}.pearl-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;pointer-events:none}.pearl-section h2{font-family:Pearl Display,Georgia,serif;letter-spacing:-.05em;line-height:1.08;text-align:center}.pearl-photo-window{position:relative;overflow:hidden;background:#e6e5ed}.pearl-client-photo{width:100%;height:100%;object-fit:cover;transform-origin:center}.pearl-names{font:var(--name-size,11cqi)/1 Pearl Display,Georgia,serif;letter-spacing:-.05em;text-align:center;overflow-wrap:anywhere}.pearl-names span{display:block}.pearl-names i{font:italic .55em/.9 Pearl Serif,Georgia,serif;color:#858291;display:block;letter-spacing:0;margin:.05em 0}.pearl-ornament{width:44cqi;height:5cqi;margin:4cqi auto;color:#838395}.pearl-button{display:flex;align-items:center;justify-content:center;gap:3cqi;text-decoration:none;border:1px solid #b6b7c8;border-radius:30cqi;min-height:12cqi;background:linear-gradient(120deg,#ffffffb0,#c8cbda88 18%,#fff8 38%,#e0d8e8aa 68%,#fdfdffb0);box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #c2c1cc88,inset 0 2px 12px #fff;position:relative;font-size:5cqi;line-height:1.1;padding:2cqi 3cqi}.pearl-button:hover{box-shadow:inset 0 0 0 1px #fff,0 0 0 2px #aaa6bb,0 2px 12px #a7a3b944}.pearl-button>svg{width:5cqi;height:6cqi}.pearl-photo-placeholder{display:grid;place-items:center;height:100%;padding:5cqi;font:4cqi/1.4 Pearl Sans,sans-serif;text-align:center}.errorlist{list-style:none;margin:2cqi 0;padding:2cqi;background:#fff9;border:1px solid #a34a58;color:#842438;font:3.5cqi/1.3 Pearl Sans,sans-serif}.pearl-success{border:1px solid #d4d2df;background:#fffa;border-radius:4cqi;padding:7cqi 4cqi;text-align:center;font-size:6cqi}
/* 01: exact independent arch over the authored chrome orbit. */
.pearl-hero{min-height:155.56cqi}.pearl-hero-copy{padding:13cqi 0 0;text-align:center}.pearl-hero-copy>p{font:1.25cqi/1.4 Pearl Sans,sans-serif;letter-spacing:.35em;text-transform:uppercase;max-width:80%;margin:auto}.pearl-hero-copy h1{margin:4.9cqi auto 0;width:90%;line-height:1.05}.pearl-hero-photo{position:absolute;left:20.4%;top:49.6cqi;width:59.8%;height:69.8cqi;border-radius:50% 50% 0 0 / 42% 42% 0 0;border:1cqi solid #ffffffc9;box-shadow:0 1cqi 3cqi #7d78842a}.pearl-hero-photo .pearl-client-photo{filter:grayscale(1)}.pearl-hero-date{position:absolute;top:131.4cqi;left:12%;width:76%;text-align:center}.pearl-hero-date time{font-size:5.2cqi;letter-spacing:.2em;white-space:nowrap}.pearl-hero-date p{font:1.3cqi/1.4 Pearl Sans,sans-serif;letter-spacing:.3em;text-transform:uppercase;margin-top:1.8cqi}
/* 02: editable editorial copy inside the original glass panel. */
.pearl-intro-copy{padding:53cqi 0 45cqi;width:49%;margin:auto;text-align:center}.pearl-intro-copy h2{font-size:10cqi;line-height:1.05;letter-spacing:-.06em}.pearl-intro-copy .pearl-ornament{visibility:hidden;height:4cqi;margin:6cqi auto}.pearl-intro-copy p{font:3.15cqi/1.5 Pearl Sans,sans-serif;letter-spacing:.11em;color:#656474}.pearl-intro-copy p+p{margin-top:4cqi}
/* 03: event date and correctly generated calendar. */
.pearl-date-heading{position:absolute;top:5.6cqi;left:10%;width:80%;text-align:center}.pearl-date-heading h2{font:1.9cqi/1.4 Pearl Sans,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#6d6d80}.pearl-date-heading .pearl-names{font-size:8cqi;margin-top:3cqi;line-height:1}.pearl-large-date{position:absolute;top:48.7cqi;left:15%;width:70%;text-align:center}.pearl-large-date strong{display:block;font:36cqi/.95 Pearl Serif,Georgia,serif;letter-spacing:-.05em;text-shadow:1px 1px #fff,2px 2px #8d899d}.pearl-large-date>span{display:block;font:5.2cqi/1.3 Pearl Serif,Georgia,serif;letter-spacing:.32em;text-transform:uppercase;margin-top:2cqi}.pearl-large-date small{display:block;font-size:5.5cqi;letter-spacing:.55em;margin:1.5cqi auto 0}.pearl-calendar{position:relative;padding:110cqi 0 21cqi;width:66%;margin:auto;text-align:center}.pearl-calendar h3{font-size:3.7cqi;letter-spacing:.27em;text-transform:uppercase;margin-bottom:3cqi}.pearl-calendar table{width:100%;table-layout:fixed;border-collapse:collapse}.pearl-calendar th{font:2cqi Pearl Sans,sans-serif;font-weight:400;height:6cqi;color:#7a778c}.pearl-calendar td{height:6.5cqi;padding:0;font-size:3.5cqi}.pearl-calendar td span{width:6.3cqi;height:6.3cqi;display:grid;place-items:center;margin:auto}.pearl-calendar .is-event-day{border-radius:50%;border:1px solid #fff;background:radial-gradient(circle at 35% 25%,#fff,#d8d7e3 55%,#f5f7ff 75%);box-shadow:inset 0 0 6px #fff,0 0 5px #b9b4c688}.pearl-calendar>p{font-size:3cqi;line-height:1.3;margin-top:2cqi}.pearl-ics{display:inline-block;font:2cqi Pearl Sans,sans-serif;margin-top:3cqi;text-underline-offset:3px;color:#656474}
/* 04: individual glass medallions follow the actual editable events. */
.pearl-programme{padding:18cqi 8cqi 14cqi}.pearl-programme>h2{font-size:11cqi}.pearl-event-stage{position:relative;margin-top:12cqi}.pearl-event-stage ol{list-style:none;margin:0;padding:0;position:relative;z-index:1}.pearl-event-stage li{display:flex;gap:8cqi;align-items:center;min-height:29cqi;padding-left:12cqi}.pearl-event-stage li:nth-child(even){padding-left:16cqi}.pearl-event-icon{flex:0 0 22cqi;width:22cqi;height:22cqi;background:url("assets/medallion.72a3745a14f5.webp") center/contain no-repeat;display:grid;place-items:center;position:relative;color:#363744}.pearl-event-icon>svg{width:10cqi;height:10cqi}.pearl-event-icon:before{content:"";width:4cqi;height:4cqi;border-radius:50%;position:absolute;top:-2cqi;left:calc(50% - 2cqi);background:radial-gradient(circle at 30% 25%,#fff,#acb2be 45%,#6c7582 65%,#dce0e9 80%);box-shadow:0 1px 2px #74798588;border:1px solid #d2d6e1}.pearl-event-copy{flex:1;min-width:0;position:relative}.pearl-event-copy:before{content:"";position:absolute;top:4cqi;left:-6cqi;width:5cqi;height:1px;background:#9a98a9}.pearl-event-copy time{font:8cqi/1 Pearl Serif,Georgia,serif;white-space:nowrap}.pearl-event-copy h3{font:4.3cqi/1.1 Pearl Serif,Georgia,serif;color:#686779;margin-top:1cqi}.pearl-event-copy p{font:3cqi/1.3 Pearl Sans,sans-serif;margin-top:1cqi;color:#6e6a7c}.pearl-event-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.pearl-path-line{fill:none;stroke:url(#silver-chain);stroke-width:6;filter:drop-shadow(1px 1px 1px #777687)}.pearl-moving-star{position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#bbc4d0 40%,#767b8c 65%,#fff);box-shadow:0 1px 3px #8c8d9a;z-index:3;pointer-events:none}
/* 05: separately editable venue photo; rings and pearls stay outside it. */
.pearl-location-heading{padding:9cqi 0 0;font-size:10.5cqi}.pearl-location-photo{position:absolute;left:20.3%;top:40cqi;width:59.4%;height:86cqi;border-radius:50% 50% 1cqi 1cqi / 35% 35% 1cqi 1cqi;border:.7cqi solid #ffffffce}.pearl-location-copy{padding:102cqi 0 15cqi;width:79%;margin:auto;text-align:center}.pearl-location-copy h3{font:9cqi/1.15 Pearl Display,Georgia,serif;letter-spacing:-.05em}.pearl-location-copy>p{font:2.8cqi/1.3 Pearl Sans,sans-serif;letter-spacing:.18em;margin:2cqi auto 4cqi;color:#777489}.pearl-location-copy .pearl-button{width:76%;margin:auto;font-size:4.6cqi}.pearl-location-copy>small{display:block;font:3cqi/1.4 Pearl Sans,sans-serif;margin-top:3cqi}
/* 06: live palette over the fixed satin sculpture. */
.pearl-dress-copy{padding:15cqi 8cqi 0;text-align:center}.pearl-dress-copy h2{font-size:12cqi;white-space:nowrap;letter-spacing:-.065em}.pearl-dress-copy>p{font:2.7cqi/1.5 Pearl Sans,sans-serif;letter-spacing:.2em;text-transform:uppercase;max-width:83%;margin:12cqi auto 0;color:#6e6b7f}.pearl-swatches{display:flex;justify-content:center;gap:2.8cqi;list-style:none;padding:0;margin:5cqi auto 0}.pearl-swatches li{flex:0 1 14cqi;min-width:0}.pearl-swatches li>span{display:block;width:13.3cqi;height:13.3cqi;background:linear-gradient(125deg,#fff5,#fff0 55%,#24243d17),var(--swatch);border:1px solid #fff9;border-radius:50%;box-shadow:inset 0 0 0 1px #a4a1b966,0 0 0 1px #b6b0c34d}.pearl-dress-copy>.pearl-dress-note{font-size:3cqi;margin-top:90cqi;letter-spacing:.06em}
/* 07: real scroll-snap photos inside a stable arch, dots and thumbnails. */
.pearl-gallery-content{padding:11cqi 0 17cqi}.pearl-gallery-content header{width:90%;margin:auto;text-align:center}.pearl-gallery-content h2{font-size:12cqi;line-height:1.02}.pearl-gallery-content header>p{font:3cqi/1.4 Pearl Sans,sans-serif;margin-top:2cqi}.pearl-gallery-stage{width:60%;margin:10cqi auto 0;position:relative}.pearl-slides{display:flex;height:76.5cqi;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:50% 50% 4cqi 4cqi / 36% 36% 4cqi 4cqi;border:.7cqi solid #fff9;background:#e5e5ed}.pearl-slides::-webkit-scrollbar{display:none}.pearl-slides figure{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}.pearl-gallery-stage>button{position:absolute;top:50%;transform:translateY(-50%);width:10cqi;height:10cqi;display:grid;place-items:center;border:1px solid #fff;border-radius:50%;padding:0;background:radial-gradient(circle at 30% 25%,#fffd,#d6d7e3b0 65%,#fff);box-shadow:0 0 0 1px #a8a5b966;color:#5d5c70}.pearl-gallery-stage>button:first-of-type{left:-13cqi}.pearl-gallery-stage>button:last-of-type{right:-13cqi}.pearl-gallery-stage>button>svg{width:6cqi;height:6cqi}.pearl-gallery-dots{display:flex;justify-content:center;gap:2.5cqi;margin:5cqi auto 4cqi}.pearl-gallery-dots button{width:1.2cqi;height:1.2cqi;min-width:0;min-height:0;border-radius:50%;border:1px solid #8e889e;padding:0;background:transparent;outline-offset:5px}.pearl-gallery-dots button[aria-pressed=true]{background:#807b91}.pearl-thumbnails{display:flex;gap:1.2cqi;width:93%;margin:0 auto;overflow-x:auto;scrollbar-width:none}.pearl-thumbnails button{flex:1 0 calc((100% - 3.6cqi)/4);height:26cqi;padding:0;border:.7cqi solid #fffc;border-radius:3cqi;overflow:hidden;background:#e5e5ed}.pearl-thumbnails button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #9c98b3;outline:1px solid #8b879d;outline-offset:-1px}.pearl-thumbnails img{width:100%;height:100%;object-fit:cover}.pearl-gallery-hint{font:2.4cqi/1.3 Pearl Sans,sans-serif;color:#6f6a7c;text-align:center;margin:3cqi 8% 0}
/* 08: actual server form. Both answer buttons submit their own choice. */
.pearl-rsvp-heading{padding:13cqi 0 0;width:94%;margin:auto;font-size:8.6cqi}.pearl-rsvp-copy{padding:25cqi 0 28cqi;width:62%;margin:auto}.pearl-rsvp-copy>p{font:3cqi/1.4 Pearl Sans,sans-serif;margin-bottom:3cqi;text-align:center}.pearl-field{margin-bottom:6cqi}.pearl-field>label{font:2.2cqi/1.4 Pearl Sans,sans-serif;letter-spacing:.25em;text-transform:uppercase;display:block;margin:0 2cqi 2cqi;color:#5e5a6e}.pearl-input-wrap{position:relative}.pearl-input-wrap>svg{position:absolute;left:4cqi;top:50%;transform:translateY(-50%);width:3.4cqi;height:4.3cqi;color:#6d687d;pointer-events:none}.pearl-input-wrap input,.pearl-input-wrap select{display:block;width:100%;height:10cqi;padding:1cqi 7cqi 1cqi 11cqi;border:.25cqi solid #fff;border-radius:20cqi;background:#f8f8ff25;box-shadow:inset 0 0 0 1px #d7d2e522;font:2.6cqi/1.2 Pearl Sans,sans-serif;color:#676278}.pearl-input-wrap input::placeholder{color:#a09aab;opacity:1}.pearl-input-wrap select{appearance:auto;color:#716b80}.pearl-rsvp-form>.pearl-button{width:100%;font-size:4.1cqi;min-height:12cqi;justify-content:flex-start;padding-left:6cqi;letter-spacing:-.03em;margin-top:3.5cqi;line-height:1.1}.pearl-button>span{display:grid;place-items:center;width:9cqi;height:9cqi;border:1px solid #fff9;border-radius:50%;margin-left:auto;flex-shrink:0;background:#ffffff25}.pearl-button>span>svg{width:5cqi;height:5cqi}.pearl-rsvp-form>.pearl-no{background:#f6f6ff1a;box-shadow:inset 0 0 0 1px #fff8;border-color:#fff9;font-size:3.8cqi}.pearl-form-note{font:2.2cqi/1.3 Pearl Sans,sans-serif;text-align:center;color:#777184;margin-top:3cqi}
/* 09 and 10 keep the authored sculpture and four timer units in one row. */
.pearl-countdown-copy{text-align:center;padding-top:27cqi}.pearl-countdown-copy h2{font-size:8.7cqi;width:90%;margin:auto;overflow-wrap:normal}.pearl-timer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:72%;margin:44cqi auto 0}.pearl-timer>div{min-width:0;border-right:1px solid #a5a0b244}.pearl-timer>div:last-child{border:0}.pearl-timer strong{font:10.8cqi/1 Pearl Serif,Georgia,serif;display:block;white-space:nowrap}.pearl-timer strong.is-long-number{font-size:calc(26cqi / var(--digits))}.pearl-timer small{font:1.9cqi/1.4 Pearl Sans,sans-serif;letter-spacing:.2em;text-transform:uppercase;display:block;margin-top:2cqi}.pearl-countdown-copy>[data-expired]{font:3cqi/1.4 Pearl Sans,sans-serif;color:#6a647b;margin-top:5cqi}.pearl-finale-copy{padding:27cqi 0 80cqi;text-align:center;width:88%;margin:auto}.pearl-finale-copy h2{font-size:12cqi;line-height:1.08}.pearl-finale-copy>.pearl-names{font-size:8.4cqi;margin-top:13.5cqi}
/* Expanded edited copy keeps readable panels instead of overlaying the art. */
.pearl-long-copy .pearl-intro-copy{width:62%;padding:8cqi 5cqi;margin:40cqi auto 30cqi;border:1px solid #fff;border-radius:20cqi;background:#f3f1f8ed}.pearl-long-copy .pearl-intro-copy h2{font-size:8cqi}.pearl-long-copy .pearl-intro-copy .pearl-ornament{visibility:visible}.pearl-long-copy .pearl-location-photo{position:relative;left:auto;top:auto;margin:10cqi auto 0}.pearl-long-copy .pearl-location-copy{padding-top:5cqi}.pearl-long-copy.pearl-dress_code .pearl-scene{height:177.69cqi}.pearl-long-copy .pearl-dress-copy{background:#efedf3e8;margin:10cqi 5%;padding:4cqi 2cqi;border-radius:5cqi}.pearl-long-copy .pearl-swatches{flex-wrap:wrap}.pearl-long-copy .pearl-dress-copy>.pearl-dress-note{margin-top:90cqi}.pearl-long-copy .pearl-rsvp-copy{padding-bottom:30cqi}
@media(max-width:767px),(pointer:coarse){.pearl-gallery-stage>button{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pearl-moving-star{display:none}}
/* Reference review: breathing room above the arch and full contrast in demo form. */
.pearl-hero-copy .pearl-names{line-height:.82}.pearl-hero-copy .pearl-names i{font-size:.45em;line-height:.7;margin:.08em 0}.pearl-large-date strong{font-family:Pearl Display,Georgia,serif;font-size:36cqi;line-height:.9}.pearl-rsvp-form button:disabled{opacity:1}.pearl-rsvp-form>.pearl-button{font-size:4.6cqi}.pearl-rsvp-form>.pearl-no{font-size:4.1cqi}

.pearl-hero-copy .pearl-names{line-height:1}.pearl-hero-copy .pearl-names i{font-size:.55em;line-height:.9;margin:.05em 0}
/* Real touch inputs retain a readable size and avoid iOS focus zoom. */
.pearl-input-wrap input,.pearl-input-wrap select{font-size:max(16px,2.6cqi);padding-right:3cqi}.pearl-field>label{font-size:max(10px,2.2cqi);letter-spacing:.2em}.pearl-gallery-hint{font-size:max(11px,2.4cqi)}
