/* Final homepage-specific layout guards. This sheet MUST load after the reference styles. */
html body:has(.ar-hero) { margin:0; overflow-x:clip; }
html body:has(.ar-hero) > .shell { box-sizing:border-box; max-width:none !important; width:100% !important; margin:0 !important; padding:0 0 100px !important; overflow:visible; }
html body:has(.ar-hero) .topbar { box-sizing:border-box; width:100%; max-width:1500px; margin:0 auto; padding:16px clamp(18px,4.5vw,78px); display:flex; align-items:center; gap:clamp(12px,2.4vw,36px); }
html body:has(.ar-hero) .topbar .brand { flex:none; margin-right:auto; }
html body:has(.ar-hero) .topbar .navbtn.primary { margin-left:auto; }
html body:has(.ar-hero) .ar-hero { box-sizing:border-box; display:block; position:relative; width:100% !important; max-width:none !important; margin:0 !important; padding:46px clamp(18px,4.5vw,78px) 65px; border-radius:0; overflow:hidden; text-align:left; min-height:580px; }
html body:has(.ar-hero) .ar-hero-inner { box-sizing:border-box; width:100%; max-width:1430px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:clamp(28px,4vw,70px); align-items:center; min-height:470px; }
html body:has(.ar-hero) .ar-hero-copy { box-sizing:border-box; width:100%; max-width:none; min-width:0; }
html body:has(.ar-hero) .ar-heading { max-width:750px; font-size:clamp(42px,3.65vw,65px); line-height:1.07; overflow-wrap:normal; }
html body:has(.ar-hero) .ar-lead { max-width:630px; font-size:clamp(14px,1.1vw,18px); line-height:1.52; }
html body:has(.ar-hero) .ar-actions { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:12px; margin:20px 0 15px; }
html body:has(.ar-hero) .ar-pricing { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
html body:has(.ar-hero) .ar-benefits { box-sizing:border-box; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; width:100%; max-width:745px; gap:14px; margin:28px 0 0; align-items:start; }
html body:has(.ar-hero) .ar-benefit { box-sizing:border-box; display:flex !important; align-items:center; min-width:0; gap:10px; text-align:left !important; white-space:normal !important; }
html body:has(.ar-hero) .ar-benefit svg { box-sizing:border-box; width:39px; height:39px; flex:0 0 39px; padding:8px; }
html body:has(.ar-hero) .ar-benefit > span { display:flex !important; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; flex:1; }
html body:has(.ar-hero) .ar-benefit b,html body:has(.ar-hero) .ar-benefit small { display:block; max-width:100%; width:auto; margin:0; line-height:1.32; white-space:normal; overflow-wrap:normal; }
html body:has(.ar-hero) .ar-benefit b { font-size:12px; }
html body:has(.ar-hero) .ar-benefit small { font-size:10px; }
html body:has(.ar-hero) .ar-visual { box-sizing:border-box; position:relative; width:100%; height:480px; min-width:0; overflow:visible; }
html body:has(.ar-hero) .ar-visual .ar-float { box-sizing:border-box; position:absolute; display:flex; flex-direction:column; align-items:center; width:94px; max-width:94px; gap:6px; transform:none !important; animation:none !important; text-align:center; white-space:normal; line-height:1.15; }
html body:has(.ar-hero) .ar-visual .ar-float > span:last-child { display:block; width:100%; max-width:100%; text-align:center; font-size:11px; line-height:1.18; overflow-wrap:normal; white-space:normal; }
html body:has(.ar-hero) .ar-visual .ar-float-icon { flex:none; }
html body:has(.ar-hero) .ar-visual [data-app-icon="sber"] { left:6%; right:auto; top:7%; }
html body:has(.ar-hero) .ar-visual [data-app-icon="max"] { left:0; right:auto; top:40%; }
html body:has(.ar-hero) .ar-visual [data-app-icon="vk"] { left:6%; right:auto; top:73%; }
html body:has(.ar-hero) .ar-visual [data-app-icon="tbank"] { left:auto; right:4%; top:7%; }
html body:has(.ar-hero) .ar-visual [data-app-icon="psb"] { left:auto; right:0; top:40%; }
html body:has(.ar-hero) .ar-visual [data-app-icon="alfa"] { left:auto; right:4%; top:73%; }
html body:has(.ar-hero) .ar-catalog-toolbar,html body:has(.ar-hero) #apps,html body:has(.ar-hero) #empty,html body:has(.ar-hero) .info-section,html body:has(.ar-hero) .final-cta,html body:has(.ar-hero) .social-section { box-sizing:border-box; width:calc(100% - 2 * clamp(18px,4.5vw,78px)); max-width:1430px; margin-left:auto; margin-right:auto; }
@media (min-width:1350px) { html body:has(.ar-hero) #apps.grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
/* The empty checkout bar should not obscure the catalog at the first visit. */
html body:has(.ar-hero):has(#checkout:disabled) .cart { visibility:hidden; pointer-events:none; }
@media (max-width:1109px) { html body:has(.ar-hero) .ar-visual .ar-float-desktop { display:none; } }
@media (min-width:680px) and (max-width:1000px) { html body:has(.ar-hero) .ar-hero { padding:28px 20px 45px; min-height:0; } html body:has(.ar-hero) .ar-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); min-height:0; gap:20px; } html body:has(.ar-hero) .ar-visual { position:relative; inset:auto; height:350px; width:100%; } html body:has(.ar-hero) .ar-heading { max-width:none; font-size:clamp(32px,4.3vw,46px); } html body:has(.ar-hero) .ar-lead { max-width:none; } html body:has(.ar-hero) .ar-benefits { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:8px; margin-top:15px; } html body:has(.ar-hero) .ar-benefit { gap:5px; } html body:has(.ar-hero) .ar-benefit svg { width:29px;height:29px;flex-basis:29px;padding:5px; } html body:has(.ar-hero) .ar-benefit b { font-size:10px; } html body:has(.ar-hero) .ar-benefit small { font-size:8px; } }
@media (max-width:679px) {
 html body:has(.ar-hero) .topbar { padding:11px 15px 14px; }
 html body:has(.ar-hero) .ar-hero { padding:22px 15px 39px; min-height:0; }
 html body:has(.ar-hero) .ar-hero-inner { display:grid !important; grid-template-columns:minmax(0,.51fr) minmax(0,.49fr) !important; grid-template-areas:"eyebrow eyebrow" "intro visual" "actions actions" "pricing pricing" "benefits benefits"; align-items:start; min-height:0; gap:11px 4px; }
 html body:has(.ar-hero) .ar-hero-copy { display:contents; }
 html body:has(.ar-hero) .ar-eyebrow { grid-area:eyebrow; margin:0 0 2px; justify-self:start; }
 html body:has(.ar-hero) .ar-intro { grid-area:intro; min-width:0; }
 html body:has(.ar-hero) .ar-heading { max-width:100%; width:100%; margin:8px 0 12px; font-size:clamp(25px,7vw,34px); line-height:1.07; overflow-wrap:normal; }
 html body:has(.ar-hero) .ar-lead { max-width:100%; width:100%; margin:0; font-size:clamp(10.5px,2.8vw,12.5px); line-height:1.42; }
 html body:has(.ar-hero) .ar-visual { grid-area:visual; position:relative; inset:auto; height:283px; width:100%; min-width:0; overflow:visible; }
 html body:has(.ar-hero) .ar-device.has-art { width:min(160px,91%); height:272px; left:50%; top:0; transform:translateX(-50%); }
 html body:has(.ar-hero) .ar-visual .ar-float { width:53px; max-width:53px; gap:3px; font-size:8px; }
 html body:has(.ar-hero) .ar-visual .ar-float > span:last-child { font-size:8px; line-height:1.1; }
 html body:has(.ar-hero) .ar-visual .ar-float-icon { width:36px;height:36px; }
 html body:has(.ar-hero) .ar-visual [data-app-icon="sber"] { left:-1px;right:auto;top:20px; }
 html body:has(.ar-hero) .ar-visual [data-app-icon="max"] { left:-1px;right:auto;top:170px; }
 html body:has(.ar-hero) .ar-visual [data-app-icon="vk"] { left:auto;right:-2px;top:70px; }
 html body:has(.ar-hero) .ar-visual [data-app-icon="tbank"] { left:auto;right:-2px;top:190px; }
 html body:has(.ar-hero) .ar-visual .ar-float-desktop { display:none; }
 html body:has(.ar-hero) .ar-actions { grid-area:actions; display:grid !important; grid-template-columns:1fr; width:100%; margin:0; gap:9px; clear:none; position:relative; z-index:4; }
 html body:has(.ar-hero) .ar-primary,html body:has(.ar-hero) .ar-secondary { display:flex; width:100%; min-height:47px; }
 html body:has(.ar-hero) .ar-pricing { grid-area:pricing; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; margin:0; gap:7px; }
 html body:has(.ar-hero) .ar-pricing > span { white-space:normal; padding:9px 5px; font-size:11px; text-align:center; }
 html body:has(.ar-hero) .ar-benefits { grid-area:benefits; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:6px; margin:4px 0 0; }
 html body:has(.ar-hero) .ar-benefit { gap:5px; }
 html body:has(.ar-hero) .ar-benefit svg { width:28px;height:28px;flex-basis:28px;padding:5px; }
 html body:has(.ar-hero) .ar-benefit b { font-size:9px; }
 html body:has(.ar-hero) .ar-benefit small { font-size:8px; }
 html body:has(.ar-hero) .ar-catalog-toolbar,html body:has(.ar-hero) #apps,html body:has(.ar-hero) #empty,html body:has(.ar-hero) .info-section,html body:has(.ar-hero) .final-cta,html body:has(.ar-hero) .social-section { width:calc(100% - 30px); }
}
@media (max-width:360px) { html body:has(.ar-hero) .ar-visual {height:270px;} html body:has(.ar-hero) .ar-device.has-art {width:min(146px,94%);height:265px;} html body:has(.ar-hero) .ar-visual [data-app-icon="max"] {top:160px;} html body:has(.ar-hero) .ar-visual [data-app-icon="tbank"] {top:180px;} }
