/* Self-hosted OFL font includes Kazakh Cyrillic characters. */
@font-face{font-family:'Besik Comfortaa';font-style:normal;font-weight:300 700;font-display:swap;src:url('/fonts/comfortaa-variable.ttf') format('truetype')}

/* A standalone illustrated page for the Kazakh besik toi invitation. */
body.invitation-shell:has(.besik-page){background:#e5e9dc;color:#243c36}
.preview-toolbar:has(+.besik-page),.preview-toolbar:has(+.besik-page) *{font-family:'Besik Comfortaa',Arial,sans-serif}
.besik-page,.besik-page *{box-sizing:border-box;font-family:'Besik Comfortaa',Arial,sans-serif}
.besik-page{width:min(100%,520px);margin:0 auto;background:#fbf7e9;box-shadow:0 24px 70px #29483b29;overflow:hidden}
.preview-toolbar+.besik-page{margin-top:0}
.besik-page h1,.besik-page h2,.besik-page p{margin-top:0}
.besik-page a{color:inherit}
.besik-hero{position:relative;min-height:790px;padding:32px 28px 46px;overflow:hidden;text-align:center;background:#cfe8df;color:#23473e}
.besik-hero::before{content:'';position:absolute;inset:12px;border:2px dashed #52867888;pointer-events:none}
.besik-hero::after{content:'';position:absolute;right:-12%;bottom:-62px;left:-12%;height:115px;border-radius:50% 50% 0 0;background:#fbf7e9}
.besik-hero-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;font-weight:800;letter-spacing:.17em;text-align:left}
.besik-star{width:23px;height:23px;flex:none;background:#be7855;clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%)}
.besik-hero-kicker{position:relative;z-index:2;margin:44px 0 12px!important;color:#966545;font-size:13px;font-weight:700;letter-spacing:.09em}
.besik-hero h1{position:relative;z-index:2;margin:0;color:#1c5249;font-size:clamp(43px,10vw,63px);font-weight:900;letter-spacing:-.055em;line-height:1.02;overflow-wrap:anywhere}
.besik-hero h1 span,.besik-hero h1 small{display:block}
.besik-hero h1 small{margin-top:10px;color:#b26443;font-size:.49em;font-weight:800;letter-spacing:.015em}
.besik-hero-art{position:relative;z-index:1;display:block;width:min(100%,405px);height:390px;margin:20px auto 0;object-fit:cover;object-position:center 43%;border-radius:48% 48% 12px 12px;border:8px solid #f9f4dc;box-shadow:0 18px 0 #b9d9c9}
.besik-hero-date{position:relative;z-index:2;margin:35px 0 20px!important;color:#244c41;font-size:18px;font-weight:800;letter-spacing:.03em}
.besik-hero-date span{padding:0 7px;color:#bd704d}
.besik-hero-jump{position:relative;z-index:2;display:inline-flex;align-items:center;gap:20px;min-height:49px;padding:10px 23px;border:2px solid #244c41;border-radius:5px;background:#fbf7e9;font-size:13px;font-weight:800;text-decoration:none;box-shadow:5px 5px 0 #244c41}
.besik-hero-jump:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 #244c41}
.besik-page section{position:relative;padding:90px 37px}
.besik-section-number{display:block;margin-bottom:26px;color:#936449;font-size:10px;font-weight:900;letter-spacing:.18em}
.besik-page h2{color:#245047;font-size:clamp(33px,8vw,43px);font-weight:900;letter-spacing:-.04em;line-height:1.13}
.besik-page p{font-size:16px;line-height:1.8}
.besik-letter{background:#fbf7e9;text-align:left}
.besik-letter::before,.besik-letter::after{content:'';position:absolute;width:46px;height:46px;border:3px solid #d09b62;opacity:.8}
.besik-letter::before{top:46px;right:34px;border-left:0;border-bottom:0}
.besik-letter::after{display:none}
.besik-embroidered{display:block;width:74px;height:74px;margin:0 0 29px;background:#be7855;mask:url('/invitation-assets/music-kazakh-ornament.svg') center/contain no-repeat;-webkit-mask:url('/invitation-assets/music-kazakh-ornament.svg') center/contain no-repeat}
.besik-letter h2{margin-bottom:28px}
.besik-letter>p{max-width:380px;color:#435d54}
.besik-letter-signature{display:flex;width:100%;max-width:390px;flex-direction:column;align-items:center;gap:12px;margin:48px auto 0;padding:0 12px 8px;text-align:center}
.besik-letter-signature::before{content:'';display:block;width:44px;height:2px;margin-bottom:7px;background:#d69b68}
.besik-letter-signature .besik-hosts-heading{color:#6d7c6a;font-size:12px;letter-spacing:.1em}
.besik-letter-signature strong{display:block;width:100%;line-height:1.45;overflow-wrap:anywhere}
.besik-letter-signature .besik-host-line{display:block}
.besik-letter-signature .besik-host-line--label{margin-top:15px;color:#ad6954;font-size:13px;font-weight:500}
.besik-letter-signature .besik-host-line--label:first-child{margin-top:0}
.besik-letter-signature .besik-host-line--name{color:#226477;font-size:20px;font-weight:600}
.besik-details{background:#e8bc8e;color:#273d35;text-align:center}
.besik-details::before,.besik-details::after{content:'';position:absolute;left:0;right:0;height:23px;background:#fbf7e9;clip-path:polygon(0 0,5% 80%,10% 0,15% 80%,20% 0,25% 80%,30% 0,35% 80%,40% 0,45% 80%,50% 0,55% 80%,60% 0,65% 80%,70% 0,75% 80%,80% 0,85% 80%,90% 0,95% 80%,100% 0)}
.besik-details::before{top:0}.besik-details::after{bottom:0;transform:rotate(180deg)}
.besik-details .besik-section-number{color:#61432f}
.besik-details h2{color:#28483c}
.besik-date-strip{display:grid;grid-template-columns:.7fr 1.3fr 1fr;margin:40px -13px 0;border:2px solid #244c41;background:#fffaf0;box-shadow:7px 7px 0 #9a644c}
.besik-date-strip>div{display:flex;min-height:113px;flex-direction:column;justify-content:center;padding:12px 5px}
.besik-date-strip>div+div{border-left:2px solid #244c41}
.besik-date-strip span{font-size:10px;font-weight:800;letter-spacing:.1em}
.besik-date-strip strong{margin-top:7px;font-size:clamp(19px,5vw,30px);font-weight:900;line-height:1.1;overflow-wrap:anywhere}
.besik-countdown{margin-top:50px}
.besik-countdown p{margin-bottom:12px;font-size:13px;font-weight:800}
.besik-countdown-grid{display:flex;justify-content:center;gap:17px}
.besik-countdown-grid span{display:flex;min-width:50px;flex-direction:column}
.besik-countdown-grid strong{font-size:25px;font-weight:900;font-variant-numeric:tabular-nums}
.besik-countdown-grid small{font-size:10px}
.besik-place{background:#d1e6da;text-align:left}
.besik-place::after{content:'';position:absolute;right:30px;bottom:32px;width:74px;height:74px;border:3px dashed #48806e;border-radius:4px;transform:rotate(12deg);opacity:.3}
.besik-place h2{margin-bottom:29px}
.besik-place-name{margin-bottom:4px!important;font-size:22px!important;font-weight:900}
.besik-place-address{max-width:350px;color:#435e52}
.besik-map-link{display:inline-flex;gap:16px;align-items:center;min-height:50px;margin-top:17px;padding:10px 16px;border:2px solid #275044;background:#fffaf0;font-size:12px;font-weight:800;text-decoration:none}
.besik-map-link span{font-size:19px}
.besik-rsvp{background:#f8e5ce}
.besik-rsvp>p{color:#5c6354}
.besik-form{display:grid;gap:17px;margin-top:32px;padding:23px 19px;border:2px solid #c38159;background:#fffaf0;box-shadow:8px 8px 0 #ddb191}
.besik-form>label,.besik-form fieldset{display:grid;gap:8px;color:#28483c;font-size:12px;font-weight:800}
.besik-form input:not([type=radio]),.besik-form textarea,.besik-preview-input{display:block;width:100%;min-height:49px;padding:13px 12px;border:1px solid #9eb7a7;border-radius:0;background:#fff;color:#28483c;font-size:14px;font-weight:500}
.besik-form textarea{min-height:100px;resize:vertical}
.besik-preview-input{color:#77867b}.besik-preview-message{min-height:80px}
.besik-form fieldset{min-width:0;margin:0;padding:0;border:0}
.besik-form legend{margin-bottom:8px}
.besik-form .attendance-choice{display:flex;flex-wrap:wrap;gap:9px}
.besik-form .attendance-choice legend{width:100%;font-size:12px}
.besik-form .attendance-choice label{position:relative;flex:1;min-width:115px;cursor:pointer}
.besik-form .attendance-choice input{position:absolute;width:1px;height:1px;opacity:0}
.besik-form .attendance-choice b{display:grid;min-height:48px;place-items:center;padding:8px;border:1px solid #9eb7a7;background:#fff;font-size:13px;text-align:center}
.besik-form .attendance-choice input:checked+b{border-color:#285247;background:#285247;color:#fff}
.besik-form .attendance-choice input:focus-visible+b{outline:3px solid #be7855;outline-offset:2px}
.besik-form button{min-height:51px;border:0;border-radius:0;background:#b46d4d;color:#fff;font-size:14px;font-weight:900;cursor:pointer}
.besik-form button:disabled{opacity:.85;cursor:default}
.besik-form [hidden]{display:none!important}
.besik-form-note{margin:22px 0 0!important;color:#657264;font-size:11px!important;line-height:1.6!important}
.besik-ending{min-height:335px;padding:67px 36px 80px;background:#29594b;color:#fffaf0;text-align:center}
.besik-ending .besik-embroidered{width:85px;height:85px;margin:0 auto 22px;background:#e3bd85}
.besik-ending p{margin-bottom:28px;font-size:23px;font-weight:800;line-height:1.35}
.besik-ending small{color:#dbd7b8;font-size:12px;letter-spacing:.08em}
.besik-music{--music-bg:#fbf7e9;--music-ink:#285247;--music-accent:#b46d4d;--music-ring:#d9a675;right:max(20px,calc(50% - 245px));width:62px;height:62px;border-radius:9px;transform:rotate(-5deg)}
.besik-music::before,.besik-music::after{border-radius:9px;background:transparent}
.besik-music .music-kazakh-ornament{width:48px;height:48px}
.besik-music .music-control-icon{margin-top:0;background:transparent}
.besik-music:hover{transform:rotate(-5deg) translateY(-2px)}
.besik-page :focus-visible{outline:3px solid #b46d4d;outline-offset:3px}
@media(max-width:600px){.preview-toolbar+.besik-page{margin-top:58px}.besik-page{box-shadow:none}.besik-music{right:16px;bottom:17px}.besik-hero{min-height:740px;padding-inline:22px}.besik-page section{padding:75px 29px}.besik-hero-art{height:360px}}
@media(max-width:380px){.besik-hero{min-height:700px}.besik-hero-art{height:325px}.besik-date-strip{margin-inline:-17px}.besik-date-strip>div{min-height:97px}.besik-page section{padding-inline:24px}}
@media(prefers-reduced-motion:reduce){.besik-hero-jump:hover,.besik-music:hover{transform:none}}

/* Soft turquoise and sand echo embroidered Kazakh cradle textiles. */
body.invitation-shell:has(.besik-page){background:#edf2ee;color:#355a60}
.besik-page{--besik-blue:#355a60;--besik-turquoise:#63958f;--besik-gold:#b99068;--besik-paper:#fffaf3;--besik-muted:#587077;background:var(--besik-paper);box-shadow:0 18px 48px #355a601c}
.besik-page h1,.besik-page h2,.besik-date-strip strong,.besik-ending p{font-family:'Besik Comfortaa',Arial,sans-serif}
.besik-hero{background:#d8e9e4;color:var(--besik-blue)}
.besik-hero::before{inset:13px;border:2px solid var(--besik-gold);background:none}
.besik-hero::after{background:var(--besik-paper)}
.besik-hero-top{color:#53787a}
.besik-star{width:32px;height:32px;background:var(--besik-gold);clip-path:none;mask:url('/invitation-assets/music-kazakh-ornament.svg') center/contain no-repeat;-webkit-mask:url('/invitation-assets/music-kazakh-ornament.svg') center/contain no-repeat}
.besik-hero-kicker{color:#a87859}
.besik-hero h1{color:var(--besik-blue);font-weight:400;letter-spacing:-.025em}
.besik-hero h1 small{color:#a87859;font-family:'Besik Comfortaa',Arial,sans-serif;font-weight:400}
.besik-hero-art{border-color:#fff8ed;box-shadow:0 12px 0 #c1d8ce}
.besik-hero-date,.besik-hero-date span{color:var(--besik-blue)}
.besik-hero-jump{border-color:var(--besik-gold);background:var(--besik-paper);color:var(--besik-blue)!important;box-shadow:5px 5px 0 var(--besik-gold)}
.besik-hero-jump:hover{box-shadow:3px 3px 0 var(--besik-gold)}
.besik-section-number{color:#946229}
.besik-page h2{color:var(--besik-blue);font-weight:400;letter-spacing:-.02em}
.besik-letter{background:var(--besik-paper)}
.besik-letter::before,.besik-letter::after{border-color:var(--besik-gold)}
.besik-embroidered{background:var(--besik-turquoise)}
.besik-letter>p,.besik-place-address{color:var(--besik-muted)}
.besik-details{background:#f1dfca;color:var(--besik-blue)}
.besik-details::before,.besik-details::after{height:35px;background:var(--besik-gold);clip-path:none;mask:url('/invitation-assets/music-kazakh-ornament.svg') left center/35px 35px repeat-x;-webkit-mask:url('/invitation-assets/music-kazakh-ornament.svg') left center/35px 35px repeat-x;opacity:.7}
.besik-details::before{top:10px}.besik-details::after{bottom:10px;transform:rotate(180deg)}
.besik-details .besik-section-number,.besik-details h2{color:var(--besik-blue)}
.besik-date-strip{border-color:var(--besik-blue);background:var(--besik-paper);box-shadow:7px 7px 0 var(--besik-turquoise)}
.besik-date-strip>div+div{border-color:var(--besik-blue)}
.besik-place{background:#e6f0ec}
.besik-place::after{border-color:var(--besik-gold);opacity:.7}
.besik-map-link{border-color:var(--besik-blue);background:var(--besik-paper);color:var(--besik-blue)!important}
.besik-rsvp{background:#f8eee1}
.besik-rsvp>p{color:var(--besik-muted)}
.besik-form{border-color:var(--besik-gold);background:var(--besik-paper);box-shadow:8px 8px 0 #c1dcd6}
.besik-form>label,.besik-form fieldset{color:var(--besik-blue)}
.besik-form input:not([type=radio]),.besik-form textarea,.besik-preview-input,.besik-form .attendance-choice b{border-color:#9cbcb7;color:var(--besik-blue)}
.besik-form .attendance-choice input:checked+b,.besik-form button{border-color:#4d7974;background:#4d7974;color:#fff}
.besik-ending{min-height:255px;padding:54px 36px 60px;background:#d8e9e4;color:var(--besik-blue)}
.besik-ending .besik-embroidered{background:var(--besik-turquoise)}
.besik-ending small{color:#68817d}
.besik-page :focus-visible{outline-color:var(--besik-gold)}
.besik-music{--music-ink:#4d7974;--music-accent:#4d7974;--music-ornament:#4d7974;--music-ring:#9fc6bd;width:96px;height:96px;right:max(18px,calc(50% - 250px));border:0;background:transparent;transform:none}
.besik-music .music-kazakh-ornament{width:100px;height:100px}
.besik-music .music-control-icon{width:50px;height:50px;background:transparent}
.besik-music .music-play-icon{margin-left:4px;border-top-width:9px;border-bottom-width:9px;border-left-width:14px}
.besik-music .music-pause-icon i{width:5px;height:18px}
.besik-music:hover{transform:translateY(-2px)}
@media(max-width:600px){.besik-music{right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px))}}
.besik-hero-top,.besik-hero-kicker,.besik-hero-date,.besik-hero-jump,.besik-section-number,.besik-letter-signature strong,.besik-date-strip span,.besik-date-strip strong,.besik-countdown p,.besik-countdown-grid strong,.besik-place-name,.besik-map-link,.besik-form>label,.besik-form fieldset,.besik-form .attendance-choice b,.besik-form button,.besik-ending p{font-weight:400}
.preview-toolbar:has(+.besik-page) .preview-back,.preview-toolbar:has(+.besik-page) .preview-template,.preview-toolbar:has(+.besik-page) .preview-choose{font-weight:400}

/* Playful Kazakh lettering and bright textile colours for the cradle celebration. */
.preview-toolbar:has(+.besik-page),.preview-toolbar:has(+.besik-page) *,.besik-page,.besik-page *{font-family:'Besik Comfortaa',Arial,sans-serif}
.besik-page{--besik-blue:#226477;--besik-turquoise:#2b9b97;--besik-gold:#e5ab4e;--besik-coral:#d7755e;--besik-paper:#fffaf2;--besik-muted:#4e6d72;background:var(--besik-paper)}
.besik-page h1,.besik-page h2,.besik-date-strip strong,.besik-ending p{font-family:'Besik Comfortaa',Arial,sans-serif}
.besik-hero{background:radial-gradient(circle at 13% 34%,#ffddaa 0 28px,transparent 29px),radial-gradient(circle at 91% 53%,#ffcdbd 0 32px,transparent 33px),linear-gradient(150deg,#def5ec 0%,#d5f1ed 56%,#fcebd6 100%);color:var(--besik-blue)}
.besik-hero::before{border-color:#e7a752}
.besik-hero-top{color:#287b82;font-weight:500}
.besik-star{background:var(--besik-coral)}
.besik-hero-kicker{color:#c36451;font-weight:500}
.besik-hero h1{color:#207a82;font-size:clamp(42px,10.5vw,61px);font-weight:600;letter-spacing:-.045em;line-height:1.16}
.besik-hero h1 small{color:#d36f59;font-family:'Besik Comfortaa',Arial,sans-serif;font-size:.46em;font-weight:500;letter-spacing:0}
.besik-hero-art{border-color:#fffaf2;box-shadow:0 12px 0 #f4bd83}
.besik-hero-date{color:#206c79;font-weight:600}
.besik-hero-date span{color:var(--besik-coral)}
.besik-hero-jump{border-color:#d87960;background:#fffaf2;color:#ae5948!important;box-shadow:5px 5px 0 #e5ab4e;font-weight:600}
.besik-hero-jump:hover{box-shadow:3px 3px 0 #e5ab4e}
.besik-section-number{color:#c26752;font-weight:600}
.besik-page h2{color:#237a82;font-weight:600;letter-spacing:-.04em;line-height:1.25}
.besik-embroidered{background:#d7755e}
.besik-letter::before,.besik-letter::after{border-color:#e5ab4e}
.besik-letter-signature strong{font-weight:600}
.besik-details{background:#ffedc6;color:#345f69}
.besik-details::before,.besik-details::after{background:#de9e53}
.besik-details .besik-section-number{color:#bc654c}
.besik-details h2{color:#237a82}
.besik-date-strip{border-color:#e49b63;background:#fffaf2;box-shadow:7px 7px 0 #78c5bd}
.besik-date-strip>div+div{border-color:#e49b63}
.besik-date-strip strong{color:#246f7b;font-weight:600}
.besik-countdown-grid strong{color:#bf6952;font-weight:600}
.besik-place{background:#ddf4eb}
.besik-place::after{border-color:#d7755e}
.besik-place-name{color:#237a82;font-weight:600}
.besik-map-link{border-color:#64aaa9;color:#226477!important;font-weight:600}
.besik-rsvp{background:#ffece3}
.besik-form{border-color:#e49b63;background:#fffaf2;box-shadow:8px 8px 0 #96d7cc}
.besik-form>label,.besik-form fieldset{font-weight:600}
.besik-form input:not([type=radio]),.besik-form textarea,.besik-preview-input,.besik-form .attendance-choice b{border-color:#93c9c3}
.besik-form .attendance-choice input:checked+b,.besik-form button{border-color:#278e91;background:#278e91;color:#fff}
.besik-form button{font-weight:600}
.besik-ending{background:#d7f0e6;color:#226477}
.besik-ending .besik-embroidered{background:#d7755e}
.besik-ending p{font-weight:600}
.besik-ending small{color:#52777b}
.besik-page :focus-visible{outline-color:#d7755e}
.besik-music{--music-ink:#d26d59;--music-accent:#d26d59;--music-ornament:#d26d59;--music-ring:#e6a05e;background:transparent}

.besik-hero h1+.besik-hero-date{margin:18px 0 0!important;font-size:15px;line-height:1.4}
.besik-hero h1+.besik-hero-date+.besik-hero-art{margin-top:17px}
