@font-face{font-family:Palatino;src:url('assets/serif.otf')}@font-face{font-family:Palatino;src:url('assets/italic.otf');font-style:italic}@font-face{font-family:Nimbus;src:url('assets/sans.otf')}@font-face{font-family:Chancery;src:url('assets/script.otf')}
:root{--ivory:#f6f2ea;--paper:#fbf8f1;--ink:#554f43;--muted:#797060;--gold:#a99a75;--line:#d8ceba;--sage:#b9c1ad;--pink:#e8cfc9;--blue:#c1ced5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:74px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Palatino,Georgia,serif;font-size:17px;line-height:1.6}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;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='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.045' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.45}a{color:inherit}button{color:inherit;font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #7e8c77;outline-offset:7px}button:disabled{cursor:wait}p{margin:0 0 18px}h1,h2,h3{font-weight:400;line-height:1.1;margin:0}em{font-weight:400}.eyebrow{font-family:Nimbus,Arial,sans-serif;font-size:10px;letter-spacing:2.4px;line-height:1.6}.script{font-family:Chancery,Palatino,cursive;font-size:31px;font-weight:400;line-height:1.3}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.text-link{display:inline-flex;gap:19px;align-items:center;border:0;border-bottom:1px solid #b7aa91;background:none;text-decoration:none;padding:8px 0;font-size:13px;line-height:1.4}.text-link:hover{color:#82704b;border-color:currentColor}.text-link span{font-family:Arial,sans-serif}.gate{position:fixed;z-index:50;inset:0;background:radial-gradient(ellipse at 36% 20%,#fffdf7 0%,#f0eadf 65%,#e7ded0 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;transition:opacity .7s ease,visibility .7s;isolation:isolate}.gate:before{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 28%,#c8baa715 29%,transparent 35%,#fff8 40%,transparent 47%,#c8baa719 48%,transparent 57%);transform:rotate(-10deg);z-index:-1}.gate-top{position:absolute;top:9%;color:#80755f}.envelope-scene{position:relative;width:min(600px,83vw);height:340px;perspective:1300px;margin-top:35px}.envelope{position:absolute;inset:0;background:#e8dfce;filter:drop-shadow(6px 22px 22px #6b57332a);transform:rotate(-4deg);transition:transform 1.3s ease .25s}.letter-peek{position:absolute;inset:20px 22px;background:var(--paper);display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column;transition:transform 1.2s .4s}.letter-peek .script{font-size:50px}.env-pocket,.env-left,.env-right,.env-bottom,.env-flap{position:absolute;inset:0}.env-pocket{background:#eee5d5}.env-left{clip-path:polygon(0 0,53% 53%,0 100%);background:linear-gradient(110deg,#f4eee1,#e6dcc8)}.env-right{clip-path:polygon(100% 0,47% 53%,100% 100%);background:linear-gradient(260deg,#f3eddf,#e1d5bf)}.env-bottom{clip-path:polygon(0 100%,50% 44%,100% 100%);background:linear-gradient(15deg,#e9dfcc,#f5edde);filter:drop-shadow(0 -2px 1px #a9997133)}.env-flap{clip-path:polygon(0 0,100% 0,50% 57%);background:linear-gradient(175deg,#fcf6e9,#e7dcc6);transform-origin:top;transition:transform 1s ease .15s,filter 1s;filter:drop-shadow(0 3px 2px #98866355);z-index:3;backface-visibility:hidden}.seal{position:absolute;z-index:5;left:50%;top:54%;transform:translate(-50%,-50%) rotate(5deg);height:92px;width:96px;border-radius:47% 51% 44% 50% / 49% 46% 53% 48%;border:1px solid #ae9b67;background:radial-gradient(ellipse at 35% 25%,#dfc68e,#baa16c 54%,#d6be87 70%,#9b8354 100%);box-shadow:2px 6px 7px #6b57334d,inset 1px 2px 2px #fbebbb,inset -2px -2px 4px #7e683f;transition:transform .4s,opacity .4s}.seal:hover{transform:translate(-50%,-50%) rotate(0deg) scale(1.04)}.seal-ring{display:flex;align-items:center;justify-content:center;width:74px;height:74px;border:1px solid #96804d;border-radius:50%;margin:auto;box-shadow:inset 1px 1px 2px #fbe4a1,1px 1px 2px #efd49d;color:#826c40;text-shadow:0 1px #ead49f;font-size:23px;position:relative}.seal-ring>svg{position:absolute;width:24px;height:40px;left:3px;bottom:6px;opacity:.75;transform:rotate(-25deg)}.seal-amp{font-style:italic;font-size:17px;margin:0 2px}.envelope-sprig{position:absolute;width:110px;height:190px;right:5px;top:-115px;color:#91987b;transform:rotate(30deg);filter:drop-shadow(3px 4px 2px #a4987a33)}.gate-bottom{margin-top:48px;text-align:center}.gate-bottom .script{font-size:40px;margin-bottom:9px}.gate-bottom .eyebrow{font-size:9px;color:#8a7c62}.skip{position:absolute;bottom:23px;font-size:12px;color:#827761;border-color:#c8bca5}.gate.opening .seal{transform:translate(-50%,-50%) scale(1.12) rotate(12deg);opacity:0;pointer-events:none}.gate.opening .env-flap{transform:rotateX(-170deg);filter:none}.gate.opening .envelope{transform:translateY(100px) rotate(0deg)}.gate.opening .letter-peek{transform:translateY(-140px)}.gate.opening .env-pocket{opacity:0;transition:opacity .2s .7s}.gate.gone{opacity:0;visibility:hidden;pointer-events:none}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;max-width:1260px;margin:auto;padding:0 56px;border-bottom:1px solid #ddd4c66b}.monogram{font-size:26px;letter-spacing:-2px;text-decoration:none;white-space:nowrap}.monogram span{font-style:italic;font-size:21px;margin:0 3px;color:#9d8c6b}.topbar nav{display:flex;gap:34px;font-family:Nimbus,Arial,sans-serif;font-size:11px;letter-spacing:1px}.topbar nav a{text-decoration:none;padding:8px 0}.topbar nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero{max-width:1260px;margin:auto;min-height:800px;padding:64px 80px 85px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;position:relative}.hero-copy{text-align:center;padding-bottom:40px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:24px}h1{font-size:100px;letter-spacing:-5px}h1 em{display:block;font-size:64px;line-height:1;letter-spacing:-1px;margin:-3px 0 2px;color:#a1906d}.hero-invite{font-size:20px;line-height:1.55;margin-top:30px}.date-line{display:flex;flex-direction:column;gap:4px;margin:30px auto;color:#7a705b}.date-line>span:not(.date){font-family:Nimbus,sans-serif;font-size:9px;letter-spacing:2.3px}.date-line .date{font-size:25px;color:var(--ink);word-spacing:4px}.quiet-button{font-size:12px;text-decoration:none;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #c3b69b;padding:10px 0}.photo-area{position:relative;text-align:center;padding-top:26px}.photo-note{position:absolute;top:-15px;right:6px;transform:rotate(7deg);font-size:29px;color:#97876c;z-index:3}.booth{width:350px;height:604px;margin:auto;position:relative;background:linear-gradient(120deg,#f7f0e1,#ede4d3 45%,#f8f2e5 75%,#e7dcc7);border:1px solid #d6cab3;border-radius:160px 160px 13px 13px;box-shadow:6px 15px 28px #6b573319,inset 0 0 0 5px #f3ead8,inset 0 0 0 6px #d1c3a9,inset 0 0 0 10px #f6eedf;isolation:isolate}.booth:before{content:"";position:absolute;inset:14px;border:1px solid #cbbd9e;border-radius:145px 145px 5px 5px}.booth-inset{position:absolute;inset:22px;background:linear-gradient(110deg,#efe6d4,#f7f1e5 50%,#e9deca);border-radius:140px 140px 0 0;border:1px solid #dfd4be;box-shadow:inset 2px 3px 12px #85734812}.booth-flower{position:absolute;width:50px;height:50px;top:20px;left:calc(50% - 25px);color:#b09e76}.booth-label{position:absolute;left:0;right:0;top:89px;font-size:7px;letter-spacing:1.4px;color:#8c7c5c}.slot{position:absolute;top:125px;height:9px;left:60px;right:60px;border-radius:10px;background:#574c39;border:2px solid #d8c9ab;box-shadow:0 2px 0 #fff9,inset 0 2px 3px #0008;z-index:4}.print-window{position:absolute;top:130px;left:calc(50% - 112px);width:224px;height:450px;overflow:hidden;z-index:2;padding:0 15px 15px}.photo-strip{margin:0 auto;width:190px;background:#fffcf5;padding:11px 10px 12px;box-shadow:3px 5px 8px #46381b29;transform:translateY(-105%);transform-origin:50% 0;will-change:transform}.photo-strip.printing{animation:print 4.4s cubic-bezier(.24,.6,.36,1) both}.photo-strip.printed{transform:translateY(0) rotate(-2deg)}@keyframes print{0%{transform:translateY(-105%) rotate(0)}24%{transform:translateY(-72%) rotate(0)}29%{transform:translateY(-72%) rotate(0)}53%{transform:translateY(-39%) rotate(0)}58%{transform:translateY(-39%) rotate(0)}83%{transform:translateY(0) rotate(0)}100%{transform:translateY(0) rotate(-2deg)}}.photo-frame{height:111px;width:170px;margin-bottom:7px;background:#e5ddd0;overflow:hidden}.photo-frame img{display:block;width:100%;height:100%;object-fit:cover}.photo-frame .laugh{object-position:50% 20%}.photo-frame .holiday{object-position:56% 45%}.photo-frame .standing{object-position:50% 36%}.photo-strip figcaption{line-height:1.25;text-align:center;padding-top:1px}.photo-strip figcaption .script{display:block;font-size:26px;margin:0 0 3px}.photo-strip figcaption>span:last-child{font-family:Nimbus,sans-serif;font-size:6px;letter-spacing:1.3px;display:block}.booth-sprig{position:absolute;bottom:3px;right:-41px;width:100px;height:175px;color:#9eaa8b;transform:rotate(20deg);z-index:3;pointer-events:none}.booth-footer{position:absolute;bottom:21px;left:0;right:0;font-family:Nimbus,sans-serif;letter-spacing:2px;font-size:6px;color:#9e8a64}.reprint{font-size:11px;color:#897d65;margin:14px 0 0;gap:14px;border-color:#d4c8b4}.scroll-cue{position:absolute;bottom:12px;left:0;right:0;text-align:center;text-decoration:none;font-size:8px;color:#8e826c;letter-spacing:1.7px}.scroll-cue span{display:block;font-size:17px;margin-top:7px}.section-pad{padding:100px 30px}.section-heading{text-align:center;max-width:600px;margin:0 auto 52px}.section-heading h2{font-size:51px;line-height:1.15;margin-bottom:24px}.section-heading h2 em{color:#928468}.section-heading>p:last-child{font-size:17px;color:#837760}.day-section{background:linear-gradient(#f0eadd66,#f7f3ec);text-align:center;border-top:1px solid #ded5c570}.day-cards{display:flex;align-items:stretch;justify-content:center;gap:48px;max-width:900px;margin:auto}.paper-card{width:355px;background:var(--paper);padding:13px;position:relative;box-shadow:4px 12px 22px #62533b0c}.ceremony{transform:rotate(-2deg)}.reception{transform:rotate(2deg)}.card-border{height:100%;border:1px solid #d9ceba;padding:38px 22px 36px}.card-number{font-size:10px;color:#a69779;font-family:Nimbus,sans-serif;letter-spacing:2px;position:absolute;top:25px;left:28px}.paper-card svg{height:100px;width:165px;display:block;margin:0 auto 14px;color:#a39477}.paper-card .glasses{width:130px}.paper-card .eyebrow{font-size:8px;margin-bottom:12px}.paper-card h3{font-size:35px;margin-bottom:16px;font-style:italic}.paper-card p{font-size:15px;line-height:1.6;margin-bottom:0}.paper-card .venue{font-size:19px}.time-details{margin:23px 0 20px}.time-details strong{font-weight:400;color:#5c5141}.paper-card .text-link{font-size:11px;margin-top:8px}.calendar-link{margin-top:48px;font-size:12px}.dress-section{background:#eceee6;text-align:center;position:relative;border-top:1px solid #d9dfce;border-bottom:1px solid #d9dfce}.dress-inner{position:relative;max-width:780px;margin:auto}.dress-section h2{font-size:65px}.dress-flower{width:55px;height:55px;color:#9ca889;display:block;margin:0 auto 22px}.dress-section .eyebrow{color:#7b866e;font-size:9px}.colour-dots{display:flex;gap:9px;justify-content:center;margin:25px 0}.colour-dots i{height:10px;width:10px;border-radius:50%;background:#d8b5ad}.colour-dots i:nth-child(2){background:#b5c6cd}.colour-dots i:nth-child(3){background:#a4b299}.dress-copy{font-size:24px;line-height:1.6;margin-bottom:20px}.dress-copy em{color:#69715c}.dress-footnote{font-size:13px;color:#7a826e;font-style:italic;margin:0}.rsvp-section{padding:110px 25px 90px;background:radial-gradient(ellipse at center,#fbf8f0,#f0eadd)}.rsvp-stationery{position:relative;max-width:650px;padding:72px 38px 50px;margin:auto;text-align:center;background:#fcf9f2;outline:1px solid #cdbf9f;outline-offset:-13px;box-shadow:3px 12px 25px #78634013}.rsvp-stationery:after{content:"";position:absolute;inset:19px;border:1px solid #e0d5c0;pointer-events:none}.rsvp-sprig{height:110px;width:75px;margin-bottom:20px;color:#a5ad94;transform:rotate(-9deg)}.rsvp-stationery .eyebrow{font-size:8px}.rsvp-section h2{font-size:65px;margin:0 0 24px}.rsvp-stationery>p:not(.eyebrow){font-size:16px}.rsvp-stationery .rsvp-date{font-size:14px!important;color:#8e8168;margin-bottom:28px}.rsvp-date strong{font-weight:400;color:#695a41}.rsvp-button{display:inline-flex;gap:40px;align-items:center;justify-content:center;text-decoration:none;padding:15px 28px;background:#6d745f;color:#fffaf0;border:1px solid #6d745f;font-size:15px;position:relative;z-index:1;transition:background .2s}.rsvp-button:hover{background:#565e49}.rsvp-button span{font-family:Arial,sans-serif}.rsvp-note{font-size:11px!important;color:#938773;margin-top:12px;scroll-margin-top:120px}.rsvp-note:target{color:#5e684f}.rsvp-signature{display:block;font-size:37px;margin-top:38px;color:#8a7b5e}footer{text-align:center;padding:28px 20px 35px;background:#f0eadd}footer .monogram{font-size:35px}footer .eyebrow{font-size:8px;letter-spacing:1.8px;margin:13px 0}footer .text-link{font-size:10px;color:#92846c;border-color:#c5b89e}.footer-love{font-size:12px;color:#9a8c74;font-style:italic;margin:24px 0 0}.js .reveal{opacity:0;translate:0 24px;transition:opacity .8s,translate .8s}.js .reveal.visible{opacity:1;translate:0 0}
@media(min-width:1450px){.hero{min-height:850px;padding-top:80px;padding-bottom:110px}.photo-area{transform:scale(1.07)}}
@media(max-width:850px){.topbar{padding:0 28px;height:74px}.hero{padding:60px 30px 90px;gap:15px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:78px}.booth{width:300px}.booth:before{border-radius:130px 130px 5px 5px}.slot{left:36px;right:36px}.photo-note{right:0;font-size:26px}.booth-sprig{width:75px;right:-22px}.day-cards{gap:25px}.section-pad{padding:80px 25px}.section-heading h2{font-size:46px}}
@media(max-width:620px){body{font-size:16px}.topbar{padding:0 23px;height:65px}.topbar nav{gap:21px;font-size:9px;letter-spacing:.4px}.monogram{font-size:23px}.hero{display:flex;flex-direction:column;padding:38px 24px 77px;gap:20px}.hero-copy{padding:0;width:100%}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:18px}h1{font-size:65px;letter-spacing:-2.7px;white-space:nowrap}h1 em{display:inline;font-size:44px;margin:0 3px}.hero-invite{font-size:17px;margin:17px 0 16px}.date-line{margin:15px auto 0;gap:0}.date-line>span:not(.date){font-size:7px;letter-spacing:1.6px}.date-line .date{font-size:23px}.hero-copy .quiet-button{display:none}.photo-area{padding-top:27px;width:100%;max-width:380px}.photo-note{top:-1px;right:0;font-size:25px}.booth{width:282px;height:562px;border-radius:140px 140px 10px 10px}.booth:before{inset:13px;border-radius:128px 128px 4px 4px}.booth-inset{inset:21px;border-radius:120px 120px 0 0}.booth-label{top:78px;font-size:6px;letter-spacing:1.2px}.booth-flower{top:17px;width:45px;height:45px;left:calc(50% - 22px)}.slot{top:108px;left:27px;right:27px}.print-window{top:113px}.booth-footer{bottom:17px;font-size:5px}.booth-sprig{height:150px;width:74px;right:-21px;bottom:-7px}.reprint{font-size:10px;margin-top:9px;padding-bottom:5px}.scroll-cue{font-size:6px;bottom:10px}.scroll-cue span{margin-top:3px}.section-pad{padding:68px 23px}.section-heading{margin-bottom:34px}.section-heading h2{font-size:37px;margin-bottom:20px}.section-heading>.eyebrow{font-size:8px}.section-heading>p:last-child{font-size:16px}.day-cards{flex-direction:column;align-items:center;gap:28px}.paper-card{width:min(330px,94%)}.card-border{padding:31px 20px}.paper-card h3{font-size:34px}.paper-card svg{height:90px}.calendar-link{font-size:11px;margin-top:33px}.dress-section h2{font-size:43px}.dress-section .eyebrow{font-size:7px;letter-spacing:1.6px}.dress-copy{font-size:20px}.dress-copy br{display:none}.dress-copy em{display:block}.dress-flower{width:45px;height:45px}.rsvp-section{padding:65px 20px}.rsvp-stationery{padding:48px 28px 38px}.rsvp-sprig{height:88px;margin-bottom:17px}.rsvp-stationery .eyebrow{font-size:7px;letter-spacing:1.4px}.rsvp-section h2{font-size:49px;margin-bottom:20px}.rsvp-stationery>p:not(.eyebrow){font-size:15px}.rsvp-stationery .rsvp-date{font-size:12px!important}.rsvp-button{font-size:14px;padding:13px 22px;gap:26px}.rsvp-signature{font-size:33px;margin-top:29px}.envelope-scene{height:235px;width:86vw;max-width:410px}.seal{width:77px;height:76px}.seal-ring{width:60px;height:60px;font-size:20px}.seal-ring>svg{height:30px;width:20px;left:0}.seal-amp{font-size:14px}.envelope-sprig{height:130px;width:85px;top:-80px}.gate-top{font-size:8px;top:12%;letter-spacing:2px}.gate-bottom{margin-top:43px}.gate-bottom .script{font-size:35px}.gate-bottom .eyebrow{font-size:8px}.letter-peek .script{font-size:39px}.gate.opening .letter-peek{transform:translateY(-90px)}}
@media(max-width:360px){h1{font-size:58px}.hero{padding-left:15px;padding-right:15px}.booth{width:270px}.booth-sprig{right:-10px}.topbar nav{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-delay:0ms!important;transition-delay:0ms!important}.photo-strip.printing{transform:translateY(0) rotate(-2deg)}.js .reveal{opacity:1;translate:none}}

