/* Light palette and readable type across screen sizes. */
html{overflow-x:clip}body{font-size:16px;color:#243862;background:#f7faff}h2{font-size:clamp(42px,5.8vw,78px);line-height:1.08;letter-spacing:-1.6px}.eyebrow,.section-mark,.section-mark>span{font-size:11px;letter-spacing:1.5px;line-height:1.6;color:#61769d}.nav{color:#355383}.nav-date,.nav-place{font-size:12px;letter-spacing:1px}.nav-place{font-weight:600}.brand span{color:#6f8cca}.hero{background:#eef4ff;color:#263e69}.hero:after{background:linear-gradient(90deg,#f0f6ff80,transparent 65%)}.aurora-one{background:radial-gradient(ellipse,#c4bff1a0,#c0d8f590 50%,transparent 70%)}.aurora-two{background:radial-gradient(ellipse,#b7dff8a0,#dbe8ff80 50%,transparent 70%)}.hero-grid{opacity:.6}#sky{opacity:.2;mix-blend-mode:multiply}.hero-content>.eyebrow{font-size:12px;color:#607aac}.hero h1{font-size:clamp(68px,8.3vw,122px);line-height:.92;letter-spacing:-2px}.hero h1>i{color:#7b83ba}.hero-description{font-size:17px;color:#51678b;line-height:1.75;max-width:440px}.hero-description em{color:#304d7a}.text-link{font-size:15px;color:#365992;border-color:#8da6cd}.hero-photo{box-shadow:0 0 0 1px #fff9,0 0 0 14px #ffffff40,0 25px 80px #5974a525}.hero-photo img{filter:none}.portrait-shine{opacity:.2}.portrait-word{color:#536e9c;font-size:28px}.orbit-lines{stroke:#7897cc65}.orbit-lines circle{fill:#7495c8}.floating-note{color:#6583b7}.floating-note small{font-size:11px}.date-pill{color:#365584;background:#ffffffa0;border-color:#a3bbdf;font-size:13px}.date-pill>span{font-size:11px;color:#6a81a5;border-color:#b6c7df}.date-pill>i{background:#7594c5}.hero-footer,.edition,.scroll-hint{font-size:10px;color:#6980a4;line-height:1.5}.scroll-hint i{background:#8ba5ce}.letter-section,.meeting-section{background:#f7faff}.letter-heading h2{font-size:clamp(52px,6vw,82px)}.letter-heading p,.letter-paper p{font-size:16px;line-height:1.7;color:#4c6185}.letter-label{font-size:10px;line-height:1.5;letter-spacing:1px}.letter-paper{height:auto;min-height:350px;padding:30px;inset:15px 20px auto;overflow:visible}.letter-paper h3{font-size:40px}.letter-sign{font-size:24px}.envelope{height:380px}.envelope:not(.open) .letter-paper{visibility:hidden}.envelope.open .letter-paper{visibility:visible;transform:translateY(-140px)}.envelope.open{margin-top:100px}.envelope-hint{font-size:13px;color:#637a9f;line-height:1.6}.seal span{font-size:10px;letter-spacing:.6px}.small-serif{color:#6c80a8}.gallery-heading h2{font-size:clamp(42px,5.4vw,70px);line-height:1.1}.gallery-heading .eyebrow{font-size:11px;max-width:none}.gallery-item>span{font-size:13px}.gallery-item i{font-size:22px}.gallery-caption{font-size:11px;line-height:1.6;letter-spacing:.6px;color:#667b9e}.gallery-controls button{min-width:44px;min-height:44px}.date-section{background:#e1eafd;color:#2f497f}.date-section:before{background:radial-gradient(ellipse at 80% 15%,#e8e3fbaa,transparent 60%),radial-gradient(ellipse at 10% 80%,#cbe8ffaa,transparent 65%)}.date-content>.eyebrow{font-size:12px;color:#637bad}.date-waves i{border-color:#8299cc25}.giant-date{font-size:clamp(100px,15vw,210px);line-height:1.15;letter-spacing:0;gap:.14em;padding:10px 0;flex-wrap:nowrap}.giant-date em{font-size:.5em;line-height:1.3;font-weight:400}.date-subline{font-size:12px;gap:35px;letter-spacing:1px;flex-wrap:wrap;line-height:1.6}.date-year{font-size:36px;letter-spacing:2px;line-height:1.3}.date-caption{font-size:30px;line-height:1.5;color:#4a6093}.date-divider{background:linear-gradient(transparent,#8da7d1)}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:min(600px,100%);margin:25px auto 0;align-items:start}.countdown>i{display:none}.countdown>div{min-width:0;text-align:center}.countdown b{font-family:var(--sans);font-size:clamp(30px,5vw,54px);font-weight:400;letter-spacing:0;line-height:1.3;min-width:0;font-variant-numeric:tabular-nums}.countdown span{font-size:13px;line-height:1.5;letter-spacing:.3px;color:#637da7;margin-top:8px}.button,.button-light,.music-panel .button{font-size:14px;line-height:1.5;padding:17px 25px;gap:20px}.button-light{color:#37598d;background:#ffffff80;border-color:#8da7d1}.meeting-copy>.eyebrow,.arrival-label{font-size:11px;letter-spacing:1px;line-height:1.6}.meeting-copy h2{font-size:clamp(44px,5.5vw,74px);line-height:1.1;margin:20px 0 35px}.arrival-time{display:flex;gap:20px;align-items:baseline;flex-wrap:wrap;font-size:64px;line-height:1.4;letter-spacing:0;margin:10px 0}.arrival-time span{font-size:15px;margin:0;line-height:1.6}.arrival p,.meeting-foot{font:16px/1.75 var(--sans);color:#5b7194}.meeting-foot{margin-left:25px}.meeting-handwriting{font-size:35px}.location-dot,.place-name>.eyebrow,.map-label{font-size:11px;letter-spacing:1px;line-height:1.6}.place-name h2{font-size:clamp(90px,11vw,155px);line-height:.95;letter-spacing:-3px}.place-name h2 em{margin-top:0;margin-left:50px}.place-scribble{font-size:24px;line-height:1.5;margin-left:50px}.address{font-size:16px;line-height:1.75;color:#506b91}.place-section{background:#eaf2ff}.closing{background:#edf3ff;color:#304775}.closing:before{background:radial-gradient(ellipse at 50% 100%,#d6dcf9,transparent 70%)}.closing h2{font-size:clamp(48px,6.8vw,90px);line-height:1.08}.closing h2 em{color:#7182c2}.closing>.eyebrow,.closing>p{color:#586f99;font-size:15px}.closing>.eyebrow{font-size:11px}.closing-orbit{border-color:#768eb91c;box-shadow:0 0 0 50px #7185bb04,0 0 0 100px #7185bb04}.heart-button{color:#6982b8}.heart-button svg{stroke:#7d93c5}.heart-button>span{font-size:11px;line-height:1.5;letter-spacing:1px}.heart-message{height:auto;min-height:30px;font-size:14px!important}footer{font-size:12px;color:#697fa5;letter-spacing:1px;line-height:1.5;border-color:#7894c333}footer>span:first-child{color:#46648f;font-size:28px}footer>span:first-child i{color:#788abd}footer a{font-size:11px}.music-toggle>span:nth-child(2){font-size:10px}.music-panel>.eyebrow{font-size:10px}.music-panel p{font-size:14px}.music-panel h3{line-height:1.1}.progress{background:#6c87ca}
.dress-section,.gifts-section{padding:90px 7%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;background:#fff}.dress-copy h2,.gift-copy h2{margin:20px 0 25px;font-size:clamp(42px,4.8vw,64px)}.dress-copy p,.gift-copy p{font-size:17px;line-height:1.85;color:#526a8f;max-width:600px}.palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;text-align:center}.palette>div{min-width:0}.palette span{display:block;width:100%;aspect-ratio:1;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 35px #ffffff55,0 12px 25px #52688d12;animation:float 7s ease-in-out infinite}.palette>div:nth-child(2) span{animation-delay:-2s}.palette>div:nth-child(3) span{animation-delay:-4s}.palette strong{display:block;font-size:13px;font-weight:500;line-height:1.5;margin-top:20px;overflow-wrap:anywhere}.gifts-section{background:#eff4ff;grid-template-columns:.7fr 1.3fr}.gift-copy p+p{margin-top:14px}.bottle-art{text-align:center;color:#7591c5}.bottle-art svg{height:230px;width:180px;display:block;margin:auto;fill:#d9e6fb;stroke:#6e8bc2;stroke-width:2}.bottle-art .bottle-heart{fill:none;stroke:#8997d0}.bottle-art i{display:block;font:italic 26px var(--serif);margin-top:15px}.rsvp-section{padding:90px 7% 110px;background:#fff}.rsvp-heading{max-width:740px;margin:0 auto 45px;text-align:center}.rsvp-heading h2{margin:20px 0 25px;font-size:clamp(44px,5vw,68px)}.rsvp-heading p{font-size:17px;line-height:1.8;color:#5b7093}.rsvp-form{max-width:760px;margin:auto;background:#f4f7ff;border:1px solid #dce5f6;border-radius:24px;padding:45px}.text-field{display:block;font-size:16px;font-weight:500;line-height:1.6}.text-field input,.text-field textarea{display:block;width:100%;margin-top:10px;border:1px solid #bdcde8;border-radius:10px;padding:14px 16px;font:16px/1.5 var(--sans);color:#243862;background:white;outline:none}.text-field input:focus,.text-field textarea:focus{border-color:#6c86c5;box-shadow:0 0 0 3px #6c86c51a}.text-field input::placeholder,.text-field textarea::placeholder{color:#8a98b1}.rsvp-form fieldset{border:0;padding:0;margin:30px 0 0;min-width:0}.rsvp-form legend{font-size:17px;font-weight:500;line-height:1.6;padding:0;margin-bottom:13px;max-width:100%}.choices{display:flex;flex-wrap:wrap;gap:10px}.choices label{display:flex;align-items:center;gap:10px;border:1px solid #cbd8ee;border-radius:10px;padding:12px 16px;background:#fff;font-size:15px;line-height:1.5;cursor:pointer;min-height:48px}.choices label:has(input:checked){background:#e6edff;border-color:#7892d0}.choices input{margin:0;accent-color:#5b79be;width:17px;height:17px;flex-shrink:0}.field-note,.form-note{font-size:14px;line-height:1.65;color:#667ca2}.field-note{margin:-3px 0 13px}.form-note{margin-top:30px}.submit-rsvp{margin-top:20px;min-height:50px}.submit-rsvp:disabled{opacity:.65;cursor:default}.form-status{font-size:16px;line-height:1.7;margin-top:18px;color:#526c9c}.form-status[data-state=error]{color:#a43d59}.form-status[data-state=success]{color:#306552}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#allergy-field{margin-top:18px}[hidden]{display:none!important}
@media(max-width:1000px){.edition,.scroll-hint{display:none}.hero-footer{justify-content:center}.hero-footer>.date-pill{margin:0}.letter-layout{gap:5vw}.envelope-wrap{max-width:520px}.letter-layout{grid-template-columns:1fr}.letter-heading{max-width:650px}.letter-paper{min-height:355px}.envelope.open{margin-top:135px}.meeting-layout{gap:5vw}.place-top{gap:20px}.dress-section{grid-template-columns:1fr;gap:40px}.palette{max-width:560px}.hero{min-height:950px}}
@media(max-width:700px){.hero{padding:110px 7% 90px;min-height:1080px;height:auto}.hero h1{font-size:clamp(55px,14.2vw,88px);line-height:1.02}.hero h1>.second{margin-left:20px;margin-top:0}.hero h1>i{font-size:30px;line-height:1.2;margin:0 0 0 80px}.hero-content>.eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:25px}.hero-description{font-size:16px;margin-top:24px;line-height:1.75;max-width:330px}.text-link{font-size:14px}.portrait-system{height:430px;bottom:90px;width:92%;right:-2%;top:auto}.portrait-word{font-size:24px;right:8%;bottom:0}.floating-note{display:none}.nav{padding:24px 6%}.nav-date{font-size:10px;letter-spacing:.6px}.nav-place{font-size:10px;letter-spacing:.3px}.brand{font-size:30px}.hero-footer{bottom:25px}.date-pill{font-size:12px;padding:15px 18px;gap:10px}.date-pill>span{font-size:10px;padding-left:10px}.section-mark,.eyebrow{font-size:10px;letter-spacing:1px}.letter-section{padding:50px 7% 65px}.letter-heading h2{font-size:50px}.letter-heading p{font-size:16px}.letter-layout{gap:25px;margin-top:35px}.envelope-wrap{padding-top:30px}.envelope{height:380px}.letter-paper{padding:24px 22px;inset:10px 10px auto;min-height:360px}.letter-paper h3{font-size:32px;margin:12px 0}.letter-paper p{font-size:15px;line-height:1.7}.letter-sign{font-size:23px;line-height:1.4}.letter-label{font-size:9px;letter-spacing:.5px}.envelope.open{margin-top:140px}.envelope.open .letter-paper{transform:translateY(-140px)}.envelope-hint{font-size:12px}.seal{width:76px;height:76px}.gallery-heading{flex-wrap:wrap;align-items:center;gap:20px}.gallery-heading .eyebrow{font-size:10px}.gallery-heading h2{font-size:44px;margin-top:14px}.gallery-controls{margin-left:auto}.gallery-caption{font-size:10px;gap:20px}.gallery-item i{font-size:20px}.date-section{padding:65px 20px}.date-content>.eyebrow{font-size:10px}.giant-date{font-size:110px;letter-spacing:0;line-height:1.2;gap:16px;margin-top:20px;padding:0}.giant-date em{font-size:57px}.date-subline{font-size:10px;letter-spacing:.5px;gap:20px;margin-top:12px}.date-year{font-size:32px;line-height:1.5;letter-spacing:1px}.date-caption{font-size:26px;line-height:1.5;max-width:300px;margin:auto}.countdown{gap:10px;margin-top:28px}.countdown b{font-size:clamp(27px,8vw,38px);line-height:1.5}.countdown span{font-size:12px;line-height:1.5;margin-top:2px}.button{font-size:14px;line-height:1.5}.meeting-section{padding:50px 7%}.meeting-copy>.eyebrow{font-size:10px;letter-spacing:.7px}.meeting-copy h2{font-size:48px;line-height:1.1;margin:20px 0 30px}.arrival{gap:18px}.arrival-label{font-size:11px}.arrival-time{font-size:54px;line-height:1.4;gap:12px;margin:10px 0}.arrival-time span{font-size:15px;margin:0}.arrival p,.meeting-foot{font-size:16px;line-height:1.75}.meeting-visual{height:480px}.meeting-handwriting{font-size:30px}.place-top{flex-wrap:wrap;gap:18px}.place-top .section-mark{max-width:none}.location-dot{font-size:10px}.place-name>.eyebrow{font-size:10px;margin-bottom:20px}.place-name h2{font-size:105px;line-height:1;letter-spacing:-2px}.place-name h2 em{margin-left:50px}.place-scribble{font-size:23px;margin:20px 0 0 50px}.map-label{font-size:10px;letter-spacing:.5px}.address{font-size:16px;line-height:1.75}.closing h2{font-size:48px;line-height:1.1;letter-spacing:-1px}.closing>p{font-size:15px;line-height:1.75}.closing>.eyebrow{font-size:10px}.heart-button>span{font-size:10px}.closing footer{font-size:11px;line-height:1.5}.closing footer a{font-size:10px}.music-toggle{bottom:12px;left:12px;padding:9px 14px}.music-toggle>span:nth-child(2){font-size:10px}.music-panel p{font-size:14px}.dress-section,.gifts-section{padding:60px 7%;grid-template-columns:1fr;gap:30px}.dress-copy h2,.gift-copy h2{font-size:44px;line-height:1.12;margin:18px 0 24px}.dress-copy p,.gift-copy p{font-size:16px;line-height:1.85}.palette{gap:14px}.palette strong{font-size:12px;line-height:1.6;margin-top:16px}.bottle-art svg{height:170px}.bottle-art i{font-size:23px}.gifts-section{gap:25px}.rsvp-section{padding:65px 6%}.rsvp-heading{margin-bottom:30px;text-align:left}.rsvp-heading h2{font-size:44px;line-height:1.1}.rsvp-heading p{font-size:16px}.rsvp-form{padding:25px 20px;border-radius:18px}.rsvp-form legend{font-size:16px;line-height:1.6}.choices{gap:9px}.choices label{font-size:15px;padding:12px}.drinks{display:grid;grid-template-columns:1fr}.form-note{font-size:13px}.form-status{font-size:15px}.submit-rsvp{width:100%}.text-field{font-size:15px}}
@media(max-width:375px){.hero{min-height:1050px}.hero h1{font-size:14vw}.letter-paper{padding:20px 17px}.letter-paper p{font-size:14px}.letter-sign{font-size:21px}.countdown{gap:7px}.countdown b{font-size:27px}.countdown span{font-size:11px}.date-subline{gap:12px}.giant-date{font-size:98px}.giant-date em{font-size:50px}.palette{gap:10px}.palette strong{font-size:11px}.nav-place{font-size:9px}.nav-date{font-size:9px}}
.brand,.seal{font-style:normal}.nav-date{background:#4869b7;color:#fff;border-radius:30px;padding:12px 22px;font-size:17px;font-weight:600;letter-spacing:1.5px;box-shadow:0 5px 22px #4869b72a}.date-pill{background:#4869b7;color:white;border-color:#4869b7;font-weight:600}.date-pill>span{color:#e0eaff}.date-pill>i{background:white}.invitation-heart{animation:heartbeat 4s ease-in-out infinite;font-family:Georgia,serif;color:#8a9ed0}.day-schedule{list-style:none;margin:25px 0;padding:0}.day-schedule li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;padding:22px 0;border-bottom:1px solid #b8c9e640}.day-schedule time{font-size:28px;line-height:1.4;font-variant-numeric:tabular-nums;color:#526fae}.day-schedule strong{font-size:17px;font-weight:500;line-height:1.6}.day-schedule p{font-size:14px;line-height:1.7;color:#7384a3;margin-top:5px}.palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.palette span{border:1px solid #c8d4e5}.gifts-section{display:block;text-align:center;background:linear-gradient(130deg,#edf4ff,#f5f2fc);position:relative}.gift-copy{max-width:740px;margin:auto;padding:15px 0;border-top:1px solid #9eafd244;border-bottom:1px solid #9eafd244}.gift-copy p{max-width:680px;margin-left:auto;margin-right:auto}.drink-notes{margin-top:22px}@media(max-width:700px){.nav-date{font-size:12px;padding:10px 14px;letter-spacing:.5px}.nav-place{font-size:9px}.palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px}.day-schedule li{grid-template-columns:77px minmax(0,1fr);gap:14px;padding:19px 0}.day-schedule time{font-size:25px}.day-schedule strong{font-size:16px}.day-schedule p{font-size:14px}.meeting-visual{height:430px}.gift-copy{padding:20px 0}.invitation-heart{right:0}}

.organizer-section{padding:85px 7%;background:#f6f9ff}.organizer-card{max-width:960px;margin:auto;padding:55px 60px;border:1px solid #dce6f5;border-radius:28px;background:linear-gradient(125deg,#fff,#f0f5ff);box-shadow:0 16px 50px #627baa0a}.organizer-card h2{font-size:clamp(44px,5vw,64px);line-height:1.12;margin:22px 0 25px}.organizer-intro{max-width:730px;font-size:17px;line-height:1.85;color:#526a8f}.organizer-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid #dce6f5;margin-top:35px;padding-top:30px}.organizer-role{font-size:10px;letter-spacing:1.1px;color:#667da2;line-height:1.8}.organizer-contact h3{font:42px/1.3 var(--serif);margin:8px 0 0;color:#344c75}.organizer-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.organizer-phone{font-size:20px;color:#344c75;text-decoration:none;white-space:nowrap}.organizer-telegram{display:flex;align-items:center;gap:13px;color:#346c9b;text-decoration:none;padding:10px 12px 10px 0;border-radius:12px;transition:transform .25s,background .25s}.organizer-telegram:hover{transform:translateY(-3px);background:#e6f3fd}.organizer-telegram svg{width:44px;height:44px;flex-shrink:0}.organizer-telegram span{font-size:14px;line-height:1.5}.organizer-telegram small{display:block;font-size:12px;color:#5d799a;margin-top:2px}.organizer-phone:focus-visible,.organizer-telegram:focus-visible{outline:2px solid #45aade;outline-offset:5px}@media(max-width:700px){.organizer-section{padding:55px 6%}.organizer-card{padding:30px 23px;border-radius:22px}.organizer-card h2{font-size:42px}.organizer-intro{font-size:16px;line-height:1.8}.organizer-contact{flex-direction:column;align-items:flex-start;gap:22px;margin-top:25px;padding-top:25px}.organizer-contact h3{font-size:36px}.organizer-phone{font-size:20px}.organizer-telegram{gap:10px}.organizer-telegram span{font-size:13px}.organizer-telegram small{font-size:11px}}@media(prefers-reduced-motion:reduce){.organizer-telegram{transition:none}.organizer-telegram:hover{transform:none}}
.location-instagram{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;text-decoration:none;cursor:pointer;position:relative;z-index:2}.location-instagram:hover{color:#4869b7}.location-instagram:focus-visible{outline:2px solid #4869b7;outline-offset:8px;border-radius:50%}.map-ring{pointer-events:none}
