/* ==========================================================
   모두의 TV광고 애디렉트 · 스타일 엔트리
   순서: 토큰 → 베이스 → 레이아웃 → 섹션
   ========================================================== */
/* ── Addirect / PTBWA — Color tokens ──────────────────────────
   Extracted from the "공통 가이드" Figma file. Base palette ramps +
   semantic aliases. WCAG 2.1 aware. All values are literal rgb(). */

:root {
  /* ---- Primary (Purple) — brand ramp ---- */
  --primary-50:  rgb(245, 245, 255);
  --primary-100: rgb(235, 236, 254);
  --primary-200: rgb(215, 217, 254);
  --primary-300: rgb(193, 191, 253);
  --primary-400: rgb(157, 148, 250);
  --primary-500: rgb(115,  97, 249);
  --primary-600: rgb( 95,  58, 242);   /* brand core */
  --primary-700: rgb( 75,  43, 217);   /* hover */
  --primary-800: rgb( 60,  33, 181);   /* press */
  --primary-900: rgb( 47,  29, 150);

  /* ---- Gray (cool neutral) ramp ---- */
  --gray-50:  rgb(249, 250, 251);
  --gray-100: rgb(243, 244, 246);
  --gray-200: rgb(229, 231, 235);
  --gray-300: rgb(209, 213, 219);
  --gray-350: rgb(191, 196, 203);   /* input outline ("cool" 300) */
  --gray-400: rgb(156, 163, 175);
  --gray-500: rgb(107, 114, 128);
  --gray-600: rgb( 75,  85,  99);
  --gray-700: rgb( 55,  65,  81);
  --gray-800: rgb( 31,  42,  55);
  --gray-900: rgb( 17,  25,  40);   /* primary text */

  /* ---- Red (negative) ---- */
  --red-50:  rgb(253, 242, 242);
  --red-100: rgb(253, 232, 232);
  --red-200: rgb(251, 213, 213);
  --red-400: rgb(249, 128, 128);
  --red-500: rgb(240,  82,  82);
  --red-600: rgb(224,  36,  36);   /* error core */
  --red-700: rgb(200,  30,  30);

  /* ---- Blue (info) ---- */
  --blue-50:  rgb(235, 245, 255);
  --blue-100: rgb(225, 239, 254);
  --blue-500: rgb( 63, 131, 248);
  --blue-600: rgb( 28, 100, 242);

  /* ---- Accent (orange / system) ---- */
  --orange-500: rgb(255,  90,  31);
  --system-negative: rgb(244, 67, 54);

  /* ---- Common ---- */
  --common-0:   rgb(0, 0, 0);
  --common-100: rgb(255, 255, 255);

  /* ============ Semantic aliases ============ */
  /* Text / label */
  --text-strong:      var(--gray-900);
  --text-default:     var(--gray-800);
  --text-sub:         var(--gray-500);
  --text-disabled:    var(--gray-400);
  --text-placeholder: var(--gray-300);
  --text-inverse:     var(--common-100);
  --text-brand:       var(--primary-600);
  --text-error:       var(--red-600);

  /* Surface / background */
  --surface-page:        var(--common-100);
  --surface-card:        var(--common-100);
  --surface-subtle:      rgb(247, 247, 248);
  --surface-muted:       var(--gray-50);
  --surface-disabled:    var(--gray-200);
  --surface-brand:       var(--primary-600);
  --surface-brand-soft:  var(--primary-100);
  --surface-error-soft:  var(--red-50);

  /* Border / outline */
  --border-default: var(--gray-200);
  --border-strong:  var(--gray-350);
  --border-input:   var(--gray-350);
  --border-brand:   var(--primary-600);
  --border-error:   var(--red-600);

  /* Interactive — brand button */
  --action-brand:        var(--primary-600);
  --action-brand-hover:  var(--primary-700);
  --action-brand-press:  var(--primary-800);
  --action-disabled-bg:  var(--gray-200);
  --action-disabled-fg:  var(--gray-400);
}

/* ── Addirect / PTBWA — Typography tokens ─────────────────────
   Pretendard-based hierarchy. Type styles carry size / line-height /
   letter-spacing exactly as defined in the Font Guide. */

:root {
  --font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-latin: "Inter", var(--font-sans);

  /* Weights */
  --fw-thin: 100;       /* @kind font */
  --fw-light: 300;      /* @kind font */
  --fw-regular: 400;    /* @kind font */
  --fw-medium: 500;     /* @kind font */
  --fw-semibold: 600;   /* @kind font */
  --fw-bold: 700;       /* @kind font */
  --fw-extrabold: 800;  /* @kind font */
  --fw-black: 900;      /* @kind font */

  /* Size scale (tailwind-aligned) */
  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-lg:   18px;
  --text-xl:   20px;
  --text-2xl:  24px;
  --text-3xl:  30px;
  --text-4xl:  36px;
  --text-5xl:  48px;
  --text-6xl:  60px;
  --text-7xl:  72px;

  /* ---- Type styles (size / line-height / tracking). lh & ls are unitless → @kind font ---- */
  --display-1-size: 56px; --display-1-lh: 1.286;  /* @kind font */ --display-1-ls: -0.032em;  /* @kind font */
  --display-2-size: 40px; --display-2-lh: 1.30;   /* @kind font */ --display-2-ls: -0.0282em; /* @kind font */
  --display-3-size: 36px; --display-3-lh: 1.334;  /* @kind font */ --display-3-ls: -0.027em;  /* @kind font */

  --title-1-size: 32px; --title-1-lh: 1.375; /* @kind font */ --title-1-ls: -0.0253em; /* @kind font */
  --title-2-size: 28px; --title-2-lh: 1.358; /* @kind font */ --title-2-ls: -0.0236em; /* @kind font */
  --title-3-size: 24px; --title-3-lh: 1.334; /* @kind font */ --title-3-ls: -0.023em;  /* @kind font */

  --heading-1-size: 22px; --heading-1-lh: 1.364; /* @kind font */ --heading-1-ls: -0.0194em; /* @kind font */
  --heading-2-size: 20px; --heading-2-lh: 1.40;  /* @kind font */ --heading-2-ls: -0.012em;  /* @kind font */
  --heading-3-size: 18px; --heading-3-lh: 1.445; /* @kind font */ --heading-3-ls: -0.002em;  /* @kind font */

  --body-size: 16px;         --body-lh: 1.50;  /* @kind font */ --body-ls: 0.0057em; /* @kind font */
  --body-reading-lh: 1.625;  /* @kind font */
  --caption-size: 14px;      --caption-lh: 1.40; /* @kind font */ --caption-ls: 0.0057em; /* @kind font */
  --footnote-size: 12px;     --footnote-lh: 1.30; /* @kind font */
}

/* ── Addirect / PTBWA — Spacing tokens ────────────────────────
   Built on a 4px (0.25rem) base grid. Use only these defined steps. */

:root {
  --space-0: 0px;
  --space-1: 4px;     /* 0.25rem */
  --space-2: 8px;     /* 0.5rem  */
  --space-3: 12px;    /* 0.75rem */
  --space-4: 16px;    /* 1rem    */
  --space-5: 20px;    /* 1.25rem */
  --space-6: 24px;    /* 1.5rem  */
  --space-7: 28px;    /* 1.75rem */
  --space-8: 32px;    /* 2rem    */
  --space-9: 36px;    /* 2.25rem */
  --space-10: 40px;   /* 2.5rem  */
  --space-11: 44px;   /* 2.75rem */
  --space-12: 48px;   /* 3rem    */
  --space-14: 56px;   /* 3.5rem  */
  --space-16: 64px;   /* 4rem    */
  --space-20: 80px;   /* 5rem    */
  --space-24: 96px;   /* 6rem    */
  --space-28: 112px;  /* 7rem    */
  --space-32: 128px;  /* 8rem    */
  --space-36: 144px;  /* 9rem    */
  --space-40: 160px;  /* 10rem   */
}

/* ── Addirect / PTBWA — Radius & Shadow tokens ────────────────── */

:root {
  /* Corner radius */
  --radius-xs:   4px;    /* checkbox, small chips */
  --radius-sm:   6px;
  --radius-md:   8px;    /* buttons, inputs (rounded-lg) */
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;   /* large feature cards */
  --radius-full: 9999px; /* pills, toggles, avatars */

  /* Elevation — kept light; the system leans on inset 1px outlines */
  --shadow-xs: 0 1px 2px rgba(17, 25, 40, 0.04);
  --shadow-sm: 0 1px 3px rgba(17, 25, 40, 0.06), 0 1px 2px rgba(17, 25, 40, 0.04);
  --shadow-md: 0 4px 12px rgba(17, 25, 40, 0.08);
  --shadow-lg: 0 12px 32px rgba(17, 25, 40, 0.12);
  --shadow-focus: 0 0 0 3px rgba(95, 58, 242, 0.18);

  /* Inset outline helpers (the system's default control border) */
  --outline-input: inset 0 0 0 1px var(--border-input);
  --outline-brand: inset 0 0 0 1px var(--border-brand);
  --outline-error: inset 0 0 0 1px var(--border-error);
}


/* ==========================================================
   모두의 TV광고 애디렉트 · 프로모션 랜딩
   Addirect Design System(PTBWA 공통 가이드) 토큰 기반

   타입 스케일 (size / line-height / letter-spacing 은 토큰 그대로)
     H1 히어로         display-1 56  → 모바일 title-1 32
     H2 섹션 제목       display-2 40  → 모바일 title-2 28
     섹션 설명          heading-3 18  → 모바일 body 16
     카드 제목(대)      heading-1 22  → 모바일 heading-3 18
     카드 제목(소)      heading-3 18  → 모바일 body 16
     본문               body 16 · 보조 caption 14 · 각주 footnote 12
   간격 (4px 그리드)
     섹션 패딩          space-24 96  → 모바일 space-16 64
     섹션 제목 → 본문   space-12 48  → 모바일 space-8 32
     카드 패딩          space-8 32 (대) · space-6 24 (중) · space-4 16 (소)
     그리드 갭          space-6 24 (카드) · space-4 16 (리스트)
   레이아웃
     컨테이너 1200 · 거터 space-6 24 (모바일 space-5 20)
     12칸 그리드: 6/6 · 4/8 · 3열 · 2열
   ========================================================== */


@font-face{
  font-family:"Pretendard";
  src:url("/web/css/aitive/fonts/PretendardVariable.woff2") format("woff2-variations"),
      url("/web/css/aitive/fonts/PretendardVariable.woff2") format("woff2");
  font-weight:45 920; font-display:swap;
}

:root{
  --container:1200px;
  --gutter:var(--space-6);
  --col-gap:var(--space-6);
  --section-y:var(--space-24);
  --head-gap:var(--space-12);
  --kakao:#FEE500;
  --kakao-fg:#191919;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:900px){
  :root{--gutter:var(--space-5);--col-gap:var(--space-4);--section-y:var(--space-16);--head-gap:var(--space-8)}
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font-sans);color:var(--text-default);background:var(--surface-page);
  font-size:var(--body-size);line-height:var(--body-lh);letter-spacing:var(--body-ls);
  word-break:keep-all;-webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p{margin:0}
