/* ===== Nonna Sitter — styles ===== */
:root{
  --plum:#5E3A56;
  --plum-dark:#4A2C44;
  --plum-soft:#7C5A74;
  --gold:#B8895A;
  --gold-soft:#C9A77F;
  --cream:#FBF7F2;
  --cream-2:#F6F0E8;
  --lav:#F2EAF0;        /* lavanda chiaro per header weekend */
  --gold-bg:#F7F0E6;    /* beige per header festivi */
  --card:#FFFFFF;
  --ink:#5A4F56;
  --ink-soft:#8B7E86;
  --line:#ECE3D9;
  --shadow:0 18px 50px rgba(74,44,68,.10);
  --shadow-sm:0 8px 22px rgba(74,44,68,.07);
  --radius:20px;
  --radius-sm:14px;
  --maxw:1160px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Poppins',system-ui,Arial,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.18;margin:0}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.text-gold{color:var(--gold)}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:'Poppins',sans-serif;font-weight:500;font-size:.9rem;
  padding:13px 24px;border-radius:40px;border:1.6px solid transparent;
  cursor:pointer;transition:.2s ease;line-height:1;white-space:nowrap;
}
.btn--solid{background:var(--plum);color:#fff;box-shadow:0 8px 20px rgba(94,58,86,.25)}
.btn--solid:hover{background:var(--plum-dark);transform:translateY(-1px)}
.btn--outline{background:var(--plum);color:#fff;border-color:var(--plum);font-size:.82rem;padding:11px 20px}
.btn--outline:hover{background:var(--plum-dark);border-color:var(--plum-dark)}
.btn--gold{background:var(--gold);color:#fff;box-shadow:0 8px 20px rgba(184,137,90,.3)}
.btn--gold:hover{background:#a5774a;transform:translateY(-1px)}

/* ===== Header ===== */
.header{
  position:sticky;top:0;z-index:50;background:rgba(251,247,242,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.logo{display:flex;align-items:center;gap:12px}
.logo__mark{width:46px;height:46px;border-radius:50%;background:var(--plum);display:grid;place-items:center;flex:none;box-shadow:0 4px 12px rgba(94,58,86,.2)}
.logo__text{display:flex;flex-direction:column;line-height:1.15}
.logo__name{font-family:'Playfair Display',serif;font-weight:700;color:var(--plum);font-size:1.35rem;letter-spacing:1.5px}
.logo__tag{font-size:.88rem;color:var(--gold);font-weight:400;letter-spacing:.3px;font-style:italic}
.nav{display:flex;align-items:center;gap:26px}
.nav__link{font-size:.88rem;color:var(--ink);font-weight:400;position:relative;transition:color .2s}
.nav__link:hover{color:var(--plum)}
.nav__link::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--gold);transition:width .25s}
.nav__link:hover::after{width:100%}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:2px;background:var(--plum);border-radius:2px;transition:.3s}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== Hero ===== */
.hero{background:linear-gradient(180deg,var(--cream) 0%,#F3EBF0 100%);padding:60px 0 76px;overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero__title{font-size:3.05rem;color:var(--plum);margin-bottom:24px;font-weight:700;letter-spacing:-.5px}
.hero__lead{font-size:.98rem;color:var(--ink-soft);max-width:470px;margin:0 0 16px;font-weight:300}
.hero .btn{margin-top:12px}
.hero__media{position:relative}
.hero__media img{border-radius:24px;box-shadow:var(--shadow);width:100%;height:auto;object-fit:cover;aspect-ratio:6/5}

/* ===== Section heads ===== */
.section{padding:74px 0}
.section--alt{background:var(--cream-2)}
.sect-head{text-align:center;margin-bottom:50px}
.sect-heart{display:block;color:var(--gold);font-size:.95rem;margin-bottom:10px}
.sect-title{
  display:inline-flex;align-items:center;justify-content:center;gap:20px;
  color:var(--plum);font-size:1.55rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;
}
.sect-rule{width:46px;height:1px;background:var(--gold);opacity:.55;flex:none}

.grid{display:grid;gap:24px}
.grid--6{grid-template-columns:repeat(6,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}

/* ===== Service dividers ===== */
.grid--dividers .feature{
  position:relative;
}
.grid--dividers .feature:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;top:10%;
  width:1px;height:80%;
  background:linear-gradient(to bottom,transparent,var(--line) 30%,var(--line) 70%,transparent);
}
@media(max-width:980px){
  .grid--dividers .feature:nth-child(3n)::after{display:none}
}
@media(max-width:560px){
  .grid--dividers .feature::after{display:none}
}

/* ===== Feature cards ===== */
.feature{text-align:center;padding:8px 6px}
.feature__icon{width:84px;height:84px;border-radius:50%;background:#F3EBE1;display:grid;place-items:center;margin:0 auto 18px;transition:.25s}
.section--alt .feature__icon{background:var(--cream)}
.feature:hover .feature__icon{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.feature__icon svg{width:40px;height:40px}
.feature__icon--round{background:#F3EBE1}
.feature__title{font-size:1.02rem;color:var(--plum);margin-bottom:10px;font-weight:600}
.feature__text{font-size:.82rem;color:var(--ink-soft);margin:0;line-height:1.55}
.feature--why .feature__text{font-size:.84rem;color:var(--ink)}

/* ===== Packages ===== */
.packages{align-items:stretch;gap:28px}
.package{
  background:var(--card);border-radius:var(--radius);
  box-shadow:0 8px 32px rgba(94,58,86,.09);
  overflow:hidden;display:flex;flex-direction:column;
  border:1.5px solid var(--line);
}

/* Header */
.package__head{display:flex;align-items:center;gap:18px;padding:24px 28px;background:var(--lav)}
.package__head--gold{background:var(--gold-bg)}

/* Иконка — круг */
.package__icon{
  width:62px;height:62px;border-radius:50%;background:var(--plum);
  display:grid;place-items:center;flex:none;
  box-shadow:0 6px 16px rgba(94,58,86,.28);
}
.package__icon--gold{background:var(--gold);box-shadow:0 6px 16px rgba(184,137,90,.32)}

.package__title{font-size:1.28rem;color:var(--plum);letter-spacing:.5px;font-weight:700;line-height:1.1}
.package__head--gold .package__title{color:var(--gold)}
.package__subtitle{font-size:.83rem;color:var(--ink-soft);font-style:italic;margin:4px 0 0}

/* Body */
.package__body{padding:26px 28px;flex:1}

/* Formula grid (2 cols) */
.formulas{display:grid;grid-template-columns:1fr 1fr;gap:28px}

/* Formula labels */
.formula__name{font-size:.88rem;color:var(--plum);letter-spacing:1.2px;margin-bottom:5px;font-weight:700;text-transform:uppercase}
.formula__name--gold{color:var(--gold)}
.formula__meta{font-size:.8rem;color:var(--ink-soft);margin:0 0 14px;font-weight:400;line-height:1.45}
.formula__meta--label{color:var(--plum);font-weight:600;font-size:.82rem;margin-bottom:10px}

/* Calendario S/D */
.cal-illus{margin:12px 0 10px}
.formula__total{font-size:.98rem;color:var(--ink);font-weight:600;margin:0 0 8px}
.formula__note{font-size:.8rem;color:var(--ink-soft);margin:0;line-height:1.5}

/* Festivo 2 colonne */
.festivo-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.festivo-left{text-align:center}
.clock-illus{margin:14px auto 0;display:flex;justify-content:center}

/* Ticklist */
.ticklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ticklist li{position:relative;padding-left:26px;font-size:.83rem;color:var(--ink);line-height:1.4}
.ticklist li::before{
  content:"";position:absolute;left:0;top:2px;
  width:17px;height:17px;border-radius:50%;background:var(--plum);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
  background-size:11px;background-position:center;background-repeat:no-repeat;
}
.ticklist .ticklist__label{font-weight:700;color:var(--plum);padding-left:0}
.ticklist .ticklist__label::before{display:none}
.ticklist--gold li::before{background-color:var(--gold)}
.ticklist--gold li{font-weight:400}
.ticklist--gold .ticklist__label--gold{
  font-weight:700;color:var(--plum);padding-left:0;font-size:.84rem;
}
.ticklist--gold .ticklist__label--gold::before{display:none}

/* Footer */
.package__foot{
  display:flex;align-items:center;gap:12px;
  padding:16px 28px;background:var(--lav);color:var(--plum);
  font-size:.82rem;font-weight:500;border-top:1.5px solid var(--line);
}
.package__foot--gold{background:var(--gold-bg);color:var(--gold)}

/* ===== CTA banner ===== */
.cta{padding:30px 0 70px}
.cta__inner{
  background:linear-gradient(135deg,var(--plum) 0%,var(--plum-dark) 100%);color:#fff;
  border-radius:var(--radius);padding:36px 44px;
  display:flex;align-items:center;gap:0;
  box-shadow:var(--shadow);
}
/* Левая группа: фото + текст + сердечко + подпись */
.cta__left{display:flex;align-items:center;gap:28px;flex:1;min-width:0}
.cta__media{flex:none}
.cta__media img{width:130px;height:130px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.2)}
.cta__text{flex:1}
.cta__lead{
  font-family:'Playfair Display',serif;font-size:1.35rem;font-style:italic;
  margin:0 0 14px;line-height:1.4;font-weight:600;
}
/* Разделитель с сердечком внутри текстового блока */
.cta__sep{
  display:flex;align-items:center;gap:12px;margin-bottom:10px;
}
.cta__sep::before,.cta__sep::after{
  content:"";flex:1;height:1px;background:rgba(255,255,255,.25);
}
.cta__sep-heart{color:var(--gold);font-size:.85rem;flex:none}
.cta__sub{margin:0;font-size:.9rem;color:rgba(255,255,255,.85);font-style:italic;text-align:center}
/* Вертикальный разделитель */
.cta__divider{width:1px;align-self:stretch;background:rgba(255,255,255,.22);margin:0 40px;flex:none}
/* Правая группа: контакты */
.cta__actions{display:flex;flex-direction:column;gap:16px;align-items:flex-start;flex:none}
.cta__contact{display:inline-flex;align-items:center;gap:11px;font-size:.97rem;color:#fff;font-weight:400}
.cta__contact:hover{color:var(--gold-soft)}
.cta__contact svg{color:var(--gold-soft)}
.cta__lead{font-family:'Playfair Display',serif;font-size:1.45rem;margin:0 0 8px;line-height:1.35;font-weight:600}
.cta__sub{margin:0;font-size:.9rem;color:rgba(255,255,255,.78);font-style:italic}
.cta__actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;flex:none}
.cta__contact{display:inline-flex;align-items:center;gap:11px;font-size:.98rem;color:#fff;font-weight:400}
.cta__contact:hover{color:var(--gold-soft)}
.cta__contact svg{color:var(--gold-soft)}

/* ===== Footer ===== */
.footer{background:var(--cream-2);padding:50px 0 0;border-top:1px solid var(--line)}
.footer__inner{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:0}
.footer__inner > *{padding:0 32px}
.footer__inner > *:first-child{padding-left:0}
.footer__inner > *:last-child{padding-right:0}
.footer__inner > * + *{border-left:1px solid var(--line)}
.footer__brand{display:flex;flex-direction:column;gap:8px}
.footer__name{font-family:'Playfair Display',serif;font-weight:700;color:var(--plum);font-size:1.15rem;letter-spacing:1px}
.footer__tag{font-size:.72rem;color:var(--gold);font-style:italic}
.footer__heading{font-size:.8rem;color:var(--plum);letter-spacing:1.5px;margin-bottom:16px;font-weight:700}
.footer__col a,.footer__place{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink-soft);margin-bottom:11px}
.footer__col a:hover{color:var(--plum)}
.footer__social{display:flex;gap:12px}
.social{width:40px;height:40px;border-radius:50%;background:var(--plum);color:#fff;display:grid;place-items:center;transition:.2s}
.social:hover{background:var(--gold);transform:translateY(-2px)}
.footer__bottom{margin-top:44px;border-top:1px solid var(--line);padding:20px 0;font-size:.76rem;color:var(--ink-soft);text-align:center}
.footer__tagline{
  background:var(--plum);color:#fff;
  text-align:center;padding:18px 24px;
  font-family:'Playfair Display',serif;font-size:1.08rem;font-style:italic;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.footer__tagline-heart{color:var(--gold);font-style:normal;font-size:.9rem}

/* ===== Modal form ===== */
.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.is-open{display:block}
.modal__overlay{position:absolute;inset:0;background:rgba(48,28,44,.55);backdrop-filter:blur(3px)}
.modal__dialog{position:relative;max-width:480px;margin:6vh auto;background:#fff;border-radius:var(--radius);
  box-shadow:var(--shadow);padding:36px 32px;animation:pop .25s ease}
@keyframes pop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.modal__close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:1.7rem;color:var(--ink-soft);cursor:pointer;line-height:1}
.modal__title{color:var(--plum);font-size:1.55rem;margin-bottom:6px}
.modal__sub{font-size:.86rem;color:var(--ink-soft);margin:0 0 20px}
.form{display:grid;gap:14px}
.form__field{display:grid;gap:6px}
.form__field span{font-size:.78rem;color:var(--plum);font-weight:600}
.form__field input,.form__field textarea{
  font-family:inherit;font-size:.92rem;padding:12px 15px;border:1.5px solid var(--line);
  border-radius:var(--radius-sm);background:var(--cream);color:var(--ink);transition:border-color .2s;
}
.form__field input:focus,.form__field textarea:focus{outline:none;border-color:var(--gold)}
.form__field textarea{resize:vertical}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form__submit{justify-content:center;margin-top:4px}
.form__status{font-size:.85rem;margin:4px 0 0;min-height:1.1em}
.form__status.is-ok{color:#2e7d4f}
.form__status.is-err{color:#c0392b}

/* ===== Responsive ===== */
@media (max-width:980px){
  .grid--6{grid-template-columns:repeat(3,1fr)}
  .hero__title{font-size:2.5rem}
}
@media (max-width:820px){
  .nav{position:fixed;inset:68px 0 auto 0;flex-direction:column;gap:0;background:var(--cream);
    border-bottom:1px solid var(--line);padding:10px 24px 24px;display:none;box-shadow:var(--shadow-sm)}
  .nav.is-open{display:flex}
  .nav__link{width:100%;padding:13px 0;border-bottom:1px solid var(--line)}
  .nav .btn{width:100%;justify-content:center;margin-top:14px}
  .nav-toggle{display:flex}
  .hero__inner{grid-template-columns:1fr;gap:36px}
  .hero__media{order:-1}
  .formulas{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr 1fr}
  .cta__inner{padding:30px}
}
@media (max-width:560px){
  .grid--6{grid-template-columns:repeat(2,1fr)}
  .grid--2{grid-template-columns:1fr}
  .hero__title{font-size:2.1rem}
  .section{padding:54px 0}
  .sect-title{font-size:1.25rem;letter-spacing:2px;gap:12px}
  .sect-rule{width:26px}
  .cta__inner{flex-direction:column;text-align:center}
  .cta__actions{align-items:center;width:100%}
  .cta__text{text-align:center}
  .footer__brand{grid-column:1/-1}
}
