/* =========================================================
   VISOVO — визуална система
   Палитра: светло + наситено + сребро + синьо + лазурно + тъмносиньо
   Файл: /css/style.css
   ========================================================= */

:root{
  /* ядро на палитрата */
  --deep:      #071A38;   /* тъмносиньо — основен текст и тъмни секции */
  --deep-soft: #0E2A52;
  --navy:      #123566;   /* наситено синьо */
  --blue:      #1D5FBF;   /* наситено синьо — връзки */
  --azure:     #22A9E4;   /* лазурно — акцент */
  --azure-hi:  #4FC4F2;
  --ice:       #E4F2FB;   /* светло лазурно */
  --silver:    #C3D0DD;   /* сребро */
  --silver-dim:#8C9CAF;
  --mist:      #F4F8FC;   /* светъл фон */
  --paper:     #FFFFFF;

  --line:      rgba(18, 53, 102, .12);
  --line-soft: rgba(18, 53, 102, .07);
  --line-dark: rgba(196, 226, 245, .16);

  --text:      #10233F;
  --text-mid:  #33496B;
  --muted:     #5C7089;
  --muted-dark:#A9C2DA;

  /* типография */
  --display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;

  /* ритъм на пространството */
  --s-1: .5rem;
  --s-2: .875rem;
  --s-3: 1.25rem;
  --s-4: 1.75rem;
  --s-5: 2.5rem;
  --s-6: 3.5rem;
  --s-7: 5rem;
  --s-8: 7rem;

  --radius-s: 8px;
  --radius-m: 16px;
  --radius-l: 26px;
  --radius-pill: 999px;

  --shadow-s: 0 2px 10px rgba(7, 26, 56, .06);
  --shadow-m: 0 14px 38px rgba(7, 26, 56, .10);
  --shadow-l: 0 28px 70px rgba(7, 26, 56, .16);

  --wrap: 1200px;
  --wrap-narrow: 780px;
}

/* ---------- база ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.68;
  color:var(--text);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:var(--blue); text-decoration:none; }
a:hover{ color:var(--azure); }
button{ font:inherit; }
h1,h2,h3,h4{ font-family:var(--display); font-weight:600; color:var(--deep); margin:0 0 .6em; letter-spacing:-.012em; }
h1{ font-size:clamp(2.3rem, 5.4vw, 3.9rem); line-height:1.08; }
h2{ font-size:clamp(1.85rem, 3.6vw, 2.75rem); line-height:1.16; }
h3{ font-size:clamp(1.15rem, 1.9vw, 1.4rem); line-height:1.3; }
p{ margin:0 0 1.1em; }
ul{ margin:0 0 1.1em; padding-left:1.15em; }
li{ margin-bottom:.45em; }
:focus-visible{ outline:3px solid var(--azure); outline-offset:3px; border-radius:4px; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }
.wrap--narrow{ max-width:var(--wrap-narrow); }
.section{ padding-block:clamp(3.5rem, 8vw, 7rem); position:relative; }
.section--tight{ padding-block:clamp(2.75rem, 5vw, 4.5rem); }
.section--mist{ background:var(--mist); }
.section--ice{ background:linear-gradient(180deg,#FFFFFF 0%, var(--ice) 100%); }
.section--deep{
  background:
    radial-gradient(120% 90% at 82% 12%, rgba(34,169,228,.20), transparent 58%),
    linear-gradient(158deg, var(--deep) 0%, #0F2E58 58%, #123566 100%);
  color:#DCEBF7;
}
.section--deep h2,.section--deep h3{ color:#FFFFFF; }
.section--deep p{ color:#B9D2E8; }

/* ---------- знакът на марката: концентричен обектив ---------- */
.lens-mark{
  width:26px; height:26px; border-radius:50%;
  border:1.5px solid var(--azure);
  display:inline-grid; place-items:center; flex:none;
}
.lens-mark::after{
  content:""; width:8px; height:8px; border-radius:50%;
  background:var(--azure);
}
.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--sans); font-size:.74rem; font-weight:700;
  letter-spacing:.19em; text-transform:uppercase;
  color:var(--blue); margin-bottom:var(--s-3);
}
.eyebrow::before{
  content:""; width:22px; height:22px; border-radius:50%;
  border:1.5px solid currentColor; position:relative;
  background:
    radial-gradient(circle at 50% 50%, currentColor 0 3px, transparent 3.5px);
  flex:none;
}
.section--deep .eyebrow{ color:var(--azure-hi); }

