/* ============================================================
   Donbrava Emigration — brand theme
   Colors: blue (#497ec2) · white · grey
   Display: Cormorant · UI/Body: Manrope
   ============================================================ */

:root {
  /* surfaces — warm paper / dossier */
  --bg:        #f4efe4;   /* paper */
  --bg-2:      #ece4d4;   /* deeper sand band */
  --bg-3:      #e3d9c6;
  --surface:   #fbf8f1;   /* cards lift off paper */
  --surface-2: #f1ebde;

  /* text — warm ink */
  --ink:   #1c1a15;   /* near-black warm headings */
  --text:  #514c41;   /* body */
  --muted: #756c5b;   /* secondary (WCAG AA on paper) */
  --faint: #a9a08d;

  /* brand blue */
  --blue:      #497ec2;   /* logo blue */
  --blue-deep: #356099;   /* readable accent / hover */
  --blue-dark: #284b78;
  --blue-bright:#6f9bd6;
  --blue-50:   #eef4fb;
  --blue-100:  #dde8f6;

  /* legacy accent vars mapped to blue (keeps component rules simple) */
  --gold:      #3f72b3;
  --gold-soft: #5184c1;
  --gold-300:  #497ec2;
  --gold-deep: #284b78;

  /* dark anchor (footer) */
  --slate: #18222e;

  /* lines — warm hairlines */
  --line:        #ddd3c0;
  --line-soft:   #e8e0d0;
  --line-strong: #c9bda4;
  --ink-line:    #2a2620;  /* strong editorial rule */

  /* layout */
  --maxw: 1280px;
  --gutter: clamp(22px, 5vw, 68px);
  --radius:      14px;   /* buttons, inputs */
  --radius-xs:   7px;    /* tiny badges */
  --radius-sm:   10px;   /* tags, avatars, chips */
  --radius-card: 20px;   /* cards */
  --radius-lg:   28px;   /* large panels */

  /* type */
  --display: "Fraunces", "Times New Roman", Georgia, serif;
  --sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* motion */
  --ease: cubic-bezier(.16, 1, .3, 1);
  --shadow-sm: 0 2px 10px -4px rgba(29,41,55,.14);
  --shadow: 0 24px 60px -30px rgba(29,41,55,.30);
  --shadow-lg: 0 50px 110px -45px rgba(29,41,55,.34);
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms!important;transition-duration:.001ms!important;} }

body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img, svg, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; border: 0; background: none; }
ul, ol { list-style: none; padding: 0; }
input, textarea, select, button { font-family: inherit; }
::selection { background: var(--blue); color: #fff; }

/* grain — paper texture */
.grain {
  position: fixed; inset: 0; z-index: 1000; pointer-events: none;
  opacity: .05; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* layout */
.container { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(78px, 11vw, 170px); position: relative; }
.section--tight { padding-block: clamp(58px, 8vw, 116px); }
.section--line { border-top: 1px solid var(--line); }
.bg-2 { background: var(--bg-2); }
.bg-3 { background: var(--bg-3); }

/* blue band */
.band-blue { background: var(--blue); color: #fff; }
.band-blue .h2, .band-blue h3 { color: #fff; }
.band-blue .eyebrow { color: rgba(255,255,255,.92); }
.band-blue .eyebrow .section-num { color: #fff; }

/* typography */
.display, h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.04; letter-spacing: -.012em; color: var(--ink); font-optical-sizing: auto; }
.h-hero { font-size: clamp(3.1rem, 7.6vw, 6.6rem); line-height: .98; font-weight: 600; letter-spacing: -.005em; }
.h1 { font-size: clamp(2.7rem, 5.6vw, 5rem); line-height: 1.0; }
.h2 { font-size: clamp(2.2rem, 4.3vw, 3.8rem); line-height: 1.05; }
.h3 { font-size: clamp(1.55rem, 2.3vw, 2.2rem); line-height: 1.12; }
.h4 { font-family: var(--display); font-weight: 600; font-size: 1.45rem; line-height: 1.18; color: var(--ink); }
.italic-gold { font-style: italic; color: var(--blue); font-weight: 600; }
.serif { font-family: var(--display); }
.br-m { display: none; }
.br-d { display: inline; }

.lead { font-size: clamp(1.08rem, 1.4vw, 1.28rem); line-height: 1.7; color: var(--text); max-width: 54ch; }
.muted { color: var(--muted); }
.measure { max-width: 64ch; }
p { line-height: 1.75; }
strong { font-weight: 700; color: var(--ink); }

/* eyebrow */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--mono); font-size: .72rem; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; color: var(--blue-deep);
}
.eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .5; }
.eyebrow.no-line::before { display: none; }
.eyebrow--center { justify-content: center; }
.section-num { font-family: var(--mono); font-weight:600; color: var(--ink); background: var(--surface-2); border:1px solid var(--line-strong); padding:1px 7px 2px; border-radius:var(--radius-xs); font-size:.92em; }

/* mono meta labels — dossier system */
.trust-strip span, .post-meta, .contact-list .ci .k, .field label,
.hero-photo figcaption, .dossier-head, .df-meta, .crumbs, .quiz-progress,
.quiz-result .qr-tag, .filters .fl-lab, .fl-lab { font-family: var(--mono); }

.section-head { max-width: 60ch; }
.section-head .h2 { margin-top: 24px; }
.section-num { font-family: var(--display); font-style: italic; font-size: 1.15rem; color: var(--blue); }

/* buttons */
.btn {
  --bg: var(--blue); --fg: #fff;
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  gap: .7em; padding: 1.02em 1.85em; border-radius: var(--radius);
  background: var(--bg); color: var(--fg);
  font-weight: 600; font-size: .92rem; letter-spacing: .01em;
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), background .5s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
  will-change: transform; overflow: hidden;
}
.btn .btn-ico { transition: transform .4s var(--ease); }
.btn:hover { transform: translateY(-2px); background: var(--blue-deep); box-shadow: 0 16px 30px -14px rgba(73,126,194,.55); }
.btn:hover .btn-ico { transform: translateX(4px); }
.btn:active { transform: translateY(0) scale(.985); }
.btn--ghost { --bg: transparent; --fg: var(--ink); border: 1px solid var(--line-strong); }
.btn--ghost:hover { background: var(--blue-50); border-color: var(--blue); color: var(--blue-deep); box-shadow: none; transform: translateY(-2px); }
.btn--lg { padding: 1.15em 2.15em; font-size: .96rem; }
.btn--block { display: flex; width: 100%; }
.btn--white { --bg: #fff; --fg: var(--blue-deep); }
.btn--white:hover { background: #fff; color: var(--blue-dark); }
.btn--glass { --bg: rgba(255,255,255,.08); --fg: #fff; border:1px solid rgba(255,255,255,.34); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.btn--glass:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.7); color:#fff; box-shadow:none; transform: translateY(-2px); }
.btn--ink { --bg: var(--ink); --fg: #faf7f0; }
.btn--ink:hover { --bg:#000; background:#000; color: var(--bg); box-shadow: 0 16px 30px -16px rgba(28,26,21,.6); }

/* link */
.link { display: inline-flex; align-items: center; gap: .55em; font-weight: 600; color: var(--blue-deep); position: relative; }
.link::after { content:""; position:absolute; left:0; bottom:-3px; height:1px; width:100%; background: var(--blue); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ease); }
.link:hover::after { transform: scaleX(1); transform-origin: left; }
.link .ar { transition: transform .4s var(--ease); }
.link:hover .ar { transform: translateX(5px); }

/* topbar */
.topbar { background: var(--bg-2); color: var(--muted); font-size: .76rem; letter-spacing: .02em; border-bottom: 1px solid var(--line); }
.topbar .container { display:flex; align-items:center; justify-content:space-between; min-height:38px; gap:20px; }
.topbar a:hover { color: var(--blue-deep); }
.topbar .tb-left { display:flex; gap:18px; align-items:center; }
.topbar .dot { width:5px; height:5px; border-radius:50%; background: var(--blue); display:inline-block; }
.topbar .tb-right { display:flex; gap:18px; align-items:center; }
.topbar .ico-link { color: var(--ink); font-weight:600; }
@media (max-width:860px){ .topbar .tb-left .hide-sm{ display:none; } }
.lang { display:inline-flex; border:1px solid var(--line-strong); border-radius:var(--radius-sm); overflow:hidden; }
.lang button { padding:5px 9px; font-size:.7rem; font-weight:700; letter-spacing:.05em; color: var(--muted); }
.lang button.on { background: var(--blue); color:#fff; }
.lang button.soon { opacity:.4; cursor:not-allowed; }

/* header */
.site-header { position: sticky; top:0; z-index:900; background: rgba(244,239,228,.82); backdrop-filter: blur(12px); transition: box-shadow .4s var(--ease), border-color .4s; border-bottom: 1px solid var(--line); }
.site-header.solid { box-shadow: 0 10px 40px -28px rgba(29,41,55,.4); border-bottom-color: var(--line); }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:96px; }

/* logo — image with rounded corners */
.brand-logo { display:inline-flex; align-items:center; line-height: 0; }
.brand-logo img { display:block; height: 64px; width:auto; border-radius: 9px; }
.footer .brand-logo img { height: 56px; }
@media (max-width:680px){ .nav-wrap { min-height:78px; } .brand-logo img { height: 48px; } }

.nav { display:flex; align-items:center; gap:32px; }
.nav a { position:relative; font-weight:600; font-size:.93rem; color: var(--text); padding:6px 0; transition: color .3s; }
.nav a::after { content:""; position:absolute; left:0; bottom:0; height:2px; width:100%; background: var(--blue); transform: scaleX(0); transform-origin:right; transition: transform .35s var(--ease); }
.nav a:hover, .nav a.active { color: var(--ink); }
.nav a:hover::after, .nav a.active::after { transform: scaleX(1); transform-origin:left; }

.header-cta { display:flex; align-items:center; gap:16px; }
.burger { display:none; width:44px; height:44px; flex-direction:column; gap:5px; justify-content:center; align-items:center; }
.burger span { width:24px; height:2px; background: var(--ink); border-radius:2px; transition: transform .4s var(--ease), opacity .3s; }
.burger.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* mobile nav */
.mobile-nav { position:fixed; inset:0; z-index:950; background: #fff; color: var(--text); padding: 100px var(--gutter) 40px; display:flex; flex-direction:column; transform: translateY(-100%); transition: transform .6s var(--ease); overflow-y:auto; }
.mobile-nav.open { transform: translateY(0); }
.mobile-nav a.m-link { font-family: var(--display); font-size: 2.2rem; padding:14px 0; border-bottom:1px solid var(--line); color: var(--ink); display:flex; justify-content:space-between; align-items:center; }
.mobile-nav a.m-link .num { font-size:.78rem; font-family: var(--sans); color: var(--blue); letter-spacing:.1em; }
.mobile-nav .m-foot { margin-top:auto; padding-top:32px; color: var(--muted); font-size:.9rem; display:flex; flex-direction:column; gap:8px; }
.mobile-nav .m-foot a { color: var(--blue-deep); }

/* photo treatment — clean, slight cohesion */
.hero-frame img, .ph-visual img, .video-feature img, .vthumb img,
.pcard .pc-img img, .feat-post .fp-img img, .article-cover img {
  filter: saturate(1.02) contrast(1.02);
}

/* ============================================================ HERO — editorial dossier */
.hero { position:relative; background: var(--bg); overflow:clip; }
/* вечерняя Братислава фоном, мягко под вуалью */
.hero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background: url(../img/castle-night.jpg) center 32% / cover no-repeat; }
.hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(104deg,
      var(--bg) 0%, var(--bg) 30%,
      rgba(244,239,228,.84) 47%, rgba(244,239,228,.60) 70%, rgba(244,239,228,.50) 100%),
    linear-gradient(180deg,
      var(--bg) 0%, rgba(244,239,228,.42) 16%, rgba(244,239,228,.10) 38%,
      rgba(244,239,228,.18) 60%, rgba(244,239,228,.85) 88%, var(--bg) 100%); }
.hero .container { position:relative; z-index:2; }

/* case-file header strip */
.dossier-head { display:flex; justify-content:space-between; align-items:baseline; gap:20px;
  padding-top: clamp(12px,1.8vw,20px); padding-bottom: 13px; border-bottom:1.5px solid var(--ink-line);
  font-size:.73rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--ink); }
.dossier-head .df-meta { color: var(--muted); font-weight:600; }

.hero-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px,3.6vw,60px);
  padding-block: clamp(26px,3.4vw,50px); align-items:center; }
.hero-main { display:flex; flex-direction:column; }

@media (min-width:961px){
  .hero .container { min-height: var(--hero-h, auto); display:flex; flex-direction:column; }
  .hero-grid { flex:1 1 auto; padding-block: clamp(8px,1.2vw,20px); }
  .hero-figures { margin-top:0; }
  .hero-aside { display:flex; align-items:center; }
  .founder { width:100%; }
  .founder-stage { aspect-ratio:auto; height: clamp(300px, 46vh, 520px); }
  .founder-tag { padding-bottom:7px; }
  .founder-plate { margin-top:10px; padding-top:11px; }
}

