:root{
    --ink:#241f18;
    --ink-soft:#5b5344;
    --paper:#EDE6D5;
    --paper-deep:#E1D7BE;
    --paper-line: rgba(36,31,24,.14);
    --forest:#33513C;
    --forest-deep:#233A2B;
    --forest-soft:#4c6b52;
    --gold:#AD7C33;
    --gold-soft:#D8AE6C;
    --gold-glow: rgba(216,174,108,.35);
    --dusk:#171E27;
    --dusk-deep:#0F141B;
    --dusk-soft:#232E3B;
    --cream:#F7F2E5;
    --radius: 2px;
    --serif: 'PT Serif', 'Georgia', serif;
    --sans: 'Golos Text', system-ui, sans-serif;
    --mono: 'JetBrains Mono', monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    line-height:1.6;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  h1,h2,h3,h4{font-family:var(--serif); font-weight:700; color:var(--ink); letter-spacing:-.01em;}
  .eyebrow{
    font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--gold); display:flex; align-items:center; gap:10px; margin-bottom:14px; font-weight:500;
  }
  .eyebrow::before{content:""; width:22px; height:1px; background:var(--gold);}
  .btn{
    display:inline-flex; align-items:center; gap:8px; padding:14px 28px; font-family:var(--sans);
    font-weight:600; font-size:14.5px; border-radius:var(--radius); cursor:pointer; border:1px solid transparent;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
  .btn-gold{background:var(--gold); color:var(--cream);}
  .btn-gold:hover{background:var(--gold-soft);}
  .btn-outline{border-color:rgba(247,242,229,.45); color:var(--cream);}
  .btn-outline:hover{border-color:var(--cream); background:rgba(247,242,229,.08);}
  .btn-outline-dark{border-color:var(--ink); color:var(--ink);}
  .btn-outline-dark:hover{background:var(--ink); color:var(--cream);}

  /* ===== Emblem SVG ===== */
  .emblem{display:block;}
  .emblem .spoke, .emblem .ring{stroke:var(--gold); fill:none;}
  .emblem .core{fill:var(--forest);}
  .emblem .tower{fill:var(--ink);}

  /* ===== Top bar ===== */
  .topbar{
    background:var(--dusk-deep); color:var(--cream); font-family:var(--mono); font-size:12.5px;
  }
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center; padding:9px 32px; flex-wrap:wrap; gap:6px;}
  .topbar a{opacity:.85; transition:opacity .15s;}
  .topbar a:hover{opacity:1; color:var(--gold-soft);}
  .topbar .contacts{display:flex; gap:22px;}
  .topbar .social{display:flex; gap:16px;}

  /* ===== Nav ===== */
  header.site-header{
    position:sticky; top:0; z-index:50; background:rgba(237,230,213,.94); backdrop-filter:blur(8px);
    border-bottom:1px solid var(--paper-line);
  }
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 32px;}
  .brand{display:flex; align-items:center; gap:12px;}
  .brand-mark{width:40px; height:40px;}
  .brand-text{font-family:var(--serif); line-height:1.15;}
  .brand-text .name{font-weight:700; font-size:17px;}
  .brand-text .tagline{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; color:var(--ink-soft); text-transform:uppercase;}
  nav.mainnav ul{display:flex; gap:2px; align-items:center; flex-wrap:wrap;}
  nav.mainnav a{
    font-size:14px; font-weight:500; padding:10px 14px; border-radius:var(--radius); position:relative;
  }
  nav.mainnav a:hover{color:var(--forest);}
  nav.mainnav a::after{
    content:""; position:absolute; left:14px; right:14px; bottom:6px; height:1px; background:var(--gold);
    transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
  }
  nav.mainnav a:hover::after{transform:scaleX(1);}
  .nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px;}
  .nav-toggle span{display:block; width:24px; height:2px; background:var(--ink); margin:5px 0;}

  @media (max-width:980px){
    nav.mainnav{position:fixed; inset:0 0 0 auto; width:min(320px,86vw); height:100vh; background:var(--paper);
      transform:translateX(100%); transition:transform .3s ease; padding:90px 28px 28px; box-shadow:-8px 0 30px rgba(0,0,0,.15);}
    nav.mainnav.open{transform:translateX(0);}
    nav.mainnav ul{flex-direction:column; align-items:flex-start; gap:4px;}
    nav.mainnav a{font-size:16px; width:100%;}
    .nav-toggle{display:block;}
  }

  /* ===== Hero ===== */
  .hero{
    position:relative; min-height:92vh; display:flex; align-items:flex-end; overflow:hidden; color:var(--cream);
    background:var(--dusk);
  }
  .hero-bg{position:absolute; inset:0; background-size:cover; background-position:center 38%; opacity:.62;}
  .hero-scrim{position:absolute; inset:0; background:
      linear-gradient(180deg, rgba(15,20,27,.35) 0%, rgba(15,20,27,.35) 40%, rgba(15,20,27,.92) 92%),
      linear-gradient(90deg, rgba(15,20,27,.75) 0%, rgba(15,20,27,.1) 55%);}
  .hero-content{position:relative; z-index:2; padding:64px 32px 84px; max-width:1180px; margin:0 auto; width:100%;}
  .hero-tag{
    display:inline-block; font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold-soft); border:1px solid rgba(216,174,108,.5); padding:6px 14px; border-radius:2px; margin-bottom:24px;
  }
  .hero h1{
    font-size:clamp(34px,5.2vw,64px); color:var(--cream); line-height:1.08; max-width:16ch; margin-bottom:10px;
  }
  .hero h1 em{font-style:italic; color:var(--gold-soft);}
  .hero .org-line{
    font-family:var(--sans); font-weight:600; font-size:15px; letter-spacing:.03em; text-transform:uppercase;
    color:rgba(247,242,229,.72); max-width:44ch; margin:18px 0 34px; border-left:2px solid var(--gold); padding-left:16px;
  }
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap;}
  .hero-meta{
    display:flex; gap:40px; margin-top:56px; flex-wrap:wrap; border-top:1px solid rgba(247,242,229,.18); padding-top:26px;
  }
  .hero-meta .stat b{display:block; font-family:var(--serif); font-size:26px; color:var(--gold-soft);}
  .hero-meta .stat span{font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:rgba(247,242,229,.6);}

  /* ===== Sections generic ===== */
  section{padding:96px 0;}
  section.tight{padding:72px 0;}
  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(28px,3.4vw,40px); line-height:1.15;}
  .section-head p{color:var(--ink-soft); margin-top:14px; font-size:16.5px; max-width:56ch;}
  .divider{border:none; height:1px; background:var(--paper-line);}

  .band-dark{background:var(--dusk); color:var(--cream);}
  .band-dark .ink-soft{color:rgba(247,242,229,.68);}
  .band-dark h2{color:var(--cream);}
  .band-deep{background:var(--paper-deep);}

  /* ===== About ===== */
  .about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:start;}
  .about-grid p{margin-bottom:16px; color:var(--ink-soft); font-size:16px;}
  .about-grid p strong{color:var(--ink);}
  .pillar-list{display:flex; flex-direction:column; gap:0; border-top:1px solid var(--paper-line);}
  .pillar-list li{display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--paper-line); align-items:flex-start;}
  .pillar-list .mk{font-family:var(--mono); color:var(--gold); font-size:13px; padding-top:3px;}
  .pillar-list h4{font-size:15.5px; margin-bottom:4px;}
  .pillar-list p{font-size:14px; color:var(--ink-soft); margin:0;}
  @media (max-width:900px){.about-grid{grid-template-columns:1fr; gap:36px;}}

  .reg-card{
    background:var(--paper); border:1px solid var(--paper-line); border-radius:var(--radius); padding:26px 28px;
  }
  .reg-card h4{font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:16px;}
  .reg-card dl{display:grid; grid-template-columns:auto 1fr; gap:9px 16px; font-size:14px;}
  .reg-card dt{color:var(--ink-soft);}
  .reg-card dd{font-family:var(--mono); font-size:13.5px;}

  /* ===== Founders ===== */
  .founders{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--paper-line); border:1px solid var(--paper-line); margin-top:8px;}
  .founder-card{background:var(--paper); padding:32px 28px;}
  .founder-card .role{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;}
  .founder-card h4{font-size:19px; margin-bottom:6px; line-height:1.3;}
  .founder-card p{font-size:13.5px; color:var(--ink-soft);}
  .founder-glyph{width:34px; height:34px; margin-bottom:18px;}
  @media (max-width:820px){.founders{grid-template-columns:1fr;}}

  /* ===== Documents ===== */
  .doc-list{display:flex; flex-direction:column; margin-top:8px;}
  .doc-row{
    display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; border-bottom:1px solid var(--paper-line);
  }
  .doc-row:first-child{border-top:1px solid var(--paper-line);}
  .doc-info{display:flex; gap:18px; align-items:flex-start;}
  .doc-num{font-family:var(--mono); color:var(--gold); font-size:13px; padding-top:3px; min-width:26px;}
  .doc-info h4{font-size:16.5px; margin-bottom:5px;}
  .doc-info p{font-size:13.5px; color:var(--ink-soft);}
  .doc-status{
    font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--forest);
    border:1px solid rgba(51,81,60,.35); padding:5px 10px; border-radius:2px; white-space:nowrap;
  }

  /* ===== Activity cards ===== */
  .activity-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:8px; background:var(--paper-line); border:1px solid var(--paper-line);}
  .activity-card{background:var(--paper); padding:34px 30px; min-height:230px; display:flex; flex-direction:column;}
  .activity-card .num{font-family:var(--mono); font-size:12px; color:var(--gold); margin-bottom:20px;}
  .activity-card h4{font-size:19px; margin-bottom:10px; line-height:1.25;}
  .activity-card p{font-size:14px; color:var(--ink-soft); flex-grow:1;}
  @media (max-width:900px){.activity-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:620px){.activity-grid{grid-template-columns:1fr;}}

  /* ===== Partner ===== */
  .partner-block{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center;}
  .partner-visual{
    aspect-ratio:4/3; background:var(--forest-deep); position:relative; overflow:hidden; border-radius:2px;
  }
  .partner-visual img{width:100%; height:100%; object-fit:cover; opacity:.75; mix-blend-mode:luminosity;}
  .partner-visual::after{content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(51,81,60,.35), rgba(15,20,27,.55));}
  .partner-copy p{color:var(--ink-soft); margin-bottom:14px; font-size:15.5px;}
  .partner-tags{display:flex; gap:10px; flex-wrap:wrap; margin:20px 0 26px;}
  .tag{font-family:var(--mono); font-size:11.5px; padding:6px 12px; border:1px solid var(--paper-line); border-radius:2px; color:var(--ink-soft);}
  .curriculum{display:grid; grid-template-columns:repeat(2,1fr); gap:8px 20px; margin:22px 0 28px; font-size:14px;}
  .curriculum li{display:flex; gap:10px; align-items:baseline;}
  .curriculum li::before{content:"—"; color:var(--gold);}
  @media (max-width:900px){.partner-block{grid-template-columns:1fr; gap:32px;} .curriculum{grid-template-columns:1fr;}}

  /* ===== News ===== */
  .news-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1px; background:var(--paper-line); border:1px solid var(--paper-line); margin-top:8px;}
  .news-card{background:var(--paper); padding:30px 28px; display:flex; flex-direction:column;}
  .news-card.featured{background:var(--dusk); color:var(--cream);}
  .news-card .date{font-family:var(--mono); font-size:11.5px; color:var(--gold); letter-spacing:.05em; margin-bottom:14px; text-transform:uppercase;}
  .news-card h4{font-size:18px; margin-bottom:10px; line-height:1.32;}
  .news-card.featured h4{color:var(--cream); font-size:22px;}
  .news-card p{font-size:14px; color:var(--ink-soft); flex-grow:1;}
  .news-card.featured p{color:rgba(247,242,229,.72);}
  .news-card .read{font-size:13px; font-weight:600; margin-top:18px; color:var(--forest); display:inline-flex; align-items:center; gap:6px;}
  .news-card.featured .read{color:var(--gold-soft);}
  @media (max-width:900px){.news-grid{grid-template-columns:1fr;}}

  /* ===== Reviews ===== */
  .review-empty{
    border:1px dashed var(--paper-line); border-radius:2px; padding:56px 40px; text-align:center; margin-top:8px;
  }
  .review-empty h4{font-size:20px; margin-bottom:12px;}
  .review-empty p{color:var(--ink-soft); max-width:46ch; margin:0 auto 26px; font-size:15px;}

  /* ===== Contacts ===== */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
  .contact-item{display:flex; gap:16px; padding:20px 0; border-bottom:1px solid rgba(247,242,229,.15);}
  .contact-item:first-child{border-top:1px solid rgba(247,242,229,.15);}
  .contact-item .ic{width:20px; height:20px; flex-shrink:0; margin-top:2px; color:var(--gold-soft);}
  .contact-item h5{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(247,242,229,.55); margin-bottom:6px;}
  .contact-item p, .contact-item a{font-size:16px; color:var(--cream);}
  .contact-item a:hover{color:var(--gold-soft);}
  .social-row{display:flex; gap:14px; margin-top:28px;}
  .social-row a{
    border:1px solid rgba(247,242,229,.3); border-radius:2px; padding:10px 18px; font-size:13.5px; font-weight:600;
  }
  .social-row a:hover{border-color:var(--gold-soft); color:var(--gold-soft);}
  .newsletter{background:var(--dusk-soft); border:1px solid rgba(247,242,229,.14); padding:34px 32px; border-radius:2px;}
  .newsletter h4{color:var(--cream); font-size:19px; margin-bottom:8px;}
  .newsletter p{color:rgba(247,242,229,.65); font-size:13.5px; margin-bottom:20px; line-height:1.55;}
  .newsletter form{display:flex; gap:10px; flex-wrap:wrap;}
  .newsletter input[type=email]{
    flex:1; min-width:180px; background:rgba(247,242,229,.06); border:1px solid rgba(247,242,229,.25); color:var(--cream);
    padding:13px 14px; border-radius:2px; font-family:var(--sans); font-size:14px;
  }
  .newsletter input[type=email]::placeholder{color:rgba(247,242,229,.4);}
  .newsletter input[type=email]:focus-visible{outline:2px solid var(--gold-soft); outline-offset:2px;}
  .newsletter .consent{font-size:11.5px; color:rgba(247,242,229,.45); margin-top:12px; line-height:1.5;}
  .newsletter .ok-msg{font-size:13px; color:var(--gold-soft); margin-top:12px; display:none;}

  address{font-style:normal;}

  /* ===== Footer ===== */
  footer{background:var(--dusk-deep); color:rgba(247,242,229,.55); padding:36px 0; font-size:12.5px;}
  .footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
  .footer-inner .brand-mini{display:flex; align-items:center; gap:10px; color:rgba(247,242,229,.75);}
  .footer-inner .brand-mini svg{width:22px; height:22px;}

  /* reveal on scroll */
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  ::selection{background:var(--gold-glow); color:var(--ink);}