*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f0e9;color:#272320;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.hero{min-height:100svh;position:relative;padding:42px 22px 90px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;background:radial-gradient(circle at 50% 32%,#fff 0,#f6efe8 42%,#e7d6ce 100%);overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(90,65,50,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(90,65,50,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 80%);pointer-events:none}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 22px;color:#675e59}.hero .eyebrow{z-index:2}.professions{width:min(900px,100%);display:flex;justify-content:space-between;gap:50px;margin-top:25px;z-index:2}.professions div{max-width:230px}.professions span{display:block;font-family:"Cormorant Garamond",serif;font-size:20px;color:#b77578}.professions small{display:block;margin-top:8px;color:#6b625e}.names{z-index:2;font-family:"Marck Script",cursive;font-size:clamp(58px,10vw,112px);line-height:.8;margin:26px 0 18px;color:#c78488;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.names b{font-family:"Cormorant Garamond",serif;font-weight:400;color:#292522;font-size:.7em}.invite{z-index:2;letter-spacing:.12em;line-height:1.7;font-size:13px}.date{z-index:2;display:flex;align-items:center;gap:18px;font-family:"Cormorant Garamond",serif;font-size:38px;color:#b96f73;margin:14px 0 10px}.date i{width:1px;height:34px;background:#cda4a5}.hero-art{position:relative;width:min(720px,92vw);height:270px;margin-top:18px;z-index:2}.arch{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:220px;height:200px;border:20px solid #f6f0e8;border-bottom:0;border-radius:120px 120px 0 0;box-shadow:0 18px 30px rgba(71,52,43,.14),inset 0 0 0 1px rgba(70,55,47,.08)}.column{position:absolute;bottom:0;width:78px;height:190px;background:linear-gradient(90deg,#f8f4ee,#e6ddd1 48%,#fff);border-radius:22px 22px 6px 6px;box-shadow:0 14px 28px rgba(68,50,41,.14)}.column:before{content:"";position:absolute;top:-13px;left:-7px;width:92px;height:30px;border-radius:50%;background:#eee5da}.c1{left:9%;height:155px}.c2{right:11%;height:205px}.c3{right:28%;height:132px}.ball{position:absolute;right:4%;bottom:2px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 33% 28%,#fff,#e8e2dc 72%,#c6bbb1);box-shadow:0 16px 25px rgba(0,0,0,.18)}.ball:after{content:"◆";position:absolute;font-size:48px;color:#403b38;left:22px;top:14px}.tactics{position:absolute;left:1%;bottom:4px;width:150px;height:110px;border:7px solid #383330;background:#4a4541;transform:rotate(-5deg);box-shadow:0 16px 24px rgba(0,0,0,.2);color:#fff}.tactics:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.9)}.tactics em{position:relative;z-index:2;font-style:normal;margin:10px}.line{position:absolute;height:1px;background:#fff;width:60px;z-index:2}.l1{top:35px;left:25px;transform:rotate(18deg)}.l2{top:65px;left:55px;transform:rotate(-22deg)}.l3{top:78px;left:24px;transform:rotate(8deg)}.hero-drape{position:absolute;width:360px;height:700px;background:linear-gradient(90deg,rgba(222,161,168,.72),rgba(249,228,226,.25));filter:drop-shadow(0 20px 25px rgba(128,82,87,.14));z-index:1}.hero-drape-left{left:-180px;top:-190px;border-radius:50% 50% 40% 60%;transform:rotate(22deg)}.hero-drape-right{right:-220px;bottom:-260px;border-radius:60% 40% 55% 45%;transform:rotate(-24deg)}.sketch{position:absolute;border:1px solid rgba(75,66,62,.15);z-index:1}.sketch-a{width:250px;height:150px;right:5%;top:8%;transform:rotate(8deg)}.sketch-b{width:180px;height:240px;left:3%;bottom:17%;transform:rotate(-12deg)}.scroll-down{position:absolute;bottom:22px;z-index:3;text-decoration:none;color:#6d625d;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.section{padding:95px 22px}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1100px;margin:auto}.paper{background:#fffaf5;padding:52px;box-shadow:0 30px 80px rgba(75,55,45,.12);transform:rotate(-1.5deg)}.paper h2,.location-card h2,.program h2,.dress h2,.flowers h2,.rsvp h2{font-family:"Cormorant Garamond",serif;font-size:clamp(38px,5vw,64px);font-weight:500;line-height:1.02;margin:12px 0 22px}.script{font-family:"Marck Script",cursive;font-size:36px;color:#b97679}.photo-card{margin:0;position:relative}.photo-card img{width:100%;max-height:680px;object-fit:cover;border-radius:240px 240px 18px 18px;box-shadow:0 30px 70px rgba(61,45,37,.2)}.photo-card figcaption{text-align:center;font-family:"Marck Script",cursive;font-size:28px;margin-top:14px;color:#9a6668}.countdown{text-align:center;background:#26211f;color:#fff}.countdown .eyebrow{color:#d5c4bc}.timer{display:flex;justify-content:center;gap:clamp(20px,7vw,90px);flex-wrap:wrap}.timer div{min-width:95px}.timer strong{display:block;font-family:"Cormorant Garamond",serif;font-size:64px;font-weight:400}.timer span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#d3c7c0}.location{display:grid;grid-template-columns:1.15fr .85fr;max-width:1200px;margin:auto;gap:0;align-items:center}.location-image img{width:100%;height:600px;object-fit:cover;border-radius:260px 260px 12px 12px}.location-card{background:#fff;padding:64px;box-shadow:0 25px 60px rgba(76,55,45,.13);margin-left:-60px;position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;border:1px solid #2d2825;color:#2d2825;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px;background:transparent;cursor:pointer}.btn.rose{background:#c6878b;color:#fff;border-color:#c6878b}.program{text-align:center;background:#ead9d2}.timeline{max-width:900px;margin:48px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.timeline div{background:#fffaf6;padding:32px 18px;min-height:180px}.timeline span{font-family:"Cormorant Garamond",serif;font-size:42px;color:#c47e82}.timeline p{font-family:"Cormorant Garamond",serif;font-size:26px;margin:8px}.timeline small{color:#746963}.dress{max-width:1100px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:55px}.fabric img{width:100%;height:580px;object-fit:cover;border-radius:12px 240px 12px 240px}.flowers{background:#fffaf6;display:grid;grid-template-columns:1fr 300px;max-width:1100px;margin:auto;gap:55px;align-items:center}.qr-card{text-align:center}.qr-card img{width:100%;background:white;padding:18px;box-shadow:0 20px 50px rgba(76,55,45,.14)}.qr-card span{display:block;margin-top:15px;font-size:12px;color:#726762}.
.rsvp{
    background:url("assets/kalbas.png") center center / cover no-repeat;
    text-align:center;
    position:relative;
    padding:100px 20px;
}
.rsvp form{
    max-width:720px;
    margin:35px auto 0;
    background:rgba(255,250,245,.90);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    padding:42px;
    border-radius:22px;
    box-shadow:0 30px 80px rgba(70,51,42,.25);
}
}.rsvp label,.rsvp legend{font-size:13px;letter-spacing:.04em}.rsvp input[type=text],.rsvp textarea{width:100%;margin-top:8px;margin-bottom:24px;padding:14px;border:0;border-bottom:1px solid #bfb0a9;background:#faf7f4;font:inherit}.rsvp fieldset{border:0;padding:0;margin:0 0 24px}.rsvp fieldset label{display:block;margin-top:10px}.form-note{font-size:11px;color:#857872;margin-top:14px}.music-btn{position:fixed;right:18px;top:18px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#b9787c;box-shadow:0 10px 25px rgba(54,42,35,.16);z-index:50;font-size:20px}footer{text-align:center;padding:60px 20px;background:#241f1d;color:#fff}footer .script{margin:0;color:#dfa6a9;font-size:42px}footer span{font-size:12px;letter-spacing:.18em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(28px);transition:.9s ease}.reveal.show{opacity:1;transform:none}@media(max-width:760px){.hero{padding-top:32px}.professions{gap:12px}.professions div{max-width:145px}.professions span{font-size:15px}.professions small{font-size:10px}.names{font-size:62px;display:block}.names b{display:block;line-height:.65}.hero-art{height:230px}.arch{width:150px;height:150px;border-width:14px}.column{width:54px}.c1{left:8%}.c2{right:10%}.c3{right:28%}.ball{width:72px;height:72px}.ball:after{font-size:38px;left:17px;top:10px}.tactics{width:110px;height:84px}.welcome,.location,.dress,.flowers{grid-template-columns:1fr}.section{padding:70px 18px}.paper{padding:34px}.photo-card img{max-height:520px}.location-image img{height:420px}.location-card{margin:-55px 18px 0;padding:38px}.timeline{grid-template-columns:1fr}.dress-copy{text-align:center}.fabric img{height:420px}.flowers{padding-left:18px;padding-right:18px}.qr-card{max-width:260px;margin:auto}.rsvp form{padding:28px 20px}.timer{gap:22px}.timer strong{font-size:48px}}

/* ===== FINAL HERO + UNIFIED VISUAL STYLE ===== */
:root{
  --paper:#f4eee7;
  --paper-2:#fffaf5;
  --rose:#c98288;
  --rose-soft:#e7c7c7;
  --ink:#2c2724;
  --muted:#756a64;
  --line:#d8c6bd;
}
body{
  background:
    linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.2)),
    radial-gradient(circle at 15% 20%,rgba(229,193,195,.22),transparent 34%),
    var(--paper);
}
.hero{
  min-height:100svh;
  padding:0;
  display:block;
  position:relative;
  overflow:hidden;
  background:#eee4dd;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(244,238,231,.08) 0%,rgba(244,238,231,.02) 62%,rgba(40,31,27,.12) 100%);
  pointer-events:none;
}
.hero-overlay{
  position:relative;
  z-index:3;
  width:min(940px,100%);
  min-height:100svh;
  margin:auto;
  padding:42px 24px 130px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-kicker{
  margin:0 0 62px;
  font-size:13px;
  letter-spacing:.23em;
  color:#4d4642;
}
.hero-professions{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:180px;
  margin-bottom:28px;
}
.hero-professions div:first-child{text-align:left}
.hero-professions div:last-child{text-align:right}
.hero-professions span{
  display:block;
  font-family:"Cormorant Garamond",serif;
  color:#bd757b;
  font-size:21px;
  line-height:1.1;
}
.hero-professions small{
  display:block;
  margin-top:8px;
  color:#5f5752;
  font-size:12px;
}
.hero-names{
  font-family:"Marck Script",cursive;
  color:#c57c82;
  font-size:clamp(64px,10vw,112px);
  line-height:.78;
  margin:2px 0 24px;
  text-shadow:0 2px 18px rgba(255,255,255,.75);
}
.hero-names span{display:block}
.hero-names b{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-weight:400;
  font-size:.56em;
  line-height:.65;
  color:#27221f;
}
.hero-invite{
  margin:8px 0 26px;
  font-size:14px;
  line-height:1.7;
  letter-spacing:.12em;
  color:#2d2825;
}
.hero-date{
  display:flex;
  align-items:center;
  gap:18px;
  font-family:"Cormorant Garamond",serif;
  font-size:42px;
  color:#b96e74;
}
.hero-date i{
  display:block;
  width:1px;
  height:38px;
  background:#c99497;
}
.scroll-down{
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
  z-index:5;
}

/* Shared editorial paper language */
.section{position:relative}
.paper,.location-card,.timeline div,.rsvp form,.flowers-card,.qr-card{
  border:1px solid rgba(161,125,112,.16);
  background:rgba(255,250,245,.94);
}
.paper,.location-card,.rsvp form{
  box-shadow:0 26px 70px rgba(91,66,55,.13);
}
.welcome:before,.dress:before,.flowers:before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border:1px solid rgba(91,75,67,.12);
  transform:rotate(9deg);
  pointer-events:none;
}
.welcome:before{left:-80px;top:70px}
.dress:before{right:-70px;top:60px}
.flowers:before{left:-90px;bottom:40px}
.photo-card img,.location-image img,.fabric img{
  filter:saturate(.82) contrast(.98);
}
.countdown{
  background:
    linear-gradient(rgba(40,33,30,.93),rgba(40,33,30,.93)),
    url("assets/hero1.png") center/cover;
}
.program{
  background:
    linear-gradient(rgba(234,217,210,.93),rgba(234,217,210,.93)),
    url("assets/hero1.png") center/cover;
}
.dress,.flowers,.welcome,.location{
  overflow:hidden;
}
.btn{
  transition:.25s ease;
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(99,69,58,.14);
}
.btn.rose{
  background:var(--rose);
  border-color:var(--rose);
}
footer{
  background:
    linear-gradient(rgba(38,31,29,.35), rgba(38,31,29,.35)),
    url("assets/sasiska.jpg") center/cover;
}