.section-head{ max-width:660px; margin-bottom:var(--s-6); }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-head p{ color:var(--muted); font-size:1.05rem; }
.section--deep .section-head p{ color:var(--muted-dark); }

/* ---------- бутони ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.95rem 1.9rem; border-radius:var(--radius-pill);
  font-weight:600; font-size:.98rem; letter-spacing:.01em;
  border:1.5px solid transparent; cursor:pointer;
  transition:transform .18s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
  text-align:center;
}
.btn--primary{
  background:linear-gradient(135deg, var(--blue) 0%, var(--azure) 100%);
  color:#fff; box-shadow:0 10px 26px rgba(29,95,191,.28);
}
.btn--primary:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 16px 34px rgba(29,95,191,.34); }
.btn--primary:active{ transform:translateY(0); }
.btn--ghost{ background:transparent; border-color:var(--silver); color:var(--deep); }
.btn--ghost:hover{ border-color:var(--azure); color:var(--navy); background:rgba(34,169,228,.06); }
.btn--onDeep{ background:transparent; border-color:rgba(196,226,245,.42); color:#EAF5FD; }
.btn--onDeep:hover{ background:rgba(255,255,255,.10); color:#fff; border-color:var(--azure-hi); }
.btn--wide{ width:100%; }
.btn--sm{ padding:.7rem 1.35rem; font-size:.9rem; }

/* ---------- шапка ---------- */
.masthead{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.masthead__inner{ display:flex; align-items:center; gap:var(--s-4); min-height:74px; }
.brand{ display:inline-flex; align-items:center; gap:.6rem; margin-right:auto; }
.brand__word{
  font-family:var(--display); font-size:1.42rem; font-weight:600;
  letter-spacing:.03em; color:var(--deep);
}
.brand__sub{
  display:block; font-family:var(--sans); font-size:.6rem; font-weight:700;
  letter-spacing:.24em; text-transform:uppercase; color:var(--silver-dim); margin-top:-4px;
}
.nav{ display:flex; align-items:center; gap:var(--s-4); }
.nav a{
  color:var(--text-mid); font-size:.95rem; font-weight:500;
  padding-block:.35rem; border-bottom:1.5px solid transparent;
}
.nav a:hover{ color:var(--navy); border-bottom-color:var(--azure); }
.masthead .btn{ padding:.7rem 1.4rem; font-size:.9rem; }
.nav-toggle{
  display:none; width:44px; height:44px; border-radius:12px;
  border:1px solid var(--line); background:#fff; cursor:pointer;
  align-items:center; justify-content:center;
}
.nav-toggle span{ display:block; width:19px; height:1.6px; background:var(--deep); position:relative; }
.nav-toggle span::before,.nav-toggle span::after{
  content:""; position:absolute; left:0; width:19px; height:1.6px; background:var(--deep);
  transition:transform .22s ease, top .22s ease;
}
.nav-toggle span::before{ top:-6px; }
.nav-toggle span::after{ top:6px; }
.nav-toggle[aria-expanded="true"] span{ background:transparent; }
.nav-toggle[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); }
.nav-toggle[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); }

