.wedding-page{--accent:#985069;--accent-dark:#783d53;--soft:#f5e9e8;--theme-paper:#fffaf5;--theme-ink:#4d383c;background:var(--theme-paper);color:var(--theme-ink);--pink:var(--accent);--pink-dark:var(--accent-dark)}.theme-garden{--accent:#4d644b;--accent-dark:#354c33;--soft:#eaece2;--theme-paper:#f7f5ec;--theme-ink:#303e2d}.theme-coastal{--accent:#547d8d;--accent-dark:#37606f;--soft:#e8eff0;--theme-paper:#fcf9f1;--theme-ink:#344e57}.wedding-wrap{width:min(1040px,calc(100% - 80px));margin-inline:auto}.wedding-eyebrow{font-size:9px;letter-spacing:2.3px;color:var(--accent);text-transform:uppercase}.wedding-nav{height:72px;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 40px;background:var(--theme-paper);gap:25px;border-bottom:1px solid #cbbcab40}.back-to-studio{font-size:10px;display:flex;gap:9px;align-items:center;color:var(--accent)}.back-to-studio span{font-family:var(--serif);font-size:20px}.wedding-monogram{font-family:var(--serif);font-size:28px;position:absolute;left:50%;transform:translateX(-50%);color:var(--accent)}.wedding-nav>div{display:flex;align-items:center;gap:23px;font-size:9px}.nav-rsvp{background:var(--accent);padding:8px 15px;color:#fff}.wedding-hero{height:calc(100svh - 72px);min-height:630px;max-height:880px;position:relative;background:var(--accent)}.wedding-hero-image{position:absolute;inset:0;overflow:hidden}.wedding-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#271d2355,#24182410 50%,#2c172452),linear-gradient(0deg,#2d1b2480,transparent 60%)}.wedding-hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 36%}.wedding-hero-content{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:center;color:#fffaf1;text-align:center;padding:35px 20px;background:#26181710}.wedding-hero-content .wedding-eyebrow{color:#fff4e1;font-size:8px;text-shadow:0 1px 15px #0008;margin-top:15px}.wedding-invite-line{font-family:var(--serif);font-style:italic;font-size:19px;color:#fff1df;margin-top:13px;text-shadow:0 1px 15px #0009}.wedding-hero h1{font-family:var(--script);font-weight:400;font-size:100px;line-height:1.12;text-shadow:0 2px 25px #2f241c55;margin:25px 0}.wedding-hero h1 span{display:block;font-family:var(--serif);font-style:italic;font-size:46px;line-height:.7;margin:13px 0}.wedding-hero-date{display:flex;flex-direction:column;gap:5px;text-shadow:0 1px 15px #0008}.wedding-hero-date>span:first-child{font-family:var(--serif);font-style:italic;font-size:21px}.wedding-hero-date>strong{font-size:12px;font-weight:400;letter-spacing:3px;text-transform:uppercase}.wedding-hero-date>span:last-child{font-size:10px;margin-top:3px}.wedding-scroll{position:absolute;bottom:28px;font-size:7px;letter-spacing:2px;display:flex;flex-direction:column;gap:10px;align-items:center}.wedding-scroll span{font-size:22px}.theme-blush .wedding-hero{width:min(1330px,calc(100% - 56px));margin:25px auto 0;height:710px;border-radius:280px 280px 4px 4px;overflow:hidden}.theme-blush .wedding-hero-image img{object-position:50% 41%}.theme-blush .wedding-hero-content{background:linear-gradient(90deg,#30252442,transparent 60%,#30252420)}.theme-garden .wedding-hero h1{font-family:var(--serif);font-size:110px;letter-spacing:-3px}.theme-garden .wedding-hero h1 span{font-family:var(--script);font-size:65px;margin:16px}.theme-garden .wedding-hero-image img{object-position:50% 33%}.theme-garden .wedding-hero-content{background:#11241328}.theme-coastal .wedding-hero{display:grid;grid-template-columns:.85fr 1fr;height:740px;min-height:0;background:var(--theme-paper);padding:37px 40px;gap:40px}.theme-coastal .wedding-hero-image{position:relative;grid-column:2;grid-row:1;border-radius:250px 250px 0 0}.theme-coastal .wedding-hero-image:after{display:none}.theme-coastal .wedding-hero-image img{object-position:50% 45%}.theme-coastal .wedding-hero-content{position:relative;grid-column:1;grid-row:1;color:var(--accent);background:none}.theme-coastal .wedding-hero-content .wedding-eyebrow,.theme-coastal .wedding-invite-line{color:var(--accent);text-shadow:none}.theme-coastal .wedding-hero h1{font-family:var(--serif);font-style:italic;font-size:96px;line-height:.9;letter-spacing:-3px;text-shadow:none;margin:35px 0}.theme-coastal .wedding-hero h1 span{font-family:var(--script);font-size:51px;line-height:1;margin:10px 0}.theme-coastal .wedding-hero-date{text-shadow:none}.theme-coastal .wedding-scroll{bottom:0}.wedding-intro{padding-top:76px;padding-bottom:75px;text-align:center}.wedding-ornament{font-size:38px;color:var(--accent);line-height:1.3;display:block}.wedding-intro .wedding-eyebrow{margin-top:15px;font-size:8px}.wedding-intro h2{font-size:53px;margin:17px 0}.wedding-intro>p:not(.wedding-eyebrow){font-size:12px;line-height:1.9}.countdown{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:31px}.countdown>div{min-width:61px;display:flex;flex-direction:column}.countdown strong{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.1;color:var(--accent)}.countdown span{font-size:7px;letter-spacing:1.8px;margin-top:9px;color:#9b8d80}.countdown i{font-family:var(--serif);font-size:24px;font-style:normal;color:#b7a98e;margin-top:-16px}.wedding-intro .countdown-message{font-family:var(--serif);font-style:italic;font-size:17px!important;margin-top:20px}.wedding-intro .text-link{margin-top:16px;color:var(--accent);font-size:10px}.our-story{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;padding-top:25px;padding-bottom:60px}.story-photo{position:relative;transform:rotate(-3deg);background:#fffcf5;padding:12px 12px 37px;box-shadow:0 8px 35px #51423315}.story-photo img{width:100%;height:320px;object-fit:cover}.story-photo>span{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-family:var(--serif);font-size:17px;font-style:italic;color:#ad9285}.story-copy h2{font-size:47px;margin:18px 0 24px}.story-copy>p:not(.wedding-eyebrow){font-size:12px;line-height:2}.story-signature{display:block;font-family:var(--script);font-size:29px;margin-top:22px;color:var(--accent)}.story-milestones{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0 75px;gap:45px}.story-milestones>div{border-top:1px solid #cabbac60;padding-top:18px;position:relative}.story-milestones>div:before{content:'';width:5px;height:5px;background:var(--accent);border-radius:50%;position:absolute;top:-3px}.story-milestones span{font-size:9px;color:var(--accent);letter-spacing:1.5px}.story-milestones h3{font-size:25px;margin:9px 0 5px}.story-milestones p{font-size:11px;line-height:1.8}.wedding-details{padding:80px 0;background:var(--soft);text-align:center}.wedding-details h2{font-size:52px;margin-top:17px}.details-date{font-size:12px;margin-top:21px}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:37px}.venue-card{padding:30px 30px 32px;background:var(--theme-paper);border:1px solid #b4a59240;outline:1px solid #b4a59230;outline-offset:-9px}.venue-time{font-size:8px;letter-spacing:1.7px;color:var(--accent)}.venue-card h3{font-size:35px;margin-top:10px}.venue-flourish{font-size:38px;margin:14px 0;color:var(--accent)}.venue-card h4{font-family:var(--serif);font-size:24px;font-weight:500;margin:0}.venue-card p{font-size:10px;margin-top:7px;min-height:36px}.venue-card .text-link{font-size:10px;margin-top:14px;color:var(--accent)}.day-timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:53px}.day-timeline>div{position:relative;display:flex;align-items:center;flex-direction:column}.day-timeline>div:before{content:'';width:100%;height:1px;position:absolute;left:50%;top:17px;background:#b6a28b70}.day-timeline>div:last-child:before{display:none}.timeline-dot{background:var(--soft);border:1px solid #ad977e70;width:35px;height:35px;display:grid;place-items:center;font-size:8px;color:var(--accent);border-radius:50%;z-index:1}.day-timeline time{font-size:8px;letter-spacing:1.3px;margin-top:18px;color:var(--accent)}.day-timeline p{font-family:var(--serif);font-size:19px;margin-top:6px;color:var(--theme-ink)}.dress-section{padding-block:70px;display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.dress-section h2{font-size:38px;line-height:1.13;margin:15px 0 19px}.dress-section>div>p:last-child{font-size:11px;line-height:1.9}.dress-palette>div{display:flex;gap:10px;justify-content:center}.dress-palette span{width:59px;height:85px;border-radius:40px 40px 0 0;background:var(--swatch);display:block}.dress-palette>p{font-family:var(--serif);font-style:italic;text-align:center;margin-top:16px;font-size:15px!important}.memories-section{background:#ece6dd55;padding:75px 0}.memories-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.memories-heading h2{font-size:49px;margin-top:16px}.memories-heading>p{font-size:11px}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:32px}.gallery-item{padding:0;border:0;background:var(--soft);position:relative;overflow:hidden;text-align:left;height:380px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#182018ad,transparent 70%)}.gallery-item>span{position:absolute;left:25px;right:25px;bottom:23px;color:#fff8e9;z-index:2;display:flex;flex-direction:column}.gallery-item small{font-size:6px;letter-spacing:1.9px}.gallery-item strong{font-family:var(--serif);font-size:24px;font-weight:400;margin-top:4px;max-width:90%}.gallery-item i{position:absolute;right:0;bottom:6px;font-size:21px;font-style:normal}.film-card{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;margin-top:65px;align-items:center}.film-image{height:290px;position:relative}.film-image>img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}.play-story{width:64px;height:64px;border-radius:50%;border:1px solid #fff6e5ad;background:#fff5e81c;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:33px;line-height:1;display:grid;place-items:center;transition:background .2s}.play-story:hover{background:#fff5e846}.play-story>span{margin-left:4px}.film-image-label{position:absolute;bottom:21px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:2px;color:#fff5df}.film-copy h3{font-size:38px;line-height:1.1;margin:13px 0 15px}.film-copy>p:not(.wedding-eyebrow){font-size:11px;line-height:1.9}.film-copy>.text-link{font-size:10px;margin-top:15px;color:var(--accent)}.wedding-film-slot{display:flex;align-items:center;gap:12px;border-top:1px solid #bfb3a54f;margin-top:23px;padding-top:16px}.wedding-film-slot>span{font-size:25px;color:var(--accent)}.wedding-film-slot strong{font-size:10px;font-weight:500}.wedding-film-slot p{font-size:9px;margin-top:3px}#wedding-video{margin-top:35px}#wedding-video:empty{display:none}#wedding-video h3{font-size:30px;margin-bottom:15px}#wedding-video video{width:100%;max-height:580px;background:#191919}.wedding-quote{padding:65px 20px;text-align:center;background:var(--accent);color:#f9f4e7}.wedding-quote p{font-family:var(--serif);font-size:48px;font-style:italic;line-height:1.2;color:inherit}.wedding-quote>span{display:block;font-size:9px;letter-spacing:1.5px;margin-top:18px;color:#fff5dfb3}.guest-notes{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;padding-block:70px}.guest-notes h2{font-size:44px;margin-top:18px}.guest-notes .faq-list summary{font-size:11px}.guest-notes .faq-list details p{font-size:11px}.rsvp-section{background:var(--soft);padding:75px 25px}.rsvp-wrap{width:min(520px,100%);margin:auto;text-align:center}.rsvp-wrap h2{font-size:53px;margin:17px 0}.rsvp-wrap>p:not(.wedding-eyebrow){font-size:12px;line-height:1.9}.rsvp-wrap form{text-align:left;margin-top:30px}.rsvp-wrap form input,.rsvp-wrap form textarea{background:var(--theme-paper)}.attendance-options{border:0;padding:0;margin:0 0 18px;display:flex;gap:13px}.attendance-options legend{font-size:10px;font-weight:500;margin-bottom:8px}.attendance-options label{flex:1;display:flex;flex-direction:row;align-items:center;border:1px solid #b9aa975e;background:var(--theme-paper);padding:12px;cursor:pointer;margin:0;font-size:10px}.attendance-options label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.attendance-options input{appearance:none;width:13px;height:13px;border:1px solid #bbae99;border-radius:50%;padding:0;margin:0 5px 0 0;flex-shrink:0}.attendance-options input:checked{background:var(--accent);box-shadow:inset 0 0 0 3px var(--theme-paper)}.attendance-options label>span{color:var(--theme-ink)}.attendance-options i{font-style:normal;color:var(--accent);margin-left:7px}.wedding-footer{text-align:center;padding:50px 20px 30px}.wedding-footer .wedding-ornament{font-size:27px}.wedding-footer h2{font-family:var(--script);font-size:45px;margin-top:15px;font-weight:400;color:var(--accent)}.theme-garden .wedding-footer h2,.theme-coastal .wedding-footer h2{font-family:var(--serif)}.wedding-footer>p{font-size:8px;margin-top:18px}.wedding-footer>p span{margin-inline:10px}.footer-love{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--accent);display:block;margin-top:15px}.studio-credit{font-size:6px;letter-spacing:1.8px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:40px;color:#988d7c}.studio-credit strong{font-family:var(--serif);font-size:22px;letter-spacing:-.7px;font-weight:400;color:var(--accent)}.share-invitation{position:fixed;bottom:18px;right:20px;border:1px solid #b5a58e66;background:var(--theme-paper);color:var(--accent);padding:9px 15px;box-shadow:0 4px 20px #30282316;font-size:9px;border-radius:30px;z-index:5;display:flex;gap:15px}.share-invitation span{font-size:14px;line-height:1.5}.wedding-toast{position:fixed;bottom:70px;right:20px;z-index:6;max-width:min(350px,calc(100% - 40px));background:var(--theme-ink);color:var(--theme-paper);padding:14px 20px;font-size:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;overflow-wrap:anywhere;border-radius:3px}.wedding-toast.visible{opacity:1;transform:translateY(0)}.missing-invitation{max-width:700px;padding:25vh 30px;margin:auto;text-align:center}.missing-invitation h1{font-size:50px;line-height:1.1;margin:20px 0}.missing-invitation .button{margin-top:30px}.invitation-gate{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:0;inset:0;margin:0;background:var(--soft);color:var(--theme-ink);overflow:auto;transition:opacity .5s ease 1s;outline:0}.invitation-gate:before{content:'';position:absolute;inset:20px;border:1px solid #ae987244;pointer-events:none}.invitation-gate:after{content:'❦';position:absolute;bottom:70px;left:60px;font-size:140px;color:#ac906511;pointer-events:none}.theme-coastal .invitation-gate:after{content:'≋';font-size:200px}.gate-back{position:absolute;left:40px;top:34px;font-size:10px;color:var(--accent);z-index:2}.gate-content{min-height:100dvh;padding:85px 20px 100px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.gate-content>.wedding-eyebrow{font-size:8px;letter-spacing:2.6px}.gate-content>h2{font-size:62px;margin-top:16px;color:var(--accent)}.gate-subtitle{font-family:var(--serif);font-style:italic;font-size:21px;margin-top:7px}.envelope{width:400px;height:258px;margin:58px 0 23px;position:relative;background:#ead9cc;border:0;padding:0;box-shadow:0 12px 35px #5e493c21;border-radius:3px;perspective:1000px;isolation:isolate;display:block;transition:transform .4s}.envelope:hover{transform:translateY(-4px)}.envelope-letter{position:absolute;left:20px;right:20px;top:15px;height:230px;background:var(--theme-paper);box-shadow:0 0 10px #755e5020;padding:20px;display:flex;align-items:center;flex-direction:column;z-index:2;transition:transform .75s .3s;outline:1px solid #d0bda050;outline-offset:-8px}.envelope-letter>span{font-size:7px;letter-spacing:2px;color:var(--accent)}.envelope-letter strong{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.1;margin-top:15px;color:var(--accent)}.envelope-letter strong i{display:block;font-family:var(--script);font-size:23px;margin:5px 0}.envelope-letter small{font-size:8px;letter-spacing:1.5px;margin-top:16px}.envelope-pocket{position:absolute;inset:0;z-index:3;background:linear-gradient(145deg,#e8d3c3,#f5e7dc);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}.envelope-pocket:after{content:'';position:absolute;inset:0;clip-path:polygon(0 100%,50% 40%,100% 100%);background:linear-gradient(0deg,#f5e8de,#ebd6c4)}.envelope-flap{position:absolute;inset:0;z-index:4;background:linear-gradient(170deg,#ead7c9,#e0c2b3);clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:top;transition:transform .6s ease,z-index 0s .3s;filter:drop-shadow(0 2px 2px #9d775630)}.envelope-seal{position:absolute;z-index:5;top:calc(50% - 17px);left:calc(50% - 32px);width:64px;height:64px;background:radial-gradient(circle at 30% 20%,#c78891,#955164);border:5px double #b6737f;border-radius:48% 46% 49% 45%;box-shadow:2px 3px 7px #71465440;color:#e6b5b9;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:23px;transition:opacity .2s,transform .3s}.envelope-seal i{font-size:16px;margin-inline:2px}.theme-garden .envelope{background:#bdc2aa}.theme-garden .envelope-flap{background:linear-gradient(170deg,#c6cdb7,#b4bfa2)}.theme-garden .envelope-pocket{background:linear-gradient(145deg,#b4bda0,#d6dbca)}.theme-garden .envelope-pocket:after{background:linear-gradient(0deg,#d1d8c4,#b6c0a5)}.theme-garden .envelope-seal{background:radial-gradient(circle at 30% 20%,#85916b,#536443);border-color:#72835c;color:#c3cda9}.theme-coastal .envelope{background:#b7c9cc}.theme-coastal .envelope-flap{background:linear-gradient(170deg,#c6d9db,#a0bcc2)}.theme-coastal .envelope-pocket{background:linear-gradient(145deg,#b5cbcd,#d6e4e2)}.theme-coastal .envelope-pocket:after{background:linear-gradient(0deg,#d8e5e4,#b5ced1)}.theme-coastal .envelope-seal{background:radial-gradient(circle at 30% 20%,#bead88,#998665);border-color:#b1a079;color:#e4d8bb}.tap-hint{font-size:10px;letter-spacing:.3px;color:var(--accent);transition:opacity .2s}.tap-hint>span{margin-left:7px}.gate-names{font-family:var(--serif);font-size:25px;color:var(--accent);margin-top:25px}.gate-date{font-size:7px;letter-spacing:1.5px;color:#9b8978;margin-top:8px}.gate-date i{margin:0 5px}.gate-credit{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-size:6px;letter-spacing:2px;color:#9d8a78}.gate-credit strong{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:-.5px;margin-left:10px;color:var(--accent)}.invitation-gate.opening{opacity:0;pointer-events:none}.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.opening .envelope-seal{opacity:0;transform:scale(.7)}.opening .envelope-letter{transform:translateY(-100px)}.opening .tap-hint{opacity:0}.media-dialog{width:min(1050px,calc(100% - 30px));max-width:none;border:0;border-radius:4px;background:#151914;color:#f8f3e9;padding:15px 15px 20px;max-height:94dvh;overflow:auto}.media-dialog .dialog-close{background:#1c1e1aa8;color:#fff;right:23px;top:23px}.lightbox-stage{height:min(70dvh,690px);width:100%;overflow:hidden;position:relative;background:#10110f}.lightbox-stage>img{width:100%;height:100%;object-fit:contain}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:14px;text-align:center}.lightbox-controls>button{width:40px;height:40px;color:#f5edde;border:1px solid #f5edde40;background:transparent;font-size:20px}.lightbox-controls p{color:#eee4cf;font-family:var(--serif);font-size:21px;line-height:1.3}.lightbox-controls>div>span{color:#aa9d85;font-size:7px;letter-spacing:1.7px}.slideshow-title{position:absolute;bottom:30px;left:0;right:0;text-align:center;color:#fff8e6;text-shadow:0 1px 15px #15190cf0;font-family:var(--serif);font-style:italic;font-size:32px;padding-inline:20px}.slideshow-toggle{display:block;margin:15px auto 0;padding:8px 15px;border:1px solid #f5edde40;color:#eee4cf;background:transparent;font-size:9px}.photo-moving{animation:photo-pan 5.5s ease-in-out both}.media-dialog:has(.slideshow-toggle:not([hidden])) .lightbox-stage>img{object-fit:cover}.media-dialog:has(.slideshow-toggle:not([hidden])) .lightbox-stage:after{content:'';inset:0;position:absolute;background:linear-gradient(0deg,#13190f66,transparent 50%);pointer-events:none}.slideshow-title{z-index:2}@keyframes photo-pan{from{transform:scale(1)}to{transform:scale(1.07)}}
@media(min-width:1000px){.theme-blush .wedding-hero-image img{object-position:50% 38%}.theme-blush .wedding-hero-image{left:42%}.theme-blush .wedding-hero-image:after{background:linear-gradient(90deg,#f8ece619,transparent)}.theme-blush .wedding-hero{background:#f4e8e2}.theme-blush .wedding-hero-content{right:55%;background:none;color:var(--accent)}.theme-blush .wedding-hero-content .wedding-eyebrow,.theme-blush .wedding-invite-line{color:var(--accent);text-shadow:none}.theme-blush .wedding-hero h1{font-size:82px;text-shadow:none}.theme-blush .wedding-hero-date{text-shadow:none}.theme-blush .wedding-hero-content .wedding-eyebrow{font-size:7px}.theme-blush .wedding-invite-line{font-size:17px}.theme-blush .wedding-hero h1{margin:28px 0}}
@media(max-width:900px){.wedding-nav{padding-inline:25px}.wedding-monogram{left:35%}.wedding-nav>div{gap:16px}.wedding-wrap{width:calc(100% - 60px)}.wedding-hero h1{font-size:88px}.theme-coastal .wedding-hero{padding:28px 30px;gap:15px;height:650px}.theme-coastal .wedding-hero h1{font-size:72px}.theme-coastal .wedding-invite-line{font-size:15px}.theme-coastal .wedding-hero-content .wedding-eyebrow{font-size:6px;letter-spacing:1.3px}.theme-coastal .wedding-hero-date>strong{font-size:10px;letter-spacing:2px}.our-story{gap:35px}.story-copy h2{font-size:37px}.story-copy>p:not(.wedding-eyebrow){font-size:11px}.story-photo img{height:320px}.story-milestones{gap:27px}.story-milestones h3{font-size:24px}.dress-section{gap:30px}.dress-palette span{width:48px;height:72px}.gallery-item{height:330px}.gallery-item strong{font-size:23px}.film-card{gap:30px}.film-copy h3{font-size:33px}.guest-notes{gap:30px}.day-timeline p{font-size:16px}}
@media(max-width:650px){.wedding-wrap{width:calc(100% - 42px)}.wedding-nav{height:65px;padding:0 20px;gap:10px}.wedding-monogram{position:static;transform:none;font-size:23px}.back-to-studio>span{display:none}.back-to-studio{font-size:20px}.wedding-nav>div{gap:13px;font-size:8px}.wedding-nav>div>a:first-child{display:none}.nav-rsvp{padding:7px 11px}.wedding-hero{height:calc(100svh - 65px);min-height:650px;max-height:830px}.theme-blush .wedding-hero{width:calc(100% - 24px);margin-top:12px;border-radius:190px 190px 3px 3px;height:calc(100svh - 90px);min-height:650px}.wedding-hero-image img,.theme-blush .wedding-hero-image img,.theme-garden .wedding-hero-image img{object-position:50% 40%}.wedding-hero-content{justify-content:end;padding-bottom:84px;padding-top:45px}.wedding-hero-content .wedding-eyebrow{font-size:6px;letter-spacing:1.8px}.wedding-invite-line{font-size:16px;margin-top:7px}.wedding-hero h1{font-size:70px;margin:22px 0;line-height:1.05}.wedding-hero h1 span{font-size:32px;line-height:.6;margin:10px 0}.wedding-hero-date>span:first-child{font-size:18px}.wedding-hero-date>strong{font-size:10px;letter-spacing:2px}.wedding-hero-date>span:last-child{font-size:9px}.wedding-scroll{bottom:17px;font-size:6px;gap:4px;letter-spacing:1.5px}.wedding-scroll span{font-size:19px}.wedding-hero-image:after{background:linear-gradient(0deg,#171913ba,transparent 100%)}.theme-garden .wedding-hero h1{font-size:77px}.theme-garden .wedding-hero h1 span{font-size:39px;margin:13px;line-height:.4}.theme-coastal .wedding-hero{display:flex;flex-direction:column-reverse;gap:0;padding:0 21px 25px;height:auto;max-height:none}.theme-coastal .wedding-hero-content{padding:28px 0 34px}.theme-coastal .wedding-hero h1{font-size:66px;display:flex;align-items:center;gap:13px;margin:22px 0 16px;letter-spacing:-2.5px}.theme-coastal .wedding-hero h1 span{font-size:35px;margin:0}.theme-coastal .wedding-hero-date>span:first-child{display:none}.theme-coastal .wedding-hero-image{height:450px;flex-shrink:0;border-radius:180px 180px 0 0}.theme-coastal .wedding-hero-content .wedding-eyebrow{font-size:6px;letter-spacing:1.8px}.theme-coastal .wedding-hero-date{gap:2px}.theme-coastal .wedding-scroll{display:none}.wedding-intro{padding-block:48px}.wedding-intro .wedding-eyebrow{font-size:6px;letter-spacing:1.7px}.wedding-intro h2{font-size:37px;margin-block:16px}.wedding-intro>p:not(.wedding-eyebrow){font-size:11px}.countdown{gap:13px;margin-top:26px}.countdown>div{min-width:42px}.countdown strong{font-size:35px}.countdown span{font-size:6px;letter-spacing:1px}.countdown i{font-size:21px}.wedding-intro .countdown-message{font-size:16px!important;margin-top:14px}.wedding-intro .text-link{margin-top:10px;font-size:9px}.our-story{display:flex;flex-direction:column;gap:30px;padding-top:14px;padding-bottom:25px}.story-photo{width:calc(100% - 14px);padding:9px 9px 34px}.story-photo img{height:280px;object-position:center}.story-photo>span{font-size:16px}.story-copy{padding-top:8px}.wedding-eyebrow{font-size:7px;letter-spacing:1.8px}.story-copy h2{font-size:41px;margin:14px 0 18px}.story-copy>p:not(.wedding-eyebrow){font-size:12px;line-height:1.9}.story-signature{font-size:28px;margin-top:17px}.story-milestones{grid-template-columns:1fr;gap:24px;padding-top:20px;padding-bottom:45px}.story-milestones>div{padding-top:12px}.story-milestones span{font-size:8px}.story-milestones h3{margin:5px 0;font-size:25px}.story-milestones p{font-size:11px}.wedding-details{padding:47px 0}.wedding-details h2{font-size:42px}.details-date{font-size:10px;margin-top:17px}.venue-grid{grid-template-columns:1fr;gap:18px;margin-top:26px}.venue-card{padding:25px 20px}.venue-time{font-size:7px}.venue-card h3{font-size:34px}.venue-flourish{font-size:30px;margin:11px 0}.venue-card h4{font-size:25px}.venue-card p{font-size:10px;min-height:0;max-width:270px;margin-inline:auto}.venue-card .text-link{font-size:9px;margin-top:12px}.day-timeline{grid-template-columns:1fr 1fr;gap:26px 15px;margin-top:33px}.day-timeline>div:before{display:none}.day-timeline time{margin-top:10px;font-size:7px}.day-timeline p{font-size:18px}.dress-section{grid-template-columns:1fr;gap:28px;padding-block:45px}.dress-section h2{font-size:35px;max-width:320px}.dress-section>div>p:last-child{font-size:11px}.dress-palette span{width:59px;height:85px}.dress-palette>p{font-size:15px!important}.memories-section{padding-block:45px}.memories-heading{display:block}.memories-heading h2{font-size:42px;margin-top:13px}.memories-heading>p{font-size:11px;margin-top:17px}.gallery-grid{grid-template-columns:1fr;gap:19px;margin-top:25px}.gallery-item{height:290px}.gallery-item:nth-child(2){height:420px}.gallery-item strong{font-size:24px}.gallery-item>span{left:19px;right:19px;bottom:18px}.film-card{grid-template-columns:1fr;gap:25px;margin-top:35px}.film-image{height:245px}.play-story{width:55px;height:55px;font-size:28px}.film-copy h3{font-size:37px}.film-copy>p:not(.wedding-eyebrow){font-size:11px}.film-copy>.text-link{font-size:10px}.wedding-film-slot{margin-top:20px}.wedding-quote{padding:47px 20px}.wedding-quote p{font-size:36px}.wedding-quote>span{font-size:8px;margin-top:13px}.guest-notes{grid-template-columns:1fr;gap:25px;padding-block:45px}.guest-notes h2{font-size:40px;margin-top:12px}.rsvp-section{padding:46px 22px}.rsvp-wrap h2{font-size:46px}.rsvp-wrap>p:not(.wedding-eyebrow){font-size:11px}.rsvp-wrap .form-row{grid-template-columns:1fr;gap:0}.attendance-options{gap:9px}.attendance-options label{font-size:9px;padding:11px 8px;gap:2px}.attendance-options legend{font-size:9px}.rsvp-wrap form{margin-top:24px}.wedding-footer{padding:38px 20px 75px}.wedding-footer h2{font-size:39px}.wedding-footer>p{font-size:7px}.footer-love{font-size:17px}.studio-credit{font-size:5px;letter-spacing:1.4px;margin-top:29px}.studio-credit strong{font-size:19px}.gate-content{padding:80px 22px 100px;min-height:100dvh}.invitation-gate:before{inset:11px}.gate-back{left:25px;top:25px;font-size:9px}.gate-content>.wedding-eyebrow{font-size:6px;letter-spacing:1.7px}.gate-content>h2{font-size:51px;margin-top:11px}.gate-subtitle{font-size:18px}.envelope{width:min(320px,100%);height:215px;margin:45px 0 20px}.envelope-letter{height:191px;padding:15px;left:15px;right:15px}.envelope-letter>span{font-size:6px}.envelope-letter strong{font-size:27px;margin-top:10px}.envelope-letter strong i{font-size:20px;margin:4px}.envelope-letter small{font-size:7px;margin-top:12px}.envelope-seal{width:55px;height:55px;left:calc(50% - 27.5px);top:calc(50% - 12px);font-size:21px;border-width:4px}.envelope-seal i{font-size:13px}.tap-hint{font-size:9px}.gate-names{font-size:25px;margin-top:22px}.gate-date{font-size:6px;letter-spacing:.9px;margin-top:7px}.gate-credit{bottom:24px;font-size:5px;letter-spacing:1.5px}.gate-credit strong{font-size:19px}.invitation-gate:after{font-size:100px;bottom:50px;left:15px}.media-dialog{padding:9px 9px 15px}.lightbox-stage{height:65dvh}.lightbox-controls{gap:17px}.lightbox-controls p{font-size:17px}.lightbox-controls button{width:32px;height:32px;font-size:18px}.lightbox-controls>div>span{font-size:6px}.slideshow-title{font-size:25px;bottom:25px}.media-dialog .dialog-close{right:15px;top:15px}.share-invitation{right:14px;bottom:14px;font-size:8px;padding:9px 13px}.missing-invitation h1{font-size:39px}}
@media(max-height:750px) and (min-width:651px){.gate-content{padding:65px 20px 75px}.gate-content h2{font-size:48px}.envelope{margin-top:35px;width:350px;height:224px}.envelope-letter{height:200px;padding:15px}.envelope-letter strong{font-size:28px}.envelope-letter strong i{font-size:20px;margin:2px}.gate-names{margin-top:14px}.gate-content>.wedding-eyebrow{font-size:7px}.gate-subtitle{font-size:18px}}
@media(max-width:650px){.theme-coastal .wedding-hero h1{font-size:clamp(43px,13.5vw,66px);gap:10px}}
@media(max-width:360px){.wedding-nav>div{gap:9px;font-size:7px}.countdown{gap:8px}.envelope{height:195px}.envelope-letter{height:175px}.envelope-letter strong{font-size:25px}.gate-content>h2{font-size:46px}.attendance-options label{font-size:8px}.attendance-options i{display:none}}