@media(max-width:760px){
  .hero-bg{
    object-position:center top;
  }
  .hero-overlay{
    padding:34px 20px 110px;
  }
  .hero-kicker{
    font-size:11px;
    margin-bottom:56px;
    max-width:320px;
    line-height:1.7;
  }
  .hero-professions{
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-bottom:34px;
  }
  .hero-professions span{
    font-size:15px;
  }
  .hero-professions small{
    font-size:10px;
    line-height:1.4;
  }
  .hero-names{
    font-size:64px;
    margin-top:0;
  }
  .hero-invite{
    font-size:12px;
    margin-top:12px;
  }
  .hero-date{
    font-size:34px;
    gap:14px;
  }
  .hero-date i{
    height:30px;
  }
}


/* ===== PHOTO STORY + UPDATED PROGRAM ===== */
.timeline{
  grid-template-columns:repeat(4,1fr);
  max-width:1120px;
}
.timer div{
    min-width:95px;
    opacity:0;
    transform:translateY(25px);
    animation:timerShow .8s ease forwards;
}
.timer div:nth-child(1){
    animation-delay:.2s;
}

.timer div:nth-child(2){
    animation-delay:.45s;
}

.timer div:nth-child(3){
    animation-delay:.7s;
}

.timer div:nth-child(4){
    animation-delay:.95s;
}
.timeline small{
  line-height:1.55;
}

