/* Демо-шаблон «Гранит»: собирается tools/primery/convert.js avto — руками не править. */
@font-face{font-family:"Unbounded";font-style:normal;font-weight:200 900;font-display:swap;src:url(/primery/avto/fonts/unbounded-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:200 900;font-display:swap;src:url(/primery/avto/fonts/unbounded-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/primery/avto/fonts/ibm-plex-sans-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/primery/avto/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/primery/avto/fonts/ibm-plex-sans-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/primery/avto/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/primery/avto/fonts/ibm-plex-sans-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/primery/avto/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--d-bg:#F1F1EE;--d-ink:#15181B;--d-line:#DCDDD8;--d-soft:#FAFAF8;--d-shadow:rgba(16,18,20,.4)}
/* Общие правила демо-шаблонов /primery/<шаблон>: плашка ИТКорс, меню для телефона,
   адаптив поверх инлайн-стилей холста (по признакам в атрибуте style).
   Цвета шаблона — переменные --d-*, их и шрифты подставляет tools/primery/convert.js. */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--d-bg)}
img{display:block;max-width:100%}
#dc-root{overflow-wrap:break-word}

/* ── плашка ИТКорс над демо ── */
/* светлая и полупрозрачная: не затемняет шаблон, сквозь неё виден его вид */
.itk-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;min-height:28px;box-sizing:border-box;padding:3px 16px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgba(20,24,28,.08);color:#1A2230;font:500 12px/1.3 Manrope,system-ui,sans-serif}
.itk-bar a{color:#1A2230;text-decoration:none}
.itk-bar-brand{font-weight:700;letter-spacing:.02em;padding-right:14px;border-right:1px solid rgba(20,24,28,.15)}
.itk-bar-t{color:#2B3341}
.itk-bar-r{margin-left:auto;display:flex;gap:16px;align-items:center}
.itk-bar-kab{font-weight:700;color:#7A5A12!important;background:rgba(255,250,238,.94);border:1px solid rgba(122,90,18,.32);padding:2px 10px;border-radius:999px}
.itk-bar-cta{background:#C9A961;color:#14181C!important;font-weight:700;padding:3px 12px;border-radius:999px}

/* ── планшет ── */
@media (max-width:1100px){
  [style*="max-width: 1320px"]{padding-left:24px!important;padding-right:24px!important}
  header nav:not(.o-mnav-p){display:none!important}
  [style*="repeat(5, minmax"],[style*="repeat(4, minmax"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style*="grid-template-columns: 1.55fr 1fr"],[style*="grid-template-columns: 1fr 400px"],[style*="grid-template-columns: 290px 1fr"],[style*="grid-template-columns: 240px 1fr"],[style*="grid-template-columns: 250px 1fr"],
  [style*="grid-template-columns: 1fr 440px"],[style*="grid-template-columns: 420px 1fr"],[style*="grid-template-columns: 1fr 420px"],[style*="grid-template-columns: 1fr 380px"],[style*="grid-template-columns: 1fr 360px"],[style*="grid-template-columns: 360px 1fr"],[style*="grid-template-columns: 1fr 1.25fr"],
  [style*="grid-template-columns: 1.1fr 1fr"],[style*="grid-template-columns: 1.3fr 1fr"],[style*="grid-template-columns: 1.4fr 1fr 1fr 1fr"]{grid-template-columns:1fr!important}
  aside[style*="sticky"],form[style*="sticky"]{position:static!important}
  article[style*="width: 340px"]{position:static!important;width:auto!important;margin:12px}
  [style*="max-height: 734px"]{max-height:360px!important}
}

/* ── телефон ── */
@media (max-width:720px){
  /* плашка ИТКорс на телефоне — одна строка: марка, суть, кнопка */
  .itk-bar{flex-wrap:nowrap;gap:10px;padding:7px 12px}
  .itk-bar-brand{padding-right:10px}
  .itk-bar-t{flex:1 1 auto;min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .itk-bar-r{margin-left:0;flex-shrink:0}
  .itk-bar-r a:not(.itk-bar-cta){display:none}
  .itk-bar-cta{padding:6px 12px;font-size:12px}
  [style*="max-width: 1320px"]{padding-left:16px!important;padding-right:16px!important}
  [style*="padding: 110px 40px 0"],[style*="padding: 120px 40px 0"],[style*="padding: 100px 40px 0"]{padding-top:64px!important}
  /* :not со списком — вес одного атрибута, чтобы правила шаблонов [style][style*=…] его перекрывали */
  [style*="grid-template-columns"]:not([style*="repeat(12"],[style*="repeat(7"]){grid-template-columns:1fr!important}
  [style][style*="grid-template-columns: repeat(2, minmax"],[style][style*="grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px"],[style][style*="grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [role="tablist"][style][style*="repeat(12"]{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  [style][style*="220px repeat(12"]{grid-template-columns:96px repeat(12,minmax(0,1fr))!important;font-size:10px!important;gap:3px!important}
  [style*="grid-row: span 2"]{grid-row:auto!important}
  [style*="grid-template-rows"]{grid-template-rows:none!important}
  [style*="grid-template-rows"] img{height:220px!important}
  h1{font-size:46px!important;line-height:1.02!important}
  h2{font-size:36px!important}
  header{gap:12px!important;padding-top:16px!important}
  header > div:last-child > span, header a[href^="tel"]{display:none!important}
  header > div:last-child > a{padding:10px 14px!important;font-size:13px!important}
  /* дополнительная ссылка шапки (кабинет, клуб) — в меню телефона */
  header > div:last-child > a:not(:last-child){display:none!important}
  /* главная: поиск под первым экраном */
  section[style*="height: 820px"]{height:auto!important;padding-bottom:20px}
  section[style*="height: 820px"] > div[style*="padding: 120px"]{padding-top:56px!important}
  form[style*="position: absolute"]{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:auto!important;margin:28px 16px 0}
  form[style*="position: absolute"] label{border-right:0!important;border-bottom:1px solid var(--d-line)}
  form[style*="position: absolute"] button{min-height:56px}
  /* внутренние первые экраны */
  section[style*="height: 720px"],section[style*="height: 680px"]{height:620px!important}
  [style*="font-size: 92px"],[style*="font-size: 84px"],[style*="font-size: 76px"]{font-size:46px!important}
  [style*="font-size: 64px"],[style*="font-size: 60px"],[style*="font-size: 56px"],[style*="font-size: 52px"],[style*="font-size: 50px"]{font-size:36px!important}
  [style*="padding: 64px"],[style*="padding: 60px"],[style*="padding: 56px"],[style*="padding: 52px"],[style*="padding: 48px"],[style*="padding: 64px 60px"]{padding:28px 20px!important}
  [style*="justify-content: space-between"][style*="align-items: flex-end"]{flex-direction:column;align-items:flex-start!important;gap:16px}
  [style*="display: flex; gap: 6px; padding: 6px"]{flex-wrap:wrap}
  [style*="min-height: 560px"]{min-height:280px!important}
  [style*="height: 520px"],[style*="height: 480px"]{height:300px!important}
  [style*="padding: 0 24px 24px 128px"]{padding:0 20px 20px!important}
  [style*="grid-template-columns: 92px 1fr 28px"]{grid-template-columns:56px 1fr 24px!important}
  footer > div:last-child{flex-direction:column;gap:8px}
}
@media (max-width:720px){
  [role="tablist"]{flex-wrap:wrap}
  /* элементы сеток не распирают колонку длинным словом */
  [style*="grid-template-columns"] > *{min-width:0}
  /* фото-первый экран: высота по содержимому, текст не налезает на шапку */
  section[style*="position: relative; height: 700px"],section[style*="position: relative; height: 640px"],section[style*="position: relative; height: 620px"],section[style*="position: relative; height: 600px"]{height:auto!important;min-height:520px}
  section[style*="position: relative; height"] > div[style*="bottom: 64px"]{position:relative!important;bottom:auto!important;padding:96px 0 44px}
  [style*="font-size: 44px"]{font-size:32px!important}
  article[style*="width: 340px"]{margin:12px 0 0!important}
}

/* меню для планшета и телефона (на компьютере скрыто правилом страницы) */
.o-mnav summary{list-style:none}
.o-mnav summary::-webkit-details-marker{display:none}
.o-mnav-p{position:absolute;right:16px;top:calc(100% + 10px);z-index:20;min-width:230px;display:flex;flex-direction:column;padding:10px;border-radius:6px;background:#FFFFFF;box-shadow:0 24px 50px -24px var(--d-shadow);border:1px solid var(--d-line)}
.o-mnav-p a{color:var(--d-ink)!important;padding:12px 14px;border-radius:4px;font-weight:600;font-size:15px}
.o-mnav-p a:hover{background:var(--d-soft)}
@media (max-width:1100px){.o-mnav{display:block!important}}
@media (max-width:720px){
  [style*="display: flex; gap: 10px; margin-top: 26px"]{flex-wrap:wrap}
  [style*="display: flex; gap: 10px; margin-top: 26px"] > span{white-space:nowrap}
}


/* ── правила раскладок строительного шаблона ── */
@media (max-width:1100px){
  [style*="grid-template-columns: 1fr 460px"],[style*="grid-template-columns: 1.15fr 1fr"],[style*="grid-template-columns: 1fr 1.2fr"],
  [style*="grid-template-columns: 1.4fr 1fr"],[style*="grid-template-columns: 250px 1fr"],[style*="grid-template-columns: 90px 1fr 420px"],
  [style*="grid-template-columns: 1fr 1fr 1fr;"],[style*="grid-template-columns: 1.3fr 1fr"]{grid-template-columns:1fr!important}
  [role="tablist"][style][style*="repeat(8"]{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (max-width:720px){
  section[style*="height: 860px"]{height:auto!important;padding-bottom:0}
  section[style*="height: 860px"] > div[style*="padding: 130px"]{padding-top:56px!important;padding-bottom:28px}
  section[style*="height: 860px"] > div[style*="bottom: 0"]{position:relative!important}
  section[style*="height: 700px"],section[style*="height: 660px"],section[style*="height: 640px"]{height:640px!important}
  [style*="font-size: 76px"]{font-size:44px!important}
  [style*="font-size: 54px"],[style*="font-size: 48px"],[style*="font-size: 46px"]{font-size:34px!important}
  [style][style*="1.6fr repeat(4"],[style][style*="1.3fr 1fr 1fr 1fr"]{grid-template-columns:1.3fr repeat(4,minmax(0,1fr))!important;font-size:11.5px}
  [style][style*="1.3fr 1fr 1fr 1fr"]{grid-template-columns:1.2fr repeat(3,minmax(0,1fr))!important}
  [style][style*="1.6fr repeat(4"] > div,[style][style*="1.3fr 1fr 1fr 1fr"] > div{padding:10px 6px!important}
  [role="tablist"][style][style*="repeat(8"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style][style*="repeat(8, minmax(0, 1fr)); gap: 6px"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style*="min-height: 900px"]{min-height:0!important}
  [style*="height: 460px"],[style*="height: 520px"]{height:280px!important}
  [style*="padding: 32px 36px"]{padding:20px 16px!important}
  [style*="grid-template-columns: 1fr 160px 200px"]{grid-template-columns:1fr!important;gap:4px}
  [style*="aspect-ratio: 24 / 14"] button{font-size:10px!important;padding:3px!important}
}
@media (max-width:720px){
  header > div:last-child > a[href$="/kabinet"]{display:none!important}
  header > div:last-child{gap:10px!important}
  header > a span span:last-child{display:none}
}

/* ярлык «Кабинет владельца» у правого края — главный вход в кабинет владельца на компьютере (tools/primery/itk-kab.css:
   подключают convert.js, proektnaya/main.py; в demo.css «Острова» и «Северного дома» — копия). Шрифт — Playfair сайта ИТКорс */
@font-face{font-family:"ITK-PF";font-weight:500;font-display:swap;src:url(/fonts/playfairdisplay-cyrillic-600.woff2) format("woff2")}
.itk-kab{position:fixed;right:0;top:50%;z-index:60;display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 14px 24px 16px;border-radius:20px 0 0 20px;background:radial-gradient(120% 60% at 0% 0%,rgba(230,205,149,.18),transparent 60%),linear-gradient(180deg,#1C2638 0%,#0A101B 100%);color:#F4EFE6;text-decoration:none;white-space:nowrap;transform:translateY(-50%);overflow:hidden;box-shadow:0 30px 60px -20px rgba(4,8,16,.75),0 0 0 1px rgba(230,205,149,.55),inset 0 1px 0 rgba(255,255,255,.1);animation:itk-kab-glow 4.5s ease-in-out infinite;transition:padding .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.itk-kab::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,#F3E2B5,#C9A866 45%,rgba(201,168,102,.15));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.itk-kab::after{content:'';position:absolute;left:-20%;right:-20%;height:46%;top:-60%;background:linear-gradient(180deg,transparent,rgba(243,226,181,.22),transparent);transform:skewY(-18deg);animation:itk-kab-sheen 6s ease-in-out infinite;pointer-events:none}
.itk-kab-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#F3E2B5,#C9A866);color:#141B27;box-shadow:0 6px 16px -6px rgba(201,168,102,.9)}
.itk-kab-t{display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;transform:rotate(180deg)}
.itk-kab-t b{font:500 19px/1 "ITK-PF",Georgia,serif;letter-spacing:.01em;background:linear-gradient(180deg,#F6E8C3,#D2B272);-webkit-background-clip:text;background-clip:text;color:transparent}
.itk-kab-t i{width:1px;height:20px;background:linear-gradient(180deg,transparent,rgba(230,205,149,.7),transparent)}
.itk-kab-t span{font:600 10.5px/1 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.72)}
.itk-kab:hover{padding-left:22px;box-shadow:0 34px 70px -18px rgba(4,8,16,.85),0 0 0 1px #F3E2B5,0 0 34px -6px rgba(230,205,149,.55),inset 0 1px 0 rgba(255,255,255,.12)}
.itk-kab:focus-visible{outline:2px solid #F3E2B5;outline-offset:3px}
@keyframes itk-kab-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(230,205,149,0))}50%{filter:drop-shadow(0 0 14px rgba(230,205,149,.35))}}
@keyframes itk-kab-sheen{0%,62%{top:-60%}100%{top:120%}}
@media (prefers-reduced-motion:reduce){.itk-kab,.itk-kab::after{animation:none}}
@media (max-width:720px){.itk-kab{display:none}}


/* «Гранит»: широкая гротеска Unbounded — на телефоне заголовки мельче; первый экран с записью */
@media (max-width:1100px){
  .o-hero{grid-template-columns:1fr!important}
}
@media (max-width:720px){
  section[style*="height: 880px"]{height:auto!important;padding-bottom:28px}
  .o-hero{padding:48px 16px 0!important;gap:28px!important}
  h1,[style*="font-size: 76px"],[style*="font-size: 68px"]{font-size:32px!important;line-height:1.1!important}
  [style*="font-size: 54px"],[style*="font-size: 48px"]{font-size:28px!important}
  h2,[style*="font-size: 46px"],[style*="font-size: 42px"],[style*="font-size: 40px"],[style*="font-size: 36px"]{font-size:25px!important;line-height:1.15!important}
  [style][style*="repeat(4, minmax(0, 1fr)); gap: 6px"],[style][style*="repeat(3, minmax(0, 1fr)); gap: 6px"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style][style*="repeat(6, minmax(0, 1fr)); gap: 6px"],[style][style*="repeat(8, minmax(0, 1fr)); gap: 6px"]{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  [style][style*="repeat(3, minmax(0, 1fr)); gap: 0; max-width: 560px"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  [style][style*="repeat(4, minmax(0, 1fr)); gap: 16px"],[style][style*="repeat(4, minmax(0, 1fr)); gap: 14px"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style*="repeat(4, minmax(0, 1fr)); gap: 16px"] [style*="height: 230px"]{height:140px!important}
  [style][style*="grid-template-columns: 1fr 110px 120px"]{grid-template-columns:1fr auto!important}
  [style*="grid-template-columns: 1fr 110px 120px"] > span:nth-child(2){display:none}
  [style][style*="grid-template-columns: 120px 1fr 110px auto"]{grid-template-columns:1fr auto!important}
  [style*="grid-template-columns: 120px 1fr 110px auto"] > span:nth-child(1),[style*="grid-template-columns: 120px 1fr 110px auto"] > span:nth-child(3){display:none}
  [style][style*="repeat(6, minmax(0, 1fr)); gap: 6px"] [style*="font-size: 12.5px"]{font-size:10.5px!important}
  [style*="width: 290px; background: #FFFFFF"]{width:auto!important;left:16px;right:16px!important;bottom:16px!important}
  [style*="min-height: 560px"]{min-height:320px!important}
  [style*="height: 480px"],[style*="height: 560px"]{height:300px!important}
}
