/* GENERATED by build_theme.py from the HTML prototype — do not edit here. */
:root{
  color-scheme: light;
  --bg-canvas:#f3eee8;
  --bg-inverse:#042842;
  --bg-surface:#eadfcb;
  --bg-surface-dim:#d9cdb5;
  --text-primary:#042842;
  --text-inverse:#f3eee8;
  --text-muted:#7192a1;
  --accent-primary:#bc5528;
  --accent-secondary:#bf8e66;
  --border-default:#7192a1;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{background:var(--bg-canvas);}
body{
  color:var(--text-primary);
  font-family:'Montserrat',sans-serif;
  line-height:1.55;
}
h1,h2,h3,.display{
  font-family:'Unbounded',sans-serif;
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.01em;
  text-wrap:balance;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
p{max-width:65ch;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--accent-primary);
}
[hidden]{display:none!important;}

/* header */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(243,238,232,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border-default);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;position:relative;
}
.logo{background:none;border:none;cursor:pointer;padding:0;line-height:0;}
nav ul{display:flex;gap:26px;list-style:none;flex-wrap:wrap;}
nav a{font-size:14px;font-weight:500;cursor:pointer;padding-bottom:2px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
nav a:hover{color:var(--accent-primary);border-color:var(--accent-primary);}
nav a[aria-current="page"]{color:var(--accent-primary);border-color:var(--accent-primary);}
.nav-cta{
  background:var(--accent-primary);color:var(--text-inverse);
  padding:10px 22px;border-radius:0;font-size:13px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.08em;
  white-space:nowrap;border:1.5px solid var(--accent-primary);cursor:pointer;font-family:'Montserrat',sans-serif;
  text-decoration:none;display:inline-block;transition:background .15s,color .15s;
}
.nav-cta:hover{background:transparent;color:var(--accent-primary);}
.menu-toggle{display:none;background:none;border:0;font-size:22px;cursor:pointer;color:var(--text-primary);font-family:'Unbounded',sans-serif;font-weight:600;}

/* generic section rhythm */
.band{padding:72px 0;}
.band-surface{background:var(--bg-surface);}
.band-inverse{background:var(--bg-inverse);color:var(--text-inverse);}
.band-inverse .eyebrow{color:var(--accent-secondary);}
.band-inverse .text-muted{color:#9fb6c1;}
.text-muted{color:var(--text-muted);}
.page-hero{padding:64px 0 56px;}
.page-hero h1{font-size:48px;max-width:760px;}
.page-hero p{font-size:17px;color:var(--text-muted);margin-top:16px;max-width:640px;}
.section-divider{width:56px;height:3px;background:var(--accent-primary);margin-top:28px;border-radius:2px;}

/* hero (home) */
.home-hero{padding:110px 0 72px;background:linear-gradient(180deg,var(--bg-canvas) 0%,var(--bg-surface) 100%);}
.home-hero h1{font-size:54px;max-width:820px;}
.home-hero p{font-size:19px;color:var(--text-muted);max-width:560px;margin-top:22px;}
.hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.btn{display:inline-block;padding:14px 28px;border-radius:0;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:0.08em;cursor:pointer;border:1.5px solid transparent;font-family:'Montserrat',sans-serif;transition:background .15s,color .15s,border-color .15s;}
.btn-primary{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary);}
.btn-outline{border:1.5px solid var(--text-primary);color:var(--text-primary);background:none;}
.btn-primary:hover{background:transparent;color:var(--accent-primary);}
.btn-outline:hover{background:var(--text-primary);color:var(--bg-canvas);}

/* headings inside a section */
.section-head{max-width:640px;margin-bottom:36px;}
.section-head h2{font-size:30px;margin-top:8px;}
h3.block-title{font-size:26px;margin-bottom:16px;}

/* two directions (home) */
.directions{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.direction-card{background:var(--bg-surface);border-radius:0;padding:36px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;}
.direction-card h3{font-size:23px;margin:14px 0 10px;}
.direction-card p{color:var(--text-muted);font-size:15px;}
.direction-card .tag{font-size:13px;font-weight:600;}

/* generic card grid */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.card{background:var(--bg-canvas);border:1px solid var(--border-default);border-radius:0;padding:22px;}
.band-inverse .card{background:rgba(243,238,232,0.06);border-color:rgba(255,255,255,0.18);}
.card h4{font-family:'Unbounded',sans-serif;font-size:16px;margin-bottom:6px;}
.card p{font-size:14px;color:var(--text-muted);}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.team-card{text-align:left;}
.avatar{width:100%;aspect-ratio:280/240;border-radius:0;background:var(--bg-surface-dim);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;margin-bottom:12px;}
.team-card h4{font-size:15px;font-family:'Montserrat',sans-serif;font-weight:600;}
.team-card p{font-size:13px;color:var(--text-muted);}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.news-list{display:flex;flex-direction:column;gap:24px;max-width:720px;}
.news-list .news-card{flex-direction:row;}
.news-list .news-image{width:280px;flex:none;aspect-ratio:auto;}
@media (max-width:640px){.news-list .news-card{flex-direction:column;}.news-list .news-image{width:100%;aspect-ratio:16/9;}}
.news-card{background:var(--bg-canvas);border:1px solid var(--border-default);border-radius:0;overflow:hidden;display:flex;flex-direction:column;}
.news-image{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;}
.news-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.news-card h4{font-size:19px;margin-bottom:10px;font-family:'Unbounded',sans-serif;}
.news-card p{font-size:14px;color:var(--text-muted);flex:1;}
.news-link{margin-top:16px;font-size:13px;font-weight:600;color:var(--accent-primary);display:inline-block;cursor:pointer;text-decoration:none;border-bottom:1px solid transparent;}
.news-link:hover{border-bottom-color:var(--accent-primary);}
.badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;background:var(--bg-surface);color:var(--text-primary);padding:4px 10px;border-radius:0;margin-bottom:10px;width:fit-content;}
.note{font-size:14px;color:var(--text-muted);border:1px dashed var(--border-default);border-radius:0;padding:16px 18px;margin-top:20px;}
.band-inverse .note{border-color:rgba(255,255,255,0.3);color:#9fb6c1;}

/* projects */
.project-row{display:grid;grid-template-columns:0.9fr 1.1fr;gap:40px;align-items:center;padding:44px 0;border-top:1px solid var(--border-default);}
.project-row:last-child{border-bottom:1px solid var(--border-default);}
.project-visual{aspect-ratio:16/10;background:var(--bg-surface);border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;}
.project-row h3{font-size:25px;margin-bottom:14px;}
.project-row p{color:var(--text-muted);font-size:15px;}
.soon{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent-primary);margin-top:16px;text-transform:uppercase;letter-spacing:0.06em;}

/* reporting */
.report-list{display:flex;flex-direction:column;}
.report-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--border-default);}
.report-row .stat{color:var(--accent-primary);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:0.04em;}