.story{
  max-width:1180px;
  margin:auto;
}
.story-heading{
  text-align:center;
  margin-bottom:55px;
}
.story-heading h2{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(42px,6vw,76px);
  font-weight:500;
  line-height:.98;
  margin:0;
}
.story-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:start;
}
.story-photo{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#fffaf5;
  padding:12px 12px 42px;
  box-shadow:0 24px 58px rgba(75,54,44,.15);
}
.story-photo:nth-child(2){transform:rotate(1.4deg)}
.story-photo:nth-child(3){transform:rotate(-1.8deg)}
.story-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.86) contrast(.98);
}
.story-photo-wide{min-height:500px}
.story-photo-wide img{height:500px}
.story-photo-tall{
  grid-row:span 2;
  min-height:810px;
}
.story-photo-tall img{height:810px}
.story-photo-small{min-height:350px}
.story-photo-small img{height:350px}
.story-photo figcaption{
  position:absolute;
  left:20px;
  right:20px;
  bottom:10px;
  text-align:center;
  font-family:"Marck Script",cursive;
  font-size:24px;
  color:#9c666a;
}
.emotion-banner{
  position:relative;
  height:520px;
  overflow:hidden;
}
.emotion-banner img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.emotion-banner:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(28,22,21,.78),rgba(28,22,21,.18));
}
.emotion-banner div{
  position:relative;
  z-index:2;
  width:min(1100px,100%);
  height:100%;
  margin:auto;
  padding:0 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  color:#fff;
}
.emotion-banner .script{
  font-size:clamp(48px,7vw,86px);
  color:#f3c0c4;
  margin:0 0 12px;
}
.emotion-banner span{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
}

