:root{
  --ink:#182220;
  --paper:#F4F6F3;
  --card:#FFFFFF;
  --green:#103B33;
  --green-soft:#1C5A4E;
  --brass:#A98445;
  --brass-soft:#C9A96A;
  --line:#DCE1DB;
  --radius:14px;
  --shadow:0 12px 35px rgba(16,59,51,.10);
}

html{scroll-padding-top:90px}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1}

body>header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(16,59,51,.98);
  box-shadow:0 2px 14px rgba(0,0,0,.16);
  backdrop-filter:blur(10px);
}

body>header .nav{
  min-height:70px;
  position:relative;
  max-width:1080px;
  margin:0 auto;
  padding-inline:20px;
}

body>header .logo{letter-spacing:.01em}
body>header .nav-links a{position:relative}
body>header .nav-links a::after{
  content:"";
  position:absolute;
  inset-inline:0;
  bottom:-8px;
  height:2px;
  background:var(--brass-soft);
  transform:scaleX(0);
  transition:transform .2s ease;
}
body>header .nav-links a:hover::after,
body>header .nav-links a:focus-visible::after{transform:scaleX(1)}

.menu-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:10px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}
.menu-toggle svg{width:23px;height:23px}

a,button,input,select,textarea{transition:box-shadow .18s,border-color .18s,background-color .18s,color .18s}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--brass-soft);
  outline-offset:3px;
}

.card,.step,.spec,.cities a,.join{box-shadow:0 1px 0 rgba(16,59,51,.03)}
.card:hover,.spec:hover{box-shadow:var(--shadow)}

body>footer{margin-top:auto}
body>footer .foot{align-items:center}
body>footer nav{flex-wrap:wrap}

.trust-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border:1px solid #D7E4DD;
  border-radius:12px;
  background:#EDF5F1;
  color:#2E5148;
  font-size:.93rem;
}
.trust-note svg{width:20px;height:20px;flex:0 0 auto;margin-top:4px;color:var(--green-soft)}

.tg-float{
  position:fixed;
  bottom:22px;
  inset-inline-start:22px;
  z-index:90;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 17px;
  border-radius:999px;
  background:#229ED9;
  color:#fff;
  font-weight:700;
  font-size:.9rem;
  box-shadow:0 8px 24px rgba(34,158,217,.34);
  transition:background-color .18s,transform .18s,box-shadow .18s;
}
.tg-float:hover{background:#1789BD;transform:translateY(-2px)}
.tg-float svg{width:20px;height:20px;flex:0 0 auto}

@media(max-width:760px){
  body>header .nav{min-height:64px;padding-block:10px}
  .menu-toggle{display:inline-flex;margin-inline-start:auto}
  body>header .nav-links{
    display:none;
    position:absolute;
    top:calc(100% + 1px);
    inset-inline:16px;
    flex-direction:column;
    gap:0;
    padding:10px;
    border:1px solid rgba(201,169,106,.32);
    border-radius:12px;
    background:#0C2B25;
    box-shadow:0 18px 35px rgba(0,0,0,.24);
  }
  body>header .nav-links.is-open{display:flex}
  body>header .nav-links a{display:block;padding:11px 12px;border-radius:8px}
  body>header .nav-links a:hover{background:rgba(255,255,255,.06)}
  body>header .nav-links a::after{display:none}
  body>header .nav-actions{margin-inline-start:8px;gap:7px}
  body>header .nav-actions .tg-btn{display:none}
  body>header .nav-cta{padding:8px 11px;font-size:.82rem}
  body>header .lang-btn{width:38px;height:38px;padding:0;justify-content:center}
  body>header .lang-btn svg{display:none}
  section{scroll-margin-top:76px}
}

@media(max-width:420px){
  body>header .logo{font-size:1.18rem}
  body>header .logo svg{width:24px;height:24px}
  body>header .nav-actions .nav-cta:not(.tg-btn){display:none}
  .tg-float{bottom:14px;inset-inline-start:14px;padding:11px}
  .tg-float span{display:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}

@media print{
  body>header,body>footer,.tg-float,.menu-toggle{display:none!important}
  body{background:#fff;color:#000}
  a{text-decoration:underline}
}