.hero .h-hero { font-size: clamp(2.3rem,3.9vw,3.7rem); line-height: .98; letter-spacing:-.025em;
  font-weight:600; color: var(--ink); }
.hero .h-hero em { font-style:italic; font-weight:500; color: var(--blue-deep); }

.hero-foot { margin-top: clamp(18px,2vw,28px); }
.hero-lead { color: var(--text); max-width: 46ch; font-size: clamp(1rem,1.1vw,1.1rem); line-height:1.58; }
.hero-cta { display:flex; flex-wrap:wrap; align-items:center; gap: 20px 24px; margin-top: 26px; }
.cta-link { display:inline-flex; align-items:center; gap:.5em; font-weight:600; color:var(--ink);
  border-bottom:1px solid var(--ink-line); padding-bottom:3px; transition: color .3s, border-color .3s; }
.cta-link:hover { color: var(--blue-deep); border-color: var(--blue-deep); }

.hero-aside { position:relative; }

/* founder portrait — растушёванное фото вплавлено в сцену */
.founder { position:relative; margin:0; }
.founder-tag { display:flex; justify-content:space-between; gap:12px; padding:0 3px 9px;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.founder-tag span:first-child { color:var(--blue-deep); }

.founder-stage { position:relative; aspect-ratio: 5/6; isolation:isolate; }
/* мягкое свечение позади фигуры */
.founder-glow { position:absolute; z-index:1; top:2%; left:50%; transform:translateX(-50%);
  width:92%; height:86%; pointer-events:none;
  background:
    radial-gradient(48% 54% at 50% 42%, rgba(251,248,241,.7), rgba(251,248,241,0) 72%),
    radial-gradient(64% 64% at 50% 38%, rgba(111,155,214,.24), rgba(111,155,214,0) 70%);
  filter: blur(5px); }
.founder-stage picture { display:contents; }
.founder-stage img { position:absolute; z-index:3; left:50%; bottom:0; transform:translateX(-50%);
  height:104%; width:auto; max-width:none; object-fit:contain; object-position:bottom;
  filter: contrast(1.03) saturate(.99) drop-shadow(0 24px 30px rgba(28,40,58,.18)); }

.founder-plate { display:grid; gap:4px; margin-top:13px; padding:13px 3px 2px; border-top:1.5px solid var(--ink-line); }
.fp-role { font-family:var(--mono); font-size:.67rem; letter-spacing:.15em; text-transform:uppercase; color:var(--blue-deep); }
.fp-name { font-family:var(--display); font-style:italic; font-weight:500; font-size:1.5rem; line-height:1.04; color:var(--ink); }
.fp-note { font-size:.78rem; color:var(--muted); }

/* official stamp (light) */
.stamp { position:absolute; top:30px; right:-6px; left:auto; width: clamp(82px,7vw,112px); height: clamp(82px,7vw,112px); z-index:5; transform: rotate(8deg); opacity:.9; pointer-events:none; filter: drop-shadow(0 3px 7px rgba(28,26,21,.16)); }
.stamp svg { width:100%; height:100%; display:block; color: var(--blue-deep); }
.stamp .st-ring, .stamp .st-ring2 { fill:none; stroke: currentColor; stroke-width:1.4; }
.stamp .st-ring2 { stroke-width:1; opacity:.85; }
.stamp .st-text { font-family: var(--sans); font-size:8px; font-weight:700; letter-spacing:1.4px; fill: currentColor; }
.stamp .st-c1 { font-family: var(--display); font-weight:600; font-size:16px; fill: currentColor; text-anchor:middle; letter-spacing:.5px; }
.stamp .st-c2 { font-family: var(--sans); font-weight:600; font-size:7px; letter-spacing:1.2px; fill: currentColor; text-anchor:middle; }

/* figures row */
.hero-figures { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(18px,2.6vw,44px);
  margin-top: 0; padding: 16px 0 clamp(20px,2.4vw,30px); border-top:1.5px solid var(--ink-line); }
.hero-figures .fig { display:flex; align-items:baseline; gap:13px; }
.hero-figures .fig-n { font-family:var(--display); font-weight:600; font-size: clamp(1.8rem,2.3vw,2.4rem); color:var(--ink); line-height:1; letter-spacing:-.02em; flex:none; }
.hero-figures .fig-ico { color: var(--blue-deep); font-style:italic; }
.hero-figures .fig-l { font-size:.8rem; color:var(--muted); max-width:20ch; line-height:1.45; }

/* ============================================================ generic heads */
.head-row { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; }

/* trust strip */
.trust-strip { border-block: 1px solid var(--line); background: var(--bg-2); }
.trust-strip .container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 32px; padding-block: 22px; }
.trust-strip span { font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color: var(--muted); font-weight:700; display:flex; align-items:center; gap:14px; }
.trust-strip span::before { content:""; width:6px; height:6px; border-radius:50%; background: var(--blue); flex:none; }
@media (max-width:680px){ .trust-strip .container{ justify-content:flex-start; gap:14px 24px; } }

/* ============================================================ SERVICES (cards) */
.svc-cards { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(14px,1.4vw,22px); margin-top: clamp(36px,4.4vw,60px); }
.svc-card { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; gap:13px; overflow:hidden;
  padding: clamp(26px,2.2vw,36px); min-height: 262px; border-radius:18px; border:1px solid var(--line);
  background:
    radial-gradient(62% 56% at 100% 0%, rgba(73,126,194,.10), transparent 60%),
    radial-gradient(rgba(73,126,194,.05) 1px, transparent 1.5px),
    linear-gradient(158deg, #fffdf9 0%, #f6f1e7 100%);
  background-size: 100% 100%, 19px 19px, 100% 100%;
  background-repeat: no-repeat, repeat, no-repeat;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 14px 34px -28px rgba(29,41,55,.5);
  transition: transform .55s var(--ease), box-shadow .55s var(--ease), border-color .45s; }
.svc-card > * { position:relative; z-index:1; }
/* blurred gradient glow on the background */
.svc-card::after { content:""; position:absolute; z-index:-1; inset:-35%; opacity:.5; pointer-events:none;
  background:
    radial-gradient(42% 48% at 80% 10%, rgba(73,126,194,.36), transparent 70%),
    radial-gradient(46% 42% at 98% 58%, rgba(120,160,215,.24), transparent 72%),
    radial-gradient(34% 38% at 58% -4%, rgba(43,75,130,.20), transparent 70%);
  filter: blur(28px);
  transition: opacity .55s var(--ease), transform .7s var(--ease); }
.svc-card:hover::after { opacity:1; transform: scale(1.08); }
/* lead card - brighter accent glow */
.svc-card--lead::after { opacity:.92;
  background:
    radial-gradient(46% 52% at 80% 8%, rgba(73,126,194,.5), transparent 70%),
    radial-gradient(50% 46% at 100% 56%, rgba(120,160,215,.34), transparent 72%),
    radial-gradient(38% 42% at 56% -6%, rgba(43,75,130,.3), transparent 70%); }
.svc-card--lead:hover::after { opacity:1; transform: scale(1.1); }
/* top accent line */
.svc-card::before { content:""; position:absolute; z-index:2; left:0; right:0; top:0; height:3px;
  background: linear-gradient(90deg, var(--blue), var(--blue-bright)); transform: scaleX(0); transform-origin:left;
  transition: transform .55s var(--ease); }
.svc-card:hover { transform: translateY(-8px); box-shadow: 0 44px 80px -40px rgba(29,41,55,.5); border-color: var(--blue-100); }
.svc-card:hover::before { transform: scaleX(1); }
.sc-num { position:absolute; z-index:0; top: clamp(8px,1.2vw,18px); right: clamp(16px,1.8vw,26px); pointer-events:none;
  font-family: var(--display); font-weight:600; font-size: clamp(3.7rem,6vw,5.9rem); line-height:.76; letter-spacing:-.035em;
  color: rgba(73,126,194,.14); transition: color .5s var(--ease), transform .6s var(--ease); }
.svc-card--lead .sc-num { color: rgba(73,126,194,.2); }
.svc-card:hover .sc-num { color: rgba(73,126,194,.3); transform: translateY(-3px); }
/* main icon turned into a large blurred background motif */
.sc-glyph { position:absolute; z-index:0; top: clamp(0px,0.9vw,12px); left: clamp(8px,1.4vw,20px); pointer-events:none;
  width: clamp(122px,15vw,182px); height: clamp(122px,15vw,182px); color: var(--blue);
  opacity:.1; filter: blur(2.5px);
  transition: opacity .5s var(--ease), transform .65s var(--ease); }
.svc-card--lead .sc-glyph { opacity:.15; }
.sc-glyph svg { width:100%; height:100%; }
.svc-card:hover .sc-glyph { opacity:.2; transform: scale(1.07) rotate(-3deg); }
.sc-title { font-family: var(--display); font-weight:600; font-size: clamp(1.42rem,1.8vw,1.9rem); line-height:1.04; letter-spacing:-.01em; color: var(--ink); transition: color .35s; }
.svc-card:hover .sc-title { color: var(--blue-deep); }
.sc-desc { color: var(--muted); font-size:.92rem; line-height:1.55; }

.svc-extra { margin-top: clamp(54px,7vw,88px); }
.svc-extra .xe-title { font-family: var(--display); font-style:italic; font-size:1.5rem; color: var(--ink); }
.svc-extra .xe-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(12px,1.2vw,18px); margin-top:28px; }
.xe-item { position:relative; isolation:isolate; overflow:hidden; padding: clamp(24px,2vw,30px) clamp(24px,2vw,30px) clamp(24px,2vw,30px) clamp(26px,2.1vw,32px); border-radius:16px; border:1px solid var(--line);
  background:
    radial-gradient(64% 58% at 100% 0%, rgba(73,126,194,.07), transparent 60%),
    linear-gradient(158deg, #fffdf9 0%, #f7f2e9 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
  transition: transform .55s var(--ease), box-shadow .55s var(--ease), border-color .5s var(--ease); }
.xe-item::before { content:""; position:absolute; left:0; top:clamp(22px,2vw,28px); bottom:clamp(22px,2vw,28px); width:3px; border-radius:0 3px 3px 0;
  background: linear-gradient(var(--blue), var(--blue-bright)); transform: scaleY(0); transform-origin:top;
  transition: transform .55s var(--ease); }
.xe-item:hover { transform: translateY(-6px); border-color: var(--blue-100); box-shadow: 0 34px 64px -40px rgba(29,41,55,.5); }
.xe-item:hover::before { transform: scaleY(1); }
.xe-item h4 { font-family: var(--sans); font-weight: 800; font-size:1.02rem; color: var(--ink); display:flex; align-items:center; gap:10px; transition: color .4s var(--ease); }
.xe-item:hover h4 { color: var(--blue-deep); }
.xe-item h4 .ar { color: var(--blue); transition: transform .55s var(--ease); margin-left:auto; }
.xe-item:hover h4 .ar { transform: translateX(5px); }
.xe-item p { color: var(--muted); font-size:.9rem; line-height:1.55; margin-top:10px; }

/* ============================================================ PROCESS */
.process-grid { display:grid; grid-template-columns: .85fr 1.15fr; gap: clamp(44px,6vw,100px); align-items:start; }
.process-lead { color: var(--muted); margin-top:24px; max-width:36ch; }
.steps { display:flex; flex-direction:column; }
.step { display:grid; grid-template-columns:auto 1fr; gap: clamp(24px,3vw,48px); padding: clamp(28px,3.2vw,40px) 0; border-top:1px solid var(--line); transition: padding-left .45s var(--ease); }
.step:last-child { border-bottom:1px solid var(--line); }
.step:hover { padding-left: 12px; }
.step .s-num { font-family: var(--display); font-size: clamp(1.9rem,2.6vw,2.6rem); font-style:italic; color: var(--blue); line-height:1; }
.step h3 { font-size: clamp(1.5rem,2vw,1.9rem); }
.step p { color: var(--muted); margin-top:12px; max-width:52ch; }

/* ============================================================ QUIZ */
.quiz-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px,5vw,80px); align-items:center; }
.quiz-intro p { color: var(--muted); margin-top:24px; max-width:40ch; }
.quiz-progress { margin-top:32px; display:flex; align-items:center; gap:16px; color: var(--blue-deep); font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; }
.quiz-progress .bar { flex:1; height:4px; border-radius:4px; background: var(--line-strong); position:relative; max-width:220px; overflow:hidden; }
.quiz-progress .bar i { position:absolute; left:0; top:0; height:100%; border-radius:4px; background: linear-gradient(90deg, var(--blue), var(--blue-bright)); transition: width .5s var(--ease); }
.quiz-card { position:relative; isolation:isolate; border:1px solid var(--line); border-radius: 22px; padding: clamp(28px,3.2vw,46px); min-height: 430px; display:flex; flex-direction:column; box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 50px 90px -52px rgba(29,41,55,.45); overflow:hidden;
  background:
    radial-gradient(50% 42% at 100% 0%, rgba(73,126,194,.10), transparent 62%),
    radial-gradient(rgba(73,126,194,.045) 1px, transparent 1.5px),
    linear-gradient(180deg,#fff, #fbf9f4);
  background-size: 100% 100%, 20px 20px, 100% 100%;
  background-repeat: no-repeat, repeat, no-repeat; }
.quiz-card > * { position:relative; z-index:1; }
.quiz-card::before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background: linear-gradient(90deg, var(--blue), var(--blue-bright)); }
.quiz-step { display:none; animation: fadeUp .5s var(--ease) both; }
.quiz-step.on { display:block; }
.quiz-q { font-family: var(--display); font-size: clamp(1.6rem,2.4vw,2.3rem); color: var(--ink); margin:14px 0 26px; line-height:1.1; }
.quiz-opt { width:100%; position:relative; isolation:isolate; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px 16px 20px; border:1px solid var(--line-strong); border-radius: 14px; background: var(--surface); font-weight:600; color: var(--ink); margin-bottom:10px; overflow:hidden; transition: border-color .35s, transform .35s var(--ease), box-shadow .35s var(--ease); }
.quiz-opt::before { content:""; position:absolute; inset:0; z-index:-1; background: linear-gradient(90deg, var(--blue), var(--blue-deep)); opacity:0; transition: opacity .35s var(--ease); }
.quiz-opt > * { position:relative; z-index:1; }
.quiz-opt .ar { width:30px; height:30px; flex:none; border-radius:50%; border:1px solid var(--line-strong); display:grid; place-items:center; color: var(--blue); font-size:0; transition: transform .35s var(--ease), background .35s, border-color .35s, color .35s; }
.quiz-opt .ar::after { content:"→"; font-size:.95rem; }
.quiz-opt:hover { border-color: var(--blue); transform: translateX(4px); box-shadow: 0 18px 34px -22px rgba(73,126,194,.6); }
.quiz-opt:hover::before { opacity:1; }
.quiz-opt:hover, .quiz-opt:hover .ar { color:#fff; }
.quiz-opt:hover .ar { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.5); transform: translateX(3px); }
.quiz-back { margin-top:auto; padding-top:18px; color: var(--muted); font-size:.9rem; display:inline-flex; gap:.5em; align-items:center; }
.quiz-back:hover { color: var(--ink); }
.quiz-result { display:none; }
.quiz-result.on { display:block; animation: fadeUp .5s var(--ease) both; }
.quiz-result .qr-tag { color: var(--blue-deep); font-weight:700; letter-spacing:.16em; text-transform:uppercase; font-size:.72rem; }
.quiz-result h3 { font-size: clamp(1.8rem,2.6vw,2.5rem); margin:14px 0 16px; }
.quiz-result p { color: var(--muted); }
.quiz-result .qr-cta { margin-top:28px; display:flex; gap:12px; flex-wrap:wrap; }

