
  :root{
    --wine-deep:#3E1522;
    --wine:#5B1F32;
    --gold:#B98A2F;
    --gold-light:#E3C777;
    --cream:#F7F1E8;
    --blush:#F2E3E8;
    --paper:#FBF8F3;
    --ink:#2B2320;
    --ink-soft:#7A6B62;
    --line:#E3D9C8;
  }

  body{
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.65;
    font-size:1.05rem;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,.font-serif{
    font-family:'Fraunces',serif;
    font-weight:600;
    line-height:1.12;
    letter-spacing:-0.01em;
  }
  p{max-width:62ch;}

  /* --- Bootstrap overrides --- */
  .btn{border-radius:0;font-weight:600;padding:.75rem 1.75rem;font-size:.98rem;}
  .btn-wine{background:var(--wine);border-color:var(--wine);color:#fff;}
  .btn-wine:hover{background:var(--wine-deep);border-color:var(--wine-deep);color:#fff;}
  .btn-outline-wine{border-color:var(--wine);color:var(--wine);background:transparent;}
  .btn-outline-wine:hover{background:var(--wine);color:#fff;}
  .btn-gold{background:var(--gold);border-color:var(--gold);color:var(--wine-deep);}
  .btn-gold:hover{background:#a87a26;border-color:#a87a26;color:var(--wine-deep);}
  .btn-outline-gold-light{border-color:var(--gold-light);color:#fff;background:transparent;}
  .btn-outline-gold-light:hover{background:var(--gold-light);color:var(--wine-deep);}

  .text-wine{color:var(--wine)!important;}
  .text-gold{color:var(--gold)!important;}
  .text-gold-light{color:var(--gold-light)!important;}
  .text-ink-soft{color:var(--ink-soft)!important;}
  .text-blush{color:var(--blush)!important;}
  .bg-wine{background:var(--wine)!important;}
  .bg-wine-deep{background:var(--wine-deep)!important;}
  .bg-blush{background:var(--blush)!important;}
  .bg-paper{background:var(--paper)!important;}
  .border-line{border-color:var(--line)!important;}

  .section{padding:clamp(64px,10vw,120px) 0;}
  .eyebrow{font-size:.85rem;font-weight:600;letter-spacing:.04em;color:var(--gold);text-transform:lowercase;}

  /* --- Images --- */
  img.img-fluid{border-radius:0;}
  .img-frame{overflow:hidden;}
  .img-frame img{width:100%;height:100%;object-fit:cover;display:block;}
  .ratio-3x4{aspect-ratio:3/4;}
  .ratio-16x9{aspect-ratio:16/9;}
  .ratio-4x3{aspect-ratio:4/3;}
  .ratio-1x1{aspect-ratio:1/1;}
  .avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;}

  /* --- Hero --- */
  .hero h1{font-size:clamp(2.6rem,6vw,4.6rem);color:var(--wine);}
  .hero .lede{font-size:1.2rem;max-width:44ch;}
  .hero .side-quote{
    font-family:'Fraunces',serif;font-style:italic;font-weight:400;
    font-size:1.3rem;color:var(--wine);
    border-left:2px solid var(--gold);padding-left:1.4rem;
  }
  .hero .credentials{border-top:1px solid var(--line);padding-top:1rem;max-width:38ch;font-size:.92rem;color:var(--ink-soft);}

  /* --- Hero animation --- */
  .hero h1,.hero .lede,.hero .cta-row,.hero .credentials{
    opacity:0;transform:translateY(14px);
    animation:rise .7s ease forwards;
  }
  .hero .lede{animation-delay:.12s;}
  .hero .cta-row{animation-delay:.22s;}
  .hero .credentials{animation-delay:.3s;}
  @keyframes rise{to{opacity:1;transform:translateY(0);}}
  @media (prefers-reduced-motion: reduce){
    .hero h1,.hero .lede,.hero .cta-row,.hero .credentials{animation:none;opacity:1;transform:none;}
  }

  /* --- Pain list --- */
  .pain-item{border-bottom:1px solid var(--line);padding:1.6rem 0;}
  .pain-item:first-child{border-top:1px solid var(--line);}
  .pain-item p{font-size:1.15rem;margin:0;max-width:52ch;}

  /* --- Dark section --- */
  .dark-section p{color:#E9DEDD;}
  .pull-quote{
    font-family:'Fraunces',serif;font-style:italic;font-weight:400;
    font-size:clamp(1.4rem,3vw,1.9rem);color:#fff;max-width:32ch;line-height:1.4;
  }
  .term-box{border:1px solid rgba(227,199,119,.45);padding:2rem clamp(1.25rem,4vw,2.5rem);max-width:640px;}
  .term-box .word{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;color:var(--gold-light);}
  .term-box .pron{font-size:.9rem;color:#C9B8AE;margin-left:.6rem;}

  /* --- Path (structure) --- */
  .path{position:relative;margin-top:3.5rem;}
  .path::before{
    content:"";position:absolute;left:29px;top:14px;bottom:14px;width:1px;
    background:linear-gradient(to bottom, var(--gold), var(--line));
  }
  .block{position:relative;padding-left:84px;padding-bottom:3.25rem;}
  .block:last-child{padding-bottom:0;}
  .block .num{
    position:absolute;left:0;top:-4px;width:60px;height:60px;border-radius:50%;
    border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-size:1.3rem;color:var(--wine);background:var(--cream);
  }
  .block h3{font-size:1.4rem;color:var(--wine);}

  /* --- Format cards --- */
  .format-group{background:var(--paper);}
  .format-vip{background:var(--wine-deep);color:#fff;}
  .format-vip h3{color:var(--gold-light);}
  .format-vip .price{color:#fff;}
  .format-group .price,.format-vip .price{font-family:'Fraunces',serif;font-size:2.1rem;margin:.75rem 0 1.4rem;}
  .format-group .price{color:var(--wine);}
  .format-list li{padding:.75rem 0;border-top:1px solid var(--line);font-size:.98rem;list-style:none;}
  .format-list li:first-child{border-top:none;}
  .format-vip .format-list li{border-top:1px solid rgba(255,255,255,.15);color:#E9DEDD;}

  /* --- About facts --- */
  .fact{border-bottom:1px solid var(--line);padding:1.1rem 0;}
  .fact:first-child{border-top:1px solid var(--line);}
  .fact .n{font-family:'Fraunces',serif;font-size:1.8rem;color:var(--wine);}
  .fact .l{font-size:.9rem;color:var(--ink-soft);margin-top:2px;}

  /* --- Testimonials --- */
  .testi-item{border-top:1px solid rgba(255,255,255,.18);padding:1.9rem 0;}
  .testi-item:last-child{border-bottom:1px solid rgba(255,255,255,.18);}
  .testi-item p{
    font-family:'Fraunces',serif;font-style:italic;font-weight:400;
    font-size:1.25rem;color:#fff;max-width:56ch;margin:0;
  }
  .testi-item .who{font-family:'Inter',sans-serif;font-size:.88rem;color:var(--gold-light);}

  .format-photo{
  overflow:hidden;
  border-radius:0;
}
.format-photo img{
  display:block;
  width:100%;
  height:280px;          /* фиксированная высота — обе картинки одинаковые */
  object-fit:cover;      /* аккуратно обрезает по центру, а не растягивает */
  object-position:center;
}

/* На мобильных чуть ниже */
@media (max-width: 768px){
  .format-photo img{height:220px;}
}

  /* --- Accordion (FAQ) --- */
  .faq .accordion-button{
    font-family:'Fraunces',serif;font-size:1.15rem;color:var(--wine);
    background:transparent;padding:1.4rem 0;border-radius:0;box-shadow:none;
  }
  .faq .accordion-button:not(.collapsed){background:transparent;color:var(--wine);box-shadow:none;}
  .faq .accordion-button:focus{box-shadow:none;border-color:transparent;}
  .faq .accordion-button::after{
    background-image:none;content:"+";
    font-family:'Inter',sans-serif;font-size:1.4rem;color:var(--gold);
    transform:none;width:auto;height:auto;line-height:1;transition:transform .3s;
  }
  .faq .accordion-button:not(.collapsed)::after{transform:rotate(45deg);}
  .faq .accordion-item{background:transparent;border:none;border-bottom:1px solid var(--line);}
  .faq .accordion-body{padding:0 0 1.4rem;color:var(--ink-soft);max-width:58ch;}

  /* --- Footer --- */
  footer{font-size:.88rem;color:var(--ink-soft);}

