


:root { --aa-header-h: 76px; }
.aa-header, .aa-footer {
  --aa-header-h: 76px;
  --aa-gutter: clamp(22px, 4vw, 64px);
  --aa-font: "SUIT", "Pretendard", "Apple SD Gothic Neo", system-ui, sans-serif;
  --aa-ink: #1B2140;
  --aa-body: #4A5270;
  --aa-line: #E4E7EF;
  --aa-line-soft: #EEF0F5;
  --aa-white: #FFFFFF;
  --aa-primary: #6556E8;
  --aa-primary-deep: #4F3FD0;
  --aa-tint-blue: #EEF1FF;
  --aa-grad-deep: linear-gradient(120deg, #1D6FE0 0%, #9444E8 100%);
  --aa-key-glow: rgba(118, 84, 240, .24);
  font-family: var(--aa-font);
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: -.025em;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
.aa-header, .aa-header *, .aa-header *::before, .aa-header *::after,
.aa-footer, .aa-footer *, .aa-footer *::before, .aa-footer *::after { box-sizing: border-box; }
.aa-header :where(ul, ol), .aa-footer :where(p, ul, ol) { margin: 0; padding: 0; list-style: none; }
.aa-header :where(a), .aa-footer :where(a) { color: inherit; text-decoration: none; }
.aa-header :where(button) { font: inherit; letter-spacing: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.aa-header > .aa-wrap, .aa-footer > .aa-wrap { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: var(--aa-gutter); }
.aa-footer > .aa-wrap { display: block; }
.aa-header .aa-i { display: inline-block; flex: none; width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.aa-header :where(a, button):focus-visible, .aa-footer :where(a):focus-visible { outline: 3px solid var(--aa-primary-deep); outline-offset: 3px; }
@media (max-width: 760px) {
  :root { --aa-header-h: 64px; }
  .aa-header { --aa-header-h: 64px; }
}


.aa-header { position: absolute; inset: 0 0 auto; z-index: 50; height: var(--aa-header-h); color: var(--aa-ink); }

.aa-header[data-menu="open"] { position: fixed; background: var(--aa-white); box-shadow: 0 1px 0 rgba(27, 33, 64, .06); }
.aa-header__bar { display: flex; align-items: center; gap: 18px; height: 100%; }
.aa-header__logo { display: block; width: 124px; flex: none; }   
.aa-header__logo img, .aa-header__logo .aa-header__mark { display: block; width: 100%; height: auto; aspect-ratio: 1136 / 335; }
.aa-header__label { padding-left: 18px; border-left: 1px solid var(--aa-line); font-size: 13px; font-weight: 650; color: #4A5270; white-space: nowrap; }   
.aa-header__nav { margin-left: auto; }
.aa-header__nav ul { display: flex; }
.aa-header__nav ul { gap: clamp(4px, 1vw, 14px); }
.aa-header__nav a { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding-inline: clamp(8px, .9vw, 14px); font-size: 15px; font-weight: 650; opacity: .9; transition: color .2s ease; }
.aa-header__nav a:hover, .aa-header__nav a[aria-current="page"] { opacity: 1; color: var(--aa-primary-deep); }
.aa-header__nav a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--aa-primary); }   
.aa-header__cta { display: inline-flex; align-items: center; gap: 8px; flex: none; height: 42px; padding: 0 18px; border-radius: 999px; background: var(--aa-grad-deep); box-shadow: 0 8px 20px var(--aa-key-glow); color: var(--aa-white); font-size: 14px; font-weight: 720; white-space: nowrap; transition: translate .25s ease, box-shadow .25s ease; }
.aa-header__cta:hover { translate: 0 -1px; box-shadow: 0 12px 26px rgba(118, 84, 240, .32); }   
.aa-header__cta:focus-visible { outline: 3px solid var(--aa-primary-deep); outline-offset: 3px; }
.aa-header__cta .aa-i { font-size: 16px; }
.aa-header__toggle { display: none; width: 44px; height: 44px; border-radius: 12px; color: var(--aa-ink); align-items: center; justify-content: center; transition: background-color .2s ease; }
.aa-header__toggle:hover, .aa-header[data-menu="open"] .aa-header__toggle { background: var(--aa-tint-blue); }
.aa-header__toggle svg { width: 18px; height: 18px; }
.aa-header__panel { display: none; }
@media (max-width: 1100px) {
  
  .aa-header__nav { display: none; }
  .aa-header__cta { margin-left: auto; }
  .aa-header__toggle { display: inline-flex; }
  .aa-header__panel { position: fixed; inset: var(--aa-header-h) 0 0; background: var(--aa-white); color: var(--aa-ink); padding: 28px var(--aa-gutter) 120px; overflow-y: auto; }
  .aa-header[data-menu="open"] .aa-header__panel { display: block; }
  .aa-header__panel ul { display: grid; gap: 4px; }
  .aa-header__panel a { display: flex; align-items: center; gap: 6px; padding: 14px 0; font-size: 20px; font-weight: 700; border-bottom: 1px solid var(--aa-line-soft); }
  .aa-header__panel a[aria-current="page"] { color: var(--aa-primary-deep); }
}
@media (max-width: 760px) {
  .aa-header__bar { gap: 12px; }
  .aa-header__logo { width: 104px; }
  .aa-header__label { display: none; }
  .aa-header__cta { height: 38px; padding: 0 15px; font-size: 13.5px; }
  .aa-header__toggle { margin-right: -8px; }
}


html:not([data-js]) .aa-header__toggle { display: none; }
@media (max-width: 1100px) {
  html:not([data-js]) { --aa-header-h: 122px; }
  html:not([data-js]) .aa-header { --aa-header-h: 122px; }
  html:not([data-js]) .aa-header__bar { flex-wrap: wrap; align-content: flex-start; }
  html:not([data-js]) .aa-header__logo { display: flex; align-items: center; height: 76px; }
  html:not([data-js]) .aa-header__nav { display: block; order: 5; width: 100%; margin: 0; overflow-x: auto; }
  html:not([data-js]) .aa-header__nav ul { flex-wrap: nowrap; }
  html:not([data-js]) .aa-header__nav a { padding-inline: 8px; font-size: 14px; white-space: nowrap; }
}
@media (max-width: 760px) {
  html:not([data-js]) { --aa-header-h: 110px; }
  html:not([data-js]) .aa-header { --aa-header-h: 110px; }
  html:not([data-js]) .aa-header__logo { height: 64px; }
}
@media (prefers-reduced-motion: reduce) { 
  .aa-header__nav a, .aa-header__cta, .aa-header__toggle { transition: none; }
}


.aa-hero {
  --u: min(calc(100vw / 1440), 1.25px);
  position: relative; display: flex; align-items: center; min-height: 660px; height: 100svh; max-height: 1080px;
  padding: calc(var(--aa-header-h) + 20px) 0 32px; overflow: hidden; isolation: isolate; color: var(--aa-ink);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0) 74%, var(--aa-white) 100%),   
    radial-gradient(40% 48% at 4% 2%, rgba(192, 90, 255, .24), transparent 72%),
    radial-gradient(30% 34% at 32% 0%, rgba(206, 150, 255, .16), transparent 70%),
    radial-gradient(40% 46% at 98% 76%, rgba(33, 162, 255, .2), transparent 72%),
    radial-gradient(28% 34% at 72% 80%, rgba(140, 190, 255, .14), transparent 70%),
    linear-gradient(180deg, #FBF9FF 0%, #F6F8FD 100%);
}


.aa-hero__art { position: absolute; inset: var(--aa-header-h) 0 0; z-index: -1; pointer-events: none; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 64px, #000 80%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 64px, #000 80%, transparent 100%); }   
.aa-hero__card { position: absolute; margin: 0; overflow: hidden; aspect-ratio: var(--aa-hero-ratio, 1); border-radius: var(--aa-hero-corner, 0); background: var(--aa-white); box-shadow: 0 calc(20 * var(--u)) calc(44 * var(--u)) rgba(84, 72, 160, .16), 0 2px 6px rgba(27, 33, 64, .05); rotate: var(--r, 0deg); }
.aa-hero__card img { position: absolute; display: block; left: 0; top: 0; width: 100%; max-width: none; height: 100%; object-fit: cover; }

.aa-hero__card--l1 { --aa-hero-ratio: 257.78 / 343.70; }
.aa-hero__card--l2, .aa-hero__card--r2 { --aa-hero-ratio: 1; }
.aa-hero__card--l3 { --aa-hero-ratio: 263.111 / 350.815; }
.aa-hero__card--l4 { --aa-hero-ratio: 282.667 / 376.753; }
.aa-hero__card--r1 { --aa-hero-ratio: 231.224 / 289.03; }
.aa-hero__card--r3 { --aa-hero-ratio: 276.431 / 332.635; }
.aa-hero__card--l1 img { left: -21.96%; top: -27.98%; width: 141%; height: auto; }
.aa-hero__card--l2 img { left: 7.55%; top: 7.55%; width: 84.9%; height: 84.9%; }
.aa-hero__card--r1 img { left: 22.75045%; top: 22.75041%; width: 54.4991%; height: 54.49918%; }
.aa-hero__card--r3 img { left: 2.17%; top: -3%; width: 95.66%; height: 106%; }

.aa-hero__card--l3::after, .aa-hero__card--r3::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: inherit; box-shadow: inset 0 0 0 var(--aa-hero-rim, calc(11.25 * var(--u))) var(--aa-white);
}

.aa-hero__card--l1, .aa-hero__card--l2, .aa-hero__card--r1, .aa-hero__card--r2 { --aa-hero-corner: calc(18 * var(--u)); }
.aa-hero__card--l1 { --r: -6deg;   left: calc(-40 * var(--u));  top: calc(50% - 430 * var(--u)); width: calc(290 * var(--u)); }
.aa-hero__card--l2 { --r: 5deg;    left: calc(262 * var(--u));  top: calc(50% - 356 * var(--u)); width: calc(186 * var(--u)); }
.aa-hero__card--l3 { --r: 6.5deg;  left: calc(96 * var(--u));   top: calc(50% - 226 * var(--u)); width: calc(296 * var(--u)); z-index: 1; }   
.aa-hero__card--l4 { --r: -12deg;  left: calc(-72 * var(--u));  top: calc(50% + 48 * var(--u));  width: calc(318 * var(--u)); }
.aa-hero__card--r1 { --r: 7deg;    right: calc(64 * var(--u));  top: calc(50% - 456 * var(--u)); width: calc(318 * var(--u)); }
.aa-hero__card--r2 { --r: -12deg;  right: calc(-50 * var(--u)); top: calc(50% - 232 * var(--u)); width: calc(280 * var(--u)); z-index: 1; }   
.aa-hero__card--r3 { --r: -2deg;   right: calc(46 * var(--u));  top: calc(50% - 12 * var(--u));  width: calc(276 * var(--u)); }

.aa-hero__board {
  --b: var(--u);
  position: absolute; z-index: 2; left: calc(940 * var(--u)); top: calc(50% + 64 * var(--u));
  width: calc(300 * var(--b)); padding: calc(16 * var(--b)) calc(16 * var(--b)) calc(8 * var(--b));
  border-radius: calc(16 * var(--b)); background: rgba(255, 255, 255, .97); color: var(--aa-ink); text-align: left;
  box-shadow: 0 calc(20 * var(--b)) calc(44 * var(--b)) rgba(84, 72, 160, .16), 0 2px 6px rgba(27, 33, 64, .05);
}
.aa-hero__board-head { display: flex; align-items: center; gap: calc(6 * var(--b)); margin: 0 0 calc(4 * var(--b)); font-size: calc(15 * var(--b)); font-weight: 800; line-height: 1.3; letter-spacing: -.03em; }
.aa-hero__board-count { display: inline-grid; place-items: center; min-width: calc(20 * var(--b)); height: calc(20 * var(--b)); padding-inline: calc(6 * var(--b)); border-radius: 999px; background: var(--aa-tint-blue); color: var(--aa-primary-deep); font-size: calc(12 * var(--b)); font-weight: 760; }
.aa-hero__board-list { margin: 0; padding: 0; list-style: none; }
.aa-hero__board-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: calc(8 * var(--b)); min-height: calc(44 * var(--b)); }
.aa-hero__board-row + .aa-hero__board-row { border-top: 1px solid var(--aa-line-soft); }
.aa-hero__pill { padding: calc(4 * var(--b)) calc(8 * var(--b)); border-radius: 999px; background: var(--aa-surface); color: var(--aa-body); font-size: calc(11.5 * var(--b)); font-weight: 700; line-height: 1.3; white-space: nowrap; }
.aa-hero__pill--review { background: var(--aa-tint-blue); color: var(--aa-primary-deep); }
.aa-hero__pill--done { background: var(--aa-tint-sky); color: #1F6FD1; }
.aa-hero__board-name { overflow: hidden; font-size: calc(13.5 * var(--b)); font-weight: 600; line-height: 1.3; letter-spacing: -.02em; color: var(--aa-body); white-space: nowrap; text-overflow: ellipsis; }
.aa-hero__board-row--now .aa-hero__board-name { font-weight: 760; color: var(--aa-ink); }
.aa-hero__board-go { padding: calc(6 * var(--b)) calc(11 * var(--b)); border-radius: 999px; background: var(--aa-grad-deep); color: var(--aa-white); font-size: calc(11.5 * var(--b)); font-weight: 760; line-height: 1.2; white-space: nowrap; box-shadow: 0 calc(6 * var(--b)) calc(14 * var(--b)) var(--aa-key-glow); }
.aa-hero__board-check { width: calc(18 * var(--b)); height: calc(18 * var(--b)); color: var(--aa-primary); }

.aa-hero__toast { display: none; }

.aa-hero__chip { position: absolute; z-index: 2; right: calc(120 * var(--u)); top: calc(50% - 36 * var(--u)); display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px 11px 16px; border-radius: 999px; background: rgba(255, 255, 255, .96); box-shadow: 0 10px 28px rgba(84, 72, 160, .16); font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--aa-ink); white-space: nowrap; }
.aa-hero__chip-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--aa-grad); }
.aa-hero__chip-pen { flex: none; color: var(--aa-primary); }


