:root{
  --bg:#f8f0e7; --bg2:#fffaf3; --rose:#8c1d3a; --rose2:#5e0f26; --gold:#b8935a;
  --ink:#2a1218; --muted:#6b5457; --glass:rgba(255,250,243,.75); --line:rgba(140,29,58,.22);
  --serif:'Cormorant Garamond',serif; --sans:'Montserrat',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);line-height:1.8;overflow-x:hidden;
  background:var(--bg)}
a{color:inherit;text-decoration:none}
::selection{background:var(--rose);color:#fff}

/* ambient layers */
#sky{display:none;position:fixed;inset:0;z-index:0;pointer-events:none}
#glow{display:none;position:fixed;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;z-index:0;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle,rgba(255,143,171,.16),transparent 65%);transition:transform .15s ease-out}
#progress{position:fixed;left:0;top:0;height:3px;width:0;z-index:90;background:linear-gradient(90deg,#b8935a,var(--rose2))}
main,.section,.hero,.footer{position:relative;z-index:1}

/* floating pill nav */
.nav{position:fixed;top:16px;left:0;right:0;z-index:50;display:flex;justify-content:center;pointer-events:none}
.nav__inner{pointer-events:auto;display:flex;align-items:center;gap:26px;padding:10px 26px;border-radius:60px;
  background:rgba(255,255,255,.8);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 8px 30px rgba(140,29,58,.15)}
.nav__logo{color:var(--rose);font-size:18px}
.nav__links{display:flex;gap:22px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:400}
.nav__links a{color:var(--muted);transition:color .2s}
.nav__links a:hover{color:var(--ink)}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}}