/* Second edition: calligraphy, handmade paper and a photographic floral flatlay. */
@font-face{font-family:Pinyon;src:url('assets/pinyon.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant-medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--ink:#62523f;--muted:#8b785e;--paper:#fcf8ee;--gold:#ac8d52;--line:#d5c4a4}
body{background:#e9dfca;font-family:Cormorant,Georgia,serif;font-size:19px}
body:before{content:"";position:fixed;inset:0;z-index:-1;background:#eee5d6 url('assets/ivory-flatlay-v2.webp') center center / cover no-repeat;pointer-events:none}
body:after{opacity:.3}
.script{font-family:Pinyon,cursive;font-size:35px;line-height:1.4}
.gate{background:#f0e7d6 url('assets/ivory-flatlay-v2.webp') center / cover no-repeat}
.gate:before{inset:0;transform:none;background:radial-gradient(ellipse at center,#fffaf01f 0%,#f7f0e433 42%,transparent 72%)}
.gate-top{color:#716047;background:#fbf7edab;padding:8px 18px;font-size:9px;letter-spacing:2.6px}
.gate-bottom{padding:10px 26px 12px;background:#faf5e9c9;box-shadow:0 0 45px 25px #faf5e938;border-radius:50%;margin-top:32px}
.gate-bottom .script{font-size:46px;color:#69563d;line-height:1.2;margin-bottom:16px}
.gate-bottom .eyebrow{color:#75644c}
.skip{background:#faf5e9e0;padding:8px 13px;color:#66553e;border-color:#b49a6b}
.envelope-scene{width:min(560px,80vw);height:330px}
.envelope{filter:drop-shadow(7px 20px 13px #5d451e40)}
.letter-peek .script{font-size:61px}
#invitation{max-width:1140px;width:calc(100% - 160px);margin:50px auto;box-shadow:0 20px 70px #4d381b28;position:relative;isolation:isolate}
#invitation:before{content:"";position:absolute;inset:-7px -5px -6px;background:#f9f3e7;z-index:-1;clip-path:polygon(0 0,22% .1%,40% 0,70% .1%,100% 0,99.9% 20%,100% 40%,99.8% 60%,100% 80%,100% 100%,80% 99.9%,50% 100%,20% 99.9%,0 100%,.2% 75%,0 50%,.2% 25%);box-shadow:0 0 2px #9f8a5f}
.topbar{background:#fcf8eff5;padding:0 40px;height:80px;border-bottom:1px solid #cdbb962e}
.topbar nav{font-size:10px;letter-spacing:1px;color:#7e6b4e}
.monogram{font-family:Pinyon,cursive;letter-spacing:0;font-size:32px}
.monogram span{font-family:Cormorant,serif;font-size:21px;margin:0 2px}
.hero{background:#fcf8eff2;padding:54px 50px 85px;min-height:790px;gap:20px}
.hero:after{content:"";position:absolute;inset:16px;border:1px solid #ccb99255;pointer-events:none}
h1{font-family:Pinyon,cursive;font-size:118px;letter-spacing:0;line-height:1.13;color:#6c573d}
h1 em{font-family:Pinyon,cursive;font-style:normal;font-size:61px;line-height:.75;margin:9px 0 5px;color:#aa8b53}
.hero-copy{padding-bottom:15px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:16px}
.hero-invite{font-size:23px;line-height:1.5;margin-top:25px}
.date-line .date{font-family:Cormorant,serif;font-size:29px;word-spacing:3px}.date-line{margin-top:22px}
.quiet-button{font-size:15px;gap:24px}.photo-note{font-size:35px;right:0;top:-22px;color:#9a7d4f}
.booth{width:320px;background:linear-gradient(120deg,#fbf4e6,#ece0c7 45%,#faf3e3 75%,#e2d1b1);border-color:#c5ad7d;box-shadow:5px 15px 22px #6b573325,inset 0 0 0 5px #f6ebd8,inset 0 0 0 6px #ccb78e,inset 0 0 0 10px #f5ead5}
.booth:before{border-color:#c6ac78}.booth-inset{background:linear-gradient(110deg,#efe2c9,#fcf5e9 60%,#e9d9bb);border-color:#deca9f}
.booth-flower,.booth-label{color:#a08a5c}.slot{left:45px;right:45px}.booth-sprig{opacity:.65;color:#99a081}
.photo-strip figcaption .script{font-size:31px;line-height:1.25}.photo-strip{box-shadow:3px 6px 10px #46381b36}.reprint{font-size:13px}
h2{font-family:Cormorant,serif}.section-heading h2{font-size:55px}.section-heading h2 em{font-family:Pinyon,cursive;font-style:normal;font-size:60px;line-height:1.4;color:#a0814d}.section-heading>p:last-child{font-size:20px;color:#8e785a}
.day-section{background:#faf5eae8;border-top:1px solid #d7c5a24d}
.paper-card{background:#fffbf2;box-shadow:3px 9px 18px #6a4e2820;clip-path:polygon(.2% 0,18% .3%,38% 0,60% .2%,82% 0,99.6% .2%,100% 20%,99.6% 40%,100% 60%,99.8% 80%,100% 99.6%,80% 100%,60% 99.7%,40% 100%,20% 99.7%,0 100%,.3% 80%,0 60%,.3% 40%,0 20%)}
.card-border{border-color:#ceba925c}.paper-card h3{font-family:Pinyon,cursive;font-style:normal;font-size:44px;line-height:1.3}.paper-card .venue{font-size:22px}.paper-card p{font-size:18px}.paper-card .text-link{font-size:14px}.calendar-link{font-size:15px}.paper-card svg{color:#b19563}
.dress-section{background:#eef0e5f2;border-color:#d1d7bf}.dress-section h2{font-size:67px}.dress-section h2 em{display:block;font-family:Pinyon,cursive;font-size:83px;font-style:normal;line-height:1.3;color:#818368}
.dress-copy{font-size:27px}.dress-footnote{font-size:16px}.dress-section .eyebrow{font-size:8px}.colour-dots{margin:18px 0 22px}
.rsvp-section{background:#f9f2e5cc}.rsvp-stationery{background:#fffbf3;box-shadow:7px 17px 28px #654b2424;outline-color:#c9ad77;transform:rotate(-.7deg)}
.rsvp-section h2{font-size:65px}.rsvp-section h2 em{font-family:Pinyon,cursive;font-style:normal;font-size:80px;color:#917346}.rsvp-stationery>p:not(.eyebrow){font-size:20px}.rsvp-stationery .rsvp-date{font-size:17px!important}.rsvp-button{background:#7e8268;border-color:#7e8268;font-size:19px;padding:12px 30px}.rsvp-note{font-family:Nimbus,Arial,sans-serif;font-size:9px!important;letter-spacing:.25px}.rsvp-stationery .rsvp-note{font-size:9px!important}.rsvp-signature{font-size:46px;line-height:1.5}
footer{background:#f7efe1e8;padding-top:34px}footer .monogram{font-size:43px}footer .text-link{font-size:13px}.footer-love{font-size:15px}
@media(min-width:1450px){#invitation{width:calc(100% - 250px);margin-top:65px}.hero{min-height:820px;padding-bottom:95px}}
@media(max-width:1000px){#invitation{width:calc(100% - 90px);margin-top:45px}.hero{padding-left:24px;padding-right:24px}.booth{width:290px}.slot{left:30px;right:30px}.photo-note{font-size:29px;right:-2px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.2px}h1{font-size:100px}.day-cards{gap:26px}.paper-card h3{font-size:39px}}
@media(max-width:760px) and (min-width:621px){#invitation{width:calc(100% - 65px)}.hero{gap:8px;padding-left:18px;padding-right:18px}.hero-copy>.eyebrow{font-size:6px}.hero-invite{font-size:20px}.booth{width:265px}.slot{left:19px;right:19px}.booth-sprig{width:55px;right:-10px}.topbar{padding:0 26px}.paper-card h3{font-size:34px}}
@media(max-width:620px){
body:before{background-image:url('assets/ivory-flatlay-mobile-v2.webp');background-size:cover;background-position:center}
#invitation{width:calc(100% - 40px);margin:38px auto 30px}#invitation:before{inset:-5px -4px}
.topbar{height:65px;padding:0 19px}.topbar nav{gap:18px;font-size:8px;letter-spacing:.2px}.monogram{font-size:28px}.monogram span{font-size:18px}
.hero{padding:39px 16px 80px;gap:24px;min-height:0}.hero:after{inset:8px;border-color:#ccb9923d}.hero-copy{padding-bottom:0}.hero-copy>.eyebrow{font-size:6px;letter-spacing:1.2px;margin-bottom:22px}
h1{font-size:clamp(60px,18.5vw,88px);line-height:1.2;letter-spacing:0}h1 em{display:inline;font-size:.62em;margin:0 3px;line-height:1}
.hero-invite{font-size:21px;margin-top:19px;margin-bottom:18px}.date-line{margin:17px auto 0}.date-line .date{font-size:27px}.date-line>span:not(.date){font-size:6px;letter-spacing:1.5px}
.photo-area{padding-top:29px}.photo-note{font-size:29px;right:0;top:-2px}.booth{width:265px;height:565px}.slot{top:108px;left:18px;right:18px}.booth-sprig{width:60px;right:-10px}.reprint{font-size:12px}.scroll-cue{font-size:6px;letter-spacing:1.1px}
.section-pad{padding:66px 19px}.section-heading h2{font-size:39px}.section-heading h2 em{font-size:45px;line-height:1.3}.section-heading>p:last-child{font-size:19px}.section-heading>.eyebrow{font-size:7px}.day-cards{gap:27px}.paper-card{width:min(330px,96%)}.card-border{padding:30px 14px}.paper-card h3{font-size:40px}.paper-card p{font-size:17px}.paper-card .venue{font-size:22px}.paper-card .text-link{font-size:14px}.calendar-link{font-size:14px;gap:12px}
.dress-section h2{font-size:47px}.dress-section h2 em{font-size:64px;line-height:1.3}.dress-section .eyebrow{font-size:6px;letter-spacing:1.3px}.dress-copy{font-size:23px}.dress-footnote{font-size:15px}
.rsvp-section{padding:57px 15px}.rsvp-stationery{padding:46px 22px 34px}.rsvp-section h2{font-size:46px}.rsvp-section h2 em{font-size:60px}.rsvp-stationery .eyebrow{font-size:6px;letter-spacing:1px}.rsvp-stationery>p:not(.eyebrow){font-size:19px}.rsvp-stationery .rsvp-date{font-size:15px!important}.rsvp-signature{font-size:38px;margin-top:27px}.rsvp-button{font-size:18px;gap:20px;padding:12px 20px}
.gate{background-image:url('assets/ivory-flatlay-mobile-v2.webp');background-position:center}.gate-top{top:9%;font-size:7px;padding:7px 11px;letter-spacing:1.8px}.envelope-scene{width:82vw;height:230px}.gate-bottom{margin-top:30px;padding:12px 18px}.gate-bottom .script{font-size:40px}.gate-bottom .eyebrow{font-size:7px;letter-spacing:1.8px}.letter-peek .script{font-size:45px}.skip{font-size:12px}
}
@media(max-width:360px){#invitation{width:calc(100% - 28px)}.hero{padding-left:12px;padding-right:12px}.booth{width:252px}.slot{left:13px;right:13px}.booth-sprig{width:45px;right:-4px}.topbar{padding:0 15px}.topbar nav{gap:12px}.paper-card h3{font-size:36px}.rsvp-section h2{font-size:41px}.rsvp-section h2 em{font-size:55px}}
.gate-bottom{background:transparent;box-shadow:none;border-radius:0;text-shadow:0 1px 4px #fff9}
@media(max-width:620px){h1{font-size:clamp(48px,15vw,68px)}}

/* Third edition: more of the floral flatlay, soft card movement and a matching RSVP. */
#invitation{max-width:1000px;width:calc(100% - 260px)}
#invitation:before{background:#f9f3e71a}
.topbar{background:#fcf8efe3}.hero{background:#fcf8efdc}.day-section{background:#faf5eadb}.dress-section{background:#eef0e5e8}.rsvp-section{background:#f9f2e5b8}footer{background:#f7efe1d6}
.paper-card{transition:transform .7s ease,box-shadow .7s ease;transform-origin:50% 20%;will-change:transform}
@keyframes sway-ceremony{0%,100%{transform:rotate(-2deg) translateY(-5px)}50%{transform:rotate(1.4deg) translateY(-7px)}}
@keyframes sway-reception{0%,100%{transform:rotate(2deg) translateY(-5px)}50%{transform:rotate(-1.4deg) translateY(-7px)}}
@media(hover:hover) and (pointer:fine){.ceremony:hover{animation:sway-ceremony 3.5s ease-in-out infinite;box-shadow:4px 15px 24px #6a4e282c}.reception:hover{animation:sway-reception 3.5s ease-in-out infinite;box-shadow:4px 15px 24px #6a4e282c}}
.ceremony:focus-within{animation:sway-ceremony 3.5s ease-in-out infinite}.reception:focus-within{animation:sway-reception 3.5s ease-in-out infinite}
.rsvp-dialog{padding:9px;max-width:550px;width:calc(100% - 38px);max-height:calc(100dvh - 36px);border:1px solid #d2bd95;background:#fbf7ee;color:var(--ink);box-shadow:0 25px 100px #37270c66;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.rsvp-dialog::backdrop{background:#3e332655;backdrop-filter:blur(5px)}
.rsvp-dialog[open]{animation:rsvp-in .4s ease-out}
@keyframes rsvp-in{from{opacity:0;transform:translateY(18px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
.form-paper{border:1px solid #d2bd9566;padding:39px 37px 24px;text-align:center}
.close-rsvp{position:absolute;top:12px;right:14px;z-index:1;width:32px;height:32px;border:0;background:none;color:#8c7653;font-family:Nimbus,sans-serif;font-size:24px;font-weight:400;line-height:1}
.form-paper>.eyebrow{font-size:8px;letter-spacing:1.8px}.form-paper h2{font-size:51px;margin:0 0 17px}.form-paper h2 em{font-family:Pinyon,cursive;font-size:73px;font-style:normal;line-height:1.1;color:#9b7e4f}.form-paper>p:not(.eyebrow){font-size:20px}.form-paper form{text-align:left;margin-top:25px}
.form-paper label,.form-paper legend{font-size:18px;color:#6d5d46;line-height:1.4}.form-paper label>span[aria-hidden],.form-paper legend>span[aria-hidden]{color:#a28a62;font-size:14px}
.form-paper input[type=text],.form-paper textarea{width:100%;font:400 18px Cormorant,Georgia,serif;color:#62523f;background:#fffcf5ad;border:1px solid #cfbea1;border-radius:0;padding:11px 12px;margin:7px 0 20px;outline-offset:3px;resize:vertical}.form-paper input:focus-visible,.form-paper textarea:focus-visible{outline:2px solid #9fa58c}.form-paper input::placeholder,.form-paper textarea::placeholder{color:#a4947a;font-style:italic}.form-paper fieldset{border:0;margin:0 0 21px;padding:0}.form-paper legend{margin-bottom:10px}.attendance-choice{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid #d5c8af;margin:0 0 8px;background:#fffcf58a;cursor:pointer;transition:background .2s,border-color .2s}.attendance-choice:has(input:checked){border-color:#8c9578;background:#e9ecdf}.attendance-choice input{accent-color:#7e8268;margin:0;width:15px;height:15px;flex-shrink:0}.attendance-choice span{flex:1}.attendance-choice i{font-size:22px;font-style:normal;color:#9b8864}.form-paper .optional{font-size:14px;color:#9b8b70}.form-paper textarea{margin-bottom:6px}.form-paper .form-deadline{font-size:14px;text-align:center;margin:17px 0 9px;color:#8c7959}.form-paper .form-status{font-family:Nimbus,Arial,sans-serif;font-size:10px;line-height:1.6;text-align:center;color:#8d795b;margin:12px 0 18px}.form-paper .rsvp-button{display:flex;width:100%;font-family:Cormorant,serif;justify-content:center;gap:30px;font-size:20px}.rsvp-button:disabled{opacity:.5;cursor:not-allowed}.form-paper .form-signature{font-family:Pinyon,cursive;font-size:33px!important;line-height:1.3;margin:22px 0 0;color:#9b8057}.reply-thanks{font-size:25px;text-align:center;margin:40px 0}
@media(min-width:1450px){#invitation{max-width:1050px;width:calc(100% - 330px)}}
@media(max-width:1000px){#invitation{width:calc(100% - 150px)}}
@media(max-width:760px) and (min-width:621px){#invitation{width:calc(100% - 90px)}}
@media(max-width:620px){#invitation{width:calc(100% - 64px)}h1{font-size:clamp(44px,13.3vw,60px)}.booth{width:min(265px,100%)}.booth-sprig{right:-5px;width:50px}.topbar{padding:0 14px}.topbar nav{gap:12px}.hero-copy>.eyebrow{letter-spacing:1px}.section-pad{padding-left:15px;padding-right:15px}.section-heading h2{font-size:36px}.section-heading h2 em{font-size:42px}.paper-card{width:100%}.paper-card h3{font-size:36px}.rsvp-section{padding:48px 11px}.rsvp-stationery{padding-left:18px;padding-right:18px}.rsvp-section h2{font-size:39px}.rsvp-section h2 em{font-size:55px}.rsvp-stationery .rsvp-date{font-size:14px!important}.rsvp-stationery .eyebrow{font-size:5px;letter-spacing:1px}.rsvp-stationery>p:not(.eyebrow){font-size:18px}.rsvp-button{font-size:17px;padding:12px 15px;gap:12px}.rsvp-note{font-size:8px!important}.calendar-link{font-size:12px;gap:8px}.form-paper{padding:34px 22px 20px}.form-paper h2{font-size:46px}.form-paper h2 em{font-size:65px}.form-paper>p:not(.eyebrow){font-size:19px}.form-paper label,.form-paper legend{font-size:17px}.form-paper form{margin-top:23px}.form-paper .form-signature{font-size:31px!important}}
@media(max-width:360px){#invitation{width:calc(100% - 44px)}.hero{padding-left:11px;padding-right:11px}.booth-sprig{width:40px;right:0}.hero-copy>.eyebrow{font-size:5px}.rsvp-section h2{font-size:36px}.rsvp-section h2 em{font-size:49px}.paper-card h3{font-size:34px}.paper-card .venue{font-size:20px}}
@media(prefers-reduced-motion:reduce){.paper-card,.paper-card:hover,.paper-card:focus-within,.rsvp-dialog[open]{animation:none!important;transition:none!important;will-change:auto}}
.reply-thanks{padding:35px 0 15px}.reply-thanks>.script{display:block;font-size:62px;color:#9b7e4f;line-height:1.4;margin-bottom:20px}.reply-thanks p{font-size:22px;line-height:1.5}
.rsvp-complete .form-paper{padding-top:49px;padding-bottom:39px}.rsvp-complete .reply-thanks{margin:30px 0 0;padding:8px 0 0}.rsvp-complete .reply-thanks p{font-size:23px;line-height:1.5;margin-bottom:0}.rsvp-complete .form-signature{margin-top:34px;font-size:36px!important}.rsvp-complete #rsvpForm{margin-top:0}
@media(max-width:620px){.rsvp-complete .form-paper{padding-top:43px;padding-bottom:33px}.rsvp-complete .reply-thanks{margin-top:25px}.rsvp-complete .reply-thanks p{font-size:21px}.rsvp-complete .form-signature{font-size:33px!important;margin-top:28px}}
/* Champagne gold names, the couple's warmed photograph, and a shorter dress-code note. */
#inviteTitle,#inviteTitle em{color:#b09865}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 #inviteTitle,#inviteTitle em{background-image:linear-gradient(115deg,#927342 0%,#d9bd7f 19%,#ac8c51 32%,#ecd7a3 46%,#baa16c 57%,#987c48 72%,#dfc68e 88%,#a68b56 100%);background-size:220% 100%;background-position:15% center;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gold-gleam 10s ease-in-out infinite;filter:drop-shadow(0 1px 0 #9b835412)}
}
@keyframes gold-gleam{0%,100%{background-position:15% center}50%{background-position:85% center}}
.photo-frame .standing{object-position:50% 32%}
.dress-section{padding-top:54px;padding-bottom:54px}.dress-flower{width:40px;height:40px;margin-bottom:15px}.dress-section h2{font-size:56px}.dress-section h2 em{display:inline;font-size:70px;line-height:1.2}.dress-section .eyebrow{margin-bottom:12px}.dress-section .colour-dots{margin:20px 0}.dress-copy{font-size:25px;margin-bottom:0}
@media(max-width:620px){.dress-section{padding-top:42px;padding-bottom:42px}.dress-section h2{font-size:40px}.dress-section h2 em{display:block;font-size:54px;line-height:1.15}.dress-flower{width:34px;height:34px;margin-bottom:13px}.dress-section .colour-dots{margin:17px 0}.dress-copy{font-size:22px}}
@media(prefers-reduced-motion:reduce){#inviteTitle,#inviteTitle em{animation:none}}
/* Keep the programmatic heading focus accessible without Safari's decorative focus box. */
#inviteTitle:focus,#inviteTitle:focus-visible{outline:none;box-shadow:none}
.booth-label{font-size:8px;letter-spacing:1.8px}
@media(max-width:620px){.booth-label{font-size:7px;letter-spacing:1.6px}}
