/* Bibi & Matt: a wedding in two languages, with two visual moods. */
:root{--plum:#34132f;--deep:#240e27;--ink:#4c253b;--gold:#bd8b29;--gold-light:#f6e2a1;--paper:#fbf3e5;--paper-dark:#efe0c8;--accent:#7b294b;--sage:#75876d;--line:rgba(112,71,42,.22);--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--shadow:0 22px 65px rgba(62,26,37,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.7 var(--sans);transition:background .4s,color .4s}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold)}::selection{background:#dfbd73;color:var(--plum)}[hidden]{display:none!important}svg{display:block;width:40px;height:40px;flex-shrink:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.06}h2{font-size:clamp(40px,4.3vw,64px)}.eyebrow{font:600 10px/1.6 var(--sans);letter-spacing:.23em}.skip-link{position:fixed;top:10px;left:10px;background:var(--paper);z-index:100;padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;background:var(--plum);color:var(--paper);border-bottom:1px solid rgba(231,202,141,.5);transition:background .4s;box-shadow:0 3px 15px #160b1715}.header-inner{max-width:1600px;margin:auto;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:10px 3.8%}.wordmark,.footer-wordmark{text-decoration:none;white-space:nowrap;font:italic 500 39px/1 var(--serif);letter-spacing:-.04em}.wordmark span,.footer-wordmark span{font-size:.8em;color:var(--gold-light)}.main-nav{display:flex;gap:clamp(16px,2.2vw,36px);align-items:center}.main-nav a{font:400 16px var(--serif);text-decoration:none;position:relative;white-space:nowrap;padding:7px 0}.main-nav a::after{content:"";position:absolute;bottom:1px;left:0;width:100%;height:1px;background:var(--gold-light);transform:scaleX(0);transform-origin:left;transition:transform .2s}.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}.preferences{display:flex;gap:13px;align-items:center}.language-switch{display:flex;align-items:center;gap:5px;border:1px solid #f5e3b75c;border-radius:6px;padding:2px 3px;font-size:11px;color:var(--gold-light)}.language-switch button{min-height:31px;min-width:36px;padding:3px 7px;background:none;border:0;border-radius:3px;color:var(--paper);font-weight:600;font-size:11px}.language-switch button[aria-pressed=true]{background:var(--paper);color:var(--plum)}.culture-switch{display:flex;gap:6px;align-items:center;padding:6px 10px;min-height:39px;border:1px solid #f5e3b75c;border-radius:6px;color:var(--paper);background:transparent;white-space:nowrap;font-size:10px}.switch-track{position:relative;display:block;width:26px;height:14px;border-radius:14px;background:#d0aa594a;border:1px solid var(--gold-light)}.switch-track span{position:absolute;top:2px;left:2px;width:8px;height:8px;background:var(--gold-light);border-radius:50%;transition:transform .3s}.culture-br{color:var(--gold-light)}.culture-au{opacity:.65}.culture-switch[aria-checked=true] .switch-track span{transform:translateX(12px)}.culture-switch[aria-checked=true] .culture-au{opacity:1;color:var(--gold-light)}.culture-switch[aria-checked=true] .culture-br{color:var(--paper);opacity:.65}
.hero{position:relative;isolation:isolate;background:var(--deep);overflow:hidden}.hero-art{display:block;width:100%;height:auto;aspect-ratio:1586/992;object-fit:cover;transition:filter .7s}.hero-shade{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 34% 31% at 50% 24%,rgba(34,10,36,.26),transparent 100%);pointer-events:none}.hero-copy{position:absolute;z-index:2;top:4.4%;left:23%;width:54%;text-align:center;color:var(--gold-light);text-shadow:0 2px 14px #200b26b3}.hero-copy .eyebrow{font-size:clamp(8px,.7vw,12px);letter-spacing:.3em;margin-bottom:15px;color:#f5e4b6}h1{font-style:italic;font-size:clamp(46px,6vw,94px);letter-spacing:-.025em;line-height:.94;margin:0 0 10px}.heart-divider{display:flex;align-items:center;justify-content:center;gap:14px;font:26px/1 var(--serif);margin:10px auto 5px}.heart-divider span{width:60px;height:1px;background:var(--gold)}.couple-names{font:italic 500 clamp(39px,4.6vw,72px)/1 var(--serif);margin:0 0 10px;letter-spacing:-.035em}.couple-names span{font-size:.78em}.hero-celebration{font-size:clamp(8px,.8vw,12px);letter-spacing:.28em;margin:0 0 4px;color:#fff0cf}.hero-location,.hero-date{font:500 clamp(17px,1.9vw,28px)/1.15 var(--serif);margin:0 0 4px;color:#fff6e4}.date-note{font:italic 400 clamp(13px,1.3vw,19px)/1.15 var(--serif);margin-bottom:11px;color:#f5dfc4}.hero-link{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.05em;text-decoration:none;border-bottom:1px solid #f8e3af70;padding:4px 0;color:#fff1ce}.hero-link:hover{border-color:#fff1ce}
.details-strip{display:grid;grid-template-columns:1.05fr 1fr 1fr;padding:30px 5%;max-width:1600px;margin:auto;background:var(--paper);border-bottom:1px solid var(--line)}.detail{display:flex;align-items:center;gap:20px;text-decoration:none;padding:0 30px;border-right:1px solid var(--line);line-height:1.35;min-width:0}.detail:first-child{padding-left:0}.detail:last-child{border:0;padding-right:0}.detail svg{width:44px;height:44px;color:var(--accent)}.detail h2{font:600 11px/1.4 var(--sans);letter-spacing:.09em;margin:0 0 5px}.detail p{font:500 21px/1.15 var(--serif);margin:0 0 3px}.detail small{font:italic 400 15px/1.25 var(--serif)}.detail[href]:hover h2{text-decoration:underline;text-underline-offset:4px}
.section-pad{padding:90px max(6%,calc((100% - 1220px)/2))}.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;border-bottom:1px solid var(--line);position:relative}.story-heading h2{margin-bottom:8px}.story .eyebrow,.section-heading .eyebrow,.ceremony-copy .eyebrow{color:var(--accent)}.flourish{font:68px/1 var(--serif);color:var(--gold)}.story-copy{padding-top:10px}.story-copy p{max-width:610px}.lead{font:500 28px/1.28 var(--serif);letter-spacing:-.01em;margin-bottom:22px}.story-copy>p:not(.lead){font-size:14px;line-height:1.9}.story-closing{font-family:var(--serif);font-size:23px!important;font-style:italic;margin-bottom:22px}.heritage-note{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.015em;color:var(--accent);border-top:1px solid var(--line);padding-top:18px}.heritage-note>span:first-child{font-size:24px;color:var(--gold)}
.ceremony{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;background:linear-gradient(125deg,#eaddc45c,transparent 80%);border-bottom:1px solid var(--line)}.ceremony-art{position:relative;max-width:400px;width:100%;margin:auto;aspect-ratio:4/4.3;display:grid;place-items:center}.arch-outline{width:76%;height:91%;border:1px solid #b695575c;border-radius:50% 50% 6px 6px/42% 42% 6px 6px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at top,#eee1c17a,transparent 70%);box-shadow:inset 0 0 0 13px var(--paper),inset 0 0 0 14px #b695574f}.arch-cross{font:28px var(--serif);color:var(--gold)}.arch-outline>svg{width:64px;height:64px;margin-top:10px;color:var(--accent)}.arch-monogram{font:italic 500 75px/1.2 var(--serif);letter-spacing:-.1em}.arch-monogram>span{font-size:.55em;color:var(--gold);margin:0 3px}.arch-date{font-size:10px;letter-spacing:.4em;color:var(--accent)}.arch-leaf{position:absolute;color:var(--sage);font:170px/1 var(--serif)}.leaf-one{left:-5px;bottom:25px;transform:rotate(-35deg)}.leaf-two{right:0;top:10px;transform:rotate(135deg)}.ceremony-copy h2{margin-bottom:20px}.ceremony-copy h3{font-size:30px;margin-bottom:4px}.church-translation{font:italic 20px var(--serif);margin-bottom:24px;color:#785769}.ceremony-copy address{font-style:normal;font-size:13px;line-height:1.85}.ceremony-date{font:500 23px var(--serif);margin:24px 0}.ceremony-date small{display:block;font:400 12px/1.7 var(--sans);margin-top:5px}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:7px}.text-link svg{width:23px;height:23px}.text-link:hover svg{transform:translateX(4px)}
.section-heading{text-align:center;max-width:740px;margin:0 auto 42px}.section-heading h2{margin-bottom:18px}.section-heading>p:last-child{max-width:560px;margin:0 auto;font-size:13px;line-height:1.85}.travel{background:var(--plum);color:var(--paper);transition:background .4s}.travel .eyebrow{color:var(--gold-light)}.travel h2{color:var(--gold-light)}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:55px}.travel-grid article{border-top:1px solid #d7b67761;padding-top:25px}.travel-grid svg{width:32px;height:32px;color:var(--gold-light);margin-bottom:18px}.travel-grid h3{font-size:29px;margin-bottom:16px}.travel-grid p{color:#f0e5da;font-size:12px;line-height:1.9;margin:0}
.rsvp-section{overflow:hidden;padding-top:80px;padding-bottom:50px;background-color:var(--paper);background-image:radial-gradient(ellipse at 0 70%,#d8be8c35,transparent 38%),radial-gradient(ellipse at 100% 30%,#bc9a7b20,transparent 40%)}.rsvp-heading{margin-bottom:20px}.rsvp-heading h2{font-size:clamp(38px,4.2vw,59px)}.envelope-stage{position:relative;isolation:isolate;max-width:880px;margin:25px auto 0;min-height:400px;padding:20px 40px 180px;transition:min-height .8s}.envelope-trigger{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);z-index:10;background:var(--paper);border:1px solid #b7955859;box-shadow:0 4px 22px #351b221a;border-radius:5px;padding:14px 25px;display:flex;align-items:center;gap:15px;white-space:nowrap;font:500 20px var(--serif);color:var(--ink);transition:opacity .3s,visibility .3s}.seal-small{font:italic 18px var(--serif);background:var(--accent);color:var(--paper);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;box-shadow:inset 0 0 0 3px #d8b45970}.envelope-back,.envelope-lining,.envelope-lid{position:absolute;bottom:0;left:0;width:100%;height:390px;clip-path:polygon(0 32%,50% 0,100% 32%,100% 100%,0 100%);background:#c7aa76;z-index:1}.envelope-lining{left:4px;width:calc(100% - 8px);bottom:4px;height:383px;background-color:var(--plum);background-image:url("./assets/envelope-pattern.svg");background-size:125px;transition:background-color .4s}.envelope-lid{z-index:6;height:265px;bottom:0;clip-path:polygon(0 0,100% 0,50% 94%);background:linear-gradient(170deg,#f8edda,#e8d1ad);transform-origin:top;transition:transform .9s ease,opacity .6s}.envelope-stage.is-open .envelope-lid{transform:rotateX(180deg);opacity:0;pointer-events:none}.letter{position:relative;z-index:3;width:90%;margin:0 auto;max-height:0;padding:0 52px;overflow:hidden;visibility:hidden;opacity:0;transform:translateY(130px) scale(.95);background:linear-gradient(130deg,#fffaf0,#fcf2df);border:1px solid #c3a16b7d;border-radius:7px;box-shadow:0 0 0 7px #fff8ec80,0 8px 35px #3c18352b;transition:transform 1s cubic-bezier(.18,.72,.27,1),max-height 1s ease,padding .8s ease,opacity .7s ease,visibility .1s}.is-open .letter{max-height:1800px;padding:35px 48px 60px;visibility:visible;opacity:1;transform:translateY(0) scale(1)}.is-open .envelope-trigger{opacity:0;visibility:hidden;pointer-events:none}.letter-ornament{text-align:center;color:var(--gold);font:35px/1 var(--serif);display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:10px}.letter-ornament span{font-size:22px}.letter>h3{font:600 66px/.9 var(--serif);letter-spacing:.07em;text-align:center;margin:12px 0 18px;color:var(--accent)}.letter-salutation{font:italic 25px/1.2 var(--serif);margin-bottom:8px;text-align:center}.letter-body{font-size:12px;line-height:1.7;max-width:400px;margin:0 auto 26px;text-align:center}.form-row{position:relative;margin-bottom:16px}.form-row>label,.attendance legend{display:block;font:500 17px/1.3 var(--serif);margin-bottom:7px}.form-row input:not([type=radio]),.form-row select,.form-row textarea{display:block;width:100%;min-height:42px;background:#fffdf675;border:1px solid #a7907c;border-radius:5px;padding:9px 12px;color:var(--ink);font-size:13px;box-shadow:inset 0 1px 3px #47302704}.form-row input::placeholder,.form-row textarea::placeholder{font:italic 16px var(--serif);color:#7c6b67;opacity:1}.form-row select{width:105px}.form-row textarea{resize:vertical;max-height:230px}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{background:#fffdf7;border-color:var(--accent)}.attendance{padding:0;border:0;min-width:0}.attendance legend{padding:0}.radio-options{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.radio-options label{display:flex;align-items:center;gap:7px;font:500 18px var(--serif);min-height:30px;cursor:pointer}.radio-options input{width:18px;height:18px;accent-color:var(--accent);margin:0}.field-help{position:absolute;top:2px;right:0;font:400 10px var(--sans);color:#796258}.form-privacy{font-size:10px;line-height:1.7;color:#796258;margin:20px 0 15px}.send-button{width:100%;min-height:49px;border:1px solid #bd861a;background:linear-gradient(135deg,#dcaf4a,#ba8320);box-shadow:inset 0 1px #fff3c8;color:#2e1629;border-radius:30px;display:flex;align-items:center;justify-content:center;gap:20px;font:600 25px/1 var(--serif);padding:10px 22px;transition:filter .2s,transform .2s}.send-button svg{width:24px;height:24px}.send-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.send-button:disabled{opacity:.6;cursor:wait;transform:none}.form-status{font-size:12px;line-height:1.7;text-align:center;margin:12px 0 0;min-height:0}.form-status.error{color:#9d162d}.letter-signature{text-align:center;font:italic 23px/1.4 var(--serif);margin:20px 0 0}.envelope-front{position:absolute;z-index:4;bottom:0;width:100%;left:0;height:235px;border-radius:0 0 9px 9px;background:linear-gradient(155deg,#f8edda 0%,#ead6b5 50%,#f8edda 100%);clip-path:polygon(0 0,50% 49%,100% 0,100% 100%,0 100%);box-shadow:0 18px 35px #2b0b281a;pointer-events:none}.envelope-fold{position:absolute;inset:0;background:linear-gradient(25deg,transparent 49.7%,#be9d6a70 49.9%,transparent 50.1%),linear-gradient(-25deg,transparent 49.7%,#be9d6a70 49.9%,transparent 50.1%)}.wax-seal{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);width:78px;height:78px;border-radius:49% 51% 46% 53%;display:flex;align-items:center;justify-content:center;background:linear-gradient(125deg,#b17a22,#e8be59,#a77725);color:#522a26;font:italic 500 35px var(--serif);box-shadow:0 3px 7px #8e642850,inset 0 0 0 3px #d6b252,inset 0 0 0 5px #ad7c30,inset 0 0 0 7px #f4d47b80;letter-spacing:-.1em;padding-right:6px}.wax-seal span{font-size:24px}.scroll-note{position:absolute;right:-45px;bottom:245px;display:flex;flex-direction:column;align-items:center;gap:5px;font:italic 25px/1.1 var(--serif);color:var(--accent);max-width:90px;text-align:center}.scroll-note>span:last-child{font-size:45px;font-style:normal}.is-open .scroll-note{opacity:0;transition:opacity .5s}.rsvp-success{text-align:center;padding:28px 0}.rsvp-success>svg{margin:0 auto 24px;color:var(--accent);width:48px;height:48px}.rsvp-success h4{font-size:36px;margin-bottom:14px}.rsvp-success p{font-size:13px}.rsvp-success .success-signature{font:italic 32px var(--serif)}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.noscript-message{text-align:center}
footer{position:relative;padding:40px 24px 35px;text-align:center;border-top:1px solid var(--line);background:var(--paper-dark)}.footer-wordmark{display:inline-block;font-size:42px}.footer-wordmark span{color:var(--accent)}footer>p{font:500 18px var(--serif);margin:12px 0 4px}footer>small{font-size:10px;letter-spacing:.03em}.back-top{position:absolute;right:30px;top:50%;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;text-decoration:none;font-size:22px}
html[data-theme=australia]{--plum:#173b3e;--deep:#112d35;--accent:#365b4a;--gold:#b68d29;--gold-light:#f8e1a1;--ink:#2c4541;--paper:#fbf5e7;--paper-dark:#e9e4cb;--sage:#637e63}html[data-theme=australia] .hero-art{filter:hue-rotate(8deg) saturate(.9)}html[data-theme=australia] .hero-shade{background:linear-gradient(180deg,#123c3d45,transparent 52%)}html[data-theme=australia] .hero-copy{text-shadow:0 2px 14px #122b2fc9}html[data-theme=australia] .envelope-lining{background-color:#264c45}html[data-theme=australia] .wax-seal{color:#294e43}
@media(min-width:1600px){.hero{max-height:1050px}.hero-art{object-position:center bottom}.hero-copy{top:5%}}
@media(max-width:1150px){.header-inner{gap:15px;padding:10px 3%}.wordmark{font-size:33px}.main-nav{gap:18px}.main-nav a{font-size:15px}.preferences{gap:8px}.culture-switch{font-size:9px;padding:6px}.hero-copy{top:4%}.hero-copy .eyebrow{margin-bottom:9px}h1{font-size:6vw}.couple-names{font-size:4.6vw}.hero-copy .hero-celebration{font-size:8px}.hero-link{font-size:9px;padding:2px}.heart-divider{margin:5px auto;font-size:20px}.detail{padding:0 20px;gap:13px}.detail svg{width:34px;height:34px}.detail h2{font-size:9px}.detail p{font-size:19px}.detail small{font-size:13px}.scroll-note{right:-20px;max-width:70px;font-size:21px}}
@media(max-width:850px){html{scroll-padding-top:125px}.header-inner{display:grid;grid-template-columns:auto 1fr;padding:10px 4%;gap:8px 15px}.wordmark{font-size:34px}.preferences{justify-self:end}.main-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:28px;border-top:1px solid #f3dca629;padding-top:4px}.main-nav a{font-size:15px}.hero-copy{top:4%;left:21%;width:60%}.hero-copy .eyebrow{font-size:7px;letter-spacing:.16em;margin-bottom:9px}h1{font-size:6.4vw}.couple-names{font-size:4.8vw;margin-bottom:7px}.hero-location,.hero-date{font-size:2.3vw}.date-note{font-size:1.9vw;margin-bottom:6px}.hero-link{display:none}.hero-celebration{letter-spacing:.2em}.details-strip{padding:24px 4%;grid-template-columns:1fr 1fr}.detail{padding:0 16px}.detail:nth-child(2){border:0;padding-right:0}.detail:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding:20px 0 0;margin-top:20px;justify-content:center}.section-pad{padding:65px 6%}.story{gap:7%;grid-template-columns:.8fr 1.2fr}.story h2{font-size:52px}.lead{font-size:25px}.ceremony{gap:5%}.ceremony-copy h2{font-size:43px}.ceremony-copy h3{font-size:27px}.ceremony-art{max-width:290px}.arch-monogram{font-size:58px}.arch-leaf{font-size:125px}.travel-grid{gap:25px}.travel-grid h3{font-size:25px}.travel-grid p{font-size:12px}.envelope-stage{padding:20px 12px 160px}.letter{width:90%}.is-open .letter{padding:30px 32px 60px}.scroll-note{right:3px;bottom:270px;max-width:55px;font-size:18px}.envelope-trigger{padding:12px 18px;font-size:19px}}
@media(max-width:560px){body{font-size:14px}.header-inner{gap:8px;padding:9px 4%}.wordmark{font-size:30px}.preferences{gap:7px}.language-switch{gap:1px;padding:1px 2px}.language-switch button{font-size:10px;min-width:30px;min-height:30px;padding:3px 5px}.culture-switch{font-size:8px;gap:4px;padding:4px 6px;min-height:34px}.switch-track{width:23px;height:13px}.switch-track span{width:7px;height:7px}.culture-switch[aria-checked=true] .switch-track span{transform:translateX(10px)}.main-nav{gap:0;justify-content:space-between;padding-top:4px}.main-nav a{font:400 14px var(--serif);padding:6px 5px}.hero{min-height:665px;display:flex;flex-direction:column;background:var(--plum)}.hero-art{position:absolute;bottom:0;width:100%;height:auto;min-height:0;aspect-ratio:1586/992;object-fit:contain}.hero-shade{background:linear-gradient(180deg,var(--plum) 0%,var(--plum) 43%,transparent 72%)}.hero-copy{position:relative;top:auto;left:auto;width:94%;margin:32px auto 0;padding:0 5px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.19em;margin:0 0 18px}h1{font-size:clamp(43px,10.8vw,60px);line-height:.94;margin-bottom:15px}.heart-divider{margin:0 auto 8px;font-size:23px;gap:12px}.heart-divider span{width:45px}.couple-names{font-size:51px;margin:0 0 13px}.hero-copy .hero-celebration{font-size:9px;letter-spacing:.2em;margin-bottom:5px}.hero-location,.hero-date{font-size:23px;line-height:1.16}.date-note{font-size:17px;margin-top:6px}.details-strip{padding:25px 6%;display:block}.detail{border-right:0;padding:0 0 20px!important;margin:0 0 20px!important;border-bottom:1px solid var(--line);gap:19px;justify-content:flex-start!important}.detail:last-child{border-top:0;border-bottom:0;padding-bottom:0!important;margin-bottom:0!important}.detail svg{width:36px;height:36px}.detail h2{font-size:10px}.detail p{font-size:22px}.detail small{font-size:15px}.section-pad{padding:54px 7%}.story{display:block}.story-heading h2{font-size:52px;line-height:.98}.story-heading .eyebrow{font-size:9px}.flourish{position:absolute;right:8%;top:115px;font-size:85px}.story-copy{padding-top:25px}.lead{font-size:27px}.story-copy>p:not(.lead){font-size:13px}.story-closing{font-size:23px!important}.ceremony{display:flex;flex-direction:column;gap:28px}.ceremony-art{max-width:230px}.ceremony-copy{width:100%}.ceremony-copy .eyebrow{font-size:9px}.ceremony-copy h2{font-size:45px}.ceremony-copy h3{font-size:30px}.arch-outline>svg{width:49px;height:49px}.arch-monogram{font-size:54px}.arch-cross{font-size:22px}.arch-leaf{font-size:112px}.leaf-one{bottom:8px}.leaf-two{top:0}.section-heading{text-align:left;margin-bottom:30px}.section-heading .eyebrow{font-size:8px;letter-spacing:.17em}.section-heading h2{font-size:45px;line-height:1}.section-heading>p:last-child{font-size:13px}.travel-grid{display:block;margin-top:32px}.travel-grid article{padding-top:22px;margin-bottom:30px}.travel-grid article:last-child{margin-bottom:0}.travel-grid h3{font-size:30px;margin-bottom:12px}.travel-grid svg{width:31px;height:31px;margin-bottom:16px}.travel-grid p{font-size:13px}.rsvp-section{padding:54px 3.5% 40px}.rsvp-heading{padding:0 4%}.rsvp-heading h2{font-size:44px}.envelope-stage{margin-top:10px;padding:20px 0 130px;min-height:330px}.letter{width:94%;border-radius:4px;box-shadow:0 0 0 4px #fff8ec80,0 6px 20px #3c183520;padding:0 20px}.is-open .letter{padding:28px 20px 55px;max-height:1950px}.letter-ornament{font-size:29px;margin:0 0 10px}.letter>h3{font-size:58px;margin-top:10px}.letter-salutation{font-size:23px}.letter-body{font-size:11px;line-height:1.7;margin-bottom:22px}.form-row{margin-bottom:15px}.form-row>label,.attendance legend{font-size:18px}.form-row input:not([type=radio]),.form-row select,.form-row textarea{min-height:44px;font-size:16px;padding:9px 10px}.form-row input::placeholder,.form-row textarea::placeholder{font-size:15px}.radio-options{gap:18px}.radio-options label{font-size:19px;min-height:36px}.radio-options input{width:19px;height:19px}.form-row select{width:95px}.form-privacy{font-size:10px}.letter-signature{font-size:21px}.envelope-back{height:300px}.envelope-lining{height:294px}.envelope-lid{height:210px}.envelope-front{height:185px}.wax-seal{width:65px;height:65px;font-size:30px;bottom:22px}.wax-seal span{font-size:21px}.envelope-trigger{bottom:55px;font-size:18px;max-width:90%;white-space:normal;gap:10px;padding:12px 14px}.seal-small{width:32px;height:32px;font-size:16px;flex-shrink:0}.scroll-note{right:0;bottom:220px;font-size:17px;max-width:55px}.scroll-note>span:last-child{font-size:35px}footer{padding:32px 25px}.footer-wordmark{font-size:40px}footer>p{font-size:17px}footer>small{font-size:9px}.back-top{right:14px;top:32px;width:32px;height:32px;font-size:20px}html[data-theme=australia] .hero-shade{background:linear-gradient(180deg,var(--plum) 0%,var(--plum) 43%,transparent 72%)}}
@media(max-width:370px){.wordmark{font-size:27px}.culture-switch{font-size:7px;padding:4px}.preferences{gap:5px}.hero{min-height:635px}.hero-copy{margin-top:30px}.hero-copy .eyebrow{font-size:7px}h1{font-size:43px}.couple-names{font-size:47px}.hero-location,.hero-date{font-size:21px}.date-note{font-size:16px}.radio-options{gap:13px}.radio-options label{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.letter{transform:none}.hero-art{transition:none}}
@media print{.site-header,.hero-link,.preferences,.travel,.rsvp-section,footer{display:none}.hero{break-inside:avoid}.hero-copy{position:absolute}.section-pad{padding:30px}.story,.ceremony{display:block}.ceremony-art{display:none}}