strong,b{font-weight:var(--fw-bold)}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.br-m{display:none}
.br-d{display:inline}
@media (max-width:767px){.br-m{display:inline}.br-d{display:none}}

/* ---------- 섹션 공통 ---------- */
.eyebrow{
  display:block;font-size:var(--caption-size);line-height:var(--caption-lh);letter-spacing:var(--caption-ls);
  font-weight:var(--fw-semibold);color:var(--text-brand);margin-bottom:var(--space-3);
}
.eyebrow--light{color:var(--primary-300)}
.section-head{text-align:center;max-width:760px;margin:0 auto var(--head-gap)}
.section-head h2{
  font-size:var(--display-2-size);line-height:var(--display-2-lh);letter-spacing:var(--display-2-ls);
  font-weight:var(--fw-bold);color:var(--text-strong);
}
.section-head__desc{
  margin-top:var(--space-4);font-size:var(--heading-3-size);line-height:var(--heading-3-lh);letter-spacing:var(--heading-3-ls);
  font-weight:var(--fw-regular);color:var(--text-sub);
}
.section-head__desc strong{color:var(--text-strong);font-weight:var(--fw-semibold)}
.section-head--light h2{color:var(--text-inverse)}
.section-head--light .section-head__desc{color:var(--gray-300)}
@media (max-width:767px){
  .section-head h2{font-size:var(--title-2-size);line-height:var(--title-2-lh);letter-spacing:var(--title-2-ls)}
  .section-head__desc{margin-top:var(--space-3);font-size:var(--body-size);line-height:var(--body-reading-lh);letter-spacing:var(--body-ls)}
}

/* ---------- 공통 UI ---------- */
.pill{
  display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);
  border-radius:var(--radius-full);font-size:var(--caption-size);line-height:1;font-weight:var(--fw-semibold);
}
.pill--light{background:var(--common-100);color:var(--text-strong)}
.pill__dot{width:6px;height:6px;border-radius:50%;background:var(--primary-600)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:0.006em;line-height:1.5;
  white-space:nowrap;cursor:pointer;border:0;user-select:none;
  transition:background-color .15s ease,box-shadow .15s ease,color .15s ease;
}
.btn--xl{height:52px;padding:0 var(--space-6);font-size:var(--body-size)}
.btn--lg{height:48px;padding:0 22px;font-size:var(--body-size)}
.btn--md{height:44px;padding:0 var(--space-5);font-size:var(--body-size)}
.btn--sm{height:36px;padding:0 var(--space-4);font-size:var(--caption-size)}
.btn--primary{background:var(--action-brand);color:var(--text-inverse)}
.btn--primary:hover{background:var(--action-brand-hover)}
.btn--primary:active{background:var(--action-brand-press)}
.btn--secondary{background:var(--surface-card);color:var(--text-strong);box-shadow:var(--outline-brand)}
.btn--secondary:hover{background:var(--primary-50)}
.btn--outline{background:var(--surface-card);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--gray-400)}
.btn--outline:hover{background:var(--gray-50)}
.btn--inverse{background:var(--common-100);color:var(--primary-600)}
.btn--inverse:hover{background:var(--primary-50)}
.btn--inverse:active{background:var(--primary-100)}
.btn--inverse-outline{background:transparent;color:var(--text-inverse);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.btn--inverse-outline:hover{background:rgba(255,255,255,.08)}
.btn--kakao{background:var(--kakao);color:var(--kakao-fg)}
.btn--kakao:hover{background:#F2DA00}
.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}

.ddalkkak{
  display:inline-block;padding:0 .3em;border-radius:var(--radius-md);
  background:var(--primary-600);color:var(--text-inverse);font-weight:var(--fw-bold);line-height:1.25;
}
.ddalkkak--inline{font-size:.92em;vertical-align:.02em}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- 헤더 ----------
   애디렉트 공통 헤더(include/index_header.jsp, headerSolid=Y)를 그대로 쓴다.
   스타일은 /web/css/index_header_standalone.css (부트스트랩 · landing.css 없이 같은 모양) */

/* ---------- 푸터 ---------- */
.site-footer{padding:var(--space-12) 0 var(--space-32);background:var(--gray-50);font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--text-sub)}
.site-footer__inner{display:flex;align-items:flex-start;gap:var(--space-16)}
.site-footer__logo{flex:none;padding-top:var(--space-1)}
.site-footer__logo img{width:194px;height:auto}
.site-footer__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}
.site-footer__top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-6);margin-bottom:var(--space-3)}
.site-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:var(--caption-size);line-height:var(--caption-lh);color:var(--text-default)}
.site-footer__links b{font-weight:var(--fw-bold);color:var(--text-strong)}
.site-footer__links a:hover{color:var(--text-strong)}
.site-footer__sns{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:var(--space-3)}
.site-footer__sns a{display:flex;color:var(--gray-400);transition:color .15s ease}
.site-footer__sns a:hover{color:var(--gray-600)}
.site-footer__info{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5);color:var(--gray-600)}
.site-footer__info a:hover{color:var(--text-strong);text-decoration:underline}
.site-footer__contact li{display:flex;align-items:center;gap:var(--space-2)}
.site-footer__contact svg{flex:none;color:var(--gray-350)}
.site-footer__copy{margin:var(--space-3) 0 0;color:var(--gray-400)}
.site-footer__badge{flex:none;width:62px;height:auto;margin-left:auto}
@media (max-width:900px){
  .site-footer{padding-top:var(--space-8)}
  .site-footer__inner{flex-direction:column;align-items:stretch;gap:var(--space-6)}
  .site-footer__logo,.site-footer__badge{align-self:flex-start}
  .site-footer__logo img{width:140px}
  .site-footer__badge{margin-left:0;width:52px}
}
@media (min-width:901px){.site-footer{padding-bottom:var(--space-16)}}

/* ---------- 고정 요소 ---------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));
  background:var(--surface-page);border-top:1px solid var(--border-default);box-shadow:var(--shadow-lg);
}
.sticky-cta__text{font-size:var(--caption-size);line-height:var(--caption-lh);font-weight:var(--fw-medium);color:var(--text-default)}
.sticky-cta__text b{color:var(--text-brand);font-weight:var(--fw-bold)}
@media (max-width:900px){.sticky-cta{display:flex}}

.float-cta{
  position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:55;
  width:72px;height:72px;border-radius:50%;background:var(--action-brand);color:var(--text-inverse);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 32px rgba(95,58,242,.4),inset 0 1px 0 rgba(255,255,255,.18);
  transition:background-color .15s ease,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;
  animation:float-in .6s cubic-bezier(.22,1,.36,1) 1.8s both;
}
.float-cta__ring{position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 rgba(95,58,242,.45);animation:float-pulse 2.6s ease-out 2.6s infinite}
.float-cta__text{position:relative;font-size:var(--caption-size);line-height:1.15;font-weight:var(--fw-bold);letter-spacing:-.01em;text-align:center}
.float-cta:hover{background:var(--action-brand-hover);transform:translateY(-3px) scale(1.04);box-shadow:0 18px 40px rgba(95,58,242,.45),inset 0 1px 0 rgba(255,255,255,.18)}
.float-cta:active{background:var(--action-brand-press);transform:translateY(-1px) scale(1)}
.float-cta:focus-visible{outline:none;box-shadow:var(--shadow-focus),0 12px 32px rgba(95,58,242,.4)}
@keyframes float-in{0%{opacity:0;transform:translateY(16px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes float-pulse{0%{box-shadow:0 0 0 0 rgba(95,58,242,.45)}70%,100%{box-shadow:0 0 0 18px rgba(95,58,242,0)}}
@media (max-width:900px){.float-cta{display:none}}
@media (prefers-reduced-motion:reduce){.float-cta{animation:none}.float-cta__ring{animation:none}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* ---------- 1. Hero ---------- */
.hero{
  position:relative;overflow:hidden;background:var(--gray-900);color:var(--text-inverse);
  min-height:min(86vh,780px);display:flex;align-items:center;
}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__wash{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(17,25,40,.88) 0%,rgba(17,25,40,.72) 42%,rgba(17,25,40,.32) 100%),
    linear-gradient(180deg,rgba(17,25,40,.1) 0%,rgba(17,25,40,0) 40%,rgba(17,25,40,.72) 100%);
}
.hero__inner{
  position:relative;padding-top:var(--space-16);padding-bottom:var(--space-16);
  display:grid;grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:var(--space-12);
}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;max-width:640px}
.hero__lockup{display:block;width:440px;max-width:100%;height:auto}
.hero__title{
  margin-top:var(--space-5);font-size:var(--display-2-size);line-height:var(--display-2-lh);letter-spacing:var(--display-2-ls);
  font-weight:var(--fw-bold);color:var(--text-inverse);
}
.hero__lead{
  margin-top:var(--space-4);font-size:var(--heading-2-size);line-height:var(--heading-2-lh);letter-spacing:var(--heading-2-ls);
  font-weight:var(--fw-medium);color:var(--gray-200);
}
.hero__cta{display:flex;align-items:center;gap:var(--space-5);margin-top:var(--space-8)}
.hero__lead{margin-top:var(--space-4)}
.hero__cta .btn{min-width:220px}
@media (max-width:900px){
  .hero{min-height:0}
  .hero__wash{background:linear-gradient(180deg,rgba(17,25,40,.6) 0%,rgba(17,25,40,.8) 60%,rgba(17,25,40,.94) 100%)}
  .hero__inner{padding-top:var(--space-12);padding-bottom:var(--space-12)}
  .hero__lockup{width:280px}
  .hero__title{margin-top:var(--space-5);font-size:var(--title-2-size);line-height:var(--title-2-lh);letter-spacing:var(--title-2-ls)}
  .hero__lead{margin-top:var(--space-3);font-size:var(--body-size);line-height:var(--body-reading-lh);letter-spacing:var(--body-ls)}
  .hero__cta{flex-direction:column;align-items:stretch;gap:var(--space-3);width:100%;margin-top:var(--space-6)}
}

/* ---------- 1-0. 무료 제작권 티켓 ---------- */
/* 연보라 종이 티켓 (primary-50~200, 불투명).
   절취선은 원형 타공. 몸통 하단과 스텁 상단에 같은 위치의 반원 홈을 뚫어 맞붙이면 구멍 한 줄이 되고,
   끊어지면 양쪽에 둥근 홈이 남는다. 양 끝에는 큰 반원 홈. 몸통 하단과 스텁 상단을 맞물리는 지그재그로 마스킹해 두었다가
   '딱' 하는 순간 스텁이 아래로 떨어지며 찢긴 단면이 드러난다. */