/* ---------- герой ---------- */
.hero{
  position:relative; color:#E8F3FB; overflow:hidden;
  background:linear-gradient(160deg, var(--deep) 0%, #0E2C55 55%, #14396E 100%);
}
.hero__bg{ position:absolute; inset:0; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; opacity:.72; }
.hero__veil{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(7,26,56,.94) 0%, rgba(7,26,56,.78) 42%, rgba(10,40,80,.30) 100%);
}
.hero__inner{ position:relative; padding-block:clamp(4rem, 10vw, 8rem); }
.hero__grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.hero h1{ color:#fff; }
.hero h1 em{ font-style:normal; color:var(--azure-hi); }
.hero__lead{ font-size:clamp(1.02rem,1.5vw,1.16rem); color:#BCD6EC; max-width:52ch; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-4); }
.hero__meta{
  display:flex; flex-wrap:wrap; gap:var(--s-2) var(--s-5);
  margin-top:var(--s-5); padding-top:var(--s-4);
  border-top:1px solid var(--line-dark);
}
.hero__meta div{ display:flex; align-items:center; gap:.55rem; font-size:.88rem; color:#A9C6E0; }
.hero__meta strong{ color:#fff; font-weight:600; }
.hero__stage{ position:relative; display:grid; place-items:center; }
.hero__halo{
  position:absolute; width:min(100%, 460px); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle at 50% 45%, rgba(34,169,228,.42), rgba(34,169,228,0) 68%);
}
.hero__ring{
  position:absolute; width:min(94%, 420px); aspect-ratio:1; border-radius:50%;
  border:1px solid rgba(196,226,245,.28);
}
.hero__ring--2{ width:min(74%, 330px); border-color:rgba(34,169,228,.34); }
.hero__product{
  position:relative; width:auto; height:auto;
  max-width:min(78%, 330px); max-height:520px; object-fit:contain;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));
}

/* ---------- лента с гаранции ---------- */
.assurance{ background:var(--deep-soft); border-top:1px solid rgba(255,255,255,.06); }
.assurance__grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px; background:rgba(255,255,255,.08);
}
.assurance__item{ background:var(--deep-soft); padding:1.6rem 1.4rem; }
.assurance__item strong{ display:block; color:#fff; font-size:.98rem; margin-bottom:.25rem; }
.assurance__item span{ color:#9FBCD6; font-size:.85rem; line-height:1.5; display:block; }

/* ---------- двуколонен блок с изображение ---------- */
.split{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.split--reverse .split__media{ order:2; }
.split__media{ position:relative; }
.frame{
  position:relative; border-radius:var(--radius-l); overflow:hidden;
  box-shadow:var(--shadow-m); background:var(--ice);
}
.frame--4x3{ aspect-ratio:4/3; }
.frame--3x2{ aspect-ratio:3/2; }
.frame--1x1{ aspect-ratio:1/1; }
.frame--16x9{ aspect-ratio:16/9; }
.frame img{ width:100%; height:100%; object-fit:cover; }
.frame::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
  border-radius:inherit;
}
.frame-note{
  position:absolute; left:22px; bottom:22px; right:22px;
  background:rgba(255,255,255,.94); border-radius:var(--radius-m);
  padding:.9rem 1.1rem; box-shadow:var(--shadow-s);
  font-size:.86rem; color:var(--text-mid); line-height:1.5;
}
.frame-note strong{ color:var(--deep); }

.claim-list{ list-style:none; padding:0; margin:var(--s-4) 0 0; }
.claim-list li{
  position:relative; padding-left:2.1rem; margin-bottom:.95rem; color:var(--text-mid);
}
.claim-list li::before{
  content:""; position:absolute; left:0; top:.42em; width:20px; height:20px; border-radius:50%;
  border:1.5px solid var(--azure);
  background:radial-gradient(circle at 50% 50%, var(--azure) 0 3px, transparent 3.5px);
}
.section--deep .claim-list li{ color:#BFD7EC; }

/* ---------- стълбове / карти с икони ---------- */
.pillar-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:var(--s-3); }
.pillar{
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:var(--s-4);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  display:flex; flex-direction:column;
}
.pillar:hover{ transform:translateY(-4px); box-shadow:var(--shadow-m); border-color:rgba(34,169,228,.4); }
.pillar__icon{
  width:46px; height:46px; border-radius:14px; margin-bottom:var(--s-3);
  display:grid; place-items:center; flex:none;
  background:linear-gradient(140deg, var(--ice), #FFFFFF);
  border:1px solid rgba(34,169,228,.32);
}
.pillar__icon svg{ width:22px; height:22px; stroke:var(--blue); fill:none; stroke-width:1.6; }
.pillar h3{ margin-bottom:.4rem; font-size:1.12rem; }
.pillar p{ color:var(--muted); font-size:.94rem; margin:0; }
.pillar-grid--inline{ grid-template-columns:1fr; gap:.85rem; }
.pillar-grid--inline .pillar{
  display:grid; grid-template-columns:auto minmax(0,1fr);
  column-gap:1.1rem; row-gap:.15rem; align-items:start; padding:1.25rem 1.4rem;
}
.pillar-grid--inline .pillar__icon{ margin-bottom:0; width:42px; height:42px; grid-row:1 / span 2; align-self:center; }
.pillar-grid--inline .pillar h3{ font-size:1.02rem; }
.pillar__tag{
  margin-top:var(--s-3); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--silver-dim); font-weight:700;
}

/* ---------- състав ---------- */
.formula-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--s-3); }
.formula-card{
  background:linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid var(--line-dark); border-radius:var(--radius-m);
  padding:var(--s-4); display:flex; flex-direction:column;
}
.formula-card h3{ font-size:1.1rem; margin-bottom:.15rem; }
.formula-card .formula-card__latin{
  font-size:.78rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--azure-hi); margin-bottom:.8rem; font-weight:600;
}
.formula-card p{ font-size:.93rem; margin:0; color:#B4CFE6; }
.formula-note{
  margin-top:var(--s-5); padding:var(--s-4);
  border:1px solid var(--line-dark); border-radius:var(--radius-m);
  background:rgba(7,26,56,.35); font-size:.9rem; color:#A9C6E0;
}
.formula-note strong{ color:#fff; }

/* ---------- ритуал / стъпки ---------- */
.ritual{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--s-4); counter-reset:step; }
.ritual__step{ position:relative; padding-top:var(--s-4); border-top:2px solid var(--silver); }
.ritual__step::before{
  counter-increment:step; content:"0" counter(step);
  position:absolute; top:-.95em; left:0; background:var(--mist); padding-right:.7rem;
  font-family:var(--sans); font-size:.8rem; font-weight:800; letter-spacing:.14em; color:var(--azure);
}
.ritual__step:hover{ border-top-color:var(--azure); }
.ritual__step h3{ font-size:1.08rem; margin-bottom:.35rem; }
.ritual__step p{ color:var(--muted); font-size:.94rem; margin:0; }

/* ---------- пакети ---------- */
.packs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--s-3); align-items:stretch; }
.pack-card{
  display:flex; flex-direction:column;
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-l); overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pack-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-l); }
.pack-card--featured{ border-color:var(--azure); box-shadow:0 18px 44px rgba(29,95,191,.18); }
.pack-card__flag--ghost{ visibility:hidden; }
.pack-card__flag{
  background:linear-gradient(135deg, var(--blue), var(--azure)); color:#fff;
  text-align:center; font-size:.72rem; font-weight:800; letter-spacing:.18em;
  text-transform:uppercase; padding:.5rem;
}
.pack-card__media{
  height:278px; flex:0 0 278px; min-height:0; overflow:hidden;
  display:flex; align-items:center; justify-content:center; padding:1.4rem;
  background:linear-gradient(170deg, #FFFFFF 0%, var(--ice) 100%);
  border-bottom:1px solid var(--line-soft);
}
.pack-card__media--single{ padding:1.1rem 1.4rem; }
.pack-card__media--wide{ padding:1rem .9rem; }
.pack-card__media img{
  width:100%; height:100%; object-fit:contain; object-position:center;
  filter:drop-shadow(0 12px 22px rgba(7,26,56,.16));
}
.pack-card__body{ padding:var(--s-4); display:flex; flex-direction:column; flex:1; }
.pack-card__body h3{ margin-bottom:.2rem; }
.pack-card__units{
  font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--silver-dim); margin-bottom:var(--s-3);
}
.pack-card__price{ display:flex; align-items:baseline; gap:.55rem; margin-bottom:.2rem; }
.pack-card__price b{ font-family:var(--display); font-size:2rem; color:var(--deep); font-weight:600; }
.pack-card__price span{ font-size:.95rem; color:var(--muted); }
.pack-card__per{ font-size:.85rem; color:var(--muted); margin-bottom:var(--s-3); }
.pack-card ul{ list-style:none; padding:0; margin:0 0 var(--s-4); }
.pack-card ul li{
  position:relative; padding-left:1.5rem; font-size:.92rem; color:var(--text-mid); margin-bottom:.5rem;
}
.pack-card ul li::before{
  content:""; position:absolute; left:0; top:.55em; width:9px; height:9px;
  border-radius:50%; border:1.5px solid var(--azure);
}
.pack-card .btn{ margin-top:auto; }
.packs-foot{ margin-top:var(--s-4); font-size:.88rem; color:var(--muted); text-align:center; }

