/* AHA WEB 메인 시안 v3 — 뮤자인 구성 참고 · 아하웹 버전 */
:root{
  --v-ink:#111113;--v-ink2:#55555c;--v-muted:#8a8a92;--v-line:#e6e6ea;--v-bg:#ffffff;--v-bg2:#f5f5f3;
  --v-dark:#0b0b0d;--v-dark2:#151518;--v-d-line:rgba(255,255,255,.14);--v-d-muted:rgba(255,255,255,.62);
  --v-pad:clamp(24px,4.4vw,72px);--v-sec:clamp(120px,12vw,200px);
  --v-ease:cubic-bezier(.16,1,.3,1);
  --v-en:"Outfit",var(--aha-font-sans,sans-serif);
}

/* ---------- 헤더: 문의 버튼 교체 · 메뉴 정리 ---------- */
body.ahv-home .aha-site-nav a{font-family:var(--v-en)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.04em!important}
body.ahv-home .aha-header-contact{display:inline-flex!important;align-items:center;gap:6px;height:36px!important;min-height:0!important;padding:0 16px!important;border-radius:4px!important;background:#fff!important;color:#111!important;border:0!important;box-shadow:none!important;font-family:var(--v-en)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.08em!important;background-image:none!important}
body.ahv-home .aha-header-contact:hover{background:#e9e9ec!important}

/* ---------- 히어로 ---------- */
.ahh{--ahh-edge:clamp(20px,3.75vw,56px);--ahh-hdr:75px;position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr auto;min-height:max(700px,100svh);height:100svh;padding:calc(var(--ahh-hdr) + clamp(28px,5vh,64px)) 0 clamp(28px,4.5vh,52px);background:#0c0c0f;color:#fff;overflow:hidden;font-family:var(--aha-font-sans,sans-serif);word-break:keep-all}
.ahh *,.ahh *::before,.ahh *::after{box-sizing:border-box}
.ahh-sr,.ahv-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.ahh-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.ahh-b{position:absolute;display:block;border-radius:50%;will-change:transform}
.ahh-b.b1{width:80vmax;height:80vmax;left:-30vmax;top:-38vmax;background:radial-gradient(circle,rgba(74,84,120,.62) 0%,rgba(74,84,120,.22) 36%,rgba(74,84,120,0) 64%);animation:ahhD1 26s ease-in-out infinite alternate}
.ahh-b.b2{width:66vmax;height:66vmax;right:-22vmax;top:-24vmax;background:radial-gradient(circle,rgba(140,138,146,.42) 0%,rgba(140,138,146,.14) 38%,rgba(140,138,146,0) 64%);animation:ahhD2 32s ease-in-out infinite alternate}
.ahh-b.b3{width:84vmax;height:84vmax;right:-26vmax;bottom:-54vmax;background:radial-gradient(circle,rgba(70,58,110,.5) 0%,rgba(70,58,110,.18) 36%,rgba(70,58,110,0) 64%);animation:ahhD3 28s ease-in-out infinite alternate}
.ahh-light{position:absolute;display:block;width:44vmax;height:44vmax;left:var(--mx,62%);top:var(--my,42%);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(210,214,230,.12) 0%,rgba(210,214,230,0) 62%);transition:left 1.4s var(--v-ease),top 1.4s var(--v-ease)}
.ahh-grain{position:absolute;display:block;inset:-50%;opacity:.12;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:ahhGrain 1.2s steps(4) infinite}
@keyframes ahhD1{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(14vw,10vh,0) scale(1.1)}}
@keyframes ahhD2{0%{transform:translate3d(0,0,0) scale(1.05)}100%{transform:translate3d(-16vw,14vh,0) scale(.92)}}
@keyframes ahhD3{0%{transform:translate3d(0,0,0) scale(.95)}100%{transform:translate3d(-12vw,-12vh,0) scale(1.08)}}
@keyframes ahhGrain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}

