@font-face {
  font-family:'Pretendard';
  font-style:normal;
  font-weight:45 920;
  font-display:swap;
  src:url('/assets/pretendard-variable.woff2?v=968mj0') format('woff2-variations');
}

:root {
  --sai-violet-700:#4536c9;
  --sai-violet-600:#5650ff;
  --sai-violet-500:#756cff;
  --sai-purple-500:#af4bff;
  --sai-ink:#171527;
  --sai-muted:#66647a;
  --sai-bg:#f5f7fd;
  --sai-surface:#ffffff;
  --sai-surface-soft:#f0eeff;
  --sai-lavender:#e9e6ff;
  --sai-line:#e7e5f1;
  --sai-mint:#dbf7ee;
  --sai-yellow:#fff3c9;
  --sai-blue:#e5efff;
  --sai-danger:#b62f4b;
  --sai-success:#23845d;
  --sai-warning:#b66a00;
  --sai-star:#ffc83d;
  --sai-star-empty:#d8d7e2;
  --sai-guide:#ffb52a;
  --sai-gradient:linear-gradient(135deg,var(--sai-violet-600),var(--sai-purple-500));
  --sai-shadow-sm:0 7px 20px rgba(55,48,120,.09);
  --sai-shadow-md:0 18px 50px rgba(55,48,120,.14);
  --sai-shadow-float:0 28px 80px rgba(69,54,201,.22);
  --sai-radius-sm:14px;
  --sai-radius-md:22px;
  --sai-radius-lg:32px;
  --sai-space-1:4px;
  --sai-space-2:8px;
  --sai-space-3:12px;
  --sai-space-4:16px;
  --sai-space-5:20px;
  --sai-space-6:24px;
  --sai-space-8:32px;
  --sai-space-10:40px;
  --sai-space-12:48px;
  --sai-space-16:64px;
  --sai-motion-fast:180ms;
  --sai-motion-base:240ms;
  --sai-ease:cubic-bezier(.2,.8,.2,1);
}

