:root{--rose:#b76c73;--rose-dark:#8e4f59;--blush:#f3e2df;--cream:#fcf9f4;--ink:#3e3c37;--muted:#878078;--sage:#7a8875;--line:#e7ded5;--serif:'Cormorant Garamond',Georgia,serif;--script:'Great Vibes',cursive;--sans:'Be Vietnam Pro',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rose-dark);outline-offset:5px}button{border:0}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h2{font-family:var(--script);font-weight:400;font-size:clamp(45px,5vw,70px);line-height:1.4}h3{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.4}.eyebrow{font-size:10px;letter-spacing:.26em;font-weight:500;line-height:1.8}.script{font-family:var(--script)}.section{padding:106px 24px}.section-heading{text-align:center;margin:0 auto 48px;max-width:650px}.section-heading .eyebrow{color:var(--rose);margin-bottom:14px}.section-heading>p:last-child{font-size:13px;color:var(--muted)}.tiny-rule{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--rose);font-size:24px;line-height:1;margin:17px auto 23px}.tiny-rule:before,.tiny-rule:after{content:'';height:1px;width:50px;background:var(--line)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--rose);background:var(--rose);color:#fff;padding:13px 23px;font-size:11px;letter-spacing:.035em;transition:background .2s,transform .2s;min-height:46px}.button:hover{background:var(--rose-dark);transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.button.outline{background:transparent;color:var(--rose-dark)}.button.outline:hover{background:#f6e9e5}.skip{position:fixed;z-index:99;left:15px;top:-80px;background:white;color:var(--ink);padding:12px 22px}.skip:focus{top:15px}.header{height:83px;position:absolute;left:0;top:0;width:100%;padding:0 5%;display:flex;align-items:center;justify-content:space-between;z-index:20;color:#fff;border-bottom:1px solid #ffffff35;transition:background .3s;gap:30px}.header.scrolled{position:fixed;background:#fcf9f4f2;backdrop-filter:blur(16px);color:var(--ink);border-bottom:1px solid var(--line);height:70px}.monogram{font:500 30px var(--serif);white-space:nowrap;letter-spacing:.07em}.monogram span{color:var(--rose);font-size:21px}.header:not(.scrolled) .monogram span{color:#f7d1ca}.header nav{display:flex;gap:29px;font-size:11px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-7px;left:0;right:100%;height:1px;background:currentColor;transition:right .2s}.header nav a:hover:after{right:0}.nav-rsvp{font-size:10px;border:1px solid #ffffff80;padding:9px 16px;white-space:nowrap}.scrolled .nav-rsvp{border-color:var(--line);color:var(--rose-dark)}.nav-rsvp span{margin-left:10px}.menu-toggle{display:none;background:transparent;padding:12px;color:inherit;z-index:25}.menu-toggle span{display:block;width:23px;height:1px;margin:6px;background:currentColor}.hero{position:relative;min-height:780px;height:100svh;max-height:1100px;isolation:isolate;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-photo{object-position:55% 52%;animation:photo-in 1.8s ease-out}.hero-shade{background:linear-gradient(90deg,#2b322b45,#34332f3a),linear-gradient(0deg,#20251f60,transparent 45%,#17281c30);z-index:-2}.hero-heart{position:absolute;width:min(600px,79vw);height:74%;max-height:650px;fill:#a45d6380;stroke:#f8d9d14d;stroke-width:.8;z-index:-1;top:50%;left:50%;transform:translate(-50%,-47%)}.hero-content{text-align:center;padding:96px 20px 40px;max-width:700px;animation:content-in 1s .15s both}.hero-content .eyebrow{font-size:10px;letter-spacing:.29em;margin-bottom:24px}h1{font-family:var(--script);font-size:clamp(70px,7.2vw,110px);font-weight:400;line-height:1.08;text-shadow:0 2px 24px #35292b26}h1 span{display:block}h1 i{font:italic 34px var(--serif);display:block;margin:5px 0 11px;color:#fbe3da}.hero-rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px 0 17px}.hero-rule span{width:72px;height:1px;background:#ffffff70}.hero-rule svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1}.hero-date{font-size:12px;letter-spacing:.04em;color:#ffefe9}.hero-cta{margin-top:26px;display:inline-flex;align-items:center;gap:26px;font-size:11px;letter-spacing:.04em;border:1px solid #ffffff60;padding:9px 22px;background:#ffffff08;transition:background .2s}.hero-cta:hover{background:#ffffff20}.hero-cta span{font-size:19px}.scroll-hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.2em;display:flex;align-items:center;gap:12px;white-space:nowrap}.scroll-hint span{display:inline-block;height:27px;width:15px;border:1px solid #ffffff80;border-radius:20px;position:relative}.scroll-hint span:after{content:'';width:2px;height:5px;background:#fff;position:absolute;left:5px;top:6px;animation:scroll-dot 1.8s infinite}.sample-caption{position:absolute;bottom:28px;left:30px;font-size:8px;color:#fffdf2b5;letter-spacing:.025em}.hero-side{position:absolute;right:32px;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.3em;color:#fff9}.invitation{position:relative;overflow:hidden;background:#f4efe7;isolation:isolate;padding-top:90px;padding-bottom:90px}.invitation-art{position:absolute;inset:0;background:url('assets/florals.jpg') no-repeat left bottom/50% auto;opacity:.8;z-index:-1}.invitation:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent,#f5efe79c 35%,#f5efe7bb)}.invitation-paper{width:min(660px,100%);margin:auto;text-align:center;border:1px solid #d8c4b5;outline:1px solid #dac8bb;outline-offset:-12px;padding:37px 35px 32px;background:#fffaf5e0;box-shadow:0 12px 40px #7861530a}.ornament{font-size:34px;color:var(--sage);line-height:1.5}.invitation-paper .eyebrow{color:var(--rose);margin:12px 0}.invitation-paper h2{font-size:clamp(44px,5vw,62px);color:var(--rose-dark)}#guest-name{font-family:var(--serif);font-size:23px;margin:8px 0 19px;color:var(--ink)}.invitation-copy{font-size:12px;color:var(--muted)}.invite-names{font-family:var(--serif);font-size:37px;line-height:1.5;color:var(--rose-dark);margin:13px 0 15px}.invite-names span{font-family:var(--script);font-size:32px;margin:0 7px}.date-seal{margin:25px auto;display:flex;flex-direction:column;gap:7px;width:min(400px,100%);padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.date-seal strong{font-family:var(--serif);font-size:24px;font-weight:500}.signature{font-family:var(--script);color:var(--rose);font-size:29px;margin-top:26px}.couple{background:var(--cream)}.couple-grid{display:grid;grid-template-columns:1fr 100px 1fr;max-width:850px;margin:auto;align-items:center}.person{text-align:center}.portrait{position:relative;overflow:hidden;border-radius:170px 170px 0 0;max-width:300px;height:360px;margin:0 auto 27px;background:#eee5db;border:6px solid var(--cream);outline:1px solid var(--line);isolation:isolate;display:flex;align-items:center;justify-content:center}.portrait:before{position:absolute;content:'';inset:0;background:url('assets/florals.jpg') left bottom/cover;opacity:.6;z-index:-1}.bride:before{transform:scaleX(-1)}.portrait-initial{font-family:var(--script);color:#805b596e;font-size:130px;padding-bottom:70px}.portrait-note{position:absolute;bottom:13px;left:0;right:0;font-size:9px;letter-spacing:.1em;color:#785f58}.person .eyebrow{color:var(--muted);font-size:9px}.person h3{font-family:var(--script);font-size:44px;margin-top:5px;color:var(--rose-dark)}.couple-amp{font-family:var(--script);font-size:73px;align-self:center;color:#c69496;text-align:center;margin-bottom:30px}.photo-pending{text-align:center;color:var(--muted);font-size:10px;margin-top:33px}.love-note{padding:83px 24px 72px;background:#ead9d5;text-align:center;position:relative;overflow:hidden}.love-note .eyebrow{color:var(--rose-dark);margin-bottom:17px}.love-note h2{font-family:var(--serif);font-size:clamp(38px,4.4vw,62px);font-style:italic;line-height:1.13;color:#704e50}.love-note p:not(.eyebrow){font-size:12px;color:#876f6c;margin-top:23px}.love-signature{font-family:var(--script);display:block;font-size:33px;color:var(--rose-dark);margin-top:20px}.quote-mark{position:absolute;left:8%;top:-20px;font:430px var(--serif);color:#fff4;pointer-events:none}.events{background:#fffdf9}.event-layout{max-width:1050px;display:grid;grid-template-columns:1fr 1fr;margin:auto;border:1px solid var(--line)}.event-card{padding:40px 42px;background:#f9f3ed;text-align:center}.event-icon{font-family:var(--serif);font-size:50px;color:var(--rose);line-height:1}.event-card .eyebrow{font-size:8px;color:var(--rose);margin:15px 0 8px}.event-card h3{font-family:var(--script);font-size:51px;margin-bottom:26px}.event-detail{display:flex;align-items:flex-start;gap:16px;text-align:left;margin:21px 0;font-size:12px}.event-detail>span{color:var(--rose);font-size:25px;line-height:1.4}.event-detail strong{font-weight:500}.event-detail p{font-size:11px;color:var(--muted)}.event-actions{display:flex;gap:10px;margin-top:28px;justify-content:center}.event-actions .button{font-size:10px;gap:10px;padding:11px 15px}.small-note{font-size:9px;color:var(--muted);margin-top:14px}.calendar-card{padding:42px 40px;text-align:center}.calendar-card .script{font-size:36px;color:var(--rose)}.calendar-card h3{font-family:var(--sans);font-size:11px;letter-spacing:.025em;margin:11px 0 23px}.calendar{min-height:185px}.calendar-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:23px 0}.calendar-empty>span{font:57px var(--serif);color:#c89597}.calendar-empty p{font-size:11px;color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;font-size:11px}.calendar-grid>span{display:flex;align-items:center;justify-content:center;min-height:31px}.calendar-grid .weekday{font-size:9px;color:var(--muted)}.calendar-grid .wedding-day{background:var(--rose);color:white;border-radius:50%;width:31px;margin:auto}.countdown-caption{font-size:8px;letter-spacing:.19em;margin:25px 0 17px;color:var(--rose)}.countdown{display:flex;justify-content:center;gap:25px}.countdown>div{display:flex;flex-direction:column}.countdown strong{font-family:var(--serif);font-size:36px;font-weight:400;line-height:1.2;color:var(--rose-dark)}.countdown span{font-size:7px;letter-spacing:.13em;color:var(--muted);margin-top:6px}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:17px;max-width:1120px;margin:auto}.gallery-item{position:relative;overflow:hidden;background:var(--blush);padding:0;text-align:left;height:390px;color:white}.gallery-item.wide{height:440px}.gallery-item.floral{margin-top:48px}.gallery-item.detail{margin-top:0;height:440px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s;object-position:67% center}.gallery-item.floral img{object-position:27% 85%}.gallery-item.detail img{object-position:93% center}.gallery-item:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#333a2d85);pointer-events:none}.gallery-item:hover img{transform:scale(1.055)}.gallery-item>span{position:absolute;bottom:18px;left:20px;right:20px;z-index:1;font-size:10px;display:flex;align-items:center;justify-content:space-between}.gallery-item i{font-style:normal;font-size:22px;font-weight:300}.rsvp{background:#eadbd4;padding:75px 24px}.rsvp-inner{max-width:960px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.rsvp-copy .eyebrow{color:var(--rose-dark);font-size:8px;margin-bottom:20px}.rsvp-copy h2{font-family:var(--serif);font-style:italic;font-size:53px;line-height:1.1;color:#765555}.rsvp-copy p:not(.eyebrow){font-size:11px;color:#84716b;margin-top:24px;line-height:2.1}.rsvp-flower{color:#9b776d;font-size:64px;margin-top:10px;line-height:1.5}.form-card{background:#fffcf8;padding:33px 35px;display:flex;flex-direction:column;gap:9px;border:1px solid #e7d8cb}.form-card h3{font-family:var(--serif);font-size:33px;color:var(--rose-dark);margin-bottom:1px}.form-note{font-size:9px;color:var(--muted);line-height:1.8;margin-bottom:14px}.form-card label{font-size:10px;margin-top:5px}.form-card label>span{color:var(--rose)}input,select,textarea{border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink);padding:11px 13px;font-size:11px;width:100%;min-height:44px}textarea{resize:vertical;line-height:1.9}input::placeholder,textarea::placeholder{color:#ada39a}select:disabled{opacity:.45}.form-card .button{margin-top:13px;justify-content:space-between;padding-left:20px;padding-right:20px}.form-result{font-size:10px;color:var(--sage);line-height:1.8;min-height:0}.form-result:empty{display:none}.wishes{background:#fffdf9}.wishes-layout{max-width:960px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px}.wishes .form-card{background:var(--cream)}.wish-list{max-height:395px;overflow-y:auto}.empty-wishes{background:#f6eee7;border:1px solid var(--line);min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px;position:relative}.empty-wishes .script{font-size:36px;color:var(--rose)}.empty-wishes p{font-family:var(--serif);font-size:23px;color:#9c8980;line-height:1.5;margin:20px 0}.empty-wishes>span:last-child{font-family:var(--serif);font-size:40px;color:var(--rose)}.wish-entry{border-bottom:1px solid var(--line);padding:20px 25px 24px;background:#f9f3ed;margin-bottom:10px}.wish-entry p{font-family:var(--serif);font-size:21px;line-height:1.5;color:#785859;white-space:pre-wrap;overflow-wrap:anywhere}.wish-entry strong{display:block;font-size:10px;font-weight:500;margin-top:15px;color:var(--rose)}.wish-entry time{font-size:8px;color:var(--muted)}.footer{position:relative;isolation:isolate;background:#e9ded4;padding:90px 24px 40px;text-align:center;overflow:hidden}.footer:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#fff8,#f7eee1aa),url('assets/florals.jpg') left 80%/cover;opacity:.65}.footer .eyebrow{font-size:8px;color:#897469;line-height:2}.footer h2{font-size:76px;color:var(--rose-dark);margin:11px 0}.footer-names{font-family:var(--serif);font-size:25px}.footer-names span{font-family:var(--script);font-size:30px;margin:0 8px;color:var(--rose)}.footer-note{font-size:9px;letter-spacing:.07em;color:var(--muted);margin-top:20px}.back-top{display:inline-block;margin-top:42px;font-size:9px;color:#9a857a;border-bottom:1px solid #b5a496}.floating-actions{position:fixed;right:22px;bottom:24px;display:flex;flex-direction:column;gap:9px;z-index:15}.float-button{width:43px;height:43px;border-radius:50%;background:var(--rose);color:#fff;box-shadow:0 3px 15px #69383322;font-size:24px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff50;position:relative;transition:background .2s}.float-button:hover{background:var(--rose-dark)}.music-line{position:absolute;height:1px;width:27px;background:#fff;transform:rotate(-45deg)}#music-button[aria-pressed=true] .music-line{display:none}#music-button[aria-pressed=true]{animation:pulse 3s infinite}.lightbox{position:fixed;border:0;padding:0;background:#292a26;color:#fff;max-width:min(920px,90vw);max-height:92svh;overflow:auto;box-shadow:0 15px 100px #0009}.lightbox::backdrop{background:#171b17e6;backdrop-filter:blur(6px)}.lightbox>img{max-height:73svh;max-width:100%;width:auto;margin:auto;object-fit:contain}.lightbox>p{text-align:center;font-size:11px;margin:15px 45px 0;color:#d1ccc5}.dialog-close{position:absolute;top:8px;right:8px;background:#292a2680;color:white;border:1px solid #ffffff80;border-radius:50%;width:35px;height:35px;font-size:26px;line-height:1;z-index:2}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:25px;padding:8px 20px 12px;font-size:10px}.lightbox-controls button{background:transparent;color:white;font-size:21px;padding:8px 17px}.toast{position:fixed;left:50%;bottom:29px;max-width:min(480px,80vw);transform:translate(-50%,20px);padding:12px 20px;background:#fffaf4;color:var(--rose-dark);border:1px solid var(--line);box-shadow:0 4px 30px #66423325;font-size:11px;text-align:center;opacity:0;pointer-events:none;z-index:100;transition:opacity .25s,transform .25s}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{text-align:center;padding:25px;font-size:11px}.has-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.has-motion .reveal.visible{opacity:1;transform:none}
@keyframes scroll-dot{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(8px);opacity:1}}@keyframes content-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes photo-in{from{transform:scale(1.04)}to{transform:scale(1)}}@keyframes pulse{50%{box-shadow:0 0 0 5px #b76c7325}}
.remove-preview{display:block;background:none;color:var(--muted);font-size:9px;border-bottom:1px solid var(--line);padding:0;margin-top:8px}
@media(min-width:1600px){.hero{min-height:850px}.hero-heart{width:690px;max-height:740px}h1{font-size:124px}}
@media(max-width:1000px){.header{gap:18px;padding:0 4%}.header nav{gap:17px;font-size:10px}.nav-rsvp{font-size:9px;padding:8px 11px}.event-card{padding:35px 27px}.calendar-card{padding:35px 25px}.event-actions{flex-direction:column}.event-actions .button{width:100%}.rsvp-inner{gap:40px}.gallery-item,.gallery-item.detail,.gallery-item.wide{height:380px}}
@media(max-width:760px){html{scroll-padding-top:66px}.header{height:67px;padding:0 21px;gap:15px}.header.scrolled{height:64px}.monogram{font-size:27px}.menu-toggle{display:block;order:3;margin-right:-10px}.nav-rsvp{margin-left:auto;font-size:8px;padding:7px 10px}.nav-rsvp span{margin-left:5px}.header nav{position:absolute;top:66px;left:0;right:0;padding:28px 24px;background:var(--cream);color:var(--ink);flex-direction:column;gap:17px;text-align:center;font-size:13px;box-shadow:0 10px 20px #0001;display:none;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.scrolled nav{top:64px}.hero{height:100svh;min-height:700px;max-height:950px}.hero-photo{object-position:58% center}.hero-heart{width:96vw;height:78%;transform:translate(-50%,-48%)}.hero-content{width:100%;padding:94px 21px 60px}.hero-content .eyebrow{font-size:8px;letter-spacing:.21em;margin-bottom:24px}h1{font-size:clamp(67px,16vw,93px)}h1 i{font-size:29px;margin:9px 0 16px}.hero-rule{margin-top:27px}.hero-date{font-size:10px}.hero-cta{font-size:10px;padding:9px 19px}.sample-caption{left:15px;bottom:69px;font-size:7px;right:15px;text-align:center}.hero-side{display:none}.scroll-hint{bottom:25px;font-size:7px}.section{padding:70px 21px}.section-heading{margin-bottom:34px}.section-heading h2{font-size:50px}.section-heading>p:last-child{font-size:11px}.section-heading .eyebrow{font-size:8px}.invitation-art{background-size:110% auto;opacity:.64}.invitation:after{background:#f5efe75c}.invitation-paper{padding:28px 22px 29px;outline-offset:-8px}.invitation-paper h2{font-size:43px}.invitation-paper .eyebrow{font-size:8px}#guest-name{font-size:20px}.invitation-copy{font-size:10px}.invite-names{font-size:31px}.invite-names span{margin:0 2px}.date-seal{margin:22px auto;font-size:9px}.date-seal strong{font-size:21px}.invitation-paper .button{font-size:10px}.signature{font-size:27px;margin-top:21px}.couple-grid{grid-template-columns:1fr 34px 1fr;gap:4px}.portrait{height:240px;max-width:205px;border-width:4px;margin-bottom:23px;border-radius:120px 120px 0 0}.portrait-initial{font-size:88px;padding-bottom:38px}.portrait-note{font-size:7px;letter-spacing:.01em;bottom:9px}.person h3{font-size:34px;white-space:nowrap}.person .eyebrow{font-size:7px}.couple-amp{font-size:39px;margin-bottom:38px}.photo-pending{font-size:8px;margin-top:25px}.love-note{padding:61px 21px 56px}.love-note .eyebrow{font-size:8px}.love-note h2{font-size:39px}.love-note p:not(.eyebrow){font-size:11px}.quote-mark{font-size:290px;left:-20px;top:5px}.event-layout{grid-template-columns:1fr}.event-card{padding:29px 26px}.event-card h3{font-size:48px}.event-actions{flex-direction:row}.event-actions .button{font-size:9px;padding:11px 9px;gap:6px}.event-detail{font-size:11px}.event-detail p{font-size:10px}.small-note{font-size:8px}.calendar-card{padding:30px 24px 33px}.calendar{min-height:157px}.calendar-empty{padding:13px 0}.calendar-card .script{font-size:36px}.calendar-card h3{margin-bottom:10px}.countdown{gap:27px}.countdown strong{font-size:35px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item.wide{grid-column:1/-1;height:270px}.gallery-item.floral,.gallery-item.detail{height:250px;margin-top:0}.gallery-item>span{font-size:8px;left:11px;right:11px;bottom:11px;gap:5px}.gallery-item i{font-size:19px}.gallery-item.wide img{object-position:center 65%}.gallery-item.detail img{object-position:83% center}.rsvp-inner{grid-template-columns:1fr;gap:30px}.rsvp-copy{text-align:center}.rsvp-copy .eyebrow{margin-bottom:15px}.rsvp-copy h2{font-size:42px}.rsvp-copy p:not(.eyebrow){margin-top:18px}.rsvp-flower{display:none}.form-card{padding:28px 23px}.form-card h3{font-size:30px}.form-note{font-size:8px}.form-card label{font-size:10px}.form-card input,.form-card select,.form-card textarea{font-size:12px}.wishes-layout{grid-template-columns:1fr;gap:23px}.empty-wishes{min-height:260px}.wish-list{max-height:360px}.empty-wishes .script{font-size:35px}.empty-wishes p{font-size:23px}.footer{padding:65px 22px 35px}.footer .eyebrow{font-size:7px;max-width:300px;margin:auto}.footer h2{font-size:65px}.footer-names{font-size:24px}.floating-actions{right:13px;bottom:17px}.float-button{width:38px;height:38px;font-size:21px}.toast{font-size:10px;bottom:25px;padding:12px 16px}.lightbox{max-width:95vw;max-height:90svh}.lightbox>img{max-height:70svh}.lightbox>p{font-size:10px}}
@media(max-width:360px){.header{padding:0 15px}.nav-rsvp{font-size:7px}.hero-content .eyebrow{font-size:7px}h1{font-size:64px}.couple{padding-left:15px;padding-right:15px}.portrait{height:210px}.person h3{font-size:29px}.invite-names{font-size:27px}.invitation-paper h2{font-size:38px}.section-heading h2{font-size:43px}.gallery-item.floral,.gallery-item.detail{height:220px}.event-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.has-motion .reveal{opacity:1;transform:none}}
@media print{.header,.floating-actions,.hero-cta,.scroll-hint,.sample-caption,.hero-side,.rsvp,.wishes,.back-top,.event-actions,.toast{display:none}.hero{min-height:0;height:500px;print-color-adjust:exact}.section{padding:40px 25px}.reveal{opacity:1!important;transform:none!important}.hero-heart{fill:#b76c7380}.gallery-item{break-inside:avoid}body{font-size:12px}.invitation-paper{break-inside:avoid}}

.hero-time{font-size:11px;color:#ffefe9;margin-top:5px;letter-spacing:.03em}@media(max-width:760px){.hero-time{font-size:10px}}
.gallery-item.wide img{object-position:48% 70%}.gallery-item.floral img{object-position:48% 70%}.gallery-item.detail img{object-position:50% 55%}
