.box-wrapper { overflow:clip; }
.site-header { position:relative; z-index:110; background:#291fbc; border-bottom:1px solid #3e45ca; font-family:"DM Sans",sans-serif; box-shadow:0 8px 24px rgba(15,7,134,.12); }
.site-header__inner { max-width:1240px; margin:auto; padding:0 28px; min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:28px; position:relative; }
.site-brand { display:flex; align-items:center; flex:0 0 auto; width:176px; min-height:56px; padding:6px 10px; background:transparent; border-radius:9px; }
.site-brand:hover { background:rgba(255,255,255,.08); }
.site-brand img { display:block; width:100%; height:auto; aspect-ratio:1500 / 485; object-fit:contain; }
.site-navigation { display:flex; align-items:center; gap:28px; }
.site-navigation>a,.site-product-toggle { color:#fff; font:600 14px/1.5 "DM Sans",sans-serif; white-space:nowrap; }
.site-product-toggle { border:0; background:none; padding:14px 0; display:flex; align-items:center; gap:8px; }
.site-navigation a:hover,.site-product-toggle:hover { color:#b7d8ff; }
.site-navigation .site-demo { display:flex; align-items:center; gap:20px; padding:13px 19px; border:1px solid rgba(255,255,255,.2); border-radius:10px; background:linear-gradient(135deg,#9400ff 0%,#7c3aed 100%); color:#fff; box-shadow:0 9px 22px rgba(61,0,116,.3); text-decoration:none; transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.site-navigation .site-demo span { transition:transform .2s ease; }
.site-navigation .site-demo:hover { border-color:#a64cff; background:linear-gradient(135deg,#8300e6 0%,#7500cc 100%); color:#fff; box-shadow:0 13px 28px rgba(71,0,128,.4); text-decoration:none; transform:translateY(-2px); }
.site-navigation .site-demo:hover span { transform:translate(2px,-2px); }
.site-navigation .site-demo:active { background:#6800b8; color:#fff; box-shadow:0 5px 12px rgba(54,0,96,.28); transform:translateY(0); }
.site-navigation .site-demo:focus-visible { border-color:#fff; outline:3px solid #22d3ee; outline-offset:4px; }
.site-products[hidden] { display:none; }
.site-products { position:absolute; top:calc(100% - 1px); left:28px; right:28px; background:#ffffff; border:1px solid #dce3f4; border-radius:0 0 16px 16px; box-shadow:0 24px 48px #0f078620; max-height:calc(100dvh - 112px); overflow:auto; }
.site-products__intro { display:flex; justify-content:space-between; align-items:center; gap:20px; background:#f6f8ff; padding:22px 28px; }
.site-products__intro small { display:block; font-size:10px; letter-spacing:.14em; color:#485974; }
.site-products__intro strong { color:#291fbc; font-size:22px; }
.site-products__intro a { color:#291fbc; font-size:13px; font-weight:700; }
.site-products__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:28px; }
.site-products__group h2 { font:700 13px/1.4 "DM Sans",sans-serif; color:#291fbc; letter-spacing:0; margin:0 0 12px; }
.site-products__group ul { list-style:none; padding:0; margin:0; }
.site-products__group a { display:block; color:#485974; font-size:12px; line-height:1.5; padding:7px 0; }
.site-menu-toggle { display:none; }
.site-skip { position:absolute; top:-80px; left:16px; z-index:1000; padding:12px; background:#fff; }
.site-skip:focus { top:8px; }
.site-header :focus-visible { outline:3px solid #22d3ee; outline-offset:4px; }
@media(max-width:991px) {
 .site-header__inner { flex-wrap:wrap; min-height:74px; padding:16px 20px; gap:0; }
 .site-brand { width:144px; min-height:46px; padding:5px 8px; border-radius:7px; }
 .site-menu-toggle { display:flex; gap:12px; align-items:center; border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,.08); padding:8px 12px; border-radius:8px; color:#fff; font-size:14px; }
 .site-navigation { display:none; width:100%; align-items:stretch; gap:0; padding-top:18px; max-height:calc(100dvh - 90px); overflow:auto; }
 .site-navigation.is-open { display:flex; flex-direction:column; }
 .site-navigation>a,.site-product-toggle { padding:14px 4px; width:100%; text-align:left; }
 .site-product-toggle { justify-content:space-between; }
 .site-products { position:static; max-height:none; border-radius:10px; box-shadow:none; }
 .site-products__grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px; gap:22px 16px; }
 .site-products__intro { padding:16px; align-items:start; flex-direction:column; gap:8px; }
 .site-products__intro strong { font-size:18px; }
 .site-navigation .site-demo { margin:12px 0; justify-content:center; }
}
@media(max-width:380px) { .site-products__grid { grid-template-columns:1fr; } }