.ticket{
  --hole:3.5px;                             /* 타공 구멍 반지름 */
  --pitch:16px;                             /* 타공 간격 */
  --notch:12px;                             /* 양 끝 반원 홈 반지름 */
  --t-in:1.35s;                             /* 등장 시작 */
  --t-snap:2.45s;                           /* 끊어지는 순간 */
  position:relative;width:100%;justify-self:end;
  transform:rotate(-1.5deg);
  filter:drop-shadow(0 28px 48px rgba(0,0,0,.45));
  animation:tk-in .8s cubic-bezier(.22,1,.36,1) var(--t-in) both;
}
.ticket__body{
  position:relative;background:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 60%),linear-gradient(160deg,var(--primary-50) 0%,var(--primary-100) 55%,var(--primary-200) 100%);
  
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);color:var(--text-strong);
  border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;
  padding:var(--space-7) var(--space-7) var(--space-5);
  -webkit-mask:radial-gradient(circle var(--hole) at 50% 100%,#0000 96%,#000) 50% 0/var(--pitch) 100% repeat-x,radial-gradient(circle var(--notch) at 0 100%,#0000 97%,#000) 0 0/100% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 100%,#0000 97%,#000) 0 0/100% 100% no-repeat;-webkit-mask-composite:source-in;
          mask:radial-gradient(circle var(--hole) at 50% 100%,#0000 96%,#000) 50% 0/var(--pitch) 100% repeat-x,radial-gradient(circle var(--notch) at 0 100%,#0000 97%,#000) 0 0/100% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 100%,#0000 97%,#000) 0 0/100% 100% no-repeat;mask-composite:intersect;
  animation:tk-jolt .35s ease-out var(--t-snap) both;
}
.ticket__top{display:flex;justify-content:space-between;align-items:center;font-size:var(--footnote-size);line-height:1;font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-brand)}
.ticket__top span:last-child{letter-spacing:0;color:var(--primary-700);opacity:.7;font-weight:var(--fw-semibold)}
.ticket__title{margin-top:var(--space-3);font-size:var(--title-3-size);line-height:var(--title-3-lh);letter-spacing:var(--title-3-ls);font-weight:var(--fw-bold)}
.ticket__list{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.ticket__list li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--heading-3-size);line-height:var(--heading-3-lh);font-weight:var(--fw-semibold);color:var(--text-strong)}
.ticket__chk{flex:none;width:24px;height:24px;border-radius:50%;background:var(--primary-600);color:var(--text-inverse);display:inline-flex;align-items:center;justify-content:center}

.ticket__stub{
  position:relative;background:linear-gradient(160deg,var(--primary-100) 0%,var(--primary-200) 100%);
  
  color:var(--text-strong);
  border-radius:0 0 var(--radius-2xl) var(--radius-2xl);
  padding:var(--space-5) var(--space-7) var(--space-6);
  -webkit-mask:radial-gradient(circle var(--hole) at 50% 0,#0000 96%,#000) 50% 0/var(--pitch) 100% repeat-x,radial-gradient(circle var(--notch) at 0 0,#0000 97%,#000) 0 0/100% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 0,#0000 97%,#000) 0 0/100% 100% no-repeat;-webkit-mask-composite:source-in;
          mask:radial-gradient(circle var(--hole) at 50% 0,#0000 96%,#000) 50% 0/var(--pitch) 100% repeat-x,radial-gradient(circle var(--notch) at 0 0,#0000 97%,#000) 0 0/100% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 0,#0000 97%,#000) 0 0/100% 100% no-repeat;mask-composite:intersect;
  transform-origin:12% 0;
  animation:tk-tug .32s ease-in-out calc(var(--t-snap) - .36s) both,tk-tear .7s cubic-bezier(.2,.9,.25,1) var(--t-snap) both;
}
.ticket__total{display:flex;justify-content:space-between;align-items:flex-end}
.ticket__total{align-items:baseline}
.ticket__total span{font-size:var(--heading-3-size);font-weight:var(--fw-semibold);color:var(--primary-800)}
.ticket__total strong{font-size:var(--display-1-size);line-height:1;letter-spacing:-.03em;font-weight:var(--fw-extrabold);color:var(--text-brand)}
.ticket__until{margin-top:var(--space-1);text-align:right;font-size:var(--caption-size);line-height:var(--caption-lh);font-weight:var(--fw-medium);color:var(--primary-700)}

/* 끊어지는 순간의 스파크 + '딱!' */
.ticket__snap{position:absolute;right:-6px;top:var(--snap-y,64%);width:0;height:0;pointer-events:none}
.ticket__snap i{
  position:absolute;left:0;top:0;width:18px;height:3px;border-radius:2px;background:var(--common-100);
  transform-origin:0 50%;opacity:0;animation:tk-spark .45s ease-out var(--t-snap) both;
}
.ticket__snap i:nth-child(1){--r:-35deg}
.ticket__snap i:nth-child(2){--r:0deg}
.ticket__snap i:nth-child(3){--r:35deg}
.ticket__snap em{
  position:absolute;left:22px;top:-34px;font-style:normal;white-space:nowrap;
  font-size:var(--heading-1-size);font-weight:var(--fw-black);color:var(--common-100);
  text-shadow:0 4px 14px rgba(95,58,242,.8);opacity:0;animation:tk-word .9s cubic-bezier(.34,1.6,.64,1) var(--t-snap) both;
}

@keyframes tk-in{
  0%  {opacity:0;transform:translateY(48px) rotate(4deg) scale(.96)}
  100%{opacity:1;transform:rotate(-1.5deg) scale(1)}
}
@keyframes tk-tug{                         /* 끊기기 직전 살짝 당겨짐 */
  0%,100%{transform:translateY(0)}
  40%    {transform:translateY(3px) rotate(.4deg)}
  70%    {transform:translateY(1px)}
}
@keyframes tk-tear{                        /* 딱! 끊어져서 떨어짐 */
  0%  {transform:translate(0,0) rotate(0)}
  18% {transform:translate(2px,10px) rotate(2.5deg)}
  100%{transform:translate(6px,18px) rotate(3.5deg)}
}
@keyframes tk-jolt{                        /* 반동으로 몸통이 위로 튐 */
  0%  {transform:translateY(0)}
  30% {transform:translateY(-5px)}
  100%{transform:translateY(0)}
}
@keyframes tk-spark{
  0%  {opacity:0;transform:rotate(var(--r)) translateX(0) scaleX(.2)}
  25% {opacity:1}
  100%{opacity:0;transform:rotate(var(--r)) translateX(26px) scaleX(1)}
}
@keyframes tk-word{
  0%  {opacity:0;transform:scale(.4) rotate(-10deg)}
  30% {opacity:1;transform:scale(1.1) rotate(4deg)}
  70% {opacity:1;transform:scale(1) rotate(0)}
  100%{opacity:0;transform:translateY(-8px) scale(1)}
}
@media (max-width:1100px){
  .hero__inner{grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-8)}
}
@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;gap:var(--space-10)}
  .ticket{max-width:340px;justify-self:center;transform:rotate(-1deg)}
  .ticket__body{padding:var(--space-6) var(--space-6) var(--space-4)}
  .ticket__stub{padding:var(--space-4) var(--space-6) var(--space-5)}
  .ticket__title{font-size:var(--heading-1-size);line-height:var(--heading-1-lh)}
  .ticket__list li{font-size:var(--body-size)}
  .ticket__total span{font-size:var(--body-size)}
  .ticket__total strong{font-size:var(--text-4xl)}
}
@media (prefers-reduced-motion:reduce){
  .ticket,.ticket__body,  .ticket__stub{animation:none;transform:translate(6px,18px) rotate(3.5deg)}
    .ticket__snap{display:none}
}

/* ---------- 1-1. 로고 + 등장 모션 (붓 터치처럼 왼쪽부터 칠해지듯) ---------- */
.hero__lockup{filter:drop-shadow(0 10px 28px rgba(0,0,0,.45));animation:lk-brush .9s cubic-bezier(.65,0,.35,1) .1s both}
.hero__title,.hero__lead,.hero__cta{animation:hero-rise .7s cubic-bezier(.22,1,.36,1) both}
.hero__title{animation-delay:.75s}
.hero__lead{animation-delay:.9s}
.hero__cta{animation-delay:1.05s}
@keyframes lk-brush{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-12px) skewX(-6deg)}15%{opacity:1}100%{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes hero-rise{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){
  .hero__lockup,.hero__title,.hero__lead,.hero__cta{animation:none;opacity:1;transform:none;clip-path:none}
}

/* ---------- 2. 공감 ---------- */
.empathy{padding:var(--section-y) 0;text-align:center}
.empathy__title{
  margin-top:0;font-size:var(--display-1-size);line-height:var(--display-1-lh);letter-spacing:var(--display-1-ls);
  font-weight:var(--fw-bold);color:var(--text-strong);
}
.empathy__answer{
  margin-top:var(--space-6);font-size:var(--title-1-size);line-height:var(--title-1-lh);letter-spacing:var(--title-1-ls);
  font-weight:var(--fw-semibold);color:var(--text-strong);
}
.hl{background:var(--surface-brand-soft);color:var(--text-brand);padding:0 .12em;border-radius:var(--radius-xs)}
.empathy__desc{
  margin:var(--space-4) auto 0;max-width:760px;font-size:var(--heading-3-size);line-height:var(--heading-3-lh);letter-spacing:var(--heading-3-ls);
  font-weight:var(--fw-regular);color:var(--text-sub);
}
@media (max-width:767px){
  .empathy__title{margin-top:0;font-size:var(--title-1-size);line-height:var(--title-1-lh);letter-spacing:var(--title-1-ls)}
  .empathy__answer{margin-top:var(--space-4);font-size:var(--heading-1-size);line-height:var(--heading-1-lh);letter-spacing:var(--heading-1-ls)}
  .empathy__desc{font-size:var(--body-size);line-height:var(--body-reading-lh);letter-spacing:var(--body-ls)}
          }

/* ---------- 2-0. 고객사 로고 (박스 없이 좌우로 흐름, 양 끝 페이드) ---------- */
.clients{margin-top:var(--space-16)}
.clients__title{font-size:var(--title-3-size);line-height:var(--title-3-lh);letter-spacing:var(--title-3-ls);font-weight:var(--fw-bold);color:var(--text-strong)}
.clients__marquee{
  --cell:200px;--speed:40s;
  max-width:1100px;margin:var(--space-8) auto 0;overflow:hidden;
}
.clients__viewport{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);
}
.clients__list{
  margin:0;padding:0;list-style:none;display:flex;width:max-content;
  animation:cl-marquee var(--speed) linear infinite;
}
.clients__marquee:hover .clients__list{animation-play-state:paused}
.clients__item{
  position:relative;flex:none;width:var(--cell);
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-7) var(--space-4) var(--space-6);
}
.clients__logo{height:64px;max-width:100%;display:flex;align-items:center;justify-content:center}
.clients__item img{display:block;height:var(--h,36px);width:auto;max-width:100%;object-fit:contain;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.clients__name{margin-top:var(--space-4);font-size:var(--caption-size);line-height:var(--caption-lh);font-weight:var(--fw-semibold);color:var(--text-strong)}
.clients__ind{margin-top:2px;font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--text-sub)}
@media (hover:hover){.clients__item:hover img{transform:scale(1.06)}}
@keyframes cl-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:767px){
  .clients{margin-top:var(--space-12)}
  .clients__title{font-size:var(--heading-2-size);line-height:var(--heading-2-lh);letter-spacing:var(--heading-2-ls)}
  .clients__marquee{--cell:140px;--speed:30s;margin-top:var(--space-6)}
  .clients__item{padding:var(--space-5) var(--space-2) var(--space-4)}
  .clients__logo{height:44px}
  .clients__item img{height:calc(var(--h,36px) * .72)}
  .clients__name{margin-top:var(--space-2);font-size:var(--footnote-size)}
}
/* 모션 최소화: 흐르지 않고 실제 5개만 한 줄 */
@media (prefers-reduced-motion:reduce){
  .clients__viewport{-webkit-mask-image:none;mask-image:none}
  .clients__list{animation:none;width:auto;justify-content:center;flex-wrap:wrap}
  .clients__item[aria-hidden="true"]{display:none}
}

