/* ==========================================================================
   Айгентура для команды Ясно — дизайн-токены и стили сайта
   ========================================================================== */

@font-face{
  font-family:"Source Serif 4";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("../fonts/source-serif-4-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:"Source Serif 4";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("../fonts/source-serif-4-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215;
}
/* latin-ext subset содержит знак рубля U+20BD и прочие валютные символы */
@font-face{
  font-family:"Source Serif 4";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("../fonts/source-serif-4-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* fallback с подогнанными метриками — гасит сдвиг макета (CLS) при подмене шрифта */
@font-face{
  font-family:"Source Serif Fallback";
  src:local("Georgia"),local("Times New Roman");
  size-adjust:97%;
  ascent-override:95%;
  descent-override:24%;
  line-gap-override:0%;
}

:root{
  /* цвет */
  --ink:#141311;
  --ink2:#4a463f;
  --paper:#ffffff;
  --paper2:#f7f4ee;
  --line:#141311;
  --hair:#d9d3c8;
  --accent:#f49100;
  --accent-d:#c9720a;

  /* шрифты */
  --font-display:"Source Serif 4","Source Serif Fallback",Georgia,"Times New Roman",serif;
  --font-text:"Source Serif 4","Source Serif Fallback",Georgia,"Times New Roman",serif;

  /* type scale */
  --fs-label:.8125rem;   /* 13px */
  --fs-xs:.9375rem;      /* 15px */
  --fs-sm:1.0625rem;     /* 17px */
  --fs-base:1.1875rem;   /* 19px */
  --fs-md:1.25rem;       /* 20px */
  --fs-lg:1.375rem;      /* 22px */
  --fs-h3:1.5rem;        /* 24px */
  --fs-xl:2.125rem;      /* 34px */
  --fs-2xl:2.5rem;       /* 40px */
  --fs-3xl:2.875rem;     /* 46px */
  --step-h2:clamp(1.875rem,4.4vw,2.875rem);
  --step-h1:clamp(2.75rem,6.8vw,4.75rem);

  --lh-tight:1.04;
  --lh-snug:1.3;
  --lh-body:1.6;
  --ls-head:-.015em;
  --ls-label:.2em;

  --measure:66ch;

  /* spacing — база 4px */
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-7:2.5rem;
  --space-8:3rem;
  --space-9:4rem;
  --space-10:5rem;

  --container:1060px;
  --pad-x:clamp(1.25rem,5vw,2.5rem);

  /* линии / радиусы / фокус */
  --bw-strong:2px;
  --bw-hair:1px;
  --radius-1:2px;
  --radius-logo:9px;
  --focus-ring:0 0 0 3px rgba(244,145,0,.45);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-text);
  font-size:var(--fs-base);line-height:var(--lh-body);
  hyphens:manual;overflow-wrap:break-word;
}
img{max-width:100%;display:block;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--pad-x);}
.col{max-width:var(--measure);}
b,strong{font-weight:700;}
h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:var(--ls-head);margin:0;hyphens:manual;}
/* дисплейные заголовки, метки и капс-подписи не переносим по слогам */
.eyebrow,.snum,.tname,.mult,.pchip,.pchip .pn,.step,.k,.tag,.doc-tag,.tier .price,.pcol .big,.recplan,.out .recplan{hyphens:manual;}
a{color:inherit;}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:1px;}
.num,.tabular{font-variant-numeric:tabular-nums;}
/* число и знак валюты не разрывать на границе строки */
.num{white-space:nowrap;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:var(--space-4);top:-60px;background:var(--ink);color:var(--paper);padding:var(--space-2) var(--space-4);z-index:200;transition:top .2s ease;}
.skip-link:focus{top:var(--space-4);}

.eyebrow,.snum{font-size:var(--fs-label);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--accent-d);}

/* иконки */
.icon{stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}

/* ==================== МАСТХЕД ОФФЕРА ==================== */
.topbar{background:var(--paper);border-bottom:var(--bw-strong) solid var(--line);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--pad-x);gap:var(--space-4);flex-wrap:wrap;}
.lockup{display:flex;align-items:center;gap:15px;}
.lockup img.aig{height:36px;width:36px;display:block;border-radius:var(--radius-logo);}
.lockup .x{color:var(--accent);font-size:var(--fs-base);}
.ylogo{display:inline-block;color:var(--ink);}
.ylogo svg{height:26px;width:auto;display:block;}
.doc-tag{font-size:var(--fs-label);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink2);}

