:root{--bg:#050b13;--bg2:#0a1521;--card:#0b1825;--line:#17304a;--text:#f3f7fc;--muted:#8ea8c4;--blue:#1d61e0;--blue2:#2b8dff;--cyan:#47cfff;--header:92px;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top,#0a1624 0,#050b13 34%);color:var(--text);font:16px/1.58 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}img,video{max-width:100%}
.header{height:var(--header);position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,4vw);background:rgba(5,11,19,.88);border-bottom:1px solid rgba(255,255,255,.05);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;min-width:0}.brand img{display:block;height:56px;width:auto;max-width:min(340px,40vw);object-fit:contain;filter:drop-shadow(0 10px 24px rgba(29,97,224,.08))}
.nav{display:flex;gap:30px;color:#d0d9e4;font-weight:500}.nav a{position:relative;padding:8px 0}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--blue2);transform:scaleX(0);transform-origin:left;transition:.25s}.nav a:hover{color:#fff}.nav a:hover:after{transform:scaleX(1)}.menu-toggle{display:none;background:none;border:0;color:white;font-size:28px}
.hero{min-height:calc(100vh - var(--header));display:grid;grid-template-columns:minmax(380px,45%) 1fr;gap:34px;align-items:center;padding:30px max(24px,4vw) 34px}.hero-copy{max-width:700px}.eyebrow{display:block;color:#53a0ff;font-size:12px;font-weight:800;letter-spacing:.19em;margin-bottom:18px}.hero h1,.section h2{font-weight:500;line-height:.98;letter-spacing:-.045em;margin:0;text-transform:uppercase}.hero h1{font-size:clamp(48px,5.4vw,92px)}.hero-copy>p{color:var(--muted);font-size:21px;max-width:640px;margin:26px 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:58px;padding:0 28px;border:1px solid var(--blue);font-weight:800;border-radius:999px;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.primary{background:linear-gradient(135deg,var(--blue),#3f86ff);box-shadow:0 18px 36px rgba(29,97,224,.24)}.secondary{color:#b7d3ff;background:rgba(9,20,34,.45)}.checks{display:flex;gap:26px;flex-wrap:wrap;margin-top:42px;color:#9ab0c7;font-size:14px}.checks span{position:relative;padding-left:18px}.checks span:before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:#3ba0ff;box-shadow:0 0 0 4px rgba(59,160,255,.12)}
.hero-stage{position:relative;min-height:670px;border:1px solid rgba(83,160,255,.18);border-radius:34px;background:linear-gradient(145deg,#071321 0,#0b1724 58%,#09121d 100%);overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(83,160,255,.07) 1px, transparent 1px),linear-gradient(90deg, rgba(83,160,255,.07) 1px, transparent 1px);background-size:56px 56px;mask-image:radial-gradient(circle at 55% 42%,rgba(0,0,0,1),rgba(0,0,0,.75) 44%,rgba(0,0,0,.18) 88%)}.stage-glow{position:absolute;inset:-10% -20% 32% 30%;background:radial-gradient(circle at center,rgba(47,137,255,.17),transparent 55%)}
.hero-screen{position:absolute;left:7%;top:8%;width:66%;background:#eef2f6;border-radius:24px;overflow:hidden;transform:rotate(-5deg);border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 70px rgba(0,0,0,.28)}.screen-bar{display:flex;align-items:center;gap:7px;height:38px;padding:0 14px;background:#d6dce2;color:#253241;font-size:13px}.screen-bar .dot{width:8px;height:8px;border-radius:50%;background:#8aa2ba}.screen-bar b{margin-left:6px;font-weight:700}.hero-screen video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#d0d4d8}
.hero-concrete{position:absolute;right:-2%;bottom:2%;width:58%;max-width:520px;filter:drop-shadow(0 26px 34px rgba(0,0,0,.38))}.hero-concrete .ring,.hero-concrete .top-base,.hero-concrete .top-trace,.hero-concrete .top-pulse{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:16}.hero-concrete .ring{stroke:url(#wallGrad);opacity:.98}.hero-concrete .ring.dark{stroke:url(#wallGrad2)}.hero-concrete .top-base{stroke:url(#highlightGrad);opacity:.55}.hero-concrete .top-trace{stroke:#d7dde1;stroke-dasharray:140 520;animation:traceMove 6.5s linear infinite}.hero-concrete .top-pulse{stroke:#ffffff;stroke-width:18;filter:blur(8px);opacity:.34;stroke-dasharray:100 560;animation:traceMove 6.5s linear infinite}.hero-concrete svg{display:block;width:100%;height:auto}.hero-metric{position:absolute;padding:14px 16px;border-radius:18px;background:rgba(11,24,37,.84);border:1px solid rgba(83,160,255,.18);backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(0,0,0,.24)}.hero-metric strong{display:block;font-size:22px;color:#dff0ff}.hero-metric span{display:block;color:#9eb6cc;font-size:13px;line-height:1.35;margin-top:4px}.metric-a{right:34px;top:34px}.metric-a strong{font-size:34px;color:#53a0ff}.metric-b{left:30px;bottom:34px;max-width:220px}.metric-c{right:38px;bottom:138px;max-width:220px}
.stats{max-width:1480px;margin:0 auto 86px;display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(180deg,rgba(11,24,37,.98),rgba(8,18,29,.92));border:1px solid rgba(255,255,255,.06);border-radius:28px;overflow:hidden}.stats div{padding:34px 42px;border-right:1px solid rgba(255,255,255,.06);display:flex;gap:24px;align-items:center}.stats div:last-child{border-right:0}.stats strong{color:#53a0ff;font-size:44px;line-height:1}.stats span{color:#a1b8d0}
.section{padding:115px max(5vw,24px);scroll-margin-top:var(--header)}.section.alt{background:linear-gradient(180deg,rgba(8,18,29,.85),rgba(8,18,29,.4))}.section-head{max-width:1100px;margin:0 auto 60px}.section h2{font-size:clamp(40px,5vw,74px)}.section-head p{color:var(--muted);font-size:19px}
.feature-grid,.license-grid{max-width:1480px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card{background:linear-gradient(180deg,rgba(11,24,37,.96),rgba(10,24,35,.82));border:1px solid rgba(255,255,255,.06);padding:38px 30px;min-height:290px;border-radius:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.card b,.card span{color:#53a0ff;font-size:13px;letter-spacing:.08em}.card h3{font-size:25px;margin:55px 0 8px}.card p{color:var(--muted)}
.gallery{max-width:1480px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.shot{margin:0;background:linear-gradient(180deg,rgba(11,24,37,.96),rgba(10,24,35,.82));border:1px solid rgba(255,255,255,.06);border-radius:26px;cursor:zoom-in;overflow:hidden}.shot img{display:block;width:100%;aspect-ratio:16/8.7;object-fit:cover;transition:.4s}.shot:hover img{transform:scale(1.02)}figcaption{padding:24px 28px;display:grid;gap:5px}figcaption b{font-size:23px}figcaption span{color:var(--muted)}
.video-grid{max-width:1480px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.video-card{padding:32px;border-radius:26px;background:linear-gradient(180deg,rgba(11,24,37,.96),rgba(10,24,35,.82));border:1px solid rgba(255,255,255,.06)}.video-card h3{font-size:28px;margin:0}.video-card p{color:var(--muted)}video{width:100%;background:#02070d;margin-top:18px;border-radius:16px}
.audience-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.audience-grid .card h3{margin:25px 0 10px;font-size:32px}
.compare{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.compare-col{padding:40px;border-radius:24px;background:linear-gradient(180deg,rgba(11,24,37,.96),rgba(10,24,35,.82));border:1px solid rgba(255,255,255,.06)}.compare-col h3{font-size:30px}.compare-col p{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--muted)}.compare-col.active{border-color:rgba(43,141,255,.6);box-shadow:0 0 0 1px rgba(43,141,255,.25),0 18px 50px rgba(29,97,224,.12)}.compare-col.active p{color:#dfeeff}
.steps{max-width:1480px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps>div{padding:28px 28px 18px;border-radius:24px;background:linear-gradient(180deg,rgba(11,24,37,.96),rgba(10,24,35,.82));border:1px solid rgba(255,255,255,.06)}.steps b{color:#53a0ff}.steps h3{font-size:22px;margin-top:26px}.steps p{color:var(--muted)}
.license-grid{grid-template-columns:repeat(3,1fr)}.license-grid .featured{border:1px solid rgba(43,141,255,.7);box-shadow:0 0 0 1px rgba(43,141,255,.2),0 18px 48px rgba(29,97,224,.12)}.license-grid .card h3{margin:34px 0 15px;font-size:34px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1480px;margin:auto}.contact-copy h2{font-size:clamp(42px,5vw,75px)}.contact-copy p{color:var(--muted);font-size:20px}.contact-links{margin-top:50px;display:grid}.contact-links a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);font-weight:800}.contact-form{background:linear-gradient(180deg,rgba(11,24,37,.98),rgba(10,24,35,.88));padding:36px;border-radius:26px;border:1px solid rgba(255,255,255,.06)}label{display:grid;gap:8px;margin-bottom:18px}input,textarea{width:100%;background:#06111e;border:1px solid rgba(255,255,255,.08);color:white;padding:16px;font:inherit;border-radius:16px}textarea{min-height:120px;resize:vertical}.contact-form .btn{width:100%;border:0}.contact-form small{display:block;color:#7088a1;margin-top:14px}
footer{padding:38px max(24px,4vw);border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;color:#8fa9c5;gap:18px}footer img{height:56px;width:auto;display:block}
.assistant-button{position:fixed;right:24px;bottom:22px;z-index:70;border:1px solid #0f8db9;background:linear-gradient(135deg,#081a2a,#0b2236);color:white;border-radius:40px;padding:10px 16px 10px 10px;display:flex;align-items:center;gap:12px;font-weight:800;cursor:pointer;overflow:visible;transition:transform .2s,box-shadow .2s,border-color .2s}.assistant-button:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(16,199,255,.16);border-color:#53a0ff}.assistant-pulse{position:absolute;inset:-4px;border-radius:42px;border:1px solid rgba(71,207,255,.25);animation:pulseBorder 2.8s ease-out infinite}.assistant-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#143b5f 0,#0b2032 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 8px 24px rgba(7,18,31,.45)}.assistant-icon.large{width:56px;height:56px}.assistant-icon img{width:82%;height:82%;display:block;animation:floatMascot 4s ease-in-out infinite}.assistant-label{display:grid;line-height:1.05;text-align:left}.assistant-label small{font-size:11px;color:#87b9da;font-weight:500;margin-top:2px}
.assistant-tip{position:fixed;right:24px;bottom:102px;z-index:72;width:min(330px,calc(100vw - 34px));padding:16px 42px 16px 17px;background:#10253a;border:1px solid #087fa7;border-radius:16px;color:#eaf6ff;box-shadow:0 18px 55px rgba(0,0,0,.4);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s}.assistant-tip.show{opacity:1;transform:none;pointer-events:auto}.assistant-tip:after{content:"";position:absolute;right:35px;bottom:-8px;width:14px;height:14px;background:#10253a;border-right:1px solid #087fa7;border-bottom:1px solid #087fa7;transform:rotate(45deg)}.assistant-tip button{position:absolute;right:9px;top:7px;border:0;background:none;color:#8fa9c5;font-size:20px;cursor:pointer}.assistant-tip span{font-size:14px;line-height:1.45}
.assistant-panel{position:fixed;right:24px;bottom:92px;width:min(400px,calc(100vw - 30px));height:min(680px,calc(100vh - 120px));z-index:75;background:#071522;border:1px solid #087fa7;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 80px #000;transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s}.assistant-panel.open{transform:none;opacity:1;pointer-events:auto}.assistant-head{padding:14px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0a1c2e,#071522)}.assistant-head>div{display:flex;align-items:center;gap:10px}.assistant-head>div>span:last-child{display:grid;line-height:1.15}.assistant-head small{color:#7fa3c2;font-size:11px;font-weight:400;margin-top:4px}.assistant-head button,.lightbox button{background:none;border:0;color:white;font-size:28px;cursor:pointer}.assistant-body{padding:16px;overflow:auto;flex:1;background:radial-gradient(circle at top right,rgba(16,199,255,.06),transparent 42%)}.bot-msg,.user-msg,.typing{padding:12px 14px;margin:8px 0;max-width:86%;border-radius:12px}.bot-msg{background:#10253a}.bot-msg.intro{font-size:14px}.bot-msg b{font-size:15px}.user-msg{background:var(--blue);margin-left:auto}.typing{background:#0c2234;display:flex;gap:5px;align-items:center;width:max-content}.typing span{width:7px;height:7px;border-radius:50%;background:#7ebfff;animation:typingDots 1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.assistant-suggestions{display:grid;gap:7px;margin:13px 0}.assistant-suggestions button{padding:10px 12px;text-align:left;border:1px solid #164967;border-radius:9px;background:#0b2236;color:#cfeaff;cursor:pointer;transition:.2s}.assistant-suggestions button:hover{border-color:#53a0ff;transform:translateX(2px)}.assistant-search{position:relative;padding:8px 12px 3px;border-top:1px solid rgba(255,255,255,.06)}.assistant-search>span{position:absolute;left:27px;top:22px;color:#6d8aa5}.assistant-search input{padding-left:36px;border-radius:9px}.assistant-search #searchResults{position:absolute;left:12px;right:12px;bottom:58px;background:#071522;border:1px solid #164967;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:none;overflow:hidden;z-index:2}.assistant-search #searchResults.open{display:block}.assistant-search #searchResults button{display:block;width:100%;padding:11px 13px;text-align:left;background:none;color:#d9edff;border:0;border-bottom:1px solid #112c41;cursor:pointer}.assistant-search #searchResults button:hover{background:#0d2940}.assistant-search #searchResults small{display:block;color:#7392ad;margin-top:2px}.quick{padding:5px 12px 8px;display:flex;gap:6px;flex-wrap:wrap}.quick button{background:#0b2236;color:#a8d9ff;border:1px solid #164967;padding:7px 10px;cursor:pointer;border-radius:20px}.assistant-panel form{display:flex;padding:12px;border-top:1px solid rgba(255,255,255,.06)}.assistant-panel form input{flex:1;border-radius:9px 0 0 9px}.assistant-panel form button{width:48px;background:var(--blue);color:white;border:0;border-radius:0 9px 9px 0;font-size:20px;cursor:pointer}.assistant-link{display:inline-block;color:#47cfff;margin:4px 14px 10px;padding-bottom:2px;border-bottom:1px solid rgba(71,207,255,.3)}
.lightbox{position:fixed;z-index:100;inset:0;background:rgba(0,4,9,.93);display:grid;place-items:center;padding:5vw;opacity:0;pointer-events:none}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:95vw;max-height:82vh}.lightbox h3{position:absolute;top:20px;left:5vw}.lightbox button{position:absolute;right:4vw;top:20px}.reveal{opacity:0;transform:translateY(28px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@keyframes traceMove{0%{stroke-dashoffset:0}100%{stroke-dashoffset:-660}}@keyframes floatMascot{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulseBorder{0%{opacity:.8;transform:scale(1)}70%{opacity:0;transform:scale(1.06)}100%{opacity:0;transform:scale(1.06)}}@keyframes typingDots{0%,80%,100%{transform:scale(.6);opacity:.45}40%{transform:scale(1);opacity:1}}
@media(max-width:1080px){.hero{grid-template-columns:1fr;gap:22px}.hero-stage{min-height:560px}.nav{position:absolute;top:92px;left:0;right:0;background:#06111d;display:none;flex-direction:column;padding:25px}.nav.open{display:flex}.menu-toggle{display:block}.feature-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.compare{grid-template-columns:1fr}.brand img{max-width:300px;height:52px}.hero h1{max-width:820px}.hero-screen{width:72%}.hero-concrete{width:62%}}
@media(max-width:760px){:root{--header:76px}.header{padding:0 20px}.brand img{height:46px;max-width:250px}.nav{top:76px}.hero{padding:16px 20px 30px}.hero-copy>p{font-size:18px}.hero h1{font-size:42px}.hero-stage{min-height:430px;border-radius:26px}.hero-screen{left:6%;top:10%;width:80%;border-radius:18px}.hero-concrete{right:-14%;bottom:6%;width:86%}.hero-metric{padding:10px 12px;border-radius:14px}.metric-a{right:14px;top:14px}.metric-a strong{font-size:24px}.metric-b{left:12px;bottom:14px;max-width:180px}.metric-c{display:none}.stats,.gallery,.video-grid,.audience-grid,.feature-grid,.license-grid{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}.stats div:last-child{border-bottom:0}.section{padding:75px 20px}.section h2{font-size:40px}.steps{grid-template-columns:1fr}.assistant-label{display:none}.assistant-button{padding:8px}.assistant-button .assistant-icon{width:42px;height:42px}.assistant-panel{right:15px;bottom:82px;height:calc(100vh - 100px);top:15px;bottom:auto}.assistant-tip{right:15px;bottom:92px}.checks{gap:12px}footer{flex-direction:column;gap:14px;text-align:center}.contact{gap:28px}.card,.video-card,.contact-form,.compare-col,.steps>div{padding:26px}.feature-grid,.license-grid,.gallery,.video-grid,.audience-grid,.compare,.steps{gap:16px}}

/* v10 assistant upgrade */
.assistant-dock{position:fixed;left:calc(100vw - 270px);top:calc(100vh - 110px);z-index:80;width:220px;height:74px;pointer-events:none}
.assistant-dock .assistant-button,.assistant-dock .assistant-panel,.assistant-dock .assistant-tip{pointer-events:auto}
.assistant-dock .assistant-button{position:absolute;left:0;top:0;right:auto;bottom:auto;z-index:2;cursor:grab;touch-action:none;user-select:none}
.assistant-dock.dragging .assistant-button,.assistant-dock.dragging .assistant-head{cursor:grabbing}
.assistant-dock .assistant-tip{position:absolute;right:0;bottom:84px;width:min(330px,calc(100vw - 34px));z-index:4}
.assistant-dock .assistant-panel{position:absolute;right:0;bottom:86px;width:min(410px,calc(100vw - 30px));height:min(690px,calc(100vh - 120px));max-height:calc(100vh - 30px);z-index:5}
.assistant-dock .assistant-head{cursor:grab;user-select:none}
.assistant-dock .assistant-button .assistant-icon img,.assistant-dock .assistant-panel .assistant-icon img{filter:drop-shadow(0 0 12px rgba(53,182,255,.16))}
.assistant-dock .assistant-button.walking{animation:walkBob 1.6s ease-in-out infinite}
.assistant-dock .assistant-button.walking .assistant-icon img{animation:floatMascot 2.4s ease-in-out infinite,blinkMascot 6s step-end infinite}
.assistant-dock .assistant-label b{letter-spacing:.01em}
.assistant-dock .assistant-label small{color:#9fdcff}
.assistant-dock .assistant-body{scroll-behavior:smooth}
.assistant-dock .assistant-panel .assistant-suggestions button,.assistant-dock .quick button,.assistant-dock #searchResults button{font:inherit}
.bot-msg ul{margin:.45rem 0 .15rem 1rem;padding:0}.bot-msg li{margin:.2rem 0}.bot-msg code{background:rgba(255,255,255,.06);padding:.1rem .3rem;border-radius:6px}.assistant-link-row{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 10px 0}.assistant-link{margin:0 0 4px 0;padding:10px 12px;border:1px solid rgba(71,207,255,.26);border-radius:10px;background:#0c2234}.assistant-link:hover{border-color:#53a0ff;background:#12304a}
.assistant-panel .note{color:#86a7c7;font-size:12px;margin-top:6px;display:block}
.assistant-panel .assistant-head b{display:block}.assistant-panel .assistant-head small{max-width:210px}
@keyframes walkBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes blinkMascot{0%,93%,100%{opacity:1}94%,96%{opacity:.75}}
@media(max-width:760px){
  .assistant-dock{left:calc(100vw - 86px)!important;top:calc(100vh - 92px)!important;width:56px;height:56px}
  .assistant-dock .assistant-panel{right:-2px;width:min(390px,calc(100vw - 16px));height:min(640px,calc(100vh - 20px));bottom:70px}
  .assistant-dock .assistant-tip{right:0;bottom:70px}
}

/* v11 animated assistant */
.assistant-dock{position:fixed;left:calc(100vw - 150px);top:calc(100vh - 150px);z-index:95;width:132px;height:132px;pointer-events:none}
.assistant-dock *{box-sizing:border-box}
.assistant-dock .assistant-tip,.assistant-dock .assistant-mascot,.assistant-dock .assistant-panel{pointer-events:auto}
.assistant-mascot{position:absolute;inset:0;border:0;background:transparent;padding:0;cursor:grab;touch-action:none;user-select:none}
.assistant-dock.dragging .assistant-mascot,.assistant-dock.dragging .assistant-head{cursor:grabbing}
.assistant-shadow{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:86px;height:18px;border-radius:50%;background:radial-gradient(circle at center,rgba(15,63,103,.45),rgba(15,63,103,0));filter:blur(4px);animation:shadowPulse 2.4s ease-in-out infinite}
.assistant-core{position:absolute;left:22px;top:18px;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(88,193,255,.42),rgba(6,27,47,.98) 70%);border:1px solid rgba(66,195,255,.5);box-shadow:0 12px 30px rgba(2,16,35,.42),inset 0 0 18px rgba(91,197,255,.25);animation:mascotFloat 3s ease-in-out infinite}
.assistant-core::before{content:'';position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(148,226,255,.2);box-shadow:inset 0 0 14px rgba(60,177,255,.16)}
.assistant-core img{width:58px;height:58px;display:block;animation:mascotBob 2.8s ease-in-out infinite}
.assistant-orbit{position:absolute;border-radius:999px;border:1px solid rgba(86,205,255,.26);animation:orbitSpin 7s linear infinite}
.assistant-orbit.orbit-a{left:12px;top:10px;width:106px;height:106px;border-top-color:rgba(137,230,255,.85);border-right-color:transparent;border-bottom-color:transparent;transform-origin:center}
.assistant-orbit.orbit-b{left:6px;top:4px;width:118px;height:118px;border-left-color:rgba(72,146,255,.68);border-top-color:transparent;border-right-color:transparent;animation-direction:reverse;animation-duration:9s}
.assistant-orbit::after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#6ad5ff;box-shadow:0 0 10px rgba(106,213,255,.8)}
.assistant-orbit.orbit-a::after{top:5px;left:56px}.assistant-orbit.orbit-b::after{bottom:10px;right:16px}
.assistant-badge{position:absolute;left:82px;top:-4px;min-width:210px;max-width:260px;padding:12px 14px;border-radius:16px 16px 16px 6px;background:linear-gradient(180deg,rgba(12,36,60,.98),rgba(7,23,40,.98));border:1px solid rgba(76,197,255,.3);box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:13px;line-height:1.25;color:#eff8ff;text-align:left;opacity:1;transform-origin:left bottom;transition:.25s ease}
.assistant-badge::before{content:'';position:absolute;left:10px;bottom:-8px;border:8px solid transparent;border-top-color:rgba(7,23,40,.98);border-left-color:rgba(7,23,40,.98)}
.assistant-drag-note{position:absolute;left:26px;bottom:-2px;padding:4px 8px;border-radius:999px;background:rgba(7,23,40,.92);border:1px solid rgba(70,189,255,.22);color:#86c7f8;font-size:11px;white-space:nowrap;opacity:.92}
.assistant-mascot:hover .assistant-badge{transform:translateY(-2px) scale(1.01)}
.assistant-dock.walking .assistant-badge{animation:badgeBob 3s ease-in-out infinite}
.assistant-dock .assistant-tip{position:absolute;left:-170px;top:-10px;width:min(320px,calc(100vw - 24px));z-index:4}
.assistant-panel{position:absolute;left:-285px;bottom:124px;width:min(420px,calc(100vw - 20px));height:min(720px,calc(100vh - 40px));display:none;flex-direction:column;overflow:hidden;border-radius:22px;border:1px solid rgba(80,194,255,.22);background:linear-gradient(180deg,rgba(6,18,31,.98),rgba(4,12,21,.98));box-shadow:0 20px 60px rgba(0,0,0,.4);backdrop-filter:blur(16px)}
.assistant-panel.open{display:flex}
.assistant-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.06);cursor:grab;background:linear-gradient(180deg,rgba(10,28,46,.95),rgba(8,20,35,.88))}
.assistant-head>div{display:flex;align-items:center;gap:12px}.assistant-head b{display:block;font-size:16px;color:#fff}.assistant-head small{color:#9fdcff;max-width:220px;display:block;line-height:1.25}.assistant-head button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#0e2236;color:#fff;font-size:20px;line-height:1;cursor:pointer}
.assistant-context{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(10,31,52,.88),rgba(8,22,37,.6))}.assistant-context b{display:block;color:#fff;font-size:13px;margin-bottom:4px}.assistant-context span{display:block;color:#aad6ff;font-size:13px;line-height:1.35}.assistant-context-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.assistant-context-actions button{padding:8px 10px;border-radius:10px;border:1px solid rgba(76,197,255,.24);background:#102538;color:#dff3ff;font-size:12px;cursor:pointer}.assistant-context-actions button:hover{background:#14324c;border-color:#56c7ff}
.assistant-body{flex:1;overflow:auto;padding:14px 16px 10px}.assistant-body .intro{background:rgba(12,33,54,.72)}
.bot-msg,.user-msg{padding:12px 14px;border-radius:14px;margin:0 0 10px;line-height:1.42;font-size:14px}.bot-msg{background:rgba(12,33,54,.74);border:1px solid rgba(79,200,255,.14);color:#edf7ff}.user-msg{background:rgba(59,130,246,.18);border:1px solid rgba(83,160,255,.25);color:#fff;margin-left:36px}
.bot-msg ul{margin:.45rem 0 .15rem 1rem;padding:0}.bot-msg li{margin:.18rem 0}.bot-msg code{background:rgba(255,255,255,.07);padding:.08rem .3rem;border-radius:6px;color:#c8f0ff}
.typing{display:flex;gap:6px;align-items:center;padding:12px 0 16px 4px}.typing span{width:8px;height:8px;border-radius:50%;background:#5dc3ff;display:block;animation:typingDots 1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
.assistant-suggestions,.assistant-link-row,.quick,.assistant-faq-list{display:flex;flex-wrap:wrap;gap:8px}.assistant-suggestions{margin-top:10px}.assistant-suggestions button,.quick button,.assistant-faq-list button{padding:8px 11px;border-radius:10px;border:1px solid rgba(76,197,255,.24);background:#0d2235;color:#e6f5ff;font-size:12px;cursor:pointer}.assistant-suggestions button:hover,.quick button:hover,.assistant-faq-list button:hover{background:#14314a;border-color:#57cbff}
.assistant-link{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:10px;border:1px solid rgba(76,197,255,.26);background:#0d2235;color:#e8f7ff;text-decoration:none;font-size:13px}.assistant-link:hover{background:#16334d;border-color:#56c7ff}
.assistant-faq{padding:12px 16px;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);background:rgba(7,20,34,.72)}.assistant-faq-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.assistant-faq-head b{font-size:13px;color:#fff;letter-spacing:.02em}.assistant-faq-head button{border:1px solid rgba(255,255,255,.08);background:#102438;color:#c6e8ff;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}.assistant-faq.collapsed .assistant-faq-list{display:none}
.assistant-search{position:relative;display:flex;align-items:center;gap:8px;padding:12px 16px}.assistant-search>span{color:#81cfff}.assistant-search input{flex:1;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:#0b1c2d;color:#fff;padding:0 12px;font-size:14px}.assistant-search input::placeholder{color:#8eb4d4}
#searchResults{position:absolute;left:16px;right:16px;top:56px;display:none;flex-direction:column;gap:8px;padding:10px;border-radius:14px;border:1px solid rgba(76,197,255,.16);background:#071523;box-shadow:0 20px 40px rgba(0,0,0,.35);z-index:4}#searchResults.open{display:flex}#searchResults button{text-align:left;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#0e2235;color:#eff8ff;cursor:pointer}#searchResults button small{display:block;color:#8fb4d3;margin-top:3px}
.quick{padding:0 16px 12px}#chatForm{display:flex;gap:8px;padding:0 16px 16px}#chatForm input{flex:1;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0b1c2d;color:#fff;padding:0 14px;font-size:14px}#chatForm button{width:44px;height:44px;border:none;border-radius:12px;background:linear-gradient(135deg,#2f89ff,#38bcff);color:white;font-size:20px;cursor:pointer}
.assistant-icon.large{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(88,193,255,.4),rgba(6,27,47,.98) 72%);border:1px solid rgba(66,195,255,.38)}.assistant-icon.large img{width:28px;height:28px}
.note{color:#8db8d9;font-size:12px;display:block;margin-top:8px}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes mascotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes mascotBob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.03)}}
@keyframes shadowPulse{0%,100%{transform:translateX(-50%) scale(.92);opacity:.6}50%{transform:translateX(-50%) scale(1.02);opacity:1}}
@keyframes badgeBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes typingDots{0%,80%,100%{transform:scale(.7);opacity:.5}40%{transform:scale(1.05);opacity:1}}
@media(max-width:860px){
  .assistant-dock{left:calc(100vw - 118px)!important;top:calc(100vh - 126px)!important;width:104px;height:104px}
  .assistant-core{left:12px;top:12px;width:78px;height:78px}.assistant-core img{width:48px;height:48px}.assistant-orbit.orbit-a{left:4px;top:4px;width:92px;height:92px}.assistant-orbit.orbit-b{left:0;top:0;width:100px;height:100px}
  .assistant-badge{left:-170px;top:-64px;min-width:210px;max-width:min(260px,calc(100vw - 20px));font-size:12px}
  .assistant-drag-note{display:none}
  .assistant-panel{left:calc(-100vw + 112px);width:min(400px,calc(100vw - 12px));height:min(680px,calc(100vh - 18px));bottom:110px}
}

/* v12 mascot refinement and assistant layout fixes */
.assistant-tip{display:none !important}
.assistant-dock{width:138px;height:140px}
.assistant-core{overflow:visible}
.assistant-badge{left:78px;top:-14px;min-width:240px;max-width:280px;padding:10px 14px;border-radius:16px 16px 16px 8px;line-height:1.3;z-index:5}
.assistant-badge::before{left:18px;bottom:-7px}
.assistant-badge.hidden{opacity:0;transform:translateY(6px);pointer-events:none}
.assistant-drag-note{left:20px;bottom:-6px}
.mascot-robot{position:relative;width:56px;height:60px;display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.28));animation:mascotFloatChar 2.6s ease-in-out infinite}
.mascot-robot .mascot-ant{position:absolute;left:27px;top:-6px;width:2px;height:10px;background:linear-gradient(180deg,#a6ecff,#57caff);border-radius:999px}
.mascot-robot .mascot-ant::after{content:'';position:absolute;left:-3px;top:-4px;width:8px;height:8px;border-radius:50%;background:#72d9ff;box-shadow:0 0 8px rgba(114,217,255,.8)}
.mascot-head{position:absolute;left:10px;top:4px;width:36px;height:28px;border-radius:12px;background:linear-gradient(180deg,#eef7ff,#bcd6e8);border:2px solid #2f5976;box-shadow:inset 0 -5px 8px rgba(50,88,117,.18)}
.mascot-head::before,.mascot-head::after{content:'';position:absolute;top:6px;width:4px;height:9px;border-radius:4px;background:#2f5976}.mascot-head::before{left:-5px}.mascot-head::after{right:-5px}
.mascot-eye{position:absolute;top:8px;width:8px;height:8px;border-radius:50%;background:#1c3550;box-shadow:0 0 0 3px #50d4ff,0 0 10px rgba(80,212,255,.7);animation:eyeBlink 4.8s infinite}.mascot-eye.eye-l{left:8px}.mascot-eye.eye-r{right:8px}
.mascot-mouth{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:12px;height:5px;border-bottom:2px solid #2d4f69;border-radius:0 0 10px 10px}
.mascot-body{position:absolute;left:14px;top:30px;width:28px;height:20px;border-radius:10px 10px 12px 12px;background:linear-gradient(180deg,#f4fbff,#c6dff0);border:2px solid #2f5976;box-shadow:inset 0 -6px 6px rgba(47,89,118,.15)}
.mascot-body::before{content:'';position:absolute;left:50%;top:4px;transform:translateX(-50%);width:10px;height:8px;border-radius:6px;background:linear-gradient(180deg,#68d3ff,#2ca7ff);box-shadow:0 0 10px rgba(44,167,255,.55)}
.mascot-arm,.mascot-leg{position:absolute;background:#d8eaf6;border:2px solid #2f5976}
.mascot-arm{top:34px;width:13px;height:4px;border-radius:999px;transform-origin:center right;animation:armWaveL 2.4s ease-in-out infinite}.mascot-arm.arm-l{left:2px;transform:rotate(20deg)}.mascot-arm.arm-r{right:2px;transform:rotate(-20deg);animation-name:armWaveR;transform-origin:center left}
.mascot-arm::after{content:'';position:absolute;top:-3px;right:-4px;width:6px;height:6px;border-radius:50%;background:#d8eaf6;border:2px solid #2f5976}.mascot-arm.arm-r::after{right:auto;left:-4px}
.mascot-leg{top:48px;width:4px;height:12px;border-radius:999px;animation:legWalk 1.8s ease-in-out infinite}.mascot-leg.leg-l{left:20px}.mascot-leg.leg-r{right:20px;animation-delay:.9s}
.mascot-leg::after{content:'';position:absolute;bottom:-3px;width:8px;height:4px;border-radius:999px;background:#d8eaf6;border:2px solid #2f5976;left:-4px}
.assistant-icon.large{overflow:hidden}.assistant-icon.large .mascot-robot{transform:scale(.73);transform-origin:center}
.assistant-icon.large .mascot-robot.mini{margin-top:5px}
.assistant-head{flex-shrink:0}.assistant-context{flex-shrink:0}.assistant-faq{flex-shrink:0}.assistant-search{flex-shrink:0}.quick{flex-shrink:0}#chatForm{flex-shrink:0}
.assistant-panel{height:min(740px,calc(100vh - 26px));max-height:calc(100vh - 26px)}
.assistant-body{flex:1 1 auto;min-height:180px;overflow-y:auto;overscroll-behavior:contain;padding-bottom:14px}
.assistant-faq-list{max-height:180px;overflow-y:auto;padding-right:2px}
.quick{max-height:110px;overflow-y:auto}
.assistant-body .assistant-suggestions button,.assistant-faq-list button,.quick button{font-size:13px;line-height:1.25;padding:10px 12px;white-space:normal;text-align:left}
.assistant-context-actions button{white-space:normal;text-align:left}
@keyframes eyeBlink{0%,46%,50%,100%{transform:scaleY(1)}48%{transform:scaleY(.08)}}
@keyframes mascotFloatChar{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes armWaveL{0%,100%{transform:rotate(18deg)}50%{transform:rotate(36deg)}}
@keyframes armWaveR{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(-36deg)}}
@keyframes legWalk{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
@media(max-width:860px){
  .assistant-dock{width:112px;height:116px;left:calc(100vw - 120px)!important;top:calc(100vh - 126px)!important}
  .assistant-core{left:12px;top:12px;width:80px;height:80px}
  .mascot-robot{transform:scale(.9)}
  .assistant-badge{left:-180px;top:-62px;min-width:210px;max-width:min(240px,calc(100vw - 20px));font-size:12px}
  .assistant-panel{left:calc(-100vw + 116px);width:min(410px,calc(100vw - 10px));height:min(78vh,660px);max-height:min(78vh,660px);bottom:108px}
  .assistant-body{min-height:120px;padding:12px}
  .assistant-context{padding:12px 14px}.assistant-faq{padding:12px 14px}.assistant-search{padding:10px 14px}.quick{padding:0 14px 10px}#chatForm{padding:0 14px 14px}
  .assistant-faq-list{max-height:146px}
}


/* v13 — clean assistant layout */
.assistant-panel{
  width:min(390px,calc(100vw - 20px));
  height:min(650px,calc(100vh - 34px));
  max-height:calc(100vh - 34px);
  overflow:hidden;
}
.assistant-head{
  flex:0 0 auto;
  padding:14px 16px;
}
.assistant-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#41627d transparent;
}
.assistant-scroll::-webkit-scrollbar{width:8px}
.assistant-scroll::-webkit-scrollbar-track{background:transparent}
.assistant-scroll::-webkit-scrollbar-thumb{
  background:#41627d;
  border-radius:999px;
}
.assistant-context.compact{
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.assistant-context.compact span{
  font-size:13px;
  line-height:1.4;
}
.assistant-context-actions{
  margin-top:8px;
  gap:7px;
}
.assistant-context-actions button{
  padding:8px 10px;
  font-size:12px;
  border-radius:10px;
}
.assistant-body{
  min-height:0;
  overflow:visible;
  padding:14px;
}
.bot-msg,.user-msg{
  font-size:14px;
  line-height:1.45;
}
.assistant-suggestions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:12px;
}
.assistant-suggestions button{
  width:100%;
  text-align:left;
  padding:10px 12px;
  font-size:13px;
  line-height:1.3;
}
.assistant-faq{
  padding:12px 14px;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.assistant-faq-head{
  margin:0;
}
.assistant-faq-head button{
  padding:6px 10px;
  font-size:12px;
}
.assistant-faq-list{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  max-height:none;
  overflow:visible;
  margin-top:10px;
}
.assistant-faq-list button{
  width:100%;
  text-align:left;
  padding:9px 11px;
  font-size:12.5px;
  line-height:1.3;
}
.assistant-faq.collapsed .assistant-faq-list{display:none}
.assistant-search{
  position:relative;
  padding:12px 14px 14px;
}
.assistant-search input{
  height:42px;
  font-size:13px;
}
#searchResults{
  left:14px;
  right:14px;
  top:58px;
}
#chatForm{
  flex:0 0 auto;
  padding:12px 14px 14px;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(5,15,26,.96);
}
#chatForm input{
  min-width:0;
  font-size:13px;
}
.quick{display:none!important}
.assistant-tip{display:none!important}

@media(max-width:860px){
  .assistant-panel{
    width:min(390px,calc(100vw - 12px));
    height:min(76vh,620px);
    max-height:min(76vh,620px);
    bottom:108px;
  }
  .assistant-head{padding:12px 14px}
  .assistant-context.compact{padding:10px 12px}
  .assistant-body{padding:12px}
  .assistant-faq{padding:10px 12px}
  .assistant-search{padding:10px 12px 12px}
  #chatForm{padding:10px 12px 12px}
  .assistant-badge{
    min-width:190px;
    max-width:220px;
  }
}

/* v14 — original hero and stable assistant */
.hero-stage.hero-original{
  min-height:650px;
  padding:0;
  background:#06111d;
  overflow:hidden;
}
.hero-original-image{
  display:block;
  width:100%;
  height:100%;
  min-height:650px;
  object-fit:cover;
  object-position:center;
}

/* Closed assistant shows only mascot. No questions or speech bubbles. */
.assistant-badge,
.assistant-tip{
  display:none!important;
}

/* Panel chooses a side relative to the mascot. */
.assistant-panel{
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
}
.assistant-dock.panel-left .assistant-panel{
  right:118px!important;
  left:auto!important;
}
.assistant-dock.panel-right .assistant-panel{
  left:118px!important;
  right:auto!important;
}
.assistant-dock.panel-above .assistant-panel{
  bottom:116px!important;
  top:auto!important;
}
.assistant-dock.panel-below .assistant-panel{
  top:116px!important;
  bottom:auto!important;
}

/* Keep close button clickable even though the header is draggable. */
.assistant-head button{
  position:relative;
  z-index:20;
  pointer-events:auto;
}

/* Context does not jump while scrolling. */
.assistant-context-actions{
  min-height:0;
}

@media(max-width:860px){
  .hero-stage.hero-original,
  .hero-original-image{min-height:430px}
  .assistant-dock.panel-left .assistant-panel,
  .assistant-dock.panel-right .assistant-panel{
    left:auto!important;
    right:auto!important;
  }
  .assistant-dock.panel-above .assistant-panel{
    bottom:104px!important;
    top:auto!important;
  }
  .assistant-dock.panel-below .assistant-panel{
    top:104px!important;
    bottom:auto!important;
  }
}

/* v15 assistant behavior cleanup */
.assistant-badge,
.assistant-drag-note{display:none !important}
.assistant-dock{width:96px !important;height:96px !important}
.assistant-core{left:10px;top:10px;width:76px;height:76px}
.assistant-panel{left:auto !important;right:auto !important;bottom:auto !important;top:auto !important;width:min(400px,calc(100vw - 20px));height:min(640px,calc(100vh - 34px));max-height:calc(100vh - 34px)}
.assistant-tip{
  display:block !important;
  position:absolute !important;
  left:auto;right:auto;top:auto;bottom:auto;
  width:min(320px,calc(100vw - 24px));
  min-height:auto;
  padding:12px 36px 12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(12,36,60,.98),rgba(7,23,40,.98));
  border:1px solid rgba(76,197,255,.34);
  box-shadow:0 16px 40px rgba(0,0,0,.38);
  opacity:0;
  transform:translateY(8px) scale(.98);
  pointer-events:none;
  transition:.22s ease;
  z-index:6;
}
.assistant-tip.show{opacity:1;transform:none;pointer-events:auto}
.assistant-tip::after{
  content:'';
  position:absolute;
  top:50%;
  margin-top:-8px;
  width:14px;height:14px;
  background:rgba(7,23,40,.98);
  border-right:1px solid rgba(76,197,255,.34);
  border-bottom:1px solid rgba(76,197,255,.34);
  transform:rotate(135deg);
  right:-8px;
}
.assistant-dock.tip-right .assistant-tip::after{left:-8px;right:auto;transform:rotate(-45deg)}
.assistant-tip button{
  position:absolute;right:8px;top:6px;width:24px;height:24px;border:0;background:none;color:#8eb0c8;font-size:18px;cursor:pointer
}
.assistant-tip .assistant-tip-text{display:block;font-size:13px;line-height:1.4;color:#eef8ff;padding-right:6px}
.assistant-tip .assistant-tip-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.assistant-tip .assistant-tip-actions button{position:static;width:auto;height:auto;padding:8px 10px;border-radius:10px;border:1px solid rgba(76,197,255,.25);background:#0b2236;color:#d7eeff;font-size:12px;line-height:1.2}
.assistant-tip .assistant-tip-actions button:hover{border-color:#53a0ff}
.assistant-panel .assistant-suggestions button,.assistant-context-actions button,.assistant-faq-list button{white-space:normal;text-align:left}
.assistant-dock.panel-open .assistant-tip{display:none !important}
@media (max-width:860px){
  .assistant-dock{width:84px !important;height:84px !important;left:calc(100vw - 96px)!important;top:calc(100vh - 108px)!important}
  .assistant-core{left:8px;top:8px;width:68px;height:68px}
  .assistant-panel{width:min(370px,calc(100vw - 12px));height:min(74vh,620px);max-height:min(74vh,620px)}
  .assistant-tip{width:min(280px,calc(100vw - 20px))}
}

/* v16 — static assistant at the bottom-right */
.assistant-dock{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  left:auto!important;
  top:auto!important;
  width:96px!important;
  height:96px!important;
  z-index:95;
}
.assistant-mascot{cursor:pointer!important;touch-action:auto!important}
.assistant-panel{
  position:fixed!important;
  right:24px!important;
  bottom:132px!important;
  left:auto!important;
  top:auto!important;
  width:min(400px,calc(100vw - 28px))!important;
  height:min(640px,calc(100vh - 156px))!important;
  max-height:calc(100vh - 156px)!important;
}
.assistant-tip{
  position:fixed!important;
  right:24px!important;
  bottom:132px!important;
  left:auto!important;
  top:auto!important;
}
@media(max-width:860px){
  .assistant-dock{right:14px!important;bottom:14px!important;left:auto!important;top:auto!important}
  .assistant-panel{right:10px!important;bottom:112px!important;width:calc(100vw - 20px)!important;height:min(72vh,620px)!important;max-height:min(72vh,620px)!important}
  .assistant-tip{right:10px!important;bottom:112px!important}
}

/* v17 — walking mascot at bottom, panel fixed on the right */
.assistant-badge,
.assistant-drag-note{
  display:none !important;
}
.assistant-dock{
  position:fixed !important;
  left:24px !important;
  right:auto !important;
  top:auto !important;
  bottom:14px !important;
  width:88px !important;
  height:88px !important;
  z-index:95;
  pointer-events:none;
}
.assistant-dock .assistant-mascot,
.assistant-dock .assistant-tip,
.assistant-dock .assistant-panel{
  pointer-events:auto;
}
.assistant-mascot{
  width:88px;
  height:88px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  cursor:pointer !important;
  touch-action:auto !important;
}
.assistant-shadow{
  left:10px;
  right:10px;
  bottom:6px;
  height:12px;
  opacity:.6;
}
.assistant-orbit{
  opacity:.35;
}
.assistant-core{
  left:6px;
  top:4px;
  width:76px;
  height:76px;
  transition:transform .2s ease;
}
.assistant-dock.face-left .assistant-core{
  transform:scaleX(-1);
}
.assistant-dock.walking .mascot-leg.leg-l{animation:legWalkL .45s ease-in-out infinite}
.assistant-dock.walking .mascot-leg.leg-r{animation:legWalkR .45s ease-in-out infinite}
.assistant-dock.walking .mascot-arm.arm-l{animation:armWalkL .45s ease-in-out infinite}
.assistant-dock.walking .mascot-arm.arm-r{animation:armWalkR .45s ease-in-out infinite}
.assistant-dock.walking .assistant-core{animation:bodyBob .45s ease-in-out infinite}
.assistant-panel{
  position:fixed !important;
  right:24px !important;
  left:auto !important;
  top:auto !important;
  bottom:24px !important;
  width:min(400px,calc(100vw - 28px)) !important;
  height:min(640px,calc(100vh - 48px)) !important;
  max-height:calc(100vh - 48px) !important;
}
.assistant-tip{
  position:fixed !important;
  left:auto !important;
  right:24px !important;
  top:auto !important;
  bottom:124px !important;
}
@keyframes legWalkL{0%,100%{transform:rotate(10deg) translateY(0)}50%{transform:rotate(-10deg) translateY(2px)}}
@keyframes legWalkR{0%,100%{transform:rotate(-10deg) translateY(2px)}50%{transform:rotate(10deg) translateY(0)}}
@keyframes armWalkL{0%,100%{transform:rotate(28deg)}50%{transform:rotate(6deg)}}
@keyframes armWalkR{0%,100%{transform:rotate(-28deg)}50%{transform:rotate(-6deg)}}
@keyframes bodyBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(max-width:860px){
  .assistant-dock{bottom:10px !important;width:78px !important;height:78px !important}
  .assistant-mascot{width:78px;height:78px}
  .assistant-core{left:7px;top:5px;width:64px;height:64px}
  .assistant-panel{right:10px !important;bottom:10px !important;width:calc(100vw - 20px) !important;height:min(72vh,620px) !important;max-height:min(72vh,620px) !important}
  .assistant-tip{right:10px !important;bottom:96px !important;width:min(280px,calc(100vw - 20px))}
}

/* v18 — the mascot speaks tips in a speech bubble while walking */
.assistant-badge,
.assistant-drag-note{display:none !important}
.assistant-dock{
  width:88px !important;
  height:88px !important;
  pointer-events:none;
}
.assistant-dock .assistant-mascot,
.assistant-dock .assistant-tip,
.assistant-dock .assistant-panel{pointer-events:auto}
.assistant-tip{
  position:absolute !important;
  width:min(290px,calc(100vw - 20px)) !important;
  min-height:auto;
  padding:12px 36px 12px 14px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(12,36,60,.98),rgba(7,23,40,.98));
  border:1px solid rgba(76,197,255,.34);
  box-shadow:0 16px 40px rgba(0,0,0,.38);
}
.assistant-tip::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:-7px;
  width:14px;
  height:14px;
  margin-left:-7px;
  background:rgba(7,23,40,.98);
  border-right:1px solid rgba(76,197,255,.34);
  border-bottom:1px solid rgba(76,197,255,.34);
  transform:rotate(45deg);
}
.assistant-tip .assistant-tip-text{
  display:block;
  font-size:13px;
  line-height:1.38;
  color:#eef8ff;
}
.assistant-tip .assistant-tip-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.assistant-tip .assistant-tip-actions button{
  position:static;
  width:auto;
  height:auto;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(76,197,255,.25);
  background:#0b2236;
  color:#d7eeff;
  font-size:12px;
  line-height:1.2;
}
.assistant-tip .assistant-tip-actions button:hover{border-color:#53a0ff}
.assistant-tip button[aria-label="Закрыть подсказку"]{
  position:absolute;
  top:6px;
  right:8px;
  width:24px;
  height:24px;
  border:0;
  background:none;
  color:#8eb0c8;
  font-size:18px;
  cursor:pointer;
}
.assistant-panel{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  left:auto !important;
  top:auto !important;
}
.assistant-dock.walking .mascot-leg.leg-l{animation:legWalkL .42s ease-in-out infinite}
.assistant-dock.walking .mascot-leg.leg-r{animation:legWalkR .42s ease-in-out infinite}
.assistant-dock.walking .mascot-arm.arm-l{animation:armWalkL .42s ease-in-out infinite}
.assistant-dock.walking .mascot-arm.arm-r{animation:armWalkR .42s ease-in-out infinite}
.assistant-dock.walking .assistant-core{animation:bodyBob .42s ease-in-out infinite}
.assistant-dock.face-left .assistant-core{transform:scaleX(-1)}
@media(max-width:860px){
  .assistant-dock{width:78px !important;height:78px !important}
  .assistant-tip{width:min(260px,calc(100vw - 16px)) !important}
  .assistant-panel{right:10px !important;bottom:10px !important;width:calc(100vw - 20px) !important;height:min(72vh,620px) !important;max-height:min(72vh,620px) !important}
}

/* v19 — natural movement, pauses and speech reactions */
.assistant-dock.pausing .assistant-core{
  animation:idleBreath 2.2s ease-in-out infinite !important;
}
.assistant-dock.speaking .assistant-core{
  animation:speakingBob .55s ease-in-out infinite !important;
}
.assistant-dock.speaking .mascot-mouth{
  width:12px;
  height:7px;
  border:0;
  border-radius:50%;
  background:#213f59;
  animation:mouthTalk .28s ease-in-out infinite;
}
.assistant-dock.speaking .mascot-eye{
  box-shadow:0 0 0 3px #61dcff,0 0 14px rgba(97,220,255,.9);
}
.assistant-dock.speaking .mascot-arm.arm-r{
  animation:speechWave .7s ease-in-out infinite !important;
}
.assistant-dock.pausing .mascot-arm,
.assistant-dock.pausing .mascot-leg{
  animation:none !important;
}
.assistant-dock.walking .assistant-shadow{
  animation:walkingShadow .42s ease-in-out infinite;
}
.assistant-tip.show{
  animation:speechAppear .25s ease-out both;
}
.assistant-tip .assistant-tip-text{
  font-size:13px;
  line-height:1.42;
}
@keyframes idleBreath{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-2px) scale(1.015)}
}
@keyframes speakingBob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes mouthTalk{
  0%,100%{transform:translateX(-50%) scaleY(.45)}
  50%{transform:translateX(-50%) scaleY(1)}
}
@keyframes speechWave{
  0%,100%{transform:rotate(-18deg)}
  50%{transform:rotate(-48deg)}
}
@keyframes walkingShadow{
  0%,100%{transform:translateX(-50%) scaleX(.88);opacity:.5}
  50%{transform:translateX(-50%) scaleX(1.05);opacity:.75}
}
@keyframes speechAppear{
  from{opacity:0;transform:translateY(8px) scale(.97)}
  to{opacity:1;transform:none}
}


/* v20 — performance optimizations without changing visual design */
main > section:not(.hero){
  content-visibility:auto;
  contain-intrinsic-size:900px;
}
img{
  height:auto;
}
.hero-original-image{
  aspect-ratio:16 / 10;
}
.shot img{
  aspect-ratio:16 / 8.7;
}
video{
  aspect-ratio:16 / 9;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{transition:none!important}
}

/* v21 — direct contact form */
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.form-status{
  min-height:22px;
  margin-top:10px;
  font-size:14px;
  line-height:1.4;
}
.form-status.success{color:#8fe3b0}
.form-status.error{color:#ff9b9b}
.contact-form button[disabled]{
  opacity:.7;
  cursor:wait;
}

.seo-context{
  max-width:1200px;
  margin:0 auto;
  padding:12px 24px 34px;
  color:var(--muted, #8aa0b8);
  font-size:15px;
  line-height:1.65;
}
.seo-context p{
  margin:0;
}


.form-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:14px 0 16px;
  font-size:13px;
  line-height:1.5;
  color:var(--muted, #8aa0b8);
}
.form-consent input{
  margin-top:3px;
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.form-consent a,
.legal-links a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}
.legal-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:14px 20px 22px;
  font-size:13px;
  color:var(--muted, #8aa0b8);
}
.legal-page{
  max-width:900px;
  margin:0 auto;
  padding:48px 24px 72px;
}
.legal-page h1{
  margin:0 0 24px;
  font-size:clamp(28px, 4vw, 46px);
}
.legal-page h2{
  margin:30px 0 12px;
  font-size:22px;
}
.legal-page p,
.legal-page li{
  line-height:1.7;
}
.legal-page ul{
  padding-left:22px;
}
.legal-back{
  display:inline-block;
  margin-bottom:28px;
}

/* v28 FINAL — точечные исправления */
.assistant-tip{
  padding-right:14px !important;
}
.assistant-search{
  gap:0 !important;
}
.assistant-search input{
  width:100%;
}


/* v28.1 — окончательное удаление квадрата/ромба с подсказки маскота */
.assistant-tip::after,
.assistant-tip:after{
  content:none !important;
  display:none !important;
}


/* v28.2 — управление подсказками маскота */
.assistant-tip{
  position:relative !important;
  padding-right:46px !important;
}
.assistant-tip-close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:20;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  padding:0;
  margin:0;
  border:0;
  border-radius:50%;
  background:rgba(7, 24, 39, .88);
  color:#dcecff;
  font:400 22px/1 Arial, sans-serif;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
}
.assistant-tip-close:hover{
  background:rgba(28, 86, 127, .95);
}
.assistant-tip-close:focus-visible{
  outline:2px solid #5bbcff;
  outline-offset:2px;
}
.assistant-tip.tip-dismissed{
  display:none !important;
}
@media (max-width: 720px){
  .assistant-tip{
    padding-right:44px !important;
  }
  .assistant-tip-close{
    top:8px;
    right:8px;
    width:30px;
    height:30px;
    font-size:23px;
  }
}
