/* Фирменный стиль N&S Murermestre · направление bold · шрифты archivo / inter (OFL) */
@font-face{font-family:"Archivo Display";font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/archivo-300-800-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Archivo Display";font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/archivo-300-800-normal-latin.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:"Inter Text";font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/inter-300-800-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter Text";font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/inter-300-800-normal-latin.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;}
html[data-palette="brand"]{--paper:#F5F2EE; --surface:#FCFCFA; --tone:#E3DFD8; --ink:#2F2515; --ink-soft:#665945; --line:rgba(47,37,21,.18); --brand:#704E09; --brand-deep:#563A00; --brand-soft:#F4E0C2; --on-brand:#FFFFFF; --accent:#0460A5; --accent-bright:#B0D5FD; --dark:#17130E; --on-dark:#FFF9F1; --on-dark-soft:#D8D0C3; --display:"Archivo Display", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; --body:"Inter Text", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; --display-weight:800; --display-tracking:-.04em; --display-leading:1.0; --radius:0; --radius-lg:0; --btn-radius:0; --logo-font:"Archivo Display", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; --logo-weight:800; --logo-case:uppercase; --logo-track:-0.02em;}
/* ============================================================
   BLOCK LIBRARY · BRAND CORE (2026-10-28)
   ------------------------------------------------------------
   Общая часть фирменного стиля. Подключается вместе с токенами
   бренда в assets/css/brand.css сайта (build/brand.py).
   Здесь только то, что нужно ЛЮБОМУ направлению: логотип в шапке
   и подвале, словесный знак фирменным шрифтом, сглаживание.
   ============================================================ */

html[data-palette="brand"] body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility; }

/* Знак вместо квадрата с буквами. */
.brand__mark:has(> .brand__logo), .brand__box:has(> .brand__logo){
  background:none; width:auto; height:auto; padding:0; border-radius:0; min-width:0;
}
.brand__logo{ display:block; width:var(--logo-mark-size, 44px); height:var(--logo-mark-size, 44px); flex:none; }
.site-head--center .brand__logo, .site-head--split .brand__logo{ --logo-mark-size:48px; }

/* Словесный знак — шрифт и характер логотипа, а не основного текста. */
.brand__name{
  font-family:var(--logo-font, var(--display));
  font-weight:var(--logo-weight, 700);
  text-transform:var(--logo-case, none);
  letter-spacing:var(--logo-track, -.01em);
  font-size:var(--logo-size, 1.2rem);
}
.brand__sub{ letter-spacing:.12em; }

/* Шрифт ставится браузером сразу: текст виден, пока файл грузится. */
html[data-palette="brand"]{ font-synthesis-weight:none; }

/* Шапки «крупный бренд» и «бренд с подписью» были без знака: знак слева. */
.brand--big:has(.brand__logo), .brand--stack:has(.brand__logo){ flex-direction:row; align-items:center; gap:14px; }
.brand--big:has(.brand__logo) > span:not(.brand__mark), .brand--stack:has(.brand__logo) > span:not(.brand__mark){ display:flex; flex-direction:column; }
.brand--big .brand__logo{ --logo-mark-size:52px; }

/* Крупные заголовки на широком экране не переносятся по слогам («beslutnin-ger»):
   колонки там широкие, перенос нужен только телефонам (длинные датские слова). */
@media (min-width:900px){
  html[data-palette="brand"] :is(h1, h2){ hyphens:manual; }
}
/* Герой «кадр в рамке»: заголовок должен попасть в первый экран. */
@media (min-width:900px){
  html[data-palette="brand"] .hero-frame__figure img{ aspect-ratio:21/9; }
}
html[data-palette="brand"] .hero-frame{ padding-top:var(--sect-tight); }

/* ============================================================
   НАПРАВЛЕНИЕ · BOLD — смелый, контрастный, плакатный
   Тёмная шапка, крупный жирный гротеск, метки-плашки акцента,
   жёсткие рамки и сдвинутая тень у карточек, прямые углы.
   ============================================================ */
:where(html[data-direction="bold"]) h1{ font-size:clamp(2.4rem, 6.6vw, 5.6rem); font-weight:800; letter-spacing:-.04em; line-height:1.0; }
:where(html[data-direction="bold"]) h2{ font-weight:800; letter-spacing:-.035em; }
:where(html[data-direction="bold"]) h3{ font-weight:750; letter-spacing:-.02em; }
/* тёмная шапка: токены перевязаны так же, как у тёмных секций */
:where(html[data-direction="bold"]) .site-head{ background:var(--dark); color:var(--on-dark); border-bottom:0; }
:where(html[data-direction="bold"]) .site-head > *{ --ink:var(--on-dark); --ink-soft:var(--on-dark-soft); --accent:var(--accent-bright);
  --line:rgba(255,255,255,.22); --brand:var(--on-dark); --brand-deep:var(--on-dark-soft); --on-brand:var(--dark);
  --paper:var(--dark); --surface:rgba(255,255,255,.06); --tone:rgba(255,255,255,.09); --raise:rgba(255,255,255,.07); }
:where(html[data-direction="bold"]) .site-head .brand__sub{ color:var(--on-dark-soft); }
:where(html[data-direction="bold"]) .site-head__strip{ background:var(--accent-bright); color:var(--dark); }
:where(html[data-direction="bold"]) .site-head__strip > *{ --on-brand:var(--dark); }
@media (max-width:820px){ :where(html[data-direction="bold"]) .site-nav{ background:var(--dark); } }
/* кнопки: прямые, капсом, со стрелкой */
:where(html[data-direction="bold"]) .btn{ border-radius:0; text-transform:uppercase; letter-spacing:.07em; font-weight:800; font-size:.84rem;
  border-width:2px; }
:where(html[data-direction="bold"]) .btn:not(.btn--ghost):not(.btn--outline-light)::after{ content:"\2192"; font-size:1.05em; }
:where(html[data-direction="bold"]) .btn:hover{ transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--accent); }
:where(html[data-direction="bold"]) .btn--ghost{ border-color:var(--ink); color:var(--ink); }
/* карточки: рамка в цвет текста и сдвинутая тень */
:where(html[data-direction="bold"]) :is(.process-grid__list li, .feature-offset__panel, .facts-cards__grid div,
  .faq-cards__grid article, .contact-form__box, .contact-cards__grid article, .contact-stack__form,
  .contact-person__card, .contact-brief__box, .hero-aside__list, .services-bento__grid article,
  .services-checklist__col, .services-cards__grid article){
  border-radius:0; border:2px solid var(--ink); box-shadow:7px 7px 0 var(--brand);
}
:where(html[data-direction="bold"]) .services-cards__grid article{ border-left-width:2px; }
:where(html[data-direction="bold"]) .frame{ border-radius:0; }
:where(html[data-direction="bold"]) .services-rows__list .num,
:where(html[data-direction="bold"]) .services-numbered__grid .num{ font-weight:800; color:var(--brand); }
:where(html[data-direction="bold"]) .services-rows__list{ border-top:3px solid var(--ink); }
:where(html[data-direction="bold"]) .blk--tone{ background:var(--tone); }

/* метка — плашка с полосой */
:where(html[data-direction="bold"]) .eyebrow{ display:inline-flex; width:auto; padding:5px 10px 5px 9px;
  background:color-mix(in srgb, currentColor 12%, transparent); border-left:4px solid currentColor;
  letter-spacing:.12em; font-size:.72rem; }
:where(html[data-direction="bold"]) .eyebrow::before{ display:none; }