/* ==================== HERO ==================== */
.hero .wrap{padding-top:var(--space-9);padding-bottom:var(--space-9);}
.hero-copy{max-width:900px;}
.hero h1{font-size:var(--step-h1);line-height:var(--lh-tight);margin:18px 0 0;}
.hero h1 .ac{color:var(--accent);}

/* ==================== SECTIONS ==================== */
section{padding:var(--space-9) 0;border-top:var(--bw-strong) solid var(--line);}
section.warm{background:var(--paper2);}
.sec-head{display:flex;gap:22px;align-items:baseline;margin-bottom:14px;}
h2{font-size:var(--step-h2);line-height:var(--lh-tight);margin:6px 0 0;}
.sec-intro{font-size:var(--fs-md);color:var(--ink2);max-width:62ch;margin:var(--space-4) 0 0;}

/* доверие / платформа */
.blocks{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:var(--space-8);border:var(--bw-strong) solid var(--line);overflow:hidden;}
/* внутренние hairline-разделители одним inset-контуром: консистентно при любом числе колонок */
.blk{padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;box-shadow:inset -1px -1px 0 0 var(--hair);}
.blk .icon-wrap{width:30px;height:30px;color:var(--accent-d);margin-bottom:var(--space-4);}
.blk .k{font-size:var(--fs-label);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-d);min-height:2.4em;display:flex;align-items:flex-end;}
.blk h3{font-size:1.25rem;margin:10px 0 10px;min-height:2.6em;}
.blk p{margin:0;font-size:var(--fs-sm);color:var(--ink2);line-height:1.55;}
.blk p b{color:var(--ink);}

