/* v4 · 어두운 연구소 톤 (누수방수연구소 느낌, 바로설비 파랑) */
:root{--bg:#f2f3f1;--bg-2:#e9ebe8;--paper:#fff;--ink:#0c1622;--dark:#0a111b;--dark-2:#111b28;--blue:#2f86ff;--blue-d:#1767e0;--blue-l:#7fb6ff;--blue-soft:#e6f0ff}
html,body{background:var(--bg)}

/* 내비: 어두운 유리 */
.nav{background:rgba(10,17,27,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 30px -16px rgba(0,0,0,.6);color:#fff}
.nav .logo{color:#fff}
.nav .logo img{filter:brightness(0) invert(1)}
.nav ul a{color:rgba(255,255,255,.72)}
.nav ul a:hover{background:rgba(255,255,255,.08)}
.nav ul a[aria-current="page"]{background:var(--blue);color:#fff}
.burger{background:rgba(255,255,255,.1)}
.burger span{background:#fff}
.mmenu{background:rgba(10,17,27,.97);color:#fff}
.mmenu a[aria-current="page"]{color:var(--blue-l)}
.mmenu .tel{color:var(--blue-l)}

/* 번호 라벨 (리포트형) */
.kick{font-size:14px;font-weight:600;color:var(--muted);gap:8px;letter-spacing:0;text-transform:none}
.kick::before{display:none}
.kick b{font-family:"Pretendard Variable",Pretendard,sans-serif;font-weight:500;color:var(--blue-d);letter-spacing:.02em}
.dark .kick{color:var(--on-dark-60)}
.dark .kick b{color:var(--blue-l)}
h2{font-weight:800}

/* 히어로: 항상 어둡게 */
.hero{background:var(--dark);color:#fff}
.hero-media{background:#0d1622}
.hero-media::after{background:linear-gradient(90deg,rgba(10,17,27,.94) 0%,rgba(10,17,27,.78) 30%,rgba(10,17,27,.25) 58%,rgba(10,17,27,.05) 78%),linear-gradient(0deg,rgba(10,17,27,.92) 0%,rgba(10,17,27,0) 34%)}
.hero-media video,.hero-media img{filter:saturate(.92) brightness(.9)}
.hero-media img.thermal{filter:none}
.hero .lead{color:rgba(255,255,255,.72)}
.hero .lead b{color:#fff}
.hero .loc{color:var(--blue-l)}
.crumb{color:rgba(255,255,255,.6)}
.crumb a{color:#fff}
h1 em{color:var(--blue)}
.hero .btn-glass{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.hero .btn-glass:hover{background:rgba(255,255,255,.16)}
.tag-img{color:rgba(255,255,255,.7);background:rgba(10,17,27,.55)}
.vctl{background:rgba(255,255,255,.14)}
.vctl svg{fill:#fff}
.hero .wrap{padding-bottom:150px}

/* 히어로 하단 숫자 줄 */
.facts{position:absolute;left:0;right:0;bottom:0;z-index:3}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:0;padding-bottom:0}
.facts .f{padding:22px 22px 26px 0;border-top:1px solid rgba(255,255,255,.12)}
.facts .f+.f{padding-left:22px;border-left:1px solid rgba(255,255,255,.12)}
.facts strong{display:block;font-family:"Pretendard Variable",Pretendard,sans-serif;font-weight:500;font-size:clamp(28px,2.8vw,40px);letter-spacing:-.03em;line-height:1.1;color:#fff}
.facts strong small{font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:.5em;font-weight:700;color:var(--blue-l);margin-left:3px}
.facts p{margin:6px 0 0;font-size:14px;color:rgba(255,255,255,.62);line-height:1.5}
.facts .ph{margin-top:6px}

/* 시그니처: 누수 탐지 렌즈 */
.scan{cursor:crosshair;touch-action:pan-y}
.scan .thermal{clip-path:circle(var(--r,120px) at var(--x,70%) var(--y,30%));will-change:clip-path;z-index:1}
.lens{position:absolute;left:var(--x,70%);top:var(--y,30%);width:calc(var(--r,120px)*2);height:calc(var(--r,120px)*2);transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid rgba(255,255,255,.9);box-shadow:0 0 0 7px rgba(47,134,255,.18),0 0 40px rgba(47,134,255,.35),inset 0 0 40px rgba(0,0,0,.3);pointer-events:none;z-index:2}
.lens::before,.lens::after{content:"";position:absolute;background:rgba(255,255,255,.7)}
.lens::before{left:50%;top:18%;bottom:18%;width:1px}
.lens::after{top:50%;left:18%;right:18%;height:1px}
.lens span{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:11px;letter-spacing:.1em;color:#fff;background:var(--blue);padding:4px 9px;border-radius:6px}
.scan-hint{position:absolute;right:20px;top:86px;z-index:3;font-size:13px;color:rgba(255,255,255,.85);background:rgba(10,17,27,.55);padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}

/* 어두운 섹션 공통 보강 */
.dark .sub,.dark .goals span{color:var(--on-dark-60)}
.dark h2,.dark h3{color:var(--on-dark)}
.dark .sweep{color:var(--on-dark)}
.dark .goals b{color:#fff}
.dark .chips button{background:var(--dark-2);color:var(--on-dark);box-shadow:inset 0 0 0 1px var(--on-dark-line)}
.dark .chips small{color:var(--on-dark-60)}
.dark .chips .box{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.dark .chips button[aria-pressed="true"]{background:var(--blue);color:#fff}
.dark .meter{background:var(--blue)}
.dark .meter p{color:rgba(255,255,255,.9)}
.dark .meter .btn-main{background:#fff;color:var(--ink)}
.dark .rows,.dark .row{border-color:var(--on-dark-line)}
.dark .row p{color:var(--on-dark-60)}
.dark .row .ans{background:rgba(47,134,255,.14);color:var(--on-dark)}
.dark .row .ans b{color:var(--blue-l)}
.dark .row .no{color:var(--blue-l)}
.dark .xs-list li{background:var(--dark-2);box-shadow:inset 0 0 0 1px var(--on-dark-line)}
.dark .xs-list b{color:#fff}
.dark .xs-list span{color:var(--on-dark-60)}
.dark .xs-list .n{background:rgba(47,134,255,.18);color:var(--blue-l)}
.dark .vs>div{background:var(--dark-2);box-shadow:inset 0 0 0 1px var(--on-dark-line)}
.dark .vs>div.call{background:var(--blue)}
.dark .vs li::before{background:rgba(255,255,255,.1)}
.dark .vs li::after{border-color:var(--blue-l)}
.dark .vs .call li::after{border-color:#fff}
.dark .vs .call p{color:rgba(255,255,255,.85)}
.dark .spread article{background:var(--dark-2);box-shadow:inset 0 0 0 1px var(--on-dark-line)}
.dark .spread .blot{background:#1a2535}
.dark .spread b{color:#fff}
.dark .spread span{color:var(--on-dark-60)}
.dark .spread .st{color:var(--blue-l)}
.dark .steps::before{background:rgba(255,255,255,.15)}
.dark .steps .dot{background:var(--dark);box-shadow:inset 0 0 0 2px rgba(255,255,255,.2);color:rgba(255,255,255,.45)}
.dark .steps.is-in .dot{background:var(--blue);color:#fff;box-shadow:0 0 0 8px rgba(47,134,255,.18)}
.dark .steps p{color:var(--on-dark-60)}
.dark .faq,.dark .faq details{border-color:var(--on-dark-line)}
.dark .faq summary i{box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.dark .faq summary i::before,.dark .faq summary i::after{background:#fff}
.dark .faq details[open] summary i{background:rgba(47,134,255,.25)}
.dark .faq .a{color:var(--on-dark-60)}
.dark .quote{color:#fff}
.dark .quote em{color:var(--blue-l)}
.dark .quote-by{color:var(--on-dark-60)}
.dark .tabpanel li{color:var(--on-dark)}
.dark .tabpanel h3{color:#fff}
.dark figure .cap{color:rgba(255,255,255,.4)}
.dark .smalls span{background:rgba(47,134,255,.16);color:var(--blue-l)}

/* 카드 큰 번호 (선택 이유 카드 느낌) */
.costs{counter-reset:c}
.costs article{position:relative;counter-increment:c;padding-top:84px}
.costs article::before{content:counter(c,decimal-leading-zero);position:absolute;left:26px;top:22px;font-family:"Pretendard Variable",Pretendard,sans-serif;font-weight:500;font-size:44px;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(13,23,38,.25)}
.dark .costs article::before{-webkit-text-stroke:1px rgba(255,255,255,.3)}
.dark .costs article:last-child{background:var(--blue);box-shadow:none}
.dark .costs article:last-child::before{-webkit-text-stroke:1px rgba(255,255,255,.65)}
.dark .costs article:last-child .k,.dark .costs article:last-child p{color:rgba(255,255,255,.9)}
.costs .k.num-only{display:none}

/* 스크롤 진행선 (오른쪽) */
.progress{position:fixed;right:14px;top:50%;width:2px;height:120px;margin-top:-60px;background:rgba(127,127,127,.28);border-radius:2px;z-index:40;overflow:hidden}
.progress i{position:absolute;left:0;top:0;width:100%;height:var(--p,0%);background:var(--blue)}
@media (max-width:760px){.progress{display:none}}

/* 모바일 히어로도 어둡게 */
@media (max-width:900px){
  .hero,.hero.sub-hero{background:var(--dark);color:#fff}
  .hero .lead{color:rgba(255,255,255,.72)}
  .hero .lead b{color:#fff}
  .hero .loc{color:var(--blue-l)}
  .crumb{color:rgba(255,255,255,.6)}
  h1 em{color:var(--blue)}
  .hero-media::after{display:block;background:linear-gradient(0deg,rgba(10,17,27,1) 0%,rgba(10,17,27,0) 38%)}
  .hero .wrap{padding-bottom:0}
  .facts{position:relative;margin-top:34px}
  .facts .wrap{grid-template-columns:1fr 1fr}
  .facts .f{padding:16px 12px 18px 0}
  .facts .f+.f{padding-left:14px}
  .facts .f:nth-child(3){padding-left:0;border-left:0}
  .scan-hint{top:auto;bottom:16px;right:16px}
}
.hero.sub-hero .wrap{padding-bottom:40px}
@media (max-width:900px){.hero.sub-hero .wrap{padding-bottom:0}}
.rv-title{margin:72px 0 0;font-size:clamp(26px,2.8vw,40px);letter-spacing:-.04em;font-weight:800;color:var(--on-dark)}
.rv-title em{font-style:normal;color:var(--blue-l)}
.dark .rv.real{background:var(--dark-2);box-shadow:inset 0 0 0 1px var(--on-dark-line);color:var(--on-dark)}
.dark .rv.real h3{color:#fff}
.dark .rv.real p{color:var(--on-dark-60)}
.dark .rv.real .meta{color:rgba(255,255,255,.4)}
.rv .ph-img{aspect-ratio:4/3;background:#1a2638}
.reviews{grid-template-columns:repeat(4,1fr)}
@media (max-width:1040px){.reviews{grid-template-columns:1fr 1fr}}
/* 목표 3칸: 이득 라벨 */
.goals .gk{display:inline-block;font-style:normal;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue-d);margin-bottom:12px}
.dark .goals .gk{background:rgba(47,134,255,.18);color:var(--blue-l)}
.goals b{font-size:22px}
.sec .sweep{font-size:clamp(30px,4.2vw,60px);line-height:1.25;font-weight:800;letter-spacing:-.045em}
/* 검증 실적 목록 */
.vlist{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid var(--line-2)}
.vlist li{display:grid;grid-template-columns:70px 1.2fr 1fr auto;gap:20px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.vlist .n{font-family:"Pretendard Variable",Pretendard,sans-serif;color:var(--blue-d);font-size:15px}
.vlist b{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.04em;font-weight:800}
.vlist .w{color:var(--muted);font-size:17px}
.vlist .t{font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--ink);color:#fff}
@media (max-width:760px){.vlist li{grid-template-columns:44px 1fr auto;gap:6px 12px;padding:20px 0}.vlist .w{grid-column:2 / 3;font-size:15px}.vlist .t{grid-row:1;grid-column:3}}

@media (min-width:901px){.hero>.tag-img{left:auto;right:20px;bottom:auto;top:128px}}

/* hero before -> after (3 scenes) */
.hero .spec{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 18px;animation:up .8s var(--ease) .6s both}
.hero .spec button{position:relative;overflow:hidden;font:inherit;font-size:15px;font-weight:700;color:rgba(255,255,255,.78);padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);cursor:pointer;transition:color .3s,border-color .3s,background .3s}
.hero .spec button:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.hero .spec button.on{color:#fff;border-color:var(--blue);background:rgba(29,124,242,.28)}
.hero .spec button.on::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:calc(var(--t,0) * 100%);background:var(--blue-l,#6fb2ff)}
.hero .spec .pro{font-size:15px;font-weight:700;color:#fff;padding:7px 14px;border-radius:999px;background:var(--blue)}
.ba .sc{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.ba .sc.on{opacity:1}
.ba .sc img.a{clip-path:inset(0 calc(100% - var(--p,0%)) 0 0)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--p,0%);width:2px;margin-left:-1px;z-index:2;background:#fff;box-shadow:0 0 16px 3px rgba(120,185,255,.85),0 0 60px 12px rgba(47,134,255,.35);opacity:var(--lo,0);transition:opacity .25s;pointer-events:none}
.ba-line::after{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid #fff;background:rgba(10,17,27,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat}
.ba-state{position:absolute;right:20px;top:86px;z-index:3;display:flex;align-items:center;gap:8px;font-size:13px;color:#fff;background:rgba(10,17,27,.6);padding:6px 12px 6px 6px;border-radius:999px;backdrop-filter:blur(6px)}
.ba-state b{font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:11px;letter-spacing:.1em;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.16);transition:background .3s}
.ba-state.after b{background:var(--blue)}
@media (max-width:900px){
  .hero .spec{margin:-10px 0 14px;gap:6px}
  .hero .spec button,.hero .spec .pro{font-size:13px;padding:6px 11px}
  .ba-state{top:auto;bottom:14px;right:14px;font-size:12px}
}

/* mobile hero: full-width 4:3 image right under the nav */
@media (max-width:900px){
  .hero-media{margin:72px 0 0;height:auto;min-height:0;aspect-ratio:4/3;border-radius:0;box-shadow:none}
  .hero-media::after{background:linear-gradient(0deg,rgba(10,17,27,.45) 0%,rgba(10,17,27,0) 22%)}
  .hero-media video,.hero-media img{filter:none}
  .vctl{top:calc(72px + 75vw - 50px);right:12px}
  .ba-state{bottom:12px;right:12px}
}


/* VS: whole-house builder vs drain-only */
#vs .sub{max-width:40rem;margin-top:22px;color:var(--on-dark-60)}
#vs .sub b{color:#fff}
.vsx{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0;margin-top:64px}
.vs-card{border-radius:26px;padding:34px 34px 30px;position:relative}
.vs-card .who{font:600 12px/1 "Pretendard Variable",Pretendard,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.vs-card h3{font-size:clamp(26px,2.6vw,36px);line-height:1.25;letter-spacing:-.04em;font-weight:800;margin:0 0 26px}
.vs-card ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vs-card li{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--on-dark-line)}
.vs-card li small{display:block;font-size:12px;letter-spacing:.02em;margin-bottom:4px;opacity:.7}
.vs-card li b{font-size:16px;line-height:1.5;font-weight:600}
.vs-card .i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;margin-top:2px}
.vs-card .i svg{width:15px;height:15px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.vs-card.me{background:linear-gradient(160deg,rgba(29,124,242,.28),rgba(29,124,242,.07) 60%);box-shadow:inset 0 0 0 1.5px rgba(80,160,255,.75),0 30px 80px -30px rgba(29,124,242,.6)}
.vs-card.me .who{color:var(--blue-l)}
.vs-card.me h3{color:#fff}
.vs-card.me .i{background:var(--blue)}
.vs-card.me .i svg{stroke:#fff}
.vs-card.other{background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--on-dark-line);color:var(--on-dark-60)}
.vs-card.other .who{color:var(--on-dark-60)}
.vs-card.other h3{color:rgba(242,245,249,.72)}
.vs-card.other li b{font-weight:500}
.vs-card.other .i{background:rgba(255,255,255,.08)}
.vs-card.other .i svg{stroke:rgba(242,245,249,.55)}
.vs-card.me[data-reveal]{transform:translateX(-48px)}
.vs-card.other[data-reveal]{transform:translateX(48px);--dl:180ms}
.vs-card[data-reveal].is-in{transform:none}
.vs-mark{align-self:center;width:76px;height:76px;margin:0 -14px;z-index:2;border-radius:50%;display:grid;place-items:center;font:700 22px/1 "Pretendard Variable",Pretendard,sans-serif;letter-spacing:.04em;color:#fff;background:var(--dark);box-shadow:inset 0 0 0 2px rgba(255,255,255,.85),0 0 0 8px var(--dark),0 0 40px rgba(80,160,255,.45);--dl:90ms}
.vs-mark[data-reveal]{transform:scale(.6)}
.vs-mark[data-reveal].is-in{transform:none}
.vs-q{margin:64px 0 0;font-size:clamp(28px,3.4vw,48px);line-height:1.25;font-weight:800;letter-spacing:-.045em;color:#fff}
.vs-q em{font-style:normal;color:var(--blue-l)}
.vs-cta{margin-top:26px}
@media (max-width:900px){
  .vsx{grid-template-columns:1fr;margin-top:40px}
  .vs-card{padding:26px 22px 20px;border-radius:22px}
  .vs-card.me{padding-bottom:40px}
  .vs-card.other{padding-top:40px}
  .vs-card li{padding:13px 0}
  .vs-card li b{font-size:15px}
  .vs-mark{justify-self:center;margin:-18px 0;width:62px;height:62px;font-size:18px}
  .vs-card.me[data-reveal],.vs-card.other[data-reveal]{transform:translateY(32px)}
  .vs-q{margin-top:44px}
  .vs-cta .btn{width:100%;justify-content:center}
}

/* line icons */
.ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;margin:0 0 18px;color:var(--blue);background:linear-gradient(160deg,#eef5ff,#dfeafb);box-shadow:inset 0 0 0 1px rgba(29,124,242,.22),0 8px 20px -12px rgba(29,124,242,.5)}
.ico svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dark .ico,.hero .ico{color:var(--blue-l);background:linear-gradient(160deg,rgba(29,124,242,.24),rgba(29,124,242,.05));box-shadow:inset 0 0 0 1px rgba(120,180,255,.38),0 10px 26px -14px rgba(29,124,242,.8)}
.ico.sm{width:36px;height:36px;border-radius:11px;margin:0 0 12px}
.ico.sm svg{width:18px;height:18px}
.costs article .ico{position:absolute;top:20px;right:20px;margin:0;z-index:1}
.costs article .ico+.k{visibility:hidden}

/* on-site crew photos (about) */
.crew{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-auto-rows:clamp(220px,22vw,320px);gap:14px;margin-top:56px}
.crew figure{margin:0;position:relative;border-radius:20px;overflow:hidden;background:#0d1622}
.crew img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.04)}
.crew figcaption{position:absolute;left:14px;bottom:12px;font-size:13px;font-weight:600;color:#fff;background:rgba(10,17,27,.62);padding:5px 11px;border-radius:999px;backdrop-filter:blur(6px)}
.crew-cap{margin:16px 0 0;font-size:13px;color:var(--on-dark-60)}
@media (max-width:900px){
  .crew{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:10px;margin-top:36px}
  .crew figure{aspect-ratio:4/3}
  .crew figure.wide{grid-column:1/-1;aspect-ratio:16/10}
  .crew figure{border-radius:16px}
  .ico{width:42px;height:42px;border-radius:12px;margin-bottom:14px}
  .ico svg{width:20px;height:20px}
}

/* animated icons (ported from AnimateIcons, MIT): play on hover, focus or first view */
.ai *{transform-box:view-box}
.ai-phone .w0,.ai-phone .w1{transform-origin:13px 11px}
.ai-phone .hs{transform-box:fill-box;transform-origin:center}
.ai-go.ai-phone .hs{animation:aiPhone .8s ease-in-out}
.ai-go.ai-phone .w0{animation:aiW0 .5s ease-in-out .15s}
.ai-go.ai-phone .w1{animation:aiW1 .5s ease-in-out .25s}
@keyframes aiPhone{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-6deg)}}
@keyframes aiW0{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes aiW1{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
.ai-receipt .pp{transform-origin:12px 12px}
.ai-receipt .l0{transform-origin:8px 8px}.ai-receipt .l1{transform-origin:8px 12px}.ai-receipt .l2{transform-origin:8px 16px}
.ai-go.ai-receipt .pp{animation:aiPaper .7s ease-in-out}
.ai-go.ai-receipt .l0{animation:aiLine .55s ease-in-out .05s}
.ai-go.ai-receipt .l1{animation:aiLine .55s ease-in-out .13s}
.ai-go.ai-receipt .l2{animation:aiLine .55s ease-in-out .21s}
@keyframes aiPaper{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}50%{transform:rotate(2.5deg)}75%{transform:rotate(-1deg)}}
@keyframes aiLine{0%,100%{transform:scaleX(1)}40%{transform:scaleX(.55)}75%{transform:scaleX(1.05)}}
.ai-file .pop{transform-origin:12px 12px}
.ai-file .d0{stroke-dasharray:3;--o:-3px}.ai-file .d1,.ai-file .d2{stroke-dasharray:9;--o:-9px}
.ai-go.ai-file .pop{animation:aiPop .6s ease-in-out}
.ai-go.ai-file .d0{animation:aiDash .4s ease-out both,aiFade .25s ease-out both}
.ai-go.ai-file .d1{animation:aiDash .4s ease-out .15s both,aiFade .25s ease-out .15s both}
.ai-go.ai-file .d2{animation:aiDash .4s ease-out .3s both,aiFade .25s ease-out .3s both}
@keyframes aiPop{0%,100%{transform:scale(1)}40%{transform:scale(1.08)}75%{transform:scale(.98)}}
@keyframes aiDash{from{stroke-dashoffset:var(--o)}to{stroke-dashoffset:0}}
@keyframes aiFade{from{opacity:0}to{opacity:1}}
.ai-badge .bd,.ai-badge .tk{transform-origin:12px 12px}
.ai-badge .tk{stroke-dasharray:9;--o:9px}
.ai-go.ai-badge .bd{animation:aiBadge .6s ease-in-out}
.ai-go.ai-badge .tk{animation:aiDash .45s ease-out .15s both,aiFade .3s .15s both,aiTick .45s ease-in-out .19s both}
@keyframes aiBadge{0%,100%{transform:scale(1)}35%{transform:scale(1.08)}70%{transform:scale(.97)}}
@keyframes aiTick{0%{transform:scale(.8)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
.ai-cal .tk{stroke-dasharray:10;--o:10px;transform-origin:12px 15px}
.ai-go.ai-cal .rg{animation:aiRing .6s ease-in-out}
.ai-go.ai-cal .tk{animation:aiDash .45s ease-out .15s both,aiFade .25s .15s both,aiTick .45s ease-in-out .19s both}
@keyframes aiRing{0%,100%{transform:translateY(0)}40%{transform:translateY(1.6px)}75%{transform:translateY(-.3px)}}
.ai-go.ai-school .bell{animation:aiBell .8s ease-in-out}
@keyframes aiBell{0%,100%{transform:translateX(0)}20%{transform:translateX(1.5px)}40%{transform:translateX(-1.2px)}60%{transform:translateX(.6px)}80%{transform:translateX(-.3px)}}
.ai-hand .shk{transform-origin:12px 12px}
.ai-go.ai-hand .shk{animation:aiShake .8s ease-in-out}
@keyframes aiShake{0%,100%{transform:none}25%{transform:translateY(1.2px) rotate(-4deg)}50%{transform:translateY(-1.2px) rotate(4deg)}75%{transform:translateY(.8px) rotate(-3deg)}}
