@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-7.ttf) format('truetype');
}

:root{--ink:#632b35;--paper:#f4efe3;--paper-dark:#e5dcc7;--muted:#817461;--gold:#ad8c56;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--accent-rgb:99,43,53}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 var(--sans)}body::after{content:'';pointer-events:none;position:fixed;inset:0;z-index:60;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.25' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}body.intro-active{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1}i{font-weight:400}svg{display:block}.svg-defs{position:absolute;width:0;height:0}.eyebrow{font:500 10px/1.8 var(--sans);letter-spacing:.22em;text-transform:uppercase}.intro{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fffdf6 0,var(--paper) 62%,#e3dac8 100%);transition:opacity .85s,visibility .85s}.intro::before{content:'';position:absolute;inset:24px;border:1px solid #a18a644a;pointer-events:none}.intro-top{width:100%;display:flex;justify-content:space-between;padding:43px 62px 0;font-size:9px;letter-spacing:.25em;z-index:1}.intro-heading{padding:32px 0 0;text-align:center;z-index:1}.intro-heading h1{font-size:clamp(35px,4.5vw,56px);margin-top:10px;line-height:1.05}.intro-heading h1 i{font-size:.85em}.envelope-stage{position:relative;width:min(600px,76vw);height:min(360px,46vw);perspective:1500px;margin:46px 0 0;flex-shrink:0;z-index:3;transform:rotate(-3deg);transition:transform 1s}.envelope{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s}.envelope-back{position:absolute;inset:0;background:#b7a583;border:1px solid #bfaf93;box-shadow:0 35px 40px -20px #51402665,0 5px 8px #51402620;border-radius:3px}.lining{position:absolute;inset:8px;background:linear-gradient(#4c3d1830,#4c3d1830),url('assets/villa.webp') center/cover;border-radius:2px}.letter{position:absolute;inset:10px 22px;background:var(--paper);z-index:2;box-shadow:0 4px 12px #5b452a22;transform:translateY(0);transition:transform 1.4s cubic-bezier(.25,.7,.15,1),box-shadow 1s;will-change:transform}.letter-rule{position:absolute;inset:12px;border:1px solid #ad8c5675;display:flex;flex-direction:column;align-items:center;padding:16px}.letter-names{font:46px/.98 var(--serif);text-align:center;margin:10px 0}.letter-names b{font-weight:400}.letter-names i{display:block;font-size:28px}.letter-date{font-size:8px;letter-spacing:.2em;margin:4px}.letter svg{width:35px;height:55px;position:absolute;bottom:8px}.envelope-pocket{position:absolute;inset:0;background:linear-gradient(150deg,#e9e0ce,#f1e8d6 60%,#dfd2b9);clip-path:polygon(0 0,50% 51%,100% 0,100% 100%,0 100%);z-index:4;border-radius:3px}.envelope-fold{position:absolute;inset:0;z-index:5;background:linear-gradient(28deg,#ece2cf,#f4ebda);clip-path:polygon(0 0,50% 54%,0 100%)}.envelope-fold.right{transform:scaleX(-1);background:linear-gradient(28deg,#e5d9c1,#eee4d2)}.flap{position:absolute;inset:0 0 auto;height:59%;z-index:7;transform-origin:center top;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.5,0,.2,1)}.flap-face,.flap-inner{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden}.flap-face{background:linear-gradient(175deg,#f6edda,#e4d5b9);filter:drop-shadow(0 2px 2px #58482d55)}.flap-inner{transform:rotateY(180deg);background:url('assets/villa.webp') center 22%/cover}.seal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:77px;width:77px;z-index:9;border-radius:45% 48% 44% 49%;background:radial-gradient(ellipse at 35% 25%,#a9565b,var(--ink) 72%,#381119);box-shadow:0 5px 9px #3d19254d,inset 1px 2px 3px #e49d8880,inset -2px -3px 4px #391315;transition:transform .5s,opacity .5s}.seal:hover{transform:translate(-50%,-50%) scale(1.07)}.seal-edge{border:1px solid #d4907e66;border-radius:50%;display:grid;place-items:center;width:57px;height:57px;margin:auto;box-shadow:inset 0 1px 2px #21080e80,0 1px 1px #d9898070;color:#d99680;font:italic 23px var(--serif);text-shadow:0 1px #320b17}.envelope-caption{position:absolute;bottom:24px;left:0;right:0;text-align:center;font:italic 22px var(--serif);z-index:6;color:#776445}.intro-bottom{text-align:center;margin-top:32px;z-index:4}.intro-bottom p{font-size:9px;letter-spacing:.22em}.intro-bottom p span{display:inline-block;font-size:20px;margin-left:8px;animation:hint 2s infinite}.intro-bottom button{font-size:10px;color:#766957;text-decoration:underline;text-underline-offset:5px;margin-top:8px}.intro-leaf{position:absolute;color:#8f8d5e;width:240px;height:360px;opacity:.3;pointer-events:none}.intro-leaf.a{left:-45px;bottom:-50px;transform:rotate(30deg)}.intro-leaf.b{right:-35px;top:80px;transform:rotate(190deg)}.intro.opening .seal{transform:translate(-50%,-50%) rotate(24deg) scale(1.3);opacity:0;pointer-events:none}.intro.opening .flap{transform:rotateX(180deg);z-index:1}.intro.opening .envelope-stage{transform:rotate(0deg) translateY(40px)}.intro.extracting .letter{transform:translateY(-58%) translateZ(30px);z-index:8;box-shadow:0 25px 40px #44351f30}.intro.extracting .intro-heading{opacity:0;transition:opacity .5s}.intro.done{opacity:0;visibility:hidden;pointer-events:none}.site{opacity:0;transform:translateY(30px);transition:opacity 1s,transform 1.2s}.site.ready{opacity:1;transform:none}
header{height:96px;margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #632b3526}.monogram{font:italic 28px var(--serif)}nav{display:flex;align-items:center;gap:34px;font-size:10px;letter-spacing:.03em}nav button{border:1px solid #632b3550;padding:10px 20px}nav button span{margin-left:16px}.hero{position:relative;max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;padding:64px 8% 85px;gap:55px;min-height:690px}.hero-copy{padding-top:25px}.hero-copy h1{font-size:clamp(76px,8.5vw,134px);line-height:.83;position:relative;margin:36px 0 35px;letter-spacing:-.045em}.hero-copy h1>span{display:block;position:relative;z-index:1}.hero-copy h1 .amp{font:italic 75px/.7 var(--serif);opacity:.47;margin:2px 0 -7px 31%;letter-spacing:0}.hero-copy h1 .second{margin-left:13%;font-style:italic}.hero-sub{display:flex;align-items:center;gap:22px;margin:0 0 35px 3px}.hairline{width:45px;height:1px;background:var(--ink);opacity:.5}.hero-sub p{font-size:12px;line-height:1.9;color:#756b5b}.hero-date{display:flex;gap:19px;align-items:center;margin-bottom:35px}.hero-date>span{font:54px/1 var(--serif);border-right:1px solid #632b3530;padding-right:20px}.hero-date div{display:grid;gap:3px}.hero-date b{font-size:10px;letter-spacing:.22em;font-weight:500}.hero-date div span{font-size:8px;letter-spacing:.1em;color:#817461}.text-link{font-size:8px;letter-spacing:.18em;border-bottom:1px solid #632b3540;padding-bottom:10px}.text-link span{margin-left:25px;font-size:15px}.hero-art{align-self:center;position:relative;aspect-ratio:.78;max-height:540px;transform-style:preserve-3d;perspective:1000px;--rx:0deg;--ry:0deg}.arch{height:100%;width:100%;border-radius:50% 50% 2px 2px / 39% 39% 2px 2px;overflow:hidden;transform:rotateY(var(--ry)) rotateX(var(--rx));transition:transform .3s;box-shadow:0 18px 28px -20px #1c221f88}.arch img{width:100%;height:100%;object-fit:cover;object-position:49% center;transform:scale(1.025);transition:transform 2s}.arch-border{position:absolute;inset:-12px;border:1px solid var(--gold);border-radius:50% 50% 0 0 / 39% 39% 0 0;opacity:.5;pointer-events:none}.arch-caption{position:absolute;bottom:20px;left:-28px;background:var(--paper);padding:10px 22px;font:italic 23px var(--serif);transform:rotate(-7deg);box-shadow:0 5px 8px #30281215}.art-side{position:absolute;right:-37px;top:50%;font-size:8px;letter-spacing:.23em;writing-mode:vertical-rl}.art-sprig{position:absolute;width:105px;height:158px;left:-52px;top:0;transform:rotate(-32deg);color:#657353;filter:drop-shadow(2px 4px 2px #383d2411)}.art-stamp{position:absolute;right:-27px;bottom:-28px;width:103px;height:103px;background:var(--paper);border:1px solid var(--ink);border-radius:50%;outline:5px solid var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(13deg)}.art-stamp span{font-size:6px;letter-spacing:.14em}.art-stamp b{font:italic 29px var(--serif);margin:2px}.hero-bottom{position:absolute;bottom:23px;left:8%;right:8%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:7px;letter-spacing:.18em;border-top:1px solid #632b3524;padding-top:20px}.hero-bottom svg{width:14px;height:14px}.welcome{background:var(--ink);color:var(--paper);position:relative;text-align:center;padding:100px 24px 83px;overflow:hidden}.welcome::before,.welcome::after{content:'';position:absolute;border:1px solid #efe2c930;border-radius:50%;height:700px;width:440px;top:20px;pointer-events:none}.welcome::before{left:-260px}.welcome::after{right:-260px}.welcome h2{font-size:clamp(38px,5vw,64px);line-height:1.14;margin:28px 0}.welcome h2 i{color:#dbc5a5}.welcome p{max-width:450px;margin:auto;font-size:12px;line-height:2;color:#e1d0bd}.welcome-sprig{width:48px;height:74px;margin:27px auto 12px;color:#dec6a3}.signature{font:italic 23px var(--serif)}.day{padding:95px 8%;max-width:1440px;margin:auto}.section-heading{text-align:center}.section-heading h2,.practical h2{font-size:clamp(42px,5vw,65px);margin:20px 0 15px}.section-heading p{font-size:12px;color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px}.timeline article{text-align:center;padding:10px 25px;border-right:1px solid #632b3528}.timeline article:last-child{border:0}.time{font:italic 26px var(--serif)}.line-art{width:80px;height:90px;margin:18px auto}.timeline h3{font-size:34px;margin:12px 0}.timeline p{font-size:12px;color:var(--muted);line-height:1.9}.event-note{display:block;margin-top:20px;font-size:8px;letter-spacing:.2em}.practical{background:#eae3d3;padding:80px 10%;display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.practical-title svg{width:60px;height:90px;transform:rotate(-25deg);margin:30px 0;color:#727a55}.accordions details{border-bottom:1px solid #632b3530;padding:22px 0}.accordions details:first-child{padding-top:0}.accordions summary{list-style:none;display:flex;align-items:center;font:25px var(--serif);cursor:pointer}.accordions summary::-webkit-details-marker{display:none}.accordions summary span{font:9px var(--sans);color:#8f7f65;margin-right:20px}.accordions summary b{font:20px var(--serif);margin-left:auto;transition:transform .3s}.accordions details[open] summary b{transform:rotate(45deg)}.accordions p{margin:18px 20px 10px 34px;font-size:12px;line-height:1.9;color:#726958}.accordions small{font-size:10px;display:block;margin-left:34px;color:#847966}.rsvp-section{padding:60px 9%;text-align:center}.rsvp-border{border:1px solid #ad8c5665;padding:45px 24px 35px;position:relative}.rsvp-border::before{content:'';position:absolute;inset:6px;border:1px solid #ad8c5633;pointer-events:none}.rsvp-border>svg{width:23px;height:23px;margin:0 auto 20px;color:var(--gold)}.rsvp-border h2{font-size:clamp(58px,7vw,92px);margin:25px 0;line-height:.95}.rsvp-border p{font-size:12px;color:var(--muted);margin-bottom:25px}.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 27px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.13em;transition:transform .2s,filter .2s}.solid-button:hover{transform:translateY(-2px);filter:brightness(1.12)}.solid-button span{font-size:17px}.calendar{display:block;margin:20px auto 28px;font-size:10px;border-bottom:1px solid #632b3530}.countdown{display:flex;justify-content:center;gap:35px}.countdown span{font:30px var(--serif);min-width:40px}.countdown small{display:block;font:7px var(--sans);letter-spacing:.13em;margin-top:4px}footer{display:flex;align-items:center;justify-content:space-between;margin:0 8%;padding:25px 0 75px;border-top:1px solid #632b3530}footer>span{font:italic 30px var(--serif)}footer p{font-size:8px;letter-spacing:.2em}footer button{font-size:10px;text-decoration:underline;text-underline-offset:5px}.studio-tools{position:fixed;bottom:16px;right:20px;z-index:70;display:flex;align-items:center;background:var(--paper);border:1px solid #9b845650;box-shadow:0 6px 25px #342e2520;border-radius:3px}.studio-tools>span{font-size:7px;letter-spacing:.15em;padding:0 14px;opacity:.65}.studio-tools button{background:var(--ink);color:var(--paper);padding:11px 17px;font-size:11px}.studio-tools button span{margin-left:10px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:none}.timeline article:nth-child(2){transition-delay:.12s}.timeline article:nth-child(3){transition-delay:.24s}dialog{border:1px solid var(--gold);padding:30px;background:var(--paper);color:var(--ink);width:min(470px,calc(100vw - 28px));max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#241c1ab0;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{font:30px var(--serif);padding:0 5px}dialog h2{font-size:52px;margin:18px 0}dialog p{font-size:12px;color:var(--muted);margin-bottom:20px}dialog label{display:block;font-size:11px;margin-top:14px}dialog input:not([type=radio]),dialog select,dialog textarea{display:block;width:100%;margin-top:5px;padding:10px 12px;background:#fffaf1;border:1px solid #ac97725c;color:var(--ink);border-radius:0}dialog .solid-button{width:100%;margin-top:23px}dialog fieldset{border:0;padding:0;display:flex;gap:15px;margin-top:19px}dialog legend{font-size:11px}.swatch{display:flex!important;align-items:center;gap:5px;cursor:pointer}.swatch input{accent-color:var(--ink)}.reset{display:block;margin:18px auto 0;font-size:10px;text-decoration:underline}.demo-note{background:#e7dfce;padding:10px;font-size:10px!important}#rsvpResult{margin:15px 0 0;color:var(--ink)}@keyframes hint{50%{transform:translate(3px,-3px)}}
@media(min-width:1500px){.intro-heading{padding-top:55px}.envelope-stage{margin-top:70px}.intro-bottom{margin-top:50px}}
@media(max-height:760px) and (min-width:701px){.intro-top{padding-top:35px}.intro-heading{padding-top:18px}.intro-heading h1{font-size:40px}.envelope-stage{width:480px;height:285px;margin-top:35px}.intro-bottom{margin-top:24px}.letter-names{font-size:36px}.letter svg{height:35px;width:24px}}
@media(max-width:700px){.intro::before{inset:13px}.intro-top{padding:32px 30px 0;font-size:7px;letter-spacing:.12em}.intro-heading{padding:12vh 20px 0}.intro-heading .eyebrow{font-size:7px;letter-spacing:.14em}.intro-heading h1{font-size:37px;margin-top:17px}.envelope-stage{width:84vw;height:52vw;margin-top:48px}.seal{width:63px;height:63px}.seal-edge{width:47px;height:47px;font-size:19px}.envelope-caption{font-size:17px;bottom:17px}.intro-bottom{margin-top:32px}.intro-bottom p{font-size:8px}.intro-leaf{width:160px}.intro-leaf.b{top:140px;right:-70px}.intro-leaf.a{left:-65px;bottom:0}.letter{inset:8px 13px}.letter-rule{inset:8px;padding:8px}.letter .eyebrow{font-size:6px}.letter-names{font-size:29px;margin:5px 0}.letter-names i{font-size:18px}.letter-date{font-size:6px}.letter svg{height:28px;width:20px;bottom:4px}.intro.extracting .letter{transform:translateY(-62%) translateZ(20px)}header{height:75px;margin:0 6%}nav{gap:17px;font-size:9px}nav a:first-child{display:none}nav button{padding:8px 12px}.monogram{font-size:25px}.hero{padding:34px 8% 77px;gap:23px;grid-template-columns:1fr;min-height:0}.hero-copy{text-align:center;padding-top:0}.hero-copy .eyebrow{font-size:8px}.hero-copy h1{font-size:77px;margin:20px 0 24px;line-height:.88}.hero-copy h1 .amp{font-size:47px;margin:3px 0 -3px;line-height:.55}.hero-copy h1 .second{margin-left:0}.hero-sub{justify-content:center;margin:0 0 23px;gap:12px}.hero-sub p{font-size:10px}.hairline{width:22px}.hero-date{justify-content:center;margin-bottom:15px}.hero-date>span{font-size:39px}.hero-date div{text-align:left}.hero-date b{font-size:9px}.hero-date div span{font-size:7px}.text-link{display:none}.hero-art{width:82%;max-width:360px;justify-self:center;aspect-ratio:.92;margin:14px 0 21px}.art-sprig{width:70px;left:-33px;top:-5px;height:110px}.arch-border{inset:-8px}.art-side{right:-26px;font-size:6px}.arch-caption{font-size:20px;left:-16px;bottom:15px;padding:6px 12px}.art-stamp{width:76px;height:76px;right:-17px;bottom:-19px}.art-stamp b{font-size:21px}.art-stamp span{font-size:5px}.hero-bottom{font-size:5.5px;gap:8px;letter-spacing:.09em;bottom:22px}.hero-bottom svg{width:12px;flex-shrink:0}.welcome{padding:66px 28px}.welcome .eyebrow{font-size:8px}.welcome h2{font-size:38px}.welcome p{font-size:11px}.day{padding:64px 8%}.section-heading .eyebrow{font-size:8px}.section-heading h2{font-size:43px}.timeline{grid-template-columns:1fr;margin-top:32px}.timeline article{border-right:0;border-bottom:1px solid #632b3528;padding:26px 0;display:grid;grid-template-columns:75px 1fr;text-align:left;column-gap:22px}.time{grid-column:2;font-size:23px}.line-art{grid-column:1;grid-row:1/5;margin:auto;width:70px}.timeline h3{grid-column:2;margin:8px 0;font-size:32px}.timeline p{grid-column:2;font-size:11px}.event-note{grid-column:2;margin-top:13px;font-size:7px}.practical{padding:55px 8%;grid-template-columns:1fr;gap:20px}.practical-title{position:relative}.practical-title h2{font-size:45px}.practical-title svg{position:absolute;right:15px;top:20px;width:45px}.accordions summary{font-size:23px}.rsvp-section{padding:40px 6%}.rsvp-border{padding:35px 17px}.rsvp-border h2{font-size:62px}.rsvp-border .eyebrow{font-size:8px}.countdown{gap:20px}footer{margin:0 6%;gap:12px;flex-wrap:wrap}footer p{font-size:6px}footer button{font-size:8px}.studio-tools{right:12px;bottom:12px}.studio-tools>span{font-size:6px;padding:0 10px}.studio-tools button{font-size:10px;padding:10px 13px}}
@media(max-height:680px) and (max-width:700px){.intro-heading{padding-top:7vh}.envelope-stage{margin-top:30px}.intro-bottom{margin-top:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.arch{transform:none}}
/* Articulated paper garden doors; independent from the envelope opening. */
.arch{position:relative;perspective:950px}
.gates{position:absolute;inset:0;perspective:950px;transform-style:preserve-3d;pointer-events:none}
.gate{position:absolute;top:0;bottom:0;width:50.1%;background:repeating-linear-gradient(90deg,transparent 0 18px,#f7ead70b 18px 21px),var(--ink);backface-visibility:hidden;transition:transform 2.3s cubic-bezier(.3,.05,.12,1),filter 2.3s;box-shadow:inset 0 0 45px #170d1426;transform-style:preserve-3d}
.gate-left{left:0;transform-origin:left center;border-right:1px solid #d6bf8d70}
.gate-right{right:0;transform-origin:right center;border-left:1px solid #d6bf8d70}
.gate-ornament{position:absolute;inset:18px;border:1px solid #d6bf8d80;border-radius:120px 120px 0 0;display:grid;place-items:center}
.gate-ornament::after{content:'';position:absolute;inset:7px;border:1px solid #d6bf8d40;border-radius:120px 120px 0 0}
.gate-ornament svg{width:70%;height:50%;color:#d6bf8d}
.gate-right svg{transform:scaleX(-1)}
.unveiled .gate-left{transform:rotateY(-112deg);filter:brightness(.6)}
.unveiled .gate-right{transform:rotateY(112deg);filter:brightness(.6)}
.hero-art:not(.unveiled) .arch img{transform:scale(1.16)}
.reveal-again{position:absolute;bottom:-42px;left:0;font-size:7px;letter-spacing:.13em;border-bottom:1px solid #632b3530;padding:2px 0}
@media(max-width:700px){.reveal-again{bottom:-40px;font-size:6px}.hero-art{margin-bottom:32px}}

@media(prefers-reduced-motion:reduce){.gate{transition:none!important}}

@media(prefers-reduced-motion:reduce){.gate{transition:none!important}}
/* Multilingual invitation and local studio */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.experience-controls{position:fixed;z-index:72;bottom:16px;left:20px;display:flex;background:var(--paper);border:1px solid #9b845650;border-radius:3px;box-shadow:0 6px 25px #342e2520}.experience-controls select{border:0;background:none;color:var(--ink);padding:11px 8px;font:10px var(--sans);cursor:pointer}.experience-controls button{font:11px var(--sans);padding:10px 12px;border-left:1px solid #9b845640;max-width:220px}.experience-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.our-story{max-width:1180px;margin:auto;padding:85px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story-pictures{position:relative;padding:10px 25px 25px 0}.photo-frame{background:#fffbf1;padding:12px 12px 38px;box-shadow:0 10px 28px #56452a22;aspect-ratio:.87;transform:rotate(-5deg);position:relative;border:1px solid #d9cdb3}.photo-frame img{width:100%;height:100%;object-fit:cover}.photo-frame.secondary{position:absolute;right:-10px;bottom:-5px;width:48%;transform:rotate(9deg);padding:8px 8px 24px}.photo-frame:not(.has-photo)::before{content:'';position:absolute;inset:14px 14px 40px;border:1px solid #ad8c5677;background:repeating-linear-gradient(45deg,#ad8c5605 0 5px,transparent 5px 10px)}.photo-empty{position:absolute;inset:0;display:grid;place-items:center;font:italic 55px var(--serif);opacity:.55}.has-photo .photo-empty{display:none}.story-copy h2{font-size:clamp(42px,5vw,64px);margin:22px 0}.story-copy p{font-size:12px;line-height:2;color:var(--muted);white-space:pre-line}.story-copy .signature{display:block;margin-top:22px}.welcome p,.hero-sub p,.accordions p{white-space:pre-line}.studio-dialog{width:min(680px,calc(100vw - 24px))}.studio-dialog details{padding:15px 0;border-bottom:1px solid #ad8c5645}.studio-dialog summary{cursor:pointer;font:25px var(--serif)}.studio-dialog details p{margin:12px 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-actions{display:grid;gap:14px}.editor-actions button:not(.solid-button),.editor-actions>a,.import-label{font:12px var(--sans);text-align:center;border:1px solid #ad8c5650;padding:10px;cursor:pointer}.import-label input{font-size:11px!important}#photoPreviews{display:flex;gap:12px;margin-top:15px}#photoPreviews img{width:90px;height:90px;object-fit:cover}.consent{display:flex;gap:10px;align-items:flex-start}.consent input{width:auto!important;margin-top:4px!important;accent-color:var(--ink)}.consent span{flex:1}#studioStatus{white-space:pre-line;color:var(--ink);margin-top:14px}#mapLink{display:inline-block;margin-left:34px;margin-top:10px}#rsvpForm button:disabled{opacity:.6;cursor:wait}#studioForm input[type=range]{padding:0;background:none;accent-color:var(--ink)}footer{padding-bottom:110px}
@media(max-width:700px){.experience-controls{bottom:12px;left:12px}.experience-controls button{font-size:9px;max-width:135px;padding:10px 8px}.experience-controls select{font-size:9px;padding:10px 5px}.studio-tools>span{display:none}.studio-tools button{padding:10px}.our-story{grid-template-columns:1fr;padding:55px 11%;gap:30px}.story-pictures{max-width:270px;width:100%;margin:auto}.story-copy{text-align:center}.story-copy h2{font-size:44px}.studio-dialog h2{font-size:43px}.studio-dialog{padding:22px}.field-grid{gap:10px}.eyebrow{overflow-wrap:anywhere}.hero-date div{max-width:230px}.hero-date div span{overflow-wrap:anywhere}.intro-heading h1{font-size:34px}.intro-heading .eyebrow{max-width:280px;display:block;margin:auto}}

[hidden]{display:none!important}