/* ---------- 2-0. 기술 차별점 (컴팩트) ---------- */
.tech{padding:var(--section-y) 0;background:var(--surface-page)}
.tech .section-head{margin-bottom:var(--space-10)}
.tech .section-head__desc strong{color:var(--text-brand)}

/* 구조: INPUT → 엔진 → OUTPUT 한 줄 */
.flow{
  margin:0 auto;padding:0;list-style:none;max-width:1040px;
  --fgap:var(--space-6);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3.1fr) minmax(0,1fr);gap:var(--fgap);align-items:stretch;
}
.flow > li{position:relative}
.flow > li+li::before{
  content:"";position:absolute;left:calc(-1 * var(--fgap) + 6px);top:50%;width:12px;height:2px;background:var(--primary-300);
}
.flow__io{
  display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);padding:var(--space-5);
  border-radius:var(--radius-xl);background:var(--surface-subtle);box-shadow:inset 0 0 0 1px var(--border-default);
}
.flow__io--out{background:var(--primary-50);box-shadow:inset 0 0 0 1px var(--primary-200)}
.flow__io span{font-size:var(--footnote-size);line-height:1;font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-brand)}
.flow__io strong{margin-top:var(--space-1);white-space:nowrap;font-size:var(--heading-3-size);line-height:var(--heading-3-lh);font-weight:var(--fw-bold);color:var(--text-strong)}
.flow__io small{font-size:var(--caption-size);line-height:var(--caption-lh);color:var(--text-sub)}
.flow__core{
  display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);
  border-radius:var(--radius-xl);background:var(--surface-brand);color:var(--text-inverse);
}
.flow__model{
  flex:none;display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);padding:var(--space-4) var(--space-5);
  border-radius:var(--radius-lg);background:var(--common-100);color:var(--text-strong);
}
.flow__model span{font-size:var(--footnote-size);line-height:1;font-weight:var(--fw-bold);color:var(--text-brand)}
.flow__model strong{font-size:var(--heading-3-size);line-height:var(--heading-3-lh);font-weight:var(--fw-extrabold);white-space:nowrap}
.flow__agents{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:0;text-align:left}
.flow__agents p{display:flex;align-items:baseline;gap:var(--space-3);white-space:nowrap;font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--primary-100)}
.flow__agents b{flex:none;width:4.2em;font-size:var(--caption-size);font-weight:var(--fw-bold);color:var(--text-inverse)}
.flow__agents span{white-space:nowrap}

/* 비교표: 템플릿형 vs 모두의 TV광고 */
.compare{max-width:1040px;margin:var(--space-10) auto 0;overflow-x:auto;border-radius:var(--radius-xl);box-shadow:inset 0 0 0 1px var(--border-default)}
.compare table{width:100%;border-collapse:collapse;font-size:var(--caption-size);line-height:var(--caption-lh)}
.compare th,.compare td{padding:var(--space-3) var(--space-5);text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-default)}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.compare thead th{font-weight:var(--fw-semibold);color:var(--text-sub);background:var(--surface-subtle)}
.compare tbody th{width:20%;font-weight:var(--fw-bold);color:var(--text-strong)}
.compare td{width:40%;color:var(--text-sub)}
.compare .is-us{background:var(--primary-50);color:var(--text-strong);font-weight:var(--fw-semibold)}
.compare thead .is-us{background:var(--primary-600);color:var(--text-inverse);font-weight:var(--fw-bold)}
.compare tbody .is-us{position:relative;padding-left:calc(var(--space-5) + 20px)}
.compare tbody .is-us::before{
  content:"";position:absolute;left:var(--space-5);top:50%;width:12px;height:7px;margin-top:-5px;
  border-left:2.5px solid var(--primary-600);border-bottom:2.5px solid var(--primary-600);transform:rotate(-45deg);
}
.compare:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--border-default),var(--shadow-focus)}

@media (max-width:1000px){
  .flow{grid-template-columns:1fr;gap:var(--space-5)}
  .flow > li+li::before{left:50%;top:calc(-1 * var(--space-5) + 4px);width:2px;height:12px}
  .flow__core{flex-direction:column;align-items:stretch}
  .flow__model{align-items:center;text-align:center}
}
@media (max-width:767px){
  .flow__agents p{flex-direction:column;align-items:flex-start;gap:2px}
  .flow__agents b{width:auto}
}
@media (max-width:767px){
  .compare{margin-top:var(--space-8);overflow:visible;border-radius:0;box-shadow:none}
  .compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .compare table,.compare tbody{display:block}
  .compare tbody{display:flex;flex-direction:column;gap:var(--space-2)}
  .compare tr{display:block;border-radius:var(--radius-lg);overflow:hidden;box-shadow:inset 0 0 0 1px var(--border-default)}
  .compare th,.compare td{display:flex;width:auto;border:0;padding:var(--space-2) var(--space-4)}
  .compare tbody th{width:auto;background:var(--surface-subtle);font-size:var(--footnote-size)}
  .compare td{width:auto;justify-content:space-between;gap:var(--space-3);text-align:right;border-top:1px solid var(--border-default)}
  .compare td::before{content:attr(data-label);flex:none;font-weight:var(--fw-semibold);color:var(--text-sub)}
  .compare tbody .is-us{padding-left:var(--space-4)}
  .compare tbody .is-us::before{content:attr(data-label);position:static;width:auto;height:auto;margin:0;border:0;transform:none;color:var(--text-brand);font-weight:var(--fw-bold)}
}

/* ---------- 2-1. 순서 역전 ---------- */
.reverse{padding:var(--section-y) 0;background:var(--surface-subtle)}
.reverse .section-head h2 em{font-style:normal;color:var(--text-brand)}
.reverse__stage{max-width:1040px;margin:0 auto}
.reverse__legend{
  display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-6);margin-top:var(--space-6);
  font-size:var(--caption-size);line-height:var(--caption-lh);letter-spacing:var(--caption-ls);color:var(--text-sub);
}
.reverse__legend b{font-weight:var(--fw-semibold);color:var(--text-default)}
.reverse__legend .is-new b{color:var(--text-brand)}

/* ==========================================================
   프로세스 역전 애니메이션 (랜딩 섹션 + GIF 소스 공용)
   루프 9초
   0–22%   기존 순서 유지 (집행 결정 → 광고 제작 → 완성본 확인)
   22–26%  '집행 결정' 카드가 떠오름
   26–38%  포물선을 그리며 맨 뒤로 이동, 나머지 카드는 순차적으로 앞으로
   38–46%  착지 · ₩0 칩과 '여기서 결정' 태그가 튀어나옴
   46–90%  새 순서 유지
   90–100% 부드럽게 페이드 리셋
   디자인 시스템 토큰(--primary-*, --gray-*, --radius-*, --space-*) 사용
   ========================================================== */

.pr{
  --pr-gap:var(--space-3);
  --pr-dur:9s;
  --pr-card-h:136px;
  --pr-out:cubic-bezier(.22,1,.36,1);      /* ease-out expo 느낌 */
  --pr-in:cubic-bezier(.4,0,.6,1);
  --pr-spring:cubic-bezier(.34,1.45,.64,1); /* 살짝 넘치는 스프링 */
  position:relative;
  padding:var(--space-6);
  border-radius:var(--radius-2xl);
  background:var(--surface-card);
  box-shadow:inset 0 0 0 1px var(--border-default);
  font-family:var(--font-sans);
  color:var(--text-strong);
  overflow:hidden;
}

/* 상단 라벨 (기존 ↔ 애디렉트 크로스페이드) */
.pr__head{position:relative;height:28px;margin-bottom:var(--space-4)}
.pr__label{
  position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:var(--space-2);height:28px;
  font-size:var(--caption-size);font-weight:var(--fw-semibold);
  animation:pr-label-old var(--pr-dur) var(--pr-out) infinite;
}
.pr__label--new{color:var(--text-brand);animation-name:pr-label-new}
.pr__label--old{color:var(--text-sub)}
.pr__label img{height:14px;width:auto}
.pr__dot{width:6px;height:6px;border-radius:50%;background:currentColor}

/* 카드 트랙 */
.pr__track{position:relative;height:var(--pr-card-h)}
.pr__card{
  position:absolute;left:0;top:0;width:calc((100% - var(--pr-gap) * 2) / 3);height:var(--pr-card-h);
  padding:calc(var(--space-4) + 32px) var(--space-5) var(--space-4);border-radius:var(--radius-xl);
  background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--border-default);
  display:flex;flex-direction:column;gap:var(--space-1);
  animation-duration:var(--pr-dur);animation-timing-function:var(--pr-out);animation-iteration-count:infinite;
  will-change:transform;
}
.pr__card strong{font-size:var(--heading-3-size);line-height:var(--heading-3-lh);letter-spacing:var(--heading-3-ls);font-weight:var(--fw-bold);display:flex;align-items:center;gap:var(--space-2)}
.pr__card small{font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--text-sub)}

/* 번호는 슬롯에 고정: 카드가 이동해도 1·2·3 순서는 왼쪽부터 */
.pr__nums{position:absolute;inset:0;pointer-events:none;z-index:3}
.pr__nums span{
  position:absolute;top:var(--space-4);width:24px;height:24px;border-radius:50%;background:var(--gray-100);
  color:var(--text-default);font-size:var(--footnote-size);font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;
  left:calc(var(--i) * ((100% - var(--pr-gap) * 2) / 3 + var(--pr-gap)) + var(--space-5));
  animation:pr-num var(--pr-dur) var(--pr-out) infinite;
  animation-delay:calc(var(--i) * .08s);
}

/* 카드별 키프레임 */
.pr__card--check{animation-name:pr-hero;z-index:2}
.pr__card--decide{animation-name:pr-shift-a}
.pr__card--make{animation-name:pr-shift-b}