.ahh-word{position:relative;z-index:2;margin:0;padding:0 var(--ahh-edge);font-family:var(--v-en);font-weight:300;font-size:clamp(64px,7.6vw,138px);line-height:.9;letter-spacing:-.02em;white-space:nowrap}
.ahh-word span{display:inline-block;will-change:transform}
.ahh-word--b{text-align:right}
.ahh-bottom{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.ahh-tagline{margin:0 0 .5em;padding-left:var(--ahh-edge);font-size:15px;font-weight:500;line-height:1.6;color:rgba(255,255,255,.78);opacity:0;transition:opacity 1s var(--v-ease) 1.6s}
.ahh.is-split .ahh-tagline{opacity:1}

.ahh-strip{position:relative;z-index:2;display:flex;align-items:center;min-width:0;padding:clamp(20px,4vh,48px) 0}
.ahh-strip__viewport{width:100%;overflow:hidden}
.ahh-strip__track{display:flex;gap:clamp(28px,3vw,56px);margin:0;padding:0;list-style:none;width:max-content;will-change:transform;opacity:0;transform:translateX(120px);transition:opacity 1.2s var(--v-ease) .9s,transform 1.6s var(--v-ease) .9s}
.ahh.is-split .ahh-strip__track{opacity:1;transform:none}
.ahh.is-split .ahh-strip__track.is-running{transition:none}
.ahh-card{flex:0 0 auto;margin:0;padding:0}
.ahh-card__a{display:block;padding:0;margin:0;border:0;background:none;color:#fff;text-align:left;cursor:pointer;font:inherit}
.ahh-card__label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.ahh-card__label b{font-size:15px;font-weight:600}
.ahh-card__label span{font-family:var(--v-en);font-size:11px;font-weight:500;letter-spacing:.14em;color:rgba(255,255,255,.55)}
.ahh-card__img{display:block;height:clamp(200px,calc(100svh - 560px),400px);aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:#1a1a1e}
.ahh-card__img img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform 1.2s var(--v-ease),filter .6s;user-select:none;-webkit-user-drag:none}
.ahh-card__a:hover .ahh-card__img img{transform:scale(1.04)}
.ahh-card__a:focus-visible{outline:2px solid #fff;outline-offset:6px}

/* 등장: 가운데 한 줄 → 양 끝으로 갈라짐 */
.ahh-word span{transition:transform 1.5s var(--v-ease)}
.ahh:not(.is-ready) .ahh-word{opacity:0}
.ahh.is-ready .ahh-word{opacity:1;transition:opacity .8s ease}

@media (max-height:780px) and (min-width:761px){
  .ahh{padding-top:calc(var(--ahh-hdr) + 20px);padding-bottom:22px}
  .ahh-word{font-size:clamp(60px,6.6vw,112px)}
  .ahh-card__img{height:clamp(180px,calc(100svh - 470px),360px)}
}
@media (max-width:760px){
  .ahh{--ahh-edge:24px;--ahh-hdr:67px;height:auto;min-height:100svh;padding-top:calc(var(--ahh-hdr) + 36px)}
  .ahh-word{font-size:clamp(52px,17vw,76px)}
  .ahh-card__img{height:clamp(220px,62vw,300px)}
  .ahh-card__label b{font-size:14px}
  .ahh-strip__track{gap:20px}
  .ahh-bottom{flex-direction:column-reverse;align-items:stretch;gap:20px}
  .ahh-tagline{margin:0}
  .ahh-b.b2{display:none}
}

/* ---------- 공통 ---------- */
.ahv{font-family:var(--aha-font-sans,sans-serif);color:var(--v-ink);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
.ahv *,.ahv *::before,.ahv *::after,.ahv-layer *,.ahv-quick *{box-sizing:border-box;word-break:keep-all;overflow-wrap:break-word}
.ahv :where(h2,h3,p,ul,ol,dl,dd,dt){margin:0;padding:0}
.ahv :where(ul,ol){list-style:none}
.ahv img{max-width:100%;height:auto;display:block}
.ahv a{text-decoration:none;color:inherit}
.ahv br.pc{display:inline}
.ahv-sec{position:relative;padding:var(--v-sec) 0;overflow:hidden}
.ahv-inner{width:min(1360px,calc(100% - var(--v-pad)*2));margin:0 auto;position:relative;z-index:1}
.ahv-label{display:block;margin-bottom:22px;font-family:var(--v-en);font-size:13px;font-weight:500;letter-spacing:.18em;color:var(--v-muted)}
.ahv-label--dark{color:rgba(255,255,255,.5)}
.ahv-head{margin-bottom:clamp(56px,6vw,96px)}
.ahv-h2{font-size:clamp(26px,2.4vw,36px);font-weight:600;line-height:1.4;letter-spacing:-.02em}
.ahv-rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--v-ease),transform 1.1s var(--v-ease);transition-delay:var(--d,0ms)}
.ahv-rv.is-in{opacity:1;transform:none}
.ahv-link{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--v-ink);padding-bottom:4px;border-bottom:1px solid currentColor;white-space:nowrap}
.ahv-link svg,.ahv-btn svg,.ahv-layer svg,.ahv-quick svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ahv-link--light{color:#fff}
.ahv-link:hover{opacity:.65}
.ahv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:999px;background:var(--v-ink);color:#fff!important;font-size:16px;font-weight:600;white-space:nowrap;transition:transform .35s var(--v-ease),background-color .25s}
.ahv-btn:hover{transform:translateY(-2px);background:#2a2a2e}

/* 01 소개 + 흐르는 문구 */
.ahv-intro{background:var(--v-bg);text-align:center;padding-bottom:clamp(90px,9vw,150px)}
.ahv-marquee{margin-top:clamp(80px,8vw,130px);overflow:hidden;white-space:nowrap}
.ahv-marquee__track{display:inline-flex;gap:.6em;animation:ahvMarquee 40s linear infinite;font-family:var(--v-en);font-weight:300;font-size:clamp(56px,7.4vw,128px);line-height:1;letter-spacing:-.02em;color:#ececee}
.ahv-marquee__track span{padding-right:.6em}
@keyframes ahvMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* 02 하는 일 */
.ahv-what{background:var(--v-dark);color:#fff}
.ahv-what__ring{position:absolute;right:-12vw;top:50%;width:62vw;height:62vw;max-width:980px;max-height:980px;transform:translateY(-50%);border-radius:50%;border:clamp(40px,6vw,90px) solid rgba(255,255,255,.035);filter:blur(2px);animation:ahvSpin 60s linear infinite}
@keyframes ahvSpin{to{transform:translateY(-50%) rotate(360deg)}}
.ahv-what__list{display:flex;flex-direction:column;gap:clamp(6px,1vw,14px);margin-top:clamp(40px,4vw,64px)}
.ahv-what__item{display:flex;align-items:center;gap:clamp(16px,2vw,28px);padding-left:var(--x,0%)}
.ahv-what__word{font-family:var(--v-en);font-weight:300;font-size:clamp(52px,7vw,118px);line-height:1.04;letter-spacing:-.02em;white-space:nowrap;transition:color .4s}
.ahv-pill{display:inline-flex;align-items:center;height:44px;padding:0 20px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:15px;font-weight:500;color:rgba(255,255,255,.86);white-space:nowrap;transition:background-color .35s,color .35s,border-color .35s}
.ahv-what__item:hover .ahv-pill{background:#fff;color:#111;border-color:#fff}
.ahv-what__item:hover .ahv-what__word{color:#cfcfd6}

/* 03 업종 */

/* 04 오픈 후 지원 */
.ahv-care{background:var(--v-dark2);color:#fff}
.ahv-care__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--v-d-line)}
.ahv-care__card{display:flex;flex-direction:column;align-items:flex-start;padding:44px clamp(24px,2.6vw,44px) 8px 0}
.ahv-care__card+.ahv-care__card{padding-left:clamp(24px,2.6vw,44px);border-left:1px solid var(--v-d-line)}
.ahv-care__no{font-family:var(--v-en);font-size:14px;font-weight:500;letter-spacing:.12em;color:rgba(255,255,255,.4)}
.ahv-care__label{margin-top:40px;font-size:15px;font-weight:600;color:rgba(255,255,255,.6)}
.ahv-care__title{margin-top:10px!important;font-size:clamp(21px,1.7vw,25px);font-weight:600;line-height:1.45;letter-spacing:-.02em}
.ahv-care__desc{margin-top:14px!important;font-size:16px;line-height:1.7;color:var(--v-d-muted)}
.ahv-care__cond{margin-top:18px!important;padding-top:18px;border-top:1px solid var(--v-d-line);width:100%;font-size:14px;line-height:1.7;color:rgba(255,255,255,.5);flex:1}
.ahv-care__card .ahv-link{margin-top:28px}

/* 05 문의 */

/* 메인에서는 푸터 문의 버튼 중복 제거 */
body.ahv-home .aha-footer-cta{display:none!important}

/* ---------- 설명 창 ---------- */
.ahv-layer{position:fixed;inset:0;z-index:2147483001;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--aha-font-sans,sans-serif);color:#111;word-break:keep-all}
.ahv-layer[hidden]{display:none}
.ahv-layer__dim{position:absolute;inset:0;background:rgba(10,10,12,.66);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .35s}
.ahv-layer__box{position:relative;width:min(1000px,100%);max-height:min(720px,calc(100dvh - 48px));display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:#fff;border-radius:4px;overflow:hidden;opacity:0;transform:translateY(24px);transition:opacity .4s,transform .5s var(--v-ease)}
.ahv-layer.is-open .ahv-layer__dim{opacity:1}
.ahv-layer.is-open .ahv-layer__box{opacity:1;transform:none}
.ahv-layer__media{background:#f1f1f2;padding:32px;display:flex;align-items:center}
.ahv-layer__media img{width:100%;height:auto;display:block;box-shadow:0 18px 40px rgba(0,0,0,.14)}
.ahv-layer__body{padding:52px 44px 40px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:flex-start}
.ahv-layer__close{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid #e6e6ea;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#111}
.ahv-layer__close svg{width:18px;height:18px}
.ahv-layer__tag{font-family:var(--v-en);font-size:12px;font-weight:600;letter-spacing:.12em;color:#8a8a92}
.ahv-layer__title{margin:14px 0 0;font-size:clamp(24px,2vw,30px);font-weight:700;letter-spacing:-.02em}
.ahv-layer__desc{margin:14px 0 0;font-size:16px;line-height:1.7;color:#55555c}
.ahv-layer__list{width:100%;margin:28px 0 0;padding:0;list-style:none;border-top:1px solid #111}
.ahv-layer__list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e6e6ea;font-size:16px;font-weight:600}
.ahv-layer__list a{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#111;text-decoration:none;white-space:nowrap}
.ahv-layer__list a:hover{opacity:.6}
.ahv-layer__list em{font-style:normal;font-size:13px;color:#8a8a92}
.ahv-layer__note{margin:14px 0 0;font-size:13px;color:#8a8a92}
.ahv-layer .ahv-btn{margin-top:28px;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 26px;border-radius:999px;background:#111;color:#fff;font-size:16px;font-weight:600;text-decoration:none}
html.ahv-lock,html.ahv-lock body{overflow:hidden}

/* ---------- 새 빠른 메뉴 ---------- */
.ahv-quick{position:fixed;right:24px;bottom:24px;z-index:2147482990;display:flex;align-items:center;gap:8px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s,transform .45s var(--v-ease),visibility .35s;font-family:var(--aha-font-sans,sans-serif)}
.ahv-quick.is-show{opacity:1;visibility:visible;transform:none}
.ahv-quick__cta{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px;border-radius:999px;background:#111;color:#fff;border:1px solid rgba(255,255,255,.18);font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.ahv-quick__cta:hover{background:#2a2a2e}
.ahv-quick__top{width:48px;height:48px;border-radius:50%;border:1px solid rgba(17,17,19,.12);background:#fff;color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.16)}

@media (max-width:1100px){
  .ahv-care__grid{grid-template-columns:1fr}
  .ahv-care__card,.ahv-care__card+.ahv-care__card{padding:40px 0 36px;border-left:0}
  .ahv-care__card+.ahv-care__card{border-top:1px solid var(--v-d-line)}
  .ahv-layer__box{grid-template-columns:1fr;max-height:calc(100dvh - 48px);overflow-y:auto}
  .ahv-layer__body{overflow:visible}
}
@media (max-width:760px){
  :root{--v-pad:24px;--v-sec:110px}
  .ahv br.pc{display:none}
  .ahv-what__item{padding-left:0;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px}
  .ahv-what__item--l{flex-direction:row-reverse;justify-content:flex-end}
  .ahv-what__word{font-size:clamp(44px,14vw,64px)}
  .ahv-pill{height:36px;padding:0 14px;font-size:13px}
  .ahv-layer{padding:0;align-items:stretch}
  .ahv-layer__box{max-height:none;height:100dvh;border-radius:0}
  .ahv-layer__media{padding:68px 20px 20px}
  .ahv-layer__body{padding:28px 24px 40px}
  .ahv-layer .ahv-btn{width:100%;justify-content:center}
  .ahv-quick{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
  .ahv-quick__cta{height:44px;padding:0 16px;font-size:14px}
  .ahv-quick__top{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  .ahh-b,.ahh-grain,.ahv-marquee__track,.ahv-what__ring{animation:none!important}
  .ahh-word span,.ahh-strip__track,.ahv-rv,.ahh-tagline{transition:none!important;transform:none!important;opacity:1!important}
}

/* 푸터 글꼴 정리 (메인 시안) */
body.ahv-home .aha-footer-intro h2{font-family:var(--v-en)!important;font-weight:300!important;font-size:clamp(34px,3vw,48px)!important;line-height:1.05!important;letter-spacing:-.02em!important}
body.ahv-home .aha-footer-intro p{font-size:15px!important;color:rgba(255,255,255,.6)!important}
body.ahv-home .aha-footer-nav a{font-family:var(--v-en)!important;font-size:15px!important;font-weight:500!important;letter-spacing:.06em!important}

/* 모바일: 단어 아래 알약 정렬 통일 */
@media (max-width:760px){
  .ahv-what__item,.ahv-what__item--l{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;margin-bottom:22px}
  .ahv-what__item--l .ahv-pill{order:2}
}

/* 히어로 카드: 한 화면에 2~3개(최대 4개)만 보이도록 크게 */
.ahh-card__img{height:auto!important;width:clamp(240px,min(26vw,calc((100svh - 410px) * .8)),520px);aspect-ratio:4/5}
.ahh{padding-top:calc(var(--ahh-hdr) + clamp(20px,3.2vh,40px))}
.ahh-strip{padding:clamp(14px,2.4vh,28px) 0}
.ahh-card__label{margin-bottom:10px}
@media (max-width:760px){
  .ahh-card__img{width:44vw}
  .ahh-strip__track{gap:14px}
}
.ahh-card__img{width:clamp(240px,max(calc(25vw - 40px),min(26vw,calc((100svh - 410px) * .8))),520px)}
.ahh-card__a.is-soon{cursor:default}
.ahh-card__a.is-soon .ahh-card__img img{filter:grayscale(.2) brightness(.85)}
.ahh-card__a.is-soon:hover .ahh-card__img img{transform:none}
@media (max-width:760px){.ahh-card__img{width:44vw}}

/* ========== 포인트 컬러(보라) + 인터랙션 ========== */
:root{--v-pri:#5a3fe0;--v-pri-d:#4630c2;--v-pri2:#8f86ff;--v-pri-soft:#f1eeff;--v-grad:linear-gradient(100deg,#ffffff 0%,#d6d0ff 38%,#8f86ff 62%,#5a3fe0 82%,#ffffff 100%);--v-grad-l:linear-gradient(100deg,#5a3fe0 0%,#8f86ff 50%,#5a3fe0 100%)}
@keyframes ahvShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* 헤더 CONTACT */
body.ahv-home .aha-header-contact{background:var(--v-pri)!important;color:#fff!important}
body.ahv-home .aha-header-contact:hover{background:var(--v-pri2)!important}

/* 히어로 */
.ahh-b.b3{background:radial-gradient(circle,rgba(98,64,236,.6) 0%,rgba(98,64,236,.2) 36%,rgba(98,64,236,0) 64%)!important}
.ahh-card__a:hover .ahh-card__img{box-shadow:0 24px 60px rgba(90,63,224,.38)}
.ahh-card__img{transition:box-shadow .6s var(--v-ease),transform .6s var(--v-ease)}
.ahh-card__a:hover .ahh-card__img{transform:translateY(-6px)}
.ahh-card__a:hover .ahh-card__label span{color:var(--v-pri2)}
.ahh-card__label span{transition:color .3s}

/* 공통 포인트 */
.ahv-label{color:var(--v-pri)}
.ahv-label--dark{color:var(--v-pri2)}
.ahv-btn{background:var(--v-pri)}
.ahv-btn:hover{background:var(--v-pri-d);box-shadow:0 14px 30px rgba(90,63,224,.3)}
.ahv-link:hover{opacity:1;color:var(--v-pri)}
.ahv-link--light:hover{color:var(--v-pri2)}

/* 소개 */
.ahv-marquee__track{color:#ececee;animation:none;will-change:transform}
.ahv-marquee__track span.is-line{color:transparent;-webkit-text-stroke:1px #a99bff}

/* 하는 일 */
.ahv-what__ring{border:0!important;background:conic-gradient(from 0deg,rgba(143,134,255,0) 0deg,rgba(143,134,255,.22) 90deg,rgba(90,63,224,0) 180deg,rgba(143,134,255,.14) 270deg,rgba(143,134,255,0) 360deg);-webkit-mask:radial-gradient(circle,transparent 54%,#000 55%,#000 70%,transparent 71%);mask:radial-gradient(circle,transparent 54%,#000 55%,#000 70%,transparent 71%);filter:blur(1px)}
.ahv-what__glow{position:absolute;left:var(--gx,70%);top:var(--gy,50%);width:44vmax;height:44vmax;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(98,64,236,.28) 0%,rgba(98,64,236,0) 62%);pointer-events:none;transition:left 1.1s var(--v-ease),top 1.1s var(--v-ease);z-index:0}
.ahv-what__item{will-change:transform}
.ahv-what__word{background:linear-gradient(100deg,#fff 0%,#fff 45%,#c9c1ff 60%,#8f86ff 80%,#fff 100%);background-size:260% 100%;background-position:0% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .9s var(--v-ease)}
.ahv-what__item:hover .ahv-what__word{color:transparent;background-position:100% 50%}
.ahv-what__item:hover .ahv-pill{background:var(--v-pri);border-color:var(--v-pri);color:#fff}

/* 업종 */

/* 오픈 후 지원 */
.ahv-care{background:radial-gradient(60% 70% at 85% 0%,rgba(98,64,236,.18),transparent 62%),var(--v-dark2)}
.ahv-care__no{color:var(--v-pri2)}
.ahv-care__card{position:relative}
.ahv-care__card::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--v-grad-l);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--v-ease)}
.ahv-care__card:hover::before{transform:scaleX(1)}

/* 문의 */

/* 빠른 메뉴 */
.ahv-quick__cta{background:var(--v-pri);border-color:transparent}
.ahv-quick__cta:hover{background:var(--v-pri-d)}

/* 스크롤 진행 표시줄 */
.ahv-progress{position:fixed;left:0;top:0;right:0;height:2px;z-index:2147483000;pointer-events:none}
.ahv-progress i{display:block;height:100%;width:100%;transform:scaleX(var(--p,0));transform-origin:left;background:linear-gradient(90deg,#8f86ff,#5a3fe0)}

/* 자석 버튼 */
.is-magnet{transition:transform .5s var(--v-ease)}

@media (max-width:760px){
  .ahv-what__glow{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ahh-word--b span{animation:none!important}
}

/* 레퍼런스 방식: 첫 화면 고정 + 스크롤에 따라 카드가 옆으로 */
.ahh-pin{position:relative}
.ahh{position:sticky;top:0;height:100svh!important;min-height:0!important}
.ahh-strip__track{padding:0 var(--ahh-edge);transition:none!important;opacity:1!important;transform:none}
.ahh-strip__viewport{opacity:0;transform:translateX(120px);transition:opacity 1.2s var(--v-ease) .9s,transform 1.6s var(--v-ease) .9s}
.ahh.is-split .ahh-strip__viewport{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ahh-strip__viewport{opacity:1!important;transform:none!important;transition:none!important}}

/* ========== 소개: 영문 선언문 + 원형 그래픽 (이트리움 참고 · 아하웹 버전) ========== */
.ahv-intro{text-align:left;padding-bottom:var(--v-sec)}


@media (max-width:1100px){
}
@media (max-width:760px){
}
@media (prefers-reduced-motion:reduce){.ahv-state__line em{animation:none!important}}

/* 수정: 자간 0 · 소개 단순화(원형 그래픽·띠 삭제) */
.ahh-word{letter-spacing:0!important}


/* 업종 선택 — 기존 카테고리 리디자인 */
.ahv-cat{background:var(--v-bg)}
.ahv-cat__head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(48px,5vw,80px)}
.ahv-cat__head .ahv-h2{margin:0}
.ahv-cat__copy{margin:0;font-size:16px;line-height:1.7;color:var(--v-ink2);text-align:right}
.ahv-cat__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,4vw,72px);margin:0;padding:0;list-style:none}
.ahv-cat__item{border-top:1px solid var(--v-line)}
.ahv-cat__item:nth-last-child(-n+2){border-bottom:1px solid var(--v-line)}

/* 문의 — 소개 영문 문장과 같은 형식 */
.ahv-cta{background:var(--v-bg)}
.ahv-cta__big{margin-top:clamp(20px,3vw,40px)}
.ahv-cta__line{margin:0;font-family:var(--v-en);font-weight:300;font-size:clamp(44px,6.6vw,120px);line-height:1.04;letter-spacing:0;color:var(--v-ink);white-space:nowrap}
.ahv-cta__line.is-r{text-align:right}
.ahv-cta__line em{font-style:normal;background:var(--v-grad-l);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ahvShine 8s ease-in-out infinite}
.ahv-cta__row{display:grid;grid-template-columns:minmax(0,1.3fr) auto auto;gap:clamp(32px,5vw,96px);align-items:end;margin-top:clamp(56px,6vw,96px);padding-top:clamp(32px,3vw,48px);border-top:1px solid var(--v-line)}
.ahv-cta__lead{margin:0;font-size:17px;line-height:1.7;color:var(--v-ink2)}
.ahv-cta__info{display:flex;gap:clamp(28px,3.4vw,56px);margin:0}
.ahv-cta__info dt{margin:0 0 8px;font-family:var(--v-en);font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--v-muted)}
.ahv-cta__info dd{margin:0;font-size:18px;font-weight:600;white-space:nowrap}
.ahv-cta__info a{color:var(--v-ink)!important;text-decoration:none!important;transition:color .25s}
.ahv-cta__info a:hover{color:var(--v-pri)!important}

@media (max-width:1100px){
  .ahv-cta__row{grid-template-columns:1fr auto;align-items:end}
  .ahv-cta__lead{grid-column:1/-1}
}
@media (max-width:760px){
  .ahv-cat__head{flex-direction:column;align-items:flex-start;gap:16px}
  .ahv-cat__copy{text-align:left;font-size:15px}
  .ahv-cat__list{grid-template-columns:1fr}
  .ahv-cat__item:nth-last-child(2){border-bottom:0}
  .ahv-cta__line{font-size:clamp(30px,9.6vw,46px)}
  .ahv-cta__row{grid-template-columns:1fr;gap:28px}
  .ahv-cta__lead{font-size:15px}
  .ahv-cta__info{flex-direction:column;gap:18px}
  .ahv-cta__btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.ahv-cta__line em{animation:none!important}}

/* 히어로 배경 모션 · 가운데 카드 강조 */
.ahh-gl{position:absolute;inset:0;width:100%;height:100%;display:block}
.ahh.has-gl .ahh-b,.ahh.has-gl .ahh-light{display:none}
.ahh.has-gl{background:#05060f}
.ahh.has-gl .ahh-grain{opacity:.07}
.ahh-card{transform-origin:50% 50%;will-change:transform}
.ahh-card__img{position:relative}
.ahh-card__img::after{content:"";position:absolute;inset:0;background:#05060f;opacity:calc((1 - var(--f,1)) * .45);pointer-events:none;transition:opacity .2s}
.ahh-card__label{opacity:calc(.45 + var(--f,1) * .55)}

/* ========== 소개 v4: 어두운 배경 · 스크롤 스토리 + 점 변신 그래픽 ========== */
.ahv-intro{background:#05060f;color:#fff;overflow:visible;padding-bottom:0}
.ahv-intro::before{content:"";position:absolute;left:0;right:0;top:0;height:70%;background:radial-gradient(55% 60% at 12% 0%,rgba(38,50,140,.32),rgba(38,50,140,0) 70%);pointer-events:none}
.ahv-intro__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,120px);align-items:end}
.ahv-intro__h{margin:0;font-size:clamp(28px,2.7vw,42px);font-weight:600;line-height:1.42;letter-spacing:-.025em;color:#fff}
.ahv-intro__p{margin:0;font-size:17px;line-height:1.8;color:rgba(255,255,255,.6)}
.ahv-story{position:relative;height:380vh}
.ahv-story__stick{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center}
.ahv-story__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,120px);align-items:center}
.ahv-story__vis{position:relative;width:100%;max-width:min(600px,calc(100svh - 160px));aspect-ratio:1/1;justify-self:center}
.ahv-story__vis canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ahv-story__list{position:relative;margin:0;padding:0 0 0 clamp(24px,2.4vw,40px);list-style:none;border-left:1px solid rgba(255,255,255,.14)}
.ahv-story__list::before{content:"";position:absolute;left:-1px;top:0;width:1px;height:calc(var(--sp,0) * 100%);background:linear-gradient(180deg,#8f86ff,#5a3fe0)}
.ahv-story__item{padding:clamp(16px,2.6vh,30px) 0;opacity:.24;transition:opacity .7s var(--v-ease)}
.ahv-story__item.is-on{opacity:1}
.ahv-story__no{display:block;margin-bottom:12px;font-family:var(--v-en);font-size:13px;font-weight:500;letter-spacing:.14em;color:#8f86ff}
.ahv-story__en{margin:0;font-family:var(--v-en);font-weight:300;font-size:clamp(26px,2.6vw,44px);line-height:1.1;letter-spacing:0;color:#fff;white-space:nowrap}
.ahv-story__en em{font-style:normal;color:#a69dff}
.ahv-story__ko{margin:14px 0 0;font-size:16px;line-height:1.7;color:rgba(255,255,255,.62)}
@media (max-width:900px){
  .ahv-intro{padding-bottom:var(--v-sec)}
  .ahv-intro__head{grid-template-columns:1fr;gap:20px}
  .ahv-story{height:auto}
  .ahv-story__stick{position:relative;height:auto;display:block;padding-top:clamp(40px,8vw,80px)}
  .ahv-story__grid{grid-template-columns:1fr;gap:28px}
  .ahv-story__vis{max-width:min(420px,100%)}
  .ahv-story__item{opacity:1}
  .ahv-story__list::before{display:none}
}
@media (max-width:760px){
  .ahv-intro__h{font-size:clamp(24px,6.6vw,30px)}
  .ahv-intro__p{font-size:15px}
  .ahv-story__en{font-size:clamp(24px,7.4vw,32px);white-space:normal}
  .ahv-story__ko{font-size:15px}
}


/* 업종 선택 v2 — 한글 먼저 + 기존 아이콘 */
.ahv-cat__a{position:relative;display:grid;grid-template-columns:60px minmax(0,1fr) 44px;align-items:center;gap:22px;padding:24px 0;color:var(--v-ink)!important;text-decoration:none!important}
.ahv-cat__a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--v-grad-l);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--v-ease)}
.ahv-cat__icon{width:60px;height:60px;border-radius:50%;background:var(--v-pri-soft);color:var(--v-pri);display:flex;align-items:center;justify-content:center;transition:background-color .35s,color .35s,transform .5s var(--v-ease)}
.ahv-cat__icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ahv-cat__txt{display:flex;align-items:baseline;gap:14px;min-width:0;transition:transform .6s var(--v-ease)}
.ahv-cat__ko{font-size:clamp(20px,1.6vw,24px);font-weight:600;letter-spacing:-.02em;white-space:nowrap;transition:color .3s}
.ahv-cat__en{font-family:var(--v-en);font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--v-muted);white-space:nowrap}
.ahv-cat__go{width:44px;height:44px;border-radius:50%;border:1px solid var(--v-line);display:flex;align-items:center;justify-content:center;color:var(--v-ink);transition:background-color .35s,border-color .35s,color .35s,transform .5s var(--v-ease)}
.ahv-cat__go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ahv-cat__a:hover::after,.ahv-cat__a:focus-visible::after{transform:scaleX(1)}
.ahv-cat__a:hover .ahv-cat__icon,.ahv-cat__a:focus-visible .ahv-cat__icon{background:var(--v-pri);color:#fff;transform:rotate(-6deg)}
.ahv-cat__a:hover .ahv-cat__txt,.ahv-cat__a:focus-visible .ahv-cat__txt{transform:translateX(8px)}
.ahv-cat__a:hover .ahv-cat__ko,.ahv-cat__a:focus-visible .ahv-cat__ko{color:var(--v-pri)}
.ahv-cat__a:hover .ahv-cat__go,.ahv-cat__a:focus-visible .ahv-cat__go{background:var(--v-pri);border-color:var(--v-pri);color:#fff;transform:rotate(45deg)}
@media (max-width:1100px){
  .ahv-cat__txt{flex-direction:column;align-items:flex-start;gap:4px}
}
@media (max-width:760px){
  .ahv-cat__a{grid-template-columns:48px minmax(0,1fr) 38px;gap:16px;padding:18px 0}
  .ahv-cat__icon{width:48px;height:48px}
  .ahv-cat__icon svg{width:26px;height:26px}
  .ahv-cat__ko{font-size:18px}
  .ahv-cat__en{font-size:11px}
  .ahv-cat__go{width:38px;height:38px}
}

/* ========== 전체 어둡게 (업종 · 문의도 블랙) ========== */
.ahv-cat{background:#08090f;color:#fff}
.ahv-cat .ahv-h2{color:#fff}
.ahv-cat__copy{color:rgba(255,255,255,.6)}
.ahv-cat__item{border-top-color:rgba(255,255,255,.12)}
.ahv-cat__item:nth-last-child(-n+2){border-bottom-color:rgba(255,255,255,.12)}
.ahv-cat__a{color:#fff!important}
.ahv-cat__icon{background:rgba(143,134,255,.12);color:#a69dff}
.ahv-cat__en{color:rgba(255,255,255,.45)}
.ahv-cat__go{border-color:rgba(255,255,255,.2);color:#fff}
.ahv-cat__a:hover .ahv-cat__ko,.ahv-cat__a:focus-visible .ahv-cat__ko{color:#a69dff}
.ahv-cat__a:hover .ahv-cat__icon,.ahv-cat__a:focus-visible .ahv-cat__icon{background:var(--v-pri);color:#fff}
.ahv-cta{background:#05060f;color:#fff}
.ahv-cta::before{content:"";position:absolute;left:0;right:0;bottom:0;height:80%;background:radial-gradient(50% 60% at 85% 100%,rgba(90,63,224,.22),rgba(90,63,224,0) 70%),radial-gradient(45% 55% at 10% 100%,rgba(38,50,140,.3),rgba(38,50,140,0) 70%);pointer-events:none}
.ahv-cta__line{color:#fff}
.ahv-cta__line em{background:linear-gradient(100deg,#8f86ff 0%,#c9c3ff 50%,#8f86ff 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text}
.ahv-cta__row{border-top-color:rgba(255,255,255,.14)}
.ahv-cta__lead{color:rgba(255,255,255,.62)}
.ahv-cta__info dt{color:rgba(255,255,255,.45)}
.ahv-cta__info a{color:#fff!important}
.ahv-cta__info a:hover{color:#a69dff!important}
@media (max-width:760px){.ahv-cat__item:nth-last-child(2){border-bottom:0}}

/* 헤더 반투명 배경 삭제 */
body.ahv-home .aha-site-header,body.ahv-home .aha-site-header.is-scrolled{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
/* 히어로 ↔ 소개 경계 없이 */
.ahh::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(5,6,15,0) 0%,rgba(5,6,15,.55) 55%,#05060f 100%);z-index:1;pointer-events:none}
.ahv-intro::before{display:none}
/* 소개 문단 세 줄 */
.ahv-intro__head{grid-template-columns:1fr;gap:28px;align-items:start}
.ahv-intro__p{max-width:none}
@media (min-width:1024px){.ahv-intro__p{white-space:nowrap}}
/* 아래 섹션 톤 맞추기 */
.ahv-care{background:radial-gradient(60% 70% at 85% 0%,rgba(98,64,236,.14),transparent 62%),#0b0c13}

/* 푸터 제목 한글 */
body.ahv-home .aha-footer-intro h2 .ahv-foot-h{display:block;font-family:var(--aha-font-sans,sans-serif);font-weight:600;font-size:clamp(26px,2.3vw,38px);line-height:1.4;letter-spacing:-.025em}

/* 시안: 현재 페이지 메뉴 표시 */
body.ahv-home .aha-site-nav a[aria-current="page"],body.ahv-home .aha-mobile-menu-links a[aria-current="page"]{color:#a69dff!important}

/* 히어로: 카드가 화면 높이를 넘지 않게 */
.ahh-strip{min-height:0}
.ahh-card__img{width:var(--ahh-cw,clamp(240px,max(calc(25vw - 40px),min(26vw,calc((100svh - 410px) * .8))),520px))!important}
@media (max-width:760px){.ahh-card__img{width:var(--ahh-cw,44vw)!important}}

/* 헤더: 히어로를 지나면 반투명 배경 */
body.ahv-home .aha-site-header{transition:background-color .4s ease,box-shadow .4s ease}
/* 흐림 효과는 헤더 자체가 아니라 ::before에 준다 (헤더에 backdrop-filter가 걸리면 안쪽 fixed 모바일 메뉴 높이가 0이 됨) */
body.ahv-home .aha-site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(5,6,15,.62);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);opacity:0;transition:opacity .4s ease;pointer-events:none}
body.ahv-home.ahv-past-hero .aha-site-header::before{opacity:1}
body.ahv-home.aha-mobile-menu-open .aha-site-header::before{opacity:0;transition:none}
body.ahv-home.ahv-past-hero .aha-site-header,body.ahv-home.ahv-past-hero .aha-site-header.is-scrolled{box-shadow:0 1px 0 rgba(255,255,255,.08)!important}

/* 푸터 가로폭을 헤더와 통일 (로고 시작선 = 푸터 시작선) */
body.ahv-home .aha-footer-inner{width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:var(--ahv-hdr-edge,54px)!important;padding-right:var(--ahv-hdr-edge,54px)!important;box-sizing:border-box}

@media (max-width:760px){.ahh-word{font-size:clamp(44px,15.4vw,70px)}}

/* 히어로: 영문 큰 글자 줄이고 업종 이름 잘 보이게 */
.ahh-word{font-size:clamp(48px,5.4vw,104px)!important}
.ahh-card__label{align-items:center;margin-bottom:12px;opacity:calc(.72 + var(--f,1) * .28)}
.ahh-card__label b{font-size:18px;font-weight:600;color:#fff;letter-spacing:-.01em}
.ahh-card__label span{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-family:var(--aha-font-sans,sans-serif);font-size:12px;font-weight:600;letter-spacing:0;color:rgba(255,255,255,.75);white-space:nowrap}
.ahh-card__a:hover .ahh-card__label span{color:#fff;border-color:var(--v-pri2)}
@media (max-width:760px){
  .ahh-word{font-size:clamp(38px,11.6vw,56px)!important}
  .ahh-card__label b{font-size:15px}
  .ahh-card__label span{height:22px;padding:0 8px;font-size:11px}
}

/* WEB 글자 색 */
.ahh{--ahh-webg:linear-gradient(100deg,#f1efff 0%,#c9c1ff 45%,#9d90f2 100%)}

/* 첫 등장: 글자는 처음에 보이지 않다가, 보라빛 줄기가 지나가는 자리부터 드러남 (흐린 글자·선 느낌 없음) */
.ahh-word{font-weight:400!important;letter-spacing:.06em!important}
.ahh-word--b span{margin-right:-.06em}
.ahh-word span,.ahh-by span{--ang:150deg;--p:-900%;--pw:10%;--q:-900%;--ga:0;color:transparent;-webkit-text-fill-color:transparent;filter:none;opacity:1;clip-path:none;animation:none;transition:transform 1.6s var(--v-ease);
  background-image:linear-gradient(var(--ang),rgba(240,237,255,0) calc(var(--p) - var(--pw)),rgba(240,237,255,var(--ga)) var(--p),rgba(240,237,255,0) calc(var(--p) + var(--pw))),linear-gradient(#fff,#fff);
  background-size:100% 100%;background-repeat:no-repeat;background-position:0 0;-webkit-background-clip:text;background-clip:text;
  -webkit-mask-image:linear-gradient(var(--ang),#000 calc(var(--q) - var(--pw)),transparent calc(var(--q) + var(--pw)));mask-image:linear-gradient(var(--ang),#000 calc(var(--q) - var(--pw)),transparent calc(var(--q) + var(--pw)))}
.ahh-word--b span{background-image:linear-gradient(var(--ang),rgba(240,237,255,0) calc(var(--p) - var(--pw)),rgba(240,237,255,var(--ga)) var(--p),rgba(240,237,255,0) calc(var(--p) + var(--pw))),var(--ahh-webg)}
@media (prefers-reduced-motion:reduce){.ahh-word span{transition:none!important}}

/* BY AHA WEB: BETTER WEB 바로 아래 작게, 빛줄기가 지나갈 때 같이 드러남 */
.ahh-by{margin:.9em 0 0;padding:0 var(--ahh-edge);font-family:var(--v-en);font-size:13px;font-weight:500;line-height:1;letter-spacing:.34em;white-space:nowrap}
.ahh-by span{display:inline-block;margin-right:-.34em;background-image:linear-gradient(var(--ang),rgba(240,237,255,0) calc(var(--p) - var(--pw)),rgba(240,237,255,var(--ga)) var(--p),rgba(240,237,255,0) calc(var(--p) + var(--pw))),linear-gradient(rgba(236,233,255,.62),rgba(236,233,255,.62))}
@media (max-width:760px){.ahh-by{font-size:11px;letter-spacing:.28em}.ahh-by span{margin-right:-.28em}}

.ahh-gl{z-index:0}

/* 실제 운영 중인 사이트 표시 */
.ahh-card__label span.is-live::before{content:"";width:6px;height:6px;margin-right:6px;border-radius:50%;background:#7ee2b8;box-shadow:0 0 8px rgba(126,226,184,.7)}

/* 01·02·03 구간: 눌러서 바꾸기, 위아래 간격 넓힘, 왼쪽 오브젝트 크게 */
.ahv-story__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.ahv-story__vis{max-width:min(720px,calc(100svh - 120px))}
.ahv-story__item{padding:clamp(26px,4.6vh,52px) 0;cursor:pointer;outline:none}
.ahv-story__item:not(.is-on):hover{opacity:.55}
.ahv-story__item:focus-visible .ahv-story__en{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media (max-width:900px){.ahv-story__grid{grid-template-columns:1fr}.ahv-story__item{padding:clamp(16px,2.6vh,30px) 0}}

/* v7 히어로 배치: BETTER WEB은 오른쪽 위 한 줄, 그 아래 카드 슬라이드, 소개 문구는 왼쪽 아래 (레퍼런스와 다른 구성) */
.ahh{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:". title" "strip strip" "tag tag"}
.ahh-strip{grid-area:strip}
.ahh-title{grid-area:title;position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-end;padding:0 var(--ahh-edge);min-width:0}
.ahh-title__row{display:flex;align-items:baseline;gap:clamp(14px,1.7vw,32px)}
.ahh-title .ahh-word{padding:0}
.ahh-title .ahh-by{padding:0}
.ahh-tagline{grid-area:tag;position:relative;z-index:2;align-self:end;margin:0;padding:0 var(--ahh-edge);text-align:left}
.ahh-word span,.ahh-by span{transform:translateY(.35em)}
.ahh-by span{transform:translateY(1.2em)}
.ahh.is-lit .ahh-word span,.ahh.is-lit .ahh-by span{transform:none}
.ahh-word--a span{transition:transform 1.5s var(--v-ease) .45s}
.ahh-word--b span{transition:transform 1.5s var(--v-ease) .6s}
.ahh-by span{transition:transform 1.5s var(--v-ease) .75s}
@media (max-width:760px){
  .ahh{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"title" "strip" "tag";row-gap:16px}
  .ahh-word{font-size:clamp(36px,10.6vw,52px)!important}
}
@media (prefers-reduced-motion:reduce){.ahh-word span,.ahh-by span{transform:none!important}}

/* 큰 영문 글자 조금 두껍게 (300 → 400) */
.ahv-marquee__track,.ahv-what__word,.ahv-cta__line,.ahv-story__en{font-weight:400}
.ahv-home .aha-footer-intro h2{font-weight:400!important}

/* 첫 등장 순서: BETTER → WEB → BY AHA WEB 차례로, 이어서 프로젝트 카드 바로 */
.ahh-word span,.ahh-by span{-webkit-mask-image:none;mask-image:none;opacity:0}
.ahh.is-lit .ahh-word span,.ahh.is-lit .ahh-by span{opacity:1}
.ahh-word--a span{transition:opacity .8s ease .15s,transform 1.1s var(--v-ease) .15s}
.ahh-word--b span{transition:opacity .8s ease .45s,transform 1.1s var(--v-ease) .45s}
.ahh-by span{transition:opacity .8s ease .8s,transform 1.1s var(--v-ease) .8s}
.ahh-strip__viewport{transition:opacity .9s var(--v-ease) 0s,transform 1.1s var(--v-ease) 0s}
.ahh-tagline{transition:opacity .9s var(--v-ease) .4s}
@media (prefers-reduced-motion:reduce){.ahh-word span,.ahh-by span{opacity:1!important}}

/* ---------- WHAT WE DO: 카드 격자 + 움직이는 그림 (레퍼런스와 다른 구성) ---------- */
.ahv-bento .ahv-what__ring{display:none}
.ahv-bento__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.2vw,18px);margin:clamp(28px,3vw,44px) 0 0;padding:0;list-style:none;position:relative;z-index:1}
.ahv-bento__card{grid-column:span 5;position:relative;display:flex;flex-direction:column;gap:22px;min-height:clamp(320px,26vw,380px);padding:clamp(24px,2.2vw,34px);border:1px solid rgba(255,255,255,.08);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.012));overflow:hidden;transition:border-color .4s,background .4s}
.ahv-bento__card--wide{grid-column:span 7;flex-direction:row;align-items:stretch}
.ahv-bento__card:nth-child(5),.ahv-bento__card:nth-child(6){grid-column:span 6}
.ahv-bento__card:hover{border-color:rgba(143,134,255,.4);background:linear-gradient(160deg,rgba(143,134,255,.08),rgba(255,255,255,.015))}
.ahv-bento__card--accent{border-color:rgba(143,134,255,.32);background:linear-gradient(160deg,rgba(90,63,224,.22),rgba(90,63,224,.04) 60%)}
.ahv-bento__txt{position:relative;z-index:1;flex:0 0 auto;max-width:100%}
.ahv-bento__card--wide .ahv-bento__txt{flex:0 0 50%;display:flex;flex-direction:column;justify-content:flex-end}
.ahv-bento__no{display:block;margin-bottom:auto;font-family:var(--v-en);font-size:13px;font-weight:500;letter-spacing:.14em;color:#8f86ff}
.ahv-bento__card--wide .ahv-bento__no{margin-bottom:auto}
.ahv-bento__card:not(.ahv-bento__card--wide) .ahv-bento__no{margin-bottom:14px}
.ahv-bento__en{margin:0;font-family:var(--v-en);font-size:clamp(30px,2.7vw,46px);font-weight:400;line-height:1.05;letter-spacing:.02em;color:#fff;white-space:nowrap}
.ahv-bento__card--accent .ahv-bento__en{background:linear-gradient(100deg,#f1efff,#b3a8ff 60%,#8f86ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.ahv-bento__ko{margin:12px 0 0;font-size:18px;font-weight:700;letter-spacing:-.01em;color:#fff}
.ahv-bento__desc{margin:8px 0 0;font-size:15px;line-height:1.65;color:rgba(255,255,255,.6)}
.ahv-bento__vis{position:relative;flex:1 1 auto;min-height:150px;display:flex;align-items:center;justify-content:center}
.ahv-bento__card--wide .ahv-bento__vis{margin-left:clamp(16px,2vw,32px)}
/* 화면에 보일 때만 움직임 */
.ahv-bento:not(.is-in) .ahv-bento__vis *{animation-play-state:paused!important}

/* 01 WEB: 브라우저 안에 화면이 차례로 만들어짐 */
.bx-web{width:min(100%,340px);border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(8,9,22,.7);overflow:hidden;box-shadow:0 24px 60px -30px rgba(90,63,224,.6)}
.bx-web__bar{display:flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-bottom:1px solid rgba(255,255,255,.1)}
.bx-web__bar i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22)}
.bx-web__bar span{margin-left:10px;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.06);font-family:var(--v-en);font-size:10px;color:rgba(255,255,255,.55)}
.bx-web__page{display:grid;gap:7px;padding:12px}
.bx-web__page b{display:block;border-radius:5px;background:rgba(255,255,255,.12);transform-origin:left center;animation:bxBuild 6s var(--v-ease) infinite both}
.bx-web__hero{height:58px;background:linear-gradient(120deg,rgba(90,63,224,.75),rgba(143,134,255,.35))!important;animation-delay:.1s!important}
.bx-web__t1{height:8px;width:70%;animation-delay:.45s!important}
.bx-web__t2{height:8px;width:48%;animation-delay:.6s!important}
.bx-web__btn{height:16px;width:64px;border-radius:999px!important;background:#5a3fe0!important;animation-delay:.8s!important}
.bx-web__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.bx-web__cols b{height:30px}
.bx-web__cols b:nth-child(1){animation-delay:1s!important}.bx-web__cols b:nth-child(2){animation-delay:1.12s!important}.bx-web__cols b:nth-child(3){animation-delay:1.24s!important}
@keyframes bxBuild{0%{opacity:0;transform:scaleX(.2)}10%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:none}}

/* 02 UI/UX: 화면끼리 선이 이어지고 점이 따라 이동 */
.bx-flow{width:min(100%,320px);height:auto;overflow:visible}
.bx-flow__n rect{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.28);stroke-width:1}
.bx-flow__n text{fill:rgba(255,255,255,.75);font-size:11px;font-weight:600;text-anchor:middle;dominant-baseline:central}
.bx-flow__n--on rect{fill:rgba(90,63,224,.45);stroke:#8f86ff}
.bx-flow__p{fill:none;stroke:rgba(143,134,255,.7);stroke-width:1;stroke-dasharray:160;stroke-dashoffset:160;animation:bxDraw 4.8s ease-in-out infinite}
.bx-flow__p2{animation-delay:.6s}.bx-flow__p3{stroke:rgba(255,255,255,.25);animation-delay:1.1s}
.bx-flow__dot{fill:#fff;filter:drop-shadow(0 0 6px #8f86ff)}
@keyframes bxDraw{0%{stroke-dashoffset:160}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-160}}

/* 03 SEO·GEO: 검색어가 입력되고 우리 결과가 위로 올라옴 */
.bx-seo{width:min(100%,320px)}
.bx-seo__bar{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,9,22,.6)}
.bx-seo__bar svg{width:16px;height:16px;fill:none;stroke:rgba(255,255,255,.7);stroke-width:1.6;flex:0 0 auto}
.bx-seo__q{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;clip-path:inset(0 100% 0 0);animation:bxType 6s steps(9,end) infinite}
.bx-seo__caret{width:1px;height:15px;background:#8f86ff;animation:bxBlink .9s steps(1) infinite}
@keyframes bxType{0%,6%{clip-path:inset(0 100% 0 0)}34%,88%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes bxBlink{50%{opacity:0}}
.bx-seo__list{position:relative;height:126px;margin:12px 0 0;padding:0;list-style:none}
.bx-seo__r{position:absolute;left:0;right:0;display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.03)}
.bx-seo__r i{width:18px;height:18px;border-radius:5px;background:rgba(255,255,255,.14);flex:0 0 auto}
.bx-seo__r b{height:7px;flex:1;border-radius:4px;background:rgba(255,255,255,.14)}
.bx-seo__r:nth-child(2){top:0}.bx-seo__r:nth-child(3){top:45px}
.bx-seo__r--me{top:90px;border-color:rgba(143,134,255,.6);background:rgba(90,63,224,.28);animation:bxRank 6s var(--v-ease) infinite}
.bx-seo__r--me i{background:#8f86ff}.bx-seo__r--me b{background:rgba(255,255,255,.55)}
.bx-seo__r:nth-child(2),.bx-seo__r:nth-child(3){animation:bxPush 6s var(--v-ease) infinite}
@keyframes bxRank{0%,40%{top:90px}58%,90%{top:0}100%{top:90px}}
@keyframes bxPush{0%,40%{transform:none}58%,90%{transform:translateY(45px)}100%{transform:none}}

/* 04 ALWAYS: 관리자에서 할 일이 차례로 끝남 */
.bx-adm{width:min(100%,330px);border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(8,9,22,.6);overflow:hidden}
.bx-adm__head{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:700;color:rgba(255,255,255,.75)}
.bx-adm__head i{width:28px;height:8px;border-radius:4px;background:rgba(143,134,255,.5)}
.bx-adm__list{margin:0;padding:6px 14px 10px;list-style:none}
.bx-adm__list li{display:flex;align-items:center;gap:10px;height:40px;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px;color:rgba(255,255,255,.8)}
.bx-adm__list li:last-child{border-bottom:0}
.bx-adm__list li b{margin-left:auto;width:44px;height:6px;border-radius:3px;background:rgba(255,255,255,.12)}
.bx-adm__ck{position:relative;width:18px;height:18px;border:1px solid rgba(255,255,255,.35);border-radius:50%;flex:0 0 auto;animation:bxCheck 6s ease infinite}
.bx-adm__ck::after{content:"";position:absolute;left:5px;top:3px;width:5px;height:8px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) scale(0);animation:bxTick 6s ease infinite}
.bx-adm__list li:nth-child(2) .bx-adm__ck,.bx-adm__list li:nth-child(2) .bx-adm__ck::after{animation-delay:.9s}
.bx-adm__list li:nth-child(3) .bx-adm__ck,.bx-adm__list li:nth-child(3) .bx-adm__ck::after{animation-delay:1.8s}
@keyframes bxCheck{0%,8%{background:transparent;border-color:rgba(255,255,255,.35)}14%,80%{background:#5a3fe0;border-color:#8f86ff}90%,100%{background:transparent;border-color:rgba(255,255,255,.35)}}
@keyframes bxTick{0%,8%{transform:rotate(45deg) scale(0)}14%,80%{transform:rotate(45deg) scale(1)}90%,100%{transform:rotate(45deg) scale(0)}}

/* 05 HONEST: 필요 없는 기능은 끄고, 예산 막대가 맞춰짐 */
.bx-plan{width:min(100%,300px);display:grid;gap:8px}
.bx-plan__row{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.03);font-size:13px;color:rgba(255,255,255,.8)}
.bx-plan__row--off span{animation:bxDim 6s ease infinite}
.bx-plan__sw{position:relative;width:34px;height:20px;border-radius:999px;background:rgba(255,255,255,.18)}
.bx-plan__sw::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .3s}
.bx-plan__sw.is-on{background:#5a3fe0}.bx-plan__sw.is-on::after{transform:translateX(14px)}
.bx-plan__sw--anim{animation:bxSwBg 6s ease infinite}.bx-plan__sw--anim::after{animation:bxSwKnob 6s ease infinite}
@keyframes bxSwBg{0%,30%{background:#5a3fe0}40%,85%{background:rgba(255,255,255,.18)}95%,100%{background:#5a3fe0}}
@keyframes bxSwKnob{0%,30%{transform:translateX(14px)}40%,85%{transform:none}95%,100%{transform:translateX(14px)}}
@keyframes bxDim{0%,30%{opacity:1;text-decoration:none}40%,85%{opacity:.35;text-decoration:line-through}95%,100%{opacity:1}}
.bx-plan__meter{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:12px;font-weight:600;color:rgba(255,255,255,.6)}
.bx-plan__meter b{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.bx-plan__meter i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#5a3fe0,#8f86ff);animation:bxBudget 6s ease infinite}
@keyframes bxBudget{0%,30%{width:92%}42%,85%{width:64%}95%,100%{width:92%}}

/* 06 AWESOME: PC와 모바일에 같은 화면이 맞춰짐 */
.bx-dev{position:relative;width:min(100%,320px);height:170px}
.bx-dev__pc,.bx-dev__mo{position:absolute;display:grid;align-content:start;gap:6px;padding:8px;border:1px solid rgba(255,255,255,.18);background:rgba(8,9,22,.75)}
.bx-dev__pc{left:0;top:6px;width:76%;height:130px;border-radius:10px}
.bx-dev__mo{right:2%;bottom:0;width:26%;height:150px;border-radius:14px;animation:bxPhone 6s var(--v-ease) infinite}
.bx-dev__hero{height:58px;border-radius:6px;background:linear-gradient(120deg,rgba(90,63,224,.8),rgba(143,134,255,.35))}
.bx-dev__mo .bx-dev__hero{height:56px}
.bx-dev__t{height:6px;width:70%;border-radius:3px;background:rgba(255,255,255,.2)}
.bx-dev__t--s{width:45%}
@keyframes bxPhone{0%,10%{transform:translateX(40px);opacity:0}24%,86%{transform:none;opacity:1}100%{transform:translateX(40px);opacity:0}}

@media (max-width:1024px){
  .ahv-bento__card,.ahv-bento__card--wide,.ahv-bento__card:nth-child(5),.ahv-bento__card:nth-child(6){grid-column:span 6}
  .ahv-bento__card--wide{flex-direction:column}
  .ahv-bento__card--wide .ahv-bento__txt{flex:0 0 auto}
  .ahv-bento__card--wide .ahv-bento__vis{margin-left:0}
  .ahv-bento__card--wide .ahv-bento__no{margin-bottom:14px}
}
@media (max-width:760px){
  .ahv-bento__grid{grid-template-columns:minmax(0,1fr)}
  .ahv-bento__card,.ahv-bento__card--wide,.ahv-bento__card:nth-child(5),.ahv-bento__card:nth-child(6){grid-column:auto;min-height:0}
  .ahv-bento__en{font-size:32px}
  .ahv-bento__ko{font-size:17px}
  .ahv-bento__vis{min-height:170px}
}
@media (prefers-reduced-motion:reduce){.ahv-bento__vis *{animation:none!important}.bx-seo__q{clip-path:none}}

/* 첫 화면 카드: 밀어서 넘기기 */
.ahh-strip__viewport{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media (hover:hover) and (pointer:fine){.ahh-strip__viewport{cursor:grab}.ahh.is-drag .ahh-strip__viewport{cursor:grabbing}}
.ahh.is-drag .ahh-card__a{pointer-events:none}

/* 큰 영문 제목: 스크롤에 따라 그라데이션 색이 흐름 */
.ahv-bento__en{background:linear-gradient(100deg,#ffffff 0%,#ffffff 28%,#e3deff 40%,#a99cff 52%,#7d6cff 62%,#e3deff 76%,#ffffff 88%);background-size:320% 100%;background-position:var(--gp,0%) 50%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ahv-bento__card--accent .ahv-bento__en{background:linear-gradient(100deg,#f1efff 0%,#c9c1ff 22%,#8f86ff 42%,#6447f0 56%,#c9c1ff 74%,#f1efff 90%);background-size:320% 100%;background-position:var(--gp,0%) 50%;-webkit-background-clip:text;background-clip:text}
@media (prefers-reduced-motion:reduce){.ahv-bento__en{background-position:30% 50%}}

/* 모바일 01·02·03: 화면 고정 + 문구 한 개씩 (스크롤하면 오브젝트와 문구가 함께 바뀜) */
@media (max-width:900px){
  .ahv-story{height:310vh;height:310svh}
  .ahv-story__stick{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;padding:calc(var(--ahs-hdr,67px) + 8px) 0 16px}
  .ahv-story__grid{grid-template-columns:1fr;gap:clamp(12px,3svh,28px);width:calc(100% - var(--v-pad)*2)}
  .ahv-story__en{font-size:clamp(20px,6vw,30px);white-space:nowrap}
  .ahv-story__vis{width:min(100%,46svh,360px);max-width:none;justify-self:center}
  .ahv-story__list{display:grid;padding-left:20px}
  .ahv-story__list::before{display:block}
  .ahv-story__item{grid-area:1/1;padding:0;opacity:0;transform:translateY(14px);transition:opacity .22s ease,transform .3s ease;pointer-events:none}
  .ahv-story__item.is-on{opacity:1;transform:none;pointer-events:auto;transition:opacity .5s var(--v-ease) .2s,transform .6s var(--v-ease) .2s}
  .ahv-story__no{margin-bottom:8px}
}

/* WHAT WE DO 뒤 3D 원형 (입체 고리, 마우스·스크롤에 따라 기울어짐) */
.ahv-bento{overflow:hidden;overflow:clip}
.ahv-ring3d-wrap{position:absolute;inset:0;z-index:0;pointer-events:none}
.ahv-ring3d{position:sticky;top:max(0px,calc(50vh - min(29vw,450px)));width:min(58vw,900px);aspect-ratio:1/1;margin-left:auto;margin-right:-7vw}
.ahv-ring3d canvas{display:block;width:100%;height:100%}
.ahv-bento .ahv-inner{position:relative;z-index:1}
.ahv-bento__card{background:linear-gradient(160deg,rgba(22,22,40,.62),rgba(10,10,22,.5));-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.ahv-bento__card:hover{background:linear-gradient(160deg,rgba(60,48,140,.42),rgba(12,12,26,.55))}
.ahv-bento__card--accent{background:linear-gradient(160deg,rgba(90,63,224,.36),rgba(16,14,40,.55) 60%)}
@media (max-width:760px){.ahv-ring3d{width:112vw;margin-right:-34vw;top:calc(50svh - 56vw)}.ahv-bento__card{background:linear-gradient(160deg,rgba(22,22,40,.52),rgba(10,10,22,.4));-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2)}}

/* 모바일 히어로: 카드 → 아래쪽에 BETTER WEB + 소개 문구 (오른쪽 정렬) */
@media (max-width:760px){
  .ahh{grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"strip" "title" "tag"}
  .ahh-tagline{align-self:start;justify-self:end;text-align:right}
}

/* 영문 큰 글자 굵게: 히어로 600, 나머지 큰 영문 500 */
.ahh-word{font-weight:600!important}
.ahv-marquee__track,.ahv-what__word,.ahv-cta__line,.ahv-story__en,.ahv-bento__en{font-weight:500}

/* 히어로 BETTER WEB: 글자 뒤섞임 등장 (올라오는 움직임 없이) + 스크롤·마우스에 따라 자간이 벌어졌다 모임 */
.ahh .ahh-word span,.ahh .ahh-by span{transform:none!important}
.ahh-word{letter-spacing:calc(.06em + var(--ahh-ls,0em))!important}
.ahh-word--b span{margin-right:calc(-.06em - var(--ahh-ls,0em))}

/* [247] 하는 일: 3개만 같은 크기로 한 줄 정렬 */
.ahv-bento__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ahv-bento__grid--3 .ahv-bento__card{grid-column:auto;flex-direction:column;min-height:clamp(420px,32vw,500px)}
.ahv-bento__grid--3 .ahv-bento__no{margin-bottom:14px}
.ahv-bento__grid--3 .ahv-bento__vis{flex:1 1 auto;width:100%;margin:8px 0 0;min-height:190px}
@media (max-width:1100px){
  .ahv-bento__grid--3{grid-template-columns:minmax(0,1fr)}
  .ahv-bento__grid--3 .ahv-bento__card{min-height:0;flex-direction:row;align-items:center}
  .ahv-bento__grid--3 .ahv-bento__txt{flex:0 0 46%}
  .ahv-bento__grid--3 .ahv-bento__vis{margin:0 0 0 clamp(16px,2.4vw,32px)}
}
@media (max-width:760px){
  .ahv-bento__grid--3 .ahv-bento__card{flex-direction:column;align-items:stretch}
  .ahv-bento__grid--3 .ahv-bento__txt{flex:0 0 auto}
  .ahv-bento__grid--3 .ahv-bento__vis{margin:6px 0 0;min-height:170px}
}

/* [247] 히어로 BETTER WEB: 마우스를 올리면 글자 색이 밝은 그라데이션으로 */
@property --ahh-hb{syntax:'<number>';inherits:true;initial-value:0}
.ahh-title__row{--ahh-hb:0;transition:--ahh-hb .7s var(--v-ease)}
@media (hover:hover) and (pointer:fine){.ahh-title__row:hover{--ahh-hb:1}}
.ahh-word--a span{background-image:linear-gradient(var(--ang),rgba(240,237,255,0) calc(var(--p) - var(--pw)),rgba(240,237,255,var(--ga)) var(--p),rgba(240,237,255,0) calc(var(--p) + var(--pw))),linear-gradient(100deg,rgba(255,255,255,var(--ahh-hb)) 0%,rgba(222,216,255,var(--ahh-hb)) 34%,rgba(170,156,255,var(--ahh-hb)) 68%,rgba(214,160,255,var(--ahh-hb)) 100%),linear-gradient(#fff,#fff)}
.ahh-word--b span{background-image:linear-gradient(var(--ang),rgba(240,237,255,0) calc(var(--p) - var(--pw)),rgba(240,237,255,var(--ga)) var(--p),rgba(240,237,255,0) calc(var(--p) + var(--pw))),linear-gradient(100deg,rgba(255,255,255,var(--ahh-hb)) 0%,rgba(236,232,255,var(--ahh-hb)) 30%,rgba(190,178,255,var(--ahh-hb)) 66%,rgba(226,178,255,var(--ahh-hb)) 100%),var(--ahh-webg)}
.ahh-title__row .ahh-word{filter:drop-shadow(0 0 calc(var(--ahh-hb) * 26px) rgba(143,134,255,calc(var(--ahh-hb) * .5)))}
@media (prefers-reduced-motion:reduce){.ahh-title__row{transition:none}}

/* [247] SEO · GEO 자세히 (하는 일 아래) */
.ahv-seo{background:radial-gradient(70% 60% at 12% 0%,rgba(98,64,236,.16),transparent 62%),#07080f;color:#fff}
.ahv-seo__head{max-width:820px;margin-bottom:clamp(44px,4.6vw,72px)}
.ahv-seo__title{margin:0;font-size:clamp(30px,3.3vw,50px);font-weight:600;line-height:1.3;letter-spacing:-.025em}
.ahv-seo__title em{font-style:normal;font-family:var(--v-en);font-weight:500;letter-spacing:.01em;background:linear-gradient(100deg,#f1efff 0%,#c9c1ff 40%,#8f86ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ahv-seo__lead{margin:22px 0 0;font-size:clamp(16px,1.15vw,18px);line-height:1.8;color:rgba(255,255,255,.66)}
.ahv-seo__def{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.2vw,18px)}
.ahv-seo__term{padding:clamp(28px,2.6vw,40px);border:1px solid rgba(143,134,255,.3);border-radius:20px;background:linear-gradient(160deg,rgba(90,63,224,.2),rgba(255,255,255,.015) 65%)}
.ahv-seo__en{margin:0;font-family:var(--v-en);font-size:clamp(44px,4.2vw,68px);font-weight:500;line-height:1;letter-spacing:.02em;background:linear-gradient(100deg,#ffffff 0%,#d6d0ff 45%,#9d90f2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ahv-seo__ko{margin:16px 0 0;font-size:19px;font-weight:700;letter-spacing:-.01em}
.ahv-seo__desc{margin:10px 0 0;font-size:16px;line-height:1.7;color:rgba(255,255,255,.66);word-break:keep-all}
.ahv-seo__sub{margin:clamp(56px,5vw,84px) 0 0;font-size:clamp(20px,1.6vw,24px);font-weight:600;letter-spacing:-.02em}
.ahv-seo__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.ahv-seo__list li{padding:28px clamp(16px,2.2vw,36px) 30px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.ahv-seo__no{display:block;font-family:var(--v-en);font-size:13px;font-weight:500;letter-spacing:.14em;color:#8f86ff}
.ahv-seo__list b{display:block;margin-top:14px;font-size:18px;font-weight:600;letter-spacing:-.01em}
.ahv-seo__list p{margin:8px 0 0;font-size:15px;line-height:1.7;color:rgba(255,255,255,.6);word-break:keep-all}
.ahv-seo__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:30px}
.ahv-seo__note{margin:0;font-size:14px;line-height:1.7;color:rgba(255,255,255,.45)}
@media (max-width:1100px){.ahv-seo__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .ahv-seo__def{grid-template-columns:minmax(0,1fr)}
  .ahv-seo__term{padding:26px 24px}
  .ahv-seo__list{grid-template-columns:minmax(0,1fr)}
  .ahv-seo__list li{padding:22px 0 24px}
  .ahv-seo__foot{flex-direction:column;align-items:flex-start;gap:18px}
}

/* [248] 하는 일: 위에 제목 문구 */
.ahv-what__head{position:relative;z-index:1}
.ahv-what__head .ahv-label{margin-bottom:22px}
.ahv-what__title{margin:0;font-size:clamp(30px,3.3vw,50px);font-weight:600;line-height:1.3;letter-spacing:-.025em;color:#fff}
.ahv-what__lead{margin:20px 0 0;font-size:clamp(16px,1.15vw,18px);line-height:1.8;color:rgba(255,255,255,.62);word-break:keep-all}
.ahv-bento .ahv-bento__grid--3{margin-top:clamp(40px,4vw,64px)}

/* [249] BY AHA WEB: 뒤섞임 없이 왼쪽부터 스르륵 */
.ahh .ahh-by span{opacity:0;clip-path:inset(0 100% 0 0);-webkit-clip-path:inset(0 100% 0 0);transition:clip-path 1.5s cubic-bezier(.65,0,.35,1) 1.15s,-webkit-clip-path 1.5s cubic-bezier(.65,0,.35,1) 1.15s,opacity .9s ease 1.15s!important}
.ahh.is-lit .ahh-by span{opacity:1;clip-path:inset(-20% -10% -20% 0);-webkit-clip-path:inset(-20% -10% -20% 0)}
@media (prefers-reduced-motion:reduce){.ahh .ahh-by span{opacity:1;clip-path:none;-webkit-clip-path:none;transition:none!important}}

/* [252] 모바일 전화 버튼 — 위로 가기 버튼 바로 위 (위로 가기 버튼이 없을 땐 그 자리에) */
.ahv-call{display:none}
@media (max-width:760px){
  .ahv-call{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:2147482991;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#5a3fe0;color:#fff!important;box-shadow:0 10px 26px rgba(90,63,224,.45);transition:bottom .45s cubic-bezier(.16,1,.3,1),opacity .3s,visibility .3s}
  body.ahv-quick-on .ahv-call{bottom:calc(16px + 48px + 10px + env(safe-area-inset-bottom))}
  .ahv-call svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .ahv-quick__top{width:48px;height:48px}
  body.aha-mobile-menu-open .ahv-call{opacity:0;visibility:hidden}
}

/* [254·255] AHA WEB × 뒤 바뀌는 단어 — 오른쪽 끝 고정(우측 정렬), 자리 폭이 부드럽게 바뀜 */
.ahh-by__rot{display:inline-block;font:inherit;font-weight:inherit;letter-spacing:inherit;white-space:nowrap;direction:rtl;text-align:right;vertical-align:baseline}
.ahh-by__rot i{font-style:normal;direction:ltr;unicode-bidi:isolate}

/* [255] 슬로건 오른쪽 끝을 WEB의 B 라인에 맞춤 (B 글자 오른쪽 여백만큼 안으로) */
.ahh-title .ahh-by{padding-right:calc(clamp(48px,5.4vw,104px) * .03)}
@media (max-width:760px){.ahh-title .ahh-by{padding-right:calc(clamp(36px,10.6vw,52px) * .026)}}
