/* ============================================================
   BLOKADA — style.css (v1.0)
   Brand rule: сигнальная шашка всегда #C2472B. Не перекрашивать.
   Breakpoints: 360 (base) / 768 / 1024 / 1440
   ============================================================ */

@font-face{font-family:"Oswald";src:url("/fonts/oswald-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/inter-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/inter-500.woff2") format("woff2");font-weight:500;font-display:swap}

:root{
  --c-graphite:#20242A; --c-bone:#E8E4DA; --c-brick:#C2472B; --c-brick-dk:#B03E24; --c-concrete:#9AA0A6;
  --font-display:"Oswald",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --fs-hero:clamp(2.5rem,8vw,5rem); --fs-h2:clamp(1.5rem,3vw,2rem); --fs-h3:1.125rem;
  --fs-body:1rem; --fs-lead:1.125rem; --fs-small:.875rem;
  --lh-tight:1.1; --lh-body:1.6;
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:48px; --s-6:64px; --s-7:96px;
  --container:1120px; --gutter:20px; --radius:2px; --header-h:56px; --pattern-opacity:.06;
}
@media(min-width:768px){:root{--gutter:24px;--header-h:64px}}
@media(min-width:1024px){:root{--gutter:32px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{margin:0;padding-top:var(--header-h);background:var(--c-graphite);color:var(--c-bone);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);overflow-x:hidden;max-width:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}

h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:var(--lh-tight);letter-spacing:.01em;margin:0 0 var(--s-3)}
h1{font-size:var(--fs-hero)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)}
p{margin:0 0 var(--s-2)}
a{color:var(--c-bone);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--c-brick)}
:focus-visible{outline:2px solid var(--c-brick);outline-offset:3px}

section{padding:var(--s-6) var(--gutter);max-width:var(--container);margin:0 auto}
section[id]{scroll-margin-top:calc(var(--header-h) + var(--s-2))}

.btn{display:inline-block;padding:var(--s-2) var(--s-4);font-family:var(--font-display);font-weight:500;font-size:.9375rem;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius);border:0;cursor:pointer;text-align:center;transition:background-color .15s ease,color .15s ease}
.btn--brick{background:var(--c-brick);color:var(--c-bone)}
.btn--brick:hover,.btn--brick:focus-visible{background:var(--c-brick-dk);color:var(--c-bone)}
.btn--sm{padding:var(--s-1) var(--s-3);font-size:.8125rem}

/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--gutter);background:rgba(32,36,42,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(232,228,218,.08)}
.logo-mini{flex:0 0 auto;display:flex;align-items:center}
.logo-mark{width:32px;height:32px;color:var(--c-bone)}
.site-nav{display:none;flex:1 1 auto;min-width:0}
.site-nav a{color:var(--c-concrete);font-size:var(--fs-small)}
.site-nav a:hover{color:var(--c-bone)}
.header-cta{margin-left:auto;flex:0 0 auto}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:var(--s-2);padding:0;background:transparent;border:1px solid rgba(232,228,218,.2);border-radius:var(--radius);color:var(--c-bone);font-size:0;cursor:pointer;position:relative}
.nav-toggle::before,.nav-toggle::after{content:"";position:absolute;width:16px;height:1.5px;background:currentColor}
.nav-toggle::before{transform:translateY(-4px)}
.nav-toggle::after{transform:translateY(4px)}
@media(max-width:767px){
  .site-nav{display:none;position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;gap:0;padding:var(--s-2) var(--gutter) var(--s-3);background:var(--c-graphite);border-bottom:1px solid rgba(232,228,218,.08);z-index:99}
  .site-nav.is-open{display:flex}
  .site-nav a{padding:var(--s-2) 0;border-bottom:1px solid rgba(232,228,218,.06);font-size:var(--fs-body)}
}
@media(min-width:768px){.site-nav{display:flex;gap:var(--s-4);margin-left:var(--s-5)}.nav-toggle{display:none}}

/* HERO */
.hero{min-height:calc(100svh - var(--header-h));display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;padding:var(--s-6) var(--gutter);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='2' cy='2' r='1' fill='%23E8E4DA' fill-opacity='0.06'/></svg>")}
@supports not (min-height:100svh){.hero{min-height:calc(100vh - var(--header-h))}}
.hero__inner{max-width:720px;position:relative;z-index:1}
.hero__mark{width:clamp(96px,18vw,160px);height:auto;color:var(--c-bone);margin:0 auto var(--s-5)}
.hero__title{margin-bottom:var(--s-2)}
.hero__sub{font-size:var(--fs-lead);color:var(--c-concrete);margin:0 auto var(--s-5)}

/* ABOUT */
.about__intro{font-size:var(--fs-lead);color:var(--c-concrete);margin:0 0 var(--s-5);max-width:60ch}
.about__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:var(--s-5)}
@media(min-width:768px){.about__grid{grid-template-columns:1fr 1fr;gap:var(--s-5)}}
@media(min-width:1024px){.about__grid{grid-template-columns:repeat(3,1fr)}}
.about__item .icon{width:28px;height:28px;color:var(--c-concrete);margin-bottom:var(--s-2)}
.about__item h3{color:var(--c-bone);margin-bottom:var(--s-1)}
.about__item p{color:var(--c-concrete);margin:0}

/* JOIN */
.join__steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:var(--s-5)}
@media(min-width:768px){.join__steps{grid-template-columns:repeat(3,1fr);gap:var(--s-4)}}
.join__step{position:relative;padding-top:var(--s-3);border-top:1px solid rgba(154,160,166,.25)}
.join__num{font-family:var(--font-display);font-weight:500;font-size:2rem;color:var(--c-brick);line-height:1;display:block;margin-bottom:var(--s-2)}
.join__step p{color:var(--c-bone);margin:0}

/* SCHEDULE */
.schedule__card{border:1px solid rgba(154,160,166,.25);border-radius:var(--radius);padding:var(--s-4);display:inline-block;min-width:240px}
@media(max-width:480px){.schedule__card{min-width:0;width:100%}}
.schedule__days{display:block;font-size:var(--fs-small);color:var(--c-concrete);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--s-1)}
.schedule__time{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(2.5rem,6vw,4rem);color:var(--c-bone);line-height:1;margin-bottom:var(--s-2)}
.schedule__where{color:var(--c-concrete);font-size:var(--fs-small)}

/* CONTACTS */
.contacts__phone{display:inline-block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,3vw,2rem);color:var(--c-bone);margin-bottom:var(--s-3)}
.contacts__phone:hover{color:var(--c-brick)}

/* FOOTER */
.site-footer{padding:var(--s-6) var(--gutter);text-align:center;border-top:1px solid rgba(232,228,218,.08);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='2' cy='2' r='1' fill='%23E8E4DA' fill-opacity='0.04'/></svg>")}
.footer__tag{color:var(--c-concrete);font-size:var(--fs-small);margin:0 0 var(--s-1)}
.footer__copy{color:var(--c-concrete);font-size:var(--fs-small);margin:0}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important;animation:none !important}}

/* HARD OVERFLOW FIX */
html,body{width:100%;max-width:100vw;overflow-x:clip}
@supports not (overflow-x:clip){html,body{overflow-x:hidden}}
.site-header{width:100%;max-width:100vw;left:0;right:0;box-sizing:border-box}
.site-header>*{min-width:0}
section,.site-footer,.hero{width:100%;max-width:100%;box-sizing:border-box}
@media(max-width:767px){.site-header{backdrop-filter:none;background:var(--c-graphite)}}