/* 착지 링: 주인공 카드가 자리에 놓이는 순간 보라색 링이 번짐 */
.pr__card--check::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 0 0 rgba(95,58,242,.45);opacity:0;
  animation:pr-ring var(--pr-dur) ease-out infinite;
}
@keyframes pr-ring{
  0%,41%   {opacity:0;box-shadow:0 0 0 0 rgba(95,58,242,.45)}
  43%      {opacity:1;box-shadow:0 0 0 0 rgba(95,58,242,.45)}
  56%,100% {opacity:0;box-shadow:0 0 0 28px rgba(95,58,242,0)}
}

/* 조건부 요소: 새 순서에서만 보임 */
.pr__free{
  display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);border-radius:var(--radius-xs);
  background:var(--primary-100);color:var(--text-brand);font-size:var(--footnote-size);font-weight:var(--fw-bold);
  animation:pr-pop var(--pr-dur) var(--pr-spring) infinite;transform-origin:left center;
}
.pr__tag{
  position:absolute;right:var(--space-3);top:calc(var(--space-2) * -1);height:24px;padding:0 var(--space-2);
  display:inline-flex;align-items:center;border-radius:var(--radius-xs);
  background:var(--orange-500);color:var(--text-inverse);font-size:var(--footnote-size);font-weight:var(--fw-bold);
  animation:pr-pop-tag var(--pr-dur) var(--pr-spring) infinite;transform-origin:right bottom;
}
.pr__sub--old,.pr__sub--new{position:absolute;left:var(--space-5);right:var(--space-5);bottom:var(--space-4)}
.pr__sub--old{animation:pr-sub-old var(--pr-dur) var(--pr-out) infinite}
.pr__sub--new{animation:pr-sub-new var(--pr-dur) var(--pr-out) infinite}

/* 제목 크로스페이드 (광고 제작 → 광고 집행) */
.pr__ttl{position:relative;min-height:1.445em}
.pr__t-old,.pr__t-new{position:absolute;left:0;top:0;white-space:nowrap}
.pr__t-old{animation:pr-sub-old var(--pr-dur) var(--pr-out) infinite}
.pr__t-new{animation:pr-sub-new var(--pr-dur) var(--pr-out) infinite}

/* 트랙 아래 진행 라인: 새 순서가 완성되면 보라색으로 채워짐 */
.pr__arrow{
  margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-2);
  font-size:var(--footnote-size);font-weight:var(--fw-medium);color:var(--text-sub);
}
.pr__arrow i{flex:1;height:2px;background:var(--gray-200);position:relative;border-radius:1px;overflow:visible}
.pr__arrow i::before{
  content:"";position:absolute;left:0;top:0;height:100%;width:100%;border-radius:1px;background:var(--primary-500);
  transform-origin:left center;animation:pr-line var(--pr-dur) var(--pr-out) infinite;
}
.pr__arrow i::after{
  content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:2px solid var(--gray-300);border-right:2px solid var(--gray-300);transform:rotate(45deg);
  animation:pr-line-head var(--pr-dur) var(--pr-out) infinite;
}

/* ── 키프레임 (9s = 100%) ── */
@keyframes pr-hero{
  0%,22%{
    transform:translate(calc(200% + var(--pr-gap) * 2),0) rotate(0) scale(1);background:var(--surface-card);color:var(--text-strong);
    box-shadow:inset 0 0 0 1px var(--border-default),0 0 0 rgba(95,58,242,0);animation-timing-function:cubic-bezier(.4,0,.2,1);
  }
  26%{
    transform:translate(calc(200% + var(--pr-gap) * 2),-18px) rotate(-1.5deg) scale(1.03);background:var(--surface-card);color:var(--text-strong);
    box-shadow:inset 0 0 0 1px var(--border-default),0 18px 36px rgba(17,25,40,.14);animation-timing-function:cubic-bezier(.3,0,.1,1);
  }
  32%{
    transform:translate(calc(100% + var(--pr-gap)),-54px) rotate(-3deg) scale(1.06);background:var(--primary-500);color:var(--text-inverse);
    box-shadow:inset 0 0 0 1px transparent,0 34px 60px rgba(95,58,242,.3);animation-timing-function:cubic-bezier(.2,0,.1,1);
  }
  39%{
    transform:translate(0,-10px) rotate(.6deg) scale(1.025);background:var(--primary-600);color:var(--text-inverse);
    box-shadow:inset 0 0 0 1px transparent,0 16px 32px rgba(95,58,242,.24);animation-timing-function:cubic-bezier(.2,.9,.3,1);
  }
  44%{
    transform:translate(0,0) rotate(0) scale(1);background:var(--primary-600);color:var(--text-inverse);
    box-shadow:inset 0 0 0 1px transparent,0 6px 16px rgba(95,58,242,.18);animation-timing-function:ease-out;
  }
  50%,94.9%{
    transform:translate(0,0) rotate(0) scale(1);background:var(--primary-600);color:var(--text-inverse);
    box-shadow:inset 0 0 0 1px transparent,0 0 0 rgba(95,58,242,0);
  }
  95%,100%{
    transform:translate(calc(200% + var(--pr-gap) * 2),0) rotate(0) scale(1);background:var(--surface-card);color:var(--text-strong);
    box-shadow:inset 0 0 0 1px var(--border-default),0 0 0 rgba(95,58,242,0);
  }
}
@keyframes pr-shift-a{
  0%,28%   {transform:translateX(0);animation-timing-function:cubic-bezier(.3,0,.1,1)}
  40%,94.9%{transform:translateX(calc(100% + var(--pr-gap)))}
  95%,100% {transform:translateX(0)}
}
@keyframes pr-shift-b{
  0%,30%   {transform:translateX(calc(100% + var(--pr-gap)));animation-timing-function:cubic-bezier(.3,0,.1,1)}
  42%,94.9%{transform:translateX(calc(200% + var(--pr-gap) * 2))}
  95%,100% {transform:translateX(calc(100% + var(--pr-gap)))}
}
@keyframes pr-num{
  0%,23%   {transform:scale(1);opacity:1;background:var(--gray-100);color:var(--text-default)}
  26%,38%  {transform:scale(.6);opacity:0;background:var(--primary-100);color:var(--text-brand)}
  43%      {transform:scale(1.12);opacity:1;background:var(--primary-100);color:var(--text-brand)}
  46%,94.9%{transform:scale(1);opacity:1;background:var(--primary-100);color:var(--text-brand)}
  95%,100% {transform:scale(1);opacity:1;background:var(--gray-100);color:var(--text-default)}
}
@keyframes pr-pop{
  0%,44%   {opacity:0;transform:scale(.5)}
  50%,94.9%{opacity:1;transform:scale(1)}
  95%,100% {opacity:0;transform:scale(.5)}
}
@keyframes pr-pop-tag{
  0%,46%   {opacity:0;transform:scale(.4) rotate(-8deg)}
  52%,94.9%{opacity:1;transform:scale(1) rotate(0)}
  95%,100% {opacity:0;transform:scale(.4) rotate(-8deg)}
}
@keyframes pr-label-old{
  0%,23%   {opacity:1;transform:translateY(0)}
  28%,94.9%{opacity:0;transform:translateY(-8px)}
  95%,100% {opacity:1;transform:translateY(0)}
}
@keyframes pr-label-new{
  0%,34%   {opacity:0;transform:translateY(8px)}
  40%,94.9%{opacity:1;transform:translateY(0)}
  95%,100% {opacity:0;transform:translateY(8px)}
}
@keyframes pr-sub-old{
  0%,26%   {opacity:1}
  31%,94.9%{opacity:0}
  95%,100% {opacity:1}
}
@keyframes pr-sub-new{
  0%,34%   {opacity:0}
  40%,94.9%{opacity:1}
  95%,100% {opacity:0}
}
@keyframes pr-line{
  0%,44%   {transform:scaleX(0)}
  58%,94.9%{transform:scaleX(1)}
  95%,100% {transform:scaleX(0)}
}
@keyframes pr-line-head{
  0%,54%   {border-color:var(--gray-300)}
  58%,94.9%{border-color:var(--primary-500)}
  95%,100% {border-color:var(--gray-300)}
}
/* 전체 페이드 리셋 */
.pr__track,.pr__head,.pr__arrow{animation:pr-fade var(--pr-dur) ease-in-out infinite}
@keyframes pr-fade{
  0%,89%{opacity:1}
  94%,96%{opacity:0}
  100%{opacity:1}
}

/* 새 순서에서 결정 카드 안의 텍스트 색 */
.pr__card--check small{color:inherit;opacity:.82}
.pr__card--check .pr__free{background:rgba(255,255,255,.18);color:var(--text-inverse)}

/* 모바일: 세로 스택 */
@media (max-width:767px){
  .pr{--pr-card-h:96px;--pr-gap:var(--space-2);padding:var(--space-5) var(--space-4)}
  .pr__track{height:calc(var(--pr-card-h) * 3 + var(--pr-gap) * 2)}
  .pr__card{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) 52px}
  .pr__nums span{left:var(--space-4);top:calc(var(--i) * (var(--pr-card-h) + var(--pr-gap)) + var(--space-3))}
  .pr__card strong{font-size:var(--body-size)}
  .pr__sub--old,.pr__sub--new{left:52px;bottom:var(--space-3)}
  .pr__tag{top:50%;transform-origin:right center}
  .pr__arrow{display:none}
  .pr__card--check{animation-name:pr-hero-v}
  .pr__card--decide{animation-name:pr-shift-a-v}
  .pr__card--make{animation-name:pr-shift-b-v}
  .pr__tag{animation-name:pr-pop-tag-v}
  @keyframes pr-hero-v{
    0%,22%{transform:translate(0,calc(200% + var(--pr-gap) * 2)) rotate(0) scale(1);background:var(--surface-card);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--border-default);animation-timing-function:cubic-bezier(.4,0,.2,1)}
    26%{transform:translate(0,calc(200% + var(--pr-gap) * 2)) rotate(-.6deg) scale(1.02);background:var(--surface-card);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--border-default),0 14px 28px rgba(17,25,40,.14);animation-timing-function:cubic-bezier(.3,0,.1,1)}
    32%{transform:translate(18px,calc(100% + var(--pr-gap))) rotate(-1.2deg) scale(1.04);background:var(--primary-500);color:var(--text-inverse);box-shadow:inset 0 0 0 1px transparent,0 24px 44px rgba(95,58,242,.3);animation-timing-function:cubic-bezier(.2,0,.1,1)}
    39%{transform:translate(3px,-6px) rotate(.3deg) scale(1.015);background:var(--primary-600);color:var(--text-inverse);box-shadow:inset 0 0 0 1px transparent,0 12px 24px rgba(95,58,242,.24);animation-timing-function:cubic-bezier(.2,.9,.3,1)}
    44%{transform:translate(0,0) rotate(0) scale(1);background:var(--primary-600);color:var(--text-inverse);box-shadow:inset 0 0 0 1px transparent,0 6px 14px rgba(95,58,242,.18);animation-timing-function:ease-out}
    50%,94.9%{transform:translate(0,0) rotate(0) scale(1);background:var(--primary-600);color:var(--text-inverse);box-shadow:none}
    95%,100%{transform:translate(0,calc(200% + var(--pr-gap) * 2)) rotate(0) scale(1);background:var(--surface-card);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--border-default)}
  }
  @keyframes pr-shift-a-v{
    0%,28%   {transform:translateY(0);animation-timing-function:cubic-bezier(.3,0,.1,1)}
    40%,94.9%{transform:translateY(calc(100% + var(--pr-gap)))}
    95%,100% {transform:translateY(0)}
  }
  @keyframes pr-shift-b-v{
    0%,29%   {transform:translateY(calc(100% + var(--pr-gap)));animation-timing-function:var(--pr-out)}
    39%,94.9%{transform:translateY(calc(200% + var(--pr-gap) * 2))}
    95%,100% {transform:translateY(calc(100% + var(--pr-gap)))}
  }
  @keyframes pr-pop-tag-v{
    0%,46%   {opacity:0;transform:translateY(-50%) scale(.4)}
    52%,94.9%{opacity:1;transform:translateY(-50%) scale(1)}
    95%,100% {opacity:0;transform:translateY(-50%) scale(.4)}
  }
}