/* маркеры-списки */
ul.dash{list-style:none;margin:var(--space-5) 0 0;padding:0;}
ul.dash li{position:relative;padding:9px 0 9px 22px;font-size:var(--fs-sm);border-top:var(--bw-hair) solid var(--hair);color:var(--ink2);}
ul.dash li:first-child{border-top:0;}
ul.dash li::before{content:"";position:absolute;left:0;top:16px;width:7px;height:7px;background:var(--accent-d);}
ul.dash li b{color:var(--ink);}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--space-8);border:var(--bw-strong) solid var(--line);}
.tier{padding:var(--space-7) var(--space-6);border-right:var(--bw-strong) solid var(--line);display:flex;flex-direction:column;}
.tier:last-child{border-right:0;}
.tier.black{background:var(--ink);color:var(--paper);}
.tier .tname{font-size:var(--fs-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase;}
.tier .mult{display:inline-block;margin-top:16px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;padding:4px 12px;border:1.5px solid var(--line);border-radius:var(--radius-1);align-self:flex-start;}
.tier.black .mult{border-color:var(--accent);color:var(--accent);}
.tier .price{font-size:var(--fs-3xl);font-weight:700;line-height:1;margin:22px 0 2px;font-family:var(--font-display);}
.tier .per{font-size:var(--fs-xs);color:var(--ink2);}
.tier.black .per{color:#bdb8ae;}
.note{margin-top:var(--space-5);font-size:var(--fs-xs);color:var(--ink2);max-width:78ch;line-height:1.55;}

/* таблица / матрица */
table{width:100%;border-collapse:collapse;margin-top:var(--space-8);border:var(--bw-strong) solid var(--line);}
caption{text-align:left;}
th,td{padding:15px 18px;text-align:left;font-size:var(--fs-sm);border-bottom:var(--bw-hair) solid var(--hair);}
thead th{background:var(--ink);color:var(--paper);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;}
thead th:not(:first-child){text-align:center;}
td:not(:first-child){text-align:center;}
td.f{color:var(--ink2);}
td.num,th.num{text-align:right!important;font-variant-numeric:tabular-nums;}
tbody tr:last-child td{border-bottom:0;}
.r-price td{font-weight:700;font-size:var(--fs-base);}
.yes{color:var(--accent-d);font-weight:700;}
.mb{font-weight:700;}

.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
/* таблица сравнения: единый горизонтальный скролл на узких экранах */
#comparison table{min-width:560px;}
/* значения-ячейки не разрывать («около 30» одной строкой), подпись-параметр переносится */
#comparison td:not(.f){white-space:nowrap;}

.matrix{width:100%;border-collapse:collapse;margin-top:var(--space-8);border:var(--bw-strong) solid var(--line);min-width:560px;}
.matrix th,.matrix td{padding:16px 18px;text-align:center;font-size:var(--fs-md);border-bottom:var(--bw-hair) solid var(--hair);border-right:var(--bw-hair) solid var(--hair);}
.matrix th:first-child,.matrix td:first-child{text-align:left;}
.matrix th:last-child,.matrix td:last-child{border-right:0;}
.matrix thead th{background:var(--ink);color:var(--paper);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;}
.matrix tbody tr:last-child td{border-bottom:0;}
.matrix td.seat{font-weight:700;text-align:left;color:var(--ink);}
.matrix td.num{font-variant-numeric:tabular-nums;}
.matrix tr.ref{background:#faf1df;}
.matrix tr.ref td{font-weight:700;}
.matrix .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);margin-left:8px;vertical-align:middle;}

/* calculator */
.calc{margin-top:var(--space-8);border:var(--bw-strong) solid var(--line);display:grid;grid-template-columns:1.05fr .95fr;}
.calc .inputs{padding:var(--space-7) var(--space-8);border-right:var(--bw-strong) solid var(--line);}
.calc .out{padding:var(--space-7) var(--space-8);background:var(--paper2);display:flex;flex-direction:column;justify-content:center;}
.ctrl{margin-bottom:var(--space-6);}
.ctrl:last-child{margin-bottom:0;}
.ctrl .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;}
.ctrl .top .lbl{font-size:var(--fs-md);}
.ctrl .top .val{font-size:var(--fs-xl);font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-display);}
.ctrl input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--hair);outline:none;margin:0;}
.ctrl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:var(--accent);border:2px solid var(--ink);cursor:pointer;}
.ctrl input[type=range]::-moz-range-thumb{width:22px;height:22px;background:var(--accent);border:2px solid var(--ink);cursor:pointer;border-radius:0;}
.ctrl input[type=range]:focus-visible{box-shadow:var(--focus-ring);}
.ctrl .hint{font-size:var(--fs-xs);color:var(--ink2);margin-top:9px;}
.out .k{font-size:var(--fs-label);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-d);}
.out .recplan{font-size:var(--fs-3xl);font-weight:700;line-height:1;margin:10px 0 22px;font-family:var(--font-display);}
.cover{border-top:var(--bw-strong) solid var(--line);}
.cover .cov{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:var(--bw-hair) solid var(--hair);font-size:var(--fs-sm);}
.cover .cov span{color:var(--ink2);}
.cover .cov b{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);}
.cover .cov.over b{color:var(--accent-d);}
.plans-row{display:flex;gap:10px;margin-top:var(--space-7);}
.pchip{flex:1;border:var(--bw-strong) solid var(--line);padding:14px 8px;text-align:center;}
.pchip .pn{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.pchip .pt{font-size:13px;color:var(--ink2);margin-top:3px;}
.pchip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.pchip.on .pt{color:#c9c4ba;}
.rec{margin-top:var(--space-6);font-size:var(--fs-base);line-height:1.5;}
.rec b{color:var(--accent-d);}

/* progression */
.prog{display:grid;grid-template-columns:repeat(3,1fr);margin-top:var(--space-8);border:var(--bw-strong) solid var(--line);}
.pcol{padding:var(--space-6) var(--space-5);border-right:var(--bw-hair) solid var(--hair);}
.pcol:last-child{border-right:0;}
.pcol .step{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);}
.pcol .big{font-size:var(--fs-xl);font-weight:700;margin:8px 0 4px;font-family:var(--font-display);}
.pcol .cap{font-size:var(--fs-xs);color:var(--ink2);}
.pbar{height:10px;background:var(--hair);margin:18px 0 20px;position:relative;}
.pbar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);}
.pcol .rows div{font-size:var(--fs-sm);padding:6px 0;border-top:var(--bw-hair) solid var(--hair);font-variant-numeric:tabular-nums;}
.pcol .rows div:first-child{border-top:0;}
.pcol .rows b{font-weight:700;}

