  :root{
    --paper:#f1ece1; --paper-2:#e8e0cf; --paper-3:#ece5d6;
    --ink:#1c1813; --ink-soft:#3a342b;
    --black:#15120d; --black-2:#1d1a13;
    --accent:#9c6a32; --accent-deep:#7d5224;
    --muted:#6d6557; --muted-light:#a59c8a;
    --line:#ccc3ad; --line-dark:rgba(241,236,225,.14);
    --maxw:1280px;
    --ease:cubic-bezier(.22,.61,.36,1);
    /* приподнятые поверхности + мягкие тинт-тени = ощущение «дорогой бумаги» */
    --card:#f8f3e9; --card-2:#fffdf8;
    --shadow-sm:0 1px 2px rgba(28,24,19,.05), 0 4px 12px -4px rgba(28,24,19,.07);
    --shadow-md:0 10px 26px -12px rgba(28,24,19,.18), 0 2px 6px rgba(28,24,19,.05);
    --shadow-lift:0 18px 40px -16px rgba(28,24,19,.24), 0 6px 14px -8px rgba(28,24,19,.10);
  }
  *{box-sizing:border-box;margin:0;padding:0; -webkit-tap-highlight-color:transparent}
  *:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
  .skip-link{position:absolute; left:-9999px; top:0; z-index:100000; background:var(--ink); color:var(--paper); padding:12px 18px; border-radius:0 0 10px 0; font-weight:600; font-size:14px; text-decoration:none}
  .skip-link:focus{left:0}
  html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; overflow-x:clip}
  body{
    font-family:'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
    background-color:var(--paper); color:var(--ink);
    /* едва заметное зерно бумаги (4%) — добавляет «фактуру», не трогает текст/формы */
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    font-size:17px; line-height:1.72;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
    overflow-x:clip; overflow-wrap:break-word; word-wrap:break-word;
    accent-color:var(--accent);
    min-height:100vh;
  }
  button,input,select,textarea{font-family:inherit; color:inherit}
  button{cursor:pointer; touch-action:manipulation; -webkit-appearance:none; appearance:none; background:none; border:0}
  a{touch-action:manipulation}
  svg{vertical-align:middle; flex-shrink:0}
  img,video,iframe{max-width:100%; height:auto}
  @supports (padding: max(0px)) {
    body{padding-left:env(safe-area-inset-left,0); padding-right:env(safe-area-inset-right,0)}
  }

  /* ---- premium polish ---- */
  /* refined scrollbar (desktop only) */
  @media (hover:hover) and (pointer:fine){
    html{scrollbar-width:thin; scrollbar-color:var(--accent) transparent}
    ::-webkit-scrollbar{width:11px; height:11px}
    ::-webkit-scrollbar-track{background:transparent}
    ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--accent-deep)); border:3px solid var(--paper); border-radius:8px}
    ::-webkit-scrollbar-thumb:hover{background:var(--accent-deep)}
  }
  /* premium focus ring */
  *:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:1px}
  button:focus-visible,a:focus-visible{outline-offset:4px}

  /* === premium typeset refinement === */
  /* body kerning + ligatures site-wide */
  body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1}
  /* lining/tabular numerals for stats, prices, dates */
  .t-price,.ks-fact .kf-v,.kf-v em,
  .pub-year .py-label,.pub-row .pr-date,
  .rep-big .rb-num,.stat-cell .sc-num,
  .rh-stat b,.rd-hero .rh-stat b,.rcg-hero .rh-stat b,
  .sf-foot,.sp-row .sp-date,.bc-day{
    font-feature-settings:"tnum" 1,"lnum" 1,"kern" 1
  }
  /* hanging punctuation in long-form prose */
  .rd-hero p.lead,.rcg-hero p.lead,.rep-hero p.rh-sub,
  .lc-hero p.lead,.ks-hero p.lead,
  .rd-section p,.rcg-section .rs-intro,.rep-section .rs-intro,
  .lc-section p,.lc-section .ls-intro,
  .quote-block blockquote,.rd-quote blockquote,.rcg-quote blockquote{
    hanging-punctuation:first last
  }
  /* letterpress relief on display headlines */
  .seo-hero h1,.rd-hero h1,.rcg-hero h1,.rep-hero h1,.lc-hero h1,.ks-hero h1{
    text-shadow:0 1px 0 rgba(255,255,255,.55),0 -1px 0 rgba(28,24,19,.04)
  }
  /* decorative fleuron break: <div class="fleuron"></div> */
  .fleuron{margin:36px auto;text-align:center;color:var(--accent);opacity:.42;font-family:'Playfair Display',Georgia,serif;font-size:13px;letter-spacing:1em;user-select:none;line-height:1}
  .fleuron::before{content:"\2766 \2726 \2766";padding-left:1em}
  /* "From the desk of" signed nameplate: <div class="signed-by"><p class="sb-l">...</p><img class="sb-sig" .../></div> */
  .signed-by{margin:52px 0 14px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;max-width:62ch}
  .signed-by .sb-l{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:14.5px;color:var(--muted);line-height:1.55;margin:0;max-width:42ch}
  .signed-by .sb-l b{display:block;font-style:normal;font-weight:600;color:var(--accent-deep);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px}
  .signed-by .sb-sig{height:64px;width:auto;opacity:.78;transform:rotate(-3deg);filter:sepia(1) saturate(2) hue-rotate(-12deg) brightness(.7)}
  @media(max-width:680px){.signed-by{grid-template-columns:1fr;gap:14px}.signed-by .sb-sig{justify-self:flex-start}}
  /* refined link underline */
  .nl{position:relative}
  .nl::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:right center; transition:transform .45s var(--ease)}
  .nl:hover::after{transform:scaleX(1); transform-origin:left center}
  /* lang switcher */
  .utility-row{display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; padding:10px 40px; background:var(--ink); color:var(--paper)}
  .utility-row .utility{padding:0; background:none; color:rgba(241,236,225,.72); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; font-weight:600; text-align:center}
  .lang-switch{display:inline-flex; align-items:center; gap:8px; font-family:'Playfair Display',Georgia,serif; font-size:11.5px; letter-spacing:.16em}
  .lang-btn{
    background:none; border:0; padding:5px 4px; color:rgba(241,236,225,.55); cursor:pointer;
    font-family:inherit; font-size:inherit; letter-spacing:inherit; font-weight:500;
    transition:color .25s var(--ease); position:relative; min-height:32px; touch-action:manipulation;
    -webkit-appearance:none; appearance:none;
  }
  .lang-btn:hover{color:var(--paper)}
  .lang-btn.is-active{color:var(--accent); font-weight:600}
  .lang-btn.is-active::after{content:""; position:absolute; left:4px; right:4px; bottom:-1px; height:1px; background:var(--accent)}
  .lang-sep{color:rgba(241,236,225,.32)}
  header.scrolled .utility-row{padding:0 40px; max-height:0; opacity:0; overflow:hidden; transition:max-height .35s var(--ease), opacity .35s var(--ease), padding .35s var(--ease)}
  /* decorative section divider */
  .ornament{display:flex; align-items:center; justify-content:center; gap:18px; padding:0 0 6px; opacity:.6}
  .ornament::before,.ornament::after{content:""; flex:1; max-width:64px; height:1px; background:var(--line)}
  .ornament .mk{font-family:'Playfair Display',Georgia,serif; font-style:italic; color:var(--accent); font-size:18px; line-height:1}
  /* === Trust strip (above footer) === */
  .trust-strip{background:var(--paper-3); padding:54px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
  .trust-list{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding:0; margin:0; list-style:none}
  .trust-list li{display:flex; align-items:flex-start; gap:14px; padding-left:0}
  .trust-list li svg{width:26px; height:26px; color:var(--accent); flex-shrink:0; margin-top:2px}
  .trust-list li > div{display:flex; flex-direction:column; gap:5px; min-width:0}
  .trust-list li b{font-family:'Playfair Display',Georgia,serif; font-size:16px; font-weight:600; color:var(--ink); letter-spacing:-.005em}
  .trust-list li span{font-size:13px; line-height:1.55; color:var(--muted)}
  @media (max-width:980px){
    .trust-strip{padding:42px 0}
    .trust-list{grid-template-columns:repeat(2,1fr); gap:24px 28px}
  }
  @media (max-width:560px){
    .trust-list{grid-template-columns:1fr; gap:22px}
  }

  /* === Method (authored framework) === */
  .method{background:var(--paper)}
  .method-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:42px}
  .method-pillar{
    position:relative; padding:38px 32px 34px;
    background:var(--paper-2); border:1px solid var(--line); border-radius:3px;
    transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .method-pillar:hover{transform:translateY(-3px); border-color:var(--accent); box-shadow:0 22px 50px -32px rgba(28,24,19,.18)}
  .mp-num{
    font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:48px;
    color:var(--accent); line-height:1; margin-bottom:18px; letter-spacing:.01em;
  }
  .method-pillar h3{font-family:'Playfair Display',Georgia,serif; font-size:22px; font-weight:600; line-height:1.18; margin:0 0 12px; letter-spacing:-.005em; color:var(--ink)}
  .method-pillar p{font-size:14.5px; line-height:1.65; color:var(--ink-soft); margin:0}
  .method-foot{
    margin-top:34px; padding:22px 26px;
    display:flex; align-items:flex-start; gap:16px;
    background:var(--ink); color:rgba(241,236,225,.86);
    border-radius:3px;
  }
  .method-foot .mf-mark{color:var(--accent); font-size:14px; margin-top:2px; flex-shrink:0}
  .method-foot p{font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:15px; line-height:1.6; margin:0}
  @media (max-width:980px){ .method-grid{grid-template-columns:1fr; gap:20px} }

  /* === Whitepaper section === */
  .whitepaper{background:var(--paper); padding:96px 0}
  .wp-grid{display:grid; grid-template-columns:1.25fr .85fr; gap:54px; align-items:center}
  .wp-left .kicker{margin-bottom:14px}
  .wp-left h2{font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:clamp(28px,3.2vw,44px); line-height:1.08; letter-spacing:-.01em; color:var(--ink); margin:0 0 22px}
  .wp-lead{font-size:16.5px; color:var(--ink-soft); line-height:1.66; margin:0 0 22px; max-width:52ch}
  .wp-list{list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:11px}
  .wp-list li{position:relative; padding-left:22px; font-size:14.5px; line-height:1.55; color:var(--ink-soft)}
  .wp-list li::before{content:""; position:absolute; left:0; top:10px; width:12px; height:1px; background:var(--accent)}
  .wp-actions{display:flex; align-items:center; gap:22px; flex-wrap:wrap}
  .wp-meta{font-size:12.5px; color:var(--muted); font-family:'Playfair Display',Georgia,serif; font-style:italic}
  .wp-card{
    position:relative; padding:46px 38px; background:linear-gradient(180deg,#1f1a13 0%,var(--ink) 80%); color:var(--paper); border-radius:4px;
    aspect-ratio:1/1.35; max-width:340px; margin:0 auto;
    box-shadow:0 30px 80px -28px rgba(28,24,19,.5), inset 0 1px 0 rgba(232,200,145,.12);
    overflow:hidden;
  }
  .wp-card::before{content:""; position:absolute; top:24px; left:32px; right:32px; height:1px; background:var(--accent); opacity:.6}
  .wp-card::after{content:""; position:absolute; bottom:24px; left:32px; right:32px; height:1px; background:var(--accent); opacity:.4}
  .wp-card-eye{font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:14px; color:#e8c891; letter-spacing:.06em; margin-bottom:32px}
  .wp-card-title{font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:30px; line-height:1.1; letter-spacing:-.01em; margin-bottom:22px; color:var(--paper)}
  .wp-card-sub{font-family:'Golos Text',sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:rgba(232,200,145,.85); line-height:1.5}
  .wp-card-meta{position:absolute; bottom:36px; left:38px; right:38px; display:flex; gap:18px; flex-wrap:wrap; font-family:'Golos Text',sans-serif; font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(241,236,225,.55)}
  @media (max-width:980px){
    .whitepaper{padding:70px 0}
    .wp-grid{grid-template-columns:1fr; gap:40px}
    .wp-card{max-width:280px; aspect-ratio:1/1.3}
    .wp-card-title{font-size:25px}
  }

  /* === Booking calendar widget (anonymized iCloud feed) === */
  .booking-wrap{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; margin-top:42px}
  .booking-cal{background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:26px 24px 22px; box-shadow:0 22px 60px -32px rgba(28,24,19,.18)}
  .bc-head{display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line)}
  .bc-month{font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:19px; letter-spacing:-.005em; color:var(--ink); text-transform:capitalize}
  .bc-nav{
    width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:var(--paper);
    color:var(--ink-soft); cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
    -webkit-appearance:none; appearance:none; touch-action:manipulation;
    transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  }
  .bc-nav:hover:not(:disabled){background:var(--ink); color:var(--paper); border-color:var(--ink)}
  .bc-nav:disabled{opacity:.3; cursor:not-allowed}
  .bc-wdays{display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:8px; font-family:'Golos Text',sans-serif; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:600; text-align:center}
  .bc-wdays span{padding:8px 0}
  .bc-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px}
  .bc-day{
    position:relative; aspect-ratio:1/1; display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:var(--paper-2); border:1px solid transparent; border-radius:2px;
    font-family:'Playfair Display',Georgia,serif; font-size:15px; color:var(--ink); cursor:default;
    -webkit-appearance:none; appearance:none; padding:0;
    transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
  }
  .bc-day-slots{display:block; font-family:'Golos Text',sans-serif; font-size:8.5px; letter-spacing:.04em; color:var(--accent-deep); margin-top:3px; font-style:normal; font-weight:600}
  .bc-day-free.is-selected{background:var(--ink); color:var(--paper); transform:translateY(-2px); box-shadow:0 6px 18px -10px rgba(28,24,19,.4)}
  .bc-day-free.is-selected .bc-day-mark{background:var(--paper)}
  .bc-day-free.is-selected .bc-day-slots{color:#e8c891}
  .bc-day-num{display:block; line-height:1}
  .bc-day-mark{display:block; width:6px; height:6px; border-radius:50%; background:var(--line); margin-top:6px}
  .bc-day-empty{background:transparent; pointer-events:none}
  .bc-day-past{opacity:.3; pointer-events:none; color:var(--muted-light)}
  .bc-day-weekend{background:transparent; color:var(--muted-light); pointer-events:none; font-style:italic; font-size:14px}
  .bc-day-busy{background:var(--paper-2); color:var(--muted); pointer-events:none}
  .bc-day-busy .bc-day-mark{background:var(--muted-light)}
  .bc-day-busy::after{content:""; position:absolute; left:30%; right:30%; top:50%; height:1px; background:var(--muted-light); transform:rotate(-12deg); transform-origin:center}
  .bc-day-free{background:var(--paper); border-color:var(--accent); color:var(--ink); cursor:pointer}
  .bc-day-free .bc-day-mark{background:var(--accent)}
  .bc-day-free:hover{background:var(--ink); color:var(--paper); transform:translateY(-2px); box-shadow:0 6px 18px -10px rgba(28,24,19,.4)}
  .bc-day-free:hover .bc-day-mark{background:var(--paper)}
  .bc-day-today{font-weight:600; box-shadow:inset 0 0 0 1px var(--accent-deep)}
  .bc-day:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
  .bc-legend{display:flex; flex-wrap:wrap; gap:18px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); font-family:'Golos Text',sans-serif; font-size:11px; letter-spacing:.06em; color:var(--muted)}
  .bc-leg{display:inline-flex; align-items:center; gap:8px}
  .bc-leg i{width:9px; height:9px; border-radius:50%; display:inline-block}
  .bc-leg-free i{background:var(--accent)}
  .bc-leg-busy i{background:var(--muted-light)}
  .bc-leg-weekend i{background:var(--line)}
  .bc-note{margin:12px 0 0; font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:12.5px; color:var(--muted)}
  /* Slots panel — appears below calendar when a free day is selected */
  .bc-slots-panel{margin-top:16px; padding-top:16px; border-top:1px solid var(--line); display:none}
  .bc-slots-panel.is-open{display:block; animation:bcSlotsIn .35s var(--ease)}
  @keyframes bcSlotsIn{from{opacity:0; transform:translateY(-4px)} to{opacity:1; transform:none}}
  .bc-slots-title{font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:13px; color:var(--ink); margin-bottom:12px; display:flex; align-items:center; gap:10px; justify-content:space-between}
  .bc-slots-title .bc-selected-date{font-weight:600; font-style:normal; color:var(--accent-deep)}
  .bc-slots-list{display:grid; grid-template-columns:repeat(auto-fill, minmax(74px, 1fr)); gap:8px}
  .bc-slot{
    padding:10px 0; background:var(--paper-2); border:1px solid var(--line); border-radius:3px;
    font-family:'Golos Text',sans-serif; font-size:13px; font-weight:500; color:var(--ink); cursor:pointer; text-align:center;
    -webkit-appearance:none; appearance:none; touch-action:manipulation;
    transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
  }
  .bc-slot:hover{background:var(--ink); color:var(--paper); border-color:var(--ink); transform:translateY(-1px)}
  .bc-slot-busy{background:transparent; color:var(--muted-light); cursor:not-allowed; border-style:dashed; position:relative}
  .bc-slot-busy::after{content:""; position:absolute; left:25%; right:25%; top:50%; height:1px; background:var(--muted-light); transform:rotate(-8deg)}
  .bc-slot-busy:hover{background:transparent; color:var(--muted-light); border-color:var(--line); transform:none}
  .cs-tg-compact{padding:32px 28px}

  @media (max-width:980px){
    .booking-wrap{grid-template-columns:1fr; gap:24px}
    .booking-cal{padding:26px 22px 20px}
    .bc-month{font-size:17px}
    .bc-day{font-size:14px}
    .bc-day-weekend{font-size:11px}
    .bc-day-slots{font-size:8px}
  }
  @media (max-width:560px){
    .booking-cal{padding:22px 16px 16px}
    .bc-grid{gap:4px}
    .bc-wdays{gap:4px; font-size:9px}
    .bc-day{font-size:14px}
    .bc-day-mark{width:5px; height:5px; margin-top:4px}
  }

  /* === Channel strip (Telegram + Booking) === */
  .channel-strip{background:var(--paper-2); padding:80px 0}
  .cs-icon{display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; background:var(--paper-3); border-radius:50%; color:var(--accent)}
  .cs-body{display:flex; flex-direction:column; gap:8px; min-width:0}
  .cs-body h3{font-family:'Playfair Display',Georgia,serif; font-size:22px; font-weight:600; line-height:1.2; margin:0; letter-spacing:-.005em; color:var(--ink)}
  .cs-body p{font-size:14.5px; line-height:1.6; color:var(--ink-soft); margin:0 0 6px}
  .cs-cta{margin-top:8px; align-self:flex-start; padding:11px 22px; font-size:11px}
  /* btn-line override — default color:var(--paper) invisible on paper bg */
  .channel-strip .btn-line, .channel-strip .cs-cta.btn-line{
    color:var(--ink)!important; border-color:var(--line)!important; background:transparent!important;
  }
  .channel-strip .btn-line:hover, .channel-strip .cs-cta.btn-line:hover{
    background:var(--ink)!important; color:var(--paper)!important; border-color:var(--ink)!important;
  }
  @media (max-width:780px){
    .channel-strip{padding:64px 0}
    .cs-icon{width:48px; height:48px}
    .cs-icon svg{width:24px; height:24px}
  }

  /* === Press strip (under hero) === */
  .press-strip{background:var(--ink); padding:18px 0; border-top:1px solid rgba(156,106,50,.18); border-bottom:1px solid rgba(156,106,50,.12)}
  .press-strip .wrap{padding:0 40px}
  .press-inner{display:flex; align-items:center; gap:32px; flex-wrap:wrap}
  .press-label{font-family:'Golos Text',sans-serif; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:rgba(232,200,145,.7); font-weight:600; flex-shrink:0; display:inline-flex; align-items:center; gap:14px}
  .press-label::before{content:""; width:24px; height:1px; background:var(--accent)}
  .press-marks{display:flex; flex-wrap:wrap; gap:8px 32px; align-items:center}
  .press-marks span{font-family:'Playfair Display',Georgia,serif; font-size:18px; color:rgba(241,236,225,.78); font-weight:500; letter-spacing:-.005em; transition:color .25s var(--ease)}
  .press-marks span:hover{color:var(--paper)}
  @media (max-width:780px){
    .press-strip{padding:14px 0}
    .press-strip .wrap{padding:0 20px}
    .press-inner{gap:14px}
    .press-marks{gap:6px 18px}
    .press-marks span{font-size:14.5px}
    .press-label{font-size:9px; letter-spacing:.2em}
  }

  /* === Testimonials carousel === */
  .testimonials{background:var(--paper-2); overflow:hidden}
  .t-stage{position:relative; margin-top:48px}
  .t-track{
    display:flex; gap:32px; overflow-x:auto; overflow-y:hidden;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    padding:8px 4px 24px; margin:0 -4px;
    scrollbar-width:none;
  }
  .t-track::-webkit-scrollbar{display:none}
  .testimonial{
    flex:0 0 100%; min-width:0; scroll-snap-align:center; scroll-snap-stop:always;
    background:var(--paper); border:1px solid var(--line); border-radius:4px;
    padding:48px 52px; display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:start;
    transition:box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .testimonial:hover{box-shadow:0 22px 60px -32px rgba(28,24,19,.22); border-color:var(--accent)}
  .t-photo{position:relative; width:220px; height:260px; overflow:hidden; border-radius:3px; flex-shrink:0}
  .t-photo::after{content:""; position:absolute; inset:0; border:1px solid rgba(156,106,50,.2); pointer-events:none}
  .t-photo img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(.05) contrast(1.02); transition:filter .5s var(--ease), transform .8s var(--ease)}
  .testimonial:hover .t-photo img{filter:grayscale(0) contrast(1.04); transform:scale(1.02)}
  .t-body{display:flex; flex-direction:column; gap:18px; min-width:0}
  .t-meta{display:flex; flex-direction:column; gap:6px; padding-bottom:14px; border-bottom:1px solid var(--line)}
  .t-name{font-family:'Playfair Display',Georgia,serif; font-size:24px; font-weight:600; color:var(--ink); letter-spacing:-.005em; line-height:1.18; margin:0}
  .t-role{font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-deep); font-weight:600; font-family:'Golos Text',sans-serif}
  .t-context{font-size:14.5px; color:var(--muted); line-height:1.6; font-style:italic; font-family:'Playfair Display',Georgia,serif; margin:0 0 14px}
  .t-result{font-size:13.5px; color:var(--ink); line-height:1.55; padding-top:14px; border-top:1px solid var(--line); margin:0; display:flex; gap:10px; align-items:flex-start}
  .t-result::before{content:'→'; color:var(--accent); font-weight:600; font-size:15px; line-height:1.4; flex-shrink:0}
  .t-result b{color:var(--ink); font-weight:600}
  .t-result .t-amt{color:var(--accent); font-weight:600; font-family:'Playfair Display',serif; font-style:italic; white-space:nowrap}
  .t-quote{position:relative; font-size:18px; line-height:1.7; color:var(--ink-soft); margin:0; padding-left:0}
  .t-quote .qm{position:absolute; left:-22px; top:-14px; font-family:'Playfair Display'; font-size:64px; color:var(--accent); opacity:.4; line-height:1; font-style:italic}
  .t-nav{
    position:absolute; top:50%; transform:translateY(-50%); z-index:5;
    width:48px; height:48px; border-radius:50%; border:1px solid var(--line);
    background:var(--paper); color:var(--ink-soft); cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
    -webkit-appearance:none; appearance:none; touch-action:manipulation;
    transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease), opacity .25s var(--ease);
  }
  .t-nav svg{width:20px; height:20px}
  .t-nav-prev{left:-24px}
  .t-nav-next{right:-24px}
  .t-nav:hover:not(:disabled){background:var(--ink); color:var(--paper); border-color:var(--ink); transform:translateY(-50%) scale(1.06)}
  .t-nav:disabled{opacity:.3; cursor:not-allowed}
  .t-meta-bar{display:flex; justify-content:center; align-items:center; gap:24px; margin-top:28px}
  .t-counter{font-family:'Playfair Display',Georgia,serif; font-style:italic; color:var(--muted); font-size:14px; letter-spacing:.02em; display:inline-flex; align-items:baseline; gap:4px}
  .t-counter-cur{font-weight:600; color:var(--accent-deep); font-size:18px; line-height:1}
  .t-counter-sep{color:var(--line); margin:0 2px}
  .t-counter-tot{color:var(--muted-light)}
  .t-dots{display:flex; gap:8px; justify-content:center; align-items:center; margin:0}
  .t-dots button{
    width:8px; height:8px; padding:0; border:0; border-radius:50%;
    background:var(--line); cursor:pointer; transition:background .3s var(--ease), width .3s var(--ease);
    -webkit-appearance:none; appearance:none; touch-action:manipulation;
  }
  .t-dots button[aria-selected="true"]{background:var(--accent); width:24px; border-radius:4px}
  .t-dots button:hover{background:var(--accent-deep)}
  @media (max-width:980px){
    .testimonial{padding:36px 30px; grid-template-columns:1fr; gap:28px}
    .t-photo{width:130px; height:150px}
    .t-name{font-size:20px}
    .t-quote{font-size:16px; line-height:1.65}
    .t-nav{display:none}
    .t-track{gap:18px; padding:6px 18px 22px}
    .testimonial{flex-basis:calc(100% - 36px)}
  }
  @media (max-width:560px){
    .testimonial{padding:28px 22px}
    .t-photo{width:110px; height:130px}
    .t-quote .qm{left:-14px; top:-8px; font-size:48px}
  }


  /* === Floating quick-contact FAB (right-bottom) === */
  .fab{position:fixed; right:24px; bottom:24px; z-index:90; display:flex; flex-direction:column; align-items:flex-end; gap:10px; pointer-events:none}
  .fab > *{pointer-events:auto}
  .fab-toggle{
    display:inline-flex; align-items:center; gap:9px; padding:13px 18px 12px 16px;
    background:var(--ink); color:var(--paper); border:1px solid var(--ink); border-radius:999px;
    font-family:'Golos Text',sans-serif; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
    cursor:pointer; -webkit-appearance:none; appearance:none; touch-action:manipulation;
    box-shadow:0 14px 40px -16px rgba(0,0,0,.55), 0 0 0 1px rgba(156,106,50,.18);
    transition:background .28s var(--ease), color .28s var(--ease), transform .28s var(--ease);
  }
  .fab-toggle svg{color:var(--accent); transition:color .28s var(--ease)}
  .fab-toggle:hover{background:var(--accent); color:var(--paper); transform:translateY(-2px)}
  .fab-toggle:hover svg{color:var(--paper)}
  .fab-toggle[aria-expanded="true"]{background:var(--accent); color:var(--paper)}
  .fab-toggle[aria-expanded="true"] svg{color:var(--paper)}
  .fab-menu{
    display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:8px;
    background:var(--paper); border:1px solid var(--line); border-radius:6px;
    box-shadow:0 24px 64px -22px rgba(0,0,0,.45);
    min-width:200px; transform-origin:bottom right;
    animation:fabIn .26s var(--ease);
  }
  .fab-menu[hidden]{display:none}
  @keyframes fabIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
  .fab-link{display:inline-flex; align-items:center; gap:11px; padding:11px 14px; color:var(--ink); border-radius:4px; font-family:'Golos Text',sans-serif; font-size:13.5px; font-weight:500; transition:background .25s var(--ease), color .25s var(--ease)}
  .fab-link svg{color:var(--accent); flex-shrink:0; transition:color .25s var(--ease)}
  .fab-link:hover{background:var(--ink); color:var(--paper)}
  .fab-link:hover svg{color:var(--paper)}
  @media (max-width:560px){
    .fab{right:14px; bottom:14px; bottom:calc(14px + env(safe-area-inset-bottom,0))}
    .fab-toggle{padding:11px 14px 10px 12px; font-size:11px}
    .fab-label{display:none}
  }

  /* === Sticky compact CTA bar (appears after hero scrolled out) === */
  .stickbar{
    position:fixed; left:0; right:0; bottom:0; z-index:55;
    background:rgba(241,236,225,.97); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    border-top:1px solid var(--line);
    transform:translateY(110%); transition:transform .45s var(--ease);
    box-shadow:0 -8px 30px -16px rgba(0,0,0,.18);
    padding-bottom:env(safe-area-inset-bottom,0);
  }
  .stickbar.show{transform:none}
  .stickbar-inner{
    max-width:var(--maxw); margin:0 auto; padding:14px 40px;
    display:flex; align-items:center; gap:18px;
  }
  .stickbar-mark{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; background:var(--paper-3); border-radius:50%; flex-shrink:0}
  .stickbar-text{display:flex; flex-direction:column; gap:2px; line-height:1.25; flex:1; min-width:0}
  .stickbar-text b{font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:15.5px; color:var(--ink); letter-spacing:-.005em}
  .stickbar-text em{font-style:normal; font-family:'Golos Text',sans-serif; font-size:12px; color:var(--muted); letter-spacing:.02em}
  .stickbar-cta{padding:13px 22px; font-size:11.5px; min-height:auto; flex-shrink:0}
  @media (max-width:780px){
    .stickbar{display:none}
  }

  /* Scarcity/exclusivity hint above tariffs */
  .tariffs-meta{display:inline-flex; align-items:center; gap:11px; margin:14px 0 28px; padding:11px 18px; background:rgba(28,24,19,.04); border:1px solid var(--line); border-radius:2px}
  .tariffs-meta .tm-dot{display:inline-block; width:7px; height:7px; background:var(--accent); border-radius:50%; flex-shrink:0; position:relative}
  .tariffs-meta .tm-dot::after{content:""; position:absolute; inset:-4px; border-radius:50%; background:var(--accent); opacity:.3; animation:pulse 2.2s ease-out infinite}
  @keyframes pulse{0%{transform:scale(1); opacity:.35}80%,100%{transform:scale(2.2); opacity:0}}
  .tariffs-meta .tm-text{font-size:13.5px; color:var(--ink-soft); font-family:'Golos Text',sans-serif}
  .tariffs-meta .tm-text b{font-weight:600; color:var(--ink)}
  @media (prefers-reduced-motion:reduce){ .tariffs-meta .tm-dot::after{animation:none} }

  /* Premium tariff featured ribbon — full-width banner at top, no overflow */
  .tariff.is-featured{position:relative; padding-top:54px; overflow:hidden}
  .tariff.is-featured .t-badge{
    align-self:auto; position:absolute; top:0; left:0; right:0;
    background:var(--accent); color:var(--paper);
    text-align:center; padding:11px 16px 10px;
    font-family:'Playfair Display',Georgia,serif; font-style:italic;
    font-size:12px; letter-spacing:.07em; text-transform:none;
    border-radius:0; border:0;
    box-shadow:0 1px 0 var(--accent-deep) inset;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  /* refined tariff price */
  .t-price{font-feature-settings:"tnum","lnum"; position:relative; display:inline-block}
  .tariff.is-featured .t-price{position:relative; padding-bottom:8px}
  .tariff.is-featured .t-price::after{
    content:""; position:absolute; left:0; bottom:0; width:46px; height:2px; background:var(--accent);
    transition:width .5s var(--ease);
  }
  .tariff.is-featured:hover .t-price::after{width:72px}
  /* tariff buttons inherit etched gold from .btn — no overrides needed */
  /* page-load hero stagger refinement */
  .hero h1,.hero p.hsub,.hero-actions,.hero-cred,.hero-promise,.hero-urgent{opacity:0; transform:translateY(18px); animation:heroIn 1.05s var(--ease) forwards}
  .hero .kicker{opacity:0; animation:heroIn 1.05s var(--ease) forwards; animation-delay:.05s}
  .hero h1{animation-delay:.2s}
  .hero p.hsub{animation-delay:.35s}
  .hero-actions{animation-delay:.5s}
  .hero-cred{animation-delay:.65s}
  .hero-urgent{animation-delay:.55s; display:inline-flex; align-items:center; gap:10px; margin-top:14px; padding:7px 16px 7px 12px; background:rgba(212,175,90,.08); border:1px solid rgba(212,175,90,.32); border-radius:999px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px)}
  .hero-urgent .hu-dot{width:6px; height:6px; border-radius:50%; background:#e85a4f; box-shadow:0 0 0 0 rgba(232,90,79,.7); animation:pulse-red 2s ease-out infinite; flex-shrink:0}
  .hero-urgent .hu-label{font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:#e85a4f; font-weight:700; font-family:'Golos Text',sans-serif; line-height:1}
  .hero-urgent .hu-link{display:inline-flex; align-items:center; gap:8px; color:var(--paper); text-decoration:none; font-size:13px; font-weight:500; font-family:'Golos Text',sans-serif; border:0; background:transparent; padding:0; cursor:pointer; transition:color .25s ease; line-height:1}
  .hero-urgent .hu-link b{font-weight:700; color:var(--accent)}
  .hero-urgent .hu-link:hover{color:var(--accent)}
  .hero-urgent .hu-link svg{color:var(--accent); transition:transform .25s ease}
  .hero-urgent .hu-link:hover svg{transform:translateX(3px)}
  @keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(232,90,79,.7)} 70%{box-shadow:0 0 0 8px rgba(232,90,79,0)} 100%{box-shadow:0 0 0 0 rgba(232,90,79,0)}}
  @media (max-width:780px){
    .hero-urgent{padding:6px 12px 6px 10px; gap:8px; flex-wrap:wrap}
    .hero-urgent .hu-link{font-size:12px}
  }
  .hero-promise{animation-delay:.95s; display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:20px; padding-top:18px; border-top:1px solid rgba(241,236,225,.14); max-width:780px}
  .hero-promise .hp-i{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; line-height:1.35; color:#d5cdba; font-weight:500}
  .hero-promise .hp-i svg{width:15px; height:15px; color:var(--accent); flex-shrink:0}
  @media (max-width:780px){
    .hero-promise{gap:10px 20px; padding-top:14px; margin-top:16px}
    .hero-promise .hp-i{font-size:11.5px}
  }
  @keyframes heroIn{to{opacity:1; transform:none}}
  @media (prefers-reduced-motion:reduce){
    .hero h1,.hero p.hsub,.hero-actions,.hero-cred,.hero .kicker{animation:none; opacity:1; transform:none}
  }

  /* ============== SIGNATURE DESIGN MOMENTS ============== */

  /* Hero decorative typographic backdrop */
  @media (max-width:780px){ .hero-mono{font-size:clamp(140px,40vw,260px); left:-4vw; bottom:-6vw} }

  @media (hover:hover) and (pointer:fine){
    
    
  }

  /* Section ornament dividers (visible between sections) */
  .ornament{display:flex; align-items:center; justify-content:center; gap:24px; padding:6px 24px 0; opacity:.7; position:relative; z-index:3}
  .ornament::before,.ornament::after{content:""; flex:0 1 110px; max-width:110px; height:1px; background:linear-gradient(90deg,transparent,var(--line) 30%,var(--line) 70%,transparent)}
  .ornament .mk{
    font-family:'Playfair Display',Georgia,serif; color:var(--accent); font-size:11px;
    letter-spacing:.4em; text-transform:uppercase; font-weight:500;
    display:inline-flex; align-items:center; gap:14px;
  }
  .ornament .mk::before,.ornament .mk::after{content:"◆"; font-size:7px; opacity:.7}
  .sec.cases + .ornament .mk{color:var(--accent)}

  /* Roman numeral decorative tag next to kicker */
  .kicker .rom{font-family:'Playfair Display',Georgia,serif; font-style:italic; color:var(--accent); font-weight:600; letter-spacing:.02em; font-size:12px; margin-right:6px}

  /* Brand logo (real Lawman geometric mark) */
  .brand-mono{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin-right:14px; flex-shrink:0; position:relative}
  .brand-mono .brand-logo{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; transition:opacity .4s var(--ease)}
  .brand-mono .brand-logo-dark{opacity:0}
  header.scrolled .brand-mono .brand-logo-white{opacity:0}
  header.scrolled .brand-mono .brand-logo-dark{opacity:1}
  @media (max-width:560px){ .brand-mono{width:30px; height:30px; margin-right:11px} .brand .bn{font-size:17px} }

  /* Tariff featured — stronger differentiation */
  .tariff.is-featured{
    background:linear-gradient(180deg,#1f1a13 0%,var(--ink) 60%);
    border-color:var(--accent);
    box-shadow:0 22px 60px -28px rgba(156,106,50,.45), 0 0 0 1px rgba(156,106,50,.18);
    position:relative; overflow:hidden;
  }
  .tariff.is-featured::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(800px 360px at 100% 0%, rgba(156,106,50,.16), transparent 60%);
  }
  .tariff.is-featured .t-name,.tariff.is-featured .t-price{color:var(--paper)}
  .tariff.is-featured .t-num{color:#e8c891}
  /* featured tariff button uses inherit etched gold */
  .tariff:not(.is-featured):hover{border-color:var(--accent); transform:translateY(-4px)}
  .tariff:hover .t-price{color:var(--accent-deep)}

  /* Risk row hover — gold accent */
  .risk-row{transition:padding-left .35s var(--ease), background .35s var(--ease)}
  .risk-row .rn{transition:color .35s var(--ease), transform .35s var(--ease); display:inline-block}
  .risk-row:hover{padding-left:14px}
  .risk-row:hover .rn{color:var(--accent); transform:scale(1.08)}
  .risk-row:hover h3{color:var(--accent-deep)}

  /* FAQ premium hover */
  .faq-item{transition:background .3s ease}
  .faq-item:hover{background:rgba(156,106,50,.025)}
  .faq-q:hover{color:var(--accent-deep)}

  /* Hero decorative inset frame (subtle gold corner brackets) */
  @media (max-width:780px){ .hero-frame{inset:110px 22px 70px 22px} .hero-frame::before,.hero-frame::after{width:20px; height:20px} }

  /* Footer signature seal */
  body::before{
    content:""; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.4;
    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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  }
  h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif; font-weight:600; line-height:1.12; letter-spacing:-.005em}
  a{color:inherit; text-decoration:none}
  img{max-width:100%; display:block}
  ::selection{background:var(--accent); color:var(--paper)}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px; position:relative; z-index:2}
  section{position:relative; z-index:2}

  /* ---- kickers / type helpers ---- */
  .kicker{
    font-family:'Golos Text'; font-weight:600; font-size:11.5px; letter-spacing:.24em;
    text-transform:uppercase; color:var(--accent-deep); display:flex; align-items:center; gap:14px;
  }
  .kicker::before{content:""; width:34px; height:1px; background:var(--accent); flex-shrink:0}
  .kicker.bare::before{display:none}
  .lead-p{font-size:18.5px; color:var(--ink-soft); max-width:620px; line-height:1.68}
  .dropcap::first-letter{
    font-family:'Playfair Display'; font-weight:700; font-size:5.4em; line-height:.78;
    float:left; margin:.04em .14em -.06em 0; color:var(--accent);
  }
  .num-mark{
    font-family:'Playfair Display'; font-weight:400; font-style:italic;
    color:var(--line); -webkit-text-stroke:0; line-height:1;
  }

  /* ===========================================================
     PREMIUM BUTTON SYSTEM (sub-pages) — Emil-compliant
     <300ms transitions, scale(0.97) press, strong easing
     No layout-shifting hover.
     =========================================================== */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:14px; cursor:pointer;
    font-family:'Golos Text',-apple-system,sans-serif; font-weight:600; font-size:11.5px;
    letter-spacing:.22em; text-transform:uppercase; padding:21px 38px; min-height:56px;
    -webkit-appearance:none; appearance:none; border:1px solid currentColor;
    text-align:center; user-select:none; -webkit-user-select:none;
    touch-action:manipulation; position:relative; overflow:hidden; isolation:isolate;
    background:transparent;
    transition:
      color 240ms cubic-bezier(0.23, 1, 0.32, 1),
      border-color 240ms cubic-bezier(0.23, 1, 0.32, 1),
      box-shadow 260ms cubic-bezier(0.23, 1, 0.32, 1),
      transform 160ms ease-out;
  }
  .btn::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background:currentColor;
    opacity:0;
    transition:opacity 380ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  .btn:hover::before{opacity:1}
  .btn:active{transform:scale(0.97)}
  .btn svg{width:16px; height:16px; transition:transform 240ms cubic-bezier(0.23, 1, 0.32, 1)}
  .btn:hover svg{transform:translateX(5px)}

  .btn-primary{
    color:var(--accent); border-color:var(--accent);
    box-shadow:0 0 0 1px rgba(156,106,50,.18) inset, 0 24px 48px -32px rgba(0,0,0,.45);
  }
  .btn-primary::before{background:var(--accent)}
  .btn-primary:hover{color:var(--ink); border-color:var(--accent); box-shadow:0 28px 56px -32px rgba(124,82,36,.55), 0 0 0 1px rgba(156,106,50,.22) inset}

  .btn-dark{color:var(--ink); border-color:var(--ink)}
  .btn-dark::before{background:var(--ink)}
  .btn-dark:hover{color:var(--paper); border-color:var(--ink); box-shadow:0 24px 50px -28px rgba(0,0,0,.5)}

  .btn-light{color:var(--paper); border-color:var(--paper)}
  .btn-light::before{background:var(--paper)}
  .btn-light:hover{color:var(--ink); border-color:var(--paper)}

  .btn-line{color:var(--paper); border-color:rgba(241,236,225,.35)}
  .btn-line::before{background:var(--paper)}
  .btn-line:hover{color:var(--ink); border-color:var(--paper)}
  .btn-line-dark{color:var(--ink); border-color:var(--line)}
  .btn-line-dark::before{background:var(--ink)}
  .btn-line-dark:hover{color:var(--paper); border-color:var(--ink)}

  /* === Premium button polish: letterpress text + tactile lift + copper glow + shimmer === */
  .btn{
    text-shadow:0 1px 0 rgba(255,255,255,.05);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.14),
      inset 0 -1px 0 rgba(0,0,0,.05),
      0 1px 2px rgba(28,24,19,.05);
    transition:
      color 240ms cubic-bezier(0.23,1,0.32,1),
      border-color 240ms cubic-bezier(0.23,1,0.32,1),
      background-color 240ms cubic-bezier(0.23,1,0.32,1),
      box-shadow 280ms cubic-bezier(0.23,1,0.32,1),
      transform 240ms cubic-bezier(0.34,1.4,0.64,1);
  }
  .btn:hover{transform:translateY(-2px)}
  .btn:active{transform:translateY(0) scale(.98); transition-duration:90ms}
  .btn:focus-visible{outline-offset:5px; box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 0 0 6px rgba(156,106,50,.12)}

  /* Primary copper — etched edge + warm halo + shimmer pass */
  .btn-primary{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -1px 0 rgba(0,0,0,.08),
      inset 0 0 0 1px rgba(156,106,50,.22),
      0 1px 2px rgba(28,24,19,.06),
      0 18px 36px -26px rgba(156,106,50,.5);
  }
  .btn-primary:hover{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.25),
      inset 0 -1px 0 rgba(0,0,0,.1),
      inset 0 0 0 1px rgba(156,106,50,.3),
      0 2px 6px rgba(28,24,19,.1),
      0 28px 56px -22px rgba(156,106,50,.6);
  }
  .btn-primary::after{
    content:""; position:absolute; top:0; bottom:0; left:0; width:34%; z-index:0;
    background:linear-gradient(95deg, transparent 0%, rgba(255,255,255,.2) 48%, transparent 100%);
    transform:translateX(-150%) skewX(-14deg);
    pointer-events:none;
    transition:transform .9s cubic-bezier(0.16,1,0.3,1);
  }
  .btn-primary:hover::after{transform:translateX(420%) skewX(-14deg)}

  /* Dark — deeper press feel + ink halo */
  .btn-dark{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.06),
      inset 0 -1px 0 rgba(0,0,0,.15),
      0 1px 2px rgba(28,24,19,.06),
      0 18px 36px -26px rgba(28,24,19,.45);
  }
  .btn-dark:hover{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      inset 0 -1px 0 rgba(0,0,0,.2),
      0 26px 52px -22px rgba(28,24,19,.6);
  }

  /* Line-dark on paper — refined paper-glass (subtle backdrop blur) */
  .btn-line-dark{
    background:rgba(248,243,233,.55);
    backdrop-filter:blur(8px) saturate(135%);
    -webkit-backdrop-filter:blur(8px) saturate(135%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.5),
      inset 0 -1px 0 rgba(28,24,19,.04),
      0 1px 2px rgba(28,24,19,.05);
  }
  .btn-line-dark:hover{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.12),
      inset 0 -1px 0 rgba(0,0,0,.12),
      0 16px 32px -18px rgba(28,24,19,.4);
  }

  /* Line-light on dark — soft paper halo */
  .btn-line:hover{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.18),
      0 16px 32px -18px rgba(241,236,225,.32);
  }
  .btn-light:hover{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.4),
      0 18px 36px -22px rgba(241,236,225,.45);
  }

  /* respect reduced motion */
  @media (prefers-reduced-motion: reduce){
    .btn:hover{transform:none}
    .btn-primary::after{display:none}
  }

  /* === Premium polish round 2 — glass forms, edge-glow cards, header liquid glass, gradient dividers === */

  /* Header — liquid glass (24px blur + 180% saturate) */
  .seo-header{
    background:rgba(241,236,225,.72)!important;
    -webkit-backdrop-filter:saturate(180%) blur(24px);
    backdrop-filter:saturate(180%) blur(24px);
    border-bottom:1px solid rgba(204,195,173,.5);
    box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 6px 24px -14px rgba(28,24,19,.12);
  }
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
    .seo-header{background:rgba(241,236,225,.97)!important}
  }

  /* Form inputs — paper-glass + gold halo focus */
  .field input,.field select,.field textarea{
    background:rgba(248,243,233,.55);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    border:1px solid rgba(204,195,173,.7);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.5),
      inset 0 -1px 0 rgba(28,24,19,.02),
      0 1px 2px rgba(28,24,19,.03);
    transition:background-color .3s var(--ease), border-color .3s var(--ease), box-shadow .35s var(--ease);
  }
  .field input:hover:not(:focus),.field select:hover:not(:focus),.field textarea:hover:not(:focus){
    border-color:rgba(156,106,50,.4);
    background:rgba(255,253,248,.7);
  }
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:none;
    border-color:var(--accent);
    background:rgba(255,253,248,.92);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.6),
      0 0 0 4px rgba(156,106,50,.13),
      0 8px 28px -10px rgba(156,106,50,.22),
      0 0 0 1px rgba(156,106,50,.4);
  }

  /* Card edge-glow — testimonial / tariff / pub cards */
  .testimonial,.tariff,.pub,article.km-card,.lb-cell,.rk-cell,.opp-pattern{
    position:relative;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .testimonial::after,.tariff::after,.pub::after,.rk-cell::after{
    content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
    background:linear-gradient(135deg, transparent 0%, rgba(156,106,50,.0) 30%, rgba(156,106,50,.14) 50%, rgba(156,106,50,.0) 70%, transparent 100%);
    opacity:0; transition:opacity .45s var(--ease);
    mix-blend-mode:overlay;
  }
  .testimonial:hover::after,.tariff:hover::after,.pub:hover::after,.rk-cell:hover::after{opacity:1}
  .testimonial:hover,.tariff:hover,.pub:hover,.rk-cell:hover{
    transform:translateY(-3px);
    box-shadow:
      0 1px 2px rgba(28,24,19,.04),
      0 24px 48px -28px rgba(28,24,19,.22),
      0 8px 20px -16px rgba(156,106,50,.18);
    border-color:rgba(156,106,50,.45);
  }

  /* Section dividers — gradient hairlines instead of hard borders */
  .rd-section,.rcg-section,.rep-section,.lc-section,.sources-block{
    border-bottom:0!important;
    position:relative;
  }
  .rd-section::before,.rcg-section::before,.rep-section::before,.lc-section::before,.sources-block::before{
    content:""; position:absolute; left:8%; right:8%; bottom:0; height:1px;
    background:linear-gradient(90deg, transparent 0%, rgba(204,195,173,.7) 25%, rgba(204,195,173,.7) 75%, transparent 100%);
    pointer-events:none;
  }
  .rd-section:last-of-type::before,.rcg-section:last-of-type::before,.rep-section:last-of-type::before,.lc-section:last-of-type::before{display:none}

  /* Editorial pull-quote ribbon — between hero and big-stats */
  .rep-hero,.rd-hero,.rcg-hero,.lc-hero{
    border-bottom:0;
    position:relative;
  }
  .rep-hero::after,.rd-hero::after,.rcg-hero::after,.lc-hero::after{
    height:2px;
    background:linear-gradient(90deg, transparent 0%, rgba(156,106,50,.32) 30%, rgba(156,106,50,.32) 70%, transparent 100%);
  }

  /* ---- header ---- */
  header{position:fixed; top:0; left:0; right:0; z-index:60; transition:transform .4s var(--ease)}
  .utility{
    background:var(--black); color:var(--muted-light);
    font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
    text-align:center; padding:8px 0; transition:max-height .35s var(--ease), padding .35s var(--ease), opacity .25s;
    max-height:40px; overflow:hidden;
  }
  .masthead{
    /* Not fully transparent: many pages using this shared header (e.g. .pl-hero pillar
       pages) have a LIGHT top section, not a dark photo hero — a fully transparent
       masthead with light nav text would be invisible against that light background
       before the user scrolls. A permanent dark tint keeps nav text legible on any
       page, while still looking like a reveal once header.scrolled kicks in. */
    background:rgba(21,18,13,.55); transition:background .35s var(--ease), padding .35s var(--ease), box-shadow .35s;
    padding:22px 0;
  }
  header.scrolled .utility{max-height:0; padding:0; opacity:0}
  header.scrolled .masthead{background:rgba(241,236,225,.97); padding:14px 0; box-shadow:0 1px 0 var(--line)}
  .nav{display:flex; align-items:center; justify-content:space-between}
  .brand{display:inline-flex; align-items:center; gap:0; line-height:1; text-decoration:none}
  .brand .bn-wrap{display:inline-flex; flex-direction:column; line-height:1; gap:5px}
  .brand .bn{font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:20px; color:var(--paper); letter-spacing:-.005em; transition:color .35s var(--ease); font-style:italic}
  .brand .br{
    font-family:'Golos Text',-apple-system,sans-serif; font-size:9px; letter-spacing:.24em; text-transform:uppercase;
    color:var(--accent); font-weight:600; white-space:nowrap;
    max-height:0; overflow:hidden; opacity:0; transform:translateY(-3px);
    transition:max-height .4s var(--ease), opacity .4s var(--ease), transform .4s var(--ease);
  }
  header.scrolled .brand .br{max-height:14px; opacity:1; transform:translateY(0)}
  header.scrolled .brand .bn{color:var(--ink)}
  header.scrolled .brand .br{color:var(--accent-deep)}
  .nav-links{display:flex; align-items:center; gap:34px}
  .nav-links a.nl{
    font-size:12px; letter-spacing:.13em; text-transform:uppercase; font-weight:600;
    color:rgba(241,236,225,.82); transition:color .3s; position:relative; padding:4px 0;
    touch-action:manipulation;
  }
  .nav-links a.nl::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--accent); transform:scaleX(0); transition:transform .3s var(--ease)}
  .nav-links a.nl:hover::after{transform:scaleX(1)}
  .nav-links a.nl.is-active::after{transform:scaleX(1); transform-origin:left center}
  .nav-links a.nl.is-active{color:var(--accent)}
  header.scrolled .nav-links a.nl.is-active{color:var(--accent-deep)}
  header.scrolled .nav-links a.nl{color:var(--ink-soft)}
  .nav-cta{padding:13px 24px; font-size:11px}
  .nav-phone{display:inline-flex; align-items:center; font-family:'Golos Text',sans-serif; font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--ink); border-bottom:0; margin-right:6px; white-space:nowrap; transition:color .25s ease}
  .nav-phone svg{color:var(--accent)}
  .nav-phone:hover{color:var(--accent)}
  header.scrolled .nav-phone{color:var(--ink)}
  @media (max-width:1100px){ .nav-phone{display:none} }
  header.scrolled .nav-cta.btn-line{color:var(--ink); border-color:var(--line)}
  header.scrolled .nav-cta.btn-line:hover{background:var(--ink); color:var(--paper)}
  /* mobile menu open: force paper text even when header is scrolled */
  .nav-links.open .nav-cta.btn-line{color:var(--paper)!important; border-color:rgba(241,236,225,.4)!important; background:transparent!important}
  .nav-links.open .nav-cta.btn-line:hover{background:var(--accent)!important; border-color:var(--accent)!important}
  .burger{display:none; flex-direction:column; gap:6px; background:none; border:0; cursor:pointer; padding:10px; z-index:70; touch-action:manipulation; -webkit-appearance:none; appearance:none; min-width:44px; min-height:44px; align-items:center; justify-content:center}
  .burger span{width:26px; height:1.6px; background:var(--paper); transition:.3s}
  header.scrolled .burger span{background:var(--ink)}
  /* When mobile menu is open the panel covers screen with dark bg — force paper burger lines */
  .nav-links.open ~ .burger span{background:var(--paper)!important}
  header.scrolled .nav-links.open ~ .burger span{background:var(--paper)!important}

  /* ---- hero / cover ---- */
  .hero{min-height:max(720px, 100vh); min-height:max(720px, 100svh); min-height:max(720px, 100dvh); background:var(--black); position:relative; overflow:hidden; display:flex; align-items:flex-end}
  .hero-img{position:absolute; inset:0}
  /* === HERO PHOTO === */
  .hero-img img{width:100%; height:100%; object-fit:cover; object-position:center 14%; animation:kb 26s var(--ease) forwards}
  @keyframes kb{from{transform:scale(1.05)}to{transform:scale(1)}}
  .hero-img::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(15,12,8,.55) 0%, transparent 22%, transparent 60%, rgba(15,12,8,.92) 100%);
  }
  /* === HERO LAYOUT === */
  .hero-inner{position:relative; z-index:3; width:100%; padding:130px 0 70px}
  /* === HERO TYPOGRAPHY === */
  .hero h1{
    font-family:'Playfair Display',Georgia,serif; font-weight:500;
    font-size:clamp(28px, 3vw, 44px); line-height:1.12;
    color:var(--paper); margin:0 0 30px; letter-spacing:-.01em;
    text-wrap:balance; max-width:none;
    overflow-wrap:normal; word-break:normal; hyphens:none;
  }
  .hero h1 em{font-style:italic; font-weight:400; color:var(--accent)}
  .hero .kicker{color:var(--accent)}
  .hero .kicker::before{background:var(--accent)}
  .hero p.hsub{font-size:16px; color:#d5cdba; line-height:1.72; margin-bottom:38px; max-width:none}

  /* === DESKTOP: 50/50 SPLIT === */
  @media (min-width:1024px){
    .hero-img{left:auto; right:0; width:50%}
    .hero-img::after{
      background:linear-gradient(90deg, rgba(15,12,8,1) 0%, rgba(15,12,8,.96) 6%, rgba(15,12,8,.55) 20%, rgba(15,12,8,.12) 42%, transparent 70%);
    }
    .hero h1,.hero p.hsub,.hero-actions,.hero-cred{max-width:540px}
    .hero p.hsub{max-width:480px}
  }
  @media (min-width:1440px){
    .hero h1{max-width:600px; font-size:46px}
    .hero p.hsub{max-width:500px}
  }
  .hero-actions{display:flex; align-items:center; gap:26px; flex-wrap:wrap}
  .hero-cred{
    margin-top:28px; padding-top:18px; border-top:1px solid rgba(241,236,225,.16);
    display:flex; gap:10px 32px; flex-wrap:wrap;
  }
  .hero-cred span{font-size:12.5px; color:#c3bba8; display:flex; align-items:center; gap:9px; line-height:1.35}
  .hero-cred span b{font-family:'Playfair Display'; font-weight:600; font-size:20px; color:var(--paper)}
  .hero-cap{display:none}
  .scroll-hint{position:absolute; left:40px; bottom:28px; z-index:3; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(241,236,225,.5); display:flex; align-items:center; gap:10px}
  .scroll-hint .ln{width:46px; height:1px; background:rgba(241,236,225,.4); position:relative; overflow:hidden}
  .scroll-hint .ln::after{content:""; position:absolute; inset:0; background:var(--accent); animation:slide 2.4s infinite}
  @keyframes slide{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

  /* ---- section frame ---- */
  .sec{padding:128px 0}
  .sec-head{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:end; margin-bottom:64px}
  .sec-head .st h2{font-size:clamp(30px,3.6vw,50px); font-weight:600; max-width:14ch; margin-top:20px}
  .sec-head .sl{align-self:end}
  .rule{height:1px; background:var(--line); width:100%}

  /* ---- 01 stakes ---- */
  .stakes{background:var(--black); color:var(--paper)}
  .stakes .kicker{color:var(--accent)}
  .stakes .kicker::before{background:var(--accent)}
  .stakes h2{color:var(--paper); font-size:clamp(28px,3.4vw,46px); max-width:20ch}
  .stakes .intro{display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:start; margin-bottom:78px}
  .stakes .intro p{color:#cdc4b1; font-size:18px}
  .stakes .intro p.dropcap::first-letter{color:var(--accent)}
  .stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line-dark)}
  .stat{padding:42px 34px 38px 0; border-right:1px solid var(--line-dark)}
  .stat:last-child{border-right:0; padding-right:0}
  .stat:not(:first-child){padding-left:34px}
  .stat .sn{font-family:'Playfair Display'; font-weight:500; font-size:clamp(52px,5.4vw,82px); color:var(--accent); line-height:.9; letter-spacing:-.02em}
  .stat .sc{margin-top:20px; color:#bdb4a1; font-size:14.5px; line-height:1.6}

  /* ---- 02 risks ---- */
  .risks-grid{display:grid; grid-template-columns:1.55fr 1fr; gap:64px; align-items:start}
  .risk-index{border-top:1px solid var(--line)}
  .risk-row{
    display:grid; grid-template-columns:auto 1fr; gap:30px; padding:30px 6px;
    border-bottom:1px solid var(--line); cursor:default; transition:background .3s var(--ease), padding .3s var(--ease);
  }
  .risk-row:hover{background:var(--paper-3); padding-left:18px; padding-right:18px}
  .risk-row .rn{font-family:'Playfair Display'; font-style:italic; font-size:30px; color:var(--accent); font-weight:500; line-height:1}
  .risk-row h3{font-size:23px; font-weight:600; margin-bottom:7px}
  .risk-row p{font-size:15px; color:var(--muted); line-height:1.6; max-width:46ch}
  .risk-photo{position:-webkit-sticky; position:sticky; top:120px}
  .ph{position:relative; overflow:hidden; background:var(--black)}
  .ph img{width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform 1.6s var(--ease)}
  .ph::after{
    content:""; position:absolute; inset:0; background:var(--paper); transform-origin:right;
    transition:transform 1s var(--ease);
  }
  .ph.in::after{transform:scaleX(0)}
  .ph.in img{transform:scale(1)}
  .ph:not(.in) img{transform:scale(1.14)}
  .cap{font-style:italic; font-family:'Playfair Display'; font-size:13px; color:var(--muted); margin-top:14px; display:flex; gap:10px}
  .cap::before{content:""; width:22px; height:1px; background:var(--accent); margin-top:9px; flex-shrink:0}

  /* ---- pull quote ---- */
  .pquote{background:var(--paper-2); padding:0; overflow:hidden}
  .pquote-grid{display:grid; grid-template-columns:.82fr 1.18fr; min-height:640px}
  .pquote-img{position:relative; overflow:hidden}
  .pquote-img img{width:100%; height:100%; object-fit:cover; object-position:center 8%}
  .pquote-txt{display:flex; flex-direction:column; justify-content:center; padding:96px 84px}
  .pquote-txt .qm{font-family:'Playfair Display'; font-size:90px; color:var(--accent); line-height:.5; height:42px}
  .pquote-txt blockquote{
    font-family:'Playfair Display'; font-style:italic; font-weight:500;
    font-size:clamp(26px,2.9vw,40px); line-height:1.32; color:var(--ink); margin:18px 0 30px; max-width:20ch;
  }
  .pquote-txt .qa{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent-deep); font-weight:600; display:flex; align-items:center; gap:13px}
  .pquote-txt .qa::before{content:""; width:30px; height:1px; background:var(--accent)}

  /* ---- 03 qualification ---- */
  .qual-grid{display:grid; grid-template-columns:1fr 1fr; gap:0}
  .qual-photo{overflow:hidden}
  .qual-photo .ph{height:100%}
  .qual-photo .ph img{height:100%; object-position:center 12%}
  .qual-cols{background:var(--black); color:var(--paper); padding:84px 70px; display:flex; flex-direction:column; gap:40px}
  .qual-cols .kicker{color:var(--accent)}
  .qual-cols .kicker::before{background:var(--accent)}
  .qual-cols h2{color:var(--paper); font-size:clamp(27px,2.7vw,38px); max-width:16ch}
  .qual-block h4{font-family:'Golos Text'; font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; margin-bottom:4px; display:flex; align-items:center; gap:11px}
  .qual-block.yes h4{color:var(--accent)}
  .qual-block.no h4{color:var(--muted-light)}
  .qual-block ul{list-style:none}
  .qual-block li{display:flex; gap:14px; padding:13px 0; border-bottom:1px solid var(--line-dark); font-size:15px; color:#d2c9b6}
  .qual-block li:last-child{border-bottom:0}
  .qual-block li svg{width:16px; height:16px; flex-shrink:0; margin-top:4px}
  .qual-block.yes li svg{color:var(--accent)}
  .qual-block.no li svg{color:#5f5848}

  /* ---- 04 offer ---- */
  .offer-list{border-top:1px solid var(--line)}
  .offer-row{
    display:grid; grid-template-columns:90px 1fr 1.4fr; gap:34px; align-items:baseline;
    padding:36px 6px; border-bottom:1px solid var(--line); transition:padding .3s var(--ease), background .3s var(--ease);
  }
  .offer-row:hover{background:var(--paper-3); padding-left:18px}
  .offer-row .on{font-family:'Playfair Display'; font-size:34px; font-weight:500; color:var(--line); font-style:italic}
  .offer-row:hover .on{color:var(--accent)}
  .offer-row h3{font-size:22px; font-weight:600}
  .offer-row p{font-size:15.5px; color:var(--muted); line-height:1.62}

  /* ---- 05 cases — досье ---- */
  .cases{background:var(--paper-2)}
  .case-portrait{aspect-ratio:4/3.4}
  .case-portrait .ph img{object-position:center 18%}
  .conf-note{font-style:italic; font-family:'Playfair Display'; font-size:13.5px; color:var(--muted); margin-top:18px; display:flex; gap:11px}
  .conf-note::before{content:""; width:24px; height:1px; background:var(--accent); margin-top:10px; flex-shrink:0}
  .case-list{margin-top:18px}
  .cases-disclaimer{margin-top:54px; padding-top:24px; border-top:1px solid var(--line); font-size:13px; line-height:1.6; color:var(--muted); font-style:italic; font-family:'Playfair Display'; max-width:78ch}
  .case{padding:54px 0; border-top:1px solid var(--line)}
  .case:last-child{border-bottom:1px solid var(--line)}
  .case-top{display:flex; align-items:baseline; gap:10px 22px; flex-wrap:wrap; margin-bottom:32px}
  .case-top .cind{font-family:'Playfair Display'; font-style:italic; font-size:18px; color:var(--accent)}
  .case-top h3{font-size:clamp(24px,2.6vw,34px); font-weight:600; letter-spacing:-.01em}
  .case-top .cmeta{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-deep); font-weight:600; width:100%; margin-top:2px}
  .case-body{display:grid; grid-template-columns:1.52fr 1fr; gap:48px; align-items:start}
  .cf{display:grid; grid-template-columns:166px 1fr; gap:24px; padding:17px 0; border-bottom:1px solid var(--line)}
  .cf:first-child{padding-top:0}
  .cf:last-child{border-bottom:0}
  .cf .cfl{font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; font-weight:700; color:var(--muted); padding-top:2px}
  .cf.res .cfl{color:#5a7d3e}
  .cf p{font-size:15px; color:var(--ink-soft); line-height:1.62}
  .cf.res p{color:var(--ink); font-weight:500}
  .case-parallel{background:var(--ink); color:var(--paper); padding:32px 32px 34px; position:-webkit-sticky; position:sticky; top:118px}
  .case-parallel .cpl{font-size:10.5px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; color:var(--accent); margin-bottom:16px; display:flex; align-items:center; gap:11px}
  .case-parallel .cpl::before{content:""; width:22px; height:1px; background:var(--accent)}
  .case-parallel .cpc{font-family:'Playfair Display'; font-size:15px; font-style:italic; color:var(--paper); margin-bottom:11px; line-height:1.4}
  .case-parallel p{font-size:13.5px; color:#bdb4a1; line-height:1.62}

  /* ---- funnel ---- */
  .funnel{border-top:1px solid var(--line-dark)}
  .fstep{display:grid; grid-template-columns:auto 1fr; gap:22px; padding:24px 0; border-bottom:1px solid var(--line-dark)}
  .fstep .fn{font-family:'Playfair Display'; font-size:17px; font-weight:600; color:var(--paper);
    background:rgba(156,106,50,.2); border:1px solid var(--accent); width:44px; height:44px;
    display:flex; align-items:center; justify-content:center; flex-shrink:0}
  .fstep .fh{display:flex; align-items:center; gap:11px; flex-wrap:wrap; margin-bottom:6px}
  .fstep h3{font-size:18.5px; font-weight:600; color:var(--paper)}
  .fstep .tag{font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; padding:4px 9px}
  .fstep .tag.free{background:rgba(241,236,225,.13); color:#cdc4b1}
  .fstep .tag.paid{background:var(--accent); color:var(--black)}
  .fstep p{font-size:14.5px; color:#bdb4a1; line-height:1.62}
  .fstep p .pp{color:var(--accent); font-weight:600}

  /* ---- 06 process ---- */
  .proc-grid{display:grid; grid-template-columns:1fr 1.08fr; gap:70px; align-items:center}
  .proc-photo .ph{aspect-ratio:4/4.7}
  .proc-steps{border-top:1px solid var(--line)}
  .proc-step{display:grid; grid-template-columns:auto 1fr; gap:26px; padding:28px 0; border-bottom:1px solid var(--line)}
  .proc-step .ps-n{
    font-family:'Playfair Display'; font-size:18px; font-weight:600; color:var(--paper);
    background:var(--ink); width:42px; height:42px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .proc-step h3{font-size:21px; font-weight:600; margin-bottom:5px}
  .proc-step p{font-size:15px; color:var(--muted); line-height:1.6}

  /* ---- profile ---- */
  .profile{background:var(--black); color:var(--paper); overflow:hidden}
  .profile-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:0; align-items:stretch}
  .profile-img{position:relative; overflow:hidden; min-height:680px}
  .profile-img img{width:100%; height:100%; object-fit:cover; object-position:center 18%}
  .profile-txt{padding:118px 84px}
  .profile-txt .kicker{color:var(--accent)}
  .profile-txt .kicker::before{background:var(--accent)}
  .profile-txt h2{color:var(--paper); font-size:clamp(28px,3vw,44px); margin:20px 0 26px; max-width:16ch}
  .profile-txt p{color:#cdc4b1; font-size:17px; margin-bottom:18px; max-width:48ch}
  .profile-txt p.dropcap::first-letter{color:var(--accent)}
  .book{border:1px solid var(--line-dark); border-left:2px solid var(--accent); padding:24px 28px; margin-top:14px}
  .book .bt{font-family:'Playfair Display'; font-style:italic; font-weight:500; font-size:18px; color:var(--paper); line-height:1.35}
  .book .bd{font-size:14px; color:#bdb4a1; margin-top:10px}

  /* ---- media ---- */
  .media{background:var(--paper-3)}
  .media .sec-head{margin-bottom:48px}
  .logo-grid{display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line)}
  .logo-cell{
    position:relative; overflow:hidden;
    border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    height:120px; display:flex; align-items:center; justify-content:center; padding:22px 18px;
    background:transparent;
    transition:background .35s cubic-bezier(.55,.05,.2,1), transform .35s cubic-bezier(.55,.05,.2,1);
    cursor:default;
  }
  .logo-cell::before{
    content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
    background:var(--accent); transform:scaleX(0); transform-origin:left center;
    transition:transform .45s cubic-bezier(.55,.05,.2,1);
  }
  .logo-cell:hover{background:var(--paper); transform:translateY(-2px)}
  .logo-cell:hover::before{transform:scaleX(1)}
  .logo-cell img{
    max-height:42px; max-width:100%; width:auto; height:auto;
    object-fit:contain; object-position:center;
    filter:grayscale(1);
    opacity:.6;
    transition:filter .45s cubic-bezier(.55,.05,.2,1), opacity .35s ease, transform .45s cubic-bezier(.55,.05,.2,1);
  }
  .logo-cell:hover img{filter:grayscale(0); opacity:1; transform:scale(1.05)}
  .logo-cell .lc-name{
    position:absolute; left:50%; bottom:8px; transform:translateX(-50%) translateY(6px);
    font-family:'Golos Text',sans-serif; font-size:10px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--accent); font-weight:600; white-space:nowrap;
    opacity:0; transition:opacity .35s ease, transform .35s cubic-bezier(.55,.05,.2,1);
    pointer-events:none;
  }
  .logo-cell:hover .lc-name{opacity:1; transform:translateX(-50%) translateY(0)}
  @media (max-width:1100px){
    .logo-grid{grid-template-columns:repeat(4,1fr)}
    .logo-cell{height:108px; padding:18px 14px}
    .logo-cell img{max-height:34px}
  }
  @media (max-width:680px){
    .logo-grid{grid-template-columns:repeat(2,1fr)}
    .logo-cell{height:96px; padding:16px 10px}
    .logo-cell img{max-height:30px; opacity:.85; filter:grayscale(.4) brightness(.85)}
    .logo-cell .lc-name{display:none}
  }
  .media-foot{margin-top:34px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap}
  .media-foot p{font-size:14px; color:var(--muted); font-style:italic; font-family:'Playfair Display'}

  /* ---- faq ---- */
  .faq{background:var(--paper)}
  .faq-wrap{display:grid; grid-template-columns:.7fr 1.3fr; gap:64px; align-items:start}
  .faq-list{border-top:1px solid var(--line)}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-q{
    width:100%; background:none; border:0; cursor:pointer; text-align:left; touch-action:manipulation;
    -webkit-appearance:none; appearance:none; min-height:60px;
    display:flex; justify-content:space-between; align-items:flex-start; gap:30px; padding:28px 4px;
    font-family:'Playfair Display'; font-size:21px; font-weight:600; color:var(--ink);
  }
  .faq-q .fi{font-family:'Playfair Display'; font-style:italic; font-size:24px; color:var(--accent); flex-shrink:0; transition:transform .3s var(--ease); line-height:1}
  .faq-item.open .fi{transform:rotate(45deg)}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease)}
  .faq-a p{padding:0 4px 30px; color:var(--ink-soft); font-size:16px; max-width:62ch}

  /* ---- final cta ---- */
  /* Safari <16 fallback: overflow:visible keeps sticky working (overflow:hidden would break it).
     Modern browsers use overflow:clip via @supports below */
  .final{background:var(--black); color:var(--paper); overflow:visible}
  @supports (overflow:clip){ .final{overflow:clip} }
  .final-grid{display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:start}
  .final-grid .form-card{position:sticky; top:90px; align-self:start; max-height:calc(100vh - 110px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--accent) transparent}
  .final-grid .form-card::-webkit-scrollbar{width:6px}
  .final-grid .form-card::-webkit-scrollbar-thumb{background:var(--accent); border-radius:3px}
  @media (max-width:1024px){
    .final-grid .form-card{position:static; max-height:none; overflow:visible}
  }
  .final-left{padding:112px 76px; display:flex; flex-direction:column; justify-content:center; position:relative}
  .final-left .kicker{color:var(--accent)} .final-left .kicker::before{background:var(--accent)}
  .final-left h2{color:var(--paper); font-size:clamp(30px,3.3vw,48px); margin:22px 0 22px; max-width:14ch}
  .final-left p{color:#cdc4b1; font-size:17px; max-width:46ch; margin-bottom:30px}
  .final-left ul{list-style:none}
  .final-left li{display:flex; gap:14px; padding:11px 0; border-bottom:1px solid var(--line-dark); font-size:15px; color:#d2c9b6}
  .final-left li:last-child{border-bottom:0}
  .final-left li svg{width:17px;height:17px;color:var(--accent);flex-shrink:0;margin-top:4px}
  .final-photo{position:relative; overflow:hidden; min-height:560px}
  .final-photo img{width:100%;height:100%;object-fit:cover; object-position:center 20%}

  /* ---- form ---- */
  .form-card{background:var(--paper); color:var(--ink); padding:42px 44px}
  .form-card h3{font-size:25px; font-weight:600; margin-bottom:5px}
  .form-card .fsub{font-size:14px; color:var(--muted); margin-bottom:26px}
  .field{margin-bottom:16px}
  .field label{display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--ink-soft); margin-bottom:7px}
  .field input,.field select,.field textarea{
    width:100%; padding:14px 15px; border:1px solid var(--line); background:#faf7ef;
    font-family:'Golos Text',-apple-system,sans-serif; font-size:16px; color:var(--ink); border-radius:0;
    -webkit-appearance:none; -moz-appearance:none; appearance:none;
    transition:border-color .2s, box-shadow .2s;
    line-height:1.4; min-height:48px;
  }
  .field select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%239c6a32' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 14px center; padding-right:38px;
  }
  .field textarea{font-size:16px; line-height:1.55}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(156,106,50,.12)}
  .field textarea{resize:vertical; min-height:78px}
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
  .consent{
    display:flex; gap:13px; align-items:flex-start; margin:18px 0 6px;
    background:var(--paper-3); border:1px solid var(--line); padding:15px 16px;
  }
  .consent.shake{animation:shake .4s}
  @keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
  .consent input{
    appearance:none; -webkit-appearance:none; width:21px; height:21px; flex-shrink:0; margin-top:1px;
    border:1.5px solid var(--accent-deep); background:#faf7ef; cursor:pointer; position:relative; transition:.15s;
  }
  .consent input:checked{background:var(--accent-deep)}
  .consent input:checked::after{
    content:""; position:absolute; left:6px; top:2px; width:6px; height:11px;
    border:solid var(--paper); border-width:0 2px 2px 0; transform:rotate(45deg);
  }
  .consent input:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
  .consent label{font-size:13px; line-height:1.5; color:var(--ink-soft); cursor:pointer}
  .consent label a{color:var(--accent-deep); text-decoration:underline; text-underline-offset:2px}
  .form-err{display:none; color:#a3402f; font-size:13px; font-weight:600; margin:8px 0 2px}
  .form-card .btn,.modal .btn-submit{width:100%; justify-content:center; margin-top:14px}
  .form-foot{font-size:11.5px; color:var(--muted); text-align:center; margin-top:14px; line-height:1.5}
  .honey{position:absolute; left:-9999px; opacity:0}
  .form-ok{display:none; text-align:center; padding:46px 14px}
  .form-ok.show{display:block}
  .form-ok .okm{font-family:'Playfair Display'; font-size:54px; color:var(--accent); line-height:1}
  .form-ok h3{margin:14px 0 8px}
  .form-ok p{color:var(--muted); font-size:15px; max-width:38ch; margin:0 auto}

  /* ---- pdf band ---- */
  .pdf{background:var(--paper-2); padding:0}
  .pdf-inner{display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:center; padding:74px 0}
  .pdf-inner .pl .kicker{margin-bottom:16px}
  .pdf-inner h3{font-family:'Playfair Display'; font-size:clamp(24px,2.6vw,34px); font-weight:600; max-width:18ch; margin-bottom:14px}
  .pdf-inner p{font-size:15.5px; color:var(--muted); max-width:48ch}
  .pdf-inner .pr{text-align:right}

  /* ---- footer ---- */
  footer{background:var(--black); color:var(--paper); padding:84px 0 40px}
  .foot-top{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:50px; padding-bottom:48px; border-bottom:1px solid var(--line-dark)}
  .foot-brand .fbn{font-family:'Playfair Display'; font-size:30px; font-weight:600}
  .foot-brand .fbr{font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); margin:8px 0 18px; font-weight:600}
  .foot-brand p{color:#bdb4a1; font-size:14.5px; max-width:36ch}
  .foot-col h4{font-family:'Golos Text'; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; font-weight:600}
  .foot-col a{display:flex; align-items:center; gap:11px; color:#cdc4b1; font-size:14.5px; padding:6px 0; transition:color .25s}
  .foot-col a:hover{color:var(--accent)}
  .foot-col a svg{width:16px;height:16px;flex-shrink:0}
  .foot-bottom{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-top:26px; font-size:12px; color:#857c6c}
  .foot-bottom a{color:#bdb4a1; text-decoration:underline; text-underline-offset:2px; cursor:pointer}

  /* ---- new-style minimal footer used on /seed/, /scale/, /exit/, /press/, /chto-ne-beru/,
          /recognition/, /chitayu/, /changelog/, /status/, /oplata/, /2026-v-tsifrah/ ---- */
  .seo-footer{background:var(--ink); color:var(--paper); padding:48px 0 32px; margin-top:0}
  .seo-footer .wrap{max-width:1200px}
  .seo-footer .sf-row{display:grid; grid-template-columns:1.2fr 2fr; gap:48px; padding-bottom:28px; border-bottom:1px solid rgba(241,236,225,.12); align-items:start}
  .seo-footer .sf-brand .sf-bn{font-family:'Playfair Display', Georgia, serif; font-weight:600; font-size:22px; line-height:1; color:var(--paper); margin-bottom:8px}
  .seo-footer .sf-brand .sf-br{font-family:'Golos Text', sans-serif; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); font-weight:600}
  .seo-footer .sf-links{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px 28px; align-items:start; padding-top:4px}
  .seo-footer .sf-links a{font-family:'Golos Text', sans-serif; font-size:13.5px; line-height:1.35; color:rgba(241,236,225,.78); text-decoration:none; transition:color .22s; padding:1px 0}
  .seo-footer .sf-links a:hover{color:var(--accent)}
  .seo-footer .sf-foot{padding-top:22px; font-family:'Golos Text', sans-serif; font-size:12px; color:rgba(241,236,225,.55); letter-spacing:.02em}
  .seo-footer .sf-foot a{color:rgba(241,236,225,.7); text-decoration:underline; text-underline-offset:3px}
  .seo-footer .sf-foot a:hover{color:var(--accent)}
  /* .ft-* footer variant (pillar + landing pages): mirror of .sf-* styling */
  .seo-footer .ft-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:40px 48px; padding-bottom:26px; border-bottom:1px solid rgba(241,236,225,.12); align-items:start}
  .seo-footer .ft-brand .ft-bn{font-family:'Playfair Display', Georgia, serif; font-weight:600; font-size:22px; line-height:1; color:var(--paper); margin-bottom:8px}
  .seo-footer .ft-brand .ft-br{font-family:'Golos Text', sans-serif; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); font-weight:600}
  .seo-footer .ft-brand p{font-family:'Golos Text', sans-serif; font-size:13px; line-height:1.6; color:rgba(241,236,225,.62); margin:14px 0 0; max-width:54ch}
  .seo-footer .ft-col h4{font-family:'Golos Text', sans-serif; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(241,236,225,.5); font-weight:600; margin:0 0 12px}
  .seo-footer .ft-col a{display:block; font-family:'Golos Text', sans-serif; font-size:13.5px; line-height:1.5; color:rgba(241,236,225,.78); text-decoration:none; padding:3px 0; transition:color .22s}
  .seo-footer .ft-col a:hover{color:var(--accent)}
  .seo-footer .ft-legal{padding-top:20px; font-family:'Golos Text', sans-serif; font-size:12px; color:rgba(241,236,225,.55); letter-spacing:.02em}
  .seo-footer .ft-legal a{color:rgba(241,236,225,.7); text-decoration:underline; text-underline-offset:3px}
  .seo-footer .ft-legal a:hover{color:var(--accent)}
  @media(max-width:640px){.seo-footer .ft-grid{grid-template-columns:1fr; gap:26px}}
  @media(max-width:780px){
    .seo-footer{padding:36px 0 26px}
    .seo-footer .sf-row{grid-template-columns:1fr; gap:24px}
    .seo-footer .sf-links{grid-template-columns:1fr 1fr; gap:12px 24px}
    .seo-footer .sf-foot{font-size:11px}
  }
  @media(max-width:480px){
    .seo-footer .sf-links{grid-template-columns:1fr}
  }

  /* Brand wrap fix: keep name on one line and tagline on one line, stacked cleanly */
  .seo-brand{flex-shrink:0}
  .seo-brand > span{display:inline-flex; flex-direction:column; gap:2px; line-height:1.1; min-width:0}
  .seo-brand .bn{white-space:nowrap}
  .seo-brand .br{white-space:nowrap; margin-top:0}
  /* narrow screens: drop the tagline so the name never breaks or overflows */
  @media(max-width:520px){ .seo-brand .br{display:none!important} }
  .foot-brand .fbn{white-space:nowrap}

  /* ---- mobile sticky cta ---- */
  .m-bar{display:none; position:fixed; bottom:0; left:0; right:0; z-index:55; background:var(--black); padding:11px 16px; padding-bottom:calc(11px + env(safe-area-inset-bottom,0)); padding-left:calc(16px + env(safe-area-inset-left,0)); padding-right:calc(16px + env(safe-area-inset-right,0)); border-top:1px solid var(--line-dark)}
  .m-bar .btn{width:100%; justify-content:center}

  /* ---- modal ---- */
  .modal{position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center; padding:20px; padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); background:rgba(15,12,8,.82); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); overscroll-behavior:contain}
  .modal.show{display:flex; animation:fade .25s}
  @keyframes fade{from{opacity:0}to{opacity:1}}
  .modal-card{background:var(--paper); max-width:560px; width:100%; max-height:92vh; max-height:92svh; max-height:92dvh; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; position:relative}
  .modal-card .mc-pad{padding:42px 44px}
  .modal-card .x{position:absolute; top:14px; right:14px; width:40px; height:40px; border:1px solid var(--line); background:var(--paper); cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2}
  .modal-card .x svg{width:17px;height:17px;color:var(--ink)}
  .modal-card .x:hover{background:var(--ink)} .modal-card .x:hover svg{color:var(--paper)}
  .modal-card h3{font-size:25px; font-weight:600; margin-bottom:5px}
  .modal-card .msub{font-size:14px; color:var(--muted); margin-bottom:24px}
  .policy h3{font-family:'Playfair Display'; font-size:26px; margin-bottom:6px}
  .policy h4{font-family:'Golos Text'; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--accent-deep); margin:22px 0 7px; font-weight:700}
  .policy p,.policy li{font-size:13.5px; color:var(--ink-soft); line-height:1.6}
  .policy ul{margin:6px 0 6px 20px}
  .policy .pmeta{font-size:12px; color:var(--muted); margin-top:20px; border-top:1px solid var(--line); padding-top:14px}

  /* ---- cookie ---- */
  .cookie{
    position:fixed; left:18px; right:18px; max-width:560px; z-index:110;
    bottom:18px; bottom:calc(18px + env(safe-area-inset-bottom,0));
    background:var(--black); color:var(--paper); padding:20px 22px; display:flex; gap:20px; align-items:center;
    border:1px solid var(--line-dark); box-shadow:0 20px 50px -16px rgba(0,0,0,.6);
  }
  .cookie.hide{display:none}
  .cookie p{font-size:12.5px; color:#cdc4b1; line-height:1.5}
  .cookie p a{color:var(--accent); text-decoration:underline}
  .cookie .ck-btns{display:flex; gap:8px; flex-shrink:0}
  .cookie button{font-family:'Golos Text'; font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; padding:11px 16px; cursor:pointer; border:1px solid var(--line-dark); white-space:nowrap}
  .cookie .ck-ok{background:var(--accent); color:var(--black); border-color:var(--accent)}
  .cookie .ck-no{background:transparent; color:var(--paper)}

  /* ---- reveal ---- */
  .rv{opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease), transform .9s var(--ease)}
  .rv.in{opacity:1; transform:none}
  .rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}
  .rv.d4{transition-delay:.4s}.rv.d5{transition-delay:.5s}

  /* ---- responsive ---- */
  @media (max-width:1024px){
    .wrap{padding:0 28px}
    .sec{padding:90px 0}
    .sec-head{grid-template-columns:1fr; gap:24px}
    .stakes .intro,.risks-grid,.proc-grid,.faq-wrap{grid-template-columns:1fr; gap:44px}
    .pquote-grid,.qual-grid,.profile-grid,.final-grid,.pdf-inner{grid-template-columns:1fr}
    .pquote-img,.qual-photo,.profile-img,.final-photo{min-height:420px; aspect-ratio:auto; height:440px}
    .pquote-txt,.qual-cols,.profile-txt,.final-left{padding:64px 36px}
    .stat-row{grid-template-columns:1fr}
    .stat{border-right:0; border-bottom:1px solid var(--line-dark); padding:30px 0 !important}
    .risk-photo{position:static}
    .case-body{grid-template-columns:1fr; gap:30px}
    .case-parallel{position:static}
    .cf{grid-template-columns:1fr; gap:5px}
    .offer-row{grid-template-columns:60px 1fr; gap:18px}
    .offer-row p{grid-column:1/-1}
    .foot-top{grid-template-columns:1fr 1fr}
    .nav-links{
      position:fixed; inset:0 0 0 auto; width:80%; max-width:340px; background:var(--black-2);
      flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:60px 38px;
      transform:translateX(100%); transition:transform .4s var(--ease);
    }
    .nav-links.open{transform:none}
    .nav-links a.nl{color:var(--paper); font-size:16px; padding:12px 0; width:100%; border-bottom:1px solid var(--line-dark)}
    .nav-links a.nl::after{display:none}
    .nav-cta{margin-top:16px}
    header.scrolled .nav-links a.nl{color:var(--paper)}
    .burger{display:flex}
    .m-bar{display:block}
    body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0))}
    .pdf-inner .pr{text-align:left}
  }
  @media (max-width:560px){
    .wrap{padding:0 20px}
    .foot-top{grid-template-columns:1fr; gap:34px}
    .field-row{grid-template-columns:1fr}
    .form-card,.modal-card .mc-pad{padding:30px 22px}
    .pquote-txt,.qual-cols,.profile-txt,.final-left{padding:54px 22px}
    .ba{grid-template-columns:1fr}
    .cookie{flex-direction:column; align-items:flex-start; gap:14px}
    .cookie .ck-btns{width:100%}.cookie button{flex:1}
    .hero{min-height:max(820px, 100dvh); align-items:flex-start}
    .hero-inner{padding:210px 0 48px}
    .hero p.hsub{font-size:16.5px; line-height:1.6}
    .hero-actions{gap:14px 18px; margin-top:18px}
    .hero-cred{margin-top:24px; padding-top:16px; gap:8px 22px}
    .hero-cred span{font-size:11.5px}
    .hero-cred span b{font-size:18px}
    .hero-urgent{margin-top:12px}
    .hero-promise{display:none}
    .sec{padding:72px 0}
    .lead-p{font-size:16.5px}
    .stat .sn{font-size:42px!important}
    .case-top h3{font-size:22px}
    .tariff{padding:30px 22px 28px}
    .t-name{font-size:23px}
    .t-price{font-size:32px}
  }
  @media (max-width:430px){
    .wrap{padding:0 16px}
    .utility{font-size:9.5px; letter-spacing:.16em; padding:8px 16px}
    .masthead{padding:14px 0}
    .brand .bn{font-size:22px}
    .hero h1{font-size:34px; max-width:none; margin:18px 0 22px}
    .hero p.hsub{font-size:15.5px}
    .hero-actions{flex-direction:column; align-items:stretch; width:100%; gap:14px}
    .hero-actions .btn{width:100%; justify-content:center}
    .hero-actions .nl{margin:0!important; text-align:center; padding:6px 0}
    .hero-cred{flex-direction:column; gap:8px}
    .stakes h2{font-size:26px}
    .sec-head h2,.profile h2{font-size:28px!important}
    .case-top h3{font-size:20px}
    .case{padding:42px 0}
    .tariff-grid{gap:14px}
    .tariff{padding:26px 20px 26px}
    .t-price{font-size:30px}
    .tariff-note{padding:22px 18px}
    .tariff-note .tnh{font-size:19px}
    .qual-cols{padding:48px 18px}
    .pquote-txt blockquote{font-size:22px!important}
    .final-left{padding:48px 18px}
    .modal-card .mc-pad{padding:26px 18px}
    .modal-card h3{font-size:21px}
    .cookie{padding:16px 18px}
    .cookie p{font-size:12px}
    .foot-bottom{flex-direction:column; align-items:flex-start; gap:8px; font-size:11px}
  }
  @media (prefers-reduced-motion:reduce){
    .rv,.ph img,.ph::after{transition:none!important; animation:none!important; opacity:1!important; transform:none!important}
    .hero-img img{animation:none}
    html{scroll-behavior:auto}
  }

  /* ============== Premium editorial details ============== */
  /* 1) Custom text selection — golden brand highlight */
  ::selection{background:var(--accent); color:var(--ink); text-shadow:none}
  ::-moz-selection{background:var(--accent); color:var(--ink); text-shadow:none}

  /* Scroll-margin so anchor jumps don't hide under fixed header */
  section[id], aside[id]{scroll-margin-top:90px}
  @media (max-width:780px){ section[id], aside[id]{scroll-margin-top:200px} }

  /* Кастомный курсор убран — нативный курсор */
  .cursor-dot,.cursor-ring{display:none!important}
  html,body{cursor:auto}
  a,button,summary,label,[role="button"],.btn,.btn-line,.cta,.lang-btn,.faq-item summary{cursor:pointer}
  :disabled,[disabled]{cursor:not-allowed}

  /* 3) Scroll progress (1px gold) */
  .scroll-progress{position:fixed; top:0; left:0; height:2px; width:0%; background:linear-gradient(90deg, transparent, var(--accent) 25%, var(--accent) 75%, transparent); z-index:9998; pointer-events:none; will-change:width; transition:width .08s linear; box-shadow:0 0 12px rgba(212,175,90,.4)}

  /* Toast notification (clipboard copy confirmation) */
  .ml-toast{position:fixed; left:50%; bottom:36px; transform:translateX(-50%) translateY(20px); background:var(--ink); color:var(--paper); padding:12px 22px; border-radius:6px; font-size:14px; font-family:'Golos Text',sans-serif; font-weight:500; box-shadow:0 12px 36px -12px rgba(0,0,0,.55); z-index:99999; opacity:0; pointer-events:none; transition:opacity .25s ease, transform .35s var(--ease); max-width:90vw; text-align:center; border:1px solid rgba(212,175,90,.25)}
  .ml-toast.is-visible{opacity:1; transform:translateX(-50%) translateY(0)}

  /* Back-to-top button */
  .back-to-top{position:fixed; right:28px; bottom:96px; width:48px; height:48px; border-radius:50%; background:var(--ink); color:var(--accent); border:1px solid rgba(212,175,90,.3); display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .35s var(--ease), transform .35s var(--ease), background .25s ease; z-index:9999; box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
  .back-to-top.is-visible{opacity:1; pointer-events:auto; transform:translateY(0)}
  .back-to-top:hover{background:var(--accent); color:var(--ink); transform:translateY(-3px)}
  .back-to-top svg{width:18px; height:18px}
  @media (max-width:560px){ .back-to-top{right:18px; bottom:84px; width:42px; height:42px} }

  /* 4) Marquee — slow editorial ticker */
  .marquee{background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:22px 0; position:relative}
  .marquee::before,.marquee::after{content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none}
  .marquee::before{left:0; background:linear-gradient(90deg,var(--paper),transparent)}
  .marquee::after{right:0; background:linear-gradient(270deg,var(--paper),transparent)}
  .marquee-track{display:flex; gap:0; white-space:nowrap; animation:marquee 90s linear infinite; will-change:transform; width:max-content}
  .marquee-track span{font-family:'Playfair Display',serif; font-style:italic; font-size:clamp(20px,2.2vw,30px); letter-spacing:.02em; color:var(--ink); flex-shrink:0; padding:0 48px; position:relative; line-height:1}
  .marquee-track span::after{content:'·'; position:absolute; right:-4px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:1.4em; line-height:0}
  @keyframes marquee{from{transform:translateX(0)} to{transform:translateX(-50%)}}
  @media (prefers-reduced-motion:reduce){ .marquee-track{animation:none} }

  /* 5) Drop caps */
  .dropcap::first-letter{font-family:'Playfair Display',serif; font-weight:700; font-size:5.2em; line-height:.82; float:left; margin:6px 14px 0 0; color:var(--accent); padding:4px 0 0 0}

  /* 6) Pull quote (magazine style) */
  .pullquote{font-family:'Playfair Display',serif; font-style:italic; font-size:clamp(22px,2.4vw,30px); line-height:1.3; color:var(--ink); border-top:1px solid var(--accent); border-bottom:1px solid var(--accent); padding:28px 0 30px; margin:42px auto; max-width:36ch; position:relative; text-align:center}
  .pullquote::before{content:'\201C'; font-size:80px; line-height:.5; color:var(--accent); display:block; margin:8px auto 14px; font-family:'Playfair Display',serif; opacity:.85}
  .pullquote cite{display:block; font-style:normal; font-family:'Golos Text',sans-serif; font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); margin-top:18px; font-weight:500}
  .pullquote.on-dark{color:var(--paper); border-color:var(--accent)}
  .pullquote.on-dark cite{color:#cdc4b1}

  /* 7) Roman chapter numerals */

  /* 8) Live status pill */
  .status-pill{display:inline-flex; align-items:center; gap:9px; padding:5px 13px 5px 10px; border:1px solid rgba(212,175,90,.4); border-radius:999px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#d6c89d; background:rgba(212,175,90,.06); font-family:'Golos Text',sans-serif; font-weight:500; line-height:1.3; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px)}
  .status-pill .dot{width:7px; height:7px; border-radius:50%; background:#7ac57a; box-shadow:0 0 0 0 rgba(122,197,122,.7); animation:pulse-dot 2.4s ease-out infinite; flex-shrink:0}
  .status-pill[data-state="busy"] .dot{background:#e0b357; animation-name:pulse-dot-amber}
  .status-pill[data-state="off"] .dot{background:#888; animation:none; box-shadow:none}
  @keyframes pulse-dot{0%{box-shadow:0 0 0 0 rgba(122,197,122,.65)} 70%{box-shadow:0 0 0 9px rgba(122,197,122,0)} 100%{box-shadow:0 0 0 0 rgba(122,197,122,0)}}
  @keyframes pulse-dot-amber{0%{box-shadow:0 0 0 0 rgba(224,179,87,.65)} 70%{box-shadow:0 0 0 9px rgba(224,179,87,0)} 100%{box-shadow:0 0 0 0 rgba(224,179,87,0)}}
  .utility-row .status-pill{margin-left:14px}
  @media (max-width:900px){
    .status-pill .label{display:none}
    .status-pill{padding:5px 8px}
  }

  /* 10) Real signature (handwritten, gold) — img-based, fade-in on scroll */
  .signature-img{width:170px; height:auto; display:block; margin:18px 0 4px; opacity:0; transform:translateY(6px); transition:opacity 1.2s cubic-bezier(.55,.05,.2,1), transform 1.2s cubic-bezier(.55,.05,.2,1); filter:drop-shadow(0 1px 4px rgba(212,175,90,.18))}
  .signature-img.in-view{opacity:.82; transform:translateY(0)}

  /* 11) Print stylesheet — proper dossier-style printout */
  @media print{
    *{background:transparent!important; color:#000!important; box-shadow:none!important; text-shadow:none!important}
    html,body{font-size:11pt; line-height:1.55; color:#000!important}
    .cursor-dot,.cursor-ring,.scroll-progress,#header,.lang-switch,.marquee,.hero-cta,
    .btn,.btn-line,form,.modal,.cookie-banner,.calendar-widget,.process-cta,.tariff-cta,
    .stakes,.media,#channel,#pdf,.whitepaper,.final,iframe,video,
    .hero-img,.qual-photo,.profile-img,.final-photo,.lang-btn,.mobile-bar,#mobileBar,.status-pill{display:none!important}
    .hero{padding:0 0 12mm; min-height:auto!important}
    .hero h1{font-size:24pt!important}
    section{page-break-inside:avoid; padding:6mm 0!important}
    h1,h2,h3{page-break-after:avoid; font-family:'Playfair Display',Georgia,serif; color:#000!important}
    a[href^="http"]:not(.no-print-url)::after{content:" (" attr(href) ")"; font-size:9pt; color:#444!important}
    .container,.wrap{max-width:none!important; padding:0 14mm!important}
    .pullquote{border-color:#000!important; max-width:none}
    .dropcap::first-letter{color:#000!important}
    body::after{content:"maxlawman.ru · Макс Лоумен · max@maxlawman.ru"; display:block; position:fixed; bottom:6mm; left:0; right:0; text-align:center; font-size:9pt; color:#666!important}
  }

  /* 12) View transitions — smooth anchor jumps */
  @supports (view-transition-name:none){
    ::view-transition-old(root),::view-transition-new(root){animation-duration:.4s; animation-timing-function:cubic-bezier(.55,.05,.2,1)}
    ::view-transition-old(root){animation-name:fade-out}
    ::view-transition-new(root){animation-name:fade-in}
    @keyframes fade-out{to{opacity:0}}
    @keyframes fade-in{from{opacity:0}}
  }

/* ============================================================
   SEO PAGES — дополнительные стили (генератор 1000 страниц)
   ============================================================ */
  .seo-body{padding-top:0}
  /* ---- lean header ---- */
  .seo-header{position:sticky; top:0; z-index:60; background:rgba(241,236,225,.9); backdrop-filter:saturate(140%) blur(14px); -webkit-backdrop-filter:saturate(140%) blur(14px); border-bottom:1px solid var(--line)}
  .seo-header .nav{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:68px}
  .seo-brand{display:inline-flex; align-items:center; gap:13px; text-decoration:none; color:var(--ink)}
  .seo-brand img{width:38px; height:38px; display:block}
  .seo-brand .bn{font-family:'Playfair Display',Georgia,serif; font-size:20px; font-weight:500; font-style:italic; letter-spacing:-.005em; line-height:1}
  .seo-brand .br{display:block; font-size:10.5px; letter-spacing:.04em; color:var(--muted); margin-top:0}
  .seo-nav{display:flex; align-items:center; gap:22px; flex-wrap:nowrap}
  .seo-nav a:not(.btn){font-size:13px; color:var(--ink-soft); text-decoration:none; letter-spacing:.01em; transition:color .2s var(--ease); white-space:nowrap}
  .seo-nav a:not(.btn):hover{color:var(--accent-deep)}
  /* гарантируем читаемость кнопок независимо от правил навигации/контекста */
  .seo-nav a.btn-dark{color:var(--paper)}
  .seo-nav a.btn-light{color:var(--ink)}
  .seo-cta a.btn-line{color:var(--paper)}
  .seo-cta a.btn-light{color:var(--ink)}
  .seo-nav .btn{padding:11px 18px; min-height:0; font-size:10.5px; letter-spacing:.16em; white-space:nowrap}
  @media(max-width:860px){ .seo-nav a:not(.btn){display:none} .seo-header .nav{min-height:60px} }
  /* narrow phones: logo + CTA alone can still overflow (letter-spacing on the
     button eats a lot of width) — tighten both a notch further */
  @media(max-width:400px){
    .seo-brand{gap:9px}
    .seo-brand img{width:32px; height:32px}
    .seo-brand .bn{font-size:17px}
    .seo-nav .btn{padding:9px 13px; font-size:9.5px; letter-spacing:.08em}
  }

  /* ---- breadcrumbs: legacy block kept empty — premium styles applied below at the end of this file ---- */

  /* ---- hero ---- */
  .seo-hero{padding:30px 0 46px; border-bottom:1px solid var(--line)}
  .seo-kicker{display:inline-flex; align-items:center; gap:9px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent-deep); font-weight:600; margin-bottom:18px}
  .seo-kicker::before{content:""; width:26px; height:1px; background:var(--accent)}
  .seo-hero h1{font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:clamp(28px,4.6vw,46px); line-height:1.08; letter-spacing:-.015em; color:var(--ink); margin:0 0 20px; max-width:18ch}
  .seo-lead{font-size:clamp(16px,1.9vw,19px); line-height:1.6; color:var(--ink-soft); max-width:62ch; margin:0 0 26px}
  .seo-hero-actions{display:flex; flex-wrap:wrap; gap:14px; align-items:center}
  .seo-meta-row{display:flex; flex-wrap:wrap; gap:22px; margin-top:30px; padding-top:24px; border-top:1px solid var(--line)}
  .seo-meta-row .mi{display:flex; flex-direction:column; gap:3px}
  .seo-meta-row .mi b{font-family:'Playfair Display',Georgia,serif; font-size:18px; font-weight:600; color:var(--ink)}
  .seo-meta-row .mi span{font-size:12px; color:var(--muted); letter-spacing:.02em}

  /* ---- layout: content + sidebar ---- */
  .seo-layout{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; padding:46px 0 20px; align-items:start}
  @media(max-width:980px){ .seo-layout{grid-template-columns:1fr; gap:34px} }
  .seo-aside{position:sticky; top:92px; display:flex; flex-direction:column; gap:22px}
  @media(max-width:980px){ .seo-aside{position:static} }

  /* ---- TOC ---- */
  .toc{border:1px solid var(--line); border-radius:14px; padding:22px; background:var(--paper-3)}
  .toc h4{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 14px}
  .toc ol{list-style:none; margin:0; padding:0; counter-reset:t; display:flex; flex-direction:column; gap:2px}
  .toc a{display:flex; gap:10px; padding:7px 0; font-size:13.5px; color:var(--ink-soft); text-decoration:none; line-height:1.4; counter-increment:t; transition:color .2s var(--ease)}
  .toc a::before{content:"—"; color:var(--accent); font-size:13px; flex-shrink:0; opacity:.7}
  .toc a:hover{color:var(--accent-deep)}

  /* ---- prose ---- */
  .prose{max-width:68ch; font-size:16.5px; line-height:1.72; color:var(--ink-soft)}
  .prose>section{scroll-margin-top:90px; padding:0 0 8px}
  .prose h2{font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:clamp(23px,3vw,30px); line-height:1.16; letter-spacing:-.01em; color:var(--ink); margin:52px 0 18px; padding-top:22px; position:relative}
  .prose h2::before{content:""; position:absolute; top:0; left:0; width:42px; height:2px; background:var(--accent)}
  .prose h2:first-child{margin-top:0}
  .prose h2 .hn{display:none}
  /* буквица в первом абзаце статьи */
  .prose p.dropcap::first-letter{float:left; font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:62px; line-height:.8; padding:6px 14px 0 0; color:var(--accent-deep)}
  /* врезка-цитата (редакционная) */
  .prose .pullquote{margin:42px 0; padding:4px 0 4px 26px; border:0; border-left:3px solid var(--accent); font-family:'Playfair Display',Georgia,serif; font-style:italic; font-weight:500; font-size:clamp(20px,2.7vw,27px); line-height:1.36; color:var(--ink); max-width:34ch}
  .prose .pullquote cite{display:block; margin-top:14px; font-family:'Golos Text',-apple-system,sans-serif; font-style:normal; font-weight:600; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted)}
  .prose h3{font-size:18px; font-weight:600; color:var(--ink); margin:28px 0 10px; letter-spacing:-.005em}
  .prose p{margin:0 0 16px}
  .prose ul,.prose ol{margin:0 0 18px; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:11px}
  .prose ul li{position:relative; padding-left:28px}
  .prose ul li::before{content:""; position:absolute; left:4px; top:11px; width:7px; height:7px; border:1px solid var(--accent); transform:rotate(45deg)}
  .prose ol{counter-reset:n}
  .prose ol li{position:relative; padding-left:42px; counter-increment:n}
  .prose ol li::before{content:counter(n); position:absolute; left:0; top:-2px; width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',Georgia,serif; font-size:14px; color:var(--accent-deep); border:1px solid var(--line); border-radius:50%}
  .prose strong{color:var(--ink); font-weight:600}
  .prose a.xref{color:var(--accent-deep); text-decoration:none; border-bottom:1px solid var(--line); transition:border-color .2s}
  .prose a.xref:hover{border-color:var(--accent)}

  /* ---- callouts ---- */
  .callout{border-radius:14px; padding:24px 26px; margin:26px 0; border:1px solid var(--line)}
  .callout .ct{display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.15em; text-transform:uppercase; font-weight:600; margin-bottom:12px}
  .callout p:last-child,.callout ul:last-child{margin-bottom:0}
  .callout.legal{background:var(--paper-3); border-color:var(--line)}
  .callout.legal .ct{color:var(--accent-deep)}
  .callout.warn{background:#f6ede0; border-color:#e3cfa9}
  .callout.warn .ct{color:#8a5a1e}
  .callout.key{background:var(--ink); color:var(--paper-2); border-color:var(--ink)}
  .callout.key .ct{color:var(--accent)}
  .callout.key strong{color:#fff}

  /* ---- FAQ ---- */
  .faq-list{display:flex; flex-direction:column; border-top:1px solid var(--line); margin:8px 0 0}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-item summary{list-style:none; cursor:pointer; padding:20px 44px 20px 0; position:relative; font-size:16.5px; font-weight:600; color:var(--ink); line-height:1.4}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:"+"; position:absolute; right:8px; top:18px; font-size:22px; font-weight:400; color:var(--accent); transition:transform .25s var(--ease)}
  .faq-item[open] summary::after{transform:rotate(45deg)}
  .faq-item .faq-a{max-height:none; overflow:visible; padding:0 44px 22px 0; font-size:15.5px; line-height:1.66; color:var(--ink-soft)}
  .faq-item .faq-a p{padding:0; margin:0 0 12px; max-width:none; font-size:15.5px}
  .faq-item .faq-a p:last-child{margin:0}

  /* ---- interactive: checklist ---- */
  .checklist{border:1px solid var(--line); border-radius:16px; padding:8px 26px; margin:6px 0; background:var(--paper-3)}
  .checklist .ci{display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--line); cursor:pointer}
  .checklist .ci:last-child{border-bottom:0}
  .checklist .box{flex-shrink:0; width:22px; height:22px; border:1.5px solid var(--accent); border-radius:6px; margin-top:1px; position:relative; transition:background .2s var(--ease)}
  .checklist .ci.on .box{background:var(--accent)}
  .checklist .ci.on .box::after{content:"✓"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--paper); font-size:13px; font-weight:700}
  .checklist .ci.on .ctext{color:var(--muted); text-decoration:line-through}
  .checklist .ctext{font-size:15.5px; line-height:1.5; color:var(--ink-soft)}
  .check-progress{display:flex; align-items:center; gap:14px; margin-top:18px; font-size:13px; color:var(--muted)}
  .check-bar{flex:1; height:6px; border-radius:3px; background:var(--line); overflow:hidden}
  .check-bar i{display:block; height:100%; width:0; background:var(--accent); transition:width .35s var(--ease)}

  /* ---- interactive: case scenario ---- */
  .scenario{display:grid; gap:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; margin:6px 0}
  .scenario .sc-step{padding:24px 26px; border-bottom:1px solid var(--line)}
  .scenario .sc-step:last-child{border-bottom:0}
  .scenario .sc-step.res{background:var(--ink); color:var(--paper-2)}
  .scenario .sc-lab{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-deep); font-weight:600; margin-bottom:9px}
  .scenario .sc-step.res .sc-lab{color:var(--accent)}
  .scenario .sc-step p{margin:0; font-size:15.5px; line-height:1.6}
  .scenario .sc-step.res strong{color:#fff}

  /* ---- interactive: practice cards ---- */
  .pracs{display:flex; flex-direction:column; gap:14px; margin:6px 0}
  .prac{border:1px solid var(--line); border-radius:14px; padding:22px 24px; background:var(--paper-3)}
  .prac .pr-top{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:11px}
  .prac .pr-tag{font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--accent-deep); border:1px solid var(--line); border-radius:30px; padding:4px 12px}
  .prac .pr-out{font-size:11px; letter-spacing:.05em; color:var(--muted)}
  .prac h4{font-size:16px; font-weight:600; color:var(--ink); margin:0 0 8px; line-height:1.35}
  .prac p{font-size:14.5px; line-height:1.6; color:var(--ink-soft); margin:0}

  /* ---- service form (визуальная) ---- */
  .svc-form{border:1px solid var(--line); border-radius:18px; padding:30px; background:var(--paper-3); margin:6px 0}
  .svc-form .ff{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px}
  @media(max-width:560px){ .svc-form .ff{grid-template-columns:1fr} }
  .svc-form label{display:block; font-size:12px; letter-spacing:.04em; color:var(--muted); margin-bottom:7px}
  .svc-form input,.svc-form textarea{width:100%; border:1px solid var(--line); border-radius:10px; background:var(--paper); padding:13px 15px; font-size:15px; color:var(--ink); outline:none; transition:border-color .2s}
  .svc-form input:focus,.svc-form textarea:focus{border-color:var(--accent)}
  .svc-form .drop{border:1.5px dashed var(--line); border-radius:12px; padding:20px; text-align:center; font-size:13.5px; color:var(--muted); margin-bottom:16px}
  .svc-form .fineprint{font-size:11.5px; color:var(--muted); margin-top:13px; line-height:1.5}
  /* каналы (чипы) + загрузка файлов */
  .of-field{margin:6px 0 14px}
  .of-lbl{display:block; font-size:12px; letter-spacing:.04em; color:var(--muted); margin-bottom:7px}
  .chips{display:flex; flex-wrap:wrap; gap:8px}
  .chips .chip{display:inline-flex; align-items:center; gap:7px; margin:0; padding:8px 13px; border:1px solid var(--line); border-radius:999px; cursor:pointer; font-size:13px; color:var(--ink); background:var(--paper); transition:background .2s, border-color .2s, color .2s; user-select:none}
  .chips .chip input{position:absolute; opacity:0; width:1px; height:1px; padding:0; margin:0; border:0; min-height:0}
  .chips .chip span{margin:0}
  .chips .chip:hover{border-color:var(--ink)}
  .chips .chip:has(input:checked){background:var(--ink); color:var(--paper); border-color:var(--ink)}
  .chips .chip:has(input:focus-visible){outline:2px solid var(--accent); outline-offset:2px}
  .filedrop{border:1.5px dashed var(--line); border-radius:12px; padding:13px 14px; transition:border-color .2s, background .2s}
  .filedrop.drag{border-color:var(--accent); background:rgba(156,106,50,.06)}
  .filedrop .fd-btn{display:inline-flex; align-items:center; gap:8px; margin:0; padding:9px 14px; border:1px solid var(--ink); border-radius:999px; cursor:pointer; font-size:13px; color:var(--ink); background:var(--paper); transition:background .2s, color .2s}
  .filedrop .fd-btn:hover{background:var(--ink); color:var(--paper)}
  .filedrop .fd-input{position:absolute; opacity:0; width:1px; height:1px; padding:0; border:0; min-height:0}
  .filedrop .fd-hint{display:block; font-size:12px; color:var(--muted); margin-top:8px}
  .fd-list{list-style:none; padding:0; margin:10px 0 0; display:flex; flex-direction:column; gap:6px}
  .fd-list li{display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12.5px; background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:7px 11px}
  .fd-list li span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
  .fd-list li .fd-sz{color:var(--muted); flex:none}
  .fd-list li .fd-x{cursor:pointer; color:var(--muted); border:0; background:none; font-size:16px; line-height:1; padding:0 2px; flex:none}
  .fd-list li .fd-x:hover{color:var(--accent-deep)}

  /* ---- related / interlinking ---- */
  .related{padding:44px 0 10px}
  .related h2{font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:26px; color:var(--ink); margin:0 0 8px; letter-spacing:-.01em}
  .related .rsub{font-size:14px; color:var(--muted); margin:0 0 24px}
  .rel-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px}
  .rel-card{display:flex; flex-direction:column; gap:8px; border:1px solid var(--line); border-radius:14px; padding:20px 22px; text-decoration:none; background:var(--paper-3); transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
  .rel-card:hover{border-color:var(--accent); transform:translateY(-2px); box-shadow:0 14px 30px -22px rgba(28,24,19,.5)}
  .rel-card .rc-tag{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-deep); font-weight:600}
  .rel-card .rc-title{font-size:15px; font-weight:600; color:var(--ink); line-height:1.35}
  .rel-card .rc-arrow{margin-top:auto; font-size:12px; color:var(--muted); display:flex; align-items:center; gap:6px}

  /* ---- big CTA ---- */
  .seo-cta{margin:52px 0 0; border-radius:22px; background:var(--ink); color:var(--paper); padding:clamp(34px,5vw,60px); position:relative; overflow:hidden}
  .seo-cta::after{content:""; position:absolute; right:-80px; top:-80px; width:300px; height:300px; border:1px solid rgba(241,236,225,.1); border-radius:50%}
  .seo-cta .ck{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:16px}
  .seo-cta h2{font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:clamp(24px,3.4vw,36px); line-height:1.14; color:var(--paper); margin:0 0 16px; max-width:20ch; letter-spacing:-.01em}
  .seo-cta p{font-size:16px; line-height:1.6; color:var(--paper-2); max-width:54ch; margin:0 0 28px; opacity:.86}
  .seo-cta .cta-actions{display:flex; flex-wrap:wrap; gap:14px}
  .seo-cta .disc{margin-top:22px; font-size:12px; color:var(--muted-light); max-width:60ch}

  /* ---- sources ---- */
  .sources{margin:36px 0 0; padding-top:22px; border-top:1px solid var(--line); font-size:13px; color:var(--muted)}
  .sources h4{font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin:0 0 12px}
  .sources a{color:var(--accent-deep); text-decoration:none; border-bottom:1px solid var(--line); word-break:break-all}
  .sources a:hover{border-color:var(--accent)}
  .sources .disclaimer{margin-top:16px; font-style:italic; line-height:1.55}

  /* ---- hub pages ---- */
  .hub-hero{padding:40px 0 36px; border-bottom:1px solid var(--line)}
  .hub-hero h1{font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:clamp(28px,4.2vw,42px); line-height:1.1; letter-spacing:-.02em; color:var(--ink); margin:0 0 18px; max-width:28ch}
  .hub-section{padding:40px 0 8px}
  .hub-section h2{font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:26px; color:var(--ink); margin:0 0 6px; letter-spacing:-.01em}
  .hub-section .hsub{font-size:14px; color:var(--muted); margin:0 0 22px}
  /* «По каким ситуациям обращаются» — кликабельные ситуации (открывают форму) */
  .hub-sits{list-style:none; padding:0; margin:0 0 8px; display:grid; grid-template-columns:1fr 1fr; gap:14px}
  @media(max-width:680px){ .hub-sits{grid-template-columns:1fr} }
  .hub-sits li{margin:0}
  .hub-sit{position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; text-align:left; cursor:pointer; background:var(--card); border:1px solid var(--line); border-radius:13px; padding:16px 18px; font-family:inherit; font-size:14.5px; line-height:1.4; color:var(--ink-soft); box-shadow:var(--shadow-sm); transition:border-color .3s var(--ease), box-shadow .35s var(--ease), transform .3s var(--ease), color .25s var(--ease)}
  .hub-sit::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(var(--accent),var(--accent-deep)); transform:scaleY(0); transform-origin:bottom; transition:transform .35s var(--ease)}
  .hub-sit:hover{border-color:rgba(156,106,50,.38); color:var(--ink); box-shadow:var(--shadow-lift); transform:translateY(-3px)}
  .hub-sit:hover::before{transform:scaleY(1)}
  .hub-sit svg{flex:none; color:var(--accent); transition:transform .3s var(--ease)}
  .hub-sit:hover svg{transform:translateX(5px)}
  .hub-list{columns:2; column-gap:48px}
  @media(max-width:760px){ .hub-list{columns:1} }
  .hub-list a{display:block; break-inside:avoid; padding:13px 0; border-bottom:1px solid var(--line); font-size:15px; color:var(--ink-soft); text-decoration:none; transition:color .2s,padding-left .2s}
  .hub-list a:hover{color:var(--accent-deep); padding-left:8px}
  .cluster-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; padding:8px 0}
  .cluster-card{display:flex; flex-direction:column; gap:10px; border:1px solid var(--line); border-radius:16px; padding:26px; text-decoration:none; background:var(--paper-3); transition:border-color .25s,transform .25s,box-shadow .25s}
  .cluster-card:hover{border-color:var(--accent); transform:translateY(-3px); box-shadow:0 18px 40px -28px rgba(28,24,19,.55)}
  .cluster-card h3{font-family:'Playfair Display',Georgia,serif; font-size:22px; font-weight:600; color:var(--ink); margin:0; letter-spacing:-.01em}
  .cluster-card p{font-size:14px; line-height:1.55; color:var(--ink-soft); margin:0}
  .cluster-card .cc-count{margin-top:auto; font-size:12px; letter-spacing:.04em; color:var(--accent-deep); font-weight:600}

/* ============================================================
   ИНТЕРАКТИВ + НОВЫЕ СТРАНИЦЫ + ПЕЧАТЬ + КРОССБРАУЗЕР
   ============================================================ */

  /* ---- общая карточка-инструмент ---- */
  .tool{border:1px solid var(--line); border-radius:18px; padding:clamp(20px,3vw,30px); background:var(--card); margin:8px 0; box-shadow:var(--shadow-md)}
  .tool-h{display:flex; align-items:center; gap:12px; margin-bottom:8px}
  .tool-h .tool-ic{width:38px;height:38px;border-radius:10px;background:var(--ink);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .tool-h .tool-ic svg{width:20px;height:20px}
  .tool-h h3{font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:600;color:var(--ink);margin:0;letter-spacing:-.01em}
  .tool-sub{font-size:14px;color:var(--muted);margin:0 0 18px}

  /* ---- калькулятор потерь ---- */
  .loss-calc .lc-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px}
  @media(max-width:560px){ .loss-calc .lc-grid{grid-template-columns:1fr} }
  .loss-calc label{display:block; font-size:12px; letter-spacing:.03em; color:var(--muted); margin-bottom:6px}
  .loss-calc input,.loss-calc select{width:100%; border:1px solid var(--line); border-radius:10px; background:var(--paper); padding:12px 14px; font-size:15px; color:var(--ink); outline:none; transition:border-color .2s; -webkit-appearance:none; appearance:none}
  .loss-calc input:focus,.loss-calc select:focus{border-color:var(--accent)}
  .loss-calc .lc-out{display:none; margin-top:18px; border-top:1px solid var(--line); padding-top:18px}
  .lc-rows{display:flex; flex-direction:column; gap:8px; margin-bottom:14px}
  .lc-row{display:flex; justify-content:space-between; font-size:14.5px; color:var(--ink-soft)}
  .lc-total{display:flex; justify-content:space-between; align-items:baseline; padding:16px 18px; border-radius:12px; background:var(--ink); color:var(--paper); margin-bottom:14px}
  .lc-total span{font-size:13px; letter-spacing:.04em; color:var(--paper-2)}
  .lc-total b{font-family:'Playfair Display',Georgia,serif; font-size:26px; font-weight:600; color:#fff}
  .lc-level{display:inline-block; font-family:'Golos Text',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; border-radius:999px; margin-bottom:14px}
  .lc-level.low{background:#eef3ea; color:#3f5a32}
  .lc-level.mid{background:#f6ede0; color:#8a5a1e}
  .lc-level.high{background:#f3e2e0; color:#8a2e22}
  .lc-explain{background:var(--paper-3); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:14px}
  .lc-explain-h{font-family:'Golos Text',sans-serif; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-deep); font-weight:700; margin-bottom:10px}
  .lc-explain ul{margin:0; padding-left:18px; display:flex; flex-direction:column; gap:8px}
  .lc-explain li{font-size:13.5px; line-height:1.55; color:var(--ink-soft)}
  .lc-stage-note{font-size:13.5px; padding:11px 14px; border-radius:10px; margin-bottom:14px; line-height:1.5}
  .lc-stage-note.low{background:#eef3ea; color:#3f5a32}
  .lc-stage-note.mid{background:#f6ede0; color:#8a5a1e}
  .lc-stage-note.high{background:#f3e2e0; color:#8a2e22}
  .lc-cta{margin-bottom:10px}
  .lc-disc,.quiz-disc{font-size:11.5px; color:var(--muted); line-height:1.5; font-style:italic}

  /* ---- квиз ---- */
  .quiz-questions{display:flex; flex-direction:column; gap:2px; margin:6px 0}
  .quiz-q{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); flex-wrap:wrap}
  .quiz-qt{font-size:15px; color:var(--ink-soft); line-height:1.45; flex:1 1 200px; min-width:0}
  .quiz-opts{display:flex; gap:8px; flex-wrap:wrap; max-width:100%}
  .quiz-opt{border:1px solid var(--line); border-radius:30px; background:var(--paper); padding:8px 18px; font-size:13px; font-weight:600; color:var(--ink-soft); transition:all .2s var(--ease)}
  .quiz-opt:hover{border-color:var(--accent)}
  .quiz-opt.is-on{background:var(--ink); color:var(--paper); border-color:var(--ink)}
  .quiz-result{display:none; margin-top:20px; padding-top:20px; border-top:1px solid var(--line)}
  .quiz-result.is-shown{display:block; animation:fadeUp .4s var(--ease)}
  @keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .quiz-score{display:inline-block; font-size:14px; padding:8px 16px; border-radius:30px; margin-bottom:14px}
  .quiz-score.low{background:#eef3ea; color:#3f5a32}
  .quiz-score.mid{background:#f6ede0; color:#8a5a1e}
  .quiz-score.high{background:#f3e2e0; color:#8a2e22}
  .quiz-result p{font-size:15.5px; line-height:1.65; color:var(--ink-soft); margin:0 0 12px}
  .quiz-prod{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; border:1px solid var(--line); border-radius:14px; padding:18px 20px; background:var(--paper); margin:14px 0}
  .quiz-prod .qp-name{font-weight:600; color:var(--ink); font-size:15.5px}
  .quiz-prod .qp-name span{color:var(--accent-deep); font-family:'Playfair Display',Georgia,serif; margin-left:6px}
  .quiz-restart{font-size:12.5px; color:var(--muted); text-decoration:underline; background:none; border:0; cursor:pointer; margin-top:4px}

  /* ---- проверка по ИНН ---- */
  .inn-check .ic-grid{display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end}
  @media(max-width:680px){ .inn-check .ic-grid{grid-template-columns:1fr} }
  .inn-check label{display:block; font-size:12px; color:var(--muted); margin-bottom:6px}
  .inn-check input{width:100%; border:1px solid var(--line); border-radius:10px; background:var(--paper); padding:13px 15px; font-size:15px; color:var(--ink); outline:none; -webkit-appearance:none; appearance:none}
  .inn-check input:focus{border-color:var(--accent)}
  .inn-check .ic-go{white-space:nowrap}
  .inn-check .ic-out{display:none; margin-top:16px}
  .ic-ok{font-size:14.5px; color:var(--ink-soft); line-height:1.6; margin-bottom:12px}
  .ic-err{color:#8a2e22; font-size:14px}
  .inn-feats{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; margin:18px 0 4px}
  .inn-feat{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink-soft)}
  .inn-feat svg{width:18px;height:18px;color:var(--accent-deep);flex-shrink:0;margin-top:2px}

  /* ---- продукты / цены ---- */
  /* Сравнение форматов */
  .cmp-wrap{overflow-x:auto; margin:6px 0 0; -webkit-overflow-scrolling:touch}
  .cmp-table{width:100%; border-collapse:collapse; min-width:640px; font-family:'Golos Text',sans-serif}
  .cmp-table th,.cmp-table td{text-align:left; padding:13px 16px; border-bottom:1px solid var(--line); vertical-align:top; font-size:14px; color:var(--ink-soft)}
  .cmp-table thead th{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600}
  .cmp-table tbody tr:hover{background:var(--paper-3)}
  .cmp-table .cmp-name{font-family:'Playfair Display',Georgia,serif; font-weight:500; color:var(--ink); font-size:15px; text-decoration:none; border-bottom:1px solid var(--line)}
  .cmp-table .cmp-name:hover{color:var(--accent-deep); border-color:var(--accent)}
  .cmp-table .cmp-price{white-space:nowrap; font-weight:600; color:var(--accent-deep)}
  .cmp-table tr.feat td{background:rgba(156,106,50,.06)}
  /* Образец/структура заключения */
  .sample-grid{border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-top:6px; background:var(--paper)}
  .sample-row{display:flex; gap:16px; padding:15px 18px; border-bottom:1px solid var(--line); align-items:baseline}
  .sample-row:last-child{border-bottom:0}
  .sample-row .sample-n{font-family:'Playfair Display',Georgia,serif; font-style:italic; color:var(--accent); font-size:17px; min-width:26px; flex-shrink:0}
  .sample-row b{font-family:'Playfair Display',Georgia,serif; font-weight:500; color:var(--ink); display:block; margin-bottom:3px; font-size:15px}
  .sample-row .d{font-size:13.5px; color:var(--ink-soft); line-height:1.5; display:block}
  /* Что после оплаты */
  .afterpay{display:grid; gap:12px; margin-top:6px}
  .afterpay .ap{display:flex; gap:14px; align-items:flex-start; padding:15px 18px; border:1px solid var(--line); border-radius:12px; background:var(--paper-3)}
  .afterpay .ap b{font-family:'Playfair Display',Georgia,serif; font-weight:500; color:var(--ink); display:block; margin-bottom:2px}
  .afterpay .ap p{font-size:13.5px; color:var(--ink-soft); line-height:1.5; margin:2px 0 0}
  .afterpay .ap .t{font-size:11.5px; color:var(--accent-deep); font-weight:600; white-space:nowrap; margin-left:auto; flex-shrink:0; letter-spacing:.02em}
  @media(max-width:560px){ .afterpay .ap{flex-wrap:wrap} .afterpay .ap .t{margin-left:0} }
  .prod-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; padding:8px 0}
  .prod-card{display:flex; flex-direction:column; gap:12px; border:1px solid var(--line); border-radius:18px; padding:28px; background:var(--paper-3); transition:border-color .25s,transform .25s,box-shadow .25s}
  .prod-card:hover{border-color:var(--accent); transform:translateY(-3px); box-shadow:0 18px 40px -28px rgba(28,24,19,.5)}
  .prod-card.feat{background:var(--ink); color:var(--paper-2); border-color:var(--ink)}
  .prod-card .pc-name{font-family:'Playfair Display',Georgia,serif; font-size:21px; font-weight:600; color:var(--ink); line-height:1.2; letter-spacing:-.01em}
  .prod-card.feat .pc-name{color:#fff}
  .prod-card .pc-price{font-family:'Playfair Display',Georgia,serif; font-size:24px; color:var(--accent-deep); font-weight:600}
  .prod-card.feat .pc-price{color:var(--accent)}
  .prod-card .pc-term{font-size:12px; color:var(--muted); letter-spacing:.03em}
  .prod-card.feat .pc-term{color:var(--muted-light)}
  .prod-card .pc-desc{font-size:14.5px; line-height:1.6; color:var(--ink-soft); flex:1}
  .prod-card.feat .pc-desc{color:var(--paper-2)}
  .prod-card .btn{margin-top:auto}

  /* ---- шаги «как это работает» ---- */
  .steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; counter-reset:st; padding:8px 0}
  .step{border:1px solid var(--line); border-radius:14px; padding:22px; background:var(--paper-3); counter-increment:st; position:relative}
  .step::before{content:counter(st); position:absolute; top:18px; right:20px; font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:32px; color:var(--line)}
  .step h4{font-size:16px; font-weight:600; color:var(--ink); margin:0 0 8px}
  .step p{font-size:14px; line-height:1.55; color:var(--ink-soft); margin:0}

  /* ---- разбор дела (review) / профиль компании / возможности ---- */
  .finding-list{display:flex; flex-direction:column; gap:12px; margin:8px 0}
  .finding{display:flex; gap:14px; border:1px solid var(--line); border-radius:12px; padding:18px 20px; background:var(--paper-3)}
  .finding .fn-no{flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--ink); color:var(--accent); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',Georgia,serif; font-size:15px}
  .finding p{margin:0; font-size:15px; line-height:1.55; color:var(--ink-soft)}
  .conseq{border-left:3px solid var(--accent); padding:4px 0 4px 20px; margin:8px 0}
  .case-meta{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0}
  .case-tag{font-size:12px; letter-spacing:.04em; border:1px solid var(--line); border-radius:30px; padding:6px 14px; color:var(--ink-soft); background:var(--paper-3)}
  .case-tag b{color:var(--ink)}
  .opp-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:16px; padding:8px 0}
  .opp-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:16px;padding:26px;text-decoration:none;background:var(--paper-3);transition:border-color .25s,transform .25s,box-shadow .25s}
  .opp-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(28,24,19,.5)}
  .opp-card .oc-amt{font-family:'Playfair Display',Georgia,serif;font-size:22px;color:var(--accent-deep);font-weight:600}
  .opp-card h3{font-size:17px;font-weight:600;color:var(--ink);margin:0;line-height:1.32}
  .opp-card p{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0}
  .opp-card .oc-go{margin-top:auto;font-size:12px;color:var(--muted)}

  /* ---- кроссбраузерные фолбэки ---- */
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
    .seo-header{background:rgba(241,236,225,.98)}
  }
  @supports not (gap: 1px){
    .seo-nav a{margin-left:18px}
  }
  img{max-width:100%; height:auto}
  input,select,textarea,button{font-family:inherit}

  /* ---- мобайл: облегчение ---- */
  @media(max-width:560px){
    .seo-hero{padding:22px 0 34px}
    .seo-hero h1{font-size:clamp(25px,8vw,34px)}
    .seo-meta-row{gap:14px}
    .seo-meta-row .mi b{font-size:16px}
    .prose{font-size:16px}
    .prose h2{font-size:22px; margin:34px 0 14px}
    .seo-cta{padding:28px 22px; border-radius:16px}
    .quiz-q{flex-direction:column; align-items:flex-start; gap:10px}
    .quiz-opts{width:100%}
    .quiz-opt{flex:1; text-align:center}
    .wrap{padding:0 20px}
  }

  /* ---- ПЕЧАТЬ: только брендированная презентация ---- */
  .print-card{display:none}
  @media print{
    @page{margin:14mm}
    html,body{background:#fff !important}
    body.seo-body > *{display:none !important}
    body.seo-body > .print-card{display:block !important}
    .print-card{color:#1c1813; font-family:'Golos Text',Arial,sans-serif}
    .print-card *{-webkit-print-color-adjust:exact; print-color-adjust:exact}
    .pc-top{display:flex; align-items:center; gap:14px; border-bottom:2px solid #1c1813; padding-bottom:16px; margin-bottom:20px}
    .pc-top img{width:54px;height:54px}
    .pc-top .pc-bn{font-family:'Playfair Display',Georgia,serif; font-size:26px; font-weight:600}
    .pc-top .pc-br{font-size:12px; color:#6d6557; margin-top:2px}
    .print-card .pc-h1{font-family:'Playfair Display',Georgia,serif; font-size:24px; font-weight:600; margin:0 0 8px; line-height:1.15}
    .print-card .pc-lead{font-size:14px; color:#3a342b; line-height:1.5; margin:0 0 18px; max-width:60ch}
    .pc-props{display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin:0 0 18px}
    .pc-prop{font-size:13px; color:#3a342b; padding-left:16px; position:relative}
    .pc-prop::before{content:"—"; position:absolute; left:0; color:#9c6a32}
    .pc-prop b{color:#1c1813}
    .print-card .pc-h{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#9c6a32; margin:18px 0 10px; font-weight:600}
    .pc-prices{width:100%; border-collapse:collapse}
    .pc-prices td{border-bottom:1px solid #ccc3ad; padding:7px 0; font-size:13px; vertical-align:top}
    .pc-prices td:last-child{text-align:right; font-family:'Playfair Display',Georgia,serif; color:#7d5224; white-space:nowrap; padding-left:16px}
    .pc-contacts{margin-top:20px; padding-top:14px; border-top:2px solid #1c1813; font-size:13px; display:flex; flex-wrap:wrap; gap:6px 24px}
    .pc-contacts b{color:#1c1813}
    .pc-foot{margin-top:14px; font-size:10.5px; color:#6d6557; font-style:italic; line-height:1.4}
  }

  /* ---- хаб: карточки страниц (вместо голого списка) ---- */
  .kb-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; padding:4px 0 8px}
  .kb-card{display:flex; flex-direction:column; gap:9px; border:1px solid var(--line); border-radius:14px; padding:22px 24px; text-decoration:none; background:var(--paper-3); transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
  .kb-card:hover{border-color:var(--accent); transform:translateY(-2px); box-shadow:0 14px 30px -22px rgba(28,24,19,.5)}
  .kb-card .kb-tag{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-deep); font-weight:600}
  .kb-card .kb-title{font-size:16px; font-weight:600; color:var(--ink); line-height:1.32; letter-spacing:-.005em}
  .kb-card .kb-desc{font-size:13.5px; line-height:1.55; color:var(--muted); flex:1}
  .kb-card .kb-go{font-size:12px; color:var(--accent-deep); font-weight:600}

  /* ---- модалка с формой (открывается с первого клика) ---- */
  .form-modal{position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:20px}
  .form-modal.open{display:flex}
  .form-modal .fm-backdrop{position:absolute; inset:0; background:rgba(15,12,8,.55); -webkit-backdrop-filter:saturate(140%) blur(14px); backdrop-filter:saturate(140%) blur(14px); animation:fmFade .35s var(--ease)}
  @keyframes fmFade{from{opacity:0}to{opacity:1}}
  .form-modal .fm-card{
    position:relative; z-index:1; width:100%; max-width:520px; max-height:92vh; overflow:auto;
    background:linear-gradient(180deg, #fbf6ec 0%, var(--paper) 100%);
    border:1px solid rgba(204,195,173,.55);
    border-radius:18px; padding:clamp(28px,4vw,40px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.7),
      inset 0 -1px 0 rgba(28,24,19,.03),
      0 1px 2px rgba(28,24,19,.06),
      0 36px 80px -32px rgba(15,12,8,.55),
      0 12px 28px -16px rgba(156,106,50,.18);
    animation:fmIn .42s cubic-bezier(0.16,1,0.3,1);
  }
  @keyframes fmIn{from{opacity:0; transform:translateY(20px) scale(.96)}to{opacity:1; transform:none}}
  .form-modal .fm-card::before{
    content:""; position:absolute; top:0; left:24px; right:24px; height:1px;
    background:linear-gradient(90deg, transparent, rgba(156,106,50,.45) 30%, rgba(156,106,50,.45) 70%, transparent);
    pointer-events:none;
  }
  .form-modal .fm-close{
    position:absolute; top:14px; right:14px; width:42px; height:42px; border-radius:50%;
    border:1px solid rgba(204,195,173,.6);
    background:rgba(248,243,233,.55);
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(28,24,19,.05);
    display:flex; align-items:center; justify-content:center; color:var(--ink-soft); cursor:pointer;
    transition:transform .25s cubic-bezier(0.34,1.4,0.64,1), background-color .25s, color .25s, border-color .25s, box-shadow .25s;
  }
  .form-modal .fm-close:hover{
    background:var(--ink); color:var(--paper); border-color:var(--ink);
    transform:rotate(90deg) scale(1.05);
    box-shadow:0 8px 20px -8px rgba(28,24,19,.4);
  }
  .form-modal .fm-close svg{width:18px; height:18px}
  .form-modal .fm-kicker{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-deep); font-weight:600; margin-bottom:10px}
  .form-modal h3{font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:clamp(22px,3vw,28px); line-height:1.15; color:var(--ink); margin:0 0 8px; letter-spacing:-.01em}
  .form-modal .fm-sub{font-size:14.5px; line-height:1.55; color:var(--ink-soft); margin:0 0 20px}
  .form-modal .fm-topic{display:none; font-size:13px; color:var(--muted); background:var(--paper-3); border:1px solid var(--line); border-radius:10px; padding:10px 14px; margin-bottom:16px}
  .form-modal .fm-topic.show{display:block}
  .form-modal .svc-form{border:0; padding:0; background:none; margin:0}
  body.fm-lock{overflow:hidden}

  /* боковой CTA: кнопка на всю ширину */
  .seo-aside .callout.key .btn{width:100%; justify-content:center}

  /* ---- липкая мобильная кнопка ---- */
  .mobile-cta{display:none}
  @media(max-width:860px){
    .mobile-cta{display:block; position:fixed; left:0; right:0; bottom:0; z-index:90; padding:10px 14px calc(10px + env(safe-area-inset-bottom,0)); background:rgba(241,236,225,.7); -webkit-backdrop-filter:saturate(180%) blur(24px); backdrop-filter:saturate(180%) blur(24px); border-top:1px solid rgba(204,195,173,.5); box-shadow:0 -1px 0 rgba(255,255,255,.4) inset, 0 -8px 24px -10px rgba(28,24,19,.15)}
    .mobile-cta .btn{width:100%; justify-content:center; min-height:50px}
    body.seo-body{padding-bottom:80px}
  }
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){ .mobile-cta{background:var(--paper)} }

  /* ---- материалы / скачивания ---- */
  .dl-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; padding:6px 0}
  .dl-card{display:flex; gap:16px; align-items:flex-start; border:1px solid var(--line); border-radius:14px; padding:22px 24px; background:var(--paper-3); text-decoration:none; transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
  .dl-card:hover{border-color:var(--accent); transform:translateY(-2px); box-shadow:0 14px 30px -22px rgba(28,24,19,.5)}
  .dl-card .dl-ic{flex-shrink:0; width:44px; height:44px; border-radius:11px; background:var(--ink); color:var(--accent); display:flex; align-items:center; justify-content:center}
  .dl-card .dl-ic svg{width:22px; height:22px}
  .dl-card>span:last-child{display:flex; flex-direction:column; min-width:0}
  .dl-card .dl-t,.dl-card .dl-d,.dl-card .dl-meta{display:block}
  .dl-card .dl-t{font-size:15.5px; font-weight:600; color:var(--ink); line-height:1.32; letter-spacing:-.005em; margin-bottom:5px}
  .dl-card .dl-d{font-size:13px; color:var(--muted); margin-top:5px; line-height:1.5}
  .dl-card .dl-meta{font-size:11px; color:var(--accent-deep); font-weight:600; margin-top:9px; letter-spacing:.05em; text-transform:uppercase}
  /* кнопка скачивания PDF на страницах */
  .dl-btn{display:inline-flex; align-items:center; gap:9px}
  .dl-btn svg{width:16px; height:16px}

  /* ---- сохранить результат ---- */
  .res-actions{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:14px 0 4px}
  .res-actions .res-lbl{font-size:12px; color:var(--muted); margin-right:4px}
  .res-btn{font-size:12px; font-weight:600; letter-spacing:.02em; color:var(--ink-soft); background:var(--paper); border:1px solid var(--line); border-radius:30px; padding:7px 14px; cursor:pointer; text-decoration:none; transition:border-color .2s,color .2s,background .2s}
  .res-btn:hover{border-color:var(--accent); color:var(--accent-deep)}

  /* ---- калькулятор сроков ---- */
  .deadline-calc .dlc-grid{display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end}
  @media(max-width:640px){ .deadline-calc .dlc-grid{grid-template-columns:1fr} }
  .deadline-calc label{display:block; font-size:12px; color:var(--muted); margin-bottom:6px}
  .deadline-calc input,.deadline-calc select{width:100%; border:1px solid var(--line); border-radius:10px; background:var(--paper); padding:12px 14px; font-size:15px; color:var(--ink); outline:none; -webkit-appearance:none; appearance:none}
  .deadline-calc input:focus,.deadline-calc select:focus{border-color:var(--accent)}
  .deadline-calc .dlc-go{white-space:nowrap}
  .deadline-calc .dlc-out{display:none; margin-top:18px; border-top:1px solid var(--line); padding-top:16px}
  .dlc-rows{display:flex; flex-direction:column; gap:10px; margin-bottom:8px}
  .dlc-row{display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--paper-3)}
  .dlc-name{font-size:14.5px; font-weight:600; color:var(--ink)}
  .dlc-date2{font-size:13.5px; color:var(--ink-soft)}
  .dlc-ok{color:#3f5a32; font-weight:600}
  .dlc-soon{color:#8a5a1e; font-weight:600}
  .dlc-over{color:#8a2e22; font-weight:600}

  /* подбор формата — переиспользует .quiz-* */
  /* рекомендатор: длинные варианты — вопрос сверху, кнопки переносятся под ним */
  .format-rec .quiz-q{flex-direction:column; align-items:stretch; gap:12px}
  .format-rec .quiz-q{justify-content:flex-start}
  .format-rec .quiz-qt{font-weight:600; color:var(--ink); flex:0 0 auto}
  .format-rec .quiz-opts{flex-wrap:wrap; gap:8px; width:100%}
  .format-rec .rec-opt{text-align:left; flex:0 1 auto; max-width:100%; white-space:normal}

  /* ---- глоссарий: всплывающие подсказки ---- */
  .term{border-bottom:1px dotted var(--accent); cursor:help; position:relative}
  .term:focus{outline:2px solid var(--accent); outline-offset:2px}
  .term .term-def{position:absolute; left:0; bottom:calc(100% + 8px); z-index:40; width:min(280px,72vw); background:var(--ink); color:var(--paper-2); font-size:13px; line-height:1.5; font-weight:400; letter-spacing:0; padding:12px 14px; border-radius:10px; box-shadow:0 14px 36px -16px rgba(21,18,13,.6); opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .2s,transform .2s,visibility .2s; pointer-events:none}
  .term .term-def::after{content:""; position:absolute; left:18px; top:100%; border:6px solid transparent; border-top-color:var(--ink)}
  .term:hover .term-def,.term:focus .term-def,.term.on .term-def{opacity:1; visibility:visible; transform:none}

  /* ---- инструменты: сетка на странице /instrumenty/ ---- */
  .tools-stack{display:flex; flex-direction:column; gap:22px; max-width:860px}

/* ============ E-E-A-T byline + AI «Краткий ответ» (SEO) ============ */
.eeat-byline{display:flex; align-items:center; gap:13px; padding:0 0 18px; margin:0 0 22px; border-bottom:1px solid var(--line)}
.eeat-ava{width:40px; height:40px; border-radius:50%; border:1px solid var(--line); padding:5px; flex-shrink:0; background:var(--paper)}
.eeat-meta{display:flex; flex-direction:column; gap:3px; min-width:0}
.eeat-name{font-family:'Playfair Display',Georgia,serif; font-size:16px; font-weight:600; color:var(--ink); line-height:1.1}
.eeat-name a{color:inherit; text-decoration:none; border-bottom:1px solid var(--line)}
.eeat-name a:hover{border-color:var(--accent); color:var(--accent-deep)}
.eeat-role{font-size:12.5px; color:var(--ink-soft); line-height:1.35}
.eeat-upd{font-size:11.5px; color:var(--muted); letter-spacing:.01em}
.answer-box{position:relative; background:var(--paper-2); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:4px; padding:22px 26px; margin:0 0 30px}
.answer-box .ab-label{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent-deep); font-weight:700; margin-bottom:10px}
.answer-box .ab-q{font-family:'Playfair Display',Georgia,serif; font-size:19px; font-weight:600; color:var(--ink); line-height:1.3; margin:0 0 8px}
.answer-box .ab-a{font-size:15.5px; line-height:1.65; color:var(--ink-soft); margin:0}
.based-on{font-size:13px; line-height:1.55; color:var(--muted); margin:0 0 10px}
.based-on span{color:var(--ink-soft); font-weight:600}
@media (max-width:560px){
  .answer-box{padding:18px 18px}
  .answer-box .ab-q{font-size:17px}
  .eeat-byline{gap:11px}
}

/* ---- Pillar-страницы (автор/методология/источники): одна колонка ---- */
.seo-layout-wide{display:block}
.seo-layout-wide .prose{max-width:840px; margin:0 auto}
.seo-layout-wide .prose h2{margin-top:1.6em}

/* ---- Поиск по сайту (/poisk/) ---- */
.site-search{max-width:760px}
.ss-input{width:100%; font-family:'Golos Text',sans-serif; font-size:17px; padding:16px 20px; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); outline:none; transition:border-color .2s}
.ss-input:focus{border-color:var(--accent)}
.ss-meta{margin:16px 2px 8px; font-size:13.5px; color:var(--muted)}
.ss-results{display:flex; flex-direction:column; gap:8px}
.ss-item{display:flex; flex-direction:column; gap:3px; padding:14px 18px; border:1px solid var(--line); border-radius:8px; text-decoration:none; transition:border-color .2s, transform .2s, background .2s}
.ss-item:hover{border-color:var(--accent); transform:translateX(3px); background:var(--paper-2)}
.ss-item .ss-t{font-family:'Playfair Display',Georgia,serif; font-size:16px; font-weight:600; color:var(--ink); line-height:1.3}
.ss-item .ss-u{font-size:12px; color:var(--accent-deep)}

/* ---- a11y / mobile полировка (по итогам ревью) ---- */
.seo-kicker, .foot-col h4, .cpl{ color:var(--accent-deep); }   /* контраст мелкого текста до AA */
.seo-cta .disc, .qual-block.no h4{ color:var(--muted); }       /* убрать muted-light (2.31:1) */
.eeat-name a{ display:inline-block; padding:6px 0; }            /* tap-target ≥44px */
.ss-item{ min-width:0; }
.ss-item .ss-u{ overflow-wrap:anywhere; word-break:break-word; }

/* ---- Согласие 152-ФЗ на формах SEO-страниц ---- */
label.of-consent{display:flex; gap:9px; align-items:flex-start; margin:14px 0 4px; font-size:12.5px; line-height:1.45; color:var(--muted); cursor:pointer}
/* чекбокс согласия: перебиваем общие правила .inn-check input / .svc-form input (width:100%, appearance:none, рамка) */
.of-consent input[type="checkbox"]{-webkit-appearance:auto; appearance:auto; width:16px; height:16px; min-width:16px; padding:0; border:0; border-radius:0; background:none; margin:2px 0 0; flex-shrink:0; accent-color:var(--accent-deep)}
.of-consent span{flex:1; min-width:0}
.of-consent a{color:var(--accent-deep); text-decoration:underline}
@keyframes ofshake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.of-consent.shake{animation:ofshake .5s}

/* ---- Breadcrumbs (auto-rendered from BreadcrumbList JSON-LD by seo.js OR native sub-page markup) ---- */
.crumbs{
  background:var(--paper); border-bottom:1px solid var(--line);
  font-family:'Golos Text',-apple-system,sans-serif; padding:0;
}
/* shared list — caps only for non-current items; current item stays in sentence case */
.crumbs ol, .crumbs-list{
  display:flex; flex-wrap:nowrap; align-items:center;
  list-style:none; padding:14px 0 13px; margin:0 auto;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); gap:0; overflow:hidden;
}
.crumbs ol{padding-left:0; padding-right:0; max-width:var(--maxw); padding-left:max(40px, env(safe-area-inset-left,0)); padding-right:max(40px, env(safe-area-inset-right,0))}
/* shared items */
.crumbs ol li, .crumbs-item{display:inline-flex; align-items:center; min-width:0}
.crumbs ol li a, .crumbs-item a{
  color:var(--muted); text-decoration:none; font-weight:500;
  transition:color .22s var(--ease);
  white-space:nowrap; border-bottom:0;
}
.crumbs ol li a:hover, .crumbs-item a:hover{color:var(--accent-deep); text-decoration:underline; text-underline-offset:3px; border-bottom:0}
/* separator: native (hardcoded) breadcrumbs use li+li::before; JS-injected ones carry their own .crumbs-sep span — :not(.crumbs-list) stops both firing at once */
.crumbs ol:not(.crumbs-list) li+li::before{content:"›"; color:var(--line); margin:0 11px; font-weight:400; font-size:13px; letter-spacing:0; transform:translateY(-1px); display:inline-block}
.crumbs-sep{color:var(--line); margin:0 11px; font-weight:400; font-size:13px; letter-spacing:0; transform:translateY(-1px)}
/* current page (last item) — sentence case so long titles read well, plus ellipsis */
.crumbs ol li[aria-current], .crumbs-current{
  color:var(--ink); font-weight:500;
  text-transform:none; letter-spacing:.01em; font-size:12.5px;
  font-family:'Playfair Display',Georgia,serif; font-style:italic;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  flex:1 1 auto; min-width:0;
}
@media (max-width:780px){
  .crumbs ol, .crumbs-list{padding-top:10px; padding-bottom:9px; font-size:10px; letter-spacing:.12em}
  .crumbs ol{padding-left:20px; padding-right:20px}
  .crumbs ol:not(.crumbs-list) li+li::before, .crumbs-sep{margin:0 8px}
  /* hide intermediate crumbs on narrow screens — keep first + current */
  .crumbs ol li:not(:first-child):not(:last-child),
  .crumbs-item:not(:first-child):not(:last-child){display:none}
  .crumbs ol:not(.crumbs-list) li:first-child::after{
    content:"›"; color:var(--line); margin:0 8px; font-size:13px;
    letter-spacing:0; font-weight:400; display:inline-block;
  }
}