/* partners */
.partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.partner-slot{aspect-ratio:216/100;background:var(--bg-surface);border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px;}

/* contacts */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.socials{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.social-pill{border:1.5px solid rgba(255,255,255,0.3);border-radius:0;padding:9px 18px 9px 14px;font-size:13px;font-weight:500;color:var(--text-inverse);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .15s,border-color .15s,color .15s;}
.social-pill:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse);}

/* newsletter */
.newsletter{background:var(--accent-primary);color:var(--text-inverse);border-radius:0;padding:52px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.newsletter h3{font-size:24px;max-width:400px;}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter input{padding:14px 18px;border-radius:0;border:none;min-width:220px;font-family:'Montserrat',sans-serif;font-size:14px;}
.newsletter button{background:var(--bg-inverse);color:var(--text-inverse);border:1.5px solid var(--bg-inverse);padding:14px 24px;border-radius:0;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:0.06em;cursor:pointer;transition:background .15s,color .15s;}
.newsletter button:hover{background:transparent;color:var(--bg-inverse);}

/* footer */
footer{background:var(--bg-inverse);color:var(--text-inverse);padding:56px 0 28px;}
.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:36px;}
.footer-col h5{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-secondary);margin-bottom:14px;}
.footer-col a,.footer-col p{display:block;font-size:14px;margin-bottom:8px;color:#cfe0e8;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.15);padding-top:22px;display:flex;justify-content:space-between;font-size:12px;color:#9fb6c1;flex-wrap:wrap;gap:10px;}

@media (max-width:860px){
  nav ul{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-canvas);border-bottom:1px solid var(--border-default);padding:8px 24px 16px;}
  nav ul.open{display:flex;}
  nav ul li{padding:12px 0;border-top:1px solid var(--border-default);}
  nav ul li:first-child{border-top:none;}
  .menu-toggle{display:block;}
  .nav-cta{display:none;}
  .home-hero h1,.page-hero h1{font-size:36px;}
  .directions,.team-grid,.news-grid,.card-grid,.contact-grid,.partner-grid{grid-template-columns:1fr 1fr;}
  .project-row{grid-template-columns:1fr;}
  .footer-top{flex-direction:column;}
}
@media (max-width:560px){
  .directions,.team-grid,.news-grid,.card-grid,.contact-grid,.partner-grid{grid-template-columns:1fr;}
  .home-hero{padding:96px 0 56px;}
  .band{padding:56px 0;}
  .newsletter{padding:30px;flex-direction:column;align-items:flex-start;}
}