/* hero */
.hero{background:radial-gradient(900px 500px at 50% 0,#e9cdb8,transparent 70%);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:140px 24px 90px}
.hero h1{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(52px,10vw,132px);line-height:1;letter-spacing:-.02em;margin-bottom:34px;
  color:var(--ink)}
@keyframes shine{to{background-position:220% center}}
.hero__sub{color:var(--muted);font-size:15px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:54px}
.btn{position:relative;display:inline-block;padding:17px 44px;border-radius:60px;color:#fff;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  background:linear-gradient(120deg,#a8284a,var(--rose));box-shadow:0 10px 28px rgba(140,29,58,.35);transition:transform .25s,filter .25s}
.btn:hover{transform:translateY(-3px);filter:brightness(1.06)}
@keyframes pulse{70%{box-shadow:0 0 0 22px rgba(255,143,171,0),0 12px 36px rgba(255,143,171,.35)}100%{box-shadow:0 0 0 0 rgba(255,143,171,0),0 12px 36px rgba(255,143,171,.35)}}

/* sections */
.section{padding:140px 24px;text-align:center;scroll-margin-top:10px}
.soft{background:#f8f0e7}
.eyebrow{display:inline-flex;align-items:center;gap:14px;color:var(--rose);font-size:11px;letter-spacing:.35em;text-transform:uppercase;font-weight:400;margin-bottom:18px}
.eyebrow::before,.eyebrow::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--rose))}
.eyebrow::after{transform:scaleX(-1)}
.title{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(40px,6vw,76px);line-height:1.1;margin-bottom:72px}
.hint{color:var(--muted);font-size:14px;margin:-48px 0 54px}
.photo{overflow:hidden;position:relative;background:linear-gradient(135deg,#eadacb,#dcc2ad)}
.photo::after{content:"♡";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:54px;color:rgba(255,255,255,.75);z-index:0}
.photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}

/* about: arch photo with spinning glow */
.about__grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center;text-align:left}
.about__text p{font-size:17px;color:var(--muted);margin-bottom:24px}
.about__text p:first-child::first-letter{font-family:var(--serif);font-style:italic;font-size:78px;line-height:.8;float:left;padding:6px 14px 0 0;color:var(--rose)}
.about__frame{position:relative;padding:14px;border-radius:999px 999px 26px 26px;background:linear-gradient(160deg,#e8cf9f,#b8935a);box-shadow:0 24px 60px rgba(140,29,58,.25)}
.photo--tall{aspect-ratio:3/4.3;border-radius:999px 999px 14px 14px}

/* first date: tilted polaroid */
.date__grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;text-align:left}
.date__grid>.photo{background:#fff;padding:14px 14px 56px;border-radius:4px;transform:rotate(-3deg);box-shadow:0 24px 60px rgba(74,11,28,.2);transition:transform .5s}
.date__grid>.photo:hover{transform:rotate(0) scale(1.02)}
.date__grid>.photo::after{inset:14px 14px 56px;background:linear-gradient(135deg,#eadacb,#dcc2ad)}
.date__grid>.photo img{height:calc(100% - 0px)}
.photo--wide{aspect-ratio:4/3.4}
.pill{display:inline-block;border:1px solid var(--line);background:#fff;padding:11px 26px;border-radius:60px;font-size:13px;letter-spacing:.08em;font-weight:400;margin-bottom:28px;backdrop-filter:blur(8px)}
.date__text p{font-size:17px;color:var(--muted);margin-bottom:20px}

/* gallery: staggered */
.gallery{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.gallery .photo{aspect-ratio:3/4;border-radius:22px;border:1px solid var(--line);transition:transform .4s,box-shadow .4s}
.gallery .photo:nth-child(3n+2){transform:translateY(44px)}
.gallery .photo:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(43,35,38,.15)}
.gallery .photo:nth-child(3n+2):hover{transform:translateY(34px) scale(1.02)}

/* 100 reasons: glowing stars */
.cards{max-width:820px;margin:0 auto;display:grid;grid-template-columns:repeat(10,1fr);gap:10px}
.card{aspect-ratio:1;perspective:600px;cursor:pointer;border:none;background:none;font:inherit}
.card__in{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}
.card.open .card__in{transform:rotateY(180deg)}
.card__face{position:absolute;inset:0;border-radius:50%;display:flex;align-items:center;justify-content:center;backface-visibility:hidden}
.card__front{background:#fff;border:1px solid var(--line);color:var(--rose2);font-family:var(--serif);font-style:italic;font-size:17px;transition:.3s}
.card:hover .card__front{background:#efd9cf;transform:scale(1.1)}
.card__back{transform:rotateY(180deg);background:linear-gradient(135deg,#a8284a,var(--rose));color:#fff;font-size:16px}

.toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#fff;border:1px solid var(--line);color:var(--ink);
  border-radius:22px;padding:24px 36px;max-width:min(520px,90vw);box-shadow:0 20px 50px rgba(140,29,58,.3);font-family:var(--serif);font-style:italic;font-size:23px;transition:.35s;z-index:60}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* dreams */
.dreams{max-width:980px;margin:0 auto 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.dream{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:48px 26px;transition:transform .4s,box-shadow .4s,border-color .4s}
.dream:hover{transform:translateY(-8px);border-color:var(--rose);box-shadow:0 18px 40px rgba(140,29,58,.2)}
.dream__icon{font-size:46px;margin-bottom:20px}
.dream h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:28px;margin-bottom:12px}
.dream p{font-size:14px;color:var(--muted)}
.quote{max-width:860px;margin:0 auto;padding:70px 56px;border-radius:30px;position:relative;background:linear-gradient(#fffaf3,#f5e6d8) padding-box,linear-gradient(135deg,#b8935a,var(--rose2)) border-box;border:1.5px solid transparent;box-shadow:0 20px 50px rgba(140,29,58,.18)}
.quote::before{content:"“";position:absolute;top:-8px;left:34px;font-family:var(--serif);font-size:140px;line-height:1;color:var(--rose);opacity:.5}
.quote p{color:var(--ink);font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.8vw,32px);line-height:1.55;margin-bottom:28px}
.quote cite{color:var(--rose2);font-style:normal;font-weight:400;font-size:15px;letter-spacing:.1em}

.footer{text-align:center;padding:60px 24px 70px;color:var(--muted);font-size:14px}
.footer small{display:block;margin-top:10px;font-size:11px;opacity:.6}

.reveal{opacity:0;transform:translateY(40px) scale(.98);filter:blur(6px);transition:opacity 1s ease,transform 1s ease,filter 1s ease}
.reveal.in{opacity:1;transform:none;filter:none}

/* gate */
body.locked{overflow:hidden}
.gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;
  background:linear-gradient(180deg,#efd9c9,#f8f0e7);transition:opacity .9s,visibility .9s}
.gate.hide{opacity:0;visibility:hidden}
.gate__box{background:#fff;border:1px solid var(--line);border-radius:30px;padding:54px 42px;max-width:400px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(140,29,58,.25)}
.gate__heart{font-size:34px;color:var(--rose);margin-bottom:10px}
.gate__box h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:38px;margin-bottom:8px}
.gate__box p{color:var(--muted);font-size:14px;margin-bottom:28px}
.gate__box input{width:100%;padding:15px 18px;border:1px solid var(--line);border-radius:60px;font:inherit;font-size:19px;text-align:center;letter-spacing:.1em;background:#fffaf3;color:var(--ink);outline:none;margin-bottom:20px;transition:.2s}
.gate__box input:focus{border-color:var(--rose)}
.gate__box .btn{border:none;cursor:pointer;font-family:inherit}
.gate__err{min-height:22px;margin-top:14px;color:var(--rose);font-size:13px}
.gate__box.shake{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}

/* world story */
.world .title{margin-bottom:48px}
.story{position:relative;max-width:380px;aspect-ratio:9/16;margin:0 auto;border-radius:28px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(43,35,38,.25);outline:none;touch-action:pan-y}
.story__slides{display:flex;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.slide{flex:0 0 100%;position:relative;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide span{position:relative;z-index:2;color:#f5d98a;font-size:15px;font-weight:400;letter-spacing:.04em;text-align:center;padding:0 56px;text-shadow:0 2px 12px rgba(0,0,0,.8);opacity:0;transform:translateY(10px);transition:.8s .3s}
.slide.on span{opacity:1;transform:none}
.slide::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25)}
.s-earth{background:radial-gradient(ellipse 140% 55% at 50% 118%,#3b3326 0 35%,#9b7c3c 36%,#1b1710 37%,transparent 55%),radial-gradient(circle at 30% 20%,#1a1d2e,#050508 70%)}
.s-seas{background:linear-gradient(180deg,#0b1118,#0f1b25 50%,#05080b)}
.s-cont{background:radial-gradient(circle at 35% 55%,#3a2f17,#0a0a0a 65%)}
.s-countries{background:linear-gradient(135deg,#0b0b0b,#2a2418 60%,#080808)}
.s-people{background:radial-gradient(circle at 50% 50%,#2b1f14,#050505 70%)}
.s-you{background:linear-gradient(160deg,#2a1f18,#0d0907)}
.story__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.18);color:#fff;font-size:22px;line-height:1;cursor:pointer;backdrop-filter:blur(6px)}
.story__prev{left:10px}.story__next{right:10px}
.story__nav:disabled{opacity:.25;cursor:default}
.story__dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:7px;padding:8px 12px;border-radius:20px;background:rgba(0,0,0,.35)}
.story__dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);transition:.3s}
.story__dots i.on{background:#fff}
.story__hint{margin:28px 0 0}

@media(max-width:800px){
  .nav__inner{gap:12px;padding:9px 16px}
  .nav__links{gap:10px;font-size:9px;letter-spacing:.02em}
  .about__grid,.date__grid{grid-template-columns:1fr;gap:50px}
  .dreams{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .gallery .photo:nth-child(3n+2){transform:none}
  .gallery .photo:nth-child(even){transform:translateY(30px)}
  .cards{grid-template-columns:repeat(6,1fr);gap:7px}
  .card__front{font-size:13px}
  .section{padding:96px 20px}
  .quote{padding:56px 26px}
}

/* ===== Плавность анимаций ===== */
:root{--ease:cubic-bezier(.22,.61,.36,1);--ease-io:cubic-bezier(.65,0,.35,1)}
.reveal{opacity:0;transform:translate3d(0,34px,0);filter:none;will-change:opacity,transform;
  transition:opacity 1.3s var(--ease),transform 1.3s var(--ease);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
.btn{transition:transform .5s var(--ease),filter .5s var(--ease),box-shadow .5s var(--ease)}
.nav__links a{transition:color .5s var(--ease)}
.dream{transition:transform .7s var(--ease),box-shadow .7s var(--ease),border-color .7s var(--ease)}
.gallery .photo{transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.date__grid>.photo{transition:transform 1s var(--ease)}
.card__in{transition:transform .9s var(--ease-io)}
.card__front{transition:background .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease)}
.toast{transition:opacity .6s var(--ease),transform .6s var(--ease)}
.gate{transition:opacity 1.4s var(--ease),visibility 1.4s}
.gate__box{transition:transform .6s var(--ease)}
.gate__box input{transition:border-color .4s var(--ease)}
.story__slides{transition:transform .95s var(--ease-io)}
.slide span{transition:opacity 1.1s var(--ease) .35s,transform 1.1s var(--ease) .35s}
.story__nav{transition:opacity .4s var(--ease),background .4s var(--ease)}
.story__nav:hover:not(:disabled){background:rgba(255,255,255,.32)}
.story__dots i{transition:background .6s var(--ease),transform .6s var(--ease)}
.story__dots i.on{transform:scale(1.35)}
#progress{transition:width .25s linear}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* video */
.video .eyebrow{margin-bottom:44px}
.player{position:relative;max-width:900px;margin:0 auto;border-radius:28px;overflow:hidden;background:#000;box-shadow:0 30px 70px rgba(74,11,28,.28);aspect-ratio:16/9}
.player video{width:100%;height:100%;display:block;object-fit:cover;background:#000}
.player__play{position:absolute;inset:0;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(60,20,35,.35));transition:opacity .8s var(--ease),visibility .8s}
.player__play span{width:86px;height:86px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:6px;font-size:28px;color:var(--rose2);background:rgba(255,255,255,.9);box-shadow:0 12px 40px rgba(0,0,0,.25);transition:transform .6s var(--ease)}
.player__play:hover span{transform:scale(1.1)}
.player.playing .player__play{opacity:0;visibility:hidden}
.player__hint{margin:28px 0 0}
@media(max-width:800px){.player{border-radius:18px}.player__play span{width:68px;height:68px;font-size:22px}}

/* ===== Богатая палитра: бордо, слоновая кость, старое золото ===== */
.nav__inner{background:rgba(248,240,231,.88)}
.nav__logo{color:var(--rose)}
.btn{background:linear-gradient(120deg,#a8284a,#7a1530);color:#f8ecd9;box-shadow:0 12px 30px rgba(94,15,38,.35)}
.eyebrow{color:var(--gold)}
.eyebrow::before,.eyebrow::after{background:linear-gradient(90deg,transparent,var(--gold))}
.title{color:var(--rose2)}
.about__text p:first-child::first-letter{color:var(--gold)}
.pill{color:var(--rose2)}

/* тёмные «бархатные» секции: главная, свидание, будущее */
.hero,.soft{
  --ink:#f6ebe0; --muted:#dcbfb6; --line:rgba(214,175,130,.32);
  color:var(--ink)}
.hero{background:radial-gradient(900px 520px at 50% 0,rgba(184,147,90,.22),transparent 70%),linear-gradient(180deg,#3d0a1a,#5e0f26 55%,#4a0b1c)}
.hero h1{color:#f8ecd9}
.hero__sub{color:#d9b98a}
.hero .btn{background:linear-gradient(120deg,#e3c48d,#b8935a);color:#3a0a18;box-shadow:0 12px 34px rgba(0,0,0,.35)}
.soft{background:linear-gradient(180deg,#4a0b1c,#5e0f26 50%,#4a0b1c)}
.soft .title{color:#f8ecd9}
.soft .eyebrow{color:#d9b98a}
.soft .eyebrow::before,.soft .eyebrow::after{background:linear-gradient(90deg,transparent,#d9b98a)}
.soft .pill{background:rgba(255,255,255,.08);color:#f8ecd9;border-color:var(--line)}
.soft .dream{background:rgba(255,255,255,.06);border-color:var(--line);backdrop-filter:blur(6px)}
.soft .dream:hover{border-color:#d9b98a;box-shadow:0 18px 44px rgba(0,0,0,.35)}
.soft .dream h3{color:#f8ecd9}
.quote{background:linear-gradient(135deg,#7a1530,#4a0b1c) padding-box,linear-gradient(135deg,#e3c48d,#b8935a) border-box;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.quote p{color:#f8ecd9}
.quote cite{color:#d9b98a}
.quote::before{color:#d9b98a}

/* карточки причин и прочее */
.card__front{color:var(--rose)}
.card:hover .card__front{background:#efd9cf}
.card__back{background:linear-gradient(135deg,#a8284a,#7a1530);color:#f8ecd9}
.toast{border-color:rgba(184,147,90,.5);box-shadow:0 20px 50px rgba(74,11,28,.35)}
.arch,.about__frame{box-shadow:0 24px 60px rgba(94,15,38,.28)}
.player{box-shadow:0 30px 70px rgba(74,11,28,.4)}
.player__play span{color:var(--rose)}
#progress{background:linear-gradient(90deg,#b8935a,#8c1d3a)}
.footer{color:var(--muted)}

/* экран пароля */
.gate{background:radial-gradient(800px 500px at 50% 25%,#7a1530,#2a0610)}
.gate__box{background:#f8f0e7;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.gate__box h2{color:var(--rose2)}
.gate__heart{color:var(--rose)}
.gate__err{color:var(--rose)}

/* ===== Нежная и богатая: румяная пудра, глубокая розово-красная, шампань ===== */
:root{
  --bg:#fbf1ee; --bg2:#fffaf7; --rose:#a02c4a; --rose2:#6f1530; --gold:#c19a5b;
  --ink:#3a1f27; --muted:#7a5d63; --glass:rgba(255,250,247,.78); --line:rgba(160,44,74,.2);
}
body{background:var(--bg)}
.hero,.soft{--ink:#3a1f27;--muted:#7a5d63;--line:rgba(160,44,74,.2);color:var(--ink)}
.nav__inner{background:rgba(255,248,244,.88)}
.hero{background:radial-gradient(760px 460px at 50% 8%,rgba(193,154,91,.24),transparent 70%),radial-gradient(900px 600px at 15% 90%,rgba(231,150,165,.28),transparent 70%),linear-gradient(180deg,#f7d9dc,#fbe6e4 60%,#fbf1ee)}
.hero h1{color:#7a1c38}
.hero__sub{color:#a37d43}
.hero .btn,.btn{background:linear-gradient(120deg,#b8365a,#8a1f3c);color:#fff3e8;box-shadow:0 12px 30px rgba(138,31,60,.32)}
.soft{background:linear-gradient(180deg,#fbf1ee,#f6dde0 50%,#fbf1ee)}
.soft .title,.title{color:var(--rose2)}
.eyebrow,.soft .eyebrow{color:var(--gold)}
.eyebrow::before,.eyebrow::after,.soft .eyebrow::before,.soft .eyebrow::after{background:linear-gradient(90deg,transparent,var(--gold))}
.soft .pill,.pill{background:#fffaf7;color:var(--rose2);border-color:rgba(193,154,91,.45)}
.soft .dream,.dream{background:#fffaf7;border-color:rgba(193,154,91,.35);backdrop-filter:none}
.soft .dream:hover,.dream:hover{border-color:var(--rose);box-shadow:0 18px 40px rgba(160,44,74,.18)}
.soft .dream h3,.dream h3{color:var(--rose2)}
.quote{background:linear-gradient(135deg,#a8304f,#6f1530) padding-box,linear-gradient(135deg,#e6c98f,#c19a5b) border-box;box-shadow:0 24px 60px rgba(111,21,48,.32)}
.card__front{color:var(--rose);background:#fffaf7}
.card:hover .card__front{background:#fbe1e4}
.card__back{background:linear-gradient(135deg,#c24566,#8a1f3c);color:#fff3e8}
.about__frame{background:linear-gradient(160deg,#f4dcb0,#c19a5b);box-shadow:0 24px 60px rgba(160,44,74,.22)}
.photo{background:linear-gradient(135deg,#f6dcde,#e9bcc4)}
.date__grid>.photo::after{background:linear-gradient(135deg,#f6dcde,#e9bcc4)}
.date__grid>.photo{box-shadow:0 24px 60px rgba(111,21,48,.22)}
.toast{border-color:rgba(193,154,91,.5);box-shadow:0 20px 50px rgba(160,44,74,.28)}
.player{box-shadow:0 30px 70px rgba(111,21,48,.35)}
.gate{background:radial-gradient(800px 500px at 50% 20%,#fbe3e4,#f2c4cb)}
.gate__box{background:#fffaf7;box-shadow:0 30px 70px rgba(138,31,60,.25)}

/* ===== Без золота: спокойнее и проще ===== */
:root{--gold:#a8566b}
.eyebrow,.soft .eyebrow{color:#a8566b}
.eyebrow::before,.eyebrow::after,.soft .eyebrow::before,.soft .eyebrow::after{background:linear-gradient(90deg,transparent,rgba(160,44,74,.45))}
.hero__sub{color:#8a6a70}
.about__text p:first-child::first-letter{color:var(--rose)}
/* «О нас»: простая скруглённая рамка вместо золотой арки */
.about__frame{padding:10px;border-radius:22px;background:#f1d3d8;box-shadow:0 18px 40px rgba(111,21,48,.14)}
.photo--tall{border-radius:14px;aspect-ratio:3/4}
.photo{border-radius:0}
.pill,.soft .pill{border-color:rgba(160,44,74,.22)}
.dream,.soft .dream{border-color:rgba(160,44,74,.14)}
.quote{background:linear-gradient(135deg,#a8304f,#6f1530);border:none;box-shadow:0 18px 44px rgba(111,21,48,.28)}
.quote::before,.quote cite{color:#f3cfd6}
.toast{border-color:rgba(160,44,74,.18)}
.hero{background:radial-gradient(900px 600px at 15% 90%,rgba(231,150,165,.25),transparent 70%),linear-gradient(180deg,#f7dcdf,#fbe9e7 60%,#fbf1ee)}
.date__grid>.photo{box-shadow:0 16px 40px rgba(111,21,48,.18)}
#progress{background:var(--rose)}

/* ===== Тексты: блок «Будущее» и подпись к видео ===== */
.dreams{grid-template-columns:1fr;max-width:820px;gap:22px;text-align:left}
.dream{display:flex;gap:30px;align-items:flex-start;padding:38px 40px}
.dream__icon{flex:0 0 auto;width:78px;height:78px;margin:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0;
  color:var(--rose);background:linear-gradient(145deg,#fdeeee,#f4d3d9);box-shadow:inset 0 0 0 1px rgba(160,44,74,.18)}
.dream__icon svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.dream__body h3{margin-bottom:14px;font-size:30px}
.dream__body p{font-size:15.5px;line-height:1.85;color:var(--muted);margin-bottom:14px}
.dream__body p:last-child{margin-bottom:0}
.player__note{max-width:640px;margin:34px auto 0}
.player__note p{font-size:16px;color:var(--muted);margin-bottom:14px}
.player__note cite{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--rose);font-style:italic}
.about__text p{font-size:16px}
@media(max-width:800px){.dream{flex-direction:column;gap:20px;padding:30px 24px}}

/* ===== Моменты: 4 фото ===== */
.gallery{max-width:760px;grid-template-columns:repeat(2,1fr);gap:24px}
.gallery .photo,.gallery .photo:nth-child(3n+2){aspect-ratio:3/4;transform:none;border-radius:16px;border:none;box-shadow:0 16px 40px rgba(111,21,48,.14)}
.gallery .photo:nth-child(even){transform:translateY(40px)}
.gallery .photo:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(111,21,48,.2)}
.gallery .photo:nth-child(even):hover{transform:translateY(34px)}
.gallery .photo:nth-child(1) img{object-position:40% 35%}
.gallery .photo:nth-child(2) img{object-position:45% 45%}
.moments__note{max-width:560px;margin:110px auto 0;font-family:var(--serif);font-style:italic;font-size:clamp(22px,3vw,30px);line-height:1.5;color:var(--rose2)}
@media(max-width:800px){.gallery{gap:14px}.gallery .photo:nth-child(even){transform:translateY(24px)}.gallery .photo:nth-child(even):hover{transform:translateY(18px)}.moments__note{margin-top:70px}}

/* ===== «Первое свидание» без фото; «О нас» с общим фото ===== */
.date__grid{grid-template-columns:1fr;max-width:680px;text-align:center;gap:0}
.date__text{text-align:center}
.date__text p{font-size:17px}
.about__frame .photo img{object-position:50% 22%}

/* «О нас»: округлые углы у фото и рамки */
.about__frame{border-radius:28px;padding:12px}
.about__frame .photo,.about__frame .photo--tall{border-radius:18px;overflow:hidden}
.about__frame .photo img{border-radius:18px}
