/* ============================================================
   JAVATTI GROUP - стили сайта
   Строго по дизайн-системе бренда. Правила: ../CLAUDE.md
   ============================================================ */

@font-face{
  font-family:"Shadower";
  src:url("Shadower.woff2") format("woff2");
  font-weight:700;
  font-display:swap;
}

:root{
  --cannoli:#EDEEE1;
  --tapioca:#D7CBBA;
  --gold:#C3AD70;
  --straw:#D9C490;
  --chicory:#47332F;
  --raindrum:#5B4B40;
  --rifle:#3F4632;
  --pesto:#565C33;
  --cabernet:#5D262E;
  --russet:#773B43;

  --surface:#F4F4EA;
  --line:#DCD9C8;
  --line-strong:#C8C3AE;

  --font-head:"Shadower",Georgia,serif;
  --font-text:"Geologica","Segoe UI",system-ui,sans-serif;
  --track-head:.12em;
  --track-text:.06em;

  --sp-2xs:8px; --sp-xs:12px; --sp-sm:16px; --sp-md:24px;
  --sp-lg:32px; --sp-xl:48px; --sp-2xl:64px; --sp-3xl:96px; --sp-4xl:128px;
  --container:1200px;
  --measure:62ch;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--cannoli);
  color:var(--chicory);
  font-family:var(--font-text);
  font-weight:200;
  font-size:17px;
  line-height:1.5;
  letter-spacing:var(--track-text);
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--sp-md)}

h1,h2,h3,h4{margin:0}

.h1,h1{
  font-family:var(--font-head);font-weight:700;text-transform:uppercase;
  font-size:clamp(2.25rem,1.2rem+4vw,4rem);line-height:1.08;letter-spacing:var(--track-head);
}
.h2,h2{
  font-family:var(--font-head);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.25rem,1rem+1vw,1.625rem);line-height:1.05;letter-spacing:var(--track-head);
}
.h3,h3{
  font-family:var(--font-text);font-weight:200;text-transform:uppercase;
  font-size:clamp(1.5rem,1.1rem+1.4vw,2rem);line-height:1.25;letter-spacing:var(--track-text);
}
.h4,h4{
  font-family:var(--font-text);font-weight:300;text-transform:uppercase;
  font-size:1rem;line-height:1.45;letter-spacing:var(--track-text);
}

p{margin:0 0 var(--sp-sm);max-width:var(--measure)}
.lead{font-size:1.25rem;line-height:1.5;color:var(--raindrum);max-width:52ch}
.caption{font-size:.8125rem;color:var(--raindrum);line-height:1.45}

.eyebrow{
  font-family:var(--font-text);font-weight:400;font-size:.75rem;
  text-transform:uppercase;letter-spacing:.14em;color:var(--raindrum);margin:0;
}

a{color:var(--chicory);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--chicory);outline-offset:3px
}

/* ---------- арки ---------- */
.arch-round{border-radius:999px 999px 0 0}
.arch-bridge{clip-path:polygon(0 100%,0 26%,22% 0,78% 0,100% 26%,100% 100%)}

/* ---------- шапка ---------- */
.site-head{border-bottom:1px solid var(--line);background:var(--cannoli)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);padding-top:var(--sp-sm);padding-bottom:var(--sp-sm)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--chicory)}
.brand svg{width:38px;height:auto;flex:none}
.brand .name{font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.9375rem}
.site-nav{display:flex;gap:var(--sp-md);flex-wrap:wrap}
.site-nav a{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--raindrum);text-decoration:none}
.site-nav a:hover{color:var(--chicory)}

/* ---------- герой ---------- */
.hero{background:var(--chicory);color:var(--cannoli);padding:var(--sp-4xl) 0}
.hero .eyebrow{color:var(--gold)}
.hero h1{color:var(--straw);margin:var(--sp-md) 0 var(--sp-md)}
.hero .lead{color:var(--tapioca);max-width:46ch}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-2xl);align-items:end}
.hero-arches{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-xs);align-items:end}
.hero-arches span{display:block;background:var(--raindrum)}
.hero-arches span:nth-child(1){height:120px}
.hero-arches span:nth-child(2){height:170px;background:var(--gold)}
.hero-arches span:nth-child(3){height:96px}

