@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600&display=swap');
:root{--navy:#101f32;--ink:#253448;--muted:#697381;--paper:#faf9f6;--line:#dedfdc;--gold:#c2a675}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#101925;color:var(--ink);font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.8}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8b9cb2;outline-offset:5px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,.signature,.hero-names,.closing-names{font-family:'Noto Serif KR',Georgia,serif;font-weight:400}h2{font-size:28px;line-height:1.65;letter-spacing:-1.2px}h3{font-size:21px;font-weight:500}.invitation{width:100%;max-width:480px;margin:auto;background:var(--paper);box-shadow:0 0 100px #0004;padding-bottom:68px}.desktop-note{display:none}.demo-bar{height:39px;background:#142238;display:flex;align-items:center;justify-content:center;gap:8px;color:#d3d9e3;font-size:10px;letter-spacing:1.4px}.demo-label{font-size:11px;letter-spacing:0;margin-left:7px;color:#bbc4d0}.demo-dot{width:5px;height:5px;border-radius:50%;background:#d3b88e}.hero{position:relative;min-height:790px;height:calc(100svh - 39px);max-height:1050px;color:#f7f4ee;overflow:hidden;padding:30px 36px 28px;display:flex;flex-direction:column;isolation:isolate;background:#091322}.hero-art,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-art{object-position:50% 56%;animation:slow-appear 2s ease both}.hero-shade{z-index:-1;background:linear-gradient(180deg,#0710204d 0%,#0710201a 45%,#07102000 60%,#091322e8 100%)}.hero-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#c1c8d4}.hero-top span:last-child{font-size:9px}.hero-copy{margin-top:75px}.eyebrow{font-size:12px;letter-spacing:2.6px;font-weight:500;line-height:1.7}.hero-copy .eyebrow{font-size:13px;letter-spacing:1.8px;color:#d7d9e1;margin-bottom:27px}.hero h1{font-size:43px;line-height:1.65;letter-spacing:-1.8px;text-shadow:0 2px 15px #09132245}.hero-names{font-size:14px;margin-top:34px;letter-spacing:1px;color:#cbd0da}.hero-names span{font-size:20px;color:#fff;margin-left:6px}.hero-names i{font-family:Georgia;font-size:17px;font-style:italic;margin:0 17px;color:var(--gold)}.hero-bottom{margin-top:auto;text-align:center;padding-top:135px}.hero-bottom>p:first-child{font-family:Georgia,serif;letter-spacing:1.5px;font-size:17px}.hero-bottom p span{display:block;font-size:12px;margin-top:3px}.hero-place{font-size:13px;color:#c4cad5;margin-top:10px}.scroll-link{display:flex;flex-direction:column;align-items:center;gap:13px;font-size:9px;letter-spacing:2px;color:#98a5b7;margin-top:33px}.scroll-line{height:28px;width:1px;background:linear-gradient(#bbc7d3,transparent)}.paper{background:var(--paper)}section:not(.hero){padding:76px 34px}.letter{text-align:center}.letter>.eyebrow{color:#81868b;font-size:11px}.ornament{font-size:27px;color:#b6986b;margin:24px 0}.letter h2{margin-bottom:34px}.letter-text{font-size:15px;line-height:2.2;margin:20px -6px;color:#626a73;letter-spacing:-.3px}.signature{display:flex;justify-content:center;gap:20px;margin:43px 0 28px;font-size:17px}.amp{color:#a49175;font-style:italic}.outline-btn{border:1px solid #d4d8d9;border-radius:2px;background:transparent;padding:12px 21px;font-size:13px}.outline-btn span{margin-left:24px;color:#73808e}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.section-head .eyebrow{font-size:11px;color:#7a858e}.section-num{font-family:Georgia;font-style:italic;color:#9ca6ad;font-size:14px}.date-section{border-top:1px solid var(--line)}.date-caption{font-size:13px;color:var(--muted);margin-top:14px}.calendar{margin-top:34px;border-top:1px solid #c3c9ca;border-bottom:1px solid #c3c9ca;padding:20px 0 24px}.calendar-heading{display:flex;justify-content:center;align-items:center;gap:20px;font-size:11px;letter-spacing:2px}.calendar-heading strong{font-family:Georgia,serif;font-size:40px;font-weight:400;line-height:1.5;letter-spacing:-1px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;row-gap:8px}.weekdays{font-size:12px;color:#7a8288;margin:18px 0 12px}.weekdays span:first-child,.days .sunday{color:#a57067}.days span{display:grid;place-items:center;aspect-ratio:1;font-family:Georgia,serif;font-size:15px;position:relative}.days .wedding{background:#162b43;color:#fff;border-radius:50%;max-width:37px;width:100%;justify-self:center}.days .wedding::after{content:'♥';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--gold)}.countdown{text-align:center;font-size:14px;margin-top:25px;color:var(--muted)}.countdown strong{color:var(--navy);font-size:17px;font-weight:500;margin:0 5px}.text-btn{display:block;margin:13px auto 0;border:0;background:transparent;font-size:13px;padding:9px 14px}.text-btn span{margin-left:13px}.gallery-section{background:#e9eef1}.section-description{color:var(--muted);font-size:14px;line-height:1.9;margin-top:14px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.gallery-item{padding:0;border:0;overflow:hidden;position:relative;background:#132238;aspect-ratio:4/5}.gallery-item.wide{grid-column:1/-1;aspect-ratio:1.12}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}.gallery-item.wide img{object-position:50% 68%}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{position:absolute;bottom:18px;left:18px;color:#fff;font-size:9px;letter-spacing:1.6px}.crop-one img{transform:scale(1.8);object-position:15% 20%}.crop-two img{transform:scale(1.4);object-position:90% 100%}.crop-one:hover img{transform:scale(1.9)}.crop-two:hover img{transform:scale(1.5)}.sample-note{font-size:12px;line-height:1.9;color:#818a91;text-align:center;margin-top:23px}.venue{position:relative;margin:30px 0 23px}.venue>p{font-size:14px;color:var(--muted);margin-top:4px}.tag{display:inline-block;position:absolute;right:0;top:5px;font-size:11px;background:#e9edef;color:#71808c;padding:3px 8px}.map-placeholder{height:181px;background:#e7ebea;position:relative;display:grid;place-items:center;overflow:hidden}.map-placeholder svg{position:absolute;width:100%;height:100%;color:#faf9f6;opacity:.85}.map-placeholder>span{position:relative;font-size:12px;color:#526674;margin-top:95px;background:#f9f9f4e8;padding:2px 10px}.map-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;margin:12px 0 25px}.map-buttons button{background:transparent;border:0;border-right:1px solid #daddde;font-size:12px;padding:9px 2px}.map-buttons button:last-child{border:0}.info-row{border-top:1px solid var(--line);padding:17px 0}.info-row:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:14px;min-height:28px}summary::-webkit-details-marker{display:none}summary>span{font-size:17px;color:#8c98a0;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}.info-row p{font-size:13px;line-height:1.9;color:#737b83;padding-top:12px}.accounts-section{border-top:1px solid var(--line)}.accounts-section .section-description{margin-bottom:30px}.account-group{border:1px solid #d3d9dc;margin-top:12px;background:#fff9}.account-group>summary{padding:17px 20px}.account-row{display:flex;align-items:center;justify-content:space-between;margin:0 20px;padding:18px 0 22px;border-top:1px solid #e2e5e6}.account-row strong{font-weight:500;font-size:14px}.account-row p{font-size:12px;color:#7c8590;margin-top:4px}.copy-demo{font-size:12px;padding:7px 12px;border:1px solid #d7dee2;background:#f7f8f8;border-radius:3px}.closing{color:#f2f0ea;text-align:center;background:#101f32}.closing-star{display:block;font-size:40px;color:var(--gold);margin-bottom:27px}.closing .eyebrow{font-size:10px;color:#91a0b1}.closing h2{font-size:26px;margin:21px 0 13px}.closing>p:not(.eyebrow){font-size:13px;color:#acb7c4}.closing-names{font-size:19px;margin:35px 0 42px}.closing-names span{font-family:Georgia;color:var(--gold);margin:0 16px;font-style:italic}.share-btn{display:block;width:100%;padding:14px;border:1px solid #718297;background:#f5f3ee;color:#263a50;font-size:14px}.share-btn span{margin-left:40px}.link-btn{background:transparent;color:#c3cbd4;border:0;padding:15px;font-size:13px}.closing small{display:block;color:#6f8195;font-size:9px;letter-spacing:1.9px;margin-top:42px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;min-height:64px;padding:0 13px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;background:#faf9f6f5;backdrop-filter:blur(12px);border-top:1px solid #d5dadd;z-index:10}.bottom-nav a{font-size:12px;color:#6f7780;text-align:center;padding:21px 0;position:relative}.bottom-nav a.active{color:#152c45;font-weight:600}.bottom-nav a.active:before{content:'';position:absolute;top:0;height:2px;width:28px;left:50%;transform:translateX(-50%);background:#152c45}dialog{border:0;padding:0;max-width:calc(100% - 36px);color:var(--ink)}dialog::backdrop{background:#020914cf;backdrop-filter:blur(5px)}.contact-dialog{width:410px;padding:43px 26px 30px;background:var(--paper)}.contact-dialog .eyebrow{font-size:11px;color:#85909a}.contact-dialog h2{font-size:23px;margin-top:15px}.dialog-description{font-size:12px;color:var(--muted);margin:12px 0 28px}.dialog-close{position:absolute;right:10px;top:6px;font-size:28px;border:0;background:transparent;width:44px;height:44px}.contact-row{display:flex;gap:8px;align-items:center;padding:18px 0;border-top:1px solid var(--line);font-size:13px}.contact-row>span{flex:1}.contact-row strong{margin-left:8px}.contact-row button{border:1px solid #d4dade;background:transparent;border-radius:3px;padding:8px 13px;font-size:12px}.photo-dialog{background:#0a1320;width:480px;max-width:100%;max-height:100svh;color:#fff;overflow:hidden}.photo-close{position:absolute;right:12px;top:12px;z-index:2;background:#0a1320a0;border:1px solid #ffffff30;border-radius:50%;width:44px;height:44px;font-size:28px;color:#fff}.lightbox-frame{height:min(70svh,660px);overflow:hidden}.lightbox-frame img{width:100%;height:100%;object-fit:cover;transition:transform .3s,object-position .3s}.photo-controls{display:flex;align-items:center;justify-content:center;gap:55px;padding:10px 0}.photo-controls button{background:transparent;border:0;color:white;font-size:25px;width:50px;height:45px}.photo-controls span{font-size:13px;letter-spacing:2px;color:#c3cbd5}.photo-dialog>p{font-size:11px;color:#8c9aaa;text-align:center;margin-bottom:22px}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,12px);max-width:calc(100% - 32px);width:max-content;padding:13px 20px;border-radius:5px;background:#14273ef0;color:white;font-size:13px;z-index:100;opacity:0;pointer-events:none;transition:.25s;text-align:center;box-shadow:0 4px 22px #0002}.toast.show{opacity:1;transform:translate(-50%,0)}body.modal-open{overflow:hidden}@keyframes slow-appear{from{opacity:.3;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@media(min-width:1000px){.invitation{margin-left:calc(50% - 20px);margin-right:0}.bottom-nav{left:calc(50% + 220px)}.desktop-note{display:block;position:fixed;top:37%;left:calc(50% - 380px);color:#d6dce5}.desktop-note>span{font-size:11px;letter-spacing:3px;color:#9ba9ba}.desktop-note p{font-family:'Noto Serif KR',Georgia,serif;font-size:31px;line-height:1.8;margin-top:28px;letter-spacing:-1px}.desktop-note small{font-size:9px;color:#6a7c91;letter-spacing:2px;display:block;margin-top:56px}.toast{left:calc(50% + 220px)}}@media(max-width:380px){.hero{padding-left:27px;padding-right:27px;min-height:740px}.hero h1{font-size:38px}.hero-copy{margin-top:60px}section:not(.hero){padding-left:26px;padding-right:26px}.demo-bar{font-size:9px;gap:5px}.demo-label{font-size:10px}.letter-text{font-size:14px}.hero-top{font-size:9px}.hero-top span:last-child{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(prefers-contrast:more){.section-description,.letter-text,.sample-note{color:#3d4a59}}

/* Readable mobile controls */
.outline-btn,.text-btn,.map-buttons button,.copy-demo,.bottom-nav a,.link-btn,.contact-row,.contact-row button,.info-row p,.account-row p{font-size:14px}.letter-text{font-size:16px}.hero-place,.date-caption,.section-description{font-size:14px}

/* A hand-drawn story, connected by one red thread. */
:root{--navy:#34465d;--ink:#394451;--muted:#78818c;--paper:#faf7f0;--line:#c8c3b64d;--gold:#b96860}
body{background:#e7e4dc;color:var(--ink)}
.invitation{background:var(--paper);box-shadow:0 0 90px #50472b14}
.sky-journey{position:relative;isolation:isolate;background:var(--paper)}
.sky-journey section{background:transparent;position:relative}
.red-thread{position:absolute;left:88%;width:32px;transform:translateX(-50%);background-image:url('red-thread.png');background-position:center top;background-repeat:repeat-y;background-size:32px 96px;pointer-events:none;z-index:0}
.hero{padding:30px 0 40px;min-height:0;height:auto;max-height:none;color:var(--ink);overflow:visible;isolation:auto}
.hero-shade{display:none}
.hero-top{padding:0 28px;color:#8f969d;font-size:9px}
.hero-top span:last-child{display:none}
.story-scene{width:100%;height:auto;display:block;position:relative;z-index:1;aspect-ratio:2/3;object-fit:contain}
.top-scene{margin-top:12px}
.hero-copy{margin:6px 58px 0 26px;text-align:center;position:relative;z-index:1}
.hero-copy .eyebrow{color:#8a9299;font-size:12px;letter-spacing:1px;margin-bottom:21px}
.hero h1{font-size:29px;line-height:1.9;letter-spacing:-1.2px;text-shadow:none}
.hero-names{color:#77828b;margin-top:27px;font-size:13px}
.hero-names span{color:#3b4855;font-size:18px}
.hero-names i{color:#b85f57}
.hero-bottom{margin:34px 58px 0 26px;padding:0;color:#606c79}
.hero-bottom>p:first-child{font-size:15px;letter-spacing:1.1px}
.hero-place{color:#8c9299}
.scroll-link{color:#93968f;letter-spacing:1px;font-size:9px;margin-top:28px}
.scroll-line{background:linear-gradient(#b8645a,transparent);height:22px}
section:not(.hero){padding:68px 65px 68px 28px}
.section-head .eyebrow,.letter>.eyebrow{color:#94978e;font-size:10px;letter-spacing:2px}
.section-num{display:none}
h2{font-size:26px;line-height:1.7;letter-spacing:-1px}
.letter-text{font-size:15px;line-height:2.15;color:#6f7780;margin:20px -5px}
.letter .ornament{font-size:20px;color:#b96c64;margin:20px 0}
.signature{font-size:16px;gap:16px}
.amp{color:#b96c64}
.outline-btn{font-size:12px!important;padding:12px 14px;border-color:#c8c5bb}
.outline-btn span{margin-left:12px}
.date-section,.accounts-section{border:0}
.date-caption{font-size:13px;line-height:2}
.calendar{border-color:#c8c5bb}
.days .wedding{background:#b9655d;color:#fff}
.days .wedding:after{color:#b9655d}
.countdown strong{color:#ad625a}
.gallery-grid{gap:12px}
.gallery-item{background:#eee9df;border:1px solid #d6cfc2;padding:10px;box-shadow:inset 0 0 0 7px #f8f5ed;aspect-ratio:4/5}
.gallery-item.wide{aspect-ratio:1.25}
.gallery-item span{position:static;font-size:9px;color:#a79e91;letter-spacing:1.5px}
.gallery-item>span:not(.photo-placeholder){display:none}
.gallery-item.wide:after{content:'01';font:italic 32px Georgia;color:#c4baaa;display:block;margin-top:12px}
.gallery-item.crop-one:after{content:'02';font:italic 25px Georgia;color:#c4baaa;display:block;margin-top:12px}
.gallery-item.crop-two:after{content:'03';font:italic 25px Georgia;color:#c4baaa;display:block;margin-top:12px}
.sample-note{font-size:11px;color:#9b9e9a}
.venue h3{font-size:19px}
.tag{font-size:10px;padding:3px 6px;background:#ece9df;color:#99988e}
.map-placeholder{background:#ebe9e0;height:160px}
.map-placeholder svg{color:#f8f5ed}
.map-placeholder>span{background:#f8f5eddd;color:#8b908b;font-size:11px}
.map-buttons button{font-size:12px}
.info-row{border-color:#d9d6cb}
.info-row p{font-size:13px}
.account-group{background:#fff7;border-color:#d3cfc3}
.account-group>summary{padding:16px}
.account-row{margin:0 16px;border-color:#d9d5cc}
.account-row p{font-size:12px}
.copy-demo{background:#faf7f0;border-color:#d8d2c4}
.accounts-section{padding-bottom:0!important;overflow:visible}
.bottom-scene{width:calc(100% + 93px);max-width:none;margin-left:-28px;margin-top:24px}
.closing{background:var(--paper);color:#485560;text-align:center;padding-right:28px!important;padding-top:15px!important}
.closing-star{font-size:24px;color:#b96860;margin-bottom:24px}
.closing .eyebrow{color:#999e97}
.closing>p:not(.eyebrow){color:#8f989e}
.closing-names span{color:#b96860}
.share-btn{background:#647789;color:#fff;border-color:#647789;border-radius:2px}
.link-btn{color:#828f99}
.closing small{color:#a1a49b;font-size:8px}
.bottom-nav{background:#faf7f0f5;border-color:#d7d3c8}
.bottom-nav a{font-size:12px!important;color:#9a9b96}
.bottom-nav a.active{color:#ac5a53}
.bottom-nav a.active:before{background:#b96860}
.demo-bar{background:#f0ece2;color:#90968f}
.demo-label{color:#9ca19a}.demo-dot{background:#bb756e}
.desktop-note{color:#536372}.desktop-note>span{color:#87948e}.desktop-note small{color:#969f96}
.photo-dialog{background:var(--paper);color:#596673}.photo-controls button{color:#647789}.photo-controls span{color:#929b9f}.photo-dialog>p{color:#969b99}
@media(max-width:380px){.hero{min-height:0;padding-left:0;padding-right:0}.hero h1{font-size:26px}.hero-copy{margin-top:6px}.hero-copy .eyebrow{font-size:11px}section:not(.hero){padding-left:24px;padding-right:58px}.bottom-scene{width:calc(100% + 82px);margin-left:-24px}.letter-text{font-size:14px}.outline-btn{font-size:11px!important;padding:10px}.signature{font-size:14px}.tag{position:static;margin-top:8px}.map-buttons button{font-size:11px}}

.red-thread{width:40px;background-size:200px 100%;background-repeat:no-repeat;transform-origin:center top}
.hero-copy{margin-top:clamp(-220px,-44vw,-160px);margin-right:70px}
.sky-journey section:not(.hero){padding-right:76px}
.bottom-scene{width:calc(100% + 104px)}
@media(max-width:380px){.sky-journey section:not(.hero){padding-right:66px}.bottom-scene{width:calc(100% + 90px)}.hero-copy{margin-top:-160px;margin-right:64px}}

/* Cosmic setting restored; telescope and police cap replace both people. */
:root{--navy:#d6e2ee;--ink:#e4eaf2;--muted:#a2b1c5;--paper:#050b14;--line:#a5bbd329;--gold:#a34b47}
body{background:#060b12;color:#e4eaf2}
.invitation{background:#050b14;color:#e4eaf2;box-shadow:0 0 100px #0005}
.sky-journey{background:linear-gradient(180deg,#03070d 0%,#060d19 27%,#0b1627 60%,#13283e 88%,#08111d 100%)}
.sky-journey:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.42;background-image:radial-gradient(circle at 13% 21%,#e7f1ff 0 .65px,transparent 1px),radial-gradient(circle at 75% 69%,#fff 0 .5px,transparent .9px),radial-gradient(circle at 44% 37%,#8da7c6 0 .6px,transparent 1px);background-size:173px 241px,281px 367px,397px 503px;mask-image:linear-gradient(#000,#000 85%,transparent)}
.hero{color:#e4eaf2}.hero-top{color:#8498b0}.hero-copy .eyebrow{color:#a0afc2}.hero h1{color:#edf2f8}.hero-names,.hero-bottom{color:#a9b9ce}.hero-names span{color:#e6edf6}.hero-place{color:#91a4bb}.scroll-link{color:#8398af}
.section-head .eyebrow,.letter>.eyebrow{color:#839ab3}.letter-text,.section-description,.date-caption,.countdown,.info-row p,.account-row p{color:#aebcd0}
.ornament,.amp,.hero-names i{color:#b07772}
.outline-btn{color:#d4dfec;border-color:#62788e80;background:#0b192a50}
.outline-btn span{color:#aabbd0}.calendar{border-color:#6b7e9466}.days,.calendar-heading{color:#d9e3ef}.weekdays{color:#8a9fb8}.weekdays span:first-child,.days .sunday{color:#b68d8c}.days .wedding{background:#a7544f}.days .wedding:after{color:#c48e83}.countdown strong,.text-btn{color:#ccd9e9}
.gallery-item{background:#0b1727;border-color:#7994b42e;box-shadow:inset 0 0 0 7px #0c192a}.gallery-item span{color:#7990aa}.gallery-item.wide:after,.gallery-item.crop-one:after,.gallery-item.crop-two:after{color:#60758f}.sample-note{color:#788ea6}
.tag{background:#29405966;color:#9bb0c7}.map-placeholder{background:#182b4066}.map-placeholder svg{color:#263d56}.map-placeholder>span{background:#102338ee;color:#a3b6cd}.map-buttons button{color:#b6c7db;border-color:#ffffff20}.info-row{border-color:#a6b9d229}
.account-group{background:#0b192a66;border-color:#8fa8c83d;backdrop-filter:blur(3px)}.account-row{border-color:#ffffff20}.copy-demo{background:#1a2b4166;border-color:#ffffff30;color:#c4d3e6}
.closing{background:#050b14;color:#d8e3f0}.closing .eyebrow{color:#8398ae}.closing>p:not(.eyebrow){color:#98acc3}.closing-star{color:#9daec3}.closing-names span{color:#a66761}.share-btn{background:#d4dfed;color:#132337;border-color:#d4dfed}.link-btn{color:#a1b3c8}.closing small{color:#657b96}
.bottom-nav{background:#091321f2;border-color:#8fa5c52e}.bottom-nav a{color:#8c9eb7}.bottom-nav a.active{color:#d5e1f2}.bottom-nav a.active:before{background:#b96860}
.demo-bar{background:#050a12;color:#94a4b8}.demo-label{color:#7e8fa7}.desktop-note{color:#a3b5cc}.desktop-note>span{color:#778da8}.desktop-note small{color:#5b718c}
.contact-dialog{background:#0d1b2c;color:#dbe6f3}.contact-row button{border-color:#ffffff30;color:#b6c8de}.photo-dialog{background:#050b14;color:#b8c9df}.photo-controls button{color:#d5e1f2}.photo-controls span{color:#91a4bf}.photo-dialog>p{color:#7b92ae}

/* Brighter continuous universe, centered content, thread beneath everything. */
body{background:#181d38}
.invitation{background:#293957}
.sky-journey{background:radial-gradient(ellipse at 12% 18%,#745b944d,transparent 33%),radial-gradient(ellipse at 88% 58%,#416f985e,transparent 32%),linear-gradient(180deg,#24264c,#353761 24%,#344d75 66%,#467393 90%,#233d5c)}
.sky-journey:before{opacity:.55}
.sky-journey section{z-index:1}
.red-thread{left:0;width:100%;background-image:url('/thread-winding.png');background-size:100% 100%;background-repeat:no-repeat;transform:none;opacity:.42;z-index:0;pointer-events:none}
.sky-journey section:not(.hero){padding:64px 28px;text-align:center}
.hero-copy{margin-left:28px;margin-right:28px;text-align:center}
.hero-bottom{margin-left:28px;margin-right:28px;text-align:center}
.top-scene{filter:brightness(1.5) saturate(1.1);mix-blend-mode:screen}
.section-head{justify-content:center}.section-description,.letter-text{color:#d3dbee}.section-head .eyebrow,.letter>.eyebrow{color:#aebfdb}
.letter-text,.hero h1,h2{position:relative;text-shadow:0 2px 12px #273153cc}
.calendar{background:#29395ae6;border:1px solid #9db5d14d;border-radius:14px;padding:24px 16px}
.gallery-item{padding:0;box-shadow:none;background:#32476b;border:1px solid #bbcce83d;border-radius:8px;aspect-ratio:4/5}
.gallery-item img,.gallery-item.wide img{width:100%;height:100%;object-fit:cover;transform:none;filter:none}
.gallery-item:after{display:none!important}.gallery-item:hover img{transform:none}
.couple-cover{width:100%;max-height:500px;object-fit:cover;display:block;margin:30px auto 0;border-radius:7px;border:1px solid #bacce64d}
.venue{text-align:center}.tag{display:none}.map-placeholder{background:#2b4364e6;border:1px solid #bbd0e33d;border-radius:10px;height:130px}.map-placeholder>span{margin-top:0;background:transparent;font-size:14px;padding:20px;color:#d7e2f2}
.map-buttons a{font-size:14px;color:#d6e3f4;padding:9px 2px;display:block}
.info-row,.account-group{text-align:left;background:#2c4363ed;border:1px solid #a5bfd147;border-radius:8px;padding:16px;margin-top:12px}
.account-group{padding:0}.account-row p,.info-row p{color:#c7d7e9}.account-group>summary{padding:18px}.account-row{margin:0 18px}
.info-row:last-child{border-bottom:1px solid #a5bfd147}
.bottom-scene{width:calc(100% + 56px);margin-left:-28px;margin-top:15px;max-width:none}.accounts-section{padding-bottom:0!important}
.closing{background:linear-gradient(#233d5c,#27334f);padding:30px 28px 60px!important}
.bottom-nav{background:#243450f5}.bottom-nav a{font-size:14px!important;color:#b2c6df}.bottom-nav a.active{color:white}
.hero-place,.date-caption,.countdown,.sample-note,.closing>p:not(.eyebrow){color:#becde2}
.hero-copy .eyebrow{color:#c1cde1}.demo-bar{background:#262a4c}.demo-label{color:#b1bdd5}.demo-bar{font-size:12px;letter-spacing:0}
.contact-row a{display:inline-block;padding:9px 14px;border:1px solid #8196b3;border-radius:4px;font-size:14px}
.lightbox-frame img{object-fit:contain!important}.photo-dialog{background:#17253c}
@media(max-width:380px){.sky-journey section:not(.hero){padding-left:24px;padding-right:24px}.hero-copy{margin-left:24px;margin-right:24px}.hero-bottom{margin-left:24px;margin-right:24px}.bottom-scene{width:calc(100% + 48px);margin-left:-24px}.hero h1{font-size:28px}}

/* Near-white pastel lavender sky; a continuous responsive curve joins both image anchors. */
:root{--ink:#51465f;--navy:#51465f;--muted:#71647e;--paper:#f8f5fc;--line:#b9adc840}
body{background:#f0ebf7;color:var(--ink)}
.invitation{background:#faf8fd;color:var(--ink);box-shadow:0 0 90px #a99cbd25}
.sky-journey{background:radial-gradient(ellipse at 16% 12%,#fff7fc9c,transparent 28%),radial-gradient(ellipse at 90% 42%,#eff1ff99,transparent 27%),radial-gradient(ellipse at 15% 69%,#faf2ffaa,transparent 25%),linear-gradient(180deg,#ece5f5 0%,#f5effb 19%,#fcf9ff 42%,#f5f0fb 65%,#f0eefb 87%,#eeeaf7 100%)}
.sky-journey:before{opacity:.8}
.red-thread{left:0;width:100%;background:none;opacity:1;transform:none}
.red-thread svg{display:block;width:100%;height:100%;overflow:visible}
.red-thread path{fill:none;stroke:#bd647b;stroke-width:1.15;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.72}
.top-scene{filter:brightness(1.3) saturate(.8);mix-blend-mode:screen}
.hero,.hero h1,.hero-names span,h2,.signature,.venue h3,.calendar-heading,.days,.closing{color:#51465f}
.hero-top,.hero-copy .eyebrow,.hero-names,.hero-bottom,.hero-place,.scroll-link,.section-head .eyebrow,.letter>.eyebrow,.letter-text,.section-description,.date-caption,.countdown,.sample-note,.closing .eyebrow,.closing>p:not(.eyebrow),.closing small{color:#71647e}
.letter-text,.hero h1,h2{text-shadow:none}
.calendar{background:#fdfbffed;border-color:#c7bad755}
.weekdays,.photo-controls span,.photo-dialog>p{color:#7b6e8a}
.countdown strong,.text-btn{color:#61516f}
.outline-btn{color:#61516f;background:#fcf9ff99;border-color:#c9bed555}.outline-btn span{color:#7b6b89}
.map-placeholder{background:#faf8feed;border-color:#c8bcd855}.map-placeholder>span,.map-buttons a{color:#685977}
.info-row,.account-group{background:#fdfbfff0;border-color:#cdbfda55}.account-row p,.info-row p{color:#71647e}.info-row:last-child{border-color:#cdbfda55}
.copy-demo{background:#f2ecf8;color:#61516f;border-color:#c7b9d555}
.gallery-item{background:#faf7fd;border-color:#d1c2df55}
.closing{background:linear-gradient(#eeeaf7,#f8f4fc)}
.closing-star,.link-btn{color:#7b678e}.share-btn{background:#9380aa;border-color:#9380aa;color:white}
.bottom-nav{background:#fdfbfff5;border-color:#cec0dc4d}.bottom-nav a{color:#7b6a8a}.bottom-nav a.active{color:#594466}
.demo-bar{background:#f0e9f8;color:#6d5b7d}.demo-label{color:#736182}
.desktop-note,.desktop-note>span,.desktop-note small{color:#71647e}
.contact-dialog,.photo-dialog{background:#faf7fd;color:#51465f}.contact-row a,.photo-controls button{color:#6b587d;border-color:#cabbda}

/* Matching frosted cards keep the thread behind the invitation content. */
.sky-journey section:is(.letter,.gallery-section,.location-section){padding:60px 44px;isolation:isolate}
.sky-journey section:is(.letter,.gallery-section,.location-section)::before{content:'';position:absolute;inset:20px 28px;z-index:-1;pointer-events:none;background:rgba(255,253,255,.96);border:1px solid #c7bad755;border-radius:14px;box-shadow:0 5px 22px #b6a5c708}
.letter .letter-text{margin-left:0;margin-right:0}
.gallery-section .gallery-grid{margin-top:28px}
@media(max-width:380px){.sky-journey section:is(.letter,.gallery-section,.location-section){padding:52px 38px}.sky-journey section:is(.letter,.gallery-section,.location-section)::before{inset:16px 24px}}

[hidden]{display:none!important}

.closing h2{white-space:pre-line;word-break:keep-all;overflow-wrap:normal}
