/* AIRA — site.css · спільні токени та база (v1 системи) */
:root{
  --aira-ink:#171717; --aira-dark:#111111; --aira-white:#FFFFFF;
  --aira-gold:#B87932; --aira-sand:#F4F1EA; --aira-warm:#FAF8F4;
  --aira-line:#E8E2D6; --aira-muted:#767676;
  --aira-container:1220px; --aira-page-pad:56px; --aira-mobile-pad:20px;
}
::selection{background:#171717;color:#fff;}
:focus-visible{outline:2px solid var(--aira-gold);outline-offset:3px;}

/* ── Спільні компоненти (еталон системи) ── */
.burger{display:none;}
.desk-nav a.active{color:#B87932;}
.desk-nav li a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:#B87932;transition:width .45s cubic-bezier(.22,.61,.36,1);}
.desk-nav li a:hover::after,.desk-nav li a.active::after{width:100%;}
.desk-nav li a{position:relative;padding-bottom:4px;}
.footer-brand{display:flex; flex-direction:column; gap:6px;}
.footer-copy{font-size:12px; color:#7A7A7A; text-align:right; line-height:1.7;}
.footer-inner{display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    flex-wrap:wrap;
    max-width:1400px;
    margin:0 auto;}
.footer-links .lbl{font-size:10px; letter-spacing:2px; text-transform:uppercase; color:#7A7A7A; margin-bottom:6px;}
.footer-links a:hover{color:#F5F5F5;}
.footer-links a{font-size:13px; color:#B8B8B8; text-decoration:none; transition:color .4s ease;}
.footer-links{display:flex; gap:48px;}
.footer-logo{font-size:16px; font-weight:500; color:#F5F5F5; letter-spacing:2px;}
.footer-tagline{font-size:12px; color:#AFAFAF;}
.lead-close{position:absolute; top:16px; right:16px;
    background:none; border:none;
    font-size:16px; font-weight:300; cursor:pointer;
    color:#171717; line-height:1;}
.lead-error.show{display:block;}
.lead-error{display:none;
    margin-top:6px;
    font-size:11px;
    color:#B87932;
    font-weight:400;}
.lead-eyebrow{display:block;
    font-size:11px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:#B87932;
    margin-bottom:10px;}
.lead-fail a{color:inherit; text-decoration:underline; text-underline-offset:3px;}
.lead-fail{display:none; margin-top:14px; font-size:13px; line-height:1.6; color:#B0522D; font-weight:300;}
.lead-form input.lead-invalid{border-color:#C97B4A; background:#FBF5EF;}
.lead-form input:focus, .lead-form textarea:focus{outline:none; border-color:#B87932;}
.lead-form input{display:block;
    width:100%;
    margin-top:6px;
    padding:12px 14px;
    border:1px solid #e2ded6;
    border-radius:8px;
    font-family:'Inter',sans-serif;
    font-size:14px;
    color:#171717;
    background:#FAFAF7;
    box-sizing:border-box;
    transition:border-color .3s ease;}
.lead-form label{display:block;
    font-size:12px;
    color:#777;
    font-weight:300;
    margin-bottom:16px;}
.lead-form textarea{display:block;
    width:100%;
    margin-top:6px;
    padding:12px 14px;
    border:1px solid #e2ded6;
    border-radius:8px;
    font-family:'Inter',sans-serif;
    font-size:14px;
    color:#171717;
    background:#FAFAF7;
    box-sizing:border-box;
    resize:vertical;
    transition:border-color .3s ease;}
.lead-modal{background:#fff;
    color:#171717;
    max-width:440px;
    width:100%;
    border-radius:14px;
    padding:40px 36px;
    position:relative;
    box-sizing:border-box;
    max-height:90vh;
    overflow-y:auto;}
.lead-overlay.open{display:flex;}
.lead-overlay{display:none;
    position:fixed; inset:0;
    background:rgba(10,10,10,.6);
    z-index:10000;
    align-items:center;
    justify-content:center;
    padding:20px;
    box-sizing:border-box;}
.lead-submit:disabled{opacity:.6; cursor:default;}
.lead-submit:hover{background:#B87932;}
.lead-submit{width:100%;
    margin-top:8px;
    padding:14px;
    background:#171717;
    color:#fff;
    border:none;
    border-radius:8px;
    font-family:'Inter',sans-serif;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .4s ease;}
.lead-thanks p{font-size:13px; line-height:1.6; color:#999; font-weight:300;}
.lead-thanks{display:none; margin-top:-10px;}
.lead-title{font-family:'Space Grotesk',sans-serif;
    font-size:22px;
    font-weight:500;
    letter-spacing:-.02em;
    margin-bottom:26px;}
.logo img{height:22px; display:block;}
.logo-svg{height:22px; width:auto; display:block;}
.logo{flex-shrink:0;}
.mob-close{background:none; border:none;
    font-size:20px; font-weight:300; cursor:pointer;
    color:#1a1a1a; line-height:1; padding:0;}
.mob-menu ul li a.active{color:#B87932;}
.mob-menu ul li a::after{content:'→';
    font-size:18px;
    color:#171717;
    font-weight:300;}
.mob-menu ul li a{display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex:1 !important;
    font-family:'Inter',sans-serif !important;
    font-size:22px !important; font-weight:300 !important;
    color:#171717 !important; text-decoration:none !important;
    letter-spacing:0.015em !important;
    text-transform:none !important;
    pointer-events:auto !important; cursor:pointer !important;}
.mob-menu ul li:first-child{border-top:1px solid #E6E2DA !important;}
.mob-menu ul li{display:flex !important;
    align-items:center !important;
    gap:16px !important;
    padding:18px 0 !important;
    border-bottom:1px solid #E6E2DA !important;
    margin:0 !important;}
.mob-menu ul{list-style:none !important; padding:0 !important; margin:0 !important; display:block !important;}
.mob-menu-brand-line{width:24px; height:1px;
    background:#B87932; margin-bottom:18px;}
.mob-menu-brand-sub{font-family:'Inter',sans-serif;
    font-size:15px; font-weight:400;
    color:#2A2A2A; line-height:1.4;}
.mob-menu-brand-title{font-family:'Inter',sans-serif;
    font-size:15px; font-weight:400;
    color:#B87932; margin-bottom:10px;
    letter-spacing:-0.1px;}
.mob-menu-brand{padding:16px 0 28px;}
.mob-menu-cta:hover,.mob-menu-cta:active{background:#B87932;}
.mob-menu-cta{transition:background .5s ease;}
.mob-menu-head{display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:40px;}
.mob-menu-inner{display:flex;
    flex-direction:column;
    min-height:100%;
    padding:24px 24px 32px;
    box-sizing:border-box;}
.mob-menu-logo{height:20px; width:auto; display:block;}
.mob-menu-num{font-family:'Inter',sans-serif;
    font-size:12px; font-weight:400;
    color:#B87932; letter-spacing:1px;
    width:24px; flex-shrink:0;}
.mob-menu.open .mob-menu-brand{opacity:0;animation:menuItem .5s .50s ease forwards;}
.mob-menu.open .mob-menu-cta{opacity:0;animation:menuItem .5s .60s ease forwards;}
.mob-menu.open ul li:nth-child(1){animation-delay:.08s;}
.mob-menu.open ul li:nth-child(2){animation-delay:.16s;}
.mob-menu.open ul li:nth-child(3){animation-delay:.24s;}
.mob-menu.open ul li:nth-child(4){animation-delay:.32s;}
.mob-menu.open ul li:nth-child(5){animation-delay:.40s;}
.mob-menu.open ul li{opacity:0;animation:menuItem .5s ease forwards;}
.mob-menu.open{display:block !important;animation:menuIn .35s ease both;}
.mob-menu{display:none;
    position:fixed;
    top:0; left:0; right:0; bottom:0;
    background:#fff;
    z-index:9999;
    overflow-y:auto;
    box-sizing:border-box;}
.reveal-d1{transition-delay:.15s;}
.reveal-d2{transition-delay:.3s;}
.reveal-d3{transition-delay:.45s;}
.reveal.in-view{opacity:1; transform:translateY(0);}
.reveal{opacity:0;
    transform:translateY(24px);
    transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);}
footer{background:#111;
    border-top:1px solid #222;
    padding:44px 56px;}
nav ul .sep{color:#e5e5e5; font-size:12px; pointer-events:none; line-height:1;}
nav ul li a:hover{color:#1a1a1a;}
nav ul li a{text-transform:uppercase; letter-spacing:1.5px;
    font-size:12px; font-weight:400; color:#999; text-decoration:none;
    transition:color .5s ease;}
nav ul{list-style:none; display:flex; align-items:center; gap:20px; flex-shrink:0;}
nav.scrolled::before{background:rgba(255,255,255,.92);}
nav.scrolled{border-bottom-color:#ececec;}
nav::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:-1;transition:background .4s ease;}
nav{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding:18px 56px;gap:24px;position:sticky;top:0;z-index:1000;background:transparent;border-bottom:1px solid rgba(0,0,0,0);transition:border-color .4s ease;}

@media (max-width: 768px){
  .logo img{height:16px;}
  .logo-svg{height:16px; width:auto;}
  nav ul .sep{color:#ccc;
      font-size:8px;
      line-height:1;}
  nav ul li a{text-transform:uppercase; letter-spacing:0.3px; font-size:8px; white-space:nowrap; font-weight:400; color:#1a1a1a;}
  nav ul li{display:flex;
      align-items:baseline;
      line-height:1;}
  nav ul::-webkit-scrollbar{display:none;}
  nav ul{flex:1;
      min-width:0;
      display:flex;
      align-items:baseline;
      justify-content:flex-end;
      gap:2px;
      flex-wrap:nowrap;
      overflow-x:auto;}
  nav{padding:14px 16px;
      flex-direction:row;
      align-items:center;
      gap:12px;}
}

@media (max-width:768px){
  .footer-copy{text-align:left;}
  .footer-inner{flex-direction:column; align-items:flex-start; gap:24px;}
  footer{padding:32px 20px;}
}

@media (prefers-reduced-motion: reduce){
  .desk-nav li a::after{transition:none;}
  .mob-menu.open,.mob-menu.open ul li, .mob-menu.open .mob-menu-brand,.mob-menu.open .mob-menu-cta{animation:none !important;opacity:1;transform:none;}
  .reveal{opacity:1; transform:none; transition:none;}
}

@media(max-width:768px){
  .burger span{display:block; width:100%; height:1.5px; background:#1a1a1a; transition:all .3s;}
  .burger{display:flex; flex-direction:column; justify-content:space-between;
      width:22px; height:16px; background:none; border:none;
      cursor:pointer; padding:0; margin-left:auto;}
  .desk-nav{display:none !important;}
  .lead-modal{padding:32px 24px;}
  .lead-title{font-size:19px;}
}

@media(min-width:769px){
  .burger{display:none !important;}
}

/* ── Спільні keyframes мобільного меню (потрібні всім сторінкам, які підключають лише site.css) ── */
@keyframes menuIn {
  from { opacity:0; }
  to { opacity:1; }
}

@keyframes menuItem {
  from {
    opacity:0;
    transform:translateY(14px);
  }
  to {
    opacity:1;
    transform:none;
  }
}

/* ── Точковий захист медіа (лише контентні img/video; логотипи виключені) ── */
img:not(.logo-svg):not(.mob-menu-logo),
video{
  -webkit-user-drag:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