.aa-hero__content { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; text-align: center; }
.aa-hero__title { font-size: clamp(36px, 3.9vw, 58px); font-weight: 800; line-height: 1.3; letter-spacing: -0.045em; }   
.aa-hero__title > span { display: block; }
.aa-hero__title b { font-weight: 800; background: var(--aa-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.aa-hero__sub { margin-bottom: clamp(12px, 1.2vw, 18px); font-size: clamp(16px, 1.4vw, 20px); font-weight: 500; line-height: 1.5; letter-spacing: -0.02em; color: var(--aa-body); }   
.aa-hero__cta { margin-top: clamp(26px, 2.6vw, 36px); }   


@media (min-width: 1100px) {
  .aa-hero__card--l1 { --r: 8.33deg; left: calc(1171.411875 * var(--u)); top: calc(50% - 429.991875 * var(--u)); width: calc(290.0025 * var(--u)); }
  .aa-hero__card--l2 { --r: 14.55deg; left: calc(977.067563 * var(--u)); top: calc(50% - 390.932437 * var(--u)); width: calc(185.999625 * var(--u)); }
  .aa-hero__card--l3 { --r: 6.5deg; left: calc(1063.135687 * var(--u)); top: calc(50% - 225.998438 * var(--u)); width: calc(295.999875 * var(--u)); }
  .aa-hero__card--l4 { --r: -12deg; left: calc(1121.711063 * var(--u)); top: calc(50% + 48.002062 * var(--u)); width: calc(318.000375 * var(--u)); }
  .aa-hero__card--r1 { --r: 10.98deg; left: calc(61.19775 * var(--u)); right: auto; top: calc(50% - 419.20875 * var(--u)); width: calc(260.127 * var(--u)); }
  .aa-hero__card--r2 { --r: 0deg; left: calc(37.125 * var(--u)); right: auto; top: calc(50% + 157.5 * var(--u)); width: calc(216 * var(--u)); }
  .aa-hero__card--r3 { --r: -7.51deg; left: calc(92.56725 * var(--u)); right: auto; top: calc(50% - 180.415687 * var(--u)); width: calc(310.984875 * var(--u)); }
  .aa-hero__chip { left: calc(195.75 * var(--u)); right: auto; top: calc(50% + 172.125 * var(--u)); }
}

@media (max-width: 1099px) {
  .aa-hero { --f: min(1.08vw, 6.4px); flex-direction: column; justify-content: center; align-items: stretch; gap: clamp(22px, 5vw, 40px); height: auto; min-height: 100svh; max-height: none; padding: calc(var(--aa-header-h) + 28px) 0 36px; }
  .aa-hero__content { order: 1; }
  .aa-hero__art { position: relative; inset: auto; order: 2; z-index: 0; height: clamp(270px, 70 * var(--f), 440px); -webkit-mask-image: none; mask-image: none; }
  .aa-hero__card { display: none; }
  
  .aa-hero__card--l3 { display: block; --r: -3deg; --aa-hero-rim: calc(1.2 * var(--f)); left: calc(50% - 20 * var(--f)); right: auto; top: calc(50% - 43 * var(--f)); width: calc(40 * var(--f)); z-index: 1; box-shadow: 0 16px 34px rgba(84, 72, 160, .2), 0 2px 6px rgba(27, 33, 64, .05); }
  .aa-hero__card--l2 { display: block; --r: -9deg; --aa-hero-corner: 14px; left: calc(50% - 43 * var(--f)); right: auto; top: calc(50% - 35 * var(--f)); width: calc(28 * var(--f)); z-index: 0; box-shadow: 0 14px 30px rgba(84, 72, 160, .16), 0 2px 6px rgba(27, 33, 64, .05); }
  .aa-hero__card--r3 { display: block; --r: 8deg; --aa-hero-rim: calc(1.1 * var(--f)); left: calc(50% + 13 * var(--f)); right: auto; top: calc(50% - 39 * var(--f)); width: calc(30 * var(--f)); z-index: 0; box-shadow: 0 14px 30px rgba(84, 72, 160, .16), 0 2px 6px rgba(27, 33, 64, .05); }
  .aa-hero__art { height: clamp(360px, 86 * var(--f), 520px); }   
  .aa-hero__board { --b: min(1.25px, calc(100vw / 400)); left: calc(50% - 150 * var(--b)); top: calc(50% - 43 * var(--f) + 140 * var(--b)); z-index: 2; }   
  .aa-hero__chip { display: none; }
  .aa-hero__toast {
    --b: min(1.25px, calc(100vw / 400));
    position: absolute; z-index: 4; left: calc(50% - 44 * var(--f)); top: calc(50% - 43 * var(--f) + 306 * var(--b));
    display: flex; align-items: center; gap: calc(10 * var(--b)); margin: 0; padding: calc(10 * var(--b)) calc(16 * var(--b)) calc(10 * var(--b)) calc(10 * var(--b));
    border-radius: calc(16 * var(--b)); background: var(--aa-white); color: var(--aa-ink); text-align: left;
    box-shadow: 0 calc(14 * var(--b)) calc(30 * var(--b)) rgba(84, 72, 160, .2), 0 2px 6px rgba(27, 33, 64, .05);
  }
  .aa-hero__toast-icon { flex: none; width: calc(32 * var(--b)); height: calc(32 * var(--b)); color: var(--aa-primary); }
  .aa-hero__toast b { display: block; font-size: calc(14 * var(--b)); font-weight: 800; line-height: 1.3; letter-spacing: -.02em; }
  .aa-hero__toast span span { display: block; margin-top: 2px; font-size: calc(12 * var(--b)); font-weight: 500; line-height: 1.3; color: var(--aa-body); }
}
@media (min-width: 600px) and (max-width: 1099px) {
  .aa-hero__card--l3, .aa-hero__board, .aa-hero__toast { margin-top: 44px; }   
}
@media (max-width: 760px) {
  .aa-hero__title { font-size: clamp(25px, 8vw, 36px); line-height: 1.32; }   
  .aa-hero__sub { margin-bottom: 10px; font-size: 15px; }
  .aa-hero__cta { margin-top: 22px; }
}


@media (prefers-reduced-motion: no-preference) {
  .aa-hero__card, .aa-hero__board, .aa-hero__chip, .aa-hero__toast { animation: aa-hero-in 1s var(--aa-ease) both; }
  .aa-hero__card--l1 { animation-delay: .05s; } .aa-hero__card--r1 { animation-delay: .12s; }
  .aa-hero__card--l2 { animation-delay: .2s; }  .aa-hero__card--r2 { animation-delay: .28s; }
  .aa-hero__card--l3 { animation-delay: .34s; } .aa-hero__card--r3 { animation-delay: .4s; }
  .aa-hero__card--l4 { animation-delay: .46s; } .aa-hero__board { animation-delay: .62s; } .aa-hero__toast { animation-delay: .9s; } .aa-hero__chip { animation-delay: .7s; }
  .aa-hero__sub, .aa-hero__title > span, .aa-hero__cta { animation: aa-hero-up .9s var(--aa-ease) both; }
  .aa-hero__title > span:nth-child(1) { animation-delay: .1s; } .aa-hero__title > span:nth-child(2) { animation-delay: .22s; }
  .aa-hero__cta { animation-delay: .36s; }
}
@keyframes aa-hero-in { from { opacity: 0; translate: 0 28px; scale: .94; } }
@keyframes aa-hero-up { from { opacity: 0; translate: 0 16px; filter: blur(6px); } }


.aa-contact { padding-block: calc(var(--aa-pad) * .4) var(--aa-pad); }   
.aa-contact__card {
  position: relative; overflow: hidden; border-radius: var(--aa-r-lg); padding: clamp(40px, 5.4vw, 80px) clamp(22px, 5vw, 72px); text-align: center; color: var(--aa-ink);
  border: 1px solid rgba(101, 86, 232, .1); box-shadow: 0 24px 56px rgba(84, 72, 160, .1);
  background:   
    radial-gradient(48% 70% at 0% 0%, rgba(192, 90, 255, .16), transparent 72%),
    radial-gradient(48% 70% at 100% 100%, rgba(33, 162, 255, .16), transparent 72%),
    linear-gradient(180deg, #FBF9FF 0%, #F6F8FD 100%);
}
.aa-contact__card { display: grid; justify-items: center; }
.aa-contact__art { width: clamp(112px, 10vw, 148px); height: auto; margin-bottom: 18px; }
.aa-contact__eyebrow { font-size: clamp(16px, 1.45vw, 21px); font-weight: 600; line-height: 1.5; letter-spacing: -0.025em; color: var(--aa-primary-deep); text-wrap: balance; }   
.aa-contact__title { margin-top: 14px; font-size: var(--aa-fs-h2); font-weight: 820; line-height: var(--aa-lh-tight); letter-spacing: -0.045em; }   
.aa-contact__title > span { display: block; }
.aa-contact__title em { font-style: normal; color: var(--aa-primary); }

.aa-contact__prepare { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: clamp(26px, 2.6vw, 34px); }
.aa-contact__prepare li { display: inline-flex; align-items: center; gap: 9px; height: 44px; padding: 0 18px 0 14px; border: 1px solid var(--aa-line); border-radius: 999px; background: var(--aa-white); font-size: 15px; font-weight: 700; color: var(--aa-ink); }
.aa-contact__prepare li::before { content: ""; flex: none; width: 10px; height: 5px; margin-top: -3px; border-left: 2.4px solid var(--aa-primary); border-bottom: 2.4px solid var(--aa-primary); transform: rotate(-45deg); }
.aa-contact__text { margin-top: 26px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.8; color: var(--aa-body); text-wrap: balance; }
.aa-contact__sub { margin-top: 6px; font-size: 15px; line-height: 1.7; color: var(--aa-body); text-wrap: balance; }
.aa-contact__btn { margin-top: clamp(28px, 3vw, 36px); min-height: 60px; padding-inline: 34px; font-size: 17px; }
.aa-contact__for { margin-top: 16px; font-size: 14px; color: var(--aa-body); }


.aa-footer { border-top: 1px solid var(--aa-line); padding-block: clamp(56px, 6.5vw, 88px) 0; background: var(--aa-white); color: var(--aa-ink); }
.aa-footer__top { display: flex; align-items: center; }
.aa-footer__logo { display: block; width: 168px; }
.aa-footer__logo img, .aa-footer__logo .aa-footer__mark { display: block; width: 100%; height: auto; aspect-ratio: 1136 / 335; }
.aa-footer__brand { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-top: 44px; padding-bottom: 24px; border-bottom: 1.5px solid var(--aa-ink); }
.aa-footer__tagline { font-size: clamp(24px, 2.9vw, 40px); font-weight: 700; line-height: 1.35; }
.aa-footer__tagline > span { display: block; }
.aa-footer__sub { margin-top: 14px; font-size: 14px; color: var(--aa-body); }

.aa-footer__bottom { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 40px; padding-block: 26px 28px; }
.aa-footer__info { display: grid; gap: 6px; font-size: 13.5px; line-height: 1.6; color: var(--aa-body); }
.aa-footer__info li { display: flex; flex-wrap: wrap; gap: 2px 44px; }
.aa-footer__pair { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; }
.aa-footer__pair b { font-weight: 700; color: var(--aa-ink); }
.aa-footer__pair a { color: inherit; text-decoration: underline; text-decoration-color: var(--aa-line); text-underline-offset: 4px; }
.aa-footer__pair a:hover { text-decoration-color: currentColor; }
.aa-footer__pair a + a { margin-left: 8px; }

.aa-footer__legal { display: grid; gap: 2px; justify-items: end; text-align: right; }
.aa-footer__policy a { font-size: 14px; font-weight: 800; line-height: 1.6; color: var(--aa-ink); }   
.aa-footer__policy a:hover, .aa-footer__policy a[aria-current="page"] { text-decoration: underline; text-underline-offset: 3px; }
.aa-footer__copy { font-size: 13px; line-height: 1.6; color: var(--aa-body); }
.aa-footer__credit { font-size: 13px; line-height: 1.6; color: var(--aa-body); }
.aa-footer__credit a { text-decoration: underline; text-decoration-color: var(--aa-line); text-underline-offset: 3px; }
.aa-footer__credit a:hover { text-decoration-color: currentColor; }
@media (max-width: 760px) {
  .aa-footer__logo { width: 136px; }
  .aa-footer__brand { flex-direction: column; align-items: flex-start; }
  .aa-header__logo { padding-block: 11px; }
  .aa-footer__legal { justify-items: start; text-align: left; }
  .aa-footer__credit a { display: inline-block; padding-block: 6px; }   
  .aa-footer__policy a { display: inline-block; padding-block: 6px; }
  .aa-footer__info { gap: 4px; font-size: 13px; }
  .aa-footer__info li { gap: 2px 24px; }
  .aa-footer__pair a { display: inline-block; padding-block: 6px; }   
}


.aa-totop { position: fixed; right: 22px; bottom: calc(max(18px, env(safe-area-inset-bottom)) + 72px); z-index: 41; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 52px; height: 52px; border-radius: 16px; background: var(--aa-white); color: var(--aa-ink); font-size: 13px; font-weight: 800; box-shadow: var(--aa-shadow-float); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .3s ease, visibility 0s linear .3s; }
.aa-totop[data-show="true"] { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .3s ease, visibility 0s linear 0s; }   
@media (max-width: 760px) { .aa-totop { right: 18px; bottom: calc(max(14px, env(safe-area-inset-bottom)) + 64px); width: 46px; height: 46px; } }   


.aa-sticky { position: fixed; left: 0; right: 0; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 40; display: flex; justify-content: center; padding-inline: 16px; pointer-events: none; opacity: 0; visibility: hidden; transform: translateY(24px); transition: opacity .3s ease, transform .4s var(--aa-ease), visibility 0s linear .4s; }
.aa-sticky[data-show="true"] { opacity: 1; visibility: visible; transform: none; transition: opacity .3s ease, transform .4s var(--aa-ease), visibility 0s; }
.aa-sticky__inner { display: flex; align-items: center; gap: 20px; padding: 8px 8px 8px 26px; border: 1px solid rgba(101, 86, 232, .16); border-radius: 999px; background: rgba(255, 255, 255, .92); box-shadow: 0 16px 40px rgba(27, 33, 64, .16); pointer-events: auto; -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); }
.aa-sticky__text { font-size: 15px; color: var(--aa-body); white-space: nowrap; }
.aa-sticky__text b { font-weight: 780; color: var(--aa-ink); }
.aa-sticky:not([data-show="true"]) .aa-sticky__inner { pointer-events: none; }   
.aa-sticky__btn { min-height: 50px; padding: 0 24px; font-size: 15px; }
@media (max-width: 760px) { .aa-sticky { display: none; } }   
@media (prefers-reduced-motion: reduce) { .aa-sticky, .aa-sticky[data-show="true"] { transition: none; transform: none; } }


.aa-kakao { position: fixed; right: 18px; bottom: max(18px, env(safe-area-inset-bottom)); z-index: 42; display: grid; place-items: center; width: 60px; height: 60px; border: 2px solid rgba(255, 255, 255, .85); border-radius: 50%; background: var(--aa-grad-deep); color: var(--aa-white); box-shadow: 0 12px 28px var(--aa-key-glow); transition: translate .2s ease, box-shadow .2s ease; }
.aa-kakao svg { width: 30px; height: 30px; }
.aa-kakao__bubble { fill: currentColor; }
.aa-kakao__dot { fill: #5B5BE8; }
.aa-kakao:hover { translate: 0 -3px; box-shadow: 0 16px 34px rgba(118, 84, 240, .34); }
.aa-kakao:focus-visible { outline: 3px solid var(--aa-primary-deep); outline-offset: 3px; }
.aa-kakao__tip { position: absolute; right: calc(100% + 12px); top: 50%; display: none; padding: 8px 14px; border: 1px solid var(--aa-line); border-radius: 12px; background: var(--aa-white); color: var(--aa-ink); font-size: 13px; font-weight: 700; white-space: nowrap; box-shadow: var(--aa-shadow-float); opacity: 0; translate: 4px -50%; transition: opacity .2s ease, translate .2s ease; pointer-events: none; }
@media (hover: hover) and (min-width: 1024px) {
  .aa-kakao__tip { display: block; }
  .aa-kakao:hover .aa-kakao__tip, .aa-kakao:focus-visible .aa-kakao__tip { opacity: 1; translate: 0 -50%; pointer-events: auto; }
  .aa-kakao__tip::after { content: ""; position: absolute; left: 100%; top: 0; bottom: 0; width: 14px; }   
  .aa-kakao[data-tip="off"] .aa-kakao__tip { opacity: 0; pointer-events: none; }   
}
@media (max-width: 760px) {
  .aa-kakao { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); width: 54px; height: 54px; }
  .aa-kakao svg { width: 27px; height: 27px; }
  .aa-footer__bottom { padding-bottom: 100px; }   
}
@media (min-width: 761px) { .aa-footer__bottom { padding-right: max(0px, calc(104px - (100vw - 100%) / 2)); } }   
@media (prefers-reduced-motion: reduce) { .aa-kakao, .aa-kakao__tip { transition: none; } }


@media (max-width: 760px) {
  .aa-contact__title { font-size: clamp(23.5px, 7.2vw, 34px); }
  .aa-contact__eyebrow { font-size: clamp(13px, 3.8vw, 15px); }
  
  .aa-contact__prepare { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; }
  .aa-contact__prepare li { flex-direction: column; justify-content: flex-start; gap: 8px; height: auto; padding: 14px 6px 12px; border-radius: 16px; font-size: 13.5px; line-height: 1.35; text-align: center; text-wrap: balance; }
  .aa-contact__text { font-size: 15.5px; }
  .aa-contact__sub { font-size: 14px; }
  .aa-contact__btn { width: 100%; min-height: 54px; padding-inline: 18px; font-size: 15.5px; }
}

@media (max-width: 760px) {
  body:has(.aa-proof) .aa-hero__title,
  body:has(.aa-proof) .aa-contact__title { font-size: var(--aa-home-mobile-title); line-height: 1.16; }
  body:has(.aa-proof) .aa-contact__title { text-wrap: balance; }
}


.aa-footer__policy { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.aa-footer__policy a { display: inline-flex; align-items: center; min-height: 44px; }


#asap-contact .aa-contact__card { grid-template-columns: minmax(0, 1fr); border-radius: clamp(24px, 2.5vw, 32px); background: radial-gradient(56% 60% at 0% 0%, rgba(33, 162, 255, .16), transparent 70%), radial-gradient(56% 60% at 100% 100%, rgba(192, 90, 255, .2), transparent 70%), linear-gradient(180deg, #FBFAFF, #F3F0FF); }
#asap-contact .aa-contact__title { margin-top: 0; }
#asap-contact .aa-contact__art { width: clamp(120px, 11vw, 156px); margin-bottom: 20px; }
#asap-contact .aa-contact__text { margin-top: 26px; }
@media (max-width: 760px) {
  #asap-contact .aa-contact__title { font-size: clamp(24px, 6.9vw, 34px); }
  #asap-contact .aa-contact__text { font-size: 15px; line-height: 1.75; }
}


.aa-header__cta { position: relative; }
.aa-header__cta::after { content: ""; position: absolute; inset: -3px 0; }
.aa-footer__info a, .aa-footer__credit a { display: inline-block; padding-block: 12px; margin-block: -12px; }
.aa-footer__logo { position: relative; }
.aa-footer__logo::after { content: ""; position: absolute; inset: -2px 0; }