@media(max-width:900px){
  .timeline{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .story-grid{grid-template-columns:1fr}
  .story-photo-tall{grid-row:auto;min-height:560px}
  .story-photo-tall img{height:560px}
  .story-photo-wide{min-height:420px}
  .story-photo-wide img{height:420px}
  .story-photo-small{min-height:420px}
  .story-photo-small img{height:420px}
  .story-photo:nth-child(2),
  .story-photo:nth-child(3){transform:none}
  .timeline{grid-template-columns:1fr}
  .emotion-banner{height:430px}
}
/* Положение имён и даты на главном экране */

.hero-overlay{
    position:absolute;
    inset:0;
    z-index:3;
}

.hero-names{
    position:absolute;
    top:26%;
    left:50%;
    transform:translateX(-50%);

    width:64%;
    text-align:center;

    font-family:"Marck Script",cursive;
    font-size:64px;
    line-height:.88;
    color:#c57c82;
    text-shadow:0 2px 15px rgba(255,255,255,.7);
}

.hero-names span{
    display:block;
}

.hero-names b{
    display:block;
    margin:8px 0;

    font-family:"Cormorant Garamond",serif;
    font-size:58px;
    font-weight:400;
    line-height:.7;
    color:#27221f;
}

.hero-date{
    position:absolute;
    left:50%;
bottom:82px;
    transform:translateX(-50%);

    width:100%;
    text-align:center;

    font-family:"Cormorant Garamond",serif;
    font-size:42px;
    color:#b96f73;
    white-space:nowrap;
}
@media(max-width:760px){

    .hero-names{
        top:22%;
        width:82%;
        font-size:58px;
        line-height:.8;
    }

    .hero-names b{
        font-size:42px;
        margin:5px 0;
    }

    .hero-date{
        bottom:11%;
        font-size:31px;
        letter-spacing:1px;
    }
}
.hero-names{
    top:18%;
    left:54%;
    transform:translateX(-50%);
    width:82%;
    font-size:35px;
    line-height:.8;
}

.hero-names b{
    font-size:42px;
    margin:5px 0;
}
.hero-date{
    display:block !important;
    position:absolute !important;
    left:44% !important;
    top:82.5% !important;
    bottom:auto !important;
    transform:translateX(-50%) !important;
    width:100% !important;
    text-align:center !important;
    font-size:25px !important;
  font-weight:600;
}
.hero-name1,
.hero-name2{
    display:block;
    opacity:10;
    animation:heroNameShow 1.2s ease forwards;
}

.hero-name1{
    position:relative;
    top:-17px;
    animation-delay:.3s;
}

.hero-name2{
    animation-delay:.8s;
}

.hero-heart{
    display:block;
    font-size:26px;
    color:#c98c95;
    margin:14px 0;
    line-height:1;
    text-align:center;
    opacity:.9;
}

@keyframes heroNameShow{
    from{
        opacity:0;
        filter:blur(6px);
    }

    to{
        opacity:1;
        filter:blur(0);
    }
}
@keyframes timerShow{

    from{
        opacity:0;
        transform:translateY(25px) scale(.85);
        filter:blur(8px);
    }

    70%{
        transform:translateY(0) scale(1.04);
    }

    to{
        opacity:1;
        transform:translateY(0) scale(1);
        filter:blur(0);
    }

}
/* ===== ПРОГРАММА ДНЯ КАК НА РЕФЕРЕНСЕ ===== */

.program{
    position:relative;
    padding:90px 28px 110px;
    overflow:hidden;
    text-align:left;
    color:#fff;

   background:
linear-gradient(
    rgba(93,73,69,.30),
    rgba(93,73,69,.30)
),
url("assets/kalbas.png") center /cover no-repeat;
}

.program::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(97,76,72,.16);
    backdrop-filter:blur(1px);
    -webkit-backdrop-filter:blur(1px);
    pointer-events:none;
}

