:root{--plum:#392434;--mauve:#a78398;--blush:#f1e8e7;--cream:#f7f0e6;--gold:#d6bfa2;--dock-color:#694a61;--bar-bg:#241820;--bar-ink:#e9d9e3}body{background:var(--plum);color:var(--cream);font-family:'Cormorant Garamond',serif}.xv-invitation{overflow:hidden}.eyebrow,.section-label,.action{font-family:'DM Sans',sans-serif}.xv-cover{height:900px;min-height:90svh;position:relative;isolation:isolate;overflow:hidden;background:#2c1e2b}.xv-backdrop{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;filter:blur(25px) brightness(.45);z-index:-4}.portrait-window{position:absolute;width:min(100%,650px);height:100%;left:50%;transform:translateX(-50%);z-index:-3;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.portrait-window img{width:100%;height:108%;object-fit:cover;object-position:center 58%;position:relative;top:-4%}.portrait-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#24152055,transparent 50%,#2d1d2bec 100%)}.xv-cover-top{display:flex;justify-content:space-between;align-items:center;padding:30px 5vw;color:#f5e8e4}.xv-cover-top>.eyebrow{font-size:9px;max-width:150px}.xv-cover-top>.eyebrow:last-child{text-align:right}.xv-monogram{font-size:35px;border:1px solid #dfc4b980;display:grid;place-items:center;border-radius:50%;height:60px;width:60px;font-style:italic;font-weight:400}.xv-cover-title{text-align:center;margin-top:35px;position:relative}.xv-cover-title .eyebrow{font-size:11px;letter-spacing:.4em}.xv-cover-title h1{font-size:clamp(100px,13vw,185px);line-height:1.2;text-shadow:0 3px 20px #30172966;margin:8px 0 0}.tiny-stars{font-size:18px;color:#ebd5bb}.xv-cover-bottom{position:absolute;bottom:35px;left:0;right:0;text-align:center}.xv-cover-bottom>p{font-size:28px;line-height:1.25}.xv-scroll{font:9px 'DM Sans',sans-serif;letter-spacing:.2em;display:block;margin:25px auto 0;text-decoration:none}.xv-scroll span{display:block;font-size:20px;margin-top:13px}.petal-field{position:absolute;inset:0;z-index:-1;pointer-events:none}.xv-letter{padding:100px 25px 0;text-align:center;position:relative;background:var(--blush);color:#674d5d}.letter-number{position:absolute;font-size:380px;opacity:.045;top:8px;left:50%;transform:translateX(-50%);letter-spacing:-.1em;line-height:1}.xv-letter>.reveal{position:relative;z-index:2}.xv-letter h2{font-size:53px;font-weight:400;line-height:1.2;margin-bottom:30px}.xv-letter h2 .script{display:block;font-size:1.2em}.xv-letter .copy{max-width:440px;margin:22px auto}.xv-letter strong{font-weight:500;font-size:20px}.xv-letter .signature{font-size:35px;margin:35px 0 60px}.xv-ribbon{padding:20px;font:9px 'DM Sans',sans-serif;letter-spacing:.24em;border-top:1px solid #cdb9bf80;color:#917183}.xv-count{text-align:center;padding:70px 25px 65px;background:#422d3f;position:relative}.count-orbit{padding:25px 0 40px;max-width:690px;border-top:1px solid #ceb59655;border-bottom:1px solid #ceb59655;margin:0 auto 30px;position:relative}.count-orbit>.icon{display:block;margin:0 auto 25px;color:#dcc6a7;width:32px;height:32px}.xv-count .action{border-color:#cdb7aa77;color:#e2cbbb;padding:12px 20px;font-size:9px}.xv-night{text-align:center;padding:90px 5vw 110px;background:#f7f0e9;color:#654c5b}.xv-night .section-title .script{font-size:1.3em}.chapter-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin:60px auto 0;align-items:start}.chapter-card{border:1px solid #cfb8c0;background:#f2e5e4;position:relative;text-align:center;border-radius:150px 150px 4px 4px;padding:55px 24px 22px;box-shadow:0 12px 30px #5b35530b;transition:background .3s}.chapter-card[open]{background:#eadbde}.chapter-card:nth-child(2){margin-top:40px}.chapter-card summary{display:flex;flex-direction:column;align-items:center;cursor:pointer;list-style:none}.chapter-card summary::-webkit-details-marker{display:none}.chapter-index{font-size:10px;letter-spacing:.2em;margin-bottom:27px;font-family:'DM Sans',sans-serif}.chapter-card .icon{height:38px;width:38px;color:#a68283;margin-bottom:22px}.chapter-card summary>span:not(.chapter-index){font-family:'Great Vibes',cursive;font-size:36px;line-height:1.2}.chapter-card small{font:10px 'DM Sans',sans-serif;letter-spacing:.08em;margin-top:18px}.chapter-card summary b{font:8px 'DM Sans',sans-serif;letter-spacing:.16em;margin-top:30px;border-top:1px solid #c7aeba77;padding-top:20px;width:100%}.chapter-content{padding:20px 0 0;font-size:16px;line-height:1.7}.chapter-content p:first-child{font-weight:600}.chapter-content .action{font-size:8px;padding:10px 13px;margin-top:18px}.chapter-content .action svg{width:16px;height:16px;margin:0}.xv-dress{display:grid;grid-template-columns:1fr 1fr;background:#dfcbd4;color:#563748;max-width:1200px;margin:auto}.dress-portrait{height:660px;overflow:hidden}.dress-portrait img{width:100%;height:115%;object-fit:cover;object-position:50% 72%;position:relative;top:-7%}.dress-invitation{text-align:center;align-self:center;padding:65px 45px}.dress-invitation h2{font-size:83px;font-weight:400}.dress-word{font-size:18px;letter-spacing:.2em;margin-top:15px}.dress-invitation .copy{font-size:18px;line-height:1.8}.palette-title{margin-top:35px;font-size:9px}.xv-palette{display:flex;justify-content:center;gap:16px;margin:20px 0}.xv-palette button{width:41px;height:41px;border-radius:50%;border:1px solid #ffffff77;background:var(--swatch);position:relative}.xv-palette button[aria-pressed=true]:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid #684358}.tone-description{font-size:14px;min-height:22px}.xv-wish{position:relative;text-align:center;padding:95px 24px;background:radial-gradient(ellipse at center,#543d55,#2e2030);overflow:hidden}.xv-wish .icon{color:#d6bfa2}.xv-wish h2{font-size:48px;font-weight:400;margin:15px 0 25px}.xv-wish h2 .script{font-size:1.3em}.wish-star{position:relative;z-index:3;border:none;background:transparent;color:#e9cc9f;font-size:90px;line-height:1;padding:20px 50px;filter:drop-shadow(0 0 20px #d3ac7955);transition:transform .5s}.wish-star:hover{transform:rotate(20deg) scale(1.1)}#wish-message{font-size:14px;color:#d4b9cc;position:relative;z-index:3}.wish-sky{position:absolute;inset:0;pointer-events:none;z-index:1}.wish-sky span{position:absolute;color:#f8dab7;animation:star-bloom 2s ease both;font-size:18px}@keyframes star-bloom{from{transform:scale(0) rotate(-50deg);opacity:0}to{transform:scale(1) rotate(0);opacity:.8}}.xv-rsvp{padding:85px 25px;background:#f1e6e5;color:#654856;position:relative}.rsvp-card{max-width:640px;margin:auto;text-align:center;border:1px solid #bb9eab77;padding:50px 45px;background:#fbf5ed}.rsvp-card .xv-monogram{margin:0 auto 30px;border-color:#b59b9a}.rsvp-card h2{font-size:68px;margin:0 0 20px}.rsvp-card>.section-label{font-size:9px}.rsvp-card .rsvp-form{max-width:390px}.rsvp-card .action{background:#79566b;color:#fff;border-color:#79566b}.invitation-footer{background:#2e2030;color:#dac9d0}.invitation-footer>p{font:9px 'DM Sans',sans-serif;opacity:.6;margin-top:10px}
@media(min-width:1600px){.xv-cover{height:1000px}.portrait-window{width:730px}}
@media(max-width:800px){.chapter-cards{gap:12px}.chapter-card{padding:45px 14px 20px}.chapter-card summary>span:not(.chapter-index){font-size:30px}.xv-dress{grid-template-columns:1fr 1fr}.dress-invitation{padding:40px 25px}.dress-invitation h2{font-size:67px}.dress-portrait{height:610px}}
@media(max-width:600px){.xv-cover{height:calc(100svh - 34px);min-height:730px;max-height:1000px}.portrait-window{mask-image:none}.portrait-window img{object-position:50% 50%}.xv-cover-top{padding:25px 20px}.xv-cover-top>.eyebrow{font-size:7px;letter-spacing:.12em;max-width:100px}.xv-monogram{width:45px;height:45px;font-size:28px}.xv-cover-title{margin-top:35px}.xv-cover-title .eyebrow{font-size:9px;letter-spacing:.28em}.xv-cover-title h1{font-size:99px;margin-top:12px}.tiny-stars{font-size:13px}.xv-cover-bottom{bottom:26px}.xv-cover-bottom>p{font-size:25px}.xv-scroll{font-size:8px;margin-top:20px}.xv-letter{padding-top:70px}.letter-number{font-size:270px;top:45px}.xv-letter h2{font-size:41px}.xv-letter .signature{font-size:31px;margin-bottom:40px}.xv-ribbon{font-size:7px;padding:18px 0;letter-spacing:.12em}.xv-count{padding:55px 24px}.xv-count .section-label{font-size:8px}.count-orbit{padding:15px 0 25px}.xv-night{padding:65px 25px}.xv-night .section-title{font-size:40px}.chapter-cards{grid-template-columns:1fr;margin-top:35px;gap:25px;max-width:350px}.chapter-card{padding:28px 25px 20px;border-radius:6px}.chapter-card:nth-child(2){margin-top:0}.chapter-card summary{display:grid;grid-template-columns:38px 1fr;text-align:left;gap:6px 14px}.chapter-index{position:absolute;right:20px;top:17px;font-size:9px;margin:0}.chapter-card .icon{grid-row:1/3;margin:0;width:30px;height:30px}.chapter-card summary>span:not(.chapter-index){font-size:35px}.chapter-card small{grid-column:2;font-size:9px;margin:0}.chapter-card summary b{grid-column:1/3;padding-top:12px;margin-top:12px;font-size:7px}.chapter-content{padding-top:15px;text-align:left}.xv-dress{display:flex;flex-direction:column}.dress-portrait{height:440px}.dress-portrait img{object-position:50% 72%}.dress-invitation{padding:50px 28px;width:100%}.dress-invitation h2{font-size:75px}.xv-wish{padding:65px 24px}.xv-wish h2{font-size:37px}.xv-rsvp{padding:50px 16px}.rsvp-card{padding:35px 22px}.rsvp-card h2{font-size:53px}.rsvp-card>.section-label{font-size:7px}.rsvp-card>p{font-size:14px}}

@media(max-width:600px){.xv-cover-bottom{bottom:105px}.xv-cover-bottom>p{font-size:23px}}

@media(max-width:600px){.xv-cover-title h1{font-size:clamp(74px,24vw,99px)}}
