:root{--cream:#fff1d4;--blue:#2454b4;--orange:#fa704c;--yellow:#ffd349;--pink:#f39cbc;--ink:#17244c;--paper:#fffaf1}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:var(--ink);background:var(--cream);font-family:'Trebuchet MS',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:900;letter-spacing:-.06em}h2{font-size:clamp(48px,6vw,86px);line-height:.95;margin:15px 0 30px;text-transform:uppercase}.content{width:min(1170px,calc(100% - 70px));margin:auto}.section-pad{padding:110px 0}.header{height:80px;background:var(--blue);color:var(--cream);display:flex;justify-content:space-between;align-items:center;padding:0 max(36px,calc((100vw - 1170px)/2));border-bottom:3px solid var(--ink)}.brand-top{font-weight:900;font-size:24px;letter-spacing:-.07em}.brand-top span{color:var(--yellow)}.header nav{display:flex;gap:35px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.header nav a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}.hero{overflow:hidden}.hero-strip{height:50px;background:var(--orange);color:var(--ink);border-bottom:3px solid var(--ink);display:flex;justify-content:space-around;align-items:center;gap:20px;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.hero-content{min-height:605px;width:min(1170px,calc(100% - 70px));margin:auto;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:20px;padding:55px 0 75px}.mini-title{display:inline-block;background:var(--yellow);padding:10px 17px;transform:rotate(-3deg);border:2px solid var(--ink);font-size:11px;font-weight:900;letter-spacing:.12em;margin:0 0 20px}.hero h1{font-size:clamp(83px,10vw,155px);line-height:.84;display:flex;flex-direction:column;margin:0 0 27px;text-transform:uppercase}.hero h1 span:first-child{color:var(--blue)}.hero h1 span:last-child{color:var(--orange)}.hero h1 .join-sign{font-size:.57em;margin-left:1.05em;transform:rotate(-15deg);line-height:.75;color:var(--ink)}.hero-desc{font-weight:700;font-size:19px;max-width:510px;line-height:1.5;margin-bottom:29px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:18px 24px;text-transform:uppercase;font-size:13px;font-weight:900;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.yellow-button{background:var(--yellow)}.blue-button{background:var(--blue);color:#fff}.hero-date{position:relative;min-height:420px;display:flex;justify-content:center;align-items:center}.date-sticker{width:305px;min-height:355px;padding:35px 20px;background:var(--blue);color:#fff;border:3px solid var(--ink);box-shadow:12px 12px 0 var(--pink);transform:rotate(7deg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:1}.date-sticker>span{font-size:12px;font-weight:900;letter-spacing:.1em}.date-sticker strong{font-size:155px;line-height:1;letter-spacing:-.13em;margin-left:-20px}.date-sticker b{font-size:37px;text-transform:uppercase;letter-spacing:-.05em}.date-sticker i{font-size:30px;font-style:normal;letter-spacing:.06em}.burst{position:absolute;font-size:200px;color:var(--orange);top:-65px;right:-40px;line-height:1}.hero-date>p{position:absolute;bottom:-18px;left:15px;background:var(--yellow);border:2px solid var(--ink);padding:12px;transform:rotate(-12deg);font-size:16px;font-weight:900;line-height:1.1;z-index:2}.hero-running{background:var(--blue);color:var(--cream);border-block:3px solid var(--ink);padding:16px 0;font-weight:900;font-size:21px;letter-spacing:.09em;text-align:center;white-space:nowrap;transform:rotate(-1deg);margin:0 -10px}.quote{background:var(--pink);text-align:center;position:relative;padding:78px 20px}.quote p{font-size:clamp(30px,5.6vw,66px);max-width:860px;margin:auto;font-weight:900;line-height:1.05;letter-spacing:-.06em;text-transform:uppercase}.scribble{color:var(--blue);font-size:85px;line-height:1;position:absolute;bottom:-45px;right:15%}.program{background:var(--paper)}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.tiny-tag{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.heading-stamp{display:grid;place-items:center;width:125px;height:125px;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);font-weight:900;text-align:center;transform:rotate(14deg);font-size:18px}.timeline-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}.event{display:grid;grid-template-columns:145px 35px 1fr;align-items:center;background:var(--cream);border:3px solid var(--ink);min-height:105px;padding:15px 28px;box-shadow:5px 5px 0 var(--blue)}.event:nth-child(even){background:#fff;box-shadow:5px 5px 0 var(--orange)}.event-time{font-size:32px;font-weight:900;letter-spacing:-.07em;color:var(--blue)}.event-marker{height:20px;width:20px;background:var(--orange);border:2px solid var(--ink);border-radius:50%}.event-details{display:flex;align-items:center;justify-content:space-between;gap:20px}.event-details h3{font-size:29px;line-height:1.05;text-transform:uppercase;margin:0}.event-details p{margin:0;font-size:14px;font-weight:600;line-height:1.5;max-width:270px}.venue{background:var(--yellow);border-block:3px solid var(--ink)}.venue-layout{display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:center}.address-card{background:var(--cream);padding:40px;border:3px solid var(--ink);box-shadow:9px 9px 0 var(--blue);position:relative}.address-card h3{font-size:36px;line-height:1.05;text-transform:uppercase;margin-bottom:14px}.address-card p{font-size:16px;line-height:1.6;max-width:390px}.address-card .address{font-size:19px;font-weight:900}.place-star{position:absolute;font-size:65px;right:15px;top:-38px;color:var(--orange)}.calendar-link{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.06em;margin-top:32px;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}.map-art{height:480px;background:var(--orange);border-radius:50% 50% 20px 20px;border:4px solid var(--ink);position:relative;display:grid;place-items:center;box-shadow:18px 18px 0 var(--pink)}.big-smile{font-size:260px;letter-spacing:-.22em;transform:rotate(90deg);line-height:1;font-weight:900;color:var(--blue)}.map-arc{position:absolute;top:33px;background:var(--cream);padding:15px 25px;transform:rotate(7deg);border:2px solid var(--ink);font-weight:900;letter-spacing:.06em}.map-pin{position:absolute;bottom:22px;left:38px;font-size:87px;color:var(--yellow);text-shadow:3px 4px var(--ink)}.dress{background:var(--blue);color:var(--cream)}.dress-layout{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:center}.dress p{max-width:410px;font-size:18px;line-height:1.5}.color-area{display:flex;flex-direction:column;align-items:flex-end;gap:26px}.dress-colors{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.color-swatch{width:70px;height:98px;border:3px solid var(--ink);box-shadow:3px 4px var(--ink);border-radius:100px 100px 10px 10px;transform:rotate(-9deg)}.color-swatch:nth-child(even){transform:rotate(9deg) translateY(13px)}.color-area>span{font-size:12px;font-weight:900;letter-spacing:.12em}.rsvp{background:var(--cream)}.rsvp-layout{display:grid;grid-template-columns:.9fr 1.05fr;gap:9%}.rsvp-intro>p{font-size:18px;line-height:1.6;max-width:365px}.deadline-tag{display:inline-block;margin-top:24px;background:var(--pink);border:3px solid var(--ink);box-shadow:4px 4px var(--ink);padding:13px 19px;font-weight:900;font-size:13px;text-transform:uppercase;transform:rotate(-2deg)}.big-arrow{font-size:185px;color:var(--orange);font-weight:900;line-height:1.2;padding-left:20px}.rsvp-form{background:#fff;display:flex;flex-direction:column;gap:12px;padding:34px;border:3px solid var(--ink);box-shadow:9px 9px 0 var(--orange)}.rsvp-form label:not(.consent){font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-top:9px}.rsvp-form input:not([type=checkbox]),.rsvp-form textarea,.rsvp-form select{width:100%;border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;padding:14px}.rsvp-form textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4;padding:11px 0}.consent input{accent-color:var(--blue);margin-top:2px;flex:none}.send{width:100%}.send:disabled{opacity:.5;cursor:wait}.form-result{min-height:20px;font-size:13px;line-height:1.5;margin:8px 0 0}.form-result[data-type=error]{color:#b22d25}.form-result[data-type=success]{color:#13713b}.end{background:var(--orange);text-align:center;border-top:3px solid var(--ink);padding:95px 20px}.end p{font-size:clamp(38px,7vw,98px);line-height:1;font-weight:900;letter-spacing:-.08em;margin-bottom:22px}.end>span{font-size:22px;font-weight:900;text-transform:uppercase}.end>div{font-size:80px;line-height:1;color:var(--cream)}.end small{font-size:14px;font-weight:700}.footer{background:var(--ink);color:white}.footer-content{min-height:115px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;font-weight:900;letter-spacing:.1em}.brand-link img{width:150px;height:auto;display:block}.footer-content>a:last-child:hover{text-decoration:underline}
@media(max-width:850px){.content,.hero-content{width:calc(100% - 44px)}.header{padding:0 22px}.hero-content{grid-template-columns:1fr;gap:45px}.hero h1{font-size:clamp(80px,15vw,130px)}.hero-date{min-height:400px}.date-sticker{width:285px;min-height:315px}.date-sticker strong{font-size:125px}.burst{right:10%}.hero-date>p{left:16%}.section-pad{padding:80px 0}.venue-layout,.rsvp-layout,.dress-layout{grid-template-columns:1fr;gap:52px}.map-art{width:min(100%,430px);height:420px;margin-inline:auto}.big-arrow{display:none}.color-area{align-items:flex-start}.dress-colors{justify-content:flex-start}}
@media(max-width:550px){.header{height:70px}.brand-top{font-size:18px}.header nav{gap:12px;font-size:10px}.hero-strip span:nth-child(2){display:none}.hero-strip{font-size:9px;padding:0 15px;justify-content:space-between}.hero-content{padding:50px 0}.hero h1{font-size:clamp(64px,15vw,92px)}.hero-desc{font-size:16px}.hero-date{min-height:370px}.date-sticker{width:265px;min-height:315px}.date-sticker strong{font-size:120px}.date-sticker b{font-size:31px}.burst{right:0}.hero-date>p{left:0}.hero-running{font-size:15px}.quote{padding:62px 20px}h2{font-size:clamp(48px,11vw,64px)}.heading-stamp{height:85px;width:85px;font-size:12px}.event{grid-template-columns:76px 15px 1fr;padding:16px 12px;gap:10px}.event-time{font-size:24px}.event-marker{height:12px;width:12px}.event-details{display:block}.event-details h3{font-size:21px}.event-details p{font-size:12px;margin-top:7px}.address-card{padding:28px}.address-card h3{font-size:28px}.map-art{height:320px}.big-smile{font-size:195px}.color-swatch{width:48px;height:80px}.rsvp-form{padding:21px;box-shadow:5px 5px var(--orange)}.end{padding:72px 15px}.footer-content{flex-direction:column;padding:25px 0;gap:16px;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Photo collage with energetic, sunny accents */
.wedding-photo{display:block;width:100%;height:100%;object-fit:cover}
.hero-date{isolation:isolate}
.sunday-hero-photo{position:absolute;inset:10px 0 auto auto;width:82%;height:370px;border:8px solid var(--cream);outline:3px solid var(--ink);transform:rotate(8deg);box-shadow:15px 14px 0 var(--orange);object-position:center 50%;z-index:0}
.hero-date .date-sticker{position:absolute;left:-18px;bottom:-15px;transform:rotate(-10deg);width:205px;min-height:230px;padding:22px 14px;z-index:2;box-shadow:8px 8px 0 var(--pink)}
.hero-date .date-sticker strong{font-size:90px;margin-left:-12px}
.hero-date .date-sticker b{font-size:25px}
.hero-date .date-sticker i{font-size:20px}
.hero-date .date-sticker>span{font-size:10px}
.hero-date .burst{z-index:3;right:-22px;top:-66px;font-size:135px;pointer-events:none}
.map-art{overflow:hidden;isolation:isolate;background:var(--orange)}
.sunday-venue-photo{position:absolute;inset:0;z-index:-1;object-position:50% 53%;filter:saturate(1.07)}
.map-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,35,65,.4),transparent 48%);z-index:-1}
.map-arc,.map-pin{z-index:1}
@media(max-width:850px){.hero-date .date-sticker{left:2%;bottom:-17px}}
@media(max-width:560px){.sunday-hero-photo{height:335px;width:84%}.hero-date .date-sticker{width:168px;min-height:195px;left:0;bottom:-7px}.hero-date .date-sticker strong{font-size:76px}.hero-date .date-sticker b{font-size:22px}.hero-date .burst{font-size:95px;right:0;top:-35px}}
img[hidden]{display:none!important}