.program-title{
    position:relative;
    z-index:2;

    margin:0 0 80px;
    text-align:center;

    font-family:"Cormorant Garamond",serif;
    font-size:54px;
    font-weight:400;
    letter-spacing:.04em;
    color:#fff;
}

.timeline{
    position:relative;
    z-index:2;

    display:block;
    max-width:520px;
    margin:0 auto;
    padding:0 0 0 72px;
}

/* Вертикальная линия */

.timeline::before{
    content:"";
    position:absolute;
    top:24px;
    bottom:35px;
    left:22px;

    width:2px;
    background:rgba(255,255,255,.92);
}

.timeline-item{
    position:relative;
    min-height:285px;
    padding:0 0 70px 0;

    background:none;
    border:0;
    box-shadow:none;
}

/* Точка на линии */

.timeline-dot{
    position:absolute;
    top:25px;
    left:-56px;

    width:14px;
    height:14px;
    border-radius:50%;

    background:#fff;
    box-shadow:0 0 0 3px rgba(255,255,255,.12);
}

.timeline-content h3{
    margin:0;

    font-family:"Marck Script",cursive;
    font-size:45px;
    font-weight:400;
    line-height:1.08;
    color:#fff;
}

.timeline-time{
    font-family:"Cormorant Garamond",serif;
    font-size:53px;
    font-weight:600;
    color:#35221B;
    text-shadow:0 1px 3px rgba(255,255,255,.45);
}
.timeline-time{
    font-size:47px;
}

