:root{--cream:#faf7ee;--ink:#302919;--gold:#91682f;--lightgold:#c6a66c}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#e7ddcb;color:var(--ink);font-family:'Nunito Kazakh',Arial,sans-serif;font-size:18px}button,input,a{-webkit-tap-highlight-color:transparent}button,a,input{touch-action:manipulation}button,input{font:inherit}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a47635;outline-offset:5px}main{max-width:600px;margin:0 auto;background:var(--cream);overflow:hidden;box-shadow:0 0 70px #6b4b2020}section{text-align:center;padding:50px 30px}p{line-height:1.8;margin:20px 0}h2{font-weight:500;line-height:1.45;margin:18px 0;font-size:32px}.eyebrow{font-size:12px;letter-spacing:3px;color:#8b806e;margin:20px 0}.envelope{border:0;position:fixed;inset:0;width:min(100%,600px);height:100%;height:100dvh;margin:auto;overflow:hidden;padding:0;color:var(--ink);background:radial-gradient(ellipse at 65% 22%,#edddbf,#d8bd8d 85%);isolation:isolate}.envelope:after{content:'';position:absolute;inset:0;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23876a37' opacity='.25' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none;z-index:4}.envelope-border{position:absolute;inset:22px;border:1px solid #9c815631;border-radius:38px;z-index:3;pointer-events:none}.envelope-border:before{content:'';position:absolute;inset:6px;border:1px solid #9c815625;border-radius:32px}.envelope-title{position:absolute;top:30%;width:100%;z-index:2}.envelope-title>span{font-family:'Noto Serif Kazakh',Georgia,serif;font-style:italic;font-size:42px}.tiny-divider{color:#9b7b45;font-size:16px;margin:10px}.envelope-title small{letter-spacing:6px;font-size:13px}.envelope-pocket{position:absolute;inset:40% 0 0;background:linear-gradient(135deg,#ad945f,#a78d59 45%,#b19a70);clip-path:polygon(0 0,50% 21%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 -4px 0 #806238)}.seal{position:absolute;z-index:5;left:50%;top:52.6%;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;width:76px;height:76px;color:#fff7df;font:29px Georgia,serif;background:linear-gradient(130deg,#d8c296,#9e783d);border:6px solid #bfa16a;box-shadow:0 0 0 6px #c4a97060,2px 7px 12px #49351530,inset 0 0 0 2px #ab8b53,inset 1px 3px 5px #80613155}.open-hint{position:absolute;z-index:6;bottom:max(36px,env(safe-area-inset-bottom));display:flex;align-items:center;flex-direction:column;gap:14px;width:100%;color:#6f5e3d;font-size:12px;letter-spacing:3px}.open-hint svg{animation:up 2s ease-in-out infinite}@keyframes up{50%{transform:translateY(-7px)}}.photo{height:720px;height:min(100svh,850px);min-height:560px;position:relative}.photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.photo-gradient{position:absolute;inset:0;background:linear-gradient(0deg,var(--cream) 0%,#faf7eeef 14%,#faf7ee00 55%)}.photo-caption{position:absolute;bottom:28px;left:0;right:0;text-align:center}.photo-caption>span{letter-spacing:5px;font-size:12px;color:#75582f}.photo-caption h1{font:italic 76px 'Noto Serif Kazakh',Georgia,serif;font-weight:400;margin:18px 0 6px;color:#825b29}.photo-caption p{font-size:17px;letter-spacing:5px;margin:0}.music{position:fixed;z-index:10;bottom:24px;right:max(20px,calc((100vw - 560px)/2));border:1px solid #d6bd86;border-radius:50%;width:52px;height:52px;background:#91652b;color:#fff3d5;box-shadow:0 0 0 4px #91652b25;display:grid;place-items:center}.intro{padding-top:15px}.intro p{font-size:19px}.intro .eyebrow{font-size:11px;margin-top:38px}.intro h2{font-size:29px}.script-name{font:italic 56px 'Noto Serif Kazakh',Georgia,serif;color:var(--gold);margin:25px 0}.ornament{display:flex;align-items:center;justify-content:center;gap:0;color:var(--gold);height:45px;font:40px Georgia,serif;overflow:hidden}.ornament span:nth-of-type(n+4){transform:rotate(180deg)}.ornament b{font:20px Georgia;margin:0 8px}.intro>.ornament:last-child{margin-top:40px}.date-section{background:linear-gradient(var(--cream),#ecdec0 20%,#ecdec0 75%,var(--cream));padding-top:35px}.date-section h2{font-size:40px;color:var(--gold);letter-spacing:1px}.month{font-size:15px;color:var(--gold);margin:10px 0 30px}.calendar{max-width:440px;margin:0 auto}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.week{color:var(--gold);font-size:18px;margin-bottom:12px}.days>span{height:48px;display:grid;place-items:center;font-size:22px;position:relative}.days .muted{opacity:.4}.days .selected{color:#8e262f;font-weight:600}.selected svg{position:absolute;stroke:#b94045;stroke-width:1.4;width:48px;height:48px;left:50%;top:50%;transform:translate(-50%,-50%)}.start-label{font-size:27px;margin:38px 0 5px}.time{font-size:37px;color:var(--gold);margin:12px 0 52px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto 48px;max-width:420px}.countdown div{display:flex;flex-direction:column;gap:12px;border-right:1px solid #7c6645}.countdown div:last-child{border:0}.countdown b{font-size:34px;font-weight:500}.countdown span{font-size:13px}.section-icon{color:var(--gold);width:32px;height:32px;stroke-width:1.5;margin:auto}.venue h2{font-size:34px}.venue h2 span{font-size:24px}.venue>p:not(.eyebrow){font-size:23px;line-height:1.6}.gold-button{background:linear-gradient(180deg,#d6b989,#a07a3e 65%,#805820);border:2px solid #d6bf93;border-radius:18px;color:#fff9eb;text-decoration:none;padding:18px 24px;display:inline-flex;justify-content:center;align-items:center;gap:10px;box-shadow:0 5px 0 #7d5b2720}.map-button{margin:20px 0;font-size:18px;background:#91662d;box-shadow:none;border-radius:16px}.host{padding:85px 0 50px;position:relative;isolation:isolate}.host-ornament{position:absolute;z-index:-1;font:330px Georgia;color:#be9e6430;top:5px;left:0;right:0;line-height:1.1;transform:rotate(-30deg)}.host .script-name{font-size:66px;margin:20px 0}.host-star{color:#a17f42;font-size:30px}.dress{padding-top:10px}.script-heading{font:italic 37px 'Noto Serif Kazakh',Georgia,serif;color:var(--gold)}.dress>p{font-size:20px}.swatches{display:flex;justify-content:center;gap:16px;margin:27px 0 35px}.swatches i{width:45px;height:45px;border-radius:50%;background:#c5a569;border:1px solid #0001;box-shadow:0 2px 5px #0001}.swatches i:nth-child(2){background:#791e30}.swatches i:nth-child(3){background:#e7dac0}.dress-grid{display:grid;grid-template-columns:1fr 1fr}.dress-grid>div+div{border-left:1px solid #ddd5c7}.dress-grid span{display:block;font-size:34px;color:var(--gold)}.dress-grid small{display:block;color:var(--gold);font-size:13px;margin-top:12px}.dress-grid p{font-size:15px;margin:14px 0}.program{padding-top:35px}.timeline{margin:36px auto 35px;max-width:420px;text-align:left}.event{display:flex;gap:20px;position:relative;min-height:112px}.event:not(:last-child):before{content:'';position:absolute;left:24px;top:57px;bottom:7px;border-left:1px solid #cfc3ad}.event-icon{flex-shrink:0;width:50px;height:50px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);display:grid;place-items:center}.event-icon svg{width:25px;stroke-width:1.5}.event time{font-size:18px;color:var(--gold);display:block;margin-top:5px}.event p{font-size:21px;margin:7px 0;line-height:1.5}.rsvp{padding-top:35px}.rsvp h2{font-size:34px}.rsvp-description{font-size:14px;color:#8b806f;margin-bottom:36px}form{text-align:left}form>label,legend{display:block;font-size:17px;margin:26px 0 12px;letter-spacing:1px}label b{color:#b04a47}input:not([type=radio]){width:100%;height:56px;border:1px solid #d8d3c9;background:#fffdf8;border-radius:7px;padding:12px 15px;color:var(--ink);min-width:0}input::placeholder{color:#aaa59b}fieldset{border:0;padding:0;margin:25px 0}fieldset legend{margin:0 0 14px}fieldset label{font-size:15px;margin:12px 0;display:flex;align-items:center;gap:10px}input[type=radio]{accent-color:var(--gold);height:20px;width:20px;margin:0}.stepper{display:flex;justify-content:center;align-items:center;gap:18px;margin:22px 0 30px}.stepper button{height:50px;width:50px;display:grid;place-items:center;border:0;border-radius:13px;background:#302a21;color:white}.stepper button:disabled{opacity:.4}.stepper input{width:82px;text-align:center;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.privacy{font-size:12px;text-align:center;color:#8d826f}.send{display:flex;min-width:230px;margin:28px auto 15px;font-size:28px;min-height:80px;border-radius:22px;box-shadow:0 12px 22px #7657264a,inset 0 0 0 2px #fff2}.send:disabled{opacity:.6}.form-status{font-size:14px;color:#9c443b;text-align:center}.closing{font:italic 35px/1.5 'Noto Serif Kazakh',Georgia,serif;margin:70px 0 38px}.footer-date{font-size:10px;letter-spacing:3px;color:#9c8969;padding-bottom:25px}.success{padding:35px 15px;background:#eee4d1;border-radius:14px}.success svg{color:#91662d}.success h3{font-size:20px}.success p{font-size:16px}.success button{border:0;border-bottom:1px solid #977644;padding:8px;color:#805c2c;background:none;font-size:14px}@media(max-width:370px){section{padding-left:20px;padding-right:20px}.intro p{font-size:17px}.intro h2{font-size:25px}.photo-caption h1{font-size:64px}.days>span{font-size:20px}.event{gap:14px}.event p{font-size:18px}.map-button{font-size:16px;padding:17px}.dress-grid p{font-size:13px}.rsvp h2{font-size:29px}.closing{font-size:30px}}@media(min-width:601px){.envelope{box-shadow:0 0 80px #533a3030}.intro p{font-size:22px}section{padding-left:48px;padding-right:48px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
/* Refined invitation typography and original Kazakh ornament. */
@font-face{font-family:'Great Vibes';src:url('assets/great-vibes.ttf') format('truetype');font-display:swap;font-weight:400}
body{font-weight:400}.intro p{color:#69675b;font-size:20px;line-height:1.9}.intro h2{font-size:23px;letter-spacing:1px;color:#777466}.intro .eyebrow{color:#939084}.script-name,.photo-caption h1,.host .script-name,.envelope-title>span{font-family:'Noto Serif Kazakh',Georgia,serif;font-style:normal;font-weight:400}.script-name{font-size:65px}.photo{height:auto;min-height:0;position:relative}.photo>img{display:block;width:100%;height:auto;object-fit:contain}.photo-caption{position:relative;bottom:auto;padding:10px 20px 45px;background:var(--cream)}.photo-caption h1{font-size:83px;margin:20px 0 15px}.photo-caption>span{font-size:12px}.photo-caption p{font-size:17px}.hero-music{position:absolute;left:63.1%;top:calc((100vw * 1.804) * .652);width:25.4%;aspect-ratio:1;border:0;border-radius:50%;background:#916329;color:#fff0c8;display:grid;place-items:center;padding:0}.hero-music svg{width:36%;height:36%;stroke-width:1.8}.ornament{height:64px;margin:30px auto;overflow:visible}.ornament img{display:block;width:120px;height:auto}.host-ornament{top:65px;transform:none;opacity:.11;display:grid;place-items:center}.host-ornament img{width:90%;height:auto}.host .script-name{font-size:78px}.envelope-title>span{font-size:52px}.script-heading{font-family:'Noto Serif Kazakh',Georgia,serif;font-style:normal;font-size:44px}.closing{font-family:'Noto Serif Kazakh',Georgia,serif;font-style:normal;font-size:40px;line-height:1.6}.adults-note{display:flex;gap:17px;align-items:center;text-align:left;margin:0 auto 40px;max-width:420px;color:#74613d}.adults-note svg{flex-shrink:0}.adults-note p{font-size:18px;line-height:1.7}.music{width:46px;height:46px;bottom:20px;right:max(16px,calc((100vw - 560px)/2))}@media(min-width:600px){.hero-music{top:706px}}@media(max-width:370px){.intro p{font-size:18px}.script-name{font-size:57px}.photo-caption h1{font-size:72px}.closing{font-size:34px}.adults-note p{font-size:16px}}
.ornament img,.host-ornament img{mix-blend-mode:multiply}.hero-music{background:#926329}

@font-face{font-family:'Nunito Kazakh';src:url('assets/fonts/nunito-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Nunito Kazakh';src:url('assets/fonts/nunito-semibold.ttf') format('truetype');font-style:normal;font-weight:500 700;font-display:swap}
@font-face{font-family:'Noto Serif Kazakh';src:url('assets/fonts/noto-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
body{font-family:'Nunito Kazakh',Arial,sans-serif;letter-spacing:.15px}
.script-name,.photo-caption h1,.host .script-name,.envelope-title>span,.script-heading,.closing{font-family:'Noto Serif Kazakh',Georgia,serif;font-style:italic;font-weight:400}
.photo-caption h1{font-size:clamp(48px,14vw,74px)}
.envelope-title>span{font-size:clamp(38px,11vw,50px)}
.script-name{font-size:clamp(34px,10vw,54px)}
.host .script-name{font-size:clamp(44px,13vw,66px)}
.script-heading{font-size:clamp(29px,8vw,38px)}
.closing{font-size:clamp(25px,7.5vw,36px);line-height:1.65}
.intro p{font-size:21px;line-height:1.85}.intro h2{font-weight:600}
@media(max-width:370px){.intro p{font-size:19px}}
.envelope{width:100%;height:100vh;height:100dvh;margin:0;max-width:none}
.hidden{display:none!important}.whatsapp-note{font-size:12px;text-align:center;color:#8d826f}.send{border-style:solid}.success a{margin-top:12px;padding:12px 18px}.js-disabled{max-width:600px;margin:20px auto;padding:14px;background:#fff4d7;text-align:center}
