:root{--background:#fffaf6;--background-soft:#fbedec;--background-deep:#f6dddd;--card:#ffffffe6;--text:#553c3f;--text-dark:#3e292d;--text-light:#846b6e;--accent:#a85f6b;--accent-dark:#864653;--accent-light:#ecd0d5;--gold:#a98654;--border:#a85f6b33;--shadow:0 18px 50px #60393f24}*{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--background);min-width:320px;color:var(--text);margin:0}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.app{min-height:100vh;overflow-x:hidden}.invitation-content{background:radial-gradient(circle at top left, #ecd0d566, transparent 25%), radial-gradient(circle at bottom right, #f7dcdc80, transparent 30%), var(--background);min-height:100vh}.invitation-cover{background:linear-gradient(#fffaf6db,#fbedecf0),url(/images/baby-02.jpg) 50%/cover;justify-content:center;align-items:center;min-height:100svh;padding:40px 20px;display:flex;position:relative;overflow:hidden}.invitation-cover:before,.invitation-cover:after{content:"";border:1px solid #a85f6b33;border-radius:50%;width:230px;height:230px;position:absolute}.invitation-cover:before{top:-100px;left:-90px}.invitation-cover:after{bottom:-110px;right:-100px}.cover-content{z-index:2;width:min(100%,480px);box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf6e8;border:1px solid #a85f6b40;border-radius:32px;padding:34px 24px;position:relative}.cover-small-text,.section-eyebrow,.hero-small-text{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 auto 10px;font-size:.78rem;font-weight:700}.cover-title{color:var(--text-dark);text-align:center;flex-direction:column;align-items:center;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,7vw,3.5rem);font-weight:500;line-height:1.05;display:flex}.cover-title span{display:block}.cover-photo-frame{border:1px solid var(--accent-light);background:#fff;border-radius:90px 90px 24px 24px;width:180px;height:220px;margin:0 auto 18px;padding:8px;overflow:hidden;box-shadow:0 14px 30px #60393f21}.cover-photo{object-fit:cover;object-position:center;border-radius:82px 82px 18px 18px;width:100%;height:100%;display:block}.cover-baby-title{min-height:28px;color:var(--accent);text-align:center;margin:0 0 20px;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-style:italic;line-height:1.4}.guest-name-card{color:var(--text-light);flex-direction:column;gap:5px;margin:0 auto 22px;display:flex}.guest-name-card strong{color:var(--text-dark);font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.open-invitation-button{background:var(--accent);color:#fff;cursor:pointer;min-width:190px;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-weight:700;transition:transform .18s,background-color .18s;display:inline-flex;box-shadow:0 12px 30px #a85f6b4d}.open-invitation-button:hover{background:var(--accent-dark);transform:translateY(-2px)}.open-invitation-button:active{transform:translateY(0)}.seal-icon{font-size:1.35rem}.cover-hint{color:var(--text-light);margin:16px 0 0;font-size:.82rem}.cover-decoration{z-index:2;color:#a85f6b8c;letter-spacing:.7rem;position:absolute}.cover-decoration-top{top:24px}.cover-decoration-bottom{bottom:24px}.hero-section{color:#fff;text-align:center;justify-content:center;align-items:flex-end;min-height:100svh;padding:50px 22px;display:flex;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:center 35%;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{z-index:1;background:linear-gradient(#2413181a 20%,#241318d6 100%);position:absolute;inset:0}.hero-content{z-index:2;width:min(100%,600px);padding-bottom:30px;position:relative}.hero-small-text{color:#ffffffd1}.hero-content h1{margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,13vw,5.5rem);font-weight:500;line-height:1}.hero-introduction{color:#ffffffeb;max-width:480px;margin:0 auto;font-size:1.05rem;line-height:1.8}.scroll-indicator{letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:5px;margin-top:34px;font-size:.75rem;display:flex}.section{text-align:center;width:min(100%,760px);margin:0 auto;padding:80px 22px}.section h2{color:var(--text-dark);margin:0 auto 20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,3.2rem);font-weight:500;line-height:1.15}.section-description{max-width:580px;color:var(--text-light);margin:0 auto 38px;line-height:1.8}.floral-symbol{color:var(--accent);margin:12px 0;font-size:2rem}.invitation-message-section{padding-top:90px;padding-bottom:90px}.invitation-main-message{max-width:610px;color:var(--text);margin:0 auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.15rem,4vw,1.45rem);line-height:1.9}.parents-line{color:var(--text-light);margin:34px 0 0}.parents-line strong{color:var(--accent)}.ceremony-countdown-section{background:var(--background-soft);width:100%;max-width:none;padding-left:18px;padding-right:18px}.ceremony-countdown-section>*{max-width:760px;margin-left:auto;margin-right:auto}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:610px;margin:36px auto 20px;display:grid}.countdown-item{border:1px solid var(--border);background:#ffffffc7;border-radius:18px;padding:17px 8px}.countdown-item strong{color:var(--accent-dark);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,7vw,2.4rem);font-weight:500;display:block}.countdown-item span{color:var(--text-light);letter-spacing:.05em;text-transform:uppercase;margin-top:4px;font-size:.7rem;display:block}.countdown-date{color:var(--text);margin-top:24px;font-weight:700}.countdown-completed{color:var(--accent);margin:30px auto 0;font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.photo-gallery-section{max-width:900px}.photo-gallery{gap:36px;display:grid}.photo-card{width:min(92%,540px);box-shadow:var(--shadow);background:#fff;margin:0;padding:12px 12px 24px;position:relative}.photo-card-left{justify-self:start;transform:rotate(-1.2deg)}.photo-card-right{justify-self:end;transform:rotate(1.2deg)}.photo-card img{aspect-ratio:4/5;object-fit:cover;width:100%}.photo-card figcaption{color:var(--text);padding-top:18px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-style:italic}.photo-number{z-index:2;background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:-14px;right:14px}.ceremony-details-section{background:var(--background-soft);width:100%;max-width:none}.ceremony-details-section>*{max-width:760px;margin-left:auto;margin-right:auto}.ceremony-details-card{border:1px solid var(--border);max-width:630px;box-shadow:var(--shadow);background:#ffffffd9;border-radius:28px;margin:38px auto 0;padding:10px 28px}.ceremony-detail{text-align:left;align-items:center;gap:18px;padding:24px 0;display:flex}.detail-icon{background:var(--background-deep);width:46px;height:46px;color:var(--accent);border-radius:50%;flex:0 0 46px;place-items:center;font-size:1.35rem;display:grid}.ceremony-detail div:last-child{flex-direction:column;gap:5px;display:flex}.detail-label{color:var(--text-light);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.ceremony-detail strong{color:var(--text-dark);font-size:1rem}.ceremony-divider{background:var(--border);height:1px}.ceremony-note{max-width:580px;color:var(--text-light);margin-top:34px;line-height:1.8}.name-reveal-section{padding-top:100px;padding-bottom:100px}.name-reveal-locked,.revealed-name{border:1px solid var(--border);box-shadow:var(--shadow);background:radial-gradient(circle at top,#fbedecf2,#ffffffeb);border-radius:30px;padding:48px 22px;position:relative;overflow:hidden}.name-lock{background:var(--background-deep);color:var(--accent-dark);border-radius:999px;align-items:center;gap:8px;margin-top:28px;padding:10px 16px;font-size:.82rem;font-weight:700;display:inline-flex}.name-lock-icon{font-size:1.2rem}.reveal-decoration{color:var(--gold);letter-spacing:.8rem;margin:18px 0}.revealed-name .baby-name{color:var(--accent);margin:10px 0;font-size:clamp(3rem,14vw,6rem)}.baby-name-local{color:var(--text-dark);margin:10px 0;font-size:1.5rem}.name-meaning{max-width:500px;color:var(--gold);margin:26px auto 0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-style:italic}.reveal-blessing{max-width:560px;color:var(--text-light);margin:30px auto 0;line-height:1.8}.venue-section{background:var(--background-soft);width:100%;max-width:none}.venue-section>*{max-width:760px;margin-left:auto;margin-right:auto}.venue-card{border:1px solid var(--border);max-width:620px;box-shadow:var(--shadow);background:#ffffffe0;border-radius:28px;margin:38px auto 0;padding:40px 24px}.venue-pin{background:var(--background-deep);width:58px;height:58px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 20px;font-size:1.8rem;display:grid}.venue-card h3{color:var(--text-dark);margin:0 0 16px;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.venue-address{max-width:450px;color:var(--text);margin:0 auto;line-height:1.8}.venue-landmark{color:var(--text-light);margin:16px 0 0}.venue-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.primary-link-button,.secondary-link-button{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;font-weight:700;text-decoration:none;display:inline-flex}.primary-link-button{background:var(--accent);color:#fff}.secondary-link-button{border:1px solid var(--accent);color:var(--accent-dark)}.music-button{z-index:20;color:#fff;cursor:pointer;font:inherit;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3e292dad;border:1px solid #ffffff80;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:.75rem;font-weight:700;display:inline-flex;position:fixed;top:16px;right:16px}.invitation-footer{background:var(--text-dark);color:#ffffffd9;text-align:center;padding:90px 24px 30px}.footer-symbol{color:var(--accent-light);font-size:2rem}.invitation-footer h2{color:#fff;max-width:600px;margin:16px auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,3rem);font-weight:500}.invitation-footer>p{max-width:580px;margin:0 auto;line-height:1.8}.footer-family{flex-direction:column;gap:6px;margin-top:32px;display:flex}.footer-family strong{color:var(--accent-light);font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.footer-bottom{color:#ffffff80;border-top:1px solid #ffffff1f;margin-top:70px;padding-top:24px;font-size:.78rem}@media (width<=520px){.cover-content{border-radius:26px;padding:30px 18px}.cover-photo-frame{width:155px;height:195px}.section{padding-left:18px;padding-right:18px}.countdown{gap:6px}.countdown-item{border-radius:14px;padding:14px 4px}.countdown-item span{font-size:.58rem}.photo-card{width:95%}.ceremony-details-card{padding-left:20px;padding-right:20px}.venue-actions{flex-direction:column}.primary-link-button,.secondary-link-button{width:100%}.music-button span:last-child{display:none}.music-button{justify-content:center;width:42px;height:42px;padding:0}}html{font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Avenir,Helvetica,Arial,sans-serif}body{margin:0}button,input,textarea,select{font:inherit}