/* ---------- мнения ---------- */
.voices{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:var(--s-3); }
.voice{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:var(--s-4); display:flex; flex-direction:column;
}
.voice__quote{ font-family:var(--display); font-size:1.05rem; line-height:1.55; color:var(--deep); margin-bottom:var(--s-3); }
.voice__meta{ margin-top:auto; display:flex; align-items:center; gap:.8rem; padding-top:var(--s-3); border-top:1px solid var(--line-soft); }
.voice__badge{
  width:40px; height:40px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:linear-gradient(140deg, var(--navy), var(--azure)); color:#fff;
  font-weight:700; font-size:.92rem; font-family:var(--sans);
}
.voice__name{ font-weight:600; font-size:.93rem; color:var(--deep); }
.voice__city{ font-size:.82rem; color:var(--muted); }

/* ---------- доверие ---------- */
.trust-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:var(--s-3); margin-top:var(--s-5); }
.trust-item{
  border:1px solid var(--line-dark); border-radius:var(--radius-m);
  padding:var(--s-4); background:rgba(255,255,255,.04);
}
.trust-item h3{ font-size:1.05rem; margin-bottom:.35rem; }
.trust-item p{ font-size:.92rem; margin:0; }

/* ---------- въпроси ---------- */
.qa{ border-top:1px solid var(--line); }
.qa__item{ border-bottom:1px solid var(--line); }
.qa__btn{
  width:100%; background:none; border:0; cursor:pointer; text-align:left;
  padding:1.35rem 3rem 1.35rem 0; position:relative;
  font-family:var(--display); font-size:1.1rem; color:var(--deep); line-height:1.35;
}
.qa__btn:hover{ color:var(--blue); }
.qa__btn::after{
  content:""; position:absolute; right:6px; top:50%; width:12px; height:12px;
  border-right:2px solid var(--azure); border-bottom:2px solid var(--azure);
  transform:translateY(-70%) rotate(45deg); transition:transform .25s ease;
}
.qa__item.is-open .qa__btn::after{ transform:translateY(-30%) rotate(-135deg); }
.qa__panel{ max-height:0; overflow:hidden; transition:max-height .32s ease; }
.qa__panel p{ padding-bottom:1.35rem; margin:0; color:var(--muted); font-size:.97rem; max-width:70ch; }