/* 스크롤 진입 전: 기존 순서 정지 화면. JS 가 .is-live 를 붙이면 재생 시작 */
.pr:not(.is-live) *,.pr:not(.is-live) *::before,.pr:not(.is-live) *::after{animation-play-state:paused!important;animation-delay:0s!important}
.pr.no-js *{animation-play-state:running!important}

/* 모션 최소화: 새 순서 정지 화면 */
@media (prefers-reduced-motion:reduce){
  .pr *,.pr *::before,.pr *::after{animation-play-state:paused!important;animation-delay:calc(var(--pr-dur) * -0.6)!important}
}

/* GIF 캡처는 Web Animations API(document.getAnimations)로 currentTime 을 직접 지정 — anim/ 캡처 스크립트 참고 */

/* ---------- 3. 이렇게 만들어요 (6/6) ---------- */
.how{padding:var(--section-y) 0;background:var(--surface-page)}
/* 영상 위 · 단계 4개를 영상 아래에 가로로 */
.how__grid{display:flex;flex-direction:column;gap:var(--space-8);max-width:960px;margin:0 auto}
.device{position:relative;border-radius:var(--radius-2xl);overflow:hidden;background:var(--common-100);box-shadow:inset 0 0 0 1px var(--border-default);aspect-ratio:16/9}
.device video{width:100%;height:100%;object-fit:cover;transform:scale(1.01)}
.device__badge{
  position:absolute;left:var(--space-4);top:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-2);
  height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--common-100);
  color:var(--text-strong);font-size:var(--footnote-size);line-height:1;font-weight:var(--fw-semibold);
}
.device__badge--br{left:auto;top:auto;right:var(--space-4);bottom:var(--space-4)}
.how__caption{margin-top:var(--space-3);font-size:var(--caption-size);line-height:var(--caption-lh);color:var(--text-sub);text-align:center}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}
.step{position:relative;display:flex;flex-direction:column;gap:var(--space-3)}
/* 단계 사이 화살표 */
.step+.step::before{
  content:"";position:absolute;left:calc(-1 * var(--space-6) / 2 - 5px);top:calc((100% - 38px) / 2 - 4px);
  width:8px;height:8px;border-top:2px solid var(--gray-400);border-right:2px solid var(--gray-400);transform:rotate(45deg);
}
.step img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border-default)}
.step__body{display:flex;align-items:center;gap:var(--space-2)}
.step__num{
  flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:var(--primary-600);color:var(--text-inverse);font-size:12px;line-height:1;font-weight:var(--fw-bold);
}
.step h3{font-size:var(--body-size);line-height:var(--body-lh);letter-spacing:var(--body-ls);font-weight:var(--fw-bold);color:var(--text-strong)}
@media (max-width:767px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4)}
  .step+.step::before{display:none}
  .step h3{font-size:var(--caption-size);line-height:var(--caption-lh)}
}

.step__check{
  display:inline-flex;align-items:center;height:22px;margin-left:var(--space-2);padding:0 var(--space-2);vertical-align:2px;
  border-radius:var(--radius-xs);background:var(--primary-50);color:var(--text-brand);
  font-style:normal;font-size:var(--footnote-size);line-height:1;font-weight:var(--fw-semibold);
}

/* ---------- 4. AI가 만든 광고 ---------- */
.showcase{padding:var(--section-y) 0;background:var(--gray-900);color:var(--text-inverse)}
.showcase__player{
  position:relative;max-width:980px;margin:0 auto;border-radius:var(--radius-2xl);overflow:hidden;background:var(--common-0);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.showcase__player video{width:100%;aspect-ratio:16/9;object-fit:cover}
.showcase__play{
  position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border:0;border-radius:50%;
  background:var(--common-100);display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:var(--shadow-lg);transition:background-color .15s ease;
}
.showcase__play svg{margin-left:3px}
.showcase__play:hover{background:var(--primary-50)}
.showcase__player.is-playing .showcase__play{display:none}
.chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--col-gap);max-width:980px;margin:var(--space-6) auto 0}
.chapter{
  position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--radius-xl);overflow:hidden;
  background:var(--gray-800);cursor:pointer;text-align:left;font-family:var(--font-sans);color:var(--text-inverse);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);aspect-ratio:16/9;
  opacity:0;transform:translateY(16px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;
}
.chapters.is-in .chapter{opacity:1;transform:translateY(0)}
.chapters.is-in li:nth-child(2) .chapter{transition-delay:.1s}
.chapters.is-in li:nth-child(3) .chapter{transition-delay:.2s}
.chapter img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.chapter::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(17,25,40,0) 45%,rgba(17,25,40,.82) 100%)}
.chapter__play{
  position:absolute;left:var(--space-4);top:var(--space-4);z-index:1;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--primary-600);display:inline-flex;align-items:center;justify-content:center;
  transition:transform .25s cubic-bezier(.22,1,.36,1),background-color .2s ease;
}
.chapter__play svg{margin-left:1px}
.chapter__body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:var(--space-4);display:flex;flex-direction:column;gap:2px}
.chapter__body b{font-size:var(--body-size);line-height:var(--body-lh);letter-spacing:var(--body-ls);font-weight:var(--fw-semibold)}
.chapter__body small{font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--gray-300)}
.chapter:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--primary-400)}
.chapter.is-active{box-shadow:inset 0 0 0 2px var(--primary-500)}
.chapter.is-active .chapter__play{background:var(--primary-600);color:var(--text-inverse)}
.chapter.is-active img{opacity:.85}
@media (hover:hover){
  .chapter:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
  .chapter:hover img{transform:scale(1.05)}
  .chapter:hover .chapter__play{transform:scale(1.1)}
}
@media (prefers-reduced-motion:reduce){.chapter{opacity:1;transform:none;transition:none}}
.showcase__note{margin-top:var(--space-4);text-align:center;font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--gray-500)}
@media (max-width:900px){
  .chapters{grid-template-columns:1fr;gap:var(--space-3)}
  .chapter{aspect-ratio:21/9}
  .showcase__play{width:56px;height:56px;margin:-28px 0 0 -28px}
}




/* ---------- 4-1. 측정 · 성과 (증감 숫자만 크게) ---------- */
.results{padding:var(--section-y) 0;background:var(--surface-subtle)}
.rpt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--col-gap)}
.rpt__card{padding:var(--space-8);border-radius:var(--radius-2xl);background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--border-default)}
.rpt__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.rpt__head h3{font-size:var(--title-3-size);line-height:var(--title-3-lh);font-weight:var(--fw-bold);color:var(--text-strong)}
.rpt__head p{font-size:var(--caption-size);line-height:var(--caption-lh);color:var(--text-sub)}

.rpt__stats{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.rpt__stats li{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 var(--space-2)}
.rpt__stats li+li{border-left:1px solid var(--border-default)}
.rpt__stats strong{font-size:42px;line-height:1.1;letter-spacing:-.03em;font-weight:var(--fw-extrabold);color:var(--text-brand);white-space:nowrap}
.rpt__stats strong small{margin-left:2px;font-size:.5em;font-weight:var(--fw-bold)}
.rpt__stats span{margin-top:var(--space-3);font-size:var(--body-size);line-height:var(--body-lh);font-weight:var(--fw-semibold);color:var(--text-strong)}
.rpt__stats em{display:block;font-style:normal;font-size:12.5px;line-height:1.4;font-weight:var(--fw-regular);color:var(--text-sub)}

/* 미니 막대: 수치 없이 비율만 (회색 = 비교 대상, 보라 = 광고 본 고객 · 모두의 TV광고) */
.rpt__mini{margin-top:var(--space-5);display:flex;align-items:flex-end;justify-content:center;gap:var(--space-2);height:92px}
.rpt__mini>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;width:64px;height:100%}
.rpt__mini i{display:block;width:30px;height:calc(var(--h) * .68);border-radius:6px 6px 2px 2px;background:var(--gray-200)}
.rpt__mini .is-us i{background:linear-gradient(180deg,var(--primary-400),var(--primary-600))}
.rpt__mini b{font-size:11.5px;line-height:1.3;font-weight:var(--fw-medium);color:var(--text-sub);white-space:nowrap}
.rpt__mini .is-us b{font-weight:var(--fw-bold);color:var(--text-brand)}
.results__note{margin-top:var(--space-6);text-align:center;font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--text-sub)}

@media (max-width:1000px){.rpt{grid-template-columns:1fr}}
@media (max-width:767px){
  .rpt__card{padding:var(--space-5)}
  .rpt__stats{margin-top:var(--space-5)}
  .rpt__stats strong{font-size:30px}
  .rpt__stats span{margin-top:var(--space-2);font-size:12.5px;line-height:1.4}
  .rpt__mini{height:72px;gap:2px}
  .rpt__mini>div{width:48px}
  .rpt__mini i{width:20px}
  .rpt__mini b{font-size:10.5px}
}


/* ---------- 2-0. 제작 사례 (스마트 다트보드: 제품 중심 + 16:9 광고) + AI 전략 분석 ---------- */
.case{padding:var(--section-y) 0;background:var(--surface-page)}
.case .section-head h2 em{font-style:normal;color:var(--text-brand)}

/* 영상 | 제품 | 영상 */
.cs{display:grid;grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr);gap:var(--space-8);align-items:start}
.cs__ad{margin:0}

.cs__shot{position:relative}
.cs__ad img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:var(--radius-xl);box-shadow:0 12px 28px rgba(17,25,40,.12)}
.cs__flag{
  position:absolute;left:var(--space-3);top:var(--space-3);display:inline-flex;align-items:center;height:28px;padding:0 var(--space-3);
  border-radius:var(--radius-full);background:rgba(27,20,70,.62);color:var(--text-inverse);font-size:12px;line-height:1;font-weight:var(--fw-bold);letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}