/* ---------- кнопки ---------- */
.btn{
  display:inline-block;font-family:var(--font-text);font-weight:400;font-size:.875rem;
  text-transform:uppercase;letter-spacing:.1em;padding:15px 32px;border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.btn-primary{background:var(--gold);color:var(--chicory)}
.btn-primary:hover{background:var(--straw)}
.btn-ghost{background:transparent;color:var(--cannoli);border-color:var(--tapioca)}
.btn-ghost:hover{background:var(--cannoli);color:var(--chicory)}
.btn-outline{background:transparent;color:var(--chicory);border-color:var(--line-strong)}
.btn-outline:hover{background:var(--chicory);color:var(--cannoli);border-color:var(--chicory)}
.btn-dark{background:var(--chicory);color:var(--cannoli)}
.btn-dark:hover{background:var(--raindrum)}

/* ---------- секции ---------- */
section{padding:var(--sp-3xl) 0}
.sec-head{margin-bottom:var(--sp-2xl);display:grid;gap:var(--sp-sm)}

/* направления */
.dirs{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--sp-md)}
.dir{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--line);background:var(--surface);
  transition:border-color .16s ease,transform .16s ease;
}
.dir:hover{border-color:var(--gold)}
.dir .visual{height:150px;background:var(--tapioca)}
.dir.biz .visual{background:var(--chicory)}
.dir.dev .visual{background:var(--rifle)}
.dir.mode .visual{background:var(--cabernet)}
.dir .body{padding:var(--sp-md);display:grid;gap:var(--sp-2xs)}
.dir h4{color:var(--chicory)}
.dir p{font-size:.9375rem;color:var(--raindrum);margin:0}
.dir .more{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--raindrum);margin-top:var(--sp-2xs)}

/* цены клуба */
.club-price{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md);align-items:stretch}
.pc{border:1px solid var(--line);padding:var(--sp-md);display:flex;flex-direction:column;gap:8px}
.pc-main{border-color:var(--line-strong);background:var(--cannoli)}
.pc-num{font-family:var(--font-head);font-weight:700;font-size:1.5rem;letter-spacing:.08em;margin:0;line-height:1.1;font-variant-numeric:tabular-nums}
.pc-note{font-size:.9375rem;margin:0;color:var(--raindrum)}

/* принципы */
.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-xl)}
.principle .num{font-family:var(--font-head);font-weight:700;font-size:1.5rem;color:var(--gold);letter-spacing:var(--track-head)}
.principle h4{margin:var(--sp-2xs) 0}
.principle p{font-size:.9375rem;color:var(--raindrum);margin:0}

/* форма */
.form-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-2xl);align-items:start}
.field{display:grid;gap:6px;margin-bottom:var(--sp-md)}
.field label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--raindrum)}
.field input,.field textarea,.field select{
  font-family:var(--font-text);font-weight:200;font-size:1rem;padding:12px 0;
  border:0;border-bottom:1px solid var(--line-strong);background:transparent;color:var(--chicory);
  border-radius:0;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--gold)}
.field .err{font-size:.8125rem;color:var(--cabernet);display:none}
.field.invalid input,.field.invalid textarea,.field.invalid select{border-bottom-color:var(--cabernet)}
.field.invalid .err{display:block}
.consent{display:flex;gap:10px;align-items:flex-start;margin-bottom:var(--sp-sm);font-size:.875rem;color:var(--raindrum);max-width:56ch}
.consent input{margin-top:5px;accent-color:var(--chicory);flex:none}
.form-note{font-size:.8125rem;color:var(--raindrum);margin-top:var(--sp-sm)}
.form-status{margin-top:var(--sp-sm);font-size:.9375rem;display:none}
.form-status.ok{display:block;color:var(--rifle)}
.form-status.bad{display:block;color:var(--cabernet)}

/* ступени экосистемы */
.steps{list-style:none;padding:0;margin:0;display:grid}
.step-row{display:grid;grid-template-columns:132px 1fr;gap:var(--sp-xl);padding:var(--sp-lg) 0;border-top:1px solid var(--line);align-items:start}
.step-row:last-child{border-bottom:1px solid var(--line)}
.step-mark{display:flex;flex-direction:column;gap:var(--sp-sm)}
.step-n{font-family:var(--font-head);font-weight:700;font-size:1.125rem;letter-spacing:.14em;color:var(--line-strong);font-variant-numeric:tabular-nums}
.step-arch{display:block;width:100%;height:72px;background:var(--tapioca)}
.step-arch.biz{background:var(--chicory)}
.step-arch.dev{background:var(--rifle)}
.step-arch.mode{background:var(--cabernet)}
.step-role{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--raindrum);margin:0 0 8px}
.step-body h4{margin:0 0 10px;font-size:1.25rem;text-transform:none;font-weight:300;letter-spacing:.04em}
.step-body h4 a{text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.step-body h4 a:hover{border-bottom-color:var(--gold)}
.step-body p{margin:0;max-width:62ch;color:var(--raindrum)}

/* основатель */
.founder{display:grid;gap:var(--sp-xl)}
.founder-portrait{margin:0}
.founder-portrait img{
  display:block;width:100%;height:auto;
  clip-path:polygon(0 100%,0 20%,11% 0,89% 0,100% 20%,100% 100%);
}
.founder-portrait figcaption{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--raindrum);margin-top:12px;
}
.founder-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md);margin-top:var(--sp-lg);padding-top:var(--sp-lg);border-top:1px solid var(--line)}
.ff-n{display:block;font-family:var(--font-head);font-weight:700;font-size:1.375rem;letter-spacing:.06em;color:var(--chicory);font-variant-numeric:tabular-nums}
.ff-t{display:block;font-size:.8125rem;color:var(--raindrum);margin-top:6px;line-height:1.35}