/* ---------- форма за консултация ---------- */
.consult{ display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
.consult__aside p{ color:var(--muted-dark); }
.consult__points{ list-style:none; padding:0; margin:var(--s-4) 0 0; }
.consult__points li{ position:relative; padding-left:2rem; margin-bottom:.9rem; color:#C6DCEE; font-size:.95rem; }
.consult__points li::before{
  content:""; position:absolute; left:0; top:.45em; width:18px; height:18px; border-radius:50%;
  border:1.5px solid var(--azure-hi);
  background:radial-gradient(circle at 50% 50%, var(--azure-hi) 0 3px, transparent 3.5px);
}
.form-card{
  background:var(--paper); border-radius:var(--radius-l);
  padding:clamp(1.5rem,3vw,2.5rem); box-shadow:var(--shadow-l);
}
.form-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-3); }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field--full{ grid-column:1/-1; }
.field label{ font-size:.85rem; font-weight:600; color:var(--text-mid); }
.field label .req{ color:var(--blue); }
.field input,.field select,.field textarea{
  font:inherit; font-size:.97rem; color:var(--text);
  padding:.85rem 1rem; border:1.5px solid var(--silver); border-radius:12px;
  background:#FCFEFF; transition:border-color .18s ease, box-shadow .18s ease;
  width:100%;
}
.field textarea{ resize:vertical; min-height:104px; }
.field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%); background-position:calc(100% - 20px) 52%, calc(100% - 14px) 52%; background-size:6px 6px,6px 6px; background-repeat:no-repeat; padding-right:2.6rem; }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--azure); box-shadow:0 0 0 4px rgba(34,169,228,.16);
}
.field.has-error input,.field.has-error select,.field.has-error textarea{ border-color:#C0392B; }
.field__hint{ font-size:.78rem; color:var(--muted); }
.field__error{ font-size:.8rem; color:#C0392B; display:none; }
.field.has-error .field__error{ display:block; }
.check{ display:flex; gap:.7rem; align-items:flex-start; font-size:.85rem; color:var(--text-mid); line-height:1.5; }
.check input{ width:19px; height:19px; margin-top:2px; flex:none; accent-color:var(--blue); }
.check.has-error{ color:#C0392B; }
.form-foot{ margin-top:var(--s-3); font-size:.79rem; color:var(--muted); line-height:1.55; }

/* ---------- контакти ---------- */
.contact-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--s-3); }
.contact-card{
  border:1px solid var(--line); border-radius:var(--radius-m); padding:var(--s-4); background:var(--paper);
}
.contact-card h3{ font-size:1.02rem; margin-bottom:.5rem; }
.contact-card p{ margin:0; font-size:.95rem; color:var(--text-mid); }
.contact-card a{ font-weight:600; }
.contact-lines{ list-style:none; padding:0; margin:0; }
.contact-lines li{ display:flex; gap:.6rem; margin-bottom:.55rem; font-size:.95rem; color:var(--text-mid); }
.contact-lines b{ color:var(--deep); font-weight:600; min-width:118px; flex:none; }

/* ---------- подвал ---------- */
.footer{ background:var(--deep); color:#A9C6E0; padding-block:var(--s-6) var(--s-4); }
.footer a{ color:#CFE4F5; }
.footer a:hover{ color:var(--azure-hi); }
.footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:var(--s-5); }
.footer h4{ color:#fff; font-family:var(--sans); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; margin-bottom:var(--s-3); }
.footer ul{ list-style:none; padding:0; margin:0; }
.footer li{ margin-bottom:.55rem; font-size:.92rem; }
.footer .brand__word{ color:#fff; }
.footer__about{ font-size:.92rem; max-width:34ch; }
.footer__bottom{
  margin-top:var(--s-6); padding-top:var(--s-4); border-top:1px solid rgba(255,255,255,.10);
  display:flex; flex-wrap:wrap; gap:var(--s-3); justify-content:space-between; align-items:center;
  font-size:.84rem; color:#8FAECB;
}
.footer__disclosure{
  margin-top:var(--s-3); font-size:.8rem; color:#7E9DBA; line-height:1.6; max-width:95ch;
}
.link-button{
  background:none; border:0; padding:0; cursor:pointer; color:#CFE4F5;
  font-size:.92rem; text-decoration:underline; text-underline-offset:3px;
}
.link-button:hover{ color:var(--azure-hi); }

/* ---------- правни / текстови страници ---------- */
.page-head{
  background:linear-gradient(150deg, var(--deep) 0%, #123566 100%); color:#fff;
  padding-block:clamp(3rem,7vw,5rem);
}
.page-head h1{ color:#fff; margin-bottom:.4rem; font-size:clamp(2rem,4vw,3rem); }
.page-head p{ color:#B9D2E8; margin:0; max-width:62ch; }
.page-head .eyebrow{ color:var(--azure-hi); }
.legal{ padding-block:clamp(2.75rem,6vw,4.5rem); }
.legal h2{ font-size:1.5rem; margin-top:var(--s-5); }
.legal h2:first-of-type{ margin-top:0; }
.legal h3{ font-size:1.12rem; margin-top:var(--s-4); }
.legal p,.legal li{ color:var(--text-mid); font-size:1rem; }
.legal .meta-box{
  background:var(--mist); border:1px solid var(--line);
  border-left:3px solid var(--azure);
  border-radius:var(--radius-m); padding:var(--s-4); margin-bottom:var(--s-5);
  font-size:.95rem;
}
.legal .meta-box p:last-child{ margin-bottom:0; }
.toc{ background:var(--mist); border-radius:var(--radius-m); padding:var(--s-4); margin-bottom:var(--s-5); }
.toc h2{ font-size:1rem; margin:0 0 .8rem; font-family:var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.toc ol{ margin:0; padding-left:1.2rem; columns:2; column-gap:2rem; }
.toc li{ font-size:.93rem; }
.data-table{ width:100%; border-collapse:collapse; margin:var(--s-3) 0 var(--s-5); font-size:.93rem; }
.data-table th,.data-table td{ text-align:left; padding:.85rem 1rem; border-bottom:1px solid var(--line); vertical-align:top; }
.data-table th{ background:var(--mist); color:var(--deep); font-weight:600; }

/* ---------- успех ---------- */
.success{ min-height:66vh; display:grid; place-items:center; text-align:center; padding-block:var(--s-8); }
.success__seal{
  width:96px; height:96px; border-radius:50%; margin:0 auto var(--s-4);
  display:grid; place-items:center;
  background:linear-gradient(140deg, var(--blue), var(--azure));
  box-shadow:0 18px 40px rgba(29,95,191,.3);
}
.success__seal svg{ width:44px; height:44px; stroke:#fff; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.success__next{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:var(--s-3); margin-top:var(--s-6); text-align:left; }
.success__next div{ border:1px solid var(--line); border-radius:var(--radius-m); padding:var(--s-4); background:var(--paper); }
.success__next b{ display:block; color:var(--deep); margin-bottom:.3rem; }
.success__next p{ margin:0; font-size:.92rem; color:var(--muted); }

/* ---------- образователна страница ---------- */
.article{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(2rem,4vw,3.5rem); align-items:start; }
.article__body h2{ font-size:1.55rem; margin-top:var(--s-6); }
.article__body h2:first-child{ margin-top:0; }
.article__body p,.article__body li{ color:var(--text-mid); }
.article__figure{ margin:var(--s-5) 0; }
.article__figure figcaption{ font-size:.84rem; color:var(--muted); margin-top:.7rem; }
.article > aside{ position:sticky; top:100px; }
.aside-card{
  border:1px solid var(--line); border-radius:var(--radius-m);
  padding:var(--s-4); background:var(--mist);
}
.aside-card h3{ font-size:1.05rem; }
.aside-card p{ font-size:.92rem; color:var(--muted); }
.habit-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-3); margin:var(--s-4) 0 var(--s-5); }
.habit{
  border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; background:var(--paper);
  display:flex; flex-direction:column;
}
.habit__media{ aspect-ratio:3/2; overflow:hidden; }
.habit__media img{ width:100%; height:100%; object-fit:cover; }
.habit__text{ padding:var(--s-3) var(--s-4) var(--s-4); }
.habit__text h3{ font-size:1.05rem; margin-bottom:.3rem; }
.habit__text p{ font-size:.92rem; color:var(--muted); margin:0; }

/* ---------- банер за съгласие ---------- */
.consent-bar{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:120;
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-l); box-shadow:var(--shadow-l);
  padding:clamp(1.1rem,2.4vw,1.6rem);
  display:none; gap:var(--s-4); align-items:center;
  max-width:1080px; margin-inline:auto;
}
.consent-bar.is-visible{ display:flex; flex-wrap:wrap; }
.consent-bar__text{ flex:1 1 380px; }
.consent-bar__text h2{ font-size:1.12rem; margin-bottom:.35rem; }
.consent-bar__text p{ margin:0; font-size:.88rem; color:var(--muted); }
.consent-bar__actions{ display:flex; flex-wrap:wrap; gap:.7rem; flex:0 1 auto; }
.consent-bar__actions .btn{ padding:.8rem 1.4rem; font-size:.9rem; flex:1 1 auto; }

.consent-modal{
  position:fixed; inset:0; z-index:130; display:none;
  align-items:center; justify-content:center; padding:16px;
  background:rgba(7,26,56,.55); backdrop-filter:blur(3px);
}
.consent-modal.is-open{ display:flex; }
.consent-modal__panel{
  background:var(--paper); border-radius:var(--radius-l); width:min(620px,100%);
  max-height:88vh; overflow:auto; box-shadow:var(--shadow-l);
}
.consent-modal__head{ padding:var(--s-4) var(--s-4) var(--s-3); border-bottom:1px solid var(--line); }
.consent-modal__head h2{ font-size:1.3rem; margin-bottom:.3rem; }
.consent-modal__head p{ margin:0; font-size:.88rem; color:var(--muted); }
.consent-modal__body{ padding:var(--s-3) var(--s-4); }
.consent-row{ display:flex; gap:var(--s-3); padding:var(--s-3) 0; border-bottom:1px solid var(--line-soft); }
.consent-row:last-child{ border-bottom:0; }
.consent-row__text{ flex:1; }
.consent-row__text b{ display:block; color:var(--deep); font-size:.98rem; margin-bottom:.2rem; }
.consent-row__text span{ font-size:.87rem; color:var(--muted); }
.switch{ position:relative; width:50px; height:28px; flex:none; align-self:center; }
.switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.switch i{
  position:absolute; inset:0; border-radius:var(--radius-pill);
  background:var(--silver); transition:background .2s ease; pointer-events:none;
}
.switch i::after{
  content:""; position:absolute; top:3px; left:3px; width:22px; height:22px;
  background:#fff; border-radius:50%; transition:transform .2s ease; box-shadow:var(--shadow-s);
}
.switch input:checked + i{ background:linear-gradient(135deg,var(--blue),var(--azure)); }
.switch input:checked + i::after{ transform:translateX(22px); }
.switch input:disabled + i{ background:var(--azure); opacity:.45; }
.switch input:focus-visible + i{ box-shadow:0 0 0 4px rgba(34,169,228,.3); }
.consent-modal__foot{
  padding:var(--s-3) var(--s-4) var(--s-4); border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:.7rem; justify-content:flex-end;
}

/* ---------- плавно появяване ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-in{ opacity:1; transform:none; }

/* ---------- адаптивност ---------- */
@media (max-width:1024px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__stage{ margin-top:var(--s-5); }
  .hero__product{ max-height:360px; max-width:min(64%, 300px); }
  .assurance__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .consult{ grid-template-columns:1fr; }
  .article{ grid-template-columns:1fr; }
  .article > aside{ position:static; }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:var(--s-4); }
}
@media (max-width:860px){
  .nav-toggle{ display:flex; }
  .nav{
    position:fixed; inset:74px 0 auto; background:var(--paper);
    flex-direction:column; align-items:stretch; gap:0;
    padding:var(--s-3) 24px var(--s-4); border-bottom:1px solid var(--line);
    box-shadow:var(--shadow-m); display:none;
  }
  .nav.is-open{ display:flex; }
  .nav a{ padding:.85rem 0; border-bottom:1px solid var(--line-soft); }
  .nav a:last-child{ border-bottom:0; }
  .masthead__inner{ gap:var(--s-2); }
  .masthead .btn--primary{ display:none; }
  .split{ grid-template-columns:1fr; }
  .split--reverse .split__media{ order:0; }
  .form-grid{ grid-template-columns:1fr; }
  .toc ol{ columns:1; }
  .habit-grid{ grid-template-columns:1fr; }
  .consent-bar{ left:10px; right:10px; bottom:10px; }
  .consent-bar__actions .btn{ flex:1 1 100%; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .assurance__grid{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; }
  .hero__meta{ gap:var(--s-2) var(--s-4); }
  .hero__product{ max-height:290px; max-width:min(58%, 240px); }
  .pack-card__media{ height:240px; flex-basis:240px; }
  .frame-note{ left:14px; right:14px; bottom:14px; padding:.75rem .9rem; font-size:.8rem; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
}

@media print{
  .masthead,.footer,.consent-bar,.consent-modal,.hero__bg{ display:none !important; }
  body{ color:#000; }
}