.cs__ad figcaption{margin-top:var(--space-5)}
.cs__ad h3{font-size:var(--heading-2-size,20px);line-height:1.4;font-weight:var(--fw-bold);color:var(--text-strong)}
.cs__ad dl{margin:var(--space-3) 0 0;display:flex;flex-direction:column;gap:6px}
.cs__ad dl>div{display:grid;grid-template-columns:48px 1fr;gap:var(--space-2);align-items:baseline}
.cs__ad dt{font-size:12px;line-height:1.5;font-weight:var(--fw-bold);color:var(--text-brand)}
.cs__ad dd{margin:0;font-size:var(--caption-size);line-height:var(--caption-lh);color:var(--text-default)}
.cs__ad dd small{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--text-sub)}

/* 가운데 제품: 먼저 눈에 들어오도록 크게 */
.cs__product{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:var(--space-2)}
.cs__product img{width:220px;height:220px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 8px var(--primary-50),0 18px 40px rgba(95,58,242,.25)}
.cs__product small{margin-top:var(--space-5);font-size:var(--footnote-size);line-height:var(--footnote-lh);font-weight:var(--fw-semibold);color:var(--text-brand)}
.cs__product strong{margin-top:2px;font-size:var(--heading-3-size);line-height:var(--heading-3-lh);font-weight:var(--fw-bold);color:var(--text-strong)}

/* AI 전략 분석 (강조 패널) */
.agent{
  margin-top:var(--space-12);padding:var(--space-8);border-radius:var(--radius-2xl);color:var(--text-inverse);
  background:radial-gradient(circle at 90% 0%,rgba(255,255,255,.16),transparent 45%),linear-gradient(135deg,var(--primary-600),var(--primary-800));
}
.agent__head{text-align:center}
.agent__badge{display:inline-flex;align-items:center;height:26px;padding:0 var(--space-3);border-radius:var(--radius-full);background:rgba(255,255,255,.18);font-size:11px;line-height:1;font-weight:var(--fw-bold);letter-spacing:.08em}
.agent__head h3{margin-top:var(--space-3);font-size:var(--title-2-size);line-height:var(--title-2-lh);letter-spacing:var(--title-2-ls);font-weight:var(--fw-bold)}
.agent__head p{margin-top:var(--space-2);font-size:var(--body-size);line-height:var(--body-lh);color:var(--primary-100)}
.agent__steps{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}
.agent__steps li{
  position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);
  border-radius:var(--radius-xl);background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.agent__steps li+li::before{
  content:"";position:absolute;left:calc(-1 * var(--space-6) / 2 - 5px);top:50%;width:8px;height:8px;
  border-top:2px solid rgba(255,255,255,.7);border-right:2px solid rgba(255,255,255,.7);transform:translateY(-50%) rotate(45deg);
}
.agent__ic{width:52px;height:52px;border-radius:50%;background:var(--common-100);color:var(--primary-600);display:inline-flex;align-items:center;justify-content:center}
.agent__ic svg{width:24px;height:24px}
.agent__steps small{margin-top:var(--space-4);font-size:11px;line-height:1;font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--primary-200)}
.agent__steps strong{margin-top:var(--space-1);font-size:var(--heading-3-size);line-height:var(--heading-3-lh);font-weight:var(--fw-bold)}
.agent__steps p{margin-top:var(--space-2);font-size:var(--caption-size);line-height:var(--caption-lh);color:var(--primary-100)}

@media (max-width:1100px){
  .agent__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
  .agent__steps li+li::before{display:none}
}
@media (max-width:900px){
  .cs{grid-template-columns:1fr;gap:var(--space-8)}
  .cs__product{order:-1}
  .cs__product img{width:180px;height:180px}
}
@media (max-width:767px){
  .agent{padding:var(--space-6) var(--space-5)}
  .agent__head h3{font-size:var(--title-3-size);line-height:var(--title-3-lh)}
}


/* ---------- 무료 제작 신청 모달 (원본 시안: Apply.dc.html) ----------
   동작: /web/js/aitive/aitive-promotion-apply.js · 접수 API: /aitiveTrial/apply
   닫기는 Esc · 배경 클릭 · 완료 화면 '확인' (사용자 화면 팝업은 우상단 X 없음 - 프로젝트 공통 규칙) */
html:has(.apply[open]){overflow:hidden}

.apply{
  position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;
  padding:var(--space-10) var(--space-4);border:0;background:transparent;color:var(--text-strong);
  overflow-y:auto;overscroll-behavior:contain;
}
.apply[open]{display:flex;justify-content:center;align-items:flex-start}
.apply::backdrop{background:rgba(17,25,40,.55)}

.apply__panel{
  --apply-px:var(--space-8);--apply-pb:var(--space-8);   /* 개인정보 보기 머리글 구분선 · 하단 영역을 가장자리까지 채울 때 같이 쓴다 */
  position:relative;width:100%;max-width:640px;margin:auto 0;
  padding:36px var(--apply-px) var(--apply-pb);border-radius:var(--radius-2xl);
  background:var(--surface-card);box-shadow:0 24px 48px rgba(17,25,40,.24);
}
.apply[open] .apply__panel{animation:apply-in .32s cubic-bezier(.22,1,.36,1) both}
@keyframes apply-in{0%{opacity:0;transform:translateY(16px) scale(.98)}100%{opacity:1;transform:none}}

.apply__title{
  margin:14px 0 0;font-size:var(--text-3xl);line-height:1.3;letter-spacing:-.03em;font-weight:var(--fw-extrabold);
}
.apply__title:focus{outline:none}
.apply__lead{margin:var(--space-2) 0 0;font-size:15px;line-height:1.6;color:var(--gray-600)}
.apply__lead a,.apply__alert a{color:var(--text-brand);font-weight:var(--fw-semibold)}

.apply__form{margin-top:26px;display:flex;flex-direction:column;gap:var(--space-5)}
.apply__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.apply__note{margin-top:-12px;font-size:12.5px;line-height:1.5;color:var(--gray-500)}

/* 필드 */
.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;margin:0;padding:0;border:0}
.field__label{padding:0;font-size:var(--caption-size);line-height:1.45;font-weight:var(--fw-bold);color:var(--text-strong)}
.field__req{color:var(--text-brand)}
/* 안내 문구는 라벨 오른쪽에 같은 줄로 - 칸이 좁으면 문구 전체가 다음 줄로 넘어간다 */
.field__hint{display:inline-block;margin-left:6px;font-size:12.5px;font-weight:var(--fw-regular);color:var(--gray-500)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{
  width:100%;height:48px;padding:0 var(--space-4);border:1px solid var(--border-input);border-radius:10px;
  background:var(--surface-card);color:var(--text-strong);font:inherit;font-size:15px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field select{padding:0 14px}
.field textarea{height:84px;padding:13px var(--space-4);line-height:1.6;resize:none}
.field ::placeholder{color:var(--gray-500)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--border-brand);box-shadow:var(--shadow-focus)}
.field__error{font-size:12.5px;line-height:1.4;color:var(--text-error)}
.field__error:empty{display:none}
.field.is-error input,.field.is-error select{border-color:var(--border-error)}

/* 라디오 · 체크박스 */
.choice{display:flex;flex-wrap:wrap;gap:0 var(--space-6);margin-top:-8px}
.field--choice legend{margin-bottom:var(--space-2)}
.choice__item{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:15px;color:var(--gray-800);cursor:pointer}
.choice__item input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--primary-600)}
.field.is-error .choice__item input{outline:1px solid var(--border-error);outline-offset:1px}

.apply__divider{padding-top:22px;border-top:1px solid var(--border-default);font-size:13px;font-weight:var(--fw-bold);color:var(--gray-500)}

.apply__agree{padding-top:var(--space-5);border-top:1px solid var(--border-default);gap:0}
.apply__agree-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.apply__more{flex:none;font-size:13.5px;font-weight:var(--fw-semibold);color:var(--text-brand)}
.apply__more:hover{color:var(--action-brand-hover)}

.apply__alert{padding:var(--space-3) var(--space-4);border-radius:10px;background:var(--surface-error-soft);font-size:var(--caption-size);line-height:1.5;color:var(--text-error)}

.apply__submit{
  width:100%;height:56px;border:0;border-radius:var(--radius-lg);background:var(--action-brand);color:var(--text-inverse);
  font:inherit;font-size:17px;font-weight:var(--fw-bold);cursor:pointer;transition:background-color .15s ease;
}
.apply__submit:hover{background:var(--action-brand-hover)}
.apply__submit:active{background:var(--action-brand-press)}
.apply__submit:disabled{background:var(--action-disabled-bg);color:var(--action-disabled-fg);cursor:default}
.apply__submit:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.apply__foot{margin-top:-8px;text-align:center;font-size:13px;color:var(--gray-500)}

/* 완료 화면 */
.apply__done{padding:var(--space-6) 0 0;text-align:center}
.apply__done-icon{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;
  background:var(--primary-100);color:var(--primary-600);
}
.apply__done .apply__title{margin-top:var(--space-4)}
.apply__done .apply__submit{margin-top:var(--space-8)}

@media (max-width:600px){
  .apply{padding:var(--space-4) var(--space-3)}
  .apply__panel{--apply-px:var(--space-5);--apply-pb:var(--space-6);padding:var(--space-8) var(--apply-px) var(--apply-pb);border-radius:var(--radius-xl)}
  .apply__title{margin-top:var(--space-2);font-size:var(--title-3-size)}
  .apply__row{grid-template-columns:1fr;gap:var(--space-5)}
  .apply__note{margin-top:-12px}
  .apply__agree-row{flex-wrap:wrap;gap:0 var(--space-3)}
}
@media (prefers-reduced-motion:reduce){.apply[open] .apply__panel{animation:none}}

/* ---------- 2단계 폼 (index_B 추가) ---------- */
.apply__progress{margin:var(--space-5) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
.apply__progress li{
  display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:3px solid var(--gray-200);
  font-size:13.5px;line-height:1.4;font-weight:var(--fw-semibold);color:var(--gray-500);
}
.apply__progress span{
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;
  background:var(--gray-200);color:var(--gray-600);font-size:12px;font-weight:var(--fw-bold);
}
.apply__progress li.is-on{border-top-color:var(--primary-600);color:var(--text-strong)}
.apply__progress li.is-on span{background:var(--primary-600);color:var(--text-inverse)}
.apply__form{margin-top:var(--space-6)}
.apply__step{display:flex;flex-direction:column;gap:var(--space-5)}
.apply__step[hidden]{display:none}
.apply__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}
.apply__actions .apply__submit{flex:1}
.apply__back{
  flex:none;width:112px;height:56px;border:0;border-radius:var(--radius-lg);background:var(--gray-100);color:var(--text-strong);
  font:inherit;font-size:16px;font-weight:var(--fw-semibold);cursor:pointer;
}
.apply__back:hover{background:var(--gray-200)}
.apply__back:focus-visible{outline:none;box-shadow:var(--shadow-focus)}