.timeline-content p{
    margin:30px 0 0;

    font-family:Manrope,Arial,sans-serif;
    font-size:24px;
    font-weight:300;
    line-height:1.35;
    color:#fff;
}

/* Убираем старые стили карточек */

.program .timeline div{
    background:transparent;
    border:0;
    box-shadow:none;
}
@media(max-width:760px){

    .program{
        min-height:100svh;
        padding:70px 22px 90px;
        background-position:center;
    }

    .program-title{
        margin-bottom:65px;
        font-size:46px;
    }

    .timeline{
        padding-left:66px;
    }

    .timeline::before{
        left:20px;
        top:20px;
        bottom:25px;
    }

    .timeline-item{
        min-height:260px;
        padding-bottom:62px;
    }

    .timeline-dot{
        top:21px;
        left:-52px;
        width:13px;
        height:13px;
    }

    .timeline-content h3{
        font-size:39px;
        line-height:1.08;
    }

    .timeline-time{
        font-size:47px;
    }

    .timeline-content p{
        margin-top:25px;
        font-size:21px;
        line-height:1.35;
    }
}
.program-title.reveal{
    transition-delay:.05s;
}

.timeline-item:nth-child(1){
    transition-delay:.15s;
}

.timeline-item:nth-child(2){
    transition-delay:.3s;
}

.timeline-item:nth-child(3){
    transition-delay:.45s;
}

.timeline-item:nth-child(4){
    transition-delay:.6s;
}
.program .reveal{
    opacity:0;
    transform:translateY(45px);
    filter:blur(5px);
    transition:
        opacity 1s ease,
        transform 1s ease,
        filter 1s ease;
}

.program .reveal.show{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
}
/* ================= SAVE THE DATE ================= */

.save-date{
    background:#fff;
    padding:0;
    overflow:hidden;
}

.save-date-inner{
    position:relative;
    max-width:700px;
    margin:0 auto;
}

.save-date img{
    display:block;
    width:100%;
    height:auto;
}

