@font-face{font-family:Ceremony;src:url('ceremony.woff2') format('woff2');font-weight:300 700;font-display:swap}@font-face{font-family:Body;src:url('body.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f5f0e5;--ink:#72572e;--line:color-mix(in srgb,var(--ink) 25%,transparent);--serif:Ceremony,Georgia,serif;--sans:Body,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}h2{font-size:clamp(44px,5.5vw,76px);letter-spacing:-.025em}h3{font-size:32px}p{max-width:65ch}em{font-family:var(--serif);font-weight:400}button{color:inherit}section{position:relative}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.sample-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 3%;background:#272720;color:#fff;font-size:12px;letter-spacing:.03em}.sample-bar a{padding:3px 0}.sample-bar span{opacity:.78;text-align:center}.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 6%;border-bottom:1px solid var(--line);height:86px}.monogram{font:30px var(--serif);letter-spacing:.08em}.monogram em{font-size:21px}.nav>div{display:flex;gap:32px;font-size:14px}.nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.hero{min-height:720px;min-height:calc(100svh - 125px);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:65px 9%;gap:8%;isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:2;text-align:center}.eyebrow{font-size:12px;letter-spacing:.19em;text-transform:uppercase;line-height:1.7}.hero-copy .eyebrow{margin:0 auto 24px}.hero h1{font-size:clamp(72px,8vw,122px);letter-spacing:-.04em}.hero h1 span{display:block}.hero h1 em{display:block;font-size:.56em;line-height:1.1;margin:5px 0;font-style:italic}.invitation-line{font-size:15px;max-width:28ch;margin:25px auto}.hero-photo{position:relative;width:100%;max-width:440px;justify-self:center}.hero-photo img{width:100%;height:520px;object-position:center 38%}.photo-caption{display:block;text-align:center;font-size:10px;letter-spacing:.2em;margin-top:18px}.hero-date{display:flex;gap:15px;align-items:center;justify-content:center;margin:25px 0}.hero-date>span{font:62px/.9 var(--serif)}.hero-date>div{font-size:12px;letter-spacing:.13em;text-align:left;border-left:1px solid var(--line);padding-left:15px;line-height:1.9}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:12px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:14px;letter-spacing:.02em;transition:transform .2s,opacity .2s}.button:hover{opacity:.86;transform:translateY(-2px)}.secondary{background:transparent;color:var(--ink)}.hero-side{position:absolute;left:23px;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;transform:translateY(-50%) rotate(180deg)}.replay{position:absolute;bottom:16px;right:28px;border:0;background:transparent;font-size:12px;padding:10px;z-index:4}.ornament{position:absolute;inset:0;z-index:-1;pointer-events:none}.curtain{position:absolute;z-index:3;pointer-events:none;opacity:0}.section{padding:100px max(7%,calc((100% - 1120px)/2));border-top:1px solid var(--line)}.section-label{font-size:11px;letter-spacing:.19em;border-top:1px solid var(--line);padding-top:14px;margin-bottom:50px}.story-layout,.details-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story-copy h2{margin:20px 0 28px}.story-copy>p:not(.eyebrow){margin-top:16px}.story-photo img{height:520px;width:100%;object-position:center 0%}.story-photo figcaption{font-size:10px;letter-spacing:.18em;margin-top:18px}.couple-names{display:flex;justify-content:space-between;align-items:center;margin-top:36px;padding-top:28px;border-top:1px solid var(--line);gap:15px}.couple-names span{font-size:12px}.couple-names em{font-size:36px}.count-section{text-align:center}.count-section .eyebrow{margin:0 auto 20px}.count-section h2{font-size:clamp(40px,5vw,65px)}.countdown{display:flex;justify-content:center;gap:0;margin:35px 0}.countdown>div{min-width:130px;padding:0 26px;border-right:1px solid var(--line)}.countdown>div:last-child{border:0}.countdown strong{display:block;font:64px var(--serif);font-variant-numeric:tabular-nums}.countdown span{font-size:11px;text-transform:uppercase;letter-spacing:.16em}.tiny{font-size:12px;margin:16px auto 0}.details h2{margin:20px 0 25px}.venue{padding:45px;border:1px solid var(--line);text-align:center}.venue h3{font-size:38px;margin:15px 0}.venue .large{font-size:20px}.venue p{margin:0 auto}.venue hr{border:0;border-top:1px solid var(--line);margin:30px 0}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:10px 0 3px;margin-top:20px;font-size:14px}.guest-note{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--line);margin-top:70px;padding-top:25px}.guest-note>span{font:30px var(--serif)}.timeline-section h2{margin-bottom:50px}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:110px 50px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line);align-items:start}.timeline time{font-size:14px;padding-top:7px}.event-mark{font:25px var(--serif);opacity:.65}.timeline h3{font-size:30px;margin-bottom:7px}.timeline p{font-size:15px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.gallery-heading p{font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-item{padding:0;border:0;background:transparent;text-align:left;min-width:0}.gallery-item img{height:420px;width:100%;transition:filter .3s}.gallery-item:hover img{filter:brightness(.9)}.gallery-item>span{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;margin-top:15px}.gallery-item b{font-size:19px;font-weight:400}.rsvp-section{display:grid;grid-template-columns:1fr 1fr;gap:12%}.rsvp-heading h2{margin:22px 0}.prototype-note{font-size:13px;opacity:.8;margin-top:30px;max-width:34ch}form{display:grid;gap:20px}label{font-size:14px;display:block}label span{opacity:.7}input,select,textarea{display:block;width:100%;min-height:48px;margin-top:7px;padding:12px;background:transparent;border:1px solid var(--line);border-radius:0;color:inherit}select option{color:#252525;background:#fff}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:inherit;opacity:.6}input:disabled,select:disabled{opacity:.4}.form-result{font-size:14px;overflow-wrap:anywhere}.closing{padding:100px 6%;text-align:center;background:var(--ink);color:var(--paper)}.closing>p{margin:0 auto}.closing h2{font-size:48px;margin:35px 0 10px}.closing .signature{font:clamp(45px,7vw,90px) var(--serif);margin-bottom:20px}.closing .eyebrow{font-size:11px}.closing .text-link{border-color:currentColor}.lightbox{padding:0;background:#141414;border:0;max-width:94vw;max-height:94svh;color:white}.lightbox::backdrop{background:#000d}.lightbox img{height:85svh;max-width:92vw;width:auto;object-fit:contain}.close-lightbox{position:absolute;right:8px;top:8px;background:#111e;border:1px solid #fff8;padding:10px 15px;color:white}
/* 01 — a formal diptych, opening outwards */
.theme-1 .hero{grid-template-columns:1fr 1.15fr}.theme-1 .hero-photo{padding:17px;border:1px solid var(--line);max-width:390px}.theme-1 .hero-photo:before{content:'';position:absolute;inset:8px;border:1px solid var(--line);pointer-events:none}.theme-1 .hero-photo img{height:470px;border-radius:180px 180px 0 0}.theme-1 .hero-copy:before{content:'S · P';display:block;font:20px var(--serif);letter-spacing:.2em;margin-bottom:32px}.theme-1 .curtain{background:#e8dfcb;top:0;bottom:0;width:50%;border:1px solid #bfa57b}.theme-1 .curtain-a{left:0}.theme-1 .curtain-b{right:0}.theme-1 .animate .curtain-a{animation:panel-left 1.7s cubic-bezier(.2,.7,.2,1) both}.theme-1 .animate .curtain-b{animation:panel-right 1.7s cubic-bezier(.2,.7,.2,1) both}.theme-1 .animate .hero-copy{animation:arrive 1.5s .3s both}.theme-1 .story-photo img{border-radius:200px 200px 0 0}.theme-1 .count-section{background:#eae3d3}
/* 02 — a strong woven border and asymmetric typesetting */
.theme-2 .nav{border-bottom-color:#f2d39866}.theme-2 .hero{padding:65px 11%;grid-template-columns:1.2fr 1fr;gap:10%}.theme-2 .hero-photo{order:2;padding:12px;background:#f2d398;transform:rotate(3deg)}.theme-2 .hero-photo img{height:480px}.theme-2 .photo-caption{color:#701f2b}.theme-2 .hero-copy{text-align:left}.theme-2 .hero-copy .eyebrow,.theme-2 .invitation-line{margin-left:0}.theme-2 .hero-date{justify-content:start}.theme-2 h1{font-size:clamp(70px,8vw,120px)}.theme-2 h1 em{display:inline-block;margin-left:35%;font-size:.45em}.theme-2 .ornament{inset:0 auto 0 0;width:36px;background:repeating-linear-gradient(45deg,transparent 0 12px,#f2d398 12px 14px,transparent 14px 25px),repeating-linear-gradient(-45deg,transparent 0 12px,#f2d398 12px 14px,transparent 14px 25px);border-right:4px double #f2d398}.theme-2 .hero-side{display:none}.theme-2 .animate .hero-photo{animation:woven 1.7s both}.theme-2 .animate h1 span:first-child{animation:slide-left 1s both}.theme-2 .animate h1 span:last-child{animation:slide-right 1s .2s both}.theme-2 .story,.theme-2 .timeline-section,.theme-2 .rsvp-section{background:#f3ead8;color:#701f2b;--line:#701f2b44;--ink:#701f2b;--paper:#f3ead8}.theme-2 .timeline{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.theme-2 .timeline li{grid-template-columns:80px 1fr}.theme-2 .event-mark{display:none}.theme-2 .gallery-item:nth-child(2){padding-top:70px}
/* 03 — concentric stone and a centred portrait seal */
.theme-3 .hero{grid-template-columns:1fr;gap:25px;padding:50px 7% 65px;text-align:center}.theme-3 .hero-photo{width:260px;max-width:58vw;padding:12px;border:1px solid var(--line);border-radius:50%}.theme-3 .hero-photo img{height:235px;border-radius:50%;object-position:center 22%}.theme-3 .photo-caption{display:none}.theme-3 h1 span,.theme-3 h1 em{display:inline}.theme-3 h1{font-size:clamp(60px,8vw,104px)}.theme-3 h1 em{margin:0 .2em}.theme-3 .hero-copy .eyebrow{margin-bottom:12px}.theme-3 .invitation-line{max-width:none;margin:14px auto}.theme-3 .hero-date{margin:20px 0}.theme-3 .ornament{width:700px;height:700px;max-width:95vw;max-height:95vw;inset:-360px auto auto 50%;transform:translateX(-50%);border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 35px #4a514b08,0 0 0 36px #4a514b22,0 0 0 80px #4a514b06,0 0 0 81px #4a514b22}.theme-3 .animate .hero-photo{animation:circle-open 1.8s both}.theme-3 .animate .hero-copy{animation:arrive 1.3s .3s both}.theme-3 .venue{border-radius:160px 160px 0 0;padding-top:75px}.theme-3 .countdown strong{font-family:var(--sans);font-size:45px;font-weight:400}.theme-3 .story-photo img{border-radius:50% 50% 4px 4px}.theme-3 .gallery-item img{border-radius:200px 200px 0 0}
/* 04 — a horizon in cool blue */
.theme-4 .hero{grid-template-columns:1.2fr 1fr;gap:0;padding:70px 8%;align-items:center}.theme-4 .hero-photo{order:2;max-width:none;align-self:stretch;margin-top:65px;margin-bottom:10px}.theme-4 .hero-photo img{height:100%;min-height:430px;max-height:570px}.theme-4 .hero-copy{text-align:left;z-index:2;margin-right:-80px}.theme-4 h1{font-size:clamp(84px,11vw,160px)}.theme-4 .hero-copy .eyebrow,.theme-4 .invitation-line{margin-left:0}.theme-4 .hero-date{justify-content:start}.theme-4 .photo-caption{display:none}.theme-4 .hero h1 em{display:inline-block;font-size:.42em;margin:0 0 0 30%}.theme-4 .ornament{inset:55% 0 0;background:#cbdedd;z-index:-1}.theme-4 .animate .hero-photo{animation:horizon 1.8s both}.theme-4 .animate h1{animation:slide-left 1.4s both}.theme-4 .count-section{background:#204956;color:#eef3ef;--line:#eef3ef44;--ink:#eef3ef;--paper:#204956}.theme-4 .gallery{gap:12px}.theme-4 .gallery-item:nth-child(2){padding-top:60px}.theme-4 .details-layout{grid-template-columns:1.3fr 1fr}.theme-4 .venue{text-align:left;border:0;border-left:1px solid var(--line)}
/* 05 — a dark green courtyard */
.theme-5 .hero{padding:70px 9%;grid-template-columns:1fr 1fr}.theme-5 .hero-photo{border:1px solid var(--line);padding:16px 16px 0;border-radius:250px 250px 0 0;max-width:400px}.theme-5 .hero-photo img{height:500px;border-radius:250px 250px 0 0}.theme-5 .photo-caption{padding-bottom:18px}.theme-5 .hero-copy:before{content:'TOGETHER IN LOVE';display:block;letter-spacing:.3em;font-size:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px;margin-bottom:35px}.theme-5 h1{font-size:clamp(70px,8vw,110px)}.theme-5 .ornament{inset:20px;border:1px solid var(--line)}.theme-5 .animate .hero-photo{animation:shutters 1.8s both}.theme-5 .animate .hero-copy{animation:arrive 1.7s both}.theme-5 .count-section,.theme-5 .details,.theme-5 .gallery-section{background:#e8e3d4;color:#29443b;--line:#29443b44;--ink:#29443b;--paper:#e8e3d4}.theme-5 .timeline li{max-width:750px;margin:auto}.theme-5 .timeline-section>h2{text-align:center}.theme-5 .gallery-item img{border:8px solid #f4f0e7}
/* 06 — letter, typography and a restrained editorial grid */
.theme-6 .hero{grid-template-columns:1.4fr 1fr;gap:7%;padding:70px 7%}.theme-6 .hero-photo{order:2;margin-top:50px}.theme-6 .hero-photo img{height:440px;filter:grayscale(1)}.theme-6 .hero-copy{text-align:left}.theme-6 .hero h1{font-size:clamp(85px,10vw,142px)}.theme-6 h1 span{display:inline}.theme-6 h1 em{display:block;font-size:.48em;line-height:1;margin:0}.theme-6 .hero-date{justify-content:start}.theme-6 .hero-copy .eyebrow,.theme-6 .invitation-line{margin-left:0}.theme-6 .hero-copy .eyebrow{text-transform:none;font:30px var(--serif);letter-spacing:0}.theme-6 .hero .button{background:transparent;color:inherit;border:0;border-bottom:1px solid var(--ink);padding-left:0}.theme-6 .hero-photo:before{content:'THE NEXT CHAPTER';position:absolute;top:-32px;left:0;font-size:11px;letter-spacing:.17em}.theme-6 .animate h1{animation:letter-reveal 1.7s steps(14,end) both}.theme-6 .animate .hero-photo{animation:arrive 1.4s .2s both}.theme-6 .story-layout{grid-template-columns:1.5fr 1fr}.theme-6 .story-photo img{height:350px}.theme-6 .story h2{font-size:70px}.theme-6 .count-section{background:#222b35;color:#f7f5ee;--line:#f7f5ee44;--ink:#f7f5ee;--paper:#222b35}.theme-6 .timeline li{grid-template-columns:130px 50px 1fr}.theme-6 .gallery-item:nth-child(2){padding-top:90px}.theme-6 .closing h2{font-style:italic}
/* 07 — layered rose paper */
.theme-7 .hero{padding:95px 10%;grid-template-columns:1fr 1fr}.theme-7 .hero-photo{background:#fff9f0;padding:14px 14px 35px;transform:rotate(-6deg);box-shadow:15px 25px 50px #803f4b1a}.theme-7 .hero-photo:before{content:'';position:absolute;inset:-20px 5px 0;background:#d9b6ad;transform:rotate(12deg);z-index:-1}.theme-7 .hero-photo img{height:450px}.theme-7 .photo-caption{font-family:var(--serif);font-style:italic;font-size:20px;letter-spacing:0}.theme-7 .hero-copy{background:#fcf5eecf;padding:40px 25px;box-shadow:0 5px 40px #803f4b0a}.theme-7 h1{font-size:clamp(65px,7vw,100px);font-style:italic}.theme-7 .hero h1 em{font-size:.5em}.theme-7 .animate .hero-photo{animation:paper-photo 1.6s both}.theme-7 .animate .hero-copy{animation:unfold 1.7s both;transform-origin:left}.theme-7 .section-label{font-style:italic;letter-spacing:.1em}.theme-7 .venue{background:#fcf5ee;border:0;transform:rotate(2deg);box-shadow:0 20px 60px #803f4b0d}.theme-7 .gallery-item{padding:10px 10px 20px;background:#fcf5ee;transform:rotate(-2deg)}.theme-7 .gallery-item:nth-child(2){transform:rotate(3deg)}.theme-7 .gallery-item img{height:340px}.theme-7 .count-section{background:#e7cdc6}.theme-7 .rsvp-section{background:#fcf5ee}
/* 08 — midnight orbits */
.theme-8 .hero{grid-template-columns:1fr;min-height:820px;padding:70px 8%;text-align:center}.theme-8 .hero-photo{position:absolute;inset:45px auto auto 50%;transform:translateX(-50%);width:460px;max-width:80%;opacity:.36;z-index:-1}.theme-8 .hero-photo img{height:620px;border-radius:250px 250px 0 0;filter:grayscale(1)}.theme-8 .photo-caption{display:none}.theme-8 h1{font-size:clamp(92px,10vw,145px)}.theme-8 .hero-copy{padding-top:55px;text-shadow:0 2px 20px #111d32}.theme-8 .invitation-line{margin-top:25px}.theme-8 .hero .ornament{inset:35px 12%;border:1px solid var(--line);border-radius:50%}.theme-8 .ornament:before,.theme-8 .ornament:after{content:'✦';position:absolute;font-size:25px;top:20%;left:10%}.theme-8 .ornament:after{left:auto;right:8%;top:70%;font-size:15px}.theme-8 .animate .hero-photo{animation:starlight 2s both}.theme-8 .animate .ornament{animation:orbit-arrive 2s both}.theme-8 .animate .hero-copy{animation:arrive 1.8s .2s both}.theme-8 .gallery-item img{filter:grayscale(1)}.theme-8 .count-section{background:#182741}.theme-8 .venue{border-radius:180px 180px 0 0;padding-top:70px}.theme-8 .story-photo img{border-radius:200px 200px 0 0}.theme-8 .timeline-section{background:#182741}
/* 09 — an unfolding golden invitation */
.theme-9 .hero{grid-template-columns:1.1fr 1fr;gap:6%;padding:60px 8%}.theme-9 .hero-copy{order:-1;text-align:left;padding:50px 30px;background:#f6e8be;border-top:7px double #502b21;border-bottom:7px double #502b21}.theme-9 h1{font-size:clamp(65px,7.5vw,106px)}.theme-9 h1 em{display:inline-block;margin-left:40%;font-size:.5em}.theme-9 .hero-copy .eyebrow,.theme-9 .invitation-line{margin-left:0}.theme-9 .hero-date{justify-content:start}.theme-9 .hero-photo{align-self:stretch;padding-top:35px}.theme-9 .hero-photo img{height:100%;max-height:600px}.theme-9 .photo-caption{display:none}.theme-9 .animate .hero-copy{animation:scroll-open 1.6s both}.theme-9 .animate .hero-photo{animation:slide-right 1.5s .15s both}.theme-9 .story,.theme-9 .timeline-section,.theme-9 .rsvp-section{background:#f6e8be}.theme-9 .count-section{background:#803d28;color:#f6e8be;--line:#f6e8be44;--paper:#803d28;--ink:#f6e8be}.theme-9 .details .venue{border:2px solid #502b21}.theme-9 .gallery-item:nth-child(2){padding-top:65px}.theme-9 .timeline{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.theme-9 .timeline li{grid-template-columns:80px 1fr}.theme-9 .event-mark{display:none}
/* 10 — photographic cinema, with an aperture reveal */
.theme-10 .nav{background:#24151e}.theme-10 .hero{min-height:820px;display:flex;justify-content:start;align-items:end;padding:80px 8%;color:#fff4f5}.theme-10 .hero-photo{position:absolute;inset:0;width:100%;max-width:none;z-index:-2}.theme-10 .hero-photo img{height:100%;width:100%;object-position:center 40%}.theme-10 .hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1d0a18e6 0%,#1d0a1899 40%,#1d0a1800 80%),linear-gradient(0deg,#1d0a18a8,transparent 70%)}.theme-10 .photo-caption{display:none}.theme-10 .hero-copy{text-align:left;max-width:650px}.theme-10 .hero h1{font-size:clamp(80px,10vw,145px)}.theme-10 .hero h1 em{display:inline-block;font-size:.45em;margin:0 0 0 22%}.theme-10 .hero-copy .eyebrow,.theme-10 .invitation-line{margin-left:0}.theme-10 .hero-date{justify-content:start}.theme-10 .button{background:#f1dce5;color:#24151e}.theme-10 .animate .hero-photo{animation:aperture 1.9s both}.theme-10 .animate .hero-copy{animation:arrive 1.6s .25s both}.theme-10 .story,.theme-10 .details,.theme-10 .rsvp-section{background:#f1ece8;color:#482c3d;--line:#482c3d44;--paper:#f1ece8;--ink:#482c3d}.theme-10 .story h2{font-size:76px}.theme-10 .gallery{grid-template-columns:1fr 1.3fr 1fr;align-items:center}.theme-10 .gallery-item:nth-child(2) img{height:540px}.theme-10 .rsvp-section .button{background:#482c3d;color:#f1ece8}.theme-10 .closing{background:#371e30}
@keyframes panel-left{0%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(-101%)}}@keyframes panel-right{0%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(101%)}}@keyframes arrive{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-right{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes woven{from{clip-path:inset(0 0 100% 0);transform:rotate(-5deg)}to{clip-path:inset(0);transform:rotate(3deg)}}@keyframes circle-open{from{clip-path:circle(0%);transform:scale(.7)}to{clip-path:circle(75%);transform:scale(1)}}@keyframes horizon{from{clip-path:inset(49% 0)}to{clip-path:inset(0)}}@keyframes shutters{from{clip-path:inset(0 50%)}to{clip-path:inset(0)}}@keyframes letter-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes paper-photo{from{opacity:0;transform:translateY(80px) rotate(-14deg)}to{opacity:1;transform:translateY(0) rotate(-6deg)}}@keyframes unfold{from{opacity:0;transform:perspective(1000px) rotateY(-60deg)}to{opacity:1;transform:perspective(1000px) rotateY(0)}}@keyframes starlight{from{opacity:0;filter:blur(12px)}to{opacity:.36;filter:blur(0)}}@keyframes orbit-arrive{from{opacity:0;transform:rotate(-25deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes scroll-open{from{clip-path:inset(48% 0)}to{clip-path:inset(0)}}@keyframes aperture{from{clip-path:inset(35% 35%);filter:brightness(.5)}to{clip-path:inset(0);filter:brightness(1)}}
/* The comparison collection */
.collection{--paper:#f3f1ea;--ink:#292d29}.collection-nav{padding:26px 5%;display:flex;justify-content:space-between;border-bottom:1px solid #292d2933;font-size:11px;letter-spacing:.15em}.collection-intro{padding:75px 5% 55px}.collection-intro h1{font-size:clamp(66px,8vw,115px);letter-spacing:-.04em;margin:24px 0 35px}.collection-intro h1 em{color:#7d4d3c}.intro-bottom{display:flex;justify-content:space-between;gap:30px}.intro-bottom p{font-size:16px}.intro-bottom .collection-note{font-size:13px;opacity:.7}.concept-grid{padding:0 5% 70px;display:grid;grid-template-columns:1fr 1fr;gap:60px 35px}.concept-card{min-width:0}.card-art{position:relative;display:block;height:420px;background:var(--card-bg);color:var(--card-ink);overflow:hidden;isolation:isolate}.card-number{position:absolute;left:20px;top:16px;font-size:13px;z-index:2}.card-art img{position:absolute;width:38%;height:75%;left:8%;top:13%}.card-names{position:absolute;left:50%;top:28%;font:clamp(30px,4vw,57px)/1.04 var(--serif);letter-spacing:-.035em}.card-names em{font-size:.75em}.card-date{position:absolute;left:50%;bottom:23%;font-size:9px;letter-spacing:.17em}.art-1 img{border-radius:150px 150px 0 0;border:7px solid #e9dfca;outline:1px solid #aa956c}.art-2{border-left:15px double #f2d398}.art-2 img{left:53%;transform:rotate(5deg);border:7px solid #f2d398}.art-2 .card-names,.art-2 .card-date{left:7%}.art-3 img{width:170px;height:170px;border-radius:50%;left:calc(50% - 85px);top:35px}.art-3 .card-names{top:230px;left:0;width:100%;text-align:center;font-size:46px}.art-3 .card-names br{display:none}.art-3 .card-date{left:0;bottom:55px;width:100%;text-align:center}.art-4 img{left:50%;top:25%;height:70%;width:43%}.art-4 .card-names{left:8%;top:22%;font-size:68px}.art-4 .card-date{left:8%;bottom:15%}.art-5 img{border-radius:150px 150px 0 0;border:7px solid #244c3e;outline:1px solid #f0dbad66}.art-6 img{left:56%;width:35%;height:62%;top:23%;filter:grayscale(1)}.art-6 .card-names,.art-6 .card-date{left:7%}.art-7 img{transform:rotate(-7deg);border:10px solid #fff6e9;border-bottom-width:28px}.art-7 .card-names{font-style:italic;background:#fff6e980;padding:30px 10px;left:48%;top:21%}.art-7 .card-date{bottom:18%}.art-8 img{left:30%;width:40%;opacity:.4;border-radius:100px 100px 0 0}.art-8 .card-names{left:0;top:25%;width:100%;text-align:center;font-size:68px}.art-8 .card-date{left:0;bottom:16%;width:100%;text-align:center}.art-9 img{left:54%;width:38%;height:78%;top:11%}.art-9 .card-names{left:7%;top:20%;background:#f6e8be;padding:25px 8px}.art-9 .card-date{left:9%;bottom:17%}.art-10 img{inset:0;width:100%;height:100%;object-position:center 40%}.art-10:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#24151ed9,transparent);z-index:0}.art-10 .card-names{left:8%;top:27%;color:#fff;z-index:1}.art-10 .card-date{left:8%;bottom:15%;color:#fff;z-index:1}.art-10 .card-number{color:#fff}.card-art:hover img{filter:brightness(.9)}.card-info{padding-top:22px}.small-label{font-size:10px;letter-spacing:.17em}.card-info h2{font-size:36px;margin:5px 0 15px}.card-info>p{font-size:15px;margin-top:12px}.card-info .motion-note{font-size:12px;color:#766b5d}.view-concept{display:flex;justify-content:space-between;border-top:1px solid #292d2944;margin-top:22px;padding-top:14px;font-size:14px}.collection-footer{padding:45px 5%;border-top:1px solid #292d2933;font:30px var(--serif);display:flex;justify-content:space-between;gap:25px}.collection-footer span{font:12px var(--sans)}
@media(min-width:1600px){.hero{padding-left:max(9%,calc((100% - 1280px)/2));padding-right:max(9%,calc((100% - 1280px)/2))}}
@media(max-width:800px){.sample-bar{font-size:11px;flex-wrap:wrap}.sample-bar span{order:3;width:100%;font-size:11px}.nav{height:74px;padding:15px 6%}.nav>div{gap:18px;font-size:12px}.monogram{font-size:24px}.hero{min-height:0!important;grid-template-columns:1fr!important;padding:45px 8% 65px!important;gap:32px!important}.hero h1{font-size:76px!important}.hero-photo{max-width:330px!important}.hero-photo img{height:370px!important;min-height:0!important}.hero-copy{margin:0!important}.hero-side{display:none}.hero .eyebrow{font-size:11px}.hero-copy .eyebrow{margin-bottom:15px}.invitation-line{margin:18px auto}.hero-date{margin:20px 0}.hero h1 span,.hero h1 em{display:inline!important}.hero h1 em{margin:0 .1em!important;font-size:.6em!important}.hero h1{line-height:1.05}.hero-photo{order:0!important}.hero-copy{order:1!important}.section{padding:65px 7%}.section-label{margin-bottom:35px}.story-layout,.details-layout{grid-template-columns:1fr!important;gap:35px}.story-photo{max-width:440px;width:100%;margin:auto}.story-photo img{height:450px!important}.story h2{font-size:52px!important}.countdown>div{min-width:0;flex:1;padding:0 12px}.countdown strong{font-size:49px}.countdown span{font-size:10px;letter-spacing:.1em}.count-section .eyebrow{font-size:10px}.guest-note{grid-template-columns:1fr;gap:10px;margin-top:40px}.timeline li{grid-template-columns:76px 25px 1fr!important;gap:13px}.timeline h3{font-size:27px}.timeline p{font-size:14px}.timeline{grid-template-columns:1fr!important}.theme-2 .timeline li,.theme-9 .timeline li{grid-template-columns:76px 1fr!important}.gallery{gap:12px}.gallery-heading{display:block}.gallery-heading p{margin-top:18px}.gallery-item img{height:270px}.gallery-item>span{font-size:9px;letter-spacing:.03em}.rsvp-section{grid-template-columns:1fr;gap:35px}.prototype-note{max-width:100%;margin-top:18px}.closing{padding:70px 7%}.closing h2{font-size:40px}.theme-1 .hero{padding-top:35px!important}.theme-1 .hero-copy:before{display:none}.theme-1 .hero-photo{max-width:270px!important}.theme-1 .hero-photo img{height:310px!important}.theme-2 .hero-photo{max-width:270px!important;margin:5px 0 10px}.theme-2 .hero-photo img{height:320px!important}.theme-2 .hero-copy{text-align:center}.theme-2 .hero-copy .eyebrow,.theme-2 .invitation-line{margin-left:auto}.theme-2 .hero-date{justify-content:center}.theme-2 .ornament{width:20px}.theme-3 .hero-photo{width:205px!important}.theme-3 .hero-photo img{height:180px!important}.theme-3 .hero h1{font-size:64px!important}.theme-3 .hero{gap:20px!important}.theme-3 .ornament{inset:-280px auto auto 50%}.theme-4 .hero-photo{margin:0;max-width:100%!important;height:340px}.theme-4 .hero-photo img{height:340px!important}.theme-4 .hero-copy{padding-top:0;text-align:left}.theme-4 .hero h1{font-size:82px!important}.theme-4 .hero-photo{order:2!important}.theme-4 .ornament{inset:70% 0 0}.theme-5 .hero-photo{max-width:280px!important}.theme-5 .hero-photo img{height:310px!important}.theme-5 .hero-copy:before{display:none}.theme-5 .ornament{inset:13px}.theme-6 .hero-photo{order:2!important;margin-top:20px;max-width:100%!important}.theme-6 .hero-photo img{height:370px!important;width:100%}.theme-6 .hero h1{font-size:88px!important}.theme-6 .hero-copy .eyebrow{font-size:25px}.theme-7 .hero-photo{max-width:250px!important;margin:20px 0}.theme-7 .hero-photo img{height:285px!important}.theme-7 .hero-copy{padding:30px 18px}.theme-7 .hero h1{font-size:65px!important}.theme-8 .hero{min-height:740px!important}.theme-8 .hero-photo{top:40px;max-width:88%!important;width:380px}.theme-8 .hero-photo img{height:610px!important}.theme-8 .hero-copy{padding:50px 0}.theme-8 .hero h1 span,.theme-8 .hero h1 em{display:block!important}.theme-8 .hero h1{font-size:85px!important}.theme-8 .hero .ornament{inset:30px 5%}.theme-9 .hero-copy{order:0!important;width:100%}.theme-9 .hero-photo{order:2!important;height:340px;max-width:100%!important;width:100%;padding:0}.theme-9 .hero-photo img{height:340px!important;width:100%}.theme-9 .hero h1{font-size:67px!important}.theme-10 .hero{min-height:760px!important;padding-top:250px!important;display:flex}.theme-10 .hero-photo{max-width:100%!important}.theme-10 .hero-photo img{height:100%!important;object-position:62% center}.theme-10 .hero h1 span,.theme-10 .hero h1 em{display:block!important}.theme-10 .hero h1{font-size:86px!important}.theme-10 .hero h1 em{font-size:.5em!important}.theme-10 .hero-copy{padding-top:50px}.theme-10 .gallery-item:nth-child(2) img{height:330px}.collection-intro{padding-top:45px}.intro-bottom{display:block}.intro-bottom .collection-note{margin-top:20px}.concept-grid{gap:45px 20px}.card-art{height:300px}.card-names{font-size:34px}.art-3 img{width:130px;height:130px;left:calc(50% - 65px);top:25px}.art-3 .card-names{top:180px;font-size:30px}.art-3 .card-date{bottom:40px}.art-4 .card-names,.art-8 .card-names{font-size:42px}.card-info h2{font-size:32px}.card-date{font-size:8px;letter-spacing:.08em}.collection-footer{display:block}.collection-footer span{display:block;margin-top:15px}}
@media(max-width:520px){.hero h1{font-size:62px!important}.hero-copy .eyebrow{max-width:30ch}.hero-photo img{height:330px!important}.section{padding:55px 6%}.gallery{grid-template-columns:1fr!important;gap:28px}.gallery-item{padding-top:0!important;max-width:100%;transform:none!important}.gallery-item img{height:440px!important}.gallery-item>span{font-size:11px}.story-photo img{height:400px!important}.countdown strong{font-size:42px}.theme-3 .hero h1{font-size:55px!important}.theme-4 .hero h1{font-size:66px!important}.theme-6 .hero h1{font-size:72px!important}.theme-7 .hero h1{font-size:58px!important}.theme-8 .hero h1{font-size:80px!important}.theme-9 .hero h1{font-size:59px!important}.theme-10 .hero h1{font-size:82px!important}.venue{padding:35px 22px}.collection-nav{font-size:9px;letter-spacing:.1em}.collection-intro h1{font-size:65px}.concept-grid{grid-template-columns:1fr;gap:45px}.card-art{height:350px}.card-names{font-size:43px}.art-3 .card-names{top:205px;font-size:36px}.art-3 img{width:150px;height:150px;left:calc(50% - 75px);top:30px}.art-3 .card-date{bottom:50px}.art-4 .card-names,.art-8 .card-names{font-size:56px}.card-info h2{font-size:37px}.card-date{font-size:9px}.card-info>p{font-size:15px}.theme-2 .hero-photo,.theme-5 .hero-photo{max-width:250px!important}.nav>div{gap:14px}.count-section h2{font-size:40px}.timeline time{font-size:12px}.event-mark{font-size:20px}.rsvp-section .button{width:100%}}
@media(max-width:520px){.hero h1 span,.hero h1 em{display:block!important}.hero h1 em{font-size:.5em!important;line-height:1!important;margin:7px 0!important}.theme-3 .hero h1{font-size:58px!important}.theme-7 .hero h1{font-size:64px!important}.theme-9 .hero h1{font-size:65px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.curtain{display:none!important}}

.rsvp-contacts{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}.rsvp-contacts h3:not(:first-child){margin-top:12px}

/* Ivory promise: an informal ribbon of photographs on mobile. */
.theme-1 .album-slot{display:contents}
.theme-1 .album-hint{display:none}
@media(max-width:700px){
 .theme-1 .gallery.floating-album{position:relative;display:flex;gap:0;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:42px 0 48px;isolation:isolate}
 .theme-1 .floating-album::before,.theme-1 .floating-album::after{content:"";flex:0 0 19%}
 .theme-1 .floating-album::-webkit-scrollbar{display:none}
 .theme-1 .floating-album .album-slot{display:block;position:relative;flex:0 0 62%;min-width:0;scroll-snap-align:center}
 .theme-1 .floating-album .gallery-item{display:block;width:100%;max-width:100%;padding:9px 9px 14px!important;background:#fffcf5;border:1px solid #b19b7030;box-shadow:0 12px 22px #503c2520;transform:translateY(var(--lift)) rotate(var(--tilt)) scale(var(--scale,1))!important;opacity:var(--fade,1);transform-origin:center;touch-action:pan-x pan-y pinch-zoom;will-change:transform}
 .theme-1 .floating-album .gallery-item img{width:100%;height:clamp(190px,32svh,300px)!important;object-fit:cover;object-position:center 35%;pointer-events:none}
 .theme-1 .floating-album .gallery-item>span{font-size:9px;letter-spacing:.08em;padding-top:12px;pointer-events:none}
 .theme-1 .floating-album .gallery-item>span b{display:none}
 .theme-1 .floating-album .gallery-item:focus-visible{outline-offset:3px}
 .theme-1 .album-hint{display:block;text-align:center;font-size:13px;letter-spacing:.03em;margin:0 auto;color:var(--ink)}
}