/* ===== v20: heritage graphics ===== */
:root{--hdr:64px;}
/* v27 hero: one pinned stage (header to bottom of screen). Copy stays centred; the rider (left) and the
   kurin (right, lower) draw in and fade out with the scroll, then the panorama draws along the bottom.
   JS sizes and places the three layers from the copy block's position. */
.hero-runway{position:relative;}
.home-hero{position:sticky;top:var(--pin,var(--hdr));height:calc(100vh - var(--hdr));min-height:560px;overflow:hidden;
  padding-top:clamp(28px,6vh,84px);
  background:linear-gradient(180deg,var(--bg-canvas) 0%,var(--bg-canvas) 45%,var(--bg-surface) 100%);}
@supports (height:100svh){ .home-hero{height:calc(100svh - var(--hdr));} }
.home-hero .wrap{position:relative;z-index:2;text-align:center;}
.home-hero h1{margin-inline:auto;}
.home-hero p{margin-inline:auto;}
.home-hero .hero-ctas{justify-content:center;}
.hero-layer{position:absolute;z-index:1;pointer-events:none;}
.hero-layer canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero-rider,.hero-kurin{opacity:0;will-change:opacity,transform;}
.hero-sketch{left:50%;bottom:0;transform:translateX(-50%);z-index:0;}
.hero-sketch img{width:100%;height:auto;display:block;}
.hero-sketch canvas{display:none;}
.js .hero-sketch:not(.done) img{opacity:0;}
.hero-sketch.live img{visibility:hidden;}
.hero-sketch.live canvas{display:block;}

.direction-card .card-art{width:150px;height:auto;margin-bottom:8px;}
.direction-card .news-link{align-self:flex-start;}

.art{display:block;width:100%;height:auto;}
.project-row.rev{grid-template-columns:1.1fr 0.9fr;}
.project-row.solo{grid-template-columns:1fr;}
.project-art{background:var(--bg-canvas);border:1px solid var(--border-default);}