/* ---------- 완료 안내 (검토 기간 · 절차 · 선정되지 않을 수 있음) ---------- */
.apply__call{margin-top:var(--space-6);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:var(--primary-600);color:var(--text-inverse);text-align:left}
.apply__call>span{flex:none;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center}
.apply__call p{font-size:13.5px;line-height:1.55;color:var(--primary-100)}
.apply__call b{font-size:15px;color:var(--text-inverse)}
.apply__call + .apply__next{margin-top:var(--space-3)}
.apply__next{margin-top:var(--space-6);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--gray-50);text-align:left}
.apply__next-title{font-size:13.5px;font-weight:var(--fw-bold);color:var(--text-strong)}
.apply__next ol{margin:var(--space-3) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
.apply__next li{display:flex;gap:var(--space-3)}
.apply__next li>span{
  flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
  background:var(--primary-600);color:var(--text-inverse);font-size:12px;font-weight:var(--fw-bold);
}
.apply__next b{display:block;font-size:15px;line-height:1.5;color:var(--text-strong)}
.apply__next small{display:block;font-size:13.5px;line-height:1.55;color:var(--gray-600)}
.apply__caution{margin-top:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:var(--surface-error-soft);text-align:left}
.apply__caution b{font-size:13.5px;color:var(--text-error)}
.apply__caution p{margin-top:var(--space-1);font-size:13.5px;line-height:1.55;color:var(--gray-700)}
.apply__contact{margin-top:var(--space-5);font-size:13.5px;line-height:1.55;color:var(--gray-600)}
.apply__contact a{color:var(--text-brand);font-weight:var(--fw-semibold)}
.apply__done .apply__submit{margin-top:var(--space-5)}
@media (max-width:600px){.apply__back{width:88px}}

/* ---------- 개인정보 수집 · 이용 자세히 보기 (신청서 안의 다른 화면) ---------- */
.apply__privacy-head{
  display:flex;align-items:center;gap:var(--space-2);
  margin:calc(var(--space-2) * -1) calc(var(--apply-px) * -1) 0;
  padding:0 var(--apply-px) var(--space-5);
  border-bottom:1px solid var(--border-default);
}
.apply__privacy-back{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:32px;height:32px;margin-left:calc(var(--space-2) * -1);
  border:0;border-radius:var(--radius-sm);background:none;color:var(--text-strong);cursor:pointer;
}
.apply__privacy-back:hover{background:var(--gray-100)}
.apply__privacy-back:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.apply__privacy-title{margin:0;font-size:var(--heading-2-size);line-height:var(--heading-2-lh);font-weight:var(--fw-bold);color:var(--text-strong)}
.apply__privacy-title:focus{outline:none}
.apply__privacy-body{padding:var(--space-6) 0;font-size:var(--caption-size);line-height:1.7;color:var(--text-default)}
.apply__privacy-body p{margin:0}
.apply__privacy-body h3{margin:var(--space-6) 0 var(--space-2);font-size:15px;line-height:1.4;font-weight:var(--fw-bold);color:var(--text-strong)}
.apply__privacy-body ul{margin:0;padding:0;list-style:none}
.apply__privacy-body li{position:relative;padding-left:var(--space-4)}
.apply__privacy-body li::before{content:"·";position:absolute;left:var(--space-1);font-weight:var(--fw-bold)}
.apply__privacy-body .apply__privacy-note{
  margin-top:var(--space-6);padding-top:var(--space-4);
  border-top:1px dashed var(--border-default);
  font-size:var(--footnote-size);line-height:1.7;color:var(--text-sub);
}
.apply__privacy-foot{
  margin:0 calc(var(--apply-px) * -1) calc(var(--apply-pb) * -1);
  padding:var(--space-5) var(--apply-px) var(--apply-pb);
  border-top:1px solid var(--border-default);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);
  background:var(--gray-50);
}
@media (max-width:600px){.apply__privacy-foot{border-radius:0 0 var(--radius-xl) var(--radius-xl)}}
/* ---------- 5. 진행 과정 (서비스 프로세스 4단계) ---------- */
.benefit{padding:var(--section-y) 0}
.proc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8);counter-reset:none}
.proc li{
  position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-5);
  border-radius:var(--radius-2xl);background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--border-default);
}
.proc li.is-free{background:var(--primary-50);box-shadow:inset 0 0 0 1.5px var(--primary-200)}
/* 단계 사이 화살표 */
.proc li+li::before{
  content:"";position:absolute;left:calc(-1 * var(--space-8) / 2 - 6px);top:50%;width:10px;height:10px;
  border-top:2.5px solid var(--primary-300);border-right:2.5px solid var(--primary-300);transform:translateY(-50%) rotate(45deg);
}
.proc__num{font-size:12px;line-height:1;font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-brand)}
.proc__ic{margin-top:var(--space-4);width:64px;height:64px;border-radius:50%;background:var(--primary-600);color:var(--text-inverse);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(95,58,242,.25)}
.proc__ic svg{width:30px;height:30px}
.proc h3{margin-top:var(--space-5);display:flex;align-items:center;gap:var(--space-2);font-size:var(--title-3-size);line-height:var(--title-3-lh);letter-spacing:var(--title-3-ls);font-weight:var(--fw-bold);color:var(--text-strong)}
.proc h3 em{font-style:normal;display:inline-flex;align-items:center;height:26px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--primary-600);color:var(--text-inverse);font-size:13px;font-weight:var(--fw-bold)}
.proc p{margin-top:var(--space-2);font-size:var(--body-size);line-height:var(--body-lh);color:var(--text-sub)}

@media (max-width:1100px){
  .proc{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
  .proc li+li::before{display:none}
}
@media (max-width:767px){
  .proc{grid-template-columns:1fr;gap:var(--space-3)}
  .proc li{padding:var(--space-5)}
  .proc__ic{margin-top:var(--space-3);width:52px;height:52px}
  .proc__ic svg{width:24px;height:24px}
  .proc h3{margin-top:var(--space-3);font-size:var(--heading-3-size);line-height:var(--heading-3-lh)}
  .proc p{font-size:var(--caption-size);line-height:var(--caption-lh)}
}


/* ---------- 6. FAQ (4/8) ---------- */
.faq{padding:var(--section-y) 0;background:var(--surface-subtle)}
.faq__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-12);align-items:start}
.faq__head h2{
  font-size:var(--display-2-size);line-height:var(--display-2-lh);letter-spacing:var(--display-2-ls);
  font-weight:var(--fw-bold);color:var(--text-strong);
}
.faq__list details{border-top:1px solid var(--border-default)}
.faq__list details:last-child{border-bottom:1px solid var(--border-default)}
.faq__list summary{
  list-style:none;cursor:pointer;padding:var(--space-5) var(--space-10) var(--space-5) 0;
  font-size:var(--heading-3-size);line-height:var(--heading-3-lh);letter-spacing:var(--heading-3-ls);font-weight:var(--fw-semibold);color:var(--text-strong);position:relative;
}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary::after{
  content:"";position:absolute;right:var(--space-3);top:50%;width:9px;height:9px;margin-top:-7px;
  border-right:1.6px solid var(--text-sub);border-bottom:1.6px solid var(--text-sub);transform:rotate(45deg);transition:transform .15s ease;
}
.faq__list summary::after{transition:transform .3s cubic-bezier(.22,1,.36,1),margin-top .3s cubic-bezier(.22,1,.36,1)}
.faq__list details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.faq__body{overflow:hidden}
.faq__list details.is-animating summary{pointer-events:none}
.faq__list p{padding:0 0 var(--space-5);font-size:var(--body-size);line-height:var(--body-reading-lh);letter-spacing:var(--body-ls);color:var(--text-default)}
@media (max-width:900px){
  .faq__grid{grid-template-columns:1fr;gap:var(--space-6)}
  .faq__head h2{font-size:var(--title-2-size);line-height:var(--title-2-lh);letter-spacing:var(--title-2-ls)}
  .faq__list summary{font-size:var(--body-size);line-height:var(--body-lh);letter-spacing:var(--body-ls);padding:var(--space-4) var(--space-8) var(--space-4) 0}
}

/* ---------- 7. 엔딩: CTA 띠 ---------- */
.ending{background:var(--surface-brand);color:var(--text-inverse);padding:var(--space-20) 0}
.ending__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}
.ending__eyebrow{font-size:var(--caption-size);line-height:var(--caption-lh);font-weight:var(--fw-semibold);color:var(--primary-200)}
.ending__title{
  margin-top:var(--space-3);font-size:var(--display-2-size);line-height:var(--display-2-lh);letter-spacing:var(--display-2-ls);
  font-weight:var(--fw-bold);
}
.ending__desc{margin-top:var(--space-4);font-size:var(--heading-3-size);line-height:var(--heading-3-lh);letter-spacing:var(--heading-3-ls);color:var(--primary-100)}
.ending__actions{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);width:300px}
.ending__actions .btn{width:100%}
.ending__sub{display:flex;gap:var(--space-2)}
.ending__link{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;border-radius:var(--radius-md);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);font-size:var(--caption-size);font-weight:var(--fw-semibold);color:var(--text-inverse);
  transition:background-color .15s ease;
}
.ending__link:hover{background:rgba(255,255,255,.1)}
.ending__hours{text-align:center;font-size:var(--footnote-size);line-height:var(--footnote-lh);color:var(--primary-200)}
@media (max-width:900px){
  .ending{padding:var(--space-16) 0}
  .ending__inner{flex-direction:column;align-items:stretch;gap:var(--space-8)}
  .ending__title{font-size:var(--title-2-size);line-height:var(--title-2-lh);letter-spacing:var(--title-2-ls)}
  .ending__desc{font-size:var(--body-size);line-height:var(--body-reading-lh)}
  .ending__actions{width:100%}
}

/* ---------- 8. 유의사항: 푸터와 같은 2열 (로고 열 194px + 간격 64px) ---------- */
.notice{background:var(--gray-50);padding:var(--space-14) 0 0;font-size:var(--footnote-size);line-height:var(--footnote-lh)}
.notice__inner{display:flex;align-items:flex-start;gap:var(--space-16);padding-bottom:var(--space-12);border-bottom:1px solid var(--border-default)}
.notice__title{flex:none;width:194px;font-size:var(--caption-size);line-height:var(--caption-lh);font-weight:var(--fw-bold);color:var(--text-strong)}
.notice__list{flex:1;min-width:0;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2);color:var(--gray-600)}
.notice__list li{position:relative;padding-left:var(--space-3)}
.notice__list li::before{content:"";position:absolute;left:0;top:.6em;width:3px;height:3px;border-radius:50%;background:var(--gray-400)}
@media (max-width:900px){
  .notice{padding:var(--space-10) 0 0}
  .notice__inner{flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-8)}
  .notice__title{width:auto}
}