/* Универсальная RSVP-форма для API AACreate (сохраняет палитру каждого дизайна). */
.rsvp-form .guest-count-field {display:flex;flex-direction:column;gap:9px}
.rsvp-form .guest-count-field[hidden],.rsvp-form .drink-picker[hidden]{display:none!important}
.rsvp-form .drink-picker{min-width:0;border:0;margin:18px 0 10px;padding:0}
.rsvp-form .drink-picker legend{font:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;padding:0 0 14px}
.rsvp-form .drink-choices{display:flex;flex-wrap:wrap;gap:10px}
.rsvp-form fieldset.drink-picker label.drink-choice{display:inline-flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:1px solid currentColor;border-radius:999px;font:inherit;font-size:12px;line-height:1.2;cursor:pointer;letter-spacing:0;transition:background .2s ease;opacity:.9}
.rsvp-form fieldset.drink-picker label.drink-choice:has(input:checked){background:var(--ink, var(--blue, var(--green, #24211e)));color:var(--white, var(--paper, #fff));opacity:1}
.rsvp-form .drink-choice input[type=checkbox]{width:15px;height:15px;margin:0;flex:none;accent-color:currentColor;cursor:pointer}
.rsvp-form .rsvp-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.rsvp-form button[aria-busy=true]{opacity:.65;cursor:wait}
.rsvp-form .form-result{overflow-wrap:anywhere}
@media(max-width:520px){.rsvp-form .drink-choices{gap:8px}.rsvp-form fieldset.drink-picker label.drink-choice{padding:9px 11px}}


/* AACreate: исправление нижней горизонтальной прокрутки. */
html, body { max-width: 100%; overflow-x: clip; }
@media (max-width: 850px) {
  .venue-layout { grid-template-columns: minmax(0, 1fr); }
  .venue-layout > * { min-width: 0; max-width: 100%; }
  .venue-layout h2, .address-card h3 { max-width: 100%; overflow-wrap: anywhere; }
  .map-art { max-width: calc(100% - 24px); min-width: 0; box-sizing: border-box; }
}
@media (max-width: 370px) {
  .venue-layout h2 { font-size: clamp(29px, 9vw, 37px); }
  .address-card { padding: 18px; }
  .address-card h3 { font-size: 24px; }
  .address-card .btn { max-width: 100%; gap: 8px; padding-inline: 12px; white-space: normal; overflow-wrap: anywhere; }
}