@media (max-width:820px){
  .club-price{grid-template-columns:1fr}
  .step-row{grid-template-columns:88px 1fr;gap:var(--sp-md)}
  .step-arch{height:56px}
  .founder-facts{grid-template-columns:1fr;gap:var(--sp-sm)}
}

/* документы и внутренние страницы */
.wrap-narrow{max-width:760px}
.doc{padding:var(--sp-3xl) 0 var(--sp-2xl)}
.doc-title{font-size:clamp(1.5rem,1.1rem+1.6vw,2.25rem);margin:var(--sp-sm) 0 var(--sp-2xs);text-wrap:balance}
.doc-date{font-size:.8125rem;color:var(--raindrum);margin-bottom:var(--sp-xl)}
.doc h2{font-size:1rem;margin:var(--sp-xl) 0 var(--sp-sm)}
.doc h3{font-size:1.125rem;margin:var(--sp-lg) 0 var(--sp-sm);text-transform:none;font-weight:300}
.doc p{max-width:none}
.doc ul{padding-left:1.1em;margin:0 0 var(--sp-sm)}
.doc li{margin-bottom:6px}
.doc-note{background:var(--surface);border-left:3px solid var(--gold);padding:var(--sp-md);margin-bottom:var(--sp-xl)}
.doc-note p{font-size:.9375rem;color:var(--raindrum)}
.req{list-style:none;padding:0;margin:0 0 var(--sp-md)}
.req li{display:flex;gap:var(--sp-sm);flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.req li span{min-width:190px;color:var(--raindrum);font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;padding-top:2px}
.doc-back{margin-top:var(--sp-2xl);padding-top:var(--sp-md);border-top:1px solid var(--line)}

/* страница направления */
.page-hero{background:var(--chicory);color:var(--cannoli);padding:var(--sp-3xl) 0}
.page-hero .eyebrow{color:var(--gold)}
.page-hero h1{color:var(--straw);margin:var(--sp-sm) 0 var(--sp-md);text-wrap:balance}
.page-hero .lead{color:var(--tapioca);max-width:52ch}
.page-hero.dev{background:var(--rifle)}
.page-hero.mode{background:var(--cabernet)}
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-lg)}
.feat h4{margin-bottom:var(--sp-2xs)}
.feat p{font-size:.9375rem;color:var(--raindrum);margin:0}
.cta-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}
.thanks{min-height:64vh;display:flex;align-items:center}

/* подвал */
.site-foot{background:var(--chicory);color:var(--tapioca);padding:var(--sp-2xl) 0 var(--sp-xl)}
.site-foot a{color:var(--tapioca)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--sp-xl)}
.foot-grid h4{color:var(--cannoli);margin-bottom:var(--sp-sm)}
.foot-links{display:grid;gap:8px}
.foot-links a{font-size:.875rem;text-decoration:none}
.foot-links a:hover{color:var(--straw)}
.foot-bottom{margin-top:var(--sp-xl);padding-top:var(--sp-md);border-top:1px solid rgba(215,203,186,.25);display:flex;justify-content:space-between;gap:var(--sp-md);flex-wrap:wrap;font-size:.8125rem}

/* куки */
.cookie{
  position:fixed;left:var(--sp-md);right:var(--sp-md);bottom:var(--sp-md);z-index:60;
  background:var(--chicory);color:var(--tapioca);padding:var(--sp-md);
  display:flex;gap:var(--sp-md);align-items:center;justify-content:space-between;flex-wrap:wrap;
  max-width:var(--container);margin:0 auto;
}
.cookie p{margin:0;font-size:.875rem;max-width:60ch;color:var(--tapioca)}
.cookie .acts{display:flex;gap:var(--sp-2xs);flex-wrap:wrap}
.cookie.hidden{display:none}

@media (max-width:900px){
  .hero-inner,.meta-grid,.form-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:var(--sp-lg)}
  .site-head .wrap{flex-direction:column;align-items:flex-start}
  body{font-size:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.foot-disclaimer{font-size:.75rem;color:var(--tapioca);opacity:.75;max-width:70ch;margin:var(--sp-md) 0 0;line-height:1.5}