.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.timeline-grid figure,.duo figure{margin:0;}
.timeline-grid .frame,.duo .frame{border:1px solid var(--border-default);background:var(--bg-canvas);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.timeline-grid .frame img,.duo .frame img{width:100%;height:100%;object-fit:contain;}
figcaption{margin-top:12px;}
.duo{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:24px;}

.sk-stack{position:relative;}
.sk-plate{position:sticky;top:var(--hdr);min-height:calc(100vh - var(--hdr));background:var(--bg-canvas);
  border-top:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;padding:56px 24px 40px;}
.sk-plate img{max-width:min(1100px,100%);max-height:calc(100vh - var(--hdr) - 120px);width:auto;height:auto;}
.sk-num{position:absolute;top:22px;left:24px;font-size:12px;letter-spacing:.14em;color:var(--text-muted);font-weight:600;}
.sk-end{position:relative;z-index:30;background:var(--bg-canvas);}

@media (max-width:860px){
  .timeline-grid{grid-template-columns:1fr;}
  .duo{grid-template-columns:1fr;}
  .project-row.rev{grid-template-columns:1fr;}
  .project-row.rev .project-visual{order:-1;}
}
@media (prefers-reduced-motion:reduce){
  .sk-plate{position:relative;top:auto;min-height:0;}
}

/* v31 road through "Два напрями": two hand-drawn edges, behind the cards, drawn by scroll */
.dir-band{position:relative;overflow:hidden;}
.dir-band .wrap{position:relative;z-index:1;}
.trail{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden;}
.trail path{fill:none;stroke:var(--text-primary);stroke-width:var(--tw,2.4px);stroke-linecap:round;stroke-linejoin:round;}

/* v33: on the navy news band the road turns cream, fans out into strands behind the cards and merges below them */
.news-band{position:relative;overflow:hidden;}
.news-band .wrap{position:relative;z-index:1;}
.trail-inv path{fill:none;stroke:var(--text-inverse);stroke-width:var(--tw,2px);stroke-linecap:round;stroke-linejoin:round;}
.trail-inv path.strand{opacity:.6;}

/* v35: a plane takes off inside the orange block (behind its text and form) */
/* v40: email field is always white with navy text, whatever the browser/OS theme or autofill does */
.newsletter input{background:#fff!important;color:var(--text-primary)!important;color-scheme:light;-webkit-appearance:none;appearance:none;
  border:1.5px solid #fff!important;border-radius:0;caret-color:var(--text-primary);}
.newsletter input::placeholder{color:#7a8a94;opacity:1;}
.newsletter input:focus{outline:none;border-color:var(--bg-inverse)!important;box-shadow:0 0 0 2px rgba(4,40,66,.25);}
.newsletter input:-webkit-autofill,.newsletter input:-webkit-autofill:hover,.newsletter input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:var(--text-primary)!important;}
/* v37: the band line and the vector plane sit ABOVE the orange fill but BELOW its text and form */
.newsletter{position:relative;overflow:hidden;}
.newsletter>h3,.newsletter>form,.newsletter>p{position:relative;z-index:2;}
#trailNl{z-index:1;}
.nl-plane{position:absolute;left:0;top:0;width:64px;height:auto;z-index:1;pointer-events:none;will-change:transform;transform-origin:50% 50%;}
.nl-plane path{fill:var(--text-inverse);}
/* v34: newsletter band — the line wraps the orange block; footer — a strip of sketch figures on a hand-drawn ground */
.nl-band{position:relative;overflow:hidden;}
.nl-band .wrap{position:relative;}   /* no stacking context: lets the line pass between the block fill and its text */
.footer-scene{position:relative;height:160px;margin:4px 0 22px;}
.footer-scene>.fs-cyc,.footer-scene>.fs-trees{position:absolute;bottom:12px;height:auto;opacity:.85;overflow:visible;}
.fs-cyc path,.fs-trees path{fill:var(--text-inverse);}
.fs-ground{position:absolute;left:0;right:0;bottom:0;width:100%;height:24px;overflow:visible;}
.fs-ground path{fill:none;stroke:var(--text-inverse);stroke-width:1.6;vector-effect:non-scaling-stroke;opacity:.7;stroke-linecap:round;}
.fs-plane{top:0;bottom:auto!important;left:58%;width:77px;transition:transform .2s linear;}
.fs-couple{left:9%;width:42px;}
.fs-cyc{left:34%;width:150px;bottom:6px!important;}
.footer-bottom{border-top:none!important;padding-top:6px!important;}
.fs-cyc-far{left:47%;width:96px;bottom:22px!important;}
.fs-trees{right:0;width:290px;}
@media (max-width:860px){
  .footer-scene{height:120px;}
  .fs-plane{left:50%;width:56px;}
  .fs-couple{left:4%;width:30px;}
  .fs-cyc{left:8%;width:104px;}
  .fs-cyc-far{display:none;}
  .fs-trees{width:150px;}
}
