:root{--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--script:'Great Vibes','Brush Script MT',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}body.modal-open{overflow:hidden}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}h2{font-size:clamp(44px,4.8vw,72px);letter-spacing:-1.7px}h3{font-size:36px}h2 em{font-weight:400}p{color:var(--muted)}.script,.signature span{font-family:var(--script);font-weight:400}.eyebrow{font-size:12px;font-weight:500;letter-spacing:2px;color:var(--ink);line-height:1.6}.section{padding:110px max(6vw,24px)}.section-heading{text-align:center;margin:0 auto 50px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p:last-child:not(.eyebrow){margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:12px 29px;border:1px solid #ffffff50;border-radius:99px;background:linear-gradient(145deg,#416d85,#244d66);box-shadow:inset 0 1px 0 #ffffff30,0 5px 14px #2f597222;color:var(--ivory);font-size:13px;letter-spacing:.6px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:var(--dark);transform:translateY(-2px)}.text-link{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;min-height:44px;border:0;border-bottom:1px solid var(--ink);background:none;padding:5px 0;font-size:14px;color:var(--ink);line-height:1.5}.text-link:hover{opacity:.75}.text-link span{font-size:20px}.skip{position:fixed;top:-80px;left:15px;z-index:100;padding:15px;background:var(--ivory)}.skip:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.glass-panel{background:var(--glass);border:1px solid #ffffffc9;box-shadow:var(--glass-shadow)}
/* The quiet, opaque baseline stays readable without backdrop-filter. */
.site-header{position:fixed;top:16px;left:3%;width:94%;z-index:50;height:78px;padding:10px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--glass);border:1px solid #ffffffbf;border-radius:100px;box-shadow:var(--glass-shadow)}.brand{width:96px;flex-shrink:0;min-height:44px;display:flex;align-items:center}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:25px;align-items:center}.desktop-nav a{font-size:12px;padding:12px 0;border-bottom:1px solid transparent;white-space:nowrap}.desktop-nav a:hover{border-color:var(--ink)}.header-actions{display:flex;gap:15px;align-items:center}.small{min-height:46px;padding:10px 23px;gap:20px}.menu-button{display:none;background:#ffffff50;border:1px solid #ffffffaa;border-radius:50%;width:46px;height:46px;padding:10px}.menu-button span{display:block;width:24px;height:1px;background:var(--ink);margin:7px 0;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu[hidden]{display:none}.mobile-menu{position:absolute;top:calc(100% + 10px);left:0;width:100%;max-height:calc(100dvh - 116px);overflow-y:auto;background:var(--glass);padding:22px 28px max(28px,env(safe-area-inset-bottom));border:1px solid white;border-radius:26px;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;overscroll-behavior:contain}.mobile-menu a{font-family:var(--serif);font-size:28px;line-height:1.8;min-height:48px}.mobile-menu p{font-size:11px;letter-spacing:1px;margin-top:20px}
.hero{display:grid;grid-template-columns:46% 54%;min-height:760px;height:100svh;max-height:1080px;position:relative}.hero-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden;padding:130px 25px 75px;background:radial-gradient(ellipse at 5% 60%,#b6d0e965,transparent 65%),radial-gradient(ellipse at 95% 25%,color-mix(in srgb,var(--green) 12%,transparent),transparent 65%)}.hero-copy .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:28px;text-align:center}.hero h1{font-family:var(--script);font-weight:400;font-size:clamp(90px,9.1vw,145px);line-height:.94;display:flex;flex-direction:column;align-items:center;transform:rotate(-5deg);padding:10px 20px 25px;letter-spacing:0}.hero h1 .amp{font-family:var(--serif);font-size:45px;font-style:italic;line-height:.75;margin:0 0 3px}.hero-date{text-align:center;margin-top:18px}.hero-date p{font-family:var(--serif);font-size:29px;color:var(--ink)}.hero-date span{display:block;font-size:11px;letter-spacing:2.7px;margin-top:2px}.hero-link{margin-top:25px}.hero-flourish{position:absolute;bottom:45px;font-size:25px}.hero-photo{position:relative;overflow:hidden;background:var(--blue)}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#132e3b55)}.photo-caption{position:absolute;bottom:34px;left:30px;right:30px;text-align:center;color:var(--ivory);font-family:var(--serif);font-style:italic;font-size:26px;z-index:1;padding:12px 18px;border:1px solid #ffffff60;border-radius:99px;background:#244d6688;box-shadow:inset 0 1px 0 #ffffff30}.mobile-hero-title,.mobile-hero-link{display:none}
.welcome{max-width:750px;margin:auto;text-align:center;padding-top:85px;padding-bottom:90px}.welcome-ornament{font-size:36px;color:var(--ink);margin-bottom:12px}.welcome .eyebrow{margin-bottom:24px}.welcome h2{margin-bottom:28px}.welcome>p:not(.eyebrow):not(.signature){margin:16px 0;line-height:1.95;font-size:15px}.signature{font-family:var(--serif);font-size:20px;line-height:1.9;margin:28px 0;color:var(--ink)}.signature span{font-size:42px;display:block;margin-top:3px}.countdown{display:flex;align-items:center;justify-content:center;gap:17px;margin:35px auto 0;border-top:1px solid var(--line);padding-top:24px;max-width:300px}.countdown>span{font-family:var(--serif);font-size:56px;line-height:1}.countdown p{font-size:11px;letter-spacing:1.5px;text-align:left;line-height:1.8;color:var(--ink)}
.celebration{background:radial-gradient(ellipse at 5% 50%,color-mix(in srgb,var(--green) 12%,transparent),transparent 55%),radial-gradient(ellipse at 95% 70%,#b6d0e97a,transparent 60%),var(--green-wash);padding-left:4%;padding-right:4%}.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1240px;margin:auto;align-items:stretch}.events-grid article{display:flex;flex-direction:column;min-width:0}.event-art{position:relative;isolation:isolate}.event-art>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.event-number{position:absolute;top:4%;left:5%;font-family:var(--serif);font-size:28px;font-style:italic;display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--glass);border:1px solid #fff;border-radius:99px;box-shadow:0 4px 18px #2f597212}.event-number span{font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:1.6px}.event-details{position:relative;margin:-20px 18px 0;border-radius:28px;padding:36px 38px 32px;flex:1}.events-grid .eyebrow{font-size:11px;margin-bottom:14px}.events-grid h3{font-size:44px}.event-script{font-size:43px;margin:10px 0 18px;color:var(--ink)}.event-intro{font-size:15px;max-width:350px;line-height:1.9}.event-rule{width:42px;height:1px;background:var(--green);margin:27px 0}.small-copy{font-size:14px;color:var(--ink)}.event-note{font-size:12px;margin-top:6px;line-height:1.8;color:var(--muted)}.event-closing{font-size:33px;margin-top:35px;color:var(--ink)}.timeline{margin:20px 0 22px}.timeline>div{display:grid;grid-template-columns:82px 1fr;gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid var(--green-soft)}.timeline span{font-size:12px;letter-spacing:.5px}.timeline p{font-family:var(--serif);font-size:26px;color:var(--ink)}.event-details>.text-link{margin-top:18px}
.venue{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;max-width:1440px;margin:auto}.venue-art{display:flex;flex-direction:column;align-items:center}.venue-art img{width:100%;height:auto;mix-blend-mode:multiply}.art-caption{font-size:11px;letter-spacing:3px;margin-top:24px}.venue-copy .eyebrow{margin-bottom:20px}.venue-copy>p:not(.eyebrow){margin-top:26px;font-size:15px}.venue-address{font-family:var(--serif);font-size:26px;color:var(--ink)}.venue-address span{font-family:var(--sans);font-size:13px;color:var(--muted)}.venue-copy .text-link{margin-top:20px}
.travel{background:radial-gradient(ellipse at 10% 15%,#fffdf7b0,transparent 65%),#e5eef5}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1200px;margin:auto}.travel-grid article{padding:30px;border:1px solid #ffffffa0;border-radius:26px;background:#fffdf7ad;box-shadow:inset 0 1px 0 #fff,0 10px 28px #2f597208}.line-icon{font-size:11px;letter-spacing:1.5px;margin-bottom:22px;display:inline-block;border:1px solid var(--line);border-radius:99px;padding:4px 14px}.travel-grid h3{font-size:34px;margin-bottom:20px}.travel-grid p{font-size:14px;line-height:1.9}.travel-grid .small-copy{font-size:12px;margin-top:18px}.travel-grid .text-link{margin-top:16px;font-size:13px}.guide-banner{position:relative;isolation:isolate;overflow:hidden;min-height:340px;max-width:1200px;margin:42px auto 0;padding:45px 45px 45px 44%;border:1px solid #ffffffb0;border-radius:30px;background:var(--ink);color:var(--ivory);display:flex;justify-content:space-between;align-items:center;gap:25px;box-shadow:0 15px 45px #2f59721a}.guide-banner-photo{position:absolute;left:0;top:0;width:39%;height:100%;object-fit:cover;object-position:center 48%;z-index:-1}.guide-banner-copy .eyebrow{color:#dce8ef;font-size:11px;margin-bottom:14px}.guide-banner h3{font-size:43px;line-height:1.15}.guide-banner-copy p:last-child{color:#e3ebee;font-size:15px;margin-top:16px}.circle-arrow{flex:0 0 54px;height:54px;border:1px solid #ffffff70;background:#ffffff18;border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:inset 0 1px 0 #ffffff45;transition:background .2s}.guide-banner:hover .circle-arrow{background:#b6d0e940}
.gallery-section{padding-left:4%;padding-right:4%}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:22px;align-items:start}.gallery-photo{border:0;padding:0;background:none;text-align:left;min-width:0;position:relative;border-radius:180px 180px 20px 20px;overflow:hidden;box-shadow:0 10px 35px #2f597219}.gallery-photo img{width:100%;height:350px;object-fit:cover;transition:transform .5s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo.photo-tall img{height:440px}.gallery-photo:nth-child(2){margin-top:50px}.gallery-photo:nth-child(3){margin-top:100px}.gallery-photo span{position:absolute;bottom:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--serif);font-style:italic;font-size:22px;padding:10px 16px;border:1px solid #fff9;border-radius:99px;background:var(--glass);box-shadow:var(--glass-shadow)}.gallery-photo i{font-style:normal;font-size:18px}.all-photos{display:flex;margin:40px auto 0}.registry{background:var(--paper);text-align:center;padding-top:80px;padding-bottom:65px}.registry .eyebrow{margin-bottom:20px}.registry h2{font-size:56px}.registry>p:not(.eyebrow){margin-top:25px;font-size:15px}.small-flourish{display:block;font-size:28px;color:var(--ink);margin-top:24px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;max-width:1440px;margin:auto}.faq .eyebrow{margin-bottom:20px}.faq h2{font-size:56px}.faq>div>p:not(.eyebrow){margin-top:25px;font-size:15px}.faq>div>.text-link{margin-top:20px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:20px 0;cursor:pointer;list-style:none;font-size:15px;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;line-height:1.85;padding:0 28px 25px 0}.faq-list details p a{text-decoration:underline}.rsvp{background:linear-gradient(#e9f0f699,#d9e6efdd),url('/assets/welcome-watercolor.webp') center/cover no-repeat;padding-top:80px;padding-bottom:80px;text-align:center}.rsvp-inner{max-width:980px;margin:auto;padding:65px 25px;border-radius:34px}.rsvp .eyebrow{margin-bottom:20px}.rsvp h2{font-size:65px}.rsvp p:not(.eyebrow){color:var(--ink);font-size:15px;margin-top:25px}.rsvp-button{margin-top:28px}.rsvp .rsvp-note{font-size:12px;margin-top:12px}.rsvp-signature{font-size:42px;margin-top:32px}footer{padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>p{font-size:12px;color:var(--ink);letter-spacing:1.4px;text-align:center;line-height:2.2}footer>p span{font-size:10px;letter-spacing:1px}footer>div{display:flex;gap:20px;font-size:12px}footer button{background:none;border:0;padding:0;font-size:12px}.footer-brand{width:110px;flex-shrink:0}footer a,footer button{min-height:44px;display:flex;align-items:center}
dialog{max-width:none;width:100vw;height:100dvh;border:0;padding:60px 75px;background:#173848f5;color:white;margin:0}dialog::backdrop{background:#173848}dialog[open]{display:grid;grid-template-columns:48px 1fr 48px;gap:25px;align-items:center}dialog figure{margin:0;min-width:0;max-height:100%;display:flex;flex-direction:column;align-items:center}dialog figure img{width:auto;max-width:100%;max-height:calc(100dvh - 160px);object-fit:contain;border-radius:12px}dialog figcaption{font-family:var(--serif);font-size:26px;margin-top:10px;text-align:center;color:var(--ivory)}dialog button{border:1px solid #ffffff66;background:#ffffff1a;color:white;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:24px;box-shadow:inset 0 1px 0 #ffffff40}.dialog-close{position:absolute;right:24px;top:18px;font-size:32px}#photo-counter{position:absolute;bottom:15px;left:0;right:0;text-align:center;color:white;font-size:13px;letter-spacing:3px}
@supports ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))){.site-header,.mobile-menu,.glass-panel,.event-number,.gallery-photo span{background:#fffdf7c7;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%)}.photo-caption{background:#244d6675;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}}
@media(max-width:1100px){.desktop-nav{gap:18px}.desktop-nav a{font-size:11px}.brand{width:85px}.event-details{padding:32px 28px}.event-script{font-size:38px}.events-grid h3{font-size:39px}.gallery-photo img{height:300px}.gallery-photo.photo-tall img{height:380px}.venue{gap:5%}footer{flex-wrap:wrap;justify-content:center}.travel-grid article{padding:25px}.travel-grid h3{font-size:30px}.guide-banner{padding-left:44%}.guide-banner h3{font-size:38px}}
@media(max-width:1000px){.desktop-nav{display:none}.menu-button{display:block}.hero h1{font-size:110px}.site-header{height:72px}.hero-copy .eyebrow{font-size:9px;max-width:230px}}
@media(max-width:800px){.site-header{top:12px;left:16px;width:calc(100% - 32px);height:68px;padding:8px 15px}.brand{width:80px}.small{min-height:46px;padding:9px 19px;font-size:12px}.header-actions{gap:9px}.hero{display:block;height:100svh;min-height:690px;max-height:1100px}.hero-copy{display:none}.hero-photo{height:100%;width:100%}.hero-photo>img{height:100%;object-position:50% 54%}.hero-photo:after{inset:0;background:linear-gradient(#e9eff410 0%,transparent 50%,transparent 70%,#142e4485 100%)}.photo-caption{display:none}.mobile-hero-title{position:absolute;display:block;top:106px;left:20px;right:20px;text-align:center;color:var(--ink);padding:18px 10px 21px;border:1px solid #fff9;border-radius:26px;background:#fffdf7c7;box-shadow:inset 0 1px 0 #ffffffa0,0 8px 30px #2f59720d}.mobile-hero-title .eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--ink)}.hero .mobile-hero-title h1{display:block;font-family:var(--script);font-size:clamp(41px,12vw,78px);font-weight:400;line-height:1.5;color:var(--ink);margin:3px 0 0;padding:0;transform:none;white-space:nowrap}.mobile-hero-title>p:last-child{font-size:11px;letter-spacing:1.3px;color:var(--ink);margin-top:0}.mobile-hero-link{display:flex;position:absolute;bottom:28px;left:50%;transform:translateX(-50%);align-items:center;gap:25px;white-space:nowrap;font-family:var(--serif);font-style:italic;color:var(--ivory);font-size:22px;min-height:48px;padding:7px 25px;border:1px solid #fff8;background:#244d6699;border-radius:99px}.mobile-hero-link span{font-style:normal;font-size:18px}.section{padding:75px 30px}.events-grid{gap:18px}.event-details{margin:-10px 0 0;padding:28px 23px}.events-grid h3{font-size:35px}.events-grid .eyebrow{font-size:10px;letter-spacing:1.4px}.event-script{font-size:36px}.event-intro{font-size:14px}.event-number{font-size:22px;padding:3px 12px}.event-number span{font-size:8px}.timeline>div{grid-template-columns:67px 1fr;gap:8px}.timeline p{font-size:23px}.timeline span{font-size:11px}.venue{grid-template-columns:1fr;gap:40px;text-align:center}.venue-art{max-width:560px;margin:auto}.venue-copy{max-width:530px;margin:auto}.travel-grid{grid-template-columns:1fr;gap:18px}.travel-grid article{padding:28px}.line-icon{margin-bottom:16px}.travel-grid h3{margin-bottom:12px;font-size:35px}.guide-banner{padding:32px 28px 32px 45%;min-height:320px;gap:15px}.guide-banner h3{font-size:34px}.guide-banner .circle-arrow{display:none}.gallery{grid-template-columns:1fr 1fr;gap:24px}.gallery-photo img,.gallery-photo.photo-tall img{height:370px}.gallery-photo:nth-child(2){margin-top:45px}.gallery-photo:nth-child(3){margin-top:-20px}.gallery-photo:nth-child(4){margin-top:25px}.faq{grid-template-columns:1fr;gap:35px}.faq h2{font-size:50px}.rsvp h2{font-size:55px}footer{flex-direction:column;gap:20px;padding:40px 25px}dialog{padding:65px 10px}dialog[open]{grid-template-columns:48px 1fr 48px;gap:8px}dialog figcaption{font-size:22px}}
@media(max-width:600px){html{scroll-padding-top:105px}.section{padding:65px 22px}.hero{min-height:650px}.mobile-hero-title{left:14px;right:14px;top:100px;padding:14px 8px 18px}.mobile-hero-title .eyebrow{font-size:10px}.mobile-hero-title>p:last-child{font-size:10px;letter-spacing:1px}.section-heading{margin-bottom:30px}.section-heading>p:last-child:not(.eyebrow){font-size:14px}.eyebrow{font-size:11px;letter-spacing:1.8px}h2{font-size:46px;letter-spacing:-1px}.welcome{padding-top:52px;padding-bottom:55px}.welcome>p:not(.eyebrow):not(.signature){font-size:14px}.welcome .eyebrow{margin-bottom:18px}.welcome h2{margin-bottom:24px}.signature span{font-size:38px}.countdown{margin-top:25px}.celebration{padding-left:12px;padding-right:12px}.celebration .section-heading{padding:0 12px}.events-grid{grid-template-columns:1fr;gap:45px;max-width:480px}.event-details{margin:-10px 10px 0;padding:30px 26px;border-radius:25px}.event-number{font-size:25px;left:6%;top:2%}.event-number span{font-size:10px}.events-grid .eyebrow{font-size:11px;letter-spacing:1.5px}.events-grid h3{font-size:41px}.event-script{font-size:41px;margin-bottom:16px}.event-intro{font-size:15px}.event-rule{margin:23px 0}.event-closing{margin-top:27px}.timeline>div{grid-template-columns:82px 1fr;gap:14px}.timeline p{font-size:25px}.timeline span{font-size:12px}.venue{gap:30px}.art-caption{margin-top:15px}.venue-copy>p:not(.eyebrow){font-size:14px}.guide-banner{margin-top:30px;padding:250px 25px 30px;display:block}.guide-banner-photo{width:100%;height:225px;object-position:center 47%}.guide-banner h3{font-size:39px}.guide-banner-copy p:last-child{font-size:14px}.gallery-section{padding-left:16px;padding-right:16px}.gallery{gap:16px}.gallery-photo img,.gallery-photo.photo-tall img{height:285px}.gallery-photo:nth-child(2){margin-top:35px}.gallery-photo:nth-child(3){margin-top:-16px}.gallery-photo:nth-child(4){margin-top:19px}.gallery-photo span{font-size:17px;gap:5px;left:7px;right:7px;bottom:8px;padding:8px 10px}.gallery-photo i{font-size:14px}.gallery-section h2{font-size:43px}.all-photos{margin-top:30px}.registry h2{font-size:44px}.registry>p:not(.eyebrow){font-size:14px}.faq h2{font-size:46px}summary{font-size:14px;min-height:68px}.rsvp{padding:30px 16px}.rsvp-inner{padding:45px 18px;border-radius:28px}.rsvp h2{font-size:45px}.rsvp-signature{font-size:36px}.rsvp p:not(.eyebrow){font-size:14px;margin-top:20px}.rsvp .rsvp-note{font-size:12px}.rsvp-button{margin-top:24px}footer>div{flex-wrap:wrap;justify-content:center;gap:12px 20px}dialog{padding:65px 16px 95px}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure img{max-height:calc(100dvh - 190px)}.gallery-prev,.gallery-next{position:absolute;bottom:27px}.gallery-prev{left:25px}.gallery-next{right:25px}#photo-counter{bottom:38px;pointer-events:none}.dialog-close{right:17px}}
@media(max-width:360px){.header-actions{gap:5px}.site-header{left:12px;width:calc(100% - 24px);padding:8px 12px}.brand{width:70px}.small{padding:9px 14px;gap:10px}.mobile-hero-title>p:last-child{font-size:9px}.event-details{padding:27px 22px}.events-grid h3{font-size:37px}.timeline p{font-size:23px}.gallery-photo img,.gallery-photo.photo-tall img{height:250px}.gallery-photo span{font-size:15px;padding:8px}.gallery-photo i{display:none}.rsvp h2{font-size:40px}}
@media(prefers-reduced-transparency:reduce){.site-header,.mobile-menu,.glass-panel,.event-number,.gallery-photo span,.mobile-hero-title{background:var(--ivory);backdrop-filter:none;-webkit-backdrop-filter:none}.photo-caption,.mobile-hero-link{background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.site-header,.mobile-menu,.glass-panel,.event-number,.gallery-photo span,.mobile-hero-title,.photo-caption,.mobile-hero-link{background:Canvas;color:CanvasText;border:1px solid CanvasText;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.button{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}.menu-button span{background:ButtonText}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{body{background:white;color:#222;font-size:11pt}.site-header,.hero,.welcome,.gallery-section,.registry,.rsvp,.guide-banner,.skip,dialog,.countdown,footer button,.venue-art,.event-art,.event-closing{display:none!important}.section{padding:18px 0;break-inside:avoid;background:white}h2,.faq h2{font-size:28px}h3,.events-grid h3{font-size:24px}.section-heading{margin-bottom:20px}.events-grid{gap:15px}.event-details{padding:20px;margin:0;border:1px solid #aaa;background:white!important;box-shadow:none;backdrop-filter:none!important}.event-script{font-size:32px}.venue{display:block}.travel-grid{display:block}.travel-grid article{padding:12px 0;border:0;box-shadow:none}.faq{display:block}.faq-list details{break-inside:avoid}.faq-list details>p{display:block!important}.faq-list summary{padding:12px 0}footer{padding:20px 0}.text-link{display:none}p{color:#333!important}}
@media(max-width:800px) and (max-height:500px){.mobile-hero-title{top:94px;padding:10px;max-width:500px;margin:auto}.hero .mobile-hero-title h1{font-size:46px;line-height:1.25}.mobile-hero-title .eyebrow{font-size:9px}.mobile-hero-title>p:last-child{font-size:10px}}

/* Editorial layout: shared coastal palette, photography, and restrained controls. */

body{font-size:16px;font-optical-sizing:auto}html{scroll-padding-top:92px}body.menu-open{overflow:hidden}
h2 em,.moments-heading em,.destination-preview h3 em{color:var(--heading-accent)}
.site-header{position:sticky;top:0;left:auto;width:100%;height:74px;padding:8px 4%;border:0;border-radius:0;box-shadow:0 3px 16px #2f597210;background:var(--ivory);gap:22px}
.site-header,.mobile-menu,.event-number,.gallery-photo span,.photo-caption,.mobile-hero-title,.mobile-hero-link{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.brand{width:91px}.desktop-nav a{font-size:13px}.button{border-radius:5px;background:var(--ink);box-shadow:none;border:1px solid var(--ink);letter-spacing:.6px;font-size:13px;min-height:48px}.button:hover{transform:none;background:var(--dark)}.button:active{transform:scale(.98);transition:transform 90ms ease-out}.small{min-height:44px;background:transparent;color:var(--ink);padding:7px 18px;gap:15px}.small:hover{background:var(--blue-wash);color:var(--ink)}.menu-button{background:none;border:0;border-radius:0;flex-shrink:0;width:44px;height:44px;padding:10px}.menu-button:active{background:var(--blue-wash)}.menu-button span{width:24px}.header-actions{gap:12px}
.mobile-menu{top:100%;left:0;width:100%;max-height:calc(100dvh - 74px);padding:20px 7% max(24px,env(safe-area-inset-bottom));background:var(--ivory)!important;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 12px 20px #2f597212;overflow-y:auto}.mobile-menu a{font-size:29px;line-height:1.6;min-height:48px;padding:5px 0}.mobile-menu a:active{color:var(--rose)}.mobile-menu p{font-size:11px;margin-top:16px;letter-spacing:1.3px;color:var(--rose)}.menu-scrim{position:fixed;inset:74px 0 0;z-index:45;background:#293e4b33;border:0;padding:0;cursor:default}.menu-scrim[hidden]{display:none}
.hero{height:calc(100svh - 74px);min-height:670px;max-height:990px}.hero-copy{padding:55px 25px;background:var(--ivory)}.hero-copy .eyebrow{color:var(--rose);font-size:11px;margin-bottom:30px}.hero-date span{font-size:11px}.hero-date p{font-size:30px}.hero h1{font-size:clamp(95px,9.5vw,145px)}.hero-link{margin-top:30px}.photo-caption{bottom:28px;background:none;box-shadow:none;border:0;border-radius:0;font-size:29px;left:20px;right:20px;padding:0}.hero-photo:after{inset:65% 0 0;background:linear-gradient(transparent,#182c3e80)}

.welcome{display:grid;grid-template-columns:.9fr 1fr;gap:9%;max-width:1260px;align-items:center;text-align:left;padding-top:95px;padding-bottom:100px}.welcome-photo{margin:0;transform:rotate(-3deg);padding:12px 12px 19px;background:var(--ivory);box-shadow:0 12px 35px #2f597221}.welcome-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}.welcome-photo figcaption{font-family:var(--script);font-size:29px;color:var(--rose);text-align:center;margin-top:16px;line-height:1.5}.welcome-letter .eyebrow{color:var(--rose)}.welcome-letter>p:not(.eyebrow):not(.signature){margin-top:20px;line-height:1.9;font-size:15px}.welcome h2{font-size:clamp(45px,4.6vw,65px);margin-bottom:25px}.signature{font-size:20px;line-height:1.65;margin:26px 0 0}.signature span{font-size:41px}.countdown{justify-content:flex-start;margin:30px 0 0;padding-top:20px;max-width:265px}.countdown p{font-size:10px}
.celebration{--muted:var(--ink);background:var(--green-wash);padding-left:5%;padding-right:5%}.section-heading>p.eyebrow{color:var(--rose)}.events-grid{gap:6%;max-width:1150px}.event-art img{aspect-ratio:3/2}.event-number{position:static;display:inline-flex;background:none!important;border:0;border-radius:0;box-shadow:none;padding:9px 0 4px;margin:0 0 0 26px;font-size:27px;color:var(--rose)}.event-number span{font-size:10px;letter-spacing:2px}.event-details{margin:0;padding:12px 26px 28px;border:0;border-radius:0;background:none;box-shadow:none}.events-grid h3{font-size:44px}.events-grid .eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:15px}.event-script{color:var(--heading-accent);font-size:43px;margin-top:10px;margin-bottom:22px}.event-intro{font-size:15px;max-width:440px;line-height:1.85}.event-closing{font-size:33px;color:var(--rose);margin-top:27px}.event-rule{background:var(--control-line);margin:25px 0}.event-note{font-size:12px}.small-copy{font-size:14px}.event-details .text-link{font-size:13px}.wedding-moments{max-width:1150px;margin:40px auto 0;padding-top:48px;border-top:1px solid #2f597240}.moments-heading{text-align:center}.moments-heading .eyebrow{font-size:11px;letter-spacing:1.6px;color:var(--rose);margin-bottom:16px}.moments-heading h3{font-size:42px;line-height:1.1}.moments-row{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;text-align:center;margin-top:25px}.moment{min-width:0}.moment>img{width:88%;max-width:270px;aspect-ratio:1;height:auto;object-fit:contain;margin:0 auto 6px}.moment-time{color:var(--rose);font-size:12px;letter-spacing:1.4px;margin-bottom:9px}.moment h4{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.15;margin:0 0 10px}.moment>div>p:last-child{font-size:13px;line-height:1.7}.moments-note{text-align:center;font-size:11px;margin-top:30px;color:var(--muted)}
.venue{background:var(--ivory);padding-top:90px;padding-bottom:90px}.venue-copy>p:not(.eyebrow){font-size:15px}.art-caption{color:var(--rose);font-size:10px}.venue-copy .eyebrow{color:var(--rose)}
.travel{background:var(--blue-wash);padding-left:4%;padding-right:4%}.travel-grid{gap:28px;max-width:1240px}.travel-grid article{padding:0;border:0;border-radius:0;background:none;box-shadow:none;min-width:0}.travel-art{width:100%;aspect-ratio:3/2;height:auto;object-fit:contain}.travel-copy{padding:24px 18px 0}.step-label{font-size:11px!important;letter-spacing:1.8px;color:var(--rose);margin-bottom:14px}.travel-grid h3{font-size:35px;margin-bottom:18px;line-height:1.1}.travel-grid p{font-size:14px;line-height:1.85}.travel-grid .small-copy{font-size:13px;margin-top:16px;color:var(--muted)}.travel-grid .text-link{font-size:13px;margin-top:18px}.destination-preview{max-width:1240px;margin:75px auto 0;padding-top:58px;border-top:1px solid var(--line)}.destination-preview .section-heading{margin-bottom:30px}.destination-preview h3{font-size:44px;line-height:1.1}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.destination{display:block;min-width:0;text-align:center}.destination img{width:100%;aspect-ratio:3/2;height:auto;object-fit:contain;transition:transform 200ms ease}.destination:hover img{transform:translateY(-3px)}.destination:active img{transform:scale(.98)}.destination h4{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.3;margin:15px 0 8px}.destination h4 span{font-family:var(--sans);font-size:18px;margin-left:8px}.destination p{font-size:13px;color:var(--muted)}.guide-all{display:flex;width:fit-content;margin:38px auto 0}
.gallery-section{background:var(--ivory)}.gallery-photo{border-radius:180px 180px 0 0;box-shadow:none;overflow:visible}.gallery-photo img{border-radius:180px 180px 0 0}.gallery-photo span{position:static;background:none!important;border:0;border-radius:0;box-shadow:none;padding:14px 2px 0;font-size:23px;color:var(--rose)}.gallery-photo i{color:var(--ink)}.gallery-photo:active img{filter:brightness(.96)}
.registry{display:grid;grid-template-columns:1fr .72fr;max-width:none;gap:8%;align-items:center;text-align:left;background:var(--green-wash);padding-left:max(9vw,24px);padding-right:max(9vw,24px);padding-top:80px;padding-bottom:80px}.registry h2{font-size:clamp(45px,4.6vw,65px)}.registry .eyebrow{color:var(--rose)}.registry-copy>p:not(.eyebrow):not(.script){max-width:470px;font-size:15px;line-height:1.9;margin-top:25px}.registry-signature{font-size:35px;color:var(--rose);margin-top:25px}.registry-photo{width:100%;max-height:500px;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;border-radius:180px 180px 0 0}.faq{background:var(--ivory)}.faq .eyebrow{color:var(--rose)}summary:active{background:var(--green-wash)}.rsvp{--muted:var(--ink);display:grid;grid-template-columns:.7fr 1fr;gap:5%;align-items:center;background:var(--blue);padding-left:8%;padding-right:8%;text-align:left}.rsvp-art{width:100%;max-width:460px;justify-self:end}.rsvp-inner{padding:0;max-width:none;border:0;border-radius:0;background:none;box-shadow:none;margin:0}.rsvp .eyebrow{color:var(--rose)}.rsvp h2{font-size:clamp(43px,4.3vw,64px)}.rsvp-signature{color:var(--rose);font-size:40px}.rsvp p:not(.eyebrow){font-size:14px}.rsvp .rsvp-note{font-size:12px}.rsvp-button{min-height:50px}.rsvp-button:hover{background:var(--dark)}footer{background:var(--ivory)}
dialog{background:#233e49fa}dialog button{border-radius:3px;box-shadow:none;background:#ffffff10}dialog button:active{background:#ffffff30}dialog figure img{border-radius:0}
@media(min-width:801px) and (max-width:1000px){.hero h1{font-size:105px}.hero-copy .eyebrow{font-size:10px;max-width:230px}.welcome{gap:7%}.travel-grid{gap:15px}.travel-copy{padding-left:10px;padding-right:10px}.travel-grid h3{font-size:30px}.moment h4{font-size:25px}.moment>div>p:last-child{font-size:12px}}
@media(max-width:800px){.site-header{top:0;left:0;width:100%;height:66px;padding:7px 22px;border:0;border-radius:0}.brand{width:78px}.mobile-menu{max-height:calc(100dvh - 66px);padding-left:26px;padding-right:26px}.menu-scrim{inset:66px 0 0}.hero{height:calc(100svh - 66px);min-height:600px;max-height:1050px}.hero-photo:after{inset:0;background:linear-gradient(color-mix(in srgb,var(--green-wash) 73%,transparent) 0%,#fffdf749 24%,transparent 43%,transparent 68%,#182c3e99 100%)}.mobile-hero-title{top:26px;left:16px;right:16px;padding:0;background:none!important;border:0;border-radius:0;box-shadow:none;max-width:none}.mobile-hero-title .eyebrow{font-size:11px;letter-spacing:1.6px}.hero .mobile-hero-title h1{font-size:clamp(44px,12.4vw,82px);line-height:1.45;margin:5px 0}.mobile-hero-title>p:last-child{font-size:11px;letter-spacing:1.1px}.mobile-hero-link{background:none;border:0;border-bottom:1px solid #ffffffaa;border-radius:0;padding:5px 0;bottom:25px;min-height:44px;font-size:23px}.welcome{grid-template-columns:.85fr 1fr;gap:7%;padding:70px 35px}.welcome h2{font-size:43px}.welcome-photo{padding:8px 8px 14px}.welcome-photo figcaption{font-size:23px;margin-top:10px}.welcome-letter>p:not(.eyebrow):not(.signature){font-size:14px;margin-top:15px}.signature span{font-size:36px}.events-grid{gap:4%}.event-details{padding:12px 13px 22px}.event-number{margin-left:13px}.events-grid h3{font-size:35px}.event-script{font-size:37px}.event-intro{font-size:14px}.moments-row{gap:18px}.moment>img{width:100%}.moment h4{font-size:25px}.moment>div>p:last-child{font-size:12px}.moments-heading h3{font-size:37px}.travel-grid{grid-template-columns:1fr;max-width:600px;gap:40px}.travel-grid article{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.travel-art{aspect-ratio:1;object-fit:contain}.travel-copy{padding:0}.travel-grid h3{font-size:32px}.destination-grid{gap:16px}.destination h4{font-size:25px}.destination p{font-size:12px}.destination-preview h3{font-size:38px}.registry{padding:60px 35px;gap:6%}.registry h2{font-size:45px}.registry-copy>p:not(.eyebrow):not(.script){font-size:14px}.rsvp{padding:60px 30px;gap:4%}.rsvp h2{font-size:45px}.rsvp-signature{font-size:35px}}
@media(max-width:600px){html{scroll-padding-top:82px}.section{padding:62px 22px}.site-header{height:64px;padding:7px 20px}.small{min-height:44px;padding:7px 14px;font-size:12px;gap:11px}.header-actions{gap:10px}.brand{width:76px}.mobile-menu{max-height:calc(100dvh - 64px);padding:18px 26px max(25px,env(safe-area-inset-bottom))}.mobile-menu a{font-size:28px;min-height:46px}.mobile-menu p{font-size:10px;letter-spacing:1.1px}.menu-scrim{inset:64px 0 0}.hero{height:calc(100svh - 64px);min-height:570px}.mobile-hero-title{top:23px;left:12px;right:12px}.hero .mobile-hero-title h1{font-size:clamp(41px,12.6vw,73px);line-height:1.5}.mobile-hero-title .eyebrow{font-size:10px;letter-spacing:1.5px}.mobile-hero-title>p:last-child{font-size:10px;letter-spacing:1px}.welcome{display:flex;flex-direction:column-reverse;padding:60px 30px;gap:38px}.welcome-letter{text-align:center}.welcome h2{font-size:46px}.welcome-photo{width:80%;max-width:350px;transform:rotate(-3deg)}.welcome-photo img{aspect-ratio:4/4.8}.welcome-photo figcaption{font-size:27px}.welcome-letter>p:not(.eyebrow):not(.signature){font-size:15px}.signature span{font-size:40px}.countdown{justify-content:center;margin:26px auto 0}.celebration{padding-left:12px;padding-right:12px}.events-grid{gap:36px;max-width:480px}.event-details{padding:10px 23px 20px;margin:0}.event-number{margin-left:23px;padding-top:5px}.events-grid h3{font-size:42px}.event-script{font-size:41px;margin-bottom:20px}.event-intro{font-size:15px}.event-note{font-size:12px}.event-closing{font-size:32px}.wedding-moments{margin:30px 12px 0;padding-top:36px}.moments-heading h3{font-size:34px;max-width:340px;margin:auto}.moments-row{grid-template-columns:1fr;gap:14px;margin-top:30px}.moment{display:grid;grid-template-columns:43% 1fr;gap:16px;align-items:center;text-align:left}.moment>img{width:100%;max-width:190px;margin:0}.moment h4{font-size:26px;margin-bottom:8px}.moment-time{font-size:11px;margin-bottom:8px;letter-spacing:1px}.moment>div>p:last-child{font-size:12px;line-height:1.65}.moments-note{font-size:11px;margin-top:25px}.venue{padding:60px 24px}.travel{padding:62px 18px}.travel-grid{gap:45px;max-width:480px}.travel-grid article{display:block}.travel-art{aspect-ratio:3/2;width:100%}.travel-copy{padding:20px 12px 0}.travel-grid h3{font-size:36px;margin-bottom:16px}.travel-grid p{font-size:15px;line-height:1.85}.travel-grid .small-copy{font-size:13px}.step-label{margin-bottom:13px}.travel-grid .text-link{font-size:14px}.destination-preview{margin-top:50px;padding-top:42px}.destination-preview h3{font-size:38px}.destination-preview .section-heading{padding:0 8px;margin-bottom:22px}.destination-grid{grid-template-columns:1fr;gap:34px;max-width:480px;margin:auto}.destination h4{font-size:34px;margin-top:8px}.destination p{font-size:14px}.destination img{max-height:310px}.guide-all{font-size:14px;margin-top:35px}.gallery-photo span{font-size:18px;padding:12px 1px 0;line-height:1.3}.gallery-photo i{font-size:15px}.registry{display:flex;flex-direction:column;text-align:center;padding:60px 28px;gap:30px}.registry-photo{width:80%;max-width:340px;max-height:none;aspect-ratio:4/5}.registry h2{font-size:45px}.registry-copy>p:not(.eyebrow):not(.script){font-size:15px}.registry-signature{font-size:33px}.rsvp{display:flex;flex-direction:column;gap:15px;text-align:center;padding:35px 24px 55px}.rsvp-art{width:75%;max-width:290px;margin:auto}.rsvp-inner{padding:0;margin:0}.rsvp h2{font-size:45px}.rsvp-signature{font-size:37px}.rsvp .rsvp-note{font-size:12px}.rsvp .eyebrow{margin-bottom:18px}footer{padding:35px 20px}}
@media(max-width:360px){.site-header{padding:7px 16px}.header-actions{gap:5px}.brand{width:70px}.mobile-hero-title>p:last-child{font-size:10px;letter-spacing:.6px}.mobile-hero-title .eyebrow{font-size:9px}.hero .mobile-hero-title h1{font-size:40px}.moment{gap:10px;grid-template-columns:40% 1fr}.moment h4{font-size:24px}.moments-heading h3{font-size:32px}.event-details{padding-left:18px;padding-right:18px}.events-grid h3{font-size:38px}.gallery-photo span{font-size:17px}.destination h4{font-size:32px}.rsvp h2{font-size:40px}}
@media(max-width:800px) and (max-height:500px){.mobile-hero-title{top:20px;padding:0;max-width:none}.hero .mobile-hero-title h1{font-size:50px;line-height:1.2}.mobile-hero-title>p:last-child{font-size:10px}.hero{min-height:580px}}
@media(prefers-contrast:more){.site-header,.mobile-menu{border-bottom:1px solid var(--ink)}p{color:var(--dark)}.eyebrow,.step-label,.moment-time{color:var(--ink)}.text-link{border-bottom-width:2px}}
@media(prefers-reduced-motion:reduce){.destination img,.button{transition:none!important}.destination:hover img,.destination:active img,.button:active{transform:none}}
@media print{.welcome,.wedding-moments img,.travel-art,.destination-preview,.registry,.rsvp,.menu-scrim{display:none!important}.section{background:white!important}.event-details{background:white!important;border:0;box-shadow:none;padding:15px}.wedding-moments{margin:10px 0;padding:10px 0}.moments-row{grid-template-columns:repeat(3,1fr)}.moment{display:block}.moment h4{font-size:20px}.travel-grid article{display:block}.travel-copy{padding:0}.registry-photo,.rsvp-art{display:none}}

/* City Hall cover: preserve both faces and keep the invitation in the architectural space. */
.hero-photo>img{object-position:50% 35%}.welcome-photo img{object-position:50% 50%}
@media(max-width:800px){.hero-photo:after{background:linear-gradient(#fffdf7b8 0%,#fffdf770 17%,transparent 32%,transparent 72%,#182c3e99 100%)}.hero-photo>img{object-position:50% 35%}.mobile-hero-title{top:20px}}

/* Compact imagery: auto height plus natural ratios reserve space before lazy loading. */
.welcome-photo{width:100%;max-width:360px;justify-self:center}.welcome-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.registry-photo{width:100%;max-width:280px;height:auto;max-height:none;aspect-ratio:3/4;object-fit:contain;justify-self:center;border-radius:130px 130px 8px 8px}.rsvp-art{width:100%;max-width:300px;height:auto;aspect-ratio:1;object-fit:contain;justify-self:center}
/* One prominent RSVP treatment, with the same outlined link icon as other CTAs. */
.header-actions .button,.rsvp-button{background:var(--ink);color:var(--ivory);border-color:var(--ink);font-weight:600;gap:10px}.header-actions .button:hover,.rsvp-button:hover{background:var(--dark);border-color:var(--dark);color:var(--ivory)}.header-actions .button:active,.rsvp-button:active{background:var(--dark)}
.hero-copy h1,.mobile-hero-title h1{color:var(--ink);-webkit-text-stroke:.3px currentColor}.hero-date span,.mobile-hero-title p{font-weight:600}.mobile-hero-title h1{text-shadow:0 1px 1px #fffdf7cc}.mobile-hero-link{font-weight:600;text-shadow:0 1px 4px #132e3b}
@media(max-width:800px){.hero-photo:after{background:linear-gradient(to bottom,#fffdf7f5 0,#fffdf7ed 145px,#fffdf780 185px,transparent 230px,transparent 72%,#132e3bad 100%)}.mobile-hero-title p{color:var(--ink)}.rsvp-art{max-width:230px}}
@media(max-width:600px){.welcome{gap:30px}.welcome-photo{width:100%;max-width:280px;transform:rotate(-2deg)}.welcome-photo img{height:auto;aspect-ratio:4/3}.welcome-photo figcaption{font-size:25px}.registry{gap:26px}.registry-photo{width:210px;max-width:72%;height:auto;aspect-ratio:3/4;border-radius:100px 100px 8px 8px}.rsvp-art{width:180px;max-width:60%;height:auto;aspect-ratio:1}.rsvp{gap:16px;padding-top:30px}.header-actions .small{padding:7px 14px}.mobile-hero-title .eyebrow{font-size:11px;letter-spacing:1.1px}.mobile-hero-title>p:last-child{font-size:11px;letter-spacing:.6px}}
@media(forced-colors:active){.header-actions .button,.rsvp-button{background:ButtonFace;color:ButtonText;border-color:ButtonText}}

/* Photo labels name the place without competing with the photographs. */
.welcome-photo figcaption,.photo-caption,dialog figcaption{font-family:var(--sans);font-style:normal;font-size:13px;font-weight:500;letter-spacing:.08em;line-height:1.6}
.photo-caption{font-size:14px;text-shadow:0 1px 5px #132e3b}
dialog figcaption[hidden]{display:none}
/* Match the original Wix names: Dawning of a New Day, bold, spaced lettering. */
:root{--names:'Dawning of a New Day','Brush Script MT',cursive}
.hero h1,.hero .mobile-hero-title h1,.signature span{font-family:var(--names);font-weight:700;font-style:normal;letter-spacing:.1em;transform:none}
.hero h1{line-height:.95}
.hero h1 .amp{font-size:.45em;font-family:var(--names);font-style:normal;font-weight:700;letter-spacing:0;line-height:1;margin:6px 0}
.signature span{font-size:clamp(34px,3.3vw,48px);letter-spacing:.06em;line-height:1.5}
@media(max-width:800px){.hero .mobile-hero-title h1{font-size:clamp(38px,10.5vw,68px);line-height:1.5;letter-spacing:.08em}.signature span{font-size:36px}}
@media(max-width:360px){.hero .mobile-hero-title h1{font-size:34px;letter-spacing:.07em}.signature span{font-size:32px}}

/* Beach cover: keep both faces and the engagement ring in view. */
.hero-photo>img{object-position:50% 56%}
@media(max-width:800px){.hero-photo>img{object-position:50% 0}}

/* Approved JK serif option 5: preserve the mark's natural proportions. */
.site-header .brand{width:64px;min-width:64px;height:54px}
.site-header .brand img{width:100%;height:100%;object-fit:contain}
.footer-brand{width:90px}
.footer-brand img{width:90px;height:80px;object-fit:contain}
@media(max-width:800px){.site-header .brand{width:56px;min-width:56px;height:48px}}
/* Travel essentials: arrival and accommodation, without numbered steps. */
@media(min-width:801px){.travel-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:5%}}
.travel-grid--two .travel-copy p+p{margin-top:1em}

/* Let the original venue watercolor sit naturally beside the welcome letter. */
.welcome-photo.welcome-venue{max-width:560px;padding:0;background:transparent;box-shadow:none;transform:none}
.welcome-photo.welcome-venue img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Center the welcome letter and keep its invitation on one line. */
.welcome-letter{width:100%;min-width:0;container-type:inline-size;text-align:center}
.welcome-letter h2{font-size:clamp(28px,13cqw,60px);white-space:nowrap;margin-inline:auto}
.welcome-letter .countdown{justify-content:center;margin-inline:auto}
@media(max-width:600px){.welcome-letter h2{font-size:clamp(28px,13cqw,46px)}}

/* Labels and their values share a typographic baseline at every text size. */
.attire,.venue-time{align-items:baseline}
.attire>span,.venue-time>span{align-self:baseline}

/* Continue from the welcome letter to the wedding itinerary. */
.welcome-letter .welcome-link{margin-top:26px}

/* Larger mobile invitation details, set in the open sky above the portrait. */
@media(max-width:800px){
  .mobile-hero-title .mobile-hero-meta{margin-top:12px;letter-spacing:0}
  .mobile-hero-meta span{display:block}
  .mobile-hero-meta .mobile-hero-date{font-family:var(--serif);font-size:clamp(25px,6.4vw,34px);font-weight:400;line-height:1.2}
  .mobile-hero-meta .mobile-hero-location{margin-top:8px;font-size:clamp(14px,3.8vw,18px);font-weight:500;line-height:1.5;letter-spacing:.025em}
}

.site-header .desktop-nav a[aria-current="page"]{text-decoration:none;border-bottom:1px solid var(--ink)}
.site-header .mobile-menu a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em}

.rsvp-help a,.journey-footer>a{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle;text-underline-offset:.2em}
.rsvp-help a:focus-visible,.journey-footer>a:focus-visible,.faq-contact-end a:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}
