html{scroll-behavior:smooth}body{--ink:#503720;--accent:#a88049;--paper:#f6eee0;--soft:#e9dbc1;background:var(--paper);color:var(--ink)}body.theme-doors{--ink:#384023;--accent:#9a935a;--paper:#f4f0e3;--soft:#e4e2cf}body.theme-book{--ink:#243b52;--accent:#a98a54;--paper:#f5f1e8;--soft:#e1e6e8}button,a,input{touch-action:manipulation}a{color:inherit}.collection-back{position:fixed;top:12px;left:14px;z-index:20;background:#faf6eced;padding:10px 14px;border:1px solid #b9ab904d;border-radius:30px;text-decoration:none;font:12px Montserrat,Arial;color:var(--ink)}.opening-shell{display:grid;place-items:center;min-height:100svh;width:100%;padding:46px 0 12px}.opening-shell .stage{width:min(100%,calc((100svh - 64px)*2/3),620px);box-shadow:0 15px 55px #30200f20}.stage[data-variant=book] .open-invitation{bottom:10%}.sealed{overflow:hidden}.invitation-content{width:min(100%,640px);margin:0 auto;box-shadow:0 0 60px #28180a0c}.invitation-content[hidden],.opening-shell[hidden],[hidden]{display:none!important}.invitation-content section{position:relative}.invitation-content h2{font:400 clamp(36px,9vw,57px)/1.1 Vibes,Georgia;margin:22px 0}.invitation-content p{font:16px/1.8 Georgia,serif}.chapter{font:10px/1.6 Montserrat,Arial;letter-spacing:2px}.greeting{text-align:center;min-height:100svh;padding:100px 8% 65px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse,#fffaf0,var(--paper))}.greeting h2{font-size:clamp(45px,12vw,70px)}.greeting p{max-width:420px}.couple{font:clamp(39px,10vw,64px) Vibes,Georgia;margin:25px 0 15px}.couple span{font:28px Georgia;color:var(--accent);margin:0 9px}.fine-line{width:100px;height:1px;background:var(--accent);margin:20px 0}.calendar{display:flex;flex-direction:column;align-items:center;margin:15px 0}.calendar span{font:10px Montserrat;letter-spacing:2px}.calendar strong{font:70px Georgia;font-weight:400;line-height:1.2}.scroll-hint{text-decoration:none;font:11px Montserrat;margin-top:35px;display:flex;flex-direction:column;gap:12px;align-items:center}.scroll-hint span{font-size:26px}.portrait{aspect-ratio:2/3;overflow:hidden;background:var(--soft)}.portrait video{width:100%;height:100%;object-fit:cover}.portrait:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#151918b5);pointer-events:none}.portrait-caption{position:absolute;bottom:8%;left:9%;color:#fff8ec;z-index:1}.portrait-caption span{font:10px Montserrat;letter-spacing:2px}.portrait-caption h2{font-family:Georgia;font-size:clamp(38px,9vw,59px)}.portrait-caption em{font-weight:400}.video-toggle{position:absolute;right:16px;top:16px;width:40px;height:40px;border:1px solid #fffa;border-radius:50%;background:#fff9;color:#302b23;z-index:3}.programme{padding:80px 10%;text-align:center}.timeline{position:relative;margin:44px auto 0}.timeline:before{content:'';position:absolute;left:50%;top:5px;bottom:5px;width:1px;background:var(--accent);opacity:.5}.timeline article{position:relative;background:var(--paper);padding:15px 0;max-width:90%;margin:auto}.timeline .number{display:block;font:11px Montserrat;letter-spacing:2px;color:var(--accent);margin-bottom:13px}.timeline time{font:52px Georgia}.timeline h3{font:25px Georgia;margin:15px 0 0}.timeline p{font-size:15px;margin:12px auto;max-width:240px}.timeline-arrow{position:relative;font-size:32px;background:var(--paper);width:40px;margin:35px auto;color:var(--accent)}.place{background:var(--soft);text-align:center;padding:65px 8%;border-radius:50% 50% 0 0 / 50px 50px 0 0}.place h2{font:38px/1.15 Georgia}.place h2 em{font:46px Vibes}.invitation-content button:disabled{border:1px solid #82705270;color:var(--ink);opacity:.62;background:transparent;padding:15px 24px;border-radius:40px;font:13px Montserrat;cursor:not-allowed}.invitation-content small{display:block;font:11px/1.6 Montserrat;margin-top:15px;opacity:.72}.details{text-align:center;padding:70px 8%}.swatches{display:flex;justify-content:center;gap:12px;margin-top:28px}.swatches span{width:45px;height:45px;border-radius:50%;background:#eee1c8;border:1px solid #afa0834d}.swatches span:nth-child(2){background:#bba386}.swatches span:nth-child(3){background:#85876a}.swatches span:nth-child(4){background:#314b5e}.rsvp{padding:65px 10%;background:var(--soft);text-align:center}.demo-form{text-align:left;margin:35px auto 0;max-width:380px}.demo-form>label,fieldset legend{font:13px Montserrat;line-height:1.7}.demo-form>input{display:block;width:100%;border:0;border-bottom:1px solid var(--accent);padding:15px 2px;background:transparent;font:16px Georgia;color:var(--ink);border-radius:0}.demo-form fieldset{border:0;padding:0;margin:30px 0}.demo-form fieldset label{display:flex;gap:10px;align-items:center;font:14px/1.6 Montserrat;margin-top:15px}.demo-form input[type=radio]{width:20px;height:20px;accent-color:var(--ink);flex:none}.demo-form button{width:100%}.demo-form small{text-align:center}.contacts{text-align:center;padding:60px 8%}.countdown{aspect-ratio:2/3;display:grid;place-items:center;color:#fff8eb;text-align:center;overflow:hidden}.countdown>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.52)}.countdown-copy{position:relative;padding:8% 5%;width:100%}.clock{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:35px}.clock b{display:block;font:clamp(29px,8vw,46px) Georgia;font-weight:400}.clock span{display:block;font:10px Montserrat;margin-top:8px}.countdown-copy>p{font:45px Vibes;margin:45px 0 15px}.countdown-copy>span{font:12px Montserrat;letter-spacing:3px}.invitation-content footer{padding:35px 8%;display:flex;gap:25px;align-items:center;flex-direction:column}.invitation-content footer button,.invitation-content footer a{font:11px Montserrat;border:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:5px;padding:10px}.music-toggle{position:fixed;right:15px;bottom:20px;z-index:30;border:1px solid var(--accent);background:var(--paper);color:var(--ink);width:46px;height:46px;border-radius:50%;font-size:24px;box-shadow:0 3px 20px #0002}.music-toggle[aria-pressed=true]{box-shadow:0 0 0 5px #aa89452a}.noscript{position:fixed;inset:30% 10%;z-index:99;padding:30px;background:#fff6e4;font-size:22px}@media(max-width:380px){.collection-back{top:6px;font-size:11px;padding:8px 12px}.opening-shell{padding-top:38px}.opening-shell .stage{width:min(100%,calc((100svh - 55px)*2/3))}.invitation-content p{font-size:15px}.place h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body:not(.sealed) .collection-back{position:absolute}

/* Editorial invitation interiors. Opening scenes deliberately remain unchanged. */
body{--paper:#f8f3e9}body.theme-doors{--ink:#243526;--accent:#a18b52;--paper:#f5f2e8}body.theme-book{--ink:#203b53;--paper:#f5f1e8}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.invitation-content{width:100%;box-shadow:none;overflow:clip}.invitation-content h2{font:400 clamp(42px,5.5vw,74px)/1.07 Georgia,serif;letter-spacing:-2px;margin:24px 0}.invitation-content p{font:16px/1.7 Montserrat,Arial}.chapter{font-size:12px;letter-spacing:.15em}.greeting{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:110px 6% 80px;min-height:100svh;background:none}.greeting-copy{text-align:center}.greeting #greetingTitle{font:clamp(65px,7.3vw,110px)/1.1 Vibes,Georgia;letter-spacing:0;margin:35px 0 24px}.greeting h2 span{display:block;font:italic 38px Georgia;color:var(--accent);margin:12px}.greeting .invitation-note{max-width:290px;margin:0 auto 36px}.date-line{display:flex;align-items:center;justify-content:center;gap:20px;font:28px Georgia}.date-line i{width:20px;height:1px;background:var(--accent);transform:rotate(-45deg)}.weekday{display:block;font:12px Montserrat;letter-spacing:.18em;margin-top:18px}.scroll-hint{font-size:12px;margin-top:45px;gap:20px}.portrait{width:100%;aspect-ratio:3/4;max-height:760px;isolation:isolate}.photo-note{position:absolute;left:28px;bottom:28px;z-index:2;color:#fff;font:12px Montserrat;letter-spacing:.2em}.video-toggle{width:44px;height:44px}.theme-ribbon .portrait{border-radius:48% 48% 3px 3px;transform:rotate(2deg);outline:1px solid #96734255;outline-offset:12px}.programme{padding:100px 7% 90px}.journey-heading{text-align:center;margin-bottom:60px}.journey-subtitle{font:13px Montserrat}.journey-track{position:relative;max-width:1000px;margin:auto;--progress:0}.journey-line{position:absolute;left:42%;top:0;width:16%;height:100%;fill:none;overflow:visible;pointer-events:none}.journey-line path{vector-effect:non-scaling-stroke;stroke-width:1}.path-base{stroke:var(--accent);opacity:.28}.path-fill{stroke:var(--accent);stroke-width:2!important;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--progress))}.traveller{position:absolute;left:var(--point-x,50%);top:var(--point-y,0%);font:23px Georgia;color:var(--accent);transform:translate(-50%,-50%);z-index:2;line-height:1;background:var(--paper);border-radius:50%;padding:5px}.journey-step{position:relative;min-height:340px;width:100%;display:flex;align-items:center;padding:45px 0;gap:28px}.step-copy{width:42%;text-align:right}.step-copy time{font:clamp(54px,7vw,92px)/1 Georgia;letter-spacing:-3px;display:block;color:var(--accent)}.step-copy h3{font:400 clamp(28px,3.5vw,42px)/1.15 Georgia;letter-spacing:-1px;margin:20px 0 12px}.step-copy p{font-size:14px;margin:0}.step-index{position:absolute;left:62%;font:12px Montserrat;letter-spacing:.18em;color:var(--accent)}.step-mark{position:absolute;right:0;font:italic 140px Georgia;color:var(--accent);opacity:.11;line-height:1}.journey-step:nth-of-type(even){justify-content:flex-end}.journey-step:nth-of-type(even) .step-copy{text-align:left}.journey-step:nth-of-type(even) .step-index{left:auto;right:62%}.journey-step:nth-of-type(even) .step-mark{left:0;right:auto}.event-time{font:italic clamp(35px,4vw,52px) Georgia;color:var(--accent)}.journey-end{text-align:center;font:32px Vibes;margin-top:38px}.journey-end span{color:var(--accent);font:22px Georgia;margin:0 20px}.essentials{max-width:1200px;margin:auto;padding:90px 6%;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid #9b81503a}.place,.details{text-align:left;padding:0;background:none;border-radius:0}.essentials h2,.essentials h2 em{font:400 clamp(38px,4vw,53px)/1.12 Georgia}.essentials h2 em{font-style:italic}.essentials p{font-size:14px;max-width:310px}.swatches{justify-content:flex-start;gap:8px;margin:34px 0 28px}.swatches span{width:54px;height:70px;border-radius:50% 50% 0 0;transform:rotate(-8deg)}.swatches span:nth-child(2){transform:rotate(-3deg)}.swatches span:nth-child(3){transform:rotate(3deg)}.swatches span:nth-child(4){transform:rotate(8deg)}.invitation-content button:disabled{border:0;border-bottom:1px solid #82705270;color:var(--ink);background:none;padding:14px 0;font:14px Montserrat;border-radius:0;opacity:.65}.rsvp{max-width:1100px;margin:0 auto;padding:90px 6% 110px;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid #9b81503a;background:none;text-align:left}.demo-form{margin:8px 0 0;max-width:none}.demo-form>label,fieldset legend{font-size:14px}.demo-form>input{padding:18px 0;font-size:18px}.demo-form fieldset label{font-size:14px}.demo-form>button{text-align:left}.demo-form small{font-size:12px;text-align:left}.contacts{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px;padding:20px 0 0;border-top:1px solid #9b81503a;font:12px/1.6 Montserrat;text-align:left}.contacts button{flex-shrink:0;width:auto}.countdown{aspect-ratio:auto;min-height:620px}.countdown>img{filter:brightness(.42)}.countdown-copy{padding:80px 6%;width:min(100%,800px)}.clock{gap:20px;margin-top:50px}.clock b{font-size:clamp(36px,5vw,66px)}.clock span{font-size:12px}.countdown-copy>p{font-size:54px}.countdown-copy>span{font-size:14px}.invitation-content footer{flex-direction:row;justify-content:space-between}.invitation-content footer button,.invitation-content footer a{font-size:12px;line-height:1.6}.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.motion-ready .reveal.is-visible{opacity:1;transform:none}.motion-ready .journey-step .step-copy{opacity:.38;transform:translateY(20px);transition:opacity .8s,transform .8s}.motion-ready .journey-step.is-passed .step-copy{opacity:1;transform:none}
.portrait{position:relative}.portrait video{position:absolute;inset:0;display:block}.theme-book .greeting{align-items:stretch}
/* Doors: an architectural procession with a dark, candlelit opening. */
.theme-doors .greeting{max-width:none;min-height:105svh;display:flex;padding:105px 6% 85px;background:var(--ink);color:var(--paper);isolation:isolate}.theme-doors .greeting-copy{position:relative;z-index:2;max-width:620px;margin:auto;pointer-events:none}.theme-doors .greeting-copy a{pointer-events:auto}.theme-doors .greeting #greetingTitle{font-size:clamp(70px,8vw,120px)}.theme-doors .greeting h2 span{display:inline;font-size:45px}.theme-doors .greeting .portrait{position:absolute;inset:40px 4%;width:92%;max-height:none;aspect-ratio:auto;opacity:.3;border-radius:48% 48% 0 0 / 35% 35% 0 0;z-index:0}.theme-doors .photo-note{display:none}.theme-doors .programme{background:var(--ink);color:var(--paper);padding-top:50px}.theme-doors .journey-line{left:50%;width:1px}.theme-doors .traveller{background:var(--ink)}.theme-doors .journey-track{max-width:780px}.theme-doors .journey-step{min-height:410px;justify-content:center!important}.theme-doors .step-copy{width:80%;text-align:center!important;background:var(--ink);padding:45px 20px;z-index:1;border:1px solid #a18b5255;border-radius:50% 50% 0 0 / 38% 38% 0 0}.theme-doors .step-index{left:3%!important;right:auto!important;writing-mode:vertical-rl;z-index:2}.theme-doors .step-mark{right:3%!important;left:auto!important;font-size:50px;opacity:.35;z-index:2}.theme-doors .swatches span{transform:none;border-radius:50% 50% 0 0;height:85px}.theme-doors .essentials{border-top:0;padding-top:110px}
/* Book: a spread, an asymmetric spine and three numbered chapters. */
.theme-book .greeting{gap:0;padding:90px 6%;grid-template-columns:1fr 1fr}.theme-book .greeting-copy{order:2;padding:50px 5%;border:1px solid #99774840;border-left:0;box-shadow:inset 16px 0 24px -24px #203b5377;min-height:600px;display:flex;flex-direction:column;justify-content:center}.theme-book .portrait{order:1;min-height:600px;height:100%;border-radius:3px 0 0 3px;max-height:none;aspect-ratio:auto}.theme-book .greeting #greetingTitle{font-size:clamp(57px,6.5vw,85px)}.theme-book .greeting h2 span{display:inline;font-size:30px}.theme-book .programme{max-width:1180px;margin:auto;padding:100px 6%}.theme-book .journey-heading{text-align:left;padding-left:16%;max-width:800px}.theme-book .journey-line{left:12%;width:1px}.theme-book .journey-step{justify-content:flex-start!important;padding-left:23%;min-height:330px;border-bottom:1px solid #99774825}.theme-book .step-copy{width:100%;text-align:left!important;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:center}.theme-book .step-copy time,.theme-book .event-time{grid-row:1/3;font-size:clamp(40px,5vw,64px)}.theme-book .step-copy h3{font-style:italic;margin-top:0}.theme-book .step-copy p{grid-column:2}.theme-book .step-index{left:0!important;right:auto!important;writing-mode:vertical-rl}.theme-book .step-mark{right:0!important;left:auto!important;top:20px;font-size:40px}.theme-book .journey-end{text-align:left;padding-left:9%}.theme-book .essentials{background:linear-gradient(90deg,transparent calc(50% - 1px),#99774840 50%,transparent calc(50% + 1px));border-bottom:1px solid #99774840}.theme-book .swatches span{transform:none;border-radius:0;width:46px;height:64px}.theme-book .rsvp{border-top:0}.theme-book .countdown{max-width:1200px;margin:0 auto 50px}
@media(max-width:700px){.greeting{padding:95px 7% 55px;display:flex;flex-direction:column;gap:45px;min-height:0}.greeting-copy{width:100%}.greeting #greetingTitle{font-size:70px;margin-top:30px}.greeting h2 span{display:inline;font-size:28px;margin:0 8px}.greeting .invitation-note{font-size:14px;margin-bottom:26px;max-width:270px}.date-line{font-size:25px;gap:18px}.scroll-hint{margin-top:30px;gap:12px}.portrait{width:86%;aspect-ratio:4/5}.programme{padding:65px 7%}.journey-heading{margin-bottom:35px}.invitation-content h2{font-size:43px;letter-spacing:-1.5px}.chapter{font-size:12px;letter-spacing:.12em}.journey-subtitle{font-size:12px}.journey-line{left:7%;width:12%}.journey-step,.journey-step:nth-of-type(even){min-height:300px;padding:50px 0 50px 26%;justify-content:flex-start}.step-copy,.journey-step:nth-of-type(even) .step-copy{width:100%;text-align:left}.step-copy time{font-size:62px}.step-copy h3{font-size:29px}.step-copy p{font-size:14px;max-width:220px}.step-index,.journey-step:nth-of-type(even) .step-index{top:20px;left:26%;right:auto;font-size:11px}.step-mark,.journey-step:nth-of-type(even) .step-mark{right:0;left:auto;top:40px;font-size:65px;opacity:.07}.journey-end{margin-top:20px}.essentials{padding:65px 8%;display:block}.details{margin-top:65px;padding-top:50px;border-top:1px solid #9b81503a}.essentials h2,.essentials h2 em{font-size:39px}.rsvp{display:block;padding:65px 8% 75px}.rsvp-heading h2 br{display:none}.rsvp-heading h2 em{margin-left:.15em}.demo-form{margin-top:40px}.countdown{min-height:550px}.countdown-copy{padding:65px 7%}.clock{gap:10px}.clock b{font-size:37px}.countdown-copy>p{font-size:47px}.invitation-content footer{flex-direction:column;gap:10px;padding-bottom:85px}.theme-doors .greeting{min-height:92svh;padding:110px 7% 65px;justify-content:center}.theme-doors .greeting #greetingTitle{font-size:76px}.theme-doors .greeting h2 span{display:block;font-size:30px}.theme-doors .greeting .portrait{width:92%;min-height:0}.theme-doors .programme{padding:40px 6% 60px}.theme-doors .journey-step{min-height:360px;padding:40px 0}.theme-doors .step-copy{width:84%;padding:45px 15px}.theme-doors .step-copy p{margin:auto;max-width:200px}.theme-doors .step-index{top:95px;left:0!important;font-size:10px}.theme-doors .step-mark{right:0!important;top:150px;font-size:28px}.theme-doors .journey-line{left:50%;width:1px}.theme-doors .essentials{padding-top:65px}.theme-book .greeting{display:flex;padding:85px 7% 50px;gap:0}.theme-book .greeting-copy{order:0;min-height:0;border:1px solid #99774840;border-bottom:0;padding:40px 5%;box-shadow:none}.theme-book .greeting #greetingTitle{font-size:63px}.theme-book .portrait{width:100%;height:auto;min-height:0;aspect-ratio:4/5;max-height:480px;order:1}.theme-book .programme{padding:60px 7%}.theme-book .journey-heading{padding-left:0}.theme-book .journey-line{left:9%}.theme-book .journey-step{padding-left:24%;min-height:320px}.theme-book .step-copy{display:block}.theme-book .step-copy h3{margin-top:20px;font-size:30px}.theme-book .step-copy time{font-size:65px}.theme-book .step-index{top:90px;left:0!important}.theme-book .step-mark{top:30px;font-size:30px}.theme-book .journey-end{padding-left:5%}.theme-book .essentials{background:none}.theme-book .countdown{margin-bottom:0}}
.theme-doors .journey-line{left:2%}.theme-doors .step-index{left:15%!important;top:16px;writing-mode:horizontal-tb;font-size:11px}.theme-doors .greeting .video-toggle{opacity:1;background:#fff;color:#243526}.motion-ready .journey-step .step-copy{opacity:.65}.motion-ready .journey-step.is-passed .step-copy{opacity:1}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal,.motion-ready .journey-step .step-copy{opacity:1;transform:none;transition:none}}