.save-date-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    padding-top:70px;
    pointer-events:none;
}

.save-date-title{
    margin:0;
    font-family:"Cormorant Garamond",serif;
    font-size:56px;
    letter-spacing:12px;
    color:#222;
    font-weight:400;
}

.save-date-date{
    margin-top:40px;
    display:flex;
    align-items:center;
    gap:28px;

    font-family:"Cormorant Garamond",serif;
    font-size:54px;
    color:#222;
    font-weight:400;
}

@media (max-width:760px){

    .save-date-overlay{
        padding-top:38px;
    }

    .save-date-title{
        font-size:32px;
        letter-spacing:6px;
    }

    .save-date-date{
        margin-top:22px;
        gap:12px;
        font-size:34px;
    }
}
/* Дресс-код — точный макет по референсу */
.dress{
  display:block;
  max-width:none;
  margin:0;
  padding:0;
  background:#f5f0e9;
  overflow:hidden;
}
.dress::before{display:none}
.dress-reference{
  width:100%;
  max-width:1024px;
  margin:0 auto;
}
.dress-reference img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:760px){
  .dress{padding:0}
  .dress-reference{max-width:none}
}
/* ===== БЛОК «ЦВЕТОЧНАЯ ПОДПИСКА»: текст на фоне статуи ===== */
.flowers{
  max-width:none;
  min-height:760px;
  margin:0;
  padding:110px max(22px, calc((100vw - 1100px) / 2));
  display:grid;
  grid-template-columns:minmax(0, 620px) 230px;
  justify-content:start;
  align-items:center;
  gap:34px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(90deg,
      rgba(255,250,246,.98) 0%,
      rgba(255,250,246,.94) 43%,
      rgba(255,250,246,.48) 66%,
      rgba(255,250,246,.10) 100%),
    url("assets/statue-flowers.png") right -180px / auto 108% no-repeat;
    #f5eee8;
}
.flowers:before{
  display:none;
}
.flowers-card,
.flowers .qr-card{
  position:relative;
  z-index:2;
  background:transparent;
  border:0;
  box-shadow:none;
}
.flowers-card{
  padding:0;
}
.flowers-card h2{
  max-width:520px;
}
.flowers-card > p:not(.eyebrow){
  max-width:570px;
  font-size:16px;
  line-height:1.75;
}
.flowers .qr-card{
  width:210px;
}
.flowers .qr-card img{
  width:100%;
  padding:12px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 36px rgba(76,55,45,.16);
}
.flowers .qr-card span{
  color:#5f5550;
}
@media(max-width:760px){
  .flowers{
    min-height:900px;
    padding:70px 22px 330px;
    grid-template-columns:1fr;
    gap:28px;
    align-content:start;
    background:
  linear-gradient(
    90deg,
    rgba(255,250,246,.98) 0%,
    rgba(255,250,246,.94) 43%,
    rgba(255,250,246,.48) 66%,
    rgba(255,250,246,.10) 100%
  ),
 url("assets/statue-flowers.png") right bottom / auto 58% no-repeat,
  #f5eee8;
  }
  .flowers-card,
  .flowers .qr-card{
    text-align:left;
  }
  .flowers .qr-card{
    width:170px;
    margin:0;
  }
}
.welcome{
    position:relative;
    display:flex;
    align-items:center;
    min-height:100vh;
    padding:100px 24px;
    background:url("assets/bride-bg.jpg") center center / cover no-repeat;
    overflow:hidden;
}

.welcome::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.28); /* затемнение для читаемости */
}

.paper{
    position:relative;
    z-index:2;
    max-width:560px;
    background:transparent;
    box-shadow:none;
    border:none;
    color:#fff;
    transform:none;
}

.paper h2,
.paper p,
.paper .script{
    color:#fff;
}

.photo-card{
    display:none;
}
.program .timeline .timeline-time{
    color:#4A3026 !important;
}
.label-hint{
    display:block;
    margin-top:6px;
}
