@font-face{font-family:'Kindentosca';src:url(fonts/Kindentosca/Kindentosca.otf) format('opentype');font-weight:400;font-style:normal;font-display:swap}:root{--red:#e2234f;--green:#60993e;--yellow:#f5d447;--yellow-dark:#c49a00;--gray:#eaeaea;--cream:#fefbee;--ink:#1f1f1f;--muted:#6b6b6b;--font-script:'Kindentosca' , 'Great Vibes' , cursive;--font-body:'Manrope' , system-ui , -apple-system , sans-serif;--shell-w:560px;--max-w:480px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family: var(--font-body);color:var(--ink);background:#ece8db;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%;height:auto}.shell{max-width:var(--shell-w);margin:0 auto;background:#fff;overflow:hidden}.container{width:100%;padding:0 24px}.narrow{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 24px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease , transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.hero{position:relative;width:100%;aspect-ratio: 3 / 4;max-height:100svh;overflow:hidden}.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 50%,rgba(0,0,0,.5) 100%)}.hero__text{position:absolute;left:0;right:0;bottom:7%;text-align:center;color:#fff;padding:0 24px}.hero__caption{font-family: var(--font-script);color:#fff;font-size:clamp(56px,13vw,78px);line-height:1;letter-spacing:1px}.hero__date{color:var(--yellow);font-family: var(--font-body);font-weight:600;font-size:clamp(34px,8.5vw,50px);letter-spacing:4px;margin-top:6px}.greeting{padding:64px 0 8px}.greeting__title{font-family: var(--font-body);font-weight:700;font-size:clamp(22px,5.6vw,28px);line-height:1.2;text-transform:uppercase;letter-spacing:1px}.greeting__text{margin-top:18px;font-size:15px;color:#2a2a2a;max-width:360px}.greeting__sign{margin-top:16px;display:flex;justify-content:flex-end;padding-right:16px}.greeting__sign img{width:clamp(160px,50%,210px);transform:rotate(-3deg);transform-origin:right center}.calendar-section{padding:8px 0 48px}.calendar-wrap{position:relative;margin:0 auto;width:100%;max-width:360px}.calendar-flower{position:absolute;top:-34px;left:4px;width:78px;z-index:2;transform:rotate(-8deg)}.calendar-frame{position:relative;padding:36px 24px 28px}.calendar-frame__bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.calendar{position:relative;z-index:1}.calendar__month{font-family: var(--font-script);font-size:46px;text-align:center;margin-bottom:10px;line-height:1}.calendar__grid{width:100%;border-collapse:collapse;font-size:15px}.calendar__grid th,.calendar__grid td{text-align:center;padding:7px 4px;color:#2a2a2a;font-weight:400}.calendar__grid th{color:#888;font-weight:400;padding-bottom:10px;font-size:13px}.calendar__grid td:empty{color:transparent}.day-7{position:relative}.day-7 span{position:relative;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;color:var(--red);font-weight:500}.day-7 span::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:40px;transform:translate(-50%,-50%);background: url('graph_elements/кружок для даты.svg') center / contain no-repeat;pointer-events:none}.venue{padding:16px 0 16px}.venue__header{text-align:center;padding:0 24px 20px}.venue__title{font-family: var(--font-script);font-size:clamp(42px,10vw,56px);color:var(--green);line-height:1.25}.venue__place{margin-top:18px;font-size:14px;color:#555}.venue__photo{position:relative;width:100%;text-align:center}.venue__photo img{width:100%;aspect-ratio: 16 / 9;object-fit:cover;object-position:center}.venue__btn{display:inline-block;margin-top:18px}.venue__note{margin-top:10px;font-size:14px;color:#555;line-height:1.5}.btn{display:inline-block;padding:12px 28px;border-radius:999px;border:none;font-family: var(--font-body);font-weight:500;font-size:15px;cursor:pointer;text-decoration:none;transition:box-shadow .2s ease , background .2s ease , filter .2s ease}.btn--primary{background:var(--green);color:#fff}.btn--primary:hover{filter:brightness(1.08)}.btn--primary:active{filter:brightness(.95)}.timing{padding:24px 0 24px}.timing__row{display:flex;align-items:center;gap:22px;padding:10px 0;justify-content:center}.timing__row:nth-child(2) {flex-direction:row-reverse}.timing__icon{width:64px;flex-shrink:0}.timing__text{min-width:130px}.timing__time{font-size:30px;font-weight:600;line-height:1;color:var(--ink)}.timing__label{margin-top:6px;font-size:14px;color:#5a5a5a}.dresscode{padding:40px 0 44px;text-align:center;background:#fff}.dresscode__title{font-family: var(--font-script);font-size:clamp(42px,10vw,54px);color:var(--ink);line-height:1.1;margin-bottom:24px}.dresscode__icons{display:flex;align-items:flex-end;justify-content:center;gap:24px;margin-bottom:24px}.dresscode__icon{width:64px!important;height:auto!important;max-width:64px;display:block}.dresscode__icon--bowtie{width:56px!important;max-width:56px;margin-bottom:28px}.dresscode__lead{font-family: var(--font-script);font-size:38px;color:var(--ink);line-height:1;margin-bottom:12px}.dresscode__text{font-size:14px;color:#3a3a3a;max-width:320px;margin:0 auto 8px;line-height:1.55}.strip{overflow:hidden;padding:24px 0;width:100%;position:relative}.strip__track{display:flex;width:max-content;-webkit-animation:strip-scroll 50s linear infinite;animation:strip-scroll 50s linear infinite}.strip__track img{height:130px;width:auto;flex-shrink:0;user-select:none;-webkit-user-drag:none;pointer-events:none}@-webkit-keyframes strip-scroll {
    0%   { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    100% { -webkit-transform: translate3d(-963px, 0, 0); transform: translate3d(-963px, 0, 0); }
}@keyframes strip-scroll {
    0%   { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-963px, 0, 0); }
}@media (min-width:768px){.strip__track img{height:165px}@-webkit-keyframes strip-scroll {
        0%   { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
        100% { -webkit-transform: translate3d(-1222px, 0, 0); transform: translate3d(-1222px, 0, 0); }
    }@keyframes strip-scroll {
        0%   { transform: translate3d(0, 0, 0); }
        100% { transform: translate3d(-1222px, 0, 0); }
    }}.form-section{padding:32px 0 48px;background:#fff}.form-title{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%}.form-title-inner{position:relative;display:inline-block;padding:14px 48px}.form-title-inner img{position:absolute;inset:0;width:100%;height:100%;z-index:0}.form-title-inner span{position:relative;z-index:1;font-family: var(--font-body);font-weight:600;font-size:22px;letter-spacing:4px;color:var(--ink)}.form-subtitle{text-align:center;color:var(--ink);font-size:14px;margin-top:4px;margin-bottom:28px}.rsvp-form{display:flex;flex-direction:column;gap:22px}.field{display:flex;flex-direction:column;gap:10px}.field__head{display:flex;align-items:center;gap:10px}.field__icon{width:22px;height:22px;flex-shrink:0;filter:brightness(.88)}.field label,.field__label{font-size:14px;color:#2a2a2a;font-weight:500;line-height:1.35}.field input[type="text"]{width:100%;padding:12px 14px;border:1.5px solid #d0ccc0;border-radius:10px;background:#faf9f5;font-family:inherit;font-size:15px;color:var(--ink);transition:border-color .2s ease , background .2s ease}.field input[type="text"]:focus{outline:none;border-color:var(--green);background:#fff}.radios{display:flex;flex-direction:column;gap:8px;padding-left:32px}.radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.radio input{accent-color:var(--green);width:16px;height:16px;cursor:pointer}.form__submit{align-self:center;margin-top:8px;min-width:200px;background:var(--yellow-dark)}.form__status{text-align:center;font-size:14px;min-height:1.2em;color:var(--green)}.form__status.error{color:var(--red)}.footer{background:var(--gray);padding:32px 0 36px;text-align:center}.footer__text{font-size:14px;color:#333;line-height:1.5}.footer__contacts{margin-top:18px;display:flex;flex-direction:column;gap:8px;align-items:center}.footer__contact{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:14px;padding:4px 8px;border-radius:8px;transition:background .2s ease}.footer__contact:hover{background:rgba(255,255,255,.7)}.footer__contact img{width:28px;height:28px}@media (min-width:768px){body{padding:24px 0}.shell{border-radius:8px}.greeting{padding:80px 0 12px}.greeting__text{font-size:16px}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.strip__track{animation:none}html{scroll-behavior:auto}}