@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800&display=swap');

/* Site-wide spacing trim: keeps the layout premium, but removes passive air. */
.geister-wordmark{
  display:inline-block;
  font-family:'Cinzel','Trajan Pro','Times New Roman',Georgia,serif;
  font-weight:700;
  font-style:normal !important;
  letter-spacing:0;
  line-height:1;
  text-transform:uppercase;
  vertical-align:-.02em;
}
.g-title .geister-wordmark,
.g-hero h1 .geister-wordmark{
  color:var(--g-red,currentColor);
}
.nav-links .brand-switch-menu a .geister-wordmark{
  color:inherit;
  font-size:13px;
  font-weight:700;
}
.back-link .geister-wordmark{
  margin-left:.28em;
}

section[id]{
  scroll-margin-top:84px;
}
.top-bar{
  padding:6px 0 !important;
}
.nav{
  padding:12px 0 !important;
}
.home-header .nav{
  max-width:1320px;
  padding:8px clamp(30px,3.6vw,58px) !important;
}
.home-header .logo{
  min-width:max-content;
  padding:4px 10px;
  border-radius:14px;
  margin-left:-10px;
  line-height:1.1;
}
.home-header .logo small{
  line-height:1;
  margin-top:5px;
}
.home-header .logo:hover{
  background:rgba(13,42,79,.04);
}
.home-header .nav-links{
  gap:clamp(18px,2vw,30px);
}
.home-header .nav-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#0d2a4f,#1e4d8b);
  box-shadow:0 10px 24px rgba(13,42,79,.18);
  white-space:nowrap;
}
.home-header .nav-cta::after{
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(-45deg);
  opacity:.82;
}
.home-header .nav-cta:hover{
  background:linear-gradient(135deg,#183f72,#2e7dc1);
  box-shadow:0 12px 28px rgba(30,77,139,.24);
}
.header .logo-mark{
  width:42px !important;
  height:42px !important;
}
.header .sinapi-logo-img{
  width:82px !important;
  max-width:30vw !important;
}
.origin-flag{
  display:inline-flex;
  width:25px;
  height:17px;
  align-items:center;
  justify-content:center;
  margin-left:0;
  border-radius:4px;
  overflow:hidden;
  border:1px solid rgba(20,45,75,.16);
  box-shadow:0 4px 10px rgba(13,42,79,.08);
  flex:0 0 auto;
}
.logo-mainline,
.sinapi-logo-wrap{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
}
.sinapi-logo-wrap{
  gap:7px;
}
.origin-flag img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.breadcrumb{
  padding:10px 0 !important;
}
.breadcrumb-row{
  gap:14px !important;
}
.back-link{
  min-height:34px !important;
  padding:4px 14px 4px 40px !important;
}
.back-link::before{
  width:26px !important;
  height:26px !important;
}
.back-link::after{
  left:17px !important;
}

.brand-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
  z-index:30;
}
.brand-switch-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 12px;
  border:1px solid rgba(20,45,75,.12);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:inherit;
  font:inherit;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:.2s ease;
}
.brand-switch-btn::after{
  content:"";
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-1px) rotate(45deg);
  opacity:.65;
}
.brand-switch-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:236px;
  padding:8px;
  border:1px solid rgba(20,45,75,.12);
  border-radius:14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 38px rgba(13,42,79,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:.18s ease;
}
.brand-switch:hover .brand-switch-menu,
.brand-switch:focus-within .brand-switch-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.nav-links .brand-switch-menu a{
  display:grid;
  gap:1px;
  padding:9px 10px;
  border-radius:10px;
  color:#1d2b3a;
  font-size:13px;
  line-height:1.25;
  letter-spacing:0;
}
.nav-links .brand-switch-menu a:hover{
  background:#f4f7fb;
  color:inherit;
}
.nav-links .brand-switch-menu a span{
  color:#6b7684;
  font-size:11px;
  font-weight:500;
}
.nav-links .brand-switch-menu a.is-current{
  background:rgba(38,75,129,.07);
  color:inherit;
}
.nav-links .brand-switch-menu a.is-current::after{
  content:"Поточний";
  color:#6b7684;
  font-size:10px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.hero{
  padding:62px 0 66px !important;
}
.s-hero,
.sl-hero{
  padding:64px 0 68px !important;
}
.g-hero{
  padding:72px 0 74px !important;
}
.gp-hero{
  padding:64px 0 !important;
}
.p-hero{
  padding:48px 0 52px !important;
}
.hero-grid,
.s-hero-grid,
.sl-hero-grid,
.g-hero-grid,
.gp-hero-grid,
.p-hero-grid{
  gap:40px !important;
}

body > section:not(.hero):not(.s-hero):not(.sl-hero):not(.g-hero):not(.gp-hero):not(.p-hero):not(.trust):not(.s-trust):not(.sl-trust):not(.g-strip):not(.proof){
  padding-top:64px !important;
  padding-bottom:64px !important;
}
.s-section,
.sl-section,
.g-section,
.p-section,
.section{
  padding-top:64px !important;
  padding-bottom:64px !important;
}
.s-prods-section,
.sl-prods,
.sl-mats,
.contacts{
  padding-top:62px !important;
  padding-bottom:62px !important;
}
.trust,
.s-trust{
  padding:18px 0 !important;
}
.sl-trust,
.g-strip{
  padding:16px 0 !important;
}
.proof-item{
  padding:18px 20px !important;
}

.section-head,
.s-section-head,
.sl-section-head,
.g-section-head,
.p-section-head{
  margin-bottom:34px !important;
}
.g-section-head.center{
  margin-bottom:34px !important;
}
.s-about-stats,
.sl-about-meta{
  padding-top:24px !important;
}
.sl-about-meta{
  margin-top:24px !important;
}

.brand-card{
  min-height:300px !important;
}
.brand-side,
.brand-content{
  padding:36px !important;
}
.hero-card,
.about-card,
.contact-card{
  padding:24px !important;
}
.g-hero-card-body{
  padding:26px !important;
}
.g-about-grid,
.sl-about-grid,
.gp-intro-grid,
.intro-grid{
  gap:42px !important;
}
.p-key{
  margin-bottom:24px !important;
  padding:20px !important;
}
.p-feat,
.gp-prod,
.card{
  padding:24px !important;
}
.p-img{
  padding:18px !important;
}
.hero-visual.contain,
.gp-hero-img{
  padding:12px !important;
}

.cta,
.s-cta,
.sl-cta,
.g-cta,
.p-cta{
  padding:56px 0 !important;
}
.footer,
.s-footer,
.sl-footer,
.g-footer{
  padding-top:42px !important;
}
.footer-grid,
.s-footer-grid,
.sl-footer-grid,
.g-footer-grid{
  gap:32px !important;
  margin-bottom:30px !important;
}

@media(max-width:960px){
  .hero,
  .s-hero,
  .sl-hero,
  .g-hero,
  .gp-hero,
  .p-hero{
    padding-top:48px !important;
    padding-bottom:54px !important;
  }
  .s-section,
  .sl-section,
  .g-section,
  .p-section,
  .section,
  body > section:not(.hero):not(.s-hero):not(.sl-hero):not(.g-hero):not(.gp-hero):not(.p-hero):not(.trust):not(.s-trust):not(.sl-trust):not(.g-strip):not(.proof){
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
}

@media(max-width:560px){
  .nav{
    padding:10px 0 !important;
  }
  .header .sinapi-logo-img{
    width:76px !important;
  }
  .hero,
  .s-hero,
  .sl-hero,
  .g-hero,
  .gp-hero,
  .p-hero{
    padding-top:40px !important;
    padding-bottom:46px !important;
  }
  .brand-side,
  .brand-content{
    padding:28px !important;
  }
}
