@font-face{font-family:greatvibes;src:url('assets/15d1a05f909a955cba660a2bd4105816.woff') format('woff');font-weight:400;font-display:block}
@font-face{font-family:anantason;src:url('assets/f9e49eaf4b2a4192363507284eefeae3.woff') format('woff');font-weight:400;font-display:block}
@font-face{font-family:anantason;src:url('assets/b74401d7643a07d5be251768298bad14.woff') format('woff');font-weight:500;font-display:block}
@font-face{font-family:nexa;src:url('assets/a89fe3b4b972a202948eb7ee12076dfd.woff') format('woff');font-weight:400;font-display:block}
@font-face{font-family:glacial;src:url('assets/ec26e7beaebbc19630f94cac9da4fc7a.woff') format('woff');font-weight:400;font-display:block}
@font-face{font-family:glacial;src:url('assets/8c5ca845de3bc604270c3cbc9f2c454a.woff') format('woff');font-weight:700;font-display:block}
@font-face{font-family:safira;src:url('assets/20bc2a4ddf9e47dae55543498cf53a3e.woff') format('woff');font-weight:400;font-display:block}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:#fff}body{overflow-x:hidden}main{width:100%}.section{position:relative;overflow:hidden}.desktop{position:relative;width:100%;aspect-ratio:1024.5/576}.artwork{display:block;width:100%;height:100%;overflow:hidden}.mobile{display:none}.venue-frame{position:absolute;pointer-events:none}.venue-frame svg{width:100%;height:100%;display:block}.frame-ready .static-frame{display:none}.map-hotspot{position:absolute;border-radius:999px;display:block}.map-hotspot:hover{background:#fff1}.map-hotspot:focus-visible,.mobile-map:focus-visible{outline:3px solid #c7a346;outline-offset:4px}.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}.s5,.s7{background:#355a2d}.mobile-canvas{position:relative;width:374.666687px;transform:scale(var(--mobile-scale,1));transform-origin:top left;overflow:hidden}.mobile-image,.mobile-text,.mobile-vector,.hero-corner,.rsvp-border{position:absolute;margin:0;padding:0}.mobile-text{white-space:nowrap;font-kerning:none;font-style:normal;text-transform:none}.mobile-text sup{font-size:.6em;vertical-align:super;line-height:0}.mobile-image{object-fit:fill}.hero-corner svg,.mobile-vector svg{width:100%;height:100%}.decor{position:absolute;left:0;width:374.666687px;height:109.712px;pointer-events:none}.decor.top{top:0}.decor.bottom{bottom:0}.decor svg{width:100%;height:100%}.venue-photo{position:absolute;border-radius:50%;overflow:hidden}.venue-photo img{width:100%;height:100%;object-fit:cover;display:block}.mobile-map{position:absolute;display:flex;align-items:center;justify-content:center;width:162.9375px;height:31.1979px;border-radius:999px;color:#fff;background:#355a2d;font:18.25px/25.31px glacial;text-decoration:none;letter-spacing:.01em}.rsvp-border{border:1px solid #fff9}.s7 .decor{display:none}
@media(max-width:600px){.desktop{display:none}.mobile{display:block;position:relative;width:100%;height:calc(var(--design-height)*var(--mobile-scale,1)*1px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.art-library{position:absolute;overflow:hidden;pointer-events:none}.static-frame{display:var(--static-frame-display,inline)}.frame-ready{--static-frame-display:none}.s7 .decor{display:block}

/* Refined, naturally flowing sections: content sets the height at every size. */
.refined-section{padding:92px 28px;color:#355a2d;isolation:isolate}
.section-background{position:absolute;inset:0;z-index:-1;pointer-events:none}
.section-background>div{position:absolute;left:0;width:100%;pointer-events:none}.section-background .art-top{top:0}.section-background .art-bottom{bottom:0}.section-background svg{width:100%;height:auto;aspect-ratio:1024.5/300}
.section-content{position:relative;margin-inline:auto}
.eyebrow{margin:0 0 18px;font:500 12px/1.6 anantason,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#92713a}
.script-heading{margin:0;font:400 clamp(48px,4.5vw,72px)/1.3 greatvibes,cursive;letter-spacing:0}
.welcome-content{max-width:840px;text-align:center;padding:8px 0 12px}
.welcome-section{min-height:760px;display:flex;align-items:center}
.gold-divider{display:flex;align-items:center;justify-content:center;gap:15px;width:180px;margin:24px auto 28px;color:#b99550}
.gold-divider:before,.gold-divider:after{content:"";height:1px;background:linear-gradient(90deg,transparent,#c9ab71);flex:1}
.gold-divider:after{transform:rotate(180deg)}.gold-divider span{font:28px/1 Georgia,serif}
.welcome-letter{font:400 21px/1.8 glacial,sans-serif;color:#46603e}
.welcome-letter p{margin:0 0 22px}.welcome-letter .welcome-lead{max-width:690px;margin-inline:auto;font-size:24px;line-height:1.6;color:#355a2d}
.couple-signature{font:400 53px/1.35 greatvibes,cursive;margin:34px 0 0}
.route-content{max-width:1220px;text-align:center}.section-intro{font:20px/1.6 glacial,sans-serif;margin:12px auto 34px;color:#5b6a53}
.route-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,1fr);gap:30px;align-items:start;text-align:left}
.route-map-panel{border:1px solid #dedacb;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 28px #355a2d06}
.route-map-crop{position:relative;aspect-ratio:1126/615;overflow:hidden;background:#e7edde}
.route-map-crop img{position:absolute;max-width:none;width:142.007%;height:auto;left:0;top:-30.894%}
.route-map-crop:after{content:"N ↑";position:absolute;bottom:14px;left:14px;border-radius:6px;padding:8px 12px;background:#fffffff0;color:#253c27;font:700 14px/1 glacial,sans-serif}
.route-map-link{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;color:#355a2d;font:700 17px/1.5 glacial,sans-serif;text-decoration:none;transition:background .2s}
.route-map-link:hover{background:#f5f6ef}.route-map-link span{font-size:25px;font-weight:400;color:#a07c36}
.route-information{display:grid;gap:18px}.journey-summary{display:grid;grid-template-columns:1fr 1fr;background:#f6f6ef;border:1px solid #e5e3d6;border-radius:14px;padding:24px 18px;text-align:center}
.journey-summary div+div{border-left:1px solid #ddd9c6}.journey-summary strong{font:700 26px/1.3 glacial,sans-serif;display:block}.journey-summary span{font:14px/1.5 glacial,sans-serif;color:#66715e;display:block;margin-top:7px}
.directions-card,.landmarks-card{padding:25px 26px;border:1px solid #e5dfcf;border-radius:14px;background:#fff}
.route-information h3{margin:0 0 18px;font:700 17px/1.5 glacial,sans-serif;color:#355a2d}
.directions-card ol{list-style:none;counter-reset:directions;margin:0;padding:0;display:grid;gap:14px}
.directions-card li{counter-increment:directions;position:relative;padding-left:35px;font:17px/1.55 glacial,sans-serif;color:#495444}
.directions-card li:before{content:counter(directions);position:absolute;left:0;top:2px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#b08b45;color:white;font:14px/1 glacial,sans-serif}
.landmarks-card ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.landmarks-card li{border-radius:6px;background:#f2f4ed;padding:8px 12px;font:15px/1.35 glacial,sans-serif;color:#46603e}
.gifts-content{max-width:860px;text-align:center}.gifts-section .script-heading{font-size:clamp(48px,4.5vw,66px)}
.gift-ribbon-frame{position:relative;margin:42px auto 0;padding:61px 58px 48px;background:#fffefa;isolation:isolate}
.gift-ribbon-decoration{position:absolute;inset:0;pointer-events:none;z-index:-1}
.gift-ribbon-edge{position:absolute;display:block;overflow:hidden}.gift-ribbon-top,.gift-ribbon-bottom{left:0;width:100%;height:11px}.gift-ribbon-top{top:0}.gift-ribbon-bottom{bottom:0;transform:rotate(180deg)}.gift-ribbon-left,.gift-ribbon-right{top:0;width:11px;height:100%}.gift-ribbon-left{left:0}.gift-ribbon-right{right:0;transform:rotate(180deg)}
.gift-ribbon-bow{position:absolute;display:block;width:152px;height:auto;left:-60px;top:-68px;overflow:visible;filter:drop-shadow(0 2px 2px #80511715)}
.gift-message{max-width:740px;margin:22px auto 32px;font:21px/1.8 glacial,sans-serif;color:#52634a}
.gift-details{max-width:540px;background:#f7f7f1;border:1px solid #e1ddcd;border-radius:16px;padding:30px 36px;margin:0 auto}
.gift-card-label{margin:0 0 14px;font:16px/1.5 glacial,sans-serif;color:#6b745f}.gift-details h3{margin:0 0 22px;font:700 25px/1.3 glacial,sans-serif}
.gift-details dl{margin:0;display:grid;gap:14px}.gift-details dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.gift-details dt{font:17px/1.6 glacial,sans-serif;color:#64715b}.gift-details dd{margin:0;font:700 20px/1.6 glacial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.gift-details dd{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.gift-value{white-space:nowrap;user-select:text}
.gift-copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-width:82px;min-height:44px;padding:9px 10px;border:1px solid #cdd4c3;border-radius:7px;background:#fffefa;color:#355a2d;cursor:pointer;font:700 14px/1.5 glacial,sans-serif;letter-spacing:0;transition:background .2s,border-color .2s}
.gift-copy svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.gift-copy:hover{background:#eaf0e3;border-color:#a4b095}.gift-copy:focus-visible{outline:2px solid #a1803f;outline-offset:3px}.gift-copy[data-copied="true"]{background:#e7efdf;border-color:#9cb08c}.gift-copy[aria-busy="true"]{cursor:wait;opacity:.65}
.gift-copy-status{min-height:1.6em;margin:16px 0 -7px;color:#52634a;font:14px/1.6 glacial,sans-serif;letter-spacing:0}
.gift-contact{font:18px/1.8 glacial,sans-serif;color:#64715b;margin:27px 0 0}.gift-contact strong{color:#355a2d;font-weight:700}.contact-separator{margin:0 5px;color:#a38043}.phone-number{white-space:nowrap;color:#355a2d}
.gift-whatsapp-number{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a7b498}.gift-whatsapp-number:hover{text-decoration-color:currentColor}.gift-whatsapp-number:focus-visible{outline:2px solid #a1803f;outline-offset:4px;border-radius:2px}
.gift-whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;min-height:48px;margin-top:19px;padding:12px 18px;border:1px solid #355a2d;border-radius:8px;background:#355a2d;color:#fff;text-decoration:none;font:700 17px/1.5 glacial,sans-serif;transition:background .2s,border-color .2s}.gift-whatsapp-button svg{flex-shrink:0;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.gift-whatsapp-button>span:not(.sr-only){min-width:0}.gift-whatsapp-button:hover{background:#284823;border-color:#284823}.gift-whatsapp-button:focus-visible{outline:2px solid #a1803f;outline-offset:4px}
.rsvp-section{color:#fff;padding-block:80px}.rsvp-content{max-width:700px;text-align:center}.rsvp-hearts{display:block;width:95px;height:auto;margin:0 auto 14px}.rsvp-section .script-heading{font-size:clamp(56px,5vw,76px)}
.rsvp-deadline{margin:10px 0 30px;font:18px/1.6 glacial,sans-serif;color:#edf0e5}
.rsvp-card{background:#fffdf8;color:#355a2d;border:1px solid #d3c497;border-radius:18px;padding:36px;text-align:left;box-shadow:0 12px 42px #172d181a}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{margin-bottom:22px;min-width:0}.form-field label{display:block;margin:0 0 9px;font:700 16px/1.5 glacial,sans-serif}.form-field label>span:not(.optional){color:#a38546}.form-field .optional{font-weight:400;color:#7b8273}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid #cbd0c0;border-radius:8px;background:#fff;color:#2c4327;font:17px/1.5 glacial,sans-serif;padding:12px 13px;min-height:48px;outline-offset:3px;transition:border-color .2s,box-shadow .2s}
.form-field textarea{resize:vertical;min-height:98px}.form-field :is(input,select,textarea):focus{outline:2px solid #ba9c5b;border-color:#ba9c5b}.form-field :is(input,textarea)::placeholder{color:#909589}.field-hint{display:block;color:#7d8573;font:13px/1.5 glacial,sans-serif;margin-top:5px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy{margin:0 0 17px;color:#7d8573;font:14px/1.6 glacial,sans-serif}
.rsvp-submit{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;border:0;border-radius:8px;padding:15px 20px;background:#355a2d;color:white;cursor:pointer;font:700 18px/1.5 glacial,sans-serif;transition:background .2s,transform .2s}
.rsvp-submit:hover{background:#284823;transform:translateY(-1px)}.rsvp-submit:disabled{opacity:.65;cursor:wait;transform:none}.rsvp-submit:focus-visible{outline:2px solid #b49450;outline-offset:4px}
.form-status{font:16px/1.5 glacial,sans-serif;color:#9a3f29;margin:14px 0 0}.form-status:empty{display:none}
.rsvp-success{text-align:center;padding:30px 0}.success-heart{color:#ad8b45;font:60px/1 Georgia,serif}.rsvp-success h3{font:700 25px/1.5 glacial,sans-serif;margin:22px 0 12px}.rsvp-success p{font:18px/1.7 glacial,sans-serif;color:#5b6952;margin:0 auto 14px}.rsvp-success .success-signature{font:36px/1.4 greatvibes,cursive;color:#355a2d;margin-top:25px}
.rsvp-contact{margin:28px 0 8px;font:15px/1.5 glacial,sans-serif;color:#d8e1cb}.rsvp-contact-numbers{font:18px/1.7 glacial,sans-serif;margin:0}.rsvp-contact-numbers span{color:#d3b86d;margin:0 10px}
[hidden]{display:none!important}
@media(max-width:850px){.route-grid{grid-template-columns:1fr}.route-map-panel{max-width:700px;width:100%;margin-inline:auto}.route-information{grid-template-columns:1fr 1fr}.journey-summary{grid-column:1/-1}.landmarks-card ul{display:grid}.welcome-section{min-height:0}}
@media(max-width:600px){.refined-section{padding:68px 24px}.script-heading{font-size:48px;line-height:1.3}.eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:16px}.welcome-letter{font-size:18px;line-height:1.8}.welcome-letter .welcome-lead{font-size:21px;line-height:1.6}.welcome-letter p{margin-bottom:22px}.couple-signature{font-size:45px;margin-top:28px}.section-intro{font-size:17px;margin:12px auto 27px}.route-grid{gap:22px}.route-information{grid-template-columns:1fr}.journey-summary strong{font-size:25px}.directions-card,.landmarks-card{padding:23px}.directions-card li{font-size:16px}.landmarks-card ul{display:flex}.route-map-link{padding:18px;font-size:16px}.gift-flourish{width:128px}.gift-message{font-size:18px;line-height:1.8;margin:20px auto 26px}.gift-details{padding:25px 23px}.gift-details dl>div{display:block}.gift-details dt{font-size:15px}.gift-details dd{font-size:21px;margin-top:3px}.gift-card-label{font-size:15px}.gift-contact{font-size:17px}.rsvp-section{padding-inline:20px}.rsvp-card{padding:25px 22px;border-radius:13px}.form-row{grid-template-columns:1fr;gap:0}.form-field{margin-bottom:19px}.rsvp-deadline{font-size:17px;max-width:250px;margin:12px auto 26px}.rsvp-contact-numbers{font-size:16px}.rsvp-contact-numbers span{margin:0 3px}.rsvp-hearts{width:82px}}

/* Dress inspiration is one responsive heart, with the complete boards below. */
.dress-content{max-width:820px;text-align:center}
.dress-intro{max-width:620px;margin:14px auto 21px;color:#52634a;font:21px/1.65 glacial,sans-serif}
.dress-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;list-style:none;padding:0;margin:0 auto 20px}
.dress-palette li{display:flex;align-items:center;gap:9px;color:#5b6a53;font:16px/1.5 glacial,sans-serif}
.dress-swatch{display:block;width:21px;height:21px;border:1px solid #00000012;border-radius:50%;box-shadow:inset 0 0 0 3px #ffffff50}
.dress-swatch-blue{background:#7894ad}.dress-swatch-brown{background:#966a4e}.dress-swatch-pink{background:#d6a0b5}
.dress-heart-figure{max-width:750px;margin:0 auto}
.dress-heart{display:block;width:100%;height:auto;overflow:visible}
.dress-guides{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:8px auto 0;max-width:720px}
.dress-guide{min-width:0;padding:8px 10px}
.dress-guide h3{margin:0 0 6px;color:#355a2d;font:700 19px/1.5 glacial,sans-serif}
.dress-guide p{margin:0 0 13px;color:#5b6a53;font:17px/1.6 glacial,sans-serif}
.dress-guide a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#86642e;font:16px/1.5 glacial,sans-serif;text-underline-offset:5px;text-decoration-thickness:1px}
.dress-guide a:hover{color:#355a2d}.dress-guide a:focus-visible{outline:2px solid #b49450;outline-offset:5px;border-radius:2px}
@media(max-width:600px){.dress-code-section{padding-inline:20px}.dress-intro{font-size:18px;line-height:1.65;max-width:340px;margin:13px auto 20px}.dress-palette{gap:22px;margin-bottom:21px}.dress-palette li{font-size:15px;gap:7px}.dress-swatch{width:19px;height:19px}.dress-guides{grid-template-columns:1fr;gap:14px;margin-top:13px;max-width:340px}.dress-guide{padding:16px 10px}.dress-guide+.dress-guide{border-top:1px solid #e6dece}.dress-guide h3{font-size:19px}.dress-guide p{font-size:17px;margin-bottom:4px}.dress-guide a{font-size:16px}}
@media(max-width:600px){.gifts-section{padding-inline:20px}.gift-ribbon-frame{margin-top:27px;padding:65px 27px 35px}.gift-ribbon-bow{width:100px;left:-12px;top:-45px}.gift-ribbon-top,.gift-ribbon-bottom{height:8px}.gift-ribbon-left,.gift-ribbon-right{width:8px}.gifts-section .script-heading{font-size:43px;line-height:1.25}.gift-ribbon-frame .gift-message{margin:20px auto 25px}.gift-ribbon-frame .gift-details{padding:24px 16px}.gift-ribbon-frame .gift-details dd{font-size:20px}.gift-ribbon-frame .gift-contact{font-size:16px;line-height:1.8}}
@media(max-width:600px){.gift-details dd{justify-content:space-between;flex-wrap:wrap;gap:7px}.gift-copy{min-width:78px}.gift-copy-status{font-size:13px;text-align:left}}
@media(max-width:600px){.gift-whatsapp-button{font-size:16px;padding:12px 14px;gap:9px;width:100%}}

/* Flowing phone and tablet layouts retain the original desktop artwork. */
.mobile-flow{height:auto!important;position:relative;isolation:isolate;color:#355a2d}
@media(max-width:900px){.section>.desktop{display:none}.section>.mobile-flow{display:block}.mobile-flow .section-background{overflow:hidden}}
.responsive-invitation{background:#fff;text-align:center}
.responsive-invitation-photo{position:relative;height:clamp(270px,64vw,420px);overflow:hidden}
.responsive-invitation-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% 55%}
.responsive-invitation-photo:after{content:"";position:absolute;inset:auto 0 0;height:75px;background:linear-gradient(transparent,#fff)}
.responsive-invitation-copy{padding:8px 24px 45px}
.responsive-invitation-eyebrow{margin:0 0 15px;font:500 14px/1.6 anantason,sans-serif;text-transform:uppercase;letter-spacing:.16em}
.responsive-invitation h1{margin:0;font:400 clamp(38px,7.5vw,56px)/1.2 greatvibes,cursive;color:#355a2d}
.responsive-invitation h1>span{display:block}.responsive-invitation h1>.responsive-invitation-amp{font-size:.65em;line-height:1.15;margin:5px 0}
.responsive-invitation-date{margin:20px 0 0;font:400 16px/1.6 glacial,sans-serif}.responsive-invitation-date sup{font-size:.65em}
.map-hotspot{min-height:44px;min-width:44px;transform:translateY(-5px)}
.gift-whatsapp-number{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle}
@media(min-width:601px) and (max-width:1000px){.gift-ribbon-frame{padding:55px 34px 40px}.gift-ribbon-bow{width:125px;left:-15px;top:-56px}}
@media(max-width:600px){.refined-section{padding:55px 20px}.rsvp-section{padding-inline:16px}.rsvp-card{padding:24px 18px}.gift-ribbon-frame{padding-inline:23px}.gift-ribbon-frame .gift-details{padding-inline:14px}.form-field input,.form-field select,.form-field textarea{font-size:17px}.rsvp-contact-numbers{display:flex;flex-wrap:wrap;justify-content:center;column-gap:8px;row-gap:3px}.rsvp-contact-numbers span{margin-inline:0}}
@media(max-width:360px){.gift-ribbon-frame{padding-inline:18px}.gift-ribbon-frame .gift-details{padding-inline:12px}.gift-details dd{row-gap:9px}.gift-details dl>div{padding-bottom:4px}.gifts-section .script-heading{font-size:39px}.rsvp-card{padding-inline:15px}}