/* story / rollout */
.story{margin-top:var(--space-7);}
.story p{font-size:var(--fs-base);color:var(--ink2);margin:0 0 16px;}
.story p b{color:var(--ink);}
.story .lead::first-letter{float:left;font-size:66px;line-height:.82;font-weight:700;padding:6px 12px 0 0;color:var(--accent);font-family:var(--font-display);}
.steplist{list-style:none;margin:22px 0 0;padding:0;}
.steplist li{position:relative;padding:13px 0 13px 30px;border-top:var(--bw-hair) solid var(--hair);font-size:var(--fs-md);color:var(--ink2);line-height:1.5;}
.steplist li:first-child{border-top:0;}
.steplist li b{color:var(--ink);}
.steplist li::before{content:"";position:absolute;left:0;top:21px;width:9px;height:9px;background:var(--accent);}
.scheme{border:var(--bw-strong) solid var(--line);padding:var(--space-6) var(--space-6);margin-top:var(--space-8);}
.scheme .k{font-size:var(--fs-label);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-d);}
.schembar{display:flex;height:44px;margin:16px 0 16px;border:var(--bw-strong) solid var(--line);overflow:hidden;}
.schembar i{display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;font-style:normal;color:#fff;white-space:nowrap;}
.schembar .s1{background:var(--ink);}
.schembar .s2{background:var(--accent);}
.scheme-legend{display:flex;flex-direction:column;gap:9px;font-size:var(--fs-sm);color:var(--ink2);}
.scheme-legend .dot{display:inline-block;width:12px;height:12px;margin-right:9px;vertical-align:middle;}
.scheme-legend .d1{background:var(--ink);}
.scheme-legend .d2{background:var(--accent);}
.scheme-legend b{color:var(--ink);}

/* footer */
footer{border-top:var(--bw-strong) solid var(--line);background:var(--ink);color:#c9c4ba;}
footer .wrap{padding:var(--space-8) var(--pad-x);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap;}
footer .lockup .ylogo{color:#fff;}
footer .aig{background:#fff;box-shadow:0 0 0 5px #fff;border-radius:var(--radius-logo);}
footer .fine{font-size:var(--fs-xs);max-width:56ch;line-height:1.65;}
footer .fine b{color:#fff;}

/* ==================== АДАПТИВ ==================== */
@media(max-width:900px){
  .tiers,.prog{grid-template-columns:1fr;}
  .blocks{grid-template-columns:repeat(2,1fr);}
  .pcol{border-right:0;border-bottom:var(--bw-hair) solid var(--hair);}
  .tier{border-right:0;border-bottom:var(--bw-strong) solid var(--line);}
  .tier:last-child,.pcol:last-child{border-bottom:0;}
  .calc{grid-template-columns:1fr;}
  .calc .inputs{border-right:0;border-bottom:var(--bw-strong) solid var(--line);}
}
@media(max-width:640px){
  .blocks{grid-template-columns:1fr;}
  /* таблицы целиком помещаются на мобиле, без прятанья колонок за скроллом */
  #comparison table,.matrix{min-width:0;}
  th,td,.matrix th,.matrix td{padding:9px 6px;font-size:13px;}
  thead th,.matrix thead th{font-size:11px;letter-spacing:.04em;}
  .r-price td{font-size:14px;}
  .matrix .tag{display:block;margin:5px 0 0;}
}
@media(max-width:480px){
  .tier{padding:var(--space-6) var(--space-5);}
  .calc .inputs,.calc .out{padding:var(--space-6) var(--space-5);}
  .plans-row{gap:6px;}
  .pchip{padding:12px 4px;}
  .pchip .pn{font-size:12px;letter-spacing:.02em;}
  .pchip .pt{font-size:11px;}
  th,td,.matrix th,.matrix td{padding:7px 3px;font-size:12px;}
  thead th,.matrix thead th{font-size:10px;letter-spacing:0;}
  .r-price td{font-size:13px;}
}

@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  section{padding:40px 0;}
}