/* ---- premium dossier shell ---- */
.quiz-section { position:relative; isolation:isolate; overflow:hidden; background: var(--bg-2); }
.quiz-shell { grid-template-columns: .92fr 1.08fr; gap:0; align-items:stretch; border:1px solid var(--line); border-radius: var(--radius-lg); overflow:hidden; background: var(--surface); box-shadow: 0 60px 130px -60px rgba(13,27,46,.55), 0 2px 0 rgba(255,255,255,.6) inset; }

/* left dark photo panel */
.quiz-shell .quiz-intro { position:relative; isolation:isolate; display:flex; flex-direction:column; padding: clamp(34px,3.6vw,58px); color:#eaf1fc; overflow:hidden;
  background:
    linear-gradient(158deg, rgba(13,27,46,.88) 0%, rgba(10,20,34,.92) 55%, rgba(8,16,28,.96) 100%),
    url(../img/castle-night.jpg) center / cover no-repeat; }
.quiz-shell .quiz-intro .qi-glow { position:absolute; inset:0; z-index:-1; pointer-events:none;
  background: radial-gradient(58% 48% at 100% 0%, rgba(73,126,194,.42), transparent 62%); }
.quiz-shell .quiz-intro .eyebrow { color:#9fb6d4; }
.quiz-shell .quiz-intro .eyebrow .section-num { color: var(--blue-bright); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); }
.quiz-shell .quiz-intro .h2 { color:#f6f9fe; margin-top:18px; }
.quiz-shell .quiz-intro p { color:#b4c4da; }
.quiz-intro-foot { margin-top:auto; padding-top: clamp(28px,3vw,42px); }
.quiz-shell .quiz-progress { margin-top:0; color:#9fb6d4; }
.quiz-shell .quiz-progress .bar { background: rgba(255,255,255,.16); max-width:none; }
.qi-note { display:block; margin-top:16px; font-family: var(--mono); font-size:.72rem; letter-spacing:.06em; color:#8497b2; }

/* right card flush inside shell */
.quiz-shell .quiz-card { border:0; border-radius:0; box-shadow:none; min-height: 480px;
  background: radial-gradient(50% 42% at 100% 0%, rgba(73,126,194,.08), transparent 62%), linear-gradient(180deg,#fff,#fbf9f4); }
.quiz-shell .quiz-card::before { display:none; }

/* ============================================================ VIDEO */
.video-main { display:grid; grid-template-columns: 1.45fr 1fr; gap: 24px; margin-top: clamp(42px,5vw,62px); }
.video-feature { position:relative; border-radius: 18px; overflow:hidden; aspect-ratio:16/9; box-shadow: var(--shadow); background:#000; }
.video-feature iframe { width:100%; height:100%; border:0; display:block; }
.video-side { background: radial-gradient(120% 130% at 85% -10%, var(--blue-bright), var(--blue) 44%, var(--blue-dark) 100%); color:#fff; border-radius: 18px; padding: clamp(28px,3vw,40px); display:flex; flex-direction:column; }
.video-side .eyebrow { color: rgba(255,255,255,.9); }
.video-side h3 { color:#fff; font-size:1.8rem; margin-top:16px; }
.video-side p { color: rgba(255,255,255,.85); margin-top:14px; }
.video-side .yt-btn { margin-top:auto; padding-top:28px; }
.yt-pill { display:inline-flex; align-items:center; gap:10px; background:#ff0000; color:#fff; padding:12px 24px; border-radius:100px; font-weight:700; letter-spacing:.01em; box-shadow: 0 14px 30px -14px rgba(255,0,0,.6); transition: background .3s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease); }
.yt-pill:hover { background:#e60000; transform: translateY(-2px); box-shadow: 0 18px 36px -14px rgba(255,0,0,.7); }
.yt-pill .yt-ico { color:#fff; display:inline-flex; }
.yt-pill .yt-ico svg { width:24px; height:24px; }

.video-row { display:grid; grid-template-columns: repeat(3,1fr); gap:24px; margin-top:24px; }
.vthumb { position:relative; border-radius: 14px; overflow:hidden; aspect-ratio:16/9; background: var(--bg-3); display:block; box-shadow: var(--shadow-sm); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.vthumb:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.vthumb img { width:100%; height:100%; object-fit:cover; transition: transform .9s var(--ease); }
.vthumb:hover img { transform: scale(1.05); }
.vthumb .vp { position:absolute; left:16px; bottom:16px; width:46px; height:46px; border-radius:50%; background: rgba(255,255,255,.94); display:grid; place-items:center; transition: transform .35s var(--ease); box-shadow: var(--shadow-sm); }
.vthumb .vp svg { width:15px; height:15px; margin-left:2px; color: var(--blue); }
.vthumb:hover .vp { transform: scale(1.1); }
.vthumb .vt-title { position:absolute; left:0; right:0; bottom:0; padding:34px 16px 16px; background:linear-gradient(transparent, rgba(20,33,52,.85)); color:#fff; font-size:.92rem; font-weight:600; }

/* ============================================================ TESTIMONIALS */
.tst-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(22px,2.5vw,30px); margin-top: clamp(42px,5vw,62px); }
.tst-card { background: var(--surface); border:1px solid var(--line); border-radius: 8px; padding: clamp(28px,3vw,38px); display:flex; flex-direction:column; transition: transform .45s var(--ease), box-shadow .45s; }
.tst-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.tst-card .quote-mk { font-family: var(--display); font-size:4rem; line-height:.5; color: var(--blue); height:30px; }
.tst-card blockquote { font-family: var(--display); font-size:1.5rem; line-height:1.36; color: var(--ink); margin-top:14px; flex:1; font-weight:600; }
.tst-card .tst-by { display:flex; align-items:center; gap:14px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.tst-card .tst-av { width:46px; height:46px; border-radius:50%; background: var(--blue); color:#fff; display:grid; place-items:center; font-family: var(--display); font-size:1.2rem; flex:none; }
.tst-card .tst-name { font-weight:700; color: var(--ink); }
.tst-card .tst-role { font-size:.85rem; color: var(--muted); }
.tst-stars { display:flex; gap:3px; color: var(--blue); margin-bottom:6px; }
.tst-stars svg { width:15px; height:15px; }

/* ============================================================ CONTACT */
.contact-grid { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(44px,5vw,84px); align-items:start; }
.contact-intro p { color: var(--muted); margin-top:24px; max-width:40ch; }
.contact-list { margin-top:40px; }
.contact-list .ci { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-top:1px solid var(--line); transition: padding-left .35s var(--ease); }
.contact-list .ci:last-child { border-bottom:1px solid var(--line); }
.contact-list .ci:hover { padding-left:8px; }
.contact-list .ci .k { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color: var(--blue-deep); font-weight:700; }
.contact-list .ci .v { font-size:1.06rem; color: var(--ink); font-weight:600; transition: color .3s; }
.contact-list .ci:hover .v { color: var(--blue-deep); }

.form-card { background: #fff; border:1px solid var(--line); border-radius: 20px; padding: clamp(28px,3vw,44px); box-shadow: 0 50px 90px -50px rgba(7,14,26,.55); }
.field input, .field textarea, .field select { border-radius: 11px; }
.form-card h3 { font-size:1.8rem; }
.field { display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.field label { font-size:.8rem; font-weight:700; color: var(--ink); letter-spacing:.02em; }
.field label .req { color: var(--blue); }
.field input, .field textarea, .field select { width:100%; padding:14px 16px; border:1px solid var(--line-strong); border-radius: var(--radius); background: #fff; color: var(--ink); font-size:1rem; transition: border-color .3s, box-shadow .3s; }
.field input::placeholder, .field textarea::placeholder { color: var(--faint); }
.field input:focus, .field textarea:focus, .field select:focus { outline:none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(73,126,194,.16); }
.field .err { font-size:.8rem; color:#c0392b; display:none; }
.field.invalid input, .field.invalid textarea { border-color:#d05a48; }
.field.invalid .err { display:block; }
.seg { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.seg button { padding:13px; border:1px solid var(--line-strong); border-radius: var(--radius); background:#fff; font-weight:600; color: var(--muted); display:flex; align-items:center; justify-content:center; gap:8px; transition: all .3s; }
.seg button.on { background: var(--blue); color:#fff; border-color: var(--blue); }
.form-note { font-size:.8rem; color: var(--muted); margin-top:16px; }
.or-sep { display:flex; align-items:center; gap:14px; margin:18px 0; color:var(--muted); font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; }
.or-sep::before, .or-sep::after { content:""; flex:1; height:1px; background:var(--line-strong); }
.tg-btn svg { width:1.15em; height:1.15em; }
.form-success { display:none; text-align:center; padding:30px 10px; }
.form-success.on { display:block; animation: fadeUp .5s var(--ease) both; }
.form-success .fs-ico { width:64px; height:64px; border-radius:50%; background: var(--blue-50); color: var(--blue); display:grid; place-items:center; margin:0 auto 18px; }

/* ============================================================ FOOTER */
.footer-cta { text-align:center; padding-block: clamp(70px,9vw,136px); background: var(--bg-2); border-top:1px solid var(--line); }
.footer-cta .h2 { max-width: 18ch; margin:0 auto; }
.footer-cta p { color: var(--muted); max-width:48ch; margin:22px auto 0; }
.footer-cta .fc-btns { margin-top:36px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.footer { background: var(--slate); color: rgba(255,255,255,.62); }
.footer a:hover { color: #fff; }
.footer-main { padding-block: clamp(54px,6vw,84px); }
.footer-cols { display:grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: clamp(30px,4vw,56px); }
.footer .legal { font-size:.86rem; line-height:1.8; margin-top:22px; color: rgba(255,255,255,.55); }
.footer h5 { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color: var(--blue-bright); font-weight:700; margin-bottom:18px; }
.footer-links li { margin-bottom:12px; }
.footer-links a { color: rgba(255,255,255,.8); font-size:.95rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-block:24px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.83rem; color: rgba(255,255,255,.5); }
.footer-social { display:flex; gap:12px; }
.footer-social a { width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.16); display:grid; place-items:center; color:#fff; transition: all .3s; }
.footer-social a:hover { background: var(--blue); color:#fff; border-color: var(--blue); transform: translateY(-2px); }
.footer-social svg { width:17px; height:17px; }

/* ============================================================ PAGE HERO (interior) */
.crumbs { font-size:.84rem; color: var(--muted); display:flex; gap:10px; align-items:center; }
.crumbs a:hover { color: var(--ink); }
.crumbs .sep { color: var(--blue); }
.page-hero { position:relative; overflow:clip; }
.page-hero-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px,5vw,80px); align-items:center; padding-block: clamp(44px,5vw,80px); }
.page-hero .h1 { margin-top: 24px; }
.page-hero p.lead { margin-top:26px; }
.page-hero .ph-cta { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.ph-visual { position:relative; aspect-ratio:4/5; border-radius: 8px; overflow:hidden; box-shadow: var(--shadow-lg); }
.ph-visual img { width:100%; height:100%; object-fit:cover; }
.ph-visual .gold-corner { position:absolute; inset:16px; border:1px solid rgba(255,255,255,.55); z-index:3; pointer-events:none; border-radius:3px; }

/* sub services */
.subsvc { display:grid; grid-template-columns: repeat(2,1fr); gap:1px; background: var(--line); border:1px solid var(--line); margin-top: clamp(44px,5vw,64px); }
.subsvc .ss { background: var(--bg); padding: clamp(28px,3.2vw,44px); transition: background .4s; }
.subsvc .ss:hover { background: var(--bg-2); }
.subsvc .ss .n { font-family: var(--display); font-style:italic; color: var(--blue); font-size:1.05rem; }
.subsvc .ss h3 { font-size:1.65rem; margin:8px 0 12px; }
.subsvc .ss p { color: var(--muted); }

/* included — blue band */
.inc-grid { display:grid; grid-template-columns: .8fr 1.2fr; gap: clamp(44px,5vw,84px); align-items:center; }
.inc-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.inc-list li { display:flex; gap:14px; align-items:flex-start; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.16); color:#fff; font-weight:600; }
.inc-list .ck { color:#fff; flex:none; margin-top:2px; }
.band-blue .ph-visual .gold-corner { border-color: rgba(255,255,255,.6); }

/* light steps (service) */
.lsteps { display:grid; grid-template-columns: .8fr 1.2fr; gap: clamp(44px,5vw,84px); align-items:start; }
.lstep { display:grid; grid-template-columns:auto 1fr; gap: clamp(22px,2.8vw,42px); padding: clamp(26px,3vw,34px) 0; border-top:1px solid var(--line); }
.lstep:last-child { border-bottom:1px solid var(--line); }
.lstep .n { font-family: var(--display); font-style:italic; font-size: clamp(1.8rem,2.4vw,2.4rem); color: var(--blue); line-height:1; }
.lstep h3 { font-size: clamp(1.4rem,1.8vw,1.7rem); }
.lstep p { color: var(--muted); margin-top:10px; }

/* FAQ */
.faq { max-width: 900px; margin-inline:auto; margin-top: clamp(40px,5vw,60px); }
.faq-item { border-top:1px solid var(--line); }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-q { width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px 0; text-align:left; font-family: var(--display); font-size: clamp(1.35rem,1.9vw,1.75rem); color: var(--ink); }
.faq-q .pm { flex:none; width:32px; height:32px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; color: var(--blue); transition: transform .4s var(--ease), background .3s, color .3s; position:relative; }
.faq-q .pm::before, .faq-q .pm::after { content:""; position:absolute; background: currentColor; }
.faq-q .pm::before { width:12px; height:1.5px; }
.faq-q .pm::after { width:1.5px; height:12px; transition: transform .4s var(--ease); }
.faq-item.open .pm::after { transform: rotate(90deg) scaleX(0); }
.faq-item.open .pm { background: var(--blue); color:#fff; border-color: var(--blue); }
.faq-a { max-height:0; overflow:hidden; transition: max-height .5s var(--ease); }
.faq-a-inner { padding:0 0 28px; color: var(--muted); max-width:74ch; line-height:1.8; }

/* ============================================================ JOURNAL */
.journal-hero-grid { display:grid; grid-template-columns: 1.3fr 1fr; gap:40px; align-items:end; padding-top: clamp(34px,4vw,58px); }
.journal-hero .h1 { font-size: clamp(2.8rem,6.2vw,5.4rem); }
.journal-hero p { color: var(--muted); max-width:42ch; }
.hr-line { height:1px; background: var(--line); margin-top: clamp(30px,3vw,44px); }

.feat-post { display:grid; grid-template-columns: 1.1fr 1fr; gap: clamp(34px,4vw,64px); align-items:center; }
.feat-post .fp-img { aspect-ratio:4/3; border-radius: 8px; overflow:hidden; box-shadow: var(--shadow); }
.feat-post .fp-img img { width:100%; height:100%; object-fit:cover; transition: transform 1.1s var(--ease); }
.feat-post:hover .fp-img img { transform: scale(1.04); }
.post-meta { font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color: var(--muted); display:flex; gap:12px; align-items:center; }
.post-meta .cat, .post-meta .tag-main { color: var(--blue-deep); font-weight:700; }
.feat-post h2 { margin:18px 0; }
.feat-post p { color: var(--muted); max-width:50ch; }

.filters { display:flex; gap:10px; flex-wrap:wrap; margin: clamp(46px,6vw,70px) 0 clamp(30px,3vw,42px); align-items:center; }
.filters .fl-lab { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color: var(--muted); font-weight:700; margin-right:8px; }
.chip { padding:9px 20px; border:1px solid var(--line-strong); border-radius:40px; font-size:.88rem; font-weight:600; color: var(--muted); transition: all .3s; }
.chip.on, .chip:hover { background: var(--blue); color:#fff; border-color: var(--blue); }

.post-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(24px,2.6vw,38px); }
.pcard { display:flex; flex-direction:column; }
.pcard .pc-img { aspect-ratio:3/2; border-radius: 6px; overflow:hidden; background: var(--bg-3); box-shadow: var(--shadow-sm); }
.pcard .pc-img img { width:100%; height:100%; object-fit:cover; transition: transform .9s var(--ease); }
.pcard:hover .pc-img img { transform: scale(1.05); }
.pcard h3 { font-size:1.5rem; margin:16px 0 8px; transition: color .3s; }
.pcard:hover h3 { color: var(--blue-deep); }
.pcard p { color: var(--muted); font-size:.95rem; }
.pcard .pc-meta { margin-top:14px; }

/* newsletter (blue band) */
.nl-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.nl-grid p { color: rgba(255,255,255,.85); margin-top:14px; }
.nl-form { display:flex; gap:12px; }
.nl-form input { flex:1; padding:16px 18px; border-radius: var(--radius); border:1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.12); color:#fff; }
.nl-form input::placeholder { color: rgba(255,255,255,.7); }
.nl-form input:focus { outline:none; border-color:#fff; background: rgba(255,255,255,.2); }

/* ============================================================ ARTICLE */
.article-hd { max-width:820px; margin-inline:auto; }
.article-hd .h1 { font-size: clamp(2.4rem,4.6vw,3.8rem); margin:18px 0; }
.article-hd .dek { font-family: var(--display); font-style:italic; font-size: clamp(1.3rem,2vw,1.7rem); color: var(--muted); line-height:1.4; }
.article-author { display:flex; align-items:center; gap:14px; margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.article-author .aa-av { width:50px; height:50px; border-radius:50%; background: var(--blue); color:#fff; display:grid; place-items:center; font-family: var(--display); }
.article-author .aa-name { font-weight:700; color: var(--ink); }
.article-author .aa-meta { font-size:.85rem; color: var(--muted); }
.article-cover { aspect-ratio:16/9; border-radius: 10px; overflow:hidden; box-shadow: var(--shadow-lg); margin: clamp(38px,4vw,58px) auto; max-width:1040px; }
.article-cover img { width:100%; height:100%; object-fit:cover; }
.article-body { max-width:720px; margin-inline:auto; }
.article-body h2 { font-size: clamp(1.7rem,2.5vw,2.3rem); margin:46px 0 16px; }
.article-body p { margin-top:18px; color: var(--text); font-size:1.12rem; line-height:1.85; }
/* компактная картинка внутри текстовой колонки */
.article-figure { margin:0 0 clamp(28px,3vw,38px); }
.article-figure img { display:block; width:100%; height: clamp(220px,32vw,340px); object-fit:cover;
  border-radius:14px; box-shadow: var(--shadow); background: var(--bg-3); }
.article-figure figcaption { margin-top:12px; padding-left:16px; border-left:3px solid var(--blue);
  font-size:.92rem; line-height:1.55; color: var(--muted); }
/* первый абзац-лид без буквицы */
.article-body p.lead-para { margin-top:0; font-size: clamp(1.2rem,1.7vw,1.4rem); line-height:1.66;
  color: var(--ink); font-weight:500; }
/* выделение важного в тексте */
.article-body .hl { background: linear-gradient(transparent 62%, var(--blue-100) 0);
  padding:0 2px; color: var(--ink); font-weight:500; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.article-body blockquote { margin:34px 0; padding:6px 0 6px 28px; border-left:3px solid var(--blue); font-family: var(--display); font-style:italic; font-size: clamp(1.5rem,2.2vw,2rem); color: var(--ink); line-height:1.36; }

/* мощное финальное СТА */
.article-final-cta { max-width:840px; margin: clamp(46px,5vw,72px) auto clamp(20px,3vw,40px);
  background: var(--blue-dark); border-radius:22px; overflow:hidden; position:relative; box-shadow: var(--shadow-lg); isolation:isolate; }
/* фоновое фото Словакии - размытое и затемнённое */
.article-final-cta::before { content:""; position:absolute; inset:-24px; z-index:-2;
  background: url(../img/panorama.jpg) center 32%/cover no-repeat;
  filter: blur(5px) saturate(.85); transform: scale(1.06); }
.article-final-cta::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background: linear-gradient(145deg, rgba(40,75,120,.82) 0%, rgba(27,42,66,.93) 70%),
    radial-gradient(120% 140% at 88% -10%, rgba(255,255,255,.14), transparent 55%); }
.afc-inner { position:relative; padding: clamp(34px,4.6vw,60px); }
.afc-eyebrow { display:inline-block; font-family: var(--mono); font-size:.74rem; letter-spacing:.18em;
  text-transform:uppercase; color: rgba(255,255,255,.7); padding:6px 14px; border:1px solid rgba(255,255,255,.28);
  border-radius:100px; margin-bottom:20px; }
.afc-title { color:#fff; font-size: clamp(1.7rem,3vw,2.5rem); line-height:1.1; max-width:18ch; }
.afc-sub { color: rgba(255,255,255,.82); font-size:1.08rem; line-height:1.66; max-width:54ch; margin-top:16px; }
.afc-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 26px; margin-top:30px; }
.afc-tg { display:inline-flex; align-items:center; gap:9px; color:#fff; font-weight:600; font-size:1rem;
  transition: color .3s var(--ease); }
.afc-tg svg { width:21px; height:21px; opacity:.9; }
.afc-tg:hover { color: var(--blue-bright); }

/* ============================================================ reveal */
[data-reveal] { opacity:0; transform: translateY(32px); will-change: opacity, transform;
  transition: opacity .9s var(--ease), transform 1s var(--ease); transition-delay: var(--rd, 0s); }
[data-reveal].in { opacity:1; transform:none; }
[data-reveal="left"] { transform: translateX(-40px); }
[data-reveal="right"] { transform: translateX(40px); }
[data-reveal="scale"] { transform: scale(.94); }
[data-reveal="clip"] { clip-path: inset(0 0 100% 0); transform:none; transition: clip-path 1.05s var(--ease), opacity .7s var(--ease); }
[data-reveal="clip"].in { clip-path: inset(0 0 0 0); }
[data-reveal][data-d="1"]{ --rd:.08s; }
[data-reveal][data-d="2"]{ --rd:.16s; }
[data-reveal][data-d="3"]{ --rd:.24s; }
[data-reveal][data-d="4"]{ --rd:.32s; }
[data-reveal][data-d="5"]{ --rd:.4s; }
@keyframes fadeUp { from{opacity:0;transform:translateY(16px);} to{opacity:1;transform:none;} }
@media (prefers-reduced-motion: reduce){ [data-reveal]{opacity:1 !important;transform:none !important;clip-path:none !important;} }

/* ============================================================ EDITORIAL UPGRADES */
/* scroll progress */
.scroll-progress { position:fixed; top:0; left:0; right:0; height:2px; z-index:1100; background:transparent; pointer-events:none; }
.scroll-progress i { display:block; height:100%; width:0; background: var(--blue); transition: width .1s linear; }

/* section head */
.section-head { max-width: 34ch; }
.section-head .h2 { margin-top: 18px; }
.section-head .eyebrow + .h2 { max-width: 20ch; }

/* split head: big title left + supporting lead right (fills the row) */
.sh-split { max-width:none; display:grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px,5vw,80px); align-items:end; }
.sh-split .sh-main .h2 { max-width: 17ch; margin-top: 20px; }
.sh-split .sh-lead { color: var(--muted); font-size: clamp(1.02rem,1.15vw,1.18rem); line-height:1.62; max-width:44ch; padding-bottom:6px; }
.sh-side { display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding-bottom:6px; }
.sh-side .sh-lead { padding-bottom:0; }
.band-dark .sh-split .sh-lead { color:#a9bcd6; }
@media (max-width:860px){
  .sh-split { grid-template-columns:1fr; gap:18px; align-items:start; }
  .sh-split .sh-main .h2 { max-width:none; }
  .sh-split .sh-lead { max-width:none; }
}

/* ---- services index (interactive) ---- */
/* ===== dark premium band (process / contacts) ===== */
.band-dark { position:relative; isolation:isolate; overflow:hidden; border:0;
  background: linear-gradient(162deg, #0e1d31 0%, #0b1626 58%, #0a1320 100%); color:#e9f1fc; }
.band-dark .band-bg { position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(48% 60% at 88% 8%, rgba(73,126,194,.30), transparent 60%),
    radial-gradient(40% 50% at 4% 100%, rgba(73,126,194,.16), transparent 60%); }
.band-dark .band-bg::after { content:""; position:absolute; inset:0; opacity:.4; mix-blend-mode:soft-light;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 46px 46px; }
.band-dark .h2 { color:#f4f8fe; }
.band-dark .eyebrow { color:#9fb6d4; }
.band-dark .eyebrow::before { background:#6f9bd6; opacity:.7; }
.band-dark .eyebrow .section-num { color: var(--blue-bright); }
.band-dark .process-lead { color:#aebfd6; }

/* themed photo behind the dark band */
.band-photo .band-bg {
  background:
    linear-gradient(158deg, rgba(13,27,46,.93) 0%, rgba(11,22,38,.88) 52%, rgba(9,17,29,.95) 100%),
    radial-gradient(54% 64% at 86% 6%, rgba(73,126,194,.40), transparent 60%),
    url(../img/aerial-bridge.jpg) center 38% / cover no-repeat; }

/* steps as a vertical timeline with scroll-fill */
.band-dark .steps { position:relative; }
.band-dark .steps::before { content:""; position:absolute; left:24px; top:54px; bottom:54px; width:2px;
  background: rgba(150,175,212,.22); z-index:0; }
.band-dark .steps::after { content:""; position:absolute; left:24px; top:54px; width:2px; z-index:0;
  height: calc((100% - 108px) * var(--fill, 0));
  background: linear-gradient(var(--blue-bright), var(--blue));
  box-shadow: 0 0 14px rgba(111,155,214,.55); transition: height .25s linear; }
.band-dark .step { grid-template-columns: 48px 1fr; gap: clamp(18px,2.2vw,34px);
  border-top:1px solid rgba(255,255,255,.1); padding: clamp(22px,2.8vw,34px) 0; }
.band-dark .step:first-child { border-top:0; }
.band-dark .step .s-num { width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
  font-family: var(--mono); font-style:normal; font-size:1.02rem; color: var(--blue-bright);
  background: rgba(111,155,214,.13); border:1px solid rgba(111,155,214,.42); position:relative; z-index:1;
  transition: background .45s var(--ease), color .45s, box-shadow .45s var(--ease), border-color .45s; }
.band-dark .step h3 { color:#eef4fb; }
.band-dark .step p { color:#9fb2cc; }
.band-dark .step .s-num { transition: background .4s var(--ease), border-color .4s, color .4s, box-shadow .4s var(--ease), transform .5s var(--ease); }
.band-dark .step.active .s-num { background: var(--blue); border-color: var(--blue-bright); color:#fff; box-shadow:0 0 0 6px rgba(73,126,194,.20), 0 0 22px rgba(111,155,214,.45); transform: scale(1.08); }
.band-dark .step[data-reveal] { transition-duration:.6s,.65s; }
.band-dark .step.in .s-num { animation: nodePop .5s var(--ease); }
@keyframes nodePop { 0%{transform:scale(.5);opacity:.3} 60%{transform:scale(1.12)} 100%{transform:scale(1);opacity:1} }

/* contacts on dark band */
.band-dark .contact-intro p { color:#aebfd6; }
.band-dark .contact-list .ci { border-top-color: rgba(255,255,255,.12); }
.band-dark .contact-list .ci:last-child { border-bottom-color: rgba(255,255,255,.12); }
.band-dark .contact-list .ci .k { color: var(--blue-bright); }
.band-dark .contact-list .ci .v { color:#eaf1fc; }
.band-dark .contact-list .ci:hover .v { color:#fff; }
.band-dark .eyebrow .section-num[style] { color: var(--blue-bright) !important; }

/* contacts — innovative: drifting aurora + floating form */
#contacts .band-bg { background:
    radial-gradient(46% 56% at 18% 14%, rgba(73,126,194,.34), transparent 60%),
    radial-gradient(50% 60% at 90% 96%, rgba(111,155,214,.24), transparent 62%); }
#contacts .band-bg::before { content:""; position:absolute; width:60%; height:70%; left:55%; top:-10%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(111,155,214,.30), transparent 70%);
  filter: blur(30px); animation: aurora 14s ease-in-out infinite alternate; }
@keyframes aurora { 0%{ transform: translate(0,0) scale(1); opacity:.8 } 100%{ transform: translate(-14%,12%) scale(1.18); opacity:1 } }
#contacts .form-card { position:relative; padding:0; overflow:hidden; border-color: rgba(255,255,255,.10); }

/* dossier photo header */
#contacts .form-head { position:relative; isolation:isolate; overflow:hidden;
  padding: clamp(26px,3vw,38px) clamp(26px,3vw,42px) clamp(24px,2.6vw,32px);
  color:#fff; background: var(--blue-dark); }
#contacts .form-head-bg { position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(20,38,64,.62) 0%, rgba(26,46,76,.78) 60%, rgba(20,36,60,.92) 100%),
    url(../img/passports-hands.jpg) center 30% / cover no-repeat;
  transform: scale(1.04); transition: transform 1.2s var(--ease); }
#contacts .form-card:hover .form-head-bg { transform: scale(1.09); }
#contacts .form-head-meta { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom: clamp(34px,5vw,58px); }
#contacts .form-head-tag, #contacts .form-head-ref { font-family: var(--mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; }
#contacts .form-head-tag { color:#dbe6f6; padding:6px 12px; border:1px solid rgba(255,255,255,.28); border-radius:999px; backdrop-filter: blur(4px); }
#contacts .form-head-ref { color: rgba(220,231,247,.7); }
#contacts .form-head h3 { color:#fff; font-size: clamp(1.6rem,2.4vw,2rem); line-height:1.08; }
#contacts .form-head-note { color: rgba(224,234,249,.82); font-size:.92rem; margin-top:10px; }
/* perforation seam between header and body, like a document tear */
#contacts .form-head::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:14px; z-index:1;
  background: radial-gradient(circle at center, #fff 0 5px, transparent 5px) repeat-x;
  background-size:16px 14px; background-position: center bottom; }

#contacts #leadForm { padding: clamp(22px,2.6vw,30px) clamp(26px,3vw,42px) clamp(24px,3vw,38px); }
#contacts .form-success { padding: clamp(34px,4vw,48px) clamp(26px,3vw,42px); }

/* inputs with leading icon */
#contacts .input-wrap { position:relative; display:flex; align-items:center; }
#contacts .input-ico { position:absolute; left:15px; width:19px; height:19px; color: var(--faint); pointer-events:none; transition: color .3s var(--ease); }
#contacts .input-wrap input { padding-left:44px; }
#contacts .field input:focus + .input-ico,
#contacts .input-wrap input:focus ~ .input-ico,
#contacts .input-wrap:focus-within .input-ico { color: var(--blue); }
#contacts .field.invalid .input-ico { color:#d05a48; }

.contact-list .ci { position:relative; }
.contact-list .ci .v { display:inline-flex; align-items:center; gap:.55em; }
.contact-list .ci .v::after { content:"→"; opacity:0; transform: translateX(-6px); transition: opacity .35s var(--ease), transform .35s var(--ease); color: var(--blue-bright); }
.contact-list .ci:hover .v::after { opacity:1; transform: translateX(0); }
.contact-list .ci:hover { padding-left:14px; }
.field input:focus, .field textarea:focus, .field select:focus { box-shadow: 0 0 0 4px rgba(73,126,194,.18); }
@media (prefers-reduced-motion: reduce){ #contacts .band-bg::before { animation:none; } }

/* footer CTA as a blue band */
.footer-cta.band-blue { background: radial-gradient(120% 140% at 80% -20%, var(--blue-bright), var(--blue) 42%, var(--blue-dark) 100%); border-top:0; color:#fff; }
.footer-cta.band-blue .h2 { color:#fff; }
.footer-cta.band-blue .eyebrow { color: rgba(255,255,255,.85); }
.footer-cta.band-blue .eyebrow::before { background: rgba(255,255,255,.7); }
.footer-cta.band-blue p { color: rgba(255,255,255,.86); }
.footer-cta.band-blue .btn--ghost { --fg:#fff; border-color: rgba(255,255,255,.5); color:#fff; }
.footer-cta.band-blue .btn--ghost:hover { background: rgba(255,255,255,.14); border-color:#fff; color:#fff; }
.footer-cta.band-blue .btn:not(.btn--ghost) { --bg:#fff; --fg: var(--blue-dark); background:#fff; color: var(--blue-dark); }
.footer-cta.band-blue .btn:not(.btn--ghost):hover { background: #eef4fb; color: var(--blue-dark); }


/* ---- trust marquee ---- */
.trust-strip { border-block:1.5px solid var(--ink-line); background: var(--bg); overflow:hidden; }
.trust-strip .container { padding-inline:0; max-width:none; }
.trust-track { display:flex; width:max-content; animation: marquee 40s linear infinite; }
.trust-strip:hover .trust-track { animation-play-state: paused; }
.trust-track span { font-family: var(--mono); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color: var(--ink); font-weight:500; display:inline-flex; align-items:center; padding:16px 0; white-space:nowrap; }
.trust-track span::after { content:"✦"; margin:0 38px; color: var(--blue); font-size:.7em; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media (prefers-reduced-motion: reduce){ .trust-track{ animation:none; } }

/* ---- testimonials → case-file extracts ---- */
.tst-card { background: var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:none; }
.tst-card:hover { transform: translateY(-7px); box-shadow: 0 34px 60px -36px rgba(29,41,55,.4); border-color: var(--blue-100); }
.tst-card blockquote { font-size:1.4rem; font-weight:500; }
.tst-card .tst-av { border-radius:var(--radius-sm); }
.tst-card .tst-name { font-family: var(--sans); }
.tst-card .tst-role { font-family: var(--mono); font-size:.74rem; letter-spacing:.04em; }

/* ---- process pin + active step ---- */
@media (min-width:961px){ .proc-aside { position:sticky; top:108px; align-self:start; } }
.step { position:relative; }
.step::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background: var(--blue); transform:scaleY(0); transform-origin:top; transition: transform .6s var(--ease); }
.step.active::before { transform:scaleY(1); }
.step .s-num { transition: color .4s; }
.step.active .s-num { color: var(--blue-deep); }

/* ---- unified soft radii across cards ---- */
.form-card, .video-side, .video-feature, .vthumb { border-radius: var(--radius-card); }

/* ---- video poster feature ---- */
.video-feature { display:block; width:100%; padding:0; border:0; border-radius: var(--radius-card); }
.video-feature img { width:100%; height:100%; object-fit:cover; transition: transform .9s var(--ease); }
.video-feature:hover img { transform: scale(1.04); }
.video-feature .vf-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:76px; height:76px; border-radius:50%; background: rgba(255,255,255,.95); display:grid; place-items:center; box-shadow: var(--shadow); transition: transform .4s var(--ease); }
.video-feature .vf-play svg { width:24px; height:24px; margin-left:3px; color: var(--blue); }
.video-feature:hover .vf-play { transform: translate(-50%,-50%) scale(1.09); }
.video-feature .vf-cap { position:absolute; left:18px; bottom:15px; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.5); }

/* ---- video lightbox ---- */
.lightbox { position:fixed; inset:0; z-index:1300; background: rgba(16,16,14,.93); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding: clamp(16px,5vw,60px); opacity:0; visibility:hidden; transition: opacity .4s var(--ease), visibility .4s; }
.lightbox.open { opacity:1; visibility:visible; }
.lb-frame { width:min(1040px,100%); aspect-ratio:16/9; background:#000; box-shadow: var(--shadow-lg); transform: translateY(18px) scale(.98); transition: transform .5s var(--ease); }
.lightbox.open .lb-frame { transform:none; }
.lb-frame iframe { width:100%; height:100%; border:0; display:block; }
.lb-close { position:absolute; top:22px; right:28px; width:52px; height:52px; border:1px solid rgba(255,255,255,.4); border-radius:50%; background:transparent; color:#fff; font-size:2rem; line-height:1; display:grid; place-items:center; transition: background .3s, transform .4s var(--ease); }
.lb-close:hover { background: rgba(255,255,255,.16); transform: rotate(90deg); }

/* ============================================================ responsive */
@media (max-width:1080px){
  .svc-cards, .video-row, .tst-grid, .post-grid, .svc-extra .xe-grid { grid-template-columns: repeat(2,1fr); }
  .footer-cols { grid-template-columns:1fr 1fr; gap:36px; }
}
@media (max-width:960px){
  .nav, .header-cta .btn, .header-cta .lang { display:none; }
  .burger { display:flex; }
  .process-grid, .quiz-grid, .contact-grid, .page-hero-grid, .inc-grid, .lsteps, .video-main, .nl-grid, .feat-post, .journal-hero-grid { grid-template-columns:1fr; }
  .inc-list { grid-template-columns:1fr; gap:0; }
  .hero-grid { grid-template-columns:1fr; gap: clamp(30px,6vw,46px); }
  .hero-aside { max-width:460px; }
  .stamp { right:6px; }
  .hero-foot { margin-top: clamp(24px,4vw,40px); }
}
@media (max-width:860px){
  .svc-cards { grid-template-columns: 1fr 1fr; }
  .band-dark .steps::before { left:21px; }
}
@media (max-width:680px){
  body { font-size:16px; }
  .section { padding-block: clamp(64px,13vw,170px); }
  .h-hero { font-size: clamp(2rem, 8.6vw, 3.3rem); overflow-wrap: break-word; }
  .hero .h-hero { font-size: clamp(1.9rem, 7.6vw, 2.9rem); overflow-wrap:break-word; }
  .dossier-head { flex-direction:column; align-items:flex-start; gap:5px; letter-spacing:.12em; }
  .dossier-head .df-meta { font-size:.64rem; letter-spacing:.1em; }
  .hero-lead { max-width:none; }
  .hero-aside { max-width:300px; margin-inline:auto; }
  .founder-tag, .founder-plate { text-align:center; }
  .founder-tag { justify-content:center; gap:18px; }
  .founder-plate { justify-items:center; }
  .stamp { right:-2px; top:18px; width:74px; height:74px; }
  .hero-cta { flex-direction:column; align-items:flex-start; gap:16px; }
  .hero-cta .btn { width:auto; align-self:flex-start; }
  .hero-cta .btn--lg { padding:.92em 1.6em; font-size:.9rem; }
  .hero-figures { grid-template-columns:1fr 1fr; gap:24px 28px; }
  .hero-figures .fig:last-child { grid-column:1 / -1; }
  .h1 { font-size: clamp(2.2rem, 9vw, 3.1rem); }
  .topbar .tb-left { display:none; }
  .topbar .lang { display:none; }
  .topbar .container { justify-content:flex-end; }
  .svc-cards, .video-row, .tst-grid, .post-grid, .svc-extra .xe-grid, .subsvc { grid-template-columns:1fr; }
  .footer-cols { grid-template-columns:1fr; }
  .nl-form { flex-direction:column; }
  .seg { grid-template-columns:1fr; }
  .feat-post .fp-img { order:-1; }
  .footer-bottom { flex-direction:column; }
}

/* ============================================================ JOURNAL v2 — sidebar archive */
.tag-pill { display:inline-flex; align-items:center; padding:5px 13px 6px; border:1px solid var(--blue-100);
  border-radius:40px; background: var(--blue-50); color: var(--blue-deep);
  font-family: var(--mono); font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; font-weight:600; }
.jdate { font-family: var(--mono); font-size:.74rem; letter-spacing:.08em; color: var(--muted); }

.journal-shell { padding-top: clamp(28px,3.6vw,50px); }
.journal-shell .crumbs { margin-bottom: clamp(26px,3vw,40px); }
.journal-layout { display:grid; grid-template-columns: 304px 1fr; gap: clamp(40px,5vw,86px); align-items:start; }
.journal-side, .journal-main { min-width:0; }

/* sticky sidebar */
.journal-side { position:sticky; top:104px; }
.journal-side .h1 { font-size: clamp(2.2rem,3vw,3.1rem); line-height:1.02; margin-top:16px; }
.journal-side .js-sub { color: var(--muted); margin-top:18px; max-width:28ch; font-size:.96rem; line-height:1.55; }

.cat-nav { margin-top: clamp(34px,3.6vw,50px); display:flex; flex-direction:column; align-items:flex-start; }
.cat-link { position:relative; display:inline-flex; align-items:flex-start; gap:5px; padding:10px 0;
  font-family: var(--display); font-weight:600; font-size: clamp(1.3rem,1.7vw,1.55rem); line-height:1.1;
  color: var(--muted); transition: color .3s, transform .35s var(--ease); }
.cat-link sup { font-family: var(--mono); font-size:.58rem; font-weight:600; letter-spacing:.04em; color: var(--faint); top:-.2em; }
.cat-link::after { content:""; position:absolute; left:0; bottom:5px; height:1.5px; width:100%; background: var(--blue);
  transform: scaleX(0); transform-origin:left; transition: transform .42s var(--ease); }
.cat-link:hover { color: var(--ink); }
.cat-link.on { color: var(--blue-deep); }
.cat-link.on::after, .cat-link:hover::after { transform: scaleX(1); }
.cat-link.on sup { color: var(--blue); }

/* main column — featured */
.jfeat { display:block; padding-bottom: clamp(40px,4.4vw,62px); margin-bottom: clamp(40px,4.4vw,62px); border-bottom:1px solid var(--line); }
.jfeat .jf-img { display:block; height: clamp(240px,30vw,400px); border-radius:16px; overflow:hidden; box-shadow: var(--shadow); background: var(--bg-3); }
.jfeat .jf-img img { width:100%; height:100%; object-fit:cover; transition: transform 1.1s var(--ease); }
.jfeat:hover .jf-img img { transform: scale(1.04); }
.jf-meta { display:flex; align-items:center; gap:16px; margin-top: clamp(22px,2.4vw,30px); }
.jf-body { display:grid; grid-template-columns: 1.35fr 1fr; gap: clamp(22px,3vw,52px); align-items:start; margin-top:18px; }
.jf-body h2 { font-size: clamp(1.9rem,2.7vw,2.8rem); line-height:1.06; }
.jf-body h2 a { transition: color .3s; }
.jfeat:hover .jf-body h2 a { color: var(--blue-deep); }
.jf-desc { color: var(--muted); font-size:1.02rem; line-height:1.68; }
.jf-desc .link { margin-top:18px; }

/* main column — grid */
.jgrid { display:grid; grid-template-columns: repeat(2,1fr); gap: clamp(30px,3.2vw,46px) clamp(28px,3vw,44px); }
.jcard { display:flex; flex-direction:column; }
.jcard .jc-img { aspect-ratio:16/10; border-radius:12px; overflow:hidden; background: var(--bg-3); box-shadow: var(--shadow-sm); }
.jcard .jc-img img { width:100%; height:100%; object-fit:cover; transition: transform .9s var(--ease); }
.jcard:hover .jc-img img { transform: scale(1.05); }
.jcard h3 { font-size:1.55rem; line-height:1.12; margin:16px 0 9px; transition: color .3s; }
.jcard:hover h3 { color: var(--blue-deep); }
.jcard p { color: var(--muted); font-size:.94rem; line-height:1.55; }
.jc-meta { display:flex; align-items:center; gap:14px; margin-top: clamp(14px,1.6vw,18px); }
.jcard[hidden] { display:none; }

/* ============================================================ ARTICLE v2 — header */
.article-shell { padding-top: clamp(28px,3.6vw,50px); }
.article-top { margin: clamp(26px,3vw,40px) 0 clamp(30px,3.4vw,46px); }
.article-top > .tag-pill { margin-bottom: clamp(22px,2.6vw,32px); }
.at-grid { display:grid; grid-template-columns: 1.42fr 1fr; gap: clamp(26px,4vw,68px); align-items:start; }
.at-grid h1 { font-size: clamp(2.3rem,4vw,3.5rem); line-height:1.04; }
.at-desc { color: var(--muted); font-size:1.04rem; line-height:1.62; padding-top:7px; }
.at-foot { display:flex; justify-content:space-between; align-items:center; gap:20px 30px;
  margin-top: clamp(26px,3vw,40px); padding-top: clamp(22px,2.4vw,30px); border-top:1px solid var(--line); flex-wrap:wrap; }
.at-author { display:flex; align-items:center; gap:12px; }
.at-author .aa-av { width:44px; height:44px; border-radius:50%; background: var(--blue); color:#fff;
  display:grid; place-items:center; font-family: var(--display); font-size:1.1rem; flex:none; }
.at-author .aa-by { color: var(--muted); font-size:.95rem; }
.at-author .aa-by strong { color: var(--ink); font-weight:700; }
.at-date { font-family: var(--mono); font-size:.82rem; letter-spacing:.08em; color: var(--muted); }

@media (max-width:1080px){
  .jgrid { grid-template-columns: 1fr; }
  .jf-body { grid-template-columns: 1fr; gap:14px; }
  .jf-desc { max-width:60ch; }
}
@media (max-width:960px){
  .journal-layout { grid-template-columns:1fr; gap: clamp(30px,5vw,44px); }
  .journal-side { position:static; }
  .journal-side .js-sub { max-width:none; }
  /* рубрики в горизонтальную ленту со скроллом */
  .cat-nav { flex-flow:row nowrap; align-items:center; gap:0 22px; margin-top: clamp(24px,3vw,32px);
    overflow-x:auto; padding-bottom:6px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .cat-nav::-webkit-scrollbar { display:none; }
  .cat-link { font-size:1.2rem; padding:6px 0; white-space:nowrap; flex:none; }
  .cat-link::after { bottom:2px; }
  .at-grid { grid-template-columns:1fr; gap:16px; }
  .at-grid h1 { font-size: clamp(2rem,7vw,2.7rem); }
}
@media (max-width:680px){
  .journal-shell .crumbs { margin-bottom:20px; }
  .journal-side .h1 { font-size: clamp(2rem,8.4vw,2.7rem); }
  .jfeat .jf-img { height: clamp(200px,52vw,300px); border-radius:12px; }
  .jfeat { padding-bottom:34px; margin-bottom:34px; }
  .jf-body h2 { font-size: clamp(1.7rem,7vw,2.2rem); }
  .jgrid { gap:34px; }
  .jcard h3 { font-size:1.4rem; }
  .jf-meta, .jc-meta { flex-wrap:wrap; gap:10px 14px; }
  .at-foot { gap:14px; }
  .afc-actions .btn { width:100%; justify-content:center; }
  .madeby { width:100%; justify-content:center; }
}

/* ============================================================ MADE-BY badge */
.madeby { display:inline-flex; align-items:center; gap: clamp(13px,1.6vw,24px);
  padding: 10px 19px 10px 21px; border-radius: 100px;
  border:1px solid rgba(111,155,214,.30);
  background: linear-gradient(115deg, rgba(111,155,214,.10), rgba(111,155,214,0) 58%);
  transition: border-color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease); }
.madeby:hover { border-color: rgba(111,155,214,.75); transform: translateY(-2px);
  box-shadow: 0 16px 36px -20px rgba(73,126,194,.55); }
.madeby .mb-label { font-family: var(--mono); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
  color: rgba(255,255,255,.5); white-space:nowrap; transition: color .4s; }
.madeby:hover .mb-label { color: rgba(255,255,255,.68); }

/* ============================================================ REVIEWS — Google-style wall */
:root { --star: #e0a32f; --star-off: #d8cdb6; }

/* hero rating mention */
.hero-rating { display:inline-flex; align-items:center; gap:11px; margin-top: clamp(20px,2.4vw,30px);
  padding:9px 16px 9px 14px; border:1px solid var(--line-strong); border-radius:100px; background: var(--surface);
  width:max-content; max-width:100%; text-decoration:none; cursor:pointer; transition: border-color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease); }
.hero-rating:hover { border-color: var(--blue); transform: translateY(-2px); box-shadow: 0 14px 30px -20px rgba(73,126,194,.5); }
.hero-rating .hr-stars { color: var(--star); letter-spacing:1px; font-size:.92rem; }
.hero-rating .hr-txt { font-size:.86rem; color: var(--text); white-space:nowrap; }
.hero-rating .hr-txt strong { color: var(--ink); font-weight:800; }
.hero-rating .hr-go { color: var(--blue); font-weight:700; transition: transform .35s var(--ease); }
.hero-rating:hover .hr-go { transform: translateX(3px); }

/* summary board */
.section--reviews { padding-block: clamp(64px,8vw,128px); }
.rv-board { margin-top: clamp(40px,4.6vw,60px); display:grid; grid-template-columns: minmax(240px,.78fr) 1fr;
  gap: clamp(24px,3vw,46px); align-items:center; background: var(--surface); border:1px solid var(--line);
  border-radius:20px; padding: clamp(26px,3vw,40px); box-shadow: 0 30px 60px -44px rgba(29,41,55,.34); }
.rv-score { display:flex; flex-direction:column; align-items:flex-start; gap:6px;
  padding-right: clamp(24px,3vw,46px); border-right:1px solid var(--line); }
.rv-google { display:inline-flex; align-items:center; gap:8px; padding:6px 12px 6px 10px; margin-bottom:6px;
  border:1px solid var(--line-strong); border-radius:100px; background: var(--surface); }
.rv-google-g { width:16px; height:16px; flex:none; }
.rv-google-txt { font-weight:600; font-size:.84rem; color: var(--ink); white-space:nowrap; }
.rv-score-num { font-family: var(--display); font-weight:600; font-size: clamp(3.6rem,6vw,5.2rem); line-height:.95; color: var(--ink); letter-spacing:-.01em; }
.rv-score-stars { color: var(--star); font-size:1.5rem; letter-spacing:3px; }
.rv-score-sub { color: var(--muted); font-size:.95rem; }
.rv-score-sub strong { color: var(--ink); font-weight:700; }
.rv-score-cta { margin-top:18px; }
.rv-dist { display:flex; flex-direction:column; gap:9px; min-width:0; }
.rv-row { display:flex; align-items:center; gap:14px; }
.rv-row-k { font-family: var(--mono); font-size:.82rem; color: var(--muted); width:10px; text-align:center; flex:none; }
.rv-bar { flex:1; height:8px; border-radius:6px; background: var(--bg-3); overflow:hidden; }
.rv-bar i { display:block; height:100%; border-radius:6px; background: linear-gradient(90deg, var(--star), #eab94f); transform-origin:left; }
.rv-row-v { font-family: var(--mono); font-size:.8rem; color: var(--muted); width:34px; text-align:right; flex:none; }
.rv-src { display:flex; align-items:center; gap:9px; margin-top:8px; font-size:.82rem; color: var(--muted); line-height:1.4; }
.rv-src-ico { flex:none; width:18px; height:18px; border-radius:50%; background: var(--blue-50); color: var(--blue); display:grid; place-items:center; }
.rv-src-ico svg { width:11px; height:11px; }

/* the wall */
.rv-wall { position:relative; margin-top: clamp(26px,3vw,40px); }
.rv-columns { columns: 3; column-gap: clamp(16px,1.8vw,24px); }
.rv-columns.rv-js { columns:auto; display:flex; gap: clamp(16px,1.8vw,24px); align-items:flex-start; }
.rv-col { flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap: clamp(16px,1.8vw,24px); }
.rv-columns.rv-js .gr-card { margin-bottom:0; }
.rv-wall.is-collapsed .rv-columns { height: clamp(640px,82vh,900px); overflow:hidden; }
.rv-fade { position:absolute; left:0; right:0; bottom:0; height:200px; pointer-events:none;
  background: linear-gradient(180deg, rgba(244,239,228,0), var(--bg) 86%); transition: opacity .4s var(--ease); }
.rv-wall:not(.is-collapsed) .rv-fade { opacity:0; }

.gr-card { break-inside:avoid; -webkit-column-break-inside:avoid; display:block; background: var(--surface);
  border:1px solid var(--line); border-radius:16px; padding: clamp(18px,1.8vw,24px);
  margin-bottom: clamp(16px,1.8vw,24px); transform: translateY(0); backface-visibility:hidden;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.gr-card:hover { transform: translateY(-4px); box-shadow: 0 26px 48px -34px rgba(29,41,55,.42); border-color: var(--blue-100); }
.gr-top { display:flex; align-items:center; gap:12px; }
.gr-av { flex:none; width:42px; height:42px; border-radius:50%; color:#fff; display:grid; place-items:center;
  font-family: var(--display); font-weight:600; font-size:1.18rem; line-height:1; }
.gr-meta { display:flex; flex-direction:column; min-width:0; flex:1; }
.gr-name { font-weight:700; color: var(--ink); font-size:.98rem; line-height:1.25; }
.gr-sub { font-family: var(--mono); font-size:.7rem; letter-spacing:.02em; color: var(--muted); margin-top:1px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gr-src { flex:none; width:18px; height:18px; background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%234285F4' d='M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z'/%3E%3Cpath fill='%2334A853' d='M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z'/%3E%3Cpath fill='%23FBBC05' d='M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24s.85 6.91 2.34 9.88l7.35-5.7z'/%3E%3Cpath fill='%23EA4335' d='M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z'/%3E%3C/svg%3E"); }
.gr-stars { display:flex; gap:1px; margin:13px 0 9px; }
.gr-stars i { font-style:normal; color: var(--star-off); font-size:.92rem; line-height:1; }
.gr-stars i.on { color: var(--star); }
.gr-text { color: var(--text); font-size:.94rem; line-height:1.56; }

.rv-more { display:flex; justify-content:center; margin-top: clamp(22px,2.6vw,34px); }
.rv-toggle { gap:.6em; }
.rv-chev { width:18px; height:18px; transition: transform .4s var(--ease); }
.rv-toggle[aria-expanded="true"] .rv-chev { transform: rotate(180deg); }

/* leave-a-review form */
.rv-form-wrap { position:relative; margin-top: clamp(46px,5.4vw,80px); display:grid;
  grid-template-columns: .82fr 1fr; gap: clamp(28px,3.4vw,56px); align-items:start;
  background: var(--surface); border:1px solid var(--line); border-radius:20px;
  padding: clamp(28px,3.4vw,52px); box-shadow: 0 30px 60px -44px rgba(29,41,55,.34); }
.rv-form-wrap { display:none; }
#rvWall:not(.is-collapsed) ~ .rv-form-wrap { display:grid; }
.rv-form-intro .eyebrow { color: var(--blue-deep); }
.rv-form-intro h3 { font-family: var(--display); font-weight:600; font-size: clamp(1.7rem,2.4vw,2.3rem);
  line-height:1.08; color: var(--ink); margin-top:16px; }
.rv-form-intro p { color: var(--muted); margin-top:14px; font-size:1rem; line-height:1.6; max-width:34ch; }
.rv-form .field:first-child { margin-top:0; }
.rv-rate { display:inline-flex; gap:6px; }
.rv-rate-st { font-size:2rem; line-height:1; color: var(--star-off); padding:2px 2px; border-radius:6px;
  transition: transform .2s var(--ease), color .2s; }
.rv-rate-st:hover { transform: translateY(-2px); }
.rv-rate-st.on, .rv-rate-st.hot { color: var(--star); }
.rv-rate-st:active { transform: scale(.9); }
.rv-submit { margin-top:24px; }
.rv-form-done { display:none; }
.rv-form-done.on { display:block; grid-column:1 / -1; text-align:center; padding: clamp(10px,2vw,26px) 10px;
  animation: fadeUp .5s var(--ease) both; }
.rv-form-done .fs-ico { width:64px; height:64px; border-radius:50%; background: var(--blue-50); color: var(--blue);
  display:grid; place-items:center; margin:0 auto 18px; }
.rv-form-done .fs-ico svg { width:28px; height:28px; }
.rv-form-done h3 { font-family: var(--display); font-weight:600; font-size:1.8rem; color: var(--ink); }

@media (max-width:1080px){ .rv-columns { columns:2; } }
@media (max-width:860px){
  .rv-board { grid-template-columns:1fr; }
  .rv-score { border-right:0; border-bottom:1px solid var(--line); padding-right:0; padding-bottom:24px; align-items:center; text-align:center; }
  .rv-form-wrap { grid-template-columns:1fr; }
  .rv-form-intro p { max-width:none; }
}
@media (max-width:680px){
  .rv-columns { columns:1; }
  .rv-wall.is-collapsed .rv-columns { height: clamp(720px,120vw,1000px); }
}
.madeby .mb-sep { width: clamp(16px,2.2vw,30px); height:1px; background: rgba(111,155,214,.6); flex:none; }
.madeby .mb-brand { font-family: var(--sans); font-weight:800; font-size:1.04rem; letter-spacing:-.01em; color:#fff; line-height:1; white-space:nowrap; }
.madeby .mb-by { color: rgba(255,255,255,.42); }
.madeby .mb-alex { color:#ec7a40; }
.madeby .mb-ar { width:13px; height:13px; flex:none; color:#ec7a40; transition: transform .4s var(--ease); }
.madeby:hover .mb-ar { transform: translate(3px,-3px); }
/* language toggle — driven by <html lang> */
.madeby .lang-en { display:none; }
html:not([lang="ru"]) .madeby .lang-ru { display:none; }
html:not([lang="ru"]) .madeby .lang-en { display:inline; }
@media (max-width:680px){ .madeby { padding:9px 16px; gap:12px; } .madeby .mb-label { letter-spacing:.16em; } }

/* ============================================================ SERVICE PAGE — marketing/CRO upgrades */

/* hero USP chips + floating proof card */
.usp-row { display:flex; flex-wrap:wrap; gap:10px 10px; margin-top:24px; }
.usp { display:inline-flex; align-items:center; gap:9px; padding:8px 14px 8px 11px; border:1px solid var(--line-strong);
  border-radius:100px; background: var(--surface); font-size:.84rem; font-weight:600; color: var(--ink); }
.usp svg { width:15px; height:15px; color: var(--blue); flex:none; }
.ph-visual .ph-badge { position:absolute; z-index:4; left:16px; bottom:16px; right:16px;
  display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:14px;
  background: rgba(251,248,241,.92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: 0 18px 40px -22px rgba(13,27,46,.6); border:1px solid rgba(255,255,255,.7); }
.ph-badge .pb-n { font-family: var(--display); font-weight:600; font-size:2.1rem; line-height:1; color: var(--blue-deep); flex:none; }
.ph-badge .pb-t { font-size:.82rem; line-height:1.35; color: var(--text); }
.ph-badge .pb-t strong { color: var(--ink); }
@media (max-width:680px){ .ph-visual .ph-badge { position:static; margin-top:14px; } }

/* proof bar — 4 stats on paper */
.proofbar { border-block:1px solid var(--line); background: var(--bg-2); }
.proofbar .container { display:grid; grid-template-columns: repeat(4,1fr); gap:1px; padding-inline:0; max-width:none; }
.proofbar .pb-cell { padding: clamp(26px,3vw,40px) clamp(20px,3vw,46px); position:relative; }
.proofbar .pb-cell + .pb-cell::before { content:""; position:absolute; left:0; top:22%; bottom:22%; width:1px; background: var(--line); }
.proofbar .pb-num { font-family: var(--display); font-weight:600; font-size: clamp(2.1rem,3.2vw,3rem); line-height:1; color: var(--ink); letter-spacing:-.02em; }
.proofbar .pb-num em { font-style:italic; color: var(--blue); }
.proofbar .pb-lab { font-family: var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color: var(--muted); margin-top:11px; line-height:1.45; }
@media (max-width:860px){ .proofbar .container { grid-template-columns: 1fr 1fr; gap:1px; background: var(--line); }
  .proofbar .pb-cell { background: var(--bg-2); }
  .proofbar .pb-cell + .pb-cell::before { display:none; } }

/* pain / risk cards */
.why-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(14px,1.5vw,22px); margin-top: clamp(40px,4.4vw,60px); }
.why-card { position:relative; overflow:hidden; padding: clamp(26px,2.4vw,34px); border-radius:18px; border:1px solid var(--line);
  background: linear-gradient(158deg,#fffdf9,#f6f1e7); box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .45s; }
.why-card:hover { transform: translateY(-6px); border-color: var(--blue-100); box-shadow: 0 34px 64px -42px rgba(29,41,55,.5); }
.why-card .wc-ico { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; margin-bottom:18px;
  background: var(--blue-50); color: var(--blue-deep); border:1px solid var(--blue-100); }
.why-card .wc-ico svg { width:22px; height:22px; }
.why-card h3 { font-size:1.3rem; line-height:1.2; }
.why-card p { color: var(--muted); font-size:.94rem; line-height:1.6; margin-top:10px; }

/* основания — rich cards with price */
.basis-grid { display:grid; grid-template-columns: repeat(2,1fr); gap: clamp(14px,1.5vw,22px); margin-top: clamp(40px,4.4vw,60px); }
.basis { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; gap:12px;
  padding: clamp(28px,2.6vw,40px); border-radius:20px; border:1px solid var(--line);
  background: radial-gradient(60% 56% at 100% 0%, rgba(73,126,194,.08), transparent 60%), linear-gradient(158deg,#fffdf9,#f6f1e7);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 14px 34px -28px rgba(29,41,55,.5);
  transition: transform .55s var(--ease), box-shadow .55s var(--ease), border-color .45s; }
.basis::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background: linear-gradient(90deg,var(--blue),var(--blue-bright));
  transform: scaleX(0); transform-origin:left; transition: transform .55s var(--ease); }
.basis:hover { transform: translateY(-7px); border-color: var(--blue-100); box-shadow: 0 44px 80px -42px rgba(29,41,55,.5); }
.basis:hover::before { transform: scaleX(1); }
.basis .b-top { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.basis .b-n { font-family: var(--mono); font-size:.74rem; letter-spacing:.1em; color: var(--blue-deep); font-weight:600; }
.basis .b-tag { font-family: var(--mono); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color: var(--muted);
  border:1px solid var(--line-strong); border-radius:100px; padding:4px 11px; }
.basis h3 { font-size: clamp(1.5rem,1.9vw,1.9rem); line-height:1.06; }
.basis p { color: var(--muted); font-size:.94rem; line-height:1.6; }
.basis .b-meta { margin-top:auto; padding-top:16px; border-top:1px solid var(--line); display:flex; align-items:baseline; gap:8px; }
.basis .b-meta .bm-k { font-family: var(--mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color: var(--muted); }
.basis .b-meta .bm-v { font-family: var(--display); font-weight:600; font-size:1.2rem; color: var(--ink); }
.basis .b-fit { font-size:.86rem; color: var(--text); display:flex; align-items:flex-start; gap:9px; }
.basis .b-fit svg { width:15px; height:15px; color: var(--blue); flex:none; margin-top:4px; }
@media (max-width:860px){ .basis-grid { grid-template-columns:1fr; } }

/* comparison — сами vs с нами */
.compare { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(16px,1.8vw,26px); margin-top: clamp(40px,4.4vw,60px); }
.cmp { border-radius:20px; padding: clamp(28px,2.8vw,40px); border:1px solid var(--line); }
.cmp--bad { background: var(--surface-2); }
.cmp--good { position:relative; isolation:isolate; overflow:hidden; color:#eaf1fc; border:0;
  background: linear-gradient(162deg,#0e1d31,#0b1626 60%,#0a1320); box-shadow: 0 50px 100px -54px rgba(13,27,46,.7); }
.cmp--good::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background: radial-gradient(54% 56% at 92% 6%, rgba(73,126,194,.34), transparent 60%); }
.cmp .cmp-h { display:flex; align-items:center; gap:12px; padding-bottom:20px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.cmp--good .cmp-h { border-bottom-color: rgba(255,255,255,.16); }
.cmp .cmp-h .ch-ico { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; flex:none; }
.cmp--bad .ch-ico { background:#f0e3df; color:#b4543f; }
.cmp--good .ch-ico { background: rgba(111,155,214,.18); color: var(--blue-bright); border:1px solid rgba(111,155,214,.4); }
.cmp .cmp-h h3 { font-size:1.4rem; }
.cmp--good .cmp-h h3 { color:#f4f8fe; }
.cmp .cmp-h .ch-sub { font-family: var(--mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color: var(--muted); margin-top:3px; }
.cmp--good .ch-sub { color:#9fb6d4; }
.cmp ul { display:flex; flex-direction:column; }
.cmp li { display:flex; gap:13px; align-items:flex-start; padding:14px 0; font-size:.96rem; line-height:1.5; }
.cmp--bad li { color: var(--text); border-bottom:1px solid var(--line-soft); }
.cmp--good li { color:#cdd9ea; border-bottom:1px solid rgba(255,255,255,.1); }
.cmp li:last-child { border-bottom:0; }
.cmp li .li-ico { flex:none; margin-top:1px; width:20px; height:20px; }
.cmp--bad li .li-ico { color:#c66a54; }
.cmp--good li .li-ico { color: var(--blue-bright); }
.cmp--good .cmp-cta { margin-top:22px; }
@media (max-width:860px){ .compare { grid-template-columns:1fr; } }

/* facts band — big numbers */
.facts-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: clamp(24px,3vw,40px); margin-top: clamp(40px,4.4vw,58px); }
.fact .f-n { font-family: var(--display); font-weight:600; font-size: clamp(2.6rem,4.2vw,4rem); line-height:.95; color:#f4f8fe; letter-spacing:-.02em; }
.fact .f-n em { font-style:italic; color: var(--blue-bright); }
.fact .f-l { color:#a9bcd6; font-size:.94rem; line-height:1.5; margin-top:12px; max-width:24ch; }
@media (max-width:860px){ .facts-grid { grid-template-columns: 1fr 1fr; gap:32px 28px; } }

/* pricing packages */
.pkg-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(16px,1.7vw,24px); margin-top: clamp(40px,4.4vw,60px); align-items:start; }
.pkg { position:relative; display:flex; flex-direction:column; padding: clamp(28px,2.6vw,38px); border-radius:20px; border:1px solid var(--line);
  background: var(--surface); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 14px 34px -30px rgba(29,41,55,.5);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .45s; }
.pkg:hover { transform: translateY(-6px); box-shadow: 0 40px 78px -42px rgba(29,41,55,.5); border-color: var(--blue-100); }
.pkg--feat { border-color: var(--blue); box-shadow: 0 40px 90px -44px rgba(73,126,194,.6); }
.pkg--feat::before { content:"Чаще всего выбирают"; position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  font-family: var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:#fff;
  background: var(--blue); padding:5px 14px; border-radius:100px; white-space:nowrap; box-shadow: 0 10px 24px -12px rgba(73,126,194,.7); }
.pkg .pk-name { font-family: var(--display); font-weight:600; font-size:1.5rem; color: var(--ink); }
.pkg .pk-desc { color: var(--muted); font-size:.9rem; line-height:1.5; margin-top:6px; min-height:42px; }
.pkg .pk-price { display:flex; align-items:baseline; gap:6px; margin:18px 0 4px; padding-top:18px; border-top:1px solid var(--line); }
.pkg .pk-price .pk-from { font-family: var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color: var(--muted); }
.pkg .pk-price .pk-v { font-family: var(--display); font-weight:600; font-size: clamp(2.1rem,2.8vw,2.7rem); line-height:1; color: var(--ink); }
.pkg .pk-price .pk-cur { font-family: var(--display); font-weight:600; font-size:1.4rem; color: var(--ink); }
.pkg ul { display:flex; flex-direction:column; gap:0; margin:18px 0 24px; }
.pkg li { display:flex; gap:11px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--line-soft); font-size:.92rem; color: var(--text); line-height:1.45; }
.pkg li:last-child { border-bottom:0; }
.pkg li svg { width:17px; height:17px; color: var(--blue); flex:none; margin-top:2px; }
.pkg .btn { margin-top:auto; }
@media (max-width:960px){ .pkg-grid { grid-template-columns:1fr; max-width:440px; margin-inline:auto; } .pkg--feat::before { left:24px; transform:none; } }

/* expert / founder block */
.expert { display:grid; grid-template-columns: .82fr 1.18fr; gap: clamp(36px,5vw,80px); align-items:center; }
.expert .ex-photo { position:relative; border-radius:20px; overflow:hidden; aspect-ratio:4/5; box-shadow: var(--shadow-lg);
  background: radial-gradient(120% 90% at 50% 8%, var(--blue-bright), var(--blue) 46%, var(--blue-dark) 100%); }
.expert .ex-photo img { width:100%; height:100%; object-fit:cover; object-position:top center; filter: drop-shadow(0 20px 30px rgba(13,27,46,.3)); }
.expert .ex-photo .gold-corner { position:absolute; inset:16px; border:1px solid rgba(255,255,255,.5); border-radius:3px; z-index:2; pointer-events:none; }
.expert blockquote { font-family: var(--display); font-weight:500; font-size: clamp(1.6rem,2.5vw,2.4rem); line-height:1.24; color: var(--ink); margin:18px 0 0; }
.expert .ex-sign { display:flex; align-items:center; gap:14px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.expert .ex-av { width:54px; height:54px; border-radius:50%; overflow:hidden; background: var(--blue); flex:none; }
.expert .ex-av img { width:100%; height:100%; object-fit:cover; }
.expert .ex-name { font-weight:800; color: var(--ink); }
.expert .ex-role { font-family: var(--mono); font-size:.76rem; letter-spacing:.04em; color: var(--muted); margin-top:2px; }
.expert .ex-creds { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.expert .ex-creds span { font-family: var(--mono); font-size:.72rem; letter-spacing:.04em; color: var(--blue-deep);
  background: var(--blue-50); border:1px solid var(--blue-100); border-radius:100px; padding:6px 13px; }
@media (max-width:860px){ .expert { grid-template-columns:1fr; } .expert .ex-photo { max-width:380px; } }

/* sticky mobile CTA */
.sticky-cta { position:fixed; left:0; right:0; bottom:0; z-index:880; display:none; gap:10px; padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  background: rgba(251,248,241,.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top:1px solid var(--line-strong);
  box-shadow: 0 -10px 30px -18px rgba(13,27,46,.4); }
.sticky-cta .btn { flex:1; padding:.92em 1em; font-size:.9rem; }
.sticky-cta .sc-call { flex:none; width:50px; padding:0; }
@media (max-width:680px){ .sticky-cta { display:flex; } body { padding-bottom:74px; } }

/* service page — heading layout: wider measure + balanced line breaks */
.svc-page .section-head { max-width: 60ch; }
.svc-page .section-head .h2,
.svc-page .section-head .eyebrow + .h2 { max-width: 26ch; text-wrap: balance; }
.svc-page .h1, .svc-page .h2 { text-wrap: balance; }
.svc-page .section-head[style*="center"] { max-width: 40ch; }
.svc-page .lead, .svc-page .basis p, .svc-page .why-card p, .svc-page .cmp li { text-wrap: pretty; }
@media (max-width:680px){ .svc-page .section-head .h2, .svc-page .section-head .eyebrow + .h2 { max-width: none; } }

/* FAQ — ghost watermark behind the accordion */
.faq-section { position:relative; overflow:clip; }
.faq-wrap { position:relative; }
.faq-ghost { position:absolute; z-index:0; top:-.18em; left:50%; transform:translateX(-50%); pointer-events:none; user-select:none;
  font-family: var(--display); font-weight:600; font-style:italic; line-height:.8; letter-spacing:-.04em; white-space:nowrap;
  font-size: clamp(9rem, 30vw, 27rem); color: transparent;
  background: linear-gradient(180deg, rgba(73,126,194,.13), rgba(73,126,194,.02) 78%);
  -webkit-background-clip: text; background-clip: text; }
.faq-section .section-head, .faq-section .faq { position:relative; z-index:1; }
.faq-section .faq { background: rgba(251,248,241,.55); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  border-radius: var(--radius-lg); padding: clamp(8px,2vw,26px) clamp(14px,3vw,38px); }
@media (max-width:680px){ .faq-ghost { font-size: clamp(6rem,34vw,11rem); top:-.05em; } }

/* ============================================================ YOUTUBE button + video block v2 */
.btn-yt { display:inline-flex; align-items:center; gap:.65em; padding:.92em 1.45em; border-radius:100px;
  background:#FF0000; color:#fff; font-weight:700; font-size:.92rem; letter-spacing:.005em; line-height:1;
  box-shadow:0 12px 28px -16px rgba(255,0,0,.65);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .3s; }
.btn-yt:hover { background:#e60000; color:#fff; transform:translateY(-2px); box-shadow:0 20px 40px -18px rgba(255,0,0,.7); }
.btn-yt:active { transform:translateY(0) scale(.985); }
.btn-yt .yt-i { width:23px; height:23px; flex:none; }
.btn-yt .yt-sub { font-weight:600; opacity:.92; white-space:nowrap; }
.btn-yt .yt-sep { width:1px; height:15px; background:rgba(255,255,255,.4); flex:none; }
.btn-yt--lg { padding:1.04em 1.7em; font-size:.98rem; }

/* hero social proof row */
.hero-proof { display:flex; flex-wrap:wrap; align-items:center; gap:14px 16px; margin-top: clamp(30px,3.6vw,46px); }
.hero-proof .hero-rating { margin-top:0; }

/* video section — section-head button keeps its own line on small screens */
#video .sh-side .btn-yt { align-self:flex-start; }
.video-side .vs-stats { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:18px; font-family:var(--mono);
  font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.82); }
.video-side .vs-stats b { color:#fff; font-weight:700; }
.video-side .vs-stats .vs-i { display:inline-flex; align-items:center; gap:8px; }
.video-side .vs-stats .vs-i::before { content:""; width:6px; height:6px; border-radius:50%; background:#fff; opacity:.7; }

/* popular videos head */
.vrow-head { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  margin: clamp(40px,4.4vw,58px) 0 clamp(20px,2.2vw,28px); }
.vrow-head .eyebrow { color: var(--ink); }
.vrow-head .eyebrow::before { background:#FF0000; opacity:1; }
.vrow-head .vrh-link { font-family:var(--mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); display:inline-flex; align-items:center; gap:8px; transition:color .3s; }
.vrow-head .vrh-link:hover { color:#FF0000; }
.vrow-head .vrh-link .ar { transition:transform .35s var(--ease); }
.vrow-head .vrh-link:hover .ar { transform:translateX(4px); }

/* popular video cards */
.video-row { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(20px,2.2vw,30px); margin-top:0; }
.vcard { display:flex; flex-direction:column; cursor:pointer; }
.vcard .vc-media { position:relative; border-radius:14px; overflow:hidden; aspect-ratio:16/9; background:var(--bg-3); box-shadow:var(--shadow-sm); }
.vcard .vc-media img { width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.vcard:hover .vc-media img { transform:scale(1.05); }
.vcard .vc-rank { position:absolute; top:11px; left:11px; z-index:2; min-width:28px; height:28px; padding:0 8px;
  border-radius:8px; background:rgba(20,33,52,.74); color:#fff; font-family:var(--mono); font-size:.76rem; font-weight:700;
  display:grid; place-items:center; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.vcard .vc-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:52px; height:52px;
  border-radius:50%; background:rgba(255,0,0,.94); display:grid; place-items:center; box-shadow:var(--shadow);
  transition:transform .35s var(--ease), background .3s; }
.vcard .vc-play svg { width:17px; height:17px; color:#fff; margin-left:2px; }
.vcard:hover .vc-play { transform:translate(-50%,-50%) scale(1.1); background:#FF0000; }
.vcard .vc-name { font-family:var(--display); font-weight:600; font-size:1.18rem; line-height:1.18; color:var(--ink); margin-top:15px; transition:color .3s; }
.vcard:hover .vc-name { color:var(--blue-deep); }
.vcard .vc-meta { font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:9px; display:flex; align-items:center; gap:9px; }
.vcard .vc-meta .yt-mk { color:#FF0000; font-weight:700; display:inline-flex; align-items:center; gap:6px; }
.vcard .vc-meta .yt-mk svg { width:15px; height:15px; }

@media (max-width:960px){
  .hero-proof { gap:12px; }
  #video .sh-side .btn-yt { align-self:auto; }
}
@media (max-width:680px){
  .video-row { grid-template-columns:1fr; gap:26px; }
  .btn-yt { width:100%; justify-content:center; }
  .hero-proof .btn-yt { width:100%; }
}
