@font-face{font-family:Celestial Serif;src:url("../fonts/cormorantgaramond.618588c60263.ttf");font-display:swap}@font-face{font-family:Celestial Display;src:url("../editorial-noir/fonts/Prata-Regular.3456391b8e6e.ttf");font-display:swap}@font-face{font-family:Celestial Script;src:url("../blush-atelier/fonts/GreatVibes-Regular.d1358c495233.ttf");font-display:swap}
*{box-sizing:border-box}html{scrollbar-width:none;scroll-behavior:smooth}body{margin:0;background:#04101a;color:#f5e9d9;font:20px/1.2 Celestial Serif,Georgia,serif;overflow-x:clip}h1,h2,h3,p,figure{margin:0;font-weight:400}img,svg{display:block}button,input{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #f5d19c;outline-offset:3px}button:disabled{opacity:.65;cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.celestial-invitation{width:min(100%,520px);margin:auto;container-type:inline-size;box-shadow:0 0 90px #0008}.celestial-section{position:relative;isolation:isolate;min-height:177.69cqi;overflow:clip;background:#04121c;overflow-wrap:anywhere}.celestial-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;pointer-events:none}.celestial-photo-window{overflow:hidden;position:relative;background:#071722}.celestial-client-photo{width:100%;height:100%;object-fit:cover;transform-origin:center}.celestial-names{font:italic var(--name-size,10cqi)/1.05 Celestial Serif,Georgia,serif;color:#edd1af;text-align:center}.celestial-names span{display:block;overflow-wrap:anywhere;word-break:normal}.celestial-ornament{width:48cqi;height:5cqi;margin:2cqi auto;color:#d9b588}.celestial-button{display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%;min-height:10cqi;padding:1.8cqi 3cqi;border:1px solid #d9b78e;border-radius:30px;background:linear-gradient(110deg,#102435dd,#06131fdd);color:#f7e4ca;text-decoration:none;font-size:4cqi;box-shadow:inset 0 0 7px #e0b87822}.celestial-button:hover{background:#193045}.celestial-success,.errorlist{border:1px solid #d4ba93;background:#f4e9d8;color:#173047;padding:12px;font-size:4cqi;list-style:none}.errorlist{color:#8d2728}
/* Hero: the oval remains an independent photo surface inside the authored orbit. */
.celestial-hero-photo{position:absolute;left:18.7%;top:20.3cqi;width:64.6%;height:63.4cqi;border-radius:50%;border:1px solid #cba97f66}.celestial-hero-copy{padding:86cqi 0 37cqi;width:74%;margin:auto;text-align:center}.celestial-hero-copy>p{font-size:3.4cqi;line-height:1.55;letter-spacing:.19em;text-transform:uppercase;margin:6.7cqi auto 0;max-width:92%}.celestial-hero-copy>time{display:block;font:italic 8cqi/1 Celestial Serif,Georgia,serif;margin-top:7cqi;color:#edcba5;white-space:normal}
/* Text remains on the original light parchment. */
.celestial-intro-copy{padding:43cqi 0 57cqi;margin:auto;width:54%;text-align:center;color:#10202e}.celestial-intro-copy h2{font:italic 8cqi/1.03 Celestial Serif,Georgia,serif;margin-bottom:9cqi}.celestial-intro-copy p{font-size:4.8cqi;line-height:1.18}.celestial-intro-copy p+p{margin-top:5.3cqi}
/* Real date and real month grid. Moon phases belong to the fixed background. */
.celestial-date-copy{padding-top:37.5cqi;text-align:center}.celestial-date-copy h2{font-size:3.5cqi;text-transform:uppercase;letter-spacing:.2em}.celestial-date-copy time{display:block;font:italic 14.2cqi/1 Celestial Serif,Georgia,serif;margin-top:4.5cqi;white-space:nowrap;overflow-wrap:normal}.celestial-calendar{width:68%;margin:10cqi auto 0;text-align:center}.celestial-calendar h3{font-size:5cqi;text-transform:uppercase;letter-spacing:.02em;margin-bottom:2cqi}.celestial-calendar table{width:100%;border-collapse:collapse;table-layout:fixed}.celestial-calendar th{font-weight:400;font-size:3.1cqi;height:5cqi}.celestial-calendar td{font-size:4.2cqi;height:6.2cqi;padding:0}.celestial-calendar td span{width:6cqi;height:6cqi;display:grid;place-items:center;margin:auto}.celestial-calendar .is-event-day{border:1px solid #f1c08e;border-radius:50%;box-shadow:0 0 9px #eac39a88}.celestial-calendar p{font:italic 4.5cqi/1.1 Celestial Serif,Georgia,serif;margin:7cqi auto 0}.celestial-calendar-export{display:inline-block;font-size:2.6cqi;text-underline-offset:3px;margin-top:2cqi}
/* Each editable event owns its icon and orbit. Removing an event removes its orbit. */
.celestial-programme{padding:23cqi 7cqi 23cqi}.celestial-programme>h2{text-align:center;font-size:6.7cqi;text-transform:uppercase;line-height:1.1}.celestial-event-stage{position:relative;margin-top:8cqi}.celestial-event-stage ol{list-style:none;padding:0;margin:0;position:relative;z-index:1}.celestial-event-stage li{display:flex;align-items:center;gap:4cqi;min-height:29cqi;padding-left:15cqi}.celestial-event-stage li:nth-child(even){padding-left:22cqi}.celestial-event-icon{flex:0 0 25cqi;width:25cqi;height:25cqi;position:relative;border:1px solid #c6a575;border-radius:50%;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 90%,#b5945a33,transparent 65%),#03121bd9;outline:1px dotted #c3a57966;outline-offset:2cqi;color:#ebcea4}.celestial-event-icon:before,.celestial-event-icon:after{content:"✦";position:absolute;color:#fce1be;text-shadow:0 0 8px #f6d4a0;font-size:4cqi;line-height:1}.celestial-event-icon:before{top:-2cqi;left:calc(50% - 2cqi)}.celestial-event-icon:after{bottom:-2cqi;left:calc(50% - 2cqi)}.celestial-event-icon>svg{width:15cqi;height:15cqi}.celestial-event-copy{flex:1;min-width:0;max-width:32cqi;text-shadow:0 1px 6px #000}.celestial-event-copy time{display:block;font-size:6cqi;line-height:1;color:#ebc7a0}.celestial-event-copy h3{font-size:4.8cqi;line-height:1.03;margin-top:1cqi}.celestial-event-copy p{font-size:3.3cqi;line-height:1.1;margin-top:1cqi}.celestial-event-copy .celestial-ornament{width:24cqi;height:3cqi;margin:1cqi 0}.celestial-event-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.celestial-path-line{fill:none;stroke:#e0bd89;stroke-width:.8;filter:drop-shadow(0 0 3px #e6c495)}.celestial-moving-star{position:absolute;left:0;top:0;z-index:3;color:#f9e1bc;font-size:29px;text-shadow:0 0 9px #f9d49a;pointer-events:none}
/* Venue photo is replaceable, the celestial frame and map artwork stay fixed. */
.celestial-location-heading{text-align:center;padding:19.5cqi 0 0;font-size:7cqi;line-height:1.05;text-transform:uppercase}.celestial-location-photo{position:absolute;left:10%;top:41.6cqi;width:80%;height:51.6cqi;border-radius:5cqi;border:1px solid #d9b98e}.celestial-photo-placeholder{display:grid;place-items:center;height:100%;font-size:5cqi;text-align:center;padding:5cqi;color:#d7c4a9}.celestial-location-copy{padding:65.5cqi 0 46cqi;width:77%;margin:auto;text-align:center}.celestial-location-copy h3{font-size:5.6cqi;line-height:1.05}.celestial-location-copy .celestial-ornament{width:58cqi;height:3cqi;margin:2cqi auto}.celestial-location-copy>p{font-size:4.5cqi;line-height:1.12}.celestial-location-copy .celestial-button{margin:4cqi auto 0;width:91%}.celestial-location-copy>small{display:block;font-size:3cqi;line-height:1.1;margin-top:2cqi}
/* Fixed fashion collage; editable five-colour palette above it. */
.celestial-dress-copy{padding:21cqi 5cqi 0;text-align:center}.celestial-dress-copy h2{font-size:8.4cqi;text-transform:uppercase;line-height:1}.celestial-dress-copy>p{font-size:4.8cqi;line-height:1.15;width:74%;margin:2cqi auto 0}.celestial-swatches{display:flex;justify-content:center;gap:3cqi;list-style:none;padding:0;margin:8cqi 0 0}.celestial-swatches li{flex:0 1 16cqi;min-width:0}.celestial-swatches li>span{display:block;width:13.5cqi;height:13.5cqi;margin:auto;border:1px solid #e1b98f;border-radius:50%;box-shadow:inset 0 0 10px #fff1}.celestial-swatches small{display:block;margin-top:2cqi;font-size:2.5cqi;line-height:1.15;text-transform:uppercase}.celestial-dress-note{position:absolute;top:145cqi;left:10%;width:80%;text-align:center;color:#ebc9a2;font-size:4cqi;line-height:1.3;letter-spacing:.2em;text-transform:uppercase}
/* Gallery photo/thumbnail borders are HTML so arbitrary photo counts keep their framing. */
.celestial-gallery-content{padding:19.5cqi 0 27cqi}.celestial-gallery-content header{text-align:center;width:82%;margin:auto}.celestial-gallery-content h2{font-size:7.8cqi;text-transform:uppercase;line-height:1}.celestial-gallery-content header p{font:2.5cqi/1.5 Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase;margin:7.5cqi auto 3cqi}.celestial-gallery-stage{position:relative;width:76%;margin:auto}.celestial-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:5.4cqi;border:1px solid #edc9a0;height:63.5cqi;background:#04121c}.celestial-slides::-webkit-scrollbar{display:none}.celestial-slides figure{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}.celestial-gallery-stage>button{display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);width:10cqi;height:10cqi;border:1px solid #e2bd92;border-radius:50%;background:#102131dd;padding:0;color:#f5dab9}.celestial-gallery-stage>button:first-of-type{left:-5cqi}.celestial-gallery-stage>button:last-of-type{right:-5cqi}.celestial-gallery-stage>button svg{width:6cqi;height:6cqi}.celestial-gallery-counter{text-align:center;font-size:4.4cqi;line-height:1.2;margin:2cqi auto}.celestial-thumbnails{display:flex;gap:1.8cqi;width:80%;margin:2cqi auto 0;overflow-x:auto;scrollbar-width:none}.celestial-thumbnails button{flex:0 0 calc((100% - 5.4cqi)/4);height:20cqi;padding:0;border:1px solid #d3b590;border-radius:2cqi;overflow:hidden;background:#071722}.celestial-thumbnails button[aria-pressed=true]{outline:1px solid #ffe3ba;outline-offset:-3px;box-shadow:0 0 9px #f6dbad88}.celestial-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}.celestial-gallery-hint{font-size:3cqi;text-align:center;margin:2cqi 14% 0;line-height:1.2;color:#e3cfb8}
/* Live RSVP, two attendance choices and one explicit submission action. */
.celestial-rsvp-copy{padding:40cqi 0 39cqi;width:67%;margin:auto;text-align:center}.celestial-rsvp-copy h2{font-size:6.5cqi;line-height:1.1;text-transform:uppercase;margin-inline:-7cqi}.celestial-rsvp-copy>p{font-size:4.3cqi;line-height:1.15;margin:8.5cqi auto 3.5cqi;width:90%}.celestial-rsvp-form{text-align:left}.celestial-field{margin-bottom:1.7cqi}.celestial-field input:not([type=radio]){width:100%;min-height:8.7cqi;padding:1.6cqi 3cqi;color:#172736;background:#f1e9db;border:1px solid #d3bea2;border-radius:1.5cqi;font-size:4.3cqi}.celestial-field input::placeholder{color:#263543;opacity:1}.celestial-count-control{display:flex;align-items:center;background:#f1e9db;border:1px solid #d3bea2;border-radius:1.5cqi;min-height:8.7cqi;padding-left:3cqi;color:#172736;position:relative}.celestial-count-control>span{font-size:3.5cqi;line-height:1.05;max-width:48%}.celestial-count-control input{appearance:textfield;text-align:center!important;width:17cqi!important;margin-left:auto;border:0!important;min-height:8cqi!important;background:none!important;padding:1cqi 4cqi!important;font-size:5.2cqi!important}.celestial-count-control input::-webkit-inner-spin-button{appearance:none}.celestial-count-control button{display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);right:1.7cqi;border:1px solid #a58a67;border-radius:50%;width:5.8cqi;height:5.8cqi;padding:0;background:none;color:#20303b;font:5cqi/1 Celestial Serif,Georgia,serif}.celestial-count-control button:first-of-type{right:13cqi}.celestial-attendance>div{display:grid;gap:2cqi;margin-top:4.5cqi}.celestial-attendance label{display:flex;align-items:center;justify-content:center;gap:3cqi;border:1px solid #d4b38d;border-radius:30px;padding:2cqi 3cqi;min-height:10cqi;font-size:4.1cqi;background:#05152299}.celestial-attendance label:has(input:checked){box-shadow:0 0 8px #efc49988,inset 0 0 10px #dbbd9155;border-color:#ffe0b7}.celestial-attendance input{appearance:none;position:relative;display:grid;place-items:center;flex:0 0 6cqi;width:6cqi;height:6cqi;border:0;margin:0;color:#edcda8}.celestial-attendance input:after{content:"♡";font:7cqi/1 Georgia,serif}.celestial-attendance input:checked:after{content:"♥"}.celestial-attendance input[value=no]:after{content:"×";font:5cqi/1 Georgia,serif;border:1px solid #bdae9a;border-radius:50%;width:5.5cqi;height:5.5cqi;display:grid;place-items:center}.celestial-rsvp-form>.celestial-button{width:100%;margin:3cqi auto 0;min-height:8cqi;font-size:3.8cqi}.celestial-form-note{text-align:center;font-size:2.6cqi;line-height:1.15;margin:1cqi auto;color:#e5d4bc}
/* Four live timer values stay in one row, including 320px. */
.celestial-countdown-copy{padding:38cqi 0 73cqi;text-align:center}.celestial-countdown-copy h2{font-size:7.5cqi;line-height:1.13;text-transform:uppercase;width:88%;margin:auto;overflow-wrap:normal}.celestial-timer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5cqi;margin:10cqi 6.8% 0}.celestial-timer>div{aspect-ratio:1;border:1px solid #d5b389;outline:1px dotted #d5b38944;outline-offset:1cqi;border-radius:50%;display:flex;flex-direction:column;justify-content:center;position:relative;min-width:0;background:#06152244;box-shadow:inset 0 0 15px #dcc18b11}.celestial-timer>div:before{content:"✦";position:absolute;top:-3cqi;left:calc(50% - 2.5cqi);font-size:5cqi;color:#ffe6c5;text-shadow:0 0 9px #fff1d2}.celestial-timer strong{display:block;font:italic 8.8cqi/1 Celestial Serif,Georgia,serif;white-space:nowrap}.celestial-timer strong.is-long-number{font-size:calc(24cqi / var(--digits))}.celestial-timer small{display:block;font-size:2.6cqi;text-transform:uppercase;margin-top:1cqi}.celestial-countdown-copy>[data-expired]{font:italic 4.3cqi/1.2 Celestial Serif,Georgia,serif;margin-top:4cqi;color:#e4c399}.celestial-finale-copy{text-align:center;padding:58cqi 0 55cqi;width:85%;margin:auto}.celestial-finale-copy h2{font:15cqi/1 Celestial Script,cursive;color:#e7c49c}.celestial-finale-copy>.celestial-names{font-size:7.7cqi;line-height:1.05;margin-top:15cqi;color:#f5e7d7}
/* Long edited copy receives enough room without escaping its authored panel. */
.celestial-long-copy .celestial-intro-copy{width:66%;padding:28px 18px;margin:35cqi auto 40cqi;background:#eadbc7;border:1px solid #b39c7b;border-radius:15px}.celestial-long-copy.celestial-dress_code .celestial-scene{height:177.69cqi}.celestial-long-copy.celestial-dress_code .celestial-dress-copy{background:#04121cee;margin:17cqi 6% 0;padding:5cqi 2cqi}.celestial-long-copy .celestial-swatches{flex-wrap:wrap;margin-top:3cqi}.celestial-long-copy.celestial-dress_code .celestial-dress-note{position:relative;top:auto;margin:87cqi auto 20cqi;left:auto}.celestial-long-copy .celestial-location-photo{position:relative;top:auto;left:auto;margin:10cqi auto 0;height:51.6cqi}.celestial-long-copy .celestial-location-copy{padding:5cqi 0 40cqi}.celestial-long-copy .celestial-rsvp-copy{width:78%;padding-bottom:40cqi}
@media(max-width:767px),(pointer:coarse){.celestial-gallery-stage>button{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.celestial-moving-star{display:none}}

.celestial-thumbnails button{flex:1 0 calc((100% - 5.4cqi)/4)}

/* Reference alignment after the first real mobile render. */
.celestial-intro-copy{width:55%;padding:45cqi 0 45cqi}.celestial-intro-copy h2{font-size:7.3cqi;margin-bottom:8cqi}.celestial-intro-copy p{font-size:4.1cqi;line-height:1.18}.celestial-intro-copy p+p{margin-top:5cqi}
.celestial-dress-copy h2{font-size:7cqi}.celestial-dress-copy>p{font-size:4.1cqi;width:82%;line-height:1.1;margin-top:3cqi}.celestial-swatches{margin-top:8cqi}.celestial-swatches small{font-size:2.1cqi}
.celestial-gallery-content header p{margin-top:5cqi;margin-bottom:4cqi}.celestial-gallery-content h2{font-size:7cqi}.celestial-countdown-copy{padding-top:40cqi}.celestial-timer{margin-top:12cqi}