html,body { background:var(--sai-bg) !important; color:var(--sai-ink); }
body,button,input,textarea,select { font-family:'Pretendard','Noto Sans KR','Segoe UI',sans-serif !important; }
button,a { -webkit-tap-highlight-color:transparent; }
button { transition:transform var(--sai-motion-fast) var(--sai-ease),box-shadow var(--sai-motion-fast) var(--sai-ease),border-color var(--sai-motion-fast) var(--sai-ease),background var(--sai-motion-fast) var(--sai-ease); }
button:not(:disabled):hover { transform:translateY(-2px); }
button:not(:disabled):active { transform:translateY(0) scale(.985); }
button:focus-visible,a:focus-visible,[tabindex]:focus-visible {
  outline:4px solid #cabdff !important;
  outline-offset:3px !important;
}
.om-skip { background:var(--sai-gradient) !important; color:#fff !important; }

.sai-pc-notice { display:none; }
@media (max-width:1023px) {
  body > x-dc,body > .om-skip,body > footer,body > #root,
  body > .sai-pc-notice ~ div { display:none !important; }
  .sai-pc-notice {
    min-height:100vh; padding:42px 24px; display:flex; align-items:center; justify-content:center;
    background:
      radial-gradient(circle at 15% 20%,rgba(175,75,255,.18),transparent 34%),
      radial-gradient(circle at 85% 75%,rgba(86,80,255,.2),transparent 38%),var(--sai-bg);
  }
  .sai-pc-notice__card {
    width:min(560px,100%); padding:38px 30px; text-align:center; background:#fff;
    border:1px solid var(--sai-line); border-radius:30px; box-shadow:var(--sai-shadow-md);
  }
  .sai-pc-notice img { width:76px; height:76px; }
  .sai-pc-notice h1 { margin:20px 0 12px; font-size:28px; line-height:1.35; }
  .sai-pc-notice p { margin:0; font-size:19px; line-height:1.7; color:var(--sai-muted); }
  .sai-pc-notice strong { color:var(--sai-violet-700); }
  .sai-pc-notice__actions { display:flex; justify-content:center; gap:12px; margin-top:26px; flex-wrap:wrap; }
  .sai-pc-notice__actions a,.sai-pc-notice__actions button {
    min-height:48px; padding:11px 18px; display:inline-flex; align-items:center; justify-content:center;
    border:1px solid #cfc9ff; border-radius:14px; background:#fff; color:var(--sai-violet-700);
    box-shadow:var(--sai-shadow-sm); font:700 18px/1.3 'Pretendard','Noto Sans KR',sans-serif;
    text-decoration:none; cursor:pointer;
  }
  .sai-pc-notice__actions a { border-color:transparent; background:var(--sai-gradient); color:#fff; }
  .sai-pc-notice__status { min-height:29px; margin-top:14px !important; color:var(--sai-violet-700) !important; font-size:17px !important; }
}

.sai-button {
  min-height:44px; padding:12px 20px; border:1px solid transparent; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700;
  text-decoration:none; cursor:pointer;
}
.sai-button--primary { color:#fff; background:var(--sai-gradient); box-shadow:var(--sai-shadow-sm); }
.sai-button--secondary { color:var(--sai-violet-700); background:var(--sai-surface); border-color:#cfc9ff; }
.sai-button--text { padding-inline:8px; color:var(--sai-violet-700); background:transparent; }
.sai-button:disabled,.sai-button[aria-disabled='true'] { opacity:.52; cursor:not-allowed; transform:none; box-shadow:none; }
.sai-card { background:var(--sai-surface); border:1px solid var(--sai-line); border-radius:var(--sai-radius-md); box-shadow:var(--sai-shadow-sm); }

@media (min-width:1024px) {
  body > div[style*="min-height"] { background:var(--sai-bg) !important; color:var(--sai-ink) !important; }
  header.sai-header { background:rgba(255,255,255,.94) !important; border-color:var(--sai-line) !important; box-shadow:0 8px 28px rgba(55,48,120,.07); backdrop-filter:blur(18px); }
  header * { font-family:'Pretendard','Noto Sans KR','Segoe UI',sans-serif !important; }
  header img[alt*="수원AI"] { border-radius:16px; box-shadow:0 8px 20px rgba(86,80,255,.2); }
  .sai-header__inner { max-width:1760px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; gap:20px; }
  .sai-brand { flex:none; display:flex; align-items:center; gap:12px; padding:4px 2px !important; background:transparent !important; border:0 !important; box-shadow:none !important; cursor:pointer; text-align:left; }
  .sai-header__primary-nav { flex:1; display:flex; align-items:center; gap:6px; }
  .sai-header__primary-nav button { min-height:48px; padding:9px 14px; border:0; border-radius:12px; background:transparent; color:#45485c; font-size:19px; font-weight:750; cursor:pointer; box-shadow:none; white-space:nowrap; }
  .sai-header__primary-nav button:hover { color:var(--sai-violet-700); background:#f0efff; }
  .sai-header__utilities { display:flex; align-items:center; gap:8px; }
  .sai-header__utilities button { white-space:nowrap; flex-shrink:0; }
  header .sai-header__utilities > button,header .om-tool > button {
    border:1px solid #dfe2f1 !important; background:#fff !important; color:#45485c !important;
    box-shadow:0 5px 15px rgba(55,48,120,.07) !important;
  }
  header .sai-header__utilities > button:hover,header .om-tool > button:hover { border-color:#bbb4ff !important; color:var(--sai-violet-700) !important; background:#f6f4ff !important; }
  header .sai-header__utilities > button.sai-header__lab { border:0 !important; color:#fff !important; background:var(--sai-gradient) !important; box-shadow:0 10px 22px rgba(86,80,255,.24) !important; }
  .sai-header .om-topwrap { display:none !important; }
  .om-topnav { background:#fff !important; border-color:var(--sai-line) !important; }
  .om-navlabel { color:#45485c !important; box-shadow:none !important; }
  .om-topnav .om-navlabel { min-width:44px !important; }
  .om-navlabel:hover,.om-navlabel:focus-visible { color:var(--sai-violet-700) !important; background:#f0efff !important; }
  .om-mega { border-color:var(--sai-line) !important; background:rgba(255,255,255,.98) !important; box-shadow:var(--sai-shadow-md) !important; }

  .om-home-main { background:var(--sai-bg); }
  .om-hero {
    min-height:min(760px,max(620px,calc(100dvh / var(--om-zoom) - 165px))) !important;
    padding:72px 48px !important; border:0 !important; isolation:isolate;
    background:
      radial-gradient(circle at 76% 22%,rgba(175,75,255,.28),transparent 30%),
      radial-gradient(circle at 92% 75%,rgba(80,184,255,.20),transparent 26%),
      linear-gradient(135deg,#fbfbff 0%,#f2f0ff 48%,#eef5ff 100%) !important;
  }
  .om-hero picture,.om-hero-veil { display:none !important; }
  .om-hero:before,.om-hero:after { content:""; position:absolute; z-index:-1; border-radius:999px; filter:blur(1px); }
  .om-hero:before { width:280px; height:280px; right:8%; top:11%; background:linear-gradient(135deg,rgba(86,80,255,.16),rgba(175,75,255,.28)); animation:saiFloat 7s ease-in-out infinite; }
  .om-hero:after { width:150px; height:150px; right:33%; bottom:12%; background:linear-gradient(135deg,rgba(79,210,180,.22),rgba(86,80,255,.18)); animation:saiFloat 8.5s ease-in-out infinite reverse; }
  .om-hero > div:not(.om-hero-veil) { max-width:1680px !important; }
  .om-hero-copy { max-width:820px; }
  .om-hero-badge { display:inline-flex; align-items:center; gap:9px; margin:0 0 18px !important; padding:8px 15px; color:var(--sai-violet-700) !important; background:#fff; border:1px solid #dcd7ff; border-radius:999px; box-shadow:var(--sai-shadow-sm); font-size:19px !important; letter-spacing:0 !important; }
  .om-hero h1 { max-width:830px !important; font-size:60px !important; line-height:1.18 !important; letter-spacing:-2.8px !important; color:var(--sai-ink) !important; }
  .om-hero h1 span { color:transparent !important; background:var(--sai-gradient); -webkit-background-clip:text; background-clip:text; }
  .om-hero-sub { margin-top:26px !important; max-width:680px !important; color:#4d5063 !important; }
  .om-hero-actions { display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
  .om-hero-primary,.om-hero-secondary {
    min-height:70px; padding:17px 30px; border-radius:18px; display:inline-flex; align-items:center;
    justify-content:center; gap:10px; font-size:22px; font-weight:900; text-decoration:none;
  }
  .om-hero-primary { color:#fff; background:var(--sai-gradient); box-shadow:0 14px 30px rgba(86,80,255,.27); }
  .om-hero-primary:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(86,80,255,.34); }
  .om-hero-secondary { color:var(--sai-violet-700); background:#fff; border:2px solid #d6d1ff; box-shadow:var(--sai-shadow-sm); }
  .om-hero-proof { display:flex; gap:18px; margin-top:24px; flex-wrap:wrap; color:#53566a; font-size:18px; }
  .om-hero-proof span { display:inline-flex; gap:7px; align-items:center; }
  .om-hero-proof span:before { content:"✓"; width:25px; height:25px; display:inline-grid; place-items:center; border-radius:999px; color:var(--sai-violet-700); background:#e9e6ff; font-weight:900; }
  .om-ai-demo {
    position:absolute; z-index:1; width:min(490px,32vw); right:max(48px,calc((100vw - 1680px)/2)); top:50%; transform:translateY(-50%);
    padding:20px; border:1px solid rgba(255,255,255,.8); border-radius:34px; background:rgba(255,255,255,.76);
    box-shadow:var(--sai-shadow-float); backdrop-filter:blur(24px); animation:saiDemo 6s ease-in-out infinite;
  }
  .om-ai-demo__top { display:flex; align-items:center; gap:10px; padding:2px 2px 17px; color:#56596d; font-size:16px; font-weight:800; }
  .om-ai-demo__dot { width:11px; height:11px; border-radius:999px; background:#75d8c0; box-shadow:0 0 0 6px rgba(117,216,192,.18); }
  .om-ai-demo__chat { display:grid; gap:13px; padding:22px; border-radius:24px; background:#fff; border:1px solid #e7e7f3; }
  .om-ai-demo__bubble { max-width:88%; padding:14px 17px; border-radius:18px; font-size:18px; line-height:1.55; box-shadow:0 5px 16px rgba(55,48,120,.07); }
  .om-ai-demo__bubble--user { justify-self:end; color:#fff; background:var(--sai-gradient); border-bottom-right-radius:6px; }
  .om-ai-demo__bubble--ai { background:#f3f3f9; color:#343647; border-bottom-left-radius:6px; }
  .om-ai-demo__steps { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:13px; }
  .om-ai-demo__step { padding:11px 6px; text-align:center; border-radius:14px; color:#5d6072; background:#fff; border:1px solid #e4e5f0; font-size:15px; font-weight:800; }
  .om-ai-demo__step strong { display:block; margin-bottom:3px; color:var(--sai-violet-700); font-size:18px; }

  .om-home-main h1,.om-home-main h2,.om-home-main h3 { font-family:'Pretendard','Noto Sans KR','Segoe UI',sans-serif !important; }
  .sai-home-feature,.sai-home-section { margin-top:64px; scroll-margin-top:110px; }
  .sai-home-feature {
    min-height:430px; padding:54px; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
    align-items:center; gap:60px; overflow:hidden; border:1px solid var(--sai-line); border-radius:32px;
    background:linear-gradient(135deg,#fff 0%,#f5f2ff 100%); box-shadow:var(--sai-shadow-md);
  }
  .sai-home-feature--method { grid-template-columns:minmax(450px,.95fr) minmax(0,1fr); background:linear-gradient(135deg,#eef8ff 0%,#fff 48%,#f7f3ff 100%); }
  .sai-home-feature__copy h2,.sai-home-section > h2,.sai-home-start h2 { margin:8px 0 16px; color:var(--sai-ink); font-size:clamp(34px,3vw,48px); line-height:1.24; letter-spacing:-1.4px; }
  .sai-home-feature__copy > p:not(.sai-home-kicker),.sai-home-lead,.sai-home-start p { margin:0; color:var(--sai-muted); font-size:21px; line-height:1.75; }
  .sai-home-kicker { margin:0; color:var(--sai-violet-700); font-size:18px; font-weight:900; letter-spacing:.12em; }
  .sai-home-actions { margin-top:28px; display:flex; flex-wrap:wrap; gap:12px; }
  .sai-home-feature .sai-button,.sai-home-start .sai-button { min-height:58px; padding:14px 23px; font-size:19px; }
  .sai-home-device-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:28px; }
  .sai-home-device { position:relative; min-width:0; padding:22px; border:1px solid var(--sai-line); border-radius:24px; background:#fff; box-shadow:var(--sai-shadow-sm); }
  .sai-home-device.is-recent { border-color:#bcb4ff; background:linear-gradient(145deg,#fff,#f3f0ff); box-shadow:var(--sai-shadow-md); }
  .sai-home-device__badge { position:absolute; top:14px; right:14px; padding:5px 9px; border-radius:999px; color:#fff; background:var(--sai-gradient); font-size:13px; font-weight:850; }
  .sai-home-device__eyebrow { margin:0 0 8px !important; color:var(--sai-violet-700) !important; font-size:15px !important; font-weight:850; }
  .sai-home-device h3 { margin:0 0 8px; color:var(--sai-ink); font-size:25px; }
  .sai-home-device > p:not(.sai-home-device__eyebrow) { min-height:82px; margin:0; color:var(--sai-muted); font-size:17px; line-height:1.6; }
  .sai-home-device > strong { display:block; margin:14px 0; color:var(--sai-success); font-size:16px; }
  .sai-home-device .sai-button { box-sizing:border-box; width:100%; }
  .sai-home-lab-card { padding:20px; transform:rotate(1.4deg); border:1px solid rgba(255,255,255,.8); border-radius:28px; background:rgba(255,255,255,.9); box-shadow:var(--sai-shadow-float); }
  .sai-home-lab-card__bar { padding:4px 3px 17px; display:flex; align-items:center; gap:10px; color:#53566a; font-size:17px; font-weight:800; }
  .sai-home-lab-card__bar span { width:12px; height:12px; border-radius:99px; background:#71d8bd; box-shadow:0 0 0 6px rgba(113,216,189,.18); }
  .sai-home-lab-card__guide { padding:18px 20px; border-radius:18px; color:var(--sai-violet-700); background:#eeebff; font-size:19px; font-weight:850; }
  .sai-home-lab-card__composer { margin-top:13px; min-height:66px; padding:12px 14px 12px 20px; display:flex; align-items:center; justify-content:space-between; border:2px solid #bdb7ff; border-radius:20px; color:var(--sai-muted); background:#fff; font-size:18px; }
  .sai-home-lab-card__composer strong { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:#fff; background:var(--sai-gradient); }
  .sai-home-lab-card__reward { margin-top:13px; padding:16px 18px; display:flex; align-items:center; gap:13px; border-radius:18px; color:#614800; background:var(--sai-yellow); }
  .sai-home-lab-card__reward span { color:var(--sai-warning); font-size:24px; letter-spacing:2px; }
  .sai-home-section { padding:52px; text-align:center; border:1px solid var(--sai-line); border-radius:32px; background:#fff; box-shadow:var(--sai-shadow-sm); }
  .sai-home-lead { max-width:760px; margin:0 auto !important; }
  .sai-home-journey { margin:34px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; list-style:none; text-align:left; counter-reset:none; }
  .sai-home-journey li { min-height:156px; padding:26px; display:flex; align-items:flex-start; gap:17px; border:1px solid var(--sai-line); border-radius:24px; background:linear-gradient(180deg,#fff,#fafaff); }
  .sai-home-journey li > span { width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center; border-radius:16px; color:#fff; background:var(--sai-gradient); font-size:22px; font-weight:900; box-shadow:0 8px 18px rgba(86,80,255,.22); }
  .sai-home-journey strong { display:block; margin:2px 0 7px; color:var(--sai-ink); font-size:23px; }
  .sai-home-journey p { margin:0; color:var(--sai-muted); font-size:18px; line-height:1.6; }
  .sai-home-shot { position:relative; padding:18px; border:1px solid #dde2f1; border-radius:28px; background:#edf1f8; box-shadow:var(--sai-shadow-md); }
  .sai-home-shot picture { display:block; overflow:hidden; border-radius:18px; background:#fff; }
  .sai-home-shot img { width:100%; max-height:290px; display:block; object-fit:cover; object-position:top left; }
  .sai-home-shot__marker { position:absolute; width:50px; height:50px; left:9%; top:24%; display:grid; place-items:center; border:5px solid #fff; border-radius:99px; color:#fff; background:var(--sai-gradient); box-shadow:0 8px 20px rgba(69,54,201,.35); font-size:22px; font-weight:900; }
  .sai-home-shot p { margin:15px 4px 2px; color:#55586a; font-size:17px; line-height:1.55; }
  .sai-home-shot p strong { color:var(--sai-ink); }
  .sai-home-start { padding:40px 46px; display:flex; align-items:center; justify-content:space-between; gap:40px; text-align:left; background:linear-gradient(120deg,#eeebff,#fff 54%,#eaf7ff); }
  .sai-home-start > div:first-child { max-width:850px; }
  .sai-home-start__actions { flex:0 0 auto; display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }

  .om-home-main > div > section:not(#ai-pick),.om-list-prog,.om-list-sec,.om-l-finish {
    border-color:var(--sai-line) !important; box-shadow:var(--sai-shadow-sm) !important;
  }
  #ai-pick button,.om-track button,.om-list button,.om-home-main section button,.om-home-main section a {
    border-color:var(--sai-line) !important;
  }
  #ai-pick button { background:#fff !important; border-width:1px !important; box-shadow:var(--sai-shadow-sm) !important; }
  #ai-pick button:hover { border-color:#bcb4ff !important; box-shadow:var(--sai-shadow-md) !important; }
  .om-list { max-width:1680px !important; }
  .om-list,.om-lesson { background:var(--sai-bg) !important; }
  .om-list h1,.om-list h2,.om-list h3,.om-lesson h1,.om-lesson h2,.om-lesson h3 { font-family:'Pretendard','Noto Sans KR','Segoe UI',sans-serif !important; }
  .om-list-prose:first-child { color:var(--sai-ink); font-size:48px !important; letter-spacing:-1.7px; }
  .om-list > .om-list-prose:nth-child(2) { max-width:980px; color:var(--sai-muted) !important; line-height:1.7; }
  .om-list-prog { padding:28px 32px !important; border:1px solid #ded9ff !important; background:linear-gradient(135deg,#fff 0%,#f4f1ff 64%,#edf6ff 100%) !important; box-shadow:var(--sai-shadow-md) !important; }
  .om-list-prog > div:first-child { font-size:22px; }
  .om-list-cta,.om-l-nav button:last-child,.om-l-practice button,.om-l-tools button[style*="background:#9E4318"] {
    border:0 !important; background:var(--sai-gradient) !important; color:#fff !important; box-shadow:0 12px 26px rgba(86,80,255,.24) !important;
  }
  .om-list-cta { min-height:72px !important; border-radius:20px !important; box-shadow:0 15px 34px rgba(86,80,255,.24) !important; }
  .om-list-sec { padding:30px !important; background:linear-gradient(145deg,#fff,#fbfbff) !important; border:1px solid var(--sai-line); border-radius:28px !important; box-shadow:var(--sai-shadow-sm) !important; }
  .om-list-sec > div:first-child { min-height:62px; }
  .om-list-sec h2 { color:var(--sai-ink) !important; letter-spacing:-.5px; }
  .om-lesson { max-width:1760px !important; }
  .om-l-top { box-sizing:border-box; padding:10px 16px; border:1px solid var(--sai-line); border-radius:20px; background:linear-gradient(135deg,#fff,#f5f3ff); box-shadow:var(--sai-shadow-sm); }
  .om-l-top h1 { color:var(--sai-ink); letter-spacing:-.6px; }
  .om-l-top > div:nth-child(2) > span { color:var(--sai-violet-700) !important; background:#eeebff !important; border:1px solid #d9d3ff; }
  .om-l-tools { padding:8px 12px; border-radius:18px; background:rgba(255,255,255,.66); }
  .om-l-steps { box-sizing:border-box; padding:18px; border:1px solid var(--sai-line); border-radius:30px; background:linear-gradient(145deg,#f8f8ff,#eef3ff); box-shadow:var(--sai-shadow-sm); }
  .om-lesson button:not([style*="background:#9E4318"]):not([style*="background:#33613C"]),.om-lesson a {
    border-color:#d6d1ff !important; color:var(--sai-violet-700) !important;
  }
  /* 일반 강의 버튼 규칙의 :not()가 클래스 세 개만큼 강해서 실습 CTA의 흰 글자를 덮었다.
     같은 명시도로 맞춘 뒤 아래 선언이 이기게 한다. */
  .om-lesson .om-l-practice.om-l-practice button,.om-lesson .om-l-nav button:last-child {
    border-color:transparent !important; color:#fff !important; background:var(--sai-gradient) !important;
  }
  main [style*="color:#B9430C"],main [style*="color:#9A430F"],main [style*="color:#8A5A1E"] { color:var(--sai-violet-700) !important; }
  main [style*="border:2px solid #B5843F"],main [style*="border:2px solid #E0CCA6"] { border-color:#d6d1ff !important; }
  main [style*="background:#FFFCF6"],main [style*="background:#FFFDF8"] { background:#fff !important; }
  .om-l-shotbox { border-color:#d9dcef !important; border-radius:24px !important; background:#edf0f8 !important; box-shadow:var(--sai-shadow-md); }
  .om-l-cap { padding:20px 26px !important; border:1px solid var(--sai-line); border-radius:24px; background:#fff; box-shadow:var(--sai-shadow-sm); }
  .om-l-cap > span:first-child { background:var(--sai-gradient) !important; }
  .om-l-cap > span:last-child > span:first-child { color:var(--sai-violet-700) !important; }
  .om-l-ask > button { border:1px solid #d9d3ff !important; color:var(--sai-violet-700) !important; background:linear-gradient(135deg,#fff,#f1efff) !important; box-shadow:var(--sai-shadow-sm) !important; }
  footer { background:#242537 !important; color:#f5f5ff !important; }
  footer * { color:#f5f5ff !important; }
  footer p a,footer p a * { color:var(--sai-violet-700) !important; }
  footer p a:last-child,footer p a:last-child * { color:#191919 !important; }

  /* v1의 크림·주황 팔레트가 런타임 인라인 스타일로 남는 구간을 v2 토큰으로 잇는다.
     렌더러가 hex를 rgb 문자열로 정규화하므로 두 표기를 함께 잡는다. */
  html:not(.om-dark) [style*="background:#F8EDD5"],
  html:not(.om-dark) [style*="background: rgb(248, 237, 213)"] { background:var(--sai-bg) !important; }
  html:not(.om-dark) [style*="background:#FBF7F0"],
  html:not(.om-dark) [style*="background: rgb(251, 247, 240)"],
  html:not(.om-dark) [style*="background:#FFFCF6"],
  html:not(.om-dark) [style*="background: rgb(255, 252, 246)"],
  html:not(.om-dark) [style*="background:#FFFDF8"],
  html:not(.om-dark) [style*="background: rgb(255, 253, 248)"] { background:var(--sai-surface) !important; }
  html:not(.om-dark) [style*="background:#F5EDE4"],
  html:not(.om-dark) [style*="background: rgb(245, 237, 228)"],
  html:not(.om-dark) [style*="background:#F6DDBB"],
  html:not(.om-dark) [style*="background: rgb(246, 221, 187)"],
  html:not(.om-dark) [style*="background:#F0DBBB"],
  html:not(.om-dark) [style*="background: rgb(240, 219, 187)"],
  html:not(.om-dark) [style*="background:#FFF3DC"],
  html:not(.om-dark) [style*="background: rgb(255, 243, 220)"],
  html:not(.om-dark) [style*="background:#FFFBEA"],
  html:not(.om-dark) [style*="background: rgb(255, 251, 234)"] { background:var(--sai-surface-soft) !important; }
  html:not(.om-dark) [style*="background:#E2D0B0"],
  html:not(.om-dark) [style*="background: rgb(226, 208, 176)"] { background:var(--sai-lavender) !important; }

  html:not(.om-dark) [style*="color:#B9430C"],
  html:not(.om-dark) [style*="color: rgb(185, 67, 12)"],
  html:not(.om-dark) [style*="color:#9A430F"],
  html:not(.om-dark) [style*="color: rgb(154, 67, 15)"],
  html:not(.om-dark) [style*="color:#8A5A1E"],
  html:not(.om-dark) [style*="color: rgb(138, 90, 30)"],
  html:not(.om-dark) [style*="color:#7A4E14"],
  html:not(.om-dark) [style*="color: rgb(122, 78, 20)"] { color:var(--sai-violet-700) !important; }

  html:not(.om-dark) [style*="border:2px solid #B5843F"],
  html:not(.om-dark) [style*="border: 2px solid rgb(181, 132, 63)"],
  html:not(.om-dark) [style*="border:2px solid #E0CCA6"],
  html:not(.om-dark) [style*="border: 2px solid rgb(224, 204, 166)"],
  html:not(.om-dark) [style*="border:2px solid #E6C899"],
  html:not(.om-dark) [style*="border: 2px solid rgb(230, 200, 153)"],
  html:not(.om-dark) [style*="border:2px solid #E7C200"],
  html:not(.om-dark) [style*="border: 2px solid rgb(231, 194, 0)"] { border-color:#d6d1ff !important; }

  html:not(.om-dark) [style*="background:#9E4318"],
  html:not(.om-dark) [style*="background: rgb(158, 67, 24)"],
  html:not(.om-dark) [style*="background:#FEE500"],
  html:not(.om-dark) [style*="background: rgb(254, 229, 0)"] {
    background:var(--sai-gradient) !important; border-color:transparent !important; color:#fff !important;
    box-shadow:0 10px 24px rgba(86,80,255,.22) !important;
  }
  html:not(.om-dark) [style*="background:#FEE500"] *,
  html:not(.om-dark) [style*="background: rgb(254, 229, 0)"] * { color:#fff !important; }

  .om-mega-in > div > p { color:var(--sai-violet-700) !important; }
  .om-mega-in button { background:#fff !important; color:#45485c !important; border-color:#e4e5f0 !important; box-shadow:0 4px 12px rgba(55,48,120,.06) !important; }
  html:not(.om-dark) .om-mega-in [style*="background:#FEE500"],
  html:not(.om-dark) .om-mega-in [style*="background: rgb(254, 229, 0)"] { background:var(--sai-gradient) !important; color:#fff !important; border-color:transparent !important; }
  html:not(.om-dark) .om-mega-in [style*="background:#FFFBEA"],
  html:not(.om-dark) .om-mega-in [style*="background: rgb(255, 251, 234)"] { background:#f5f3ff !important; color:var(--sai-violet-700) !important; border-color:#cfc9ff !important; }

  .om-list-prog > div:nth-child(2) { background:var(--sai-lavender) !important; }
  .om-list-prog > div:nth-child(2) > div { background:var(--sai-gradient) !important; }
  .om-list-prog > div:first-child > span:last-child { color:var(--sai-violet-700) !important; }
  .om-list-sec .om-track > button { background:linear-gradient(180deg,#fff,#fafaff) !important; border-color:#e2e3f0 !important; }
  .om-list-sec .om-track > button:hover { border-color:#aaa1ff !important; box-shadow:0 10px 24px rgba(55,48,120,.12) !important; }
  .om-list-sec .om-track > button > span:first-child { background:#f0efff !important; color:var(--sai-violet-700) !important; }
  .om-list-sec .om-track > button > span:last-child > span:nth-child(2) { color:var(--sai-violet-700) !important; }
  .om-shelf-arrow,.om-shelf-open { background:#fff !important; color:var(--sai-violet-700) !important; border-color:#d6d1ff !important; }
  html:not(.om-dark) footer p a:last-child,html:not(.om-dark) footer p a:last-child * { color:#fff !important; }

  /* 큰 글자는 가로 공간을 실제보다 15~30% 더 사용한다. 히어로 데모는 바로 아래에서
     동일 내용을 다시 제공하므로 큰 글자 모드에서는 접어 제목·설명 대비를 지킨다. */
  [style*="zoom: 1.15"] .om-ai-demo,[style*="zoom:1.15"] .om-ai-demo,
  [style*="zoom: 1.3"] .om-ai-demo,[style*="zoom:1.3"] .om-ai-demo { display:none !important; }
}

@media (min-width:1024px) and (max-width:1499px) {
  .sai-header__inner { gap:8px !important; padding-left:18px !important; padding-right:18px !important; }
  .sai-brand > span > span:last-child { display:none !important; }
  .sai-header__primary-nav { display:none !important; }
  .sai-header__utilities { margin-left:auto; gap:7px !important; }
  .sai-header__utilities > .om-menu-btn { display:inline-flex !important; }
  .sai-header__utilities button { min-height:52px !important; padding:8px 13px !important; font-size:18px !important; white-space:nowrap !important; }
  header img[alt*="수원AI"] { width:46px !important; height:46px !important; }
}

@media (min-width:1024px) and (max-width:1199px) {
  .om-hero { min-height:620px !important; padding-left:48px !important; padding-right:48px !important; }
  .om-hero-copy { max-width:820px !important; }
  .sai-home-feature,.sai-home-feature--method { grid-template-columns:1fr; gap:36px; }
  .sai-home-device-choice { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sai-home-feature--method .sai-home-shot { order:2; }
  .sai-home-journey { grid-template-columns:1fr; }
  .sai-home-start { align-items:flex-start; flex-direction:column; }
  .sai-home-start__actions { justify-content:flex-start; }
}

@media (min-width:1024px) and (max-width:1399px) {
  .om-ai-demo { display:none !important; }
}

@media (min-width:1500px) {
  .sai-header__utilities > .om-menu-btn { display:none !important; }
}

@keyframes saiFloat { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-18px) rotate(5deg)} }
@keyframes saiDemo { 0%,100%{transform:translateY(-50%) rotate(-.6deg)} 50%{transform:translateY(calc(-50% - 12px)) rotate(.6deg)} }

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.001ms !important; }
}
