/* ---- block 1: 스크라이브 페이지 기본 스타일 ---- */
  :root{
    --ground:#FFFFFF; --ink:#0E1014; --ink-2:#3D434C; --mute:#6B717B;
    --tone:#F3F5F8; --tone-2:#E9EDF3; --sky:#E3EEFB;
    --blue:#2563EB; --blue-strong:#1A4FD1; --blue-soft:#BFD3FF; --navy:#0B1B33;
    --night:#121418; --night-2:#1C1F25; --night-ink:#F2F3F5; --night-mute:#A3A9B3;
    --margin:clamp(16px,3.2vw,48px); --gutter:clamp(16px,2.4vw,32px); --max:1360px;
    --step-display:clamp(44px,7.2vw,108px); --step-head:clamp(32px,4.2vw,60px);
    --step-lead:clamp(18px,1.5vw,22px); --step-body:17px; --step-small:14px;
    --ease-out:cubic-bezier(.22,1,.36,1); --ease-expo:cubic-bezier(.16,1,.3,1); --ease-in-out:cubic-bezier(.76,0,.24,1);
    --t-press:140ms; --t-hover:180ms; --t-ui:240ms; --stagger-line:90ms; --stagger-item:70ms;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:72px}
  body{font-family:"Pretendard Variable",Pretendard,-apple-system,system-ui,sans-serif;font-size:var(--step-body);line-height:1.55;color:var(--ink);background:var(--ground);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;overflow-x:clip}
  a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
  button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
  :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
  .frame{max-width:var(--max);margin:0 auto;padding:0 var(--margin)}
  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .review{background:#FEF9C3;color:#713F12;font-size:13px;text-align:center;padding:8px 16px}

  .button{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 28px;border-radius:999px;font-weight:700;font-size:16px;white-space:nowrap;background:var(--blue);color:#fff;transition:transform var(--t-press) var(--ease-out),background-color var(--t-hover) ease,color var(--t-hover) ease}
  .button:active{transform:scale(.97)}
  .button.on-blue{background:#fff;color:var(--blue)}
  .link{font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.25em;text-decoration-thickness:.08em;transition:text-decoration-color var(--t-hover) ease}
  @media (hover:hover) and (pointer:fine){.button:hover{background:var(--blue-strong)}.button.on-blue:hover{background:#E8EFFF}.link:hover{text-decoration-color:currentColor}}

  .bar{position:sticky;top:0;z-index:40;background:var(--blue);color:#fff;transition:background-color 300ms ease,color 300ms ease}
  .bar.is-light{background:var(--ground);color:var(--ink)}
  .bar.is-sky{background:var(--sky);color:var(--navy)}
  .bar.is-night{background:var(--night);color:#fff}
  .bar.is-navy{background:var(--navy);color:#fff}
  .bar .frame{display:flex;align-items:center;height:68px;gap:36px}
  .word{font-family:Poppins,sans-serif;font-weight:600;font-size:20px;letter-spacing:-.02em}
  .bar nav{display:flex;gap:28px;font-size:15px;font-weight:500}
  .bar .act{margin-left:auto;height:42px;padding:0 20px;font-size:15px}
  .bar:not(.is-light):not(.is-sky) .act{background:#fff;color:var(--blue)}

  /* 첫 화면 */
  .hero{background:var(--ground);color:var(--ink);padding:clamp(40px,5vw,72px) 0 clamp(48px,6vw,96px);overflow:clip}
  .hero h1 em{font-style:normal;color:var(--blue)}
  .hero-side .link{color:var(--ink)}
  .hero-grid{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:0 var(--gutter);align-items:start;grid-template-rows:auto auto 1fr;--scene:min(82vw,1200px);min-height:calc(var(--scene) * .746 - var(--scene) * .1)}
  .hero h1{grid-column:1 / 9;font-size:var(--step-display);font-weight:800;letter-spacing:-.05em;line-height:1}
  .lines .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
  .lines [data-line]{display:block}
  .hero-side{position:relative;z-index:1;grid-column:1 / 7;grid-row:2;margin-top:clamp(24px,2.6vw,40px);display:grid;grid-template-columns:1fr;gap:28px;max-width:min(34em,34vw,490px)}
  .hero-side .acts{margin-top:0 !important}
  .hero h1{position:relative;z-index:1;grid-row:1;grid-column:1 / 8 !important;font-size:calc(var(--step-display) * .84) !important}
  /* 디오라마: 카드 없이 크게, 오른쪽 끝까지. 지금 이미지는 연회색 바탕이라 가장자리를 흰색으로 흐려 둠(흰 바탕 고해상도로 재생성하면 mask 삭제) */
  .hero-scene{position:absolute;z-index:0;top:calc(var(--scene) * -.1);right:calc(var(--scene) * -.16);width:var(--scene);margin:0}
  .hero-scene img{display:block;width:100%;height:auto;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%)}
  .hero-side p{font-size:var(--step-lead);line-height:1.55;color:var(--ink-2)}
  .hero-side .acts{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap}
  .imac img{filter:drop-shadow(0 24px 30px rgba(8,24,64,.14))}
  .safari{background:#fff;border-radius:14px 14px 0 0;overflow:hidden;box-shadow:0 -1px 0 rgba(255,255,255,.4),0 30px 80px rgba(8,24,64,.35)}
  .sf-bar{height:44px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;background:#F2F3F5;border-bottom:1px solid #E1E4E8}
  .sf-dots{display:flex;gap:8px}
  .sf-dots i{width:12px;height:12px;border-radius:50%;background:#FF5F57}
  .sf-dots i:nth-child(2){background:#FEBC2E} .sf-dots i:nth-child(3){background:#28C840}
  .sf-url{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 clamp(24px,8vw,120px);border-radius:8px;background:#E4E6EA;color:#55595F;font-size:13px;font-weight:500}

  section{padding:clamp(96px,12vw,200px) 0}
  h2{font-size:var(--step-head);font-weight:800;letter-spacing:-.045em;line-height:1.08}
  .lead{font-size:var(--step-lead);line-height:1.6;color:var(--ink-2);max-width:34em}
  .note{margin-top:24px;font-size:var(--step-small);color:var(--mute)}

  /* 고민: 하늘색 면, 온톨이가 옆에 머문다 */
  .voices{background:var(--sky);color:var(--navy);padding-top:clamp(72px,8vw,128px)}
  .voices .lead{color:#2B4A6F}
  .v-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,96px)}
  .v-left{display:flex;flex-direction:column}
  .v-char{position:relative;height:min(56svh,520px);margin-top:clamp(32px,4vw,56px)}
  @media (min-width:961px) and (min-height:640px){
    .v-left{position:sticky;top:calc(var(--bar-h) + 4svh);height:calc(100svh - var(--bar-h) - 8svh);align-self:start}
    .v-char{flex:1;height:auto;min-height:0}
    .v-list{padding:calc(30svh) 0 calc(6svh)}
    .v-item{min-height:30svh;display:flex;flex-direction:column;justify-content:center}
      .js .v-item{opacity:.28;transition:opacity 400ms ease}
    .js .v-item.is-on{opacity:1}
  }

  /* 고민 무대: 한 번에 한 문장, 스크롤 단계마다 걸리듯 넘어감 */
  .v-count{display:none}
  .voices.is-staged{padding-top:0;padding-bottom:0}
  .voices.is-staged .v-stage{position:sticky;top:var(--bar-h);height:calc(100svh - var(--bar-h));display:flex;align-items:center}
  .voices.is-staged .v-stage > .frame{width:100%}
  .voices.is-staged .v-left{position:static;height:calc(100svh - var(--bar-h) - 12svh)}
  .voices.is-staged .v-right{display:flex;flex-direction:column;justify-content:center}
  .voices.is-staged .v-sub{margin-top:20px}
  .voices.is-staged .v-count{display:block;font-size:15px;font-weight:700;color:var(--blue);margin-bottom:18px;font-variant-numeric:tabular-nums}
  .voices.is-staged .v-list{position:relative;padding:0;height:clamp(240px,32svh,340px)}
  .voices.is-staged .v-item{position:absolute;inset:0;min-height:0;padding:0;opacity:1 !important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;visibility:hidden}
  .v-mask{overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}
  .voices.is-staged .v-item.is-cur{visibility:visible}
  .voices.is-staged .v-item blockquote{font-size:clamp(30px,3.2vw,48px);line-height:1.25;will-change:transform}
  .voices.is-staged .v-char img{transform-origin:50% 100%}
  .v-sub{margin-top:14px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:#4A6385;max-width:30em}
  .v-list{list-style:none}
  .v-item{padding:clamp(28px,3.4vw,44px) 0}
  .v-item blockquote{font-size:clamp(24px,2.5vw,36px);font-weight:800;letter-spacing:-.035em;line-height:1.3;max-width:20em}
  .v-item .ans{margin-top:16px;font-size:17px;line-height:1.65;color:#2B4A6F;max-width:32em}
  .v-item .ans b{color:var(--blue)}

  /* 고민: 하늘색 무대 */
  .story{background:var(--sky);color:var(--navy)}
  .story .voices{background:transparent;padding-bottom:0}
  .v-char img{position:absolute;left:0;bottom:0;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:left bottom}

  /* 해결: 아이맥을 가운데 크게, 양옆에 장점. 넓은 화면에서는 붙잡아 두고 스크롤로 진행(scribe.js) */
  .solve{background:var(--ground);padding:clamp(72px,8vw,128px) 0}
  .solve-grid{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"h h" "s p";column-gap:clamp(24px,3vw,56px);align-items:center}
  .solve-h{grid-area:h;text-align:center;font-size:clamp(28px,3vw,46px);line-height:1.2;margin-bottom:clamp(20px,3svh,40px)}
  .solve-h em{font-style:normal;color:var(--blue)}
  .solve-shot{grid-area:s;margin:0;--iw:min((100svh - var(--bar-h) - 210px) * 1.183,100vw - 2 * var(--margin) - 2 * clamp(210px,19vw,290px) - 2 * clamp(24px,3vw,56px),1040px);width:var(--iw);transform-origin:50% 31%}
  .solve-shot img{display:block;width:100%;height:auto}
  .solve-pts{grid-area:p;list-style:none;display:grid;gap:clamp(24px,4svh,40px)}
  /* 장점 목록: 왼쪽 아이콘, 오른쪽 제목과 설명 */
  .solve-pts li{display:grid;grid-template-columns:28px 1fr;column-gap:clamp(14px,1.4vw,20px);align-items:start}
  .solve-pts li > b,.solve-pts li > span:last-child{grid-column:2}
  .solve-ic{grid-row:1 / 3;color:var(--blue);padding-top:2px}
  .solve-ic svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  /* 장점 목록 맨 위: 작성 시간 단축 수치 */
  .solve-pts li.solve-num{display:block;padding-bottom:clamp(4px,1svh,12px)}
  .solve-num b{font-family:Poppins,Pretendard,sans-serif;font-size:clamp(34px,3.2vw,50px) !important;font-weight:600 !important;letter-spacing:-.04em !important;line-height:1.05 !important;color:var(--blue);font-variant-numeric:tabular-nums}
  .solve-num .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .solve-num small{margin-left:6px;font-size:.85em;color:var(--mute)}
  .solve-pts b{display:block;font-size:clamp(20px,1.7vw,26px);font-weight:800;letter-spacing:-.035em;line-height:1.3}
  .solve-pts li > span:last-child{display:block;margin-top:6px;font-size:clamp(15px,1.15vw,17px);line-height:1.55;color:var(--mute)}
  .solve.is-pinned{padding:0}
  .solve.is-pinned .solve-run{height:360svh}
  .solve.is-pinned .solve-stage{--piw:min(1120px,100vw - 2 * var(--margin) - 40px,(100svh - var(--bar-h) - 190px) * 1.64);position:sticky;top:var(--bar-h);height:calc(100svh - var(--bar-h));overflow:clip;padding-top:clamp(24px,5svh,56px)}
  .solve.is-pinned .solve-stage > .frame{width:100%}
  .solve.is-pinned .solve-grid{display:flex;flex-direction:column;align-items:center;position:static}
  /* 처음엔 받침대가 화면 밖으로 잘릴 만큼 크게, 장점이 나올 때 한 발 물러남(scribe.js) */
  .solve.is-pinned .solve-shot{width:var(--piw);transform-origin:50% 36%}
  /* 넓은 화면: 물러난 아이맥과 목록을 한 덩어리로 가운데, 목록은 아이맥 윗선에서 시작. --p2*는 scribe.js가 계산 */
  .solve.is-pinned .solve-pts{position:absolute;top:var(--p2t,30%);height:var(--p2h,50%);left:var(--p2l,60%);width:var(--p2w,360px);align-content:start;padding-top:clamp(0px,2svh,24px);gap:clamp(14px,2.6svh,30px)}
  .solve.is-pinned .solve-pts li > span:last-child{margin-top:4px}
  @media (max-width:960px){
    .solve-grid{grid-template-columns:1fr;grid-template-areas:"h" "s" "p";row-gap:32px}
    .solve-h{text-align:left;margin-bottom:8px}
    .solve-shot{width:100%}
  }
  .how{padding-top:clamp(64px,7vw,112px)}

  /* 성과 */
  /* 무수정 확정률: 학습 섹션 왼쪽, 숫자 하나로 집중 */
  .learn-figs{margin-top:auto;padding-top:clamp(32px,3vw,44px)}
  .fig-k{font-size:clamp(15px,1.2vw,17px);font-weight:700;color:var(--ink-2)}
  .fig-n{margin-top:6px;font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(64px,6.4vw,104px);letter-spacing:-.05em;line-height:.9;color:var(--blue);font-variant-numeric:tabular-nums}
  .fig-n .pct{font-size:.42em;letter-spacing:0;margin-left:.06em}
  .learn-figs .note{margin-top:14px;max-width:28em}
  .roll__digits{display:inline-flex;align-items:flex-start}
  .roll__col{display:inline-block;height:.9em;overflow:clip}
  .roll__strip{display:flex;flex-direction:column;transform:translateY(calc(var(--d) * -.9em))}
  .roll__strip > span{height:.9em;line-height:.9}
  .clients .lead{margin-top:24px;max-width:40em}
  .clients{padding-bottom:0}
  .tiers{margin-top:clamp(40px,5vw,64px);background:var(--tone);padding:clamp(28px,3vw,44px) var(--margin);border-radius:28px}
  .tiers > p{font-size:clamp(20px,1.8vw,26px);font-weight:800;letter-spacing:-.03em}
  .tier{display:grid;grid-template-columns:160px 1fr;gap:var(--gutter);align-items:center;padding:22px 0}
  .tier h3{font-size:16px;color:var(--ink-2)}
  .tier img{width:100%;height:auto}

  .logo-row{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:28px 52px;margin-top:28px}
  .logo-row img{height:34px;width:auto;object-fit:contain}
  /* 라이브 */
  .live{background:var(--tone)}
  .live-head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:end}
  .live-head h2{grid-column:1 / 7} .live-head .lead{grid-column:7 / 13}
  .app{margin-top:clamp(48px,5vw,72px);display:grid;grid-template-columns:5fr 7fr;background:#fff;font-size:14px;border-radius:24px;overflow:hidden}
  [data-ui] table{width:100%;border-collapse:collapse}
  [data-ui] th,[data-ui] td{padding:12px 16px;text-align:left;border-bottom:1px solid #EEF0F3}
  [data-ui] th{font-size:12px;color:#7B818B;font-weight:600;background:#FAFBFC}
  [data-ui] td.n{text-align:right;font-variant-numeric:tabular-nums}
  [data-ui] .hi{color:#D64545;font-weight:700}
  .app-left{padding:24px;border-right:1px solid #EEF0F3}
  .app-title{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;margin-bottom:14px}
  .app-title span{font-size:12px;font-weight:600;color:#7B818B}
  .memo{margin-top:16px;background:#F6F8FB;padding:14px 16px;border-radius:12px;color:#3D434C;line-height:1.6}
  .memo b{display:block;font-size:12px;color:#7B818B;margin-bottom:4px}
  .app-right{padding:24px;display:flex;flex-direction:column}
  .styles{display:flex;gap:6px;flex-wrap:wrap}
  .styles button{height:38px;padding:0 16px;border-radius:999px;background:#F1F3F6;font-weight:600;font-size:14px;color:#3D434C;transition:background-color var(--t-hover) ease,color var(--t-hover) ease,transform var(--t-press) var(--ease-out)}
  .styles button:active{transform:scale(.97)}
  .styles button[aria-pressed="true"]{background:var(--ink);color:#fff}
  .gen-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
  .gen-row small{color:#7B818B;font-size:12.5px}
  .gen{height:40px;padding:0 20px;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;transition:transform var(--t-press) var(--ease-out),background-color var(--t-hover) ease}
  .gen:active{transform:scale(.97)} .gen[disabled]{background:#9DB8F5;cursor:default}
  .card{margin-top:16px;border:1.5px solid var(--blue);border-radius:16px;padding:16px 18px;min-height:220px;display:flex;flex-direction:column}
  .card-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--blue)}
  .card-top span{color:#7B818B;font-weight:600}
  .card-body{margin-top:10px;font-size:15px;line-height:1.75;color:#1D2128;flex:1;white-space:pre-line;transition:opacity 200ms ease}
  .card-body.is-busy{opacity:.25}
  .card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #EEF0F3;font-size:12.5px;color:#7B818B}
  .card-foot b{color:#3D434C}
  .ok{height:30px;padding:0 12px;border-radius:6px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:700}

  /* 피드백 학습: 서류를 읽는 온톨이 */
  /* 왼쪽 글 묶음과 오른쪽 화면을 같은 높이로: 제목은 화면 윗선, 숫자는 화면 아랫선에 맞춤 */
  .learn-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:stretch}
  .learn-copy{grid-column:1 / 7;display:flex;flex-direction:column}
  .learn-copy .lead{max-width:30em}
  .learn-copy .lead{margin-top:24px}
  /* 피드백 화면 목업: 바닥에서 살짝 떠 있는 화면처럼 그림자로 깊이 */
  .fb{grid-column:7 / 13;align-self:start;background:#fff;font-size:15px;border-radius:24px;overflow:hidden;box-shadow:0 0 0 1px rgba(14,16,20,.06),0 2px 6px rgba(11,27,51,.05),0 32px 64px -24px rgba(11,27,51,.28)}
  .fb-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid #EEF0F3}
  .fb-top b{font-size:16px}
  .fb-top .okay{font-size:12.5px;font-weight:700;color:#0F8A4B;background:#E7F6EE;padding:4px 10px;border-radius:6px}
  .fb-meta{padding:12px 24px 0;font-size:13px;color:#7B818B}
  .fb-col{padding:18px 24px}
  .fb-col + .fb-col{border-top:1px solid #EEF0F3}
  .fb-col h4{font-size:13px;color:#7B818B;font-weight:700;margin-bottom:8px}
  .fb-col p{line-height:1.75;color:#1D2128}
  .fb-col del{color:#B54747;text-decoration-thickness:1.5px;background:#FDEEEE}
  .fb-col ins{text-decoration:none;color:#0B5ED7;background:#EAF2FF;font-weight:600}
  .rule{margin:0 24px 22px;background:#F6F8FB;padding:14px 16px;border-radius:12px;line-height:1.6;color:#3D434C}
  .rule b{display:block;font-size:12px;color:#7B818B;margin-bottom:4px}

  /* 작동 방식: 어두운 면 위의 큰 판정 화면, 밝힌 영역 옆에 설명 */
  .how{background:var(--night);color:var(--night-ink);padding-bottom:clamp(64px,8vw,120px)}
  .how .lead{color:var(--night-mute);margin-top:24px}
  /* 핵심 단어 "종합검진 종합소견": 파랑→하늘색 그라데이션(사용자 지정, 이 한 곳만 예외. 끝이 흰색이면 나머지 제목과 섞여 '소견'이 강조에서 빠져 보임) */
  .how h2 em{font-style:normal;color:#93C5FD;background:linear-gradient(90deg,#4F8BFF 0%,#7DB4FF 55%,#B9DAFF 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .how-stage{margin-top:clamp(40px,5vw,72px)}
  .how-shot{position:relative;margin:0 auto;width:100%}
  .how-shot img{width:100%;height:auto;display:block;border-radius:20px}
  .how-shot .lit{position:absolute;inset:0;clip-path:inset(0 0 0 0 round 0)}
  /* 화면 위에 열리는 패널(피그마 실제 디자인): 해당 단계에서 왼쪽 메뉴 쪽에서 미끄러져 들어옴 */
  .how-pop{display:none}
  .how.is-pinned .how-pop{display:block;position:absolute;z-index:1;opacity:0;transform:translateX(-8%);transition:opacity 220ms ease,transform 560ms var(--ease-expo);pointer-events:none;border-radius:0;filter:drop-shadow(0 18px 40px rgba(0,0,0,.28))}
  .how.is-pinned .how-pop.is-on{opacity:var(--fade,1);transform:none}
  /* The original long capture stays behind; readable sample rows take focus. */
  .how.is-pinned .pop-munjin{left:11.67%;top:10%;width:50%;height:auto;max-height:80%;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 48px #09132355}
  /* 선택된 메뉴: 같은 SVG에서 '문진 데이터' 줄만 실제 선택 상태(#273861 배경, #4A80E8 아이콘·글자)로 다시 그린 조각을 같은 자리(x16·y434, 187×36, 모서리 밖 투명)에 겹침 */
  .how.is-pinned .pop-menu{left:.833%;top:40.185%;width:9.74%;border-radius:0;filter:none;transform:none;transition:opacity 180ms ease}
  /* 고객 지원: 화면 오른쪽 아래 채팅 버튼(56px, 가장자리 16px)과 그 위로 열리는 채팅 창(폭 440px, 버튼 위 12px). 1920×1080 화면 기준 % */
  .how.is-pinned .pop-chatbtn{left:96.25%;top:93.33%;width:2.917%;filter:none;transform:scale(.6)}
  .how.is-pinned .pop-chat{left:56%;top:13%;width:42%;filter:none;transform-origin:100% 100%;transform:translateY(16px) scale(.94)}
  @media (prefers-reduced-motion:reduce){ .how.is-pinned .how-pop{transition:opacity 200ms ease;transform:none} }
  .how-steps{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
  .how-step{background:var(--night-2);padding:24px 26px;border-radius:18px}
  .how-step small{display:block;font-size:13px;color:var(--night-mute);font-weight:600}
  .how-step h3{margin-top:6px;font-size:21px;letter-spacing:-.03em;line-height:1.3;color:#fff}
  .how-step p{margin-top:8px;font-size:15.5px;line-height:1.65;color:#C9CED6}
  .how.is-pinned .how-run{position:relative}
  /* 붙잡힌 동안 제목은 위에 고정, 화면은 그 아래. 해결 무대의 아이맥 화면이 정확히 이 자리로 커져 들어옴(scribe.js) */
  .how.is-pinned{position:relative;padding-top:0}
  .how.is-pinned > .frame:first-child{position:sticky;top:var(--bar-h);z-index:2;height:0;pointer-events:none}
  .how.is-pinned > .frame:first-child h2{padding-top:clamp(18px,3svh,30px);font-size:clamp(22px,2vw,32px);white-space:nowrap}
  .how.is-pinned .how-stage{position:sticky;top:var(--bar-h);height:calc(100svh - var(--bar-h));margin-top:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:clamp(16px,3svh,28px)}
  .how.is-pinned .how-shot{width:min(100%,calc((100svh - var(--bar-h) - clamp(16px,3svh,28px) - clamp(84px,11svh,104px)) * 1.7778))}
  /* 해결 무대와 겹쳐 둠: 해결 무대가 끝나는 순간 이 화면이 같은 자리에서 이어받음 */
  .how.is-joined{margin-top:calc(-100svh + var(--bar-h) - 32svh);z-index:4}
  /* 어둡게: 투명도 대신 밝기를 낮춰 불투명하게 둠(뒤에 깔린 아이맥 화면이 비치지 않게) */
  .how.is-pinned .how-shot .base{position:relative;filter:brightness(.3);border-radius:0}
  .how.is-pinned .how-shot .lit{border-radius:0}
  /* 해결 장면에서 커져 온 아이맥을 그대로 둠: 화면 크기는 그대로, 아이맥 틀만 화면 바깥에 깔기.
     아이맥 이미지(2000×1691) 안 화면은 x42·y40·폭1916 → 틀 폭 = 화면/0.958, 왼쪽 -2.192%, 위로 틀 높이의 2.3655% */
  .how-imac{display:none}
  .how.is-pinned .how-imac{display:block;position:absolute;left:-2.192%;top:0;width:104.384%;max-width:none;transform:translateY(-2.3655%);border-radius:0;pointer-events:none;filter:brightness(.3)}
  /* 붙잡힘이 끝나면 받침대까지 보이도록: 섹션 아래 여백 = 받침대 높이(scribe.js가 --stand 계산) */
  .how.is-pinned{padding-bottom:var(--stand,240px)}
  /* 마지막 단계 뒤 스크롤로 함께 흐려짐(scribe.js가 --fade 1→0) */
  .how.is-pinned .how-steps,.how.is-pinned > .frame:first-child{opacity:var(--fade,1)}
  .how.is-pinned .how-steps{position:absolute;inset:0;display:block;margin:0;pointer-events:none}
  .how.is-pinned .how-step{position:absolute;width:min(34%,400px);background:#fff;color:var(--ink);opacity:0;transform:translateY(10px);transition:opacity 300ms ease,transform 450ms var(--ease-out)}
  .how.is-pinned .how-step.is-on{opacity:1;transform:none}
  .how.is-pinned .how-step small{color:var(--blue)}
  .how.is-pinned .how-step h3{color:var(--ink)}
  .how.is-pinned .how-step p{color:var(--ink-2)}
  @media (max-width:960px){.how-steps{grid-template-columns:1fr}}
  @media (prefers-reduced-motion:reduce){.how.is-pinned .how-step{transition:opacity 200ms ease}}

  /* 부가기능 */
  .addons{background:var(--tone)}
  /* 부가기능 벤또: 회색 바탕 위 흰 칸, 위 7·5 / 아래 4·4·4. 칸마다 기능을 보여 주는 작은 샘플 그림 */
  .add-head .lead{margin-top:24px}
  .bento{list-style:none;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(40px,5vw,72px)}
  .bt{grid-column:span 4;display:flex;flex-direction:column;gap:clamp(20px,2vw,28px);background:#fff;border-radius:24px;padding:clamp(24px,2.4vw,36px);overflow:hidden}
  .bt-big{grid-column:span 7}
  .bt-tr{grid-column:span 5}
  .bt h3{font-size:clamp(20px,1.7vw,24px);letter-spacing:-.03em}
  .bt-copy p{margin-top:8px;color:var(--ink-2);line-height:1.65}
  .bt-big,.bt-tr{justify-content:space-between}
  .bt-vis{background:var(--tone);border-radius:16px;padding:18px 20px;font-size:14px;line-height:1.55}
  .bt:not(.bt-big):not(.bt-tr) .bt-vis{height:clamp(116px,9vw,132px);box-sizing:border-box;display:grid;align-content:center}
  .bt-vis .arrow{height:2px;background:var(--blue);position:relative}
  .bt-vis .arrow::after{content:"";position:absolute;right:-1px;top:-4px;width:8px;height:8px;border-right:2px solid var(--blue);border-top:2px solid var(--blue);transform:rotate(45deg)}
  /* 서술형: 영문 서술형 결과 원문 → 수검자가 읽는 짧은 소견 */
  .vis-desc{display:grid;grid-template-columns:1fr 28px 1fr;align-items:center;gap:12px}
  .vis-desc .doc,.vis-desc .out{border-radius:12px;padding:14px 16px}
  .vis-desc b{display:block;font-size:12px;font-weight:700;margin-bottom:6px}
  .vis-desc .doc{background:#E9EDF3;color:var(--mute)}
  .vis-desc .doc b{color:var(--ink-2)}
  .vis-desc .doc p{font-size:12.5px;line-height:1.6}
  .vis-desc .out{background:#fff;color:var(--ink);font-weight:600}
  .vis-desc .out b{color:var(--blue)}
  .vis-desc .out em{font-style:normal;color:var(--blue)}
  .vis-tr .langs{display:flex;flex-wrap:wrap;gap:6px}
  .vis-tr .langs span{padding:5px 11px;border-radius:999px;background:#fff;font-size:12.5px;font-weight:600;color:var(--ink-2)}
  .vis-tr .langs .on{background:var(--blue);color:#fff}
  .vis-tr p{margin-top:14px;font-weight:500;color:var(--ink)}
  /* 작은 칸 그림 */
  .bt:not(.bt-big):not(.bt-tr) .vis-sum,.bt:not(.bt-big):not(.bt-tr) .vis-ext{grid-template-columns:auto 24px 1fr;align-items:center;gap:12px}
  .vis-sum .long{display:grid;gap:8px;width:clamp(56px,6vw,88px)}
  .vis-sum .long i{display:block;height:6px;border-radius:3px;background:#D9DEE6}
  .vis-sum .long i:nth-child(2n){width:70%}
  .vis-sum .short{background:#fff;border-radius:10px;padding:10px 12px;font-weight:600;font-size:13px;color:var(--ink)}
  .vis-sum .short b{display:block;font-size:11.5px;color:var(--blue);margin-bottom:2px}
  .vis-ext .files{display:flex;gap:6px}
  .vis-ext .f{position:relative;display:block;width:28px}
  .vis-ext .f svg{display:block;width:28px;height:35px;fill:#fff;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
  .vis-ext .f svg .ln{fill:none}
  .vis-ext .f-pdf{color:#D14343}
  .vis-ext .f-pdf i{position:absolute;left:0;right:0;bottom:7px;text-align:center;font-style:normal;font-size:8px;font-weight:800}
  .vis-ext .f-img{color:var(--blue)}
  .vis-ext .f-xls{color:#1F8A4C}
  .vis-ext .sorted{display:grid;gap:6px}
  .vis-ext .sorted span{background:#fff;border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--ink-2)}
  .vis-ext .sorted b{color:var(--blue)}
  .vis-typo span{display:block;font-weight:600;color:var(--ink)}
  .vis-typo em{font-style:normal;text-decoration:underline wavy #E5484D;text-underline-offset:4px}
  .vis-typo small{display:block;margin-top:10px;font-size:12.5px;color:#C2363B}
  .vis-typo small b{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;background:#FDE8E8;font-size:11.5px}
  @media (max-width:960px){ .bt,.bt-big,.bt-tr{grid-column:1 / -1} }
  @media (max-width:600px){ .vis-desc{grid-template-columns:1fr} .vis-desc .arrow{display:none} }

  /* 비교 */

  /* 보안 */
  .night{background:var(--night);color:var(--night-ink)}
  .night .lead{color:var(--night-mute)}
  .sec-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(48px,5vw,80px)}
  .sec-item{grid-column:span 4;background:var(--night-2);padding:32px 28px 30px;border-radius:24px}
  .sec-item h3{font-size:22px;letter-spacing:-.03em;line-height:1.3}
  .sec-item p{margin-top:14px;color:#C9CED6;line-height:1.7;font-size:16px}
  .sec-item .spec{margin-top:18px;font-size:13.5px;color:var(--night-mute)}

  /* 도입 절차 */
  .proc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter)}
  .proc-grid .copy{grid-column:1 / 7}
  .proc-grid .copy .lead{margin-top:24px}
  .proc{grid-column:7 / 13;list-style:none}
  .proc li{padding:26px 0}
  .proc h3{font-size:21px;letter-spacing:-.03em;line-height:1.3}
  .proc h3 em{font-style:normal;font-size:15px;font-weight:700;color:var(--blue);margin-left:8px}
  .proc p{margin-top:8px;color:var(--ink-2);line-height:1.65}
  .proc li.is-key{background:var(--tone);margin:0 calc(var(--gutter) * -1);padding:26px var(--gutter);border-radius:20px}

  /* 미션 */
  .mission{background:var(--navy);color:#fff}
  .mission-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:start}
  .mission h2{grid-column:1 / 7}
  .mission .body{grid-column:7 / 13;font-size:var(--step-lead);line-height:1.75;color:#C9D8EE}
  .mission .body p + p{margin-top:18px}
  .mission .body .link{display:inline-block;margin-top:24px;color:#fff}

  /* FAQ */
  .faq-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:start}
  .faq-grid .copy{grid-column:1 / 5;position:sticky;top:110px}
  .faq-grid .copy .lead{margin-top:20px}
  .faq-grid .copy .link{display:inline-block;margin-top:20px;color:var(--blue)}
  .faq{grid-column:6 / 13}
  .faq details{background:var(--tone);margin-bottom:8px;border-radius:16px;transition:background-color var(--t-hover) ease}
  .faq details[open]{background:#EAF0FF}
  .faq summary{list-style:none;cursor:pointer;padding:22px 64px 22px 26px;font-size:18px;font-weight:700;letter-spacing:-.02em;position:relative}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"";position:absolute;right:28px;top:50%;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform var(--t-ui) var(--ease-out)}
  .faq details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
  .faq .ans{padding:0 26px 24px;color:var(--ink-2);line-height:1.7;max-width:46em}

  /* 마무리: 워드마크 뒤에서 고개를 내미는 온톨이 */
  .close{background:var(--blue);color:#fff;padding:clamp(96px,11vw,180px) 0 40px;overflow:clip}
  .close .lead{color:#DCE6FF;margin-top:24px}
  .close .acts{display:flex;align-items:center;gap:22px;margin-top:36px;flex-wrap:wrap}
  .giant-wrap{position:relative;margin-top:clamp(72px,9vw,140px)}
  .giant{position:relative;z-index:2;font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(64px,15.6vw,236px);letter-spacing:-.055em;line-height:.8;white-space:nowrap;color:#fff;background:var(--blue);padding-top:.04em}
  .peek{position:absolute;z-index:1;right:6%;bottom:58%;width:clamp(90px,12vw,190px);height:auto}
  .co{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:40px;font-size:14px;line-height:1.8;color:#DCE6FF}
  .co b{color:#fff} .co nav{display:flex;gap:20px;flex-wrap:wrap}

  /* 문의 버튼: 제품의 실제 채팅 버튼 */
  .chat{position:fixed;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);z-index:50;width:60px;height:60px;border-radius:18px;overflow:hidden;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity 300ms ease,transform 400ms var(--ease-out)}
  .chat.is-on{opacity:1;transform:none;pointer-events:auto}
  .chat:active{transform:scale(.94)}
  .chat img{width:100%;height:100%}

  /* 등장 */
  @media (prefers-reduced-motion:no-preference){
    .js .hero [data-line]{transform:translateY(105%);animation:line-up 900ms var(--ease-expo) forwards;animation-delay:calc(120ms + var(--i) * var(--stagger-line))}
    .js .hero [data-load]{opacity:0;transform:translateY(14px);animation:rise 520ms var(--ease-out) forwards;animation-delay:var(--d)}
    .js .hero .hero-scene{transform:scale(1.06);transform-origin:62% 58%;animation:rise 1400ms var(--ease-expo) 120ms forwards}
    .js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 700ms var(--ease-out),transform 900ms var(--ease-expo);transition-delay:var(--d,0ms)}
    .js [data-reveal].is-in{opacity:1;transform:none}
    .roll:not(.is-in) .roll__strip{transform:none}
    .roll.is-in .roll__strip{transition:transform 1100ms var(--ease-expo) calc(var(--i) * var(--stagger-item))}
    .card-body.is-new{animation:card-in 420ms var(--ease-out)}
    .js .fb del,.js .fb ins{transition:opacity 500ms ease,background-color 600ms ease}
    .js .fb:not(.is-in) ins{opacity:0}
    .js .fb:not(.is-in) del{text-decoration-color:transparent;background:transparent;color:#1D2128}
    .js .fb.is-in del{transition-delay:300ms}
    .js .fb.is-in ins{transition-delay:900ms}
    .js .peek{transform:translateY(70%);transition:transform 1000ms var(--ease-expo)}
    .js .peek.is-in{transform:none;animation:wave 900ms var(--ease-in-out) 1000ms 1 both}
  }
  @keyframes line-up{to{transform:none}} @keyframes rise{to{opacity:1;transform:none}}
  @keyframes open{to{clip-path:inset(0)}} @keyframes settle{to{transform:none}}
  @keyframes card-in{from{opacity:0;transform:translateY(8px)}}
  @keyframes wave{0%,100%{rotate:0deg}30%{rotate:-6deg}60%{rotate:4deg}}
  .peek{transform-origin:50% 100%}

  @media (max-width:960px){
    .bar nav{display:none}
    .hero h1,.hero-side,.live-head h2,.live-head .lead,.learn-copy,.fb,.proc-grid .copy,.proc,.mission h2,.mission .body,.faq-grid .copy,.faq{grid-column:1 / -1}
    .fb,.proc,.mission .body{margin-top:40px}
    .hero-side{padding-bottom:0;grid-template-columns:1fr;grid-row:auto}
    .hero h1{grid-column:1 / -1 !important;font-size:var(--step-display) !important}
    .hero-grid{min-height:0}
    .hero-side{max-width:34em}
    .hero-scene{position:relative;top:auto;right:auto;grid-column:1 / -1;grid-row:auto;width:auto;margin:0 -18vw}
    .v-grid{grid-template-columns:1fr}
    .v-char{height:240px}
    .app{grid-template-columns:1fr}
    .app-left{border-right:0;border-bottom:1px solid #EEF0F3}
    .story{grid-template-columns:1fr}
    .sec-item{grid-column:1 / -1}
    .faq-grid .copy{position:static}
    .tier{grid-template-columns:1fr;gap:10px}
    }
  @media (max-width:600px){
    .sf-bar{height:32px;padding:0 10px}
    .sf-dots i{width:8px;height:8px}
    .sf-dots{gap:5px}
    .sf-url{height:20px;font-size:10.5px;padding:0 16px}
        .giant{font-size:clamp(56px,17vw,96px)}
    .v-char{height:200px}
  }

/* ---- block 2: 통합 사이트(헤더·홈·앱·리포트·문의 등) ---- */
  /* 통합 사이트 공통: 전역 헤더, 페이지 전환, 브랜드 홈·앱·병원 허브·구조도 */
  :root{--bar-h:56px;--o-sky:#E3EEFB;--o-tone:#F3F5F8;--o-line:#E6EAF0;--o-ink:#0E1014;--o-ink2:#3D434C;--o-mute:#6B717B;--o-blue:#2563EB;--o-blue2:#1A4FD1;--o-navy:#0B1B33}
  .o-review{background:#FEF9C3;color:#713F12;font-size:13px;text-align:center;padding:8px 16px}
  .o-review a{text-decoration:underline;font-weight:700}
  /* 헤더: 바로 아래 면의 색을 따라 바뀜(js/gnb-tone.js가 --gnb-bg와 .is-dark/.is-tint를 정함) */
  .o-bar{position:sticky;top:0;z-index:60;height:var(--bar-h);background:var(--gnb-bg,#fff);transition:background-color 240ms ease,color 240ms ease}
  .o-bar .frame{display:flex;align-items:center;height:var(--bar-h);gap:32px}
  .o-word{font-family:Poppins,sans-serif;font-weight:600;font-size:21px;letter-spacing:-.02em;color:var(--o-ink)}
  .o-word::after{content:"";display:inline-block;width:.26em;height:.26em;margin-left:.08em;border-radius:50%;background:var(--o-blue);vertical-align:baseline}
  .o-nav{display:flex;gap:6px;align-self:stretch;font-size:15px;font-weight:600;color:var(--o-ink2)}
  .o-top{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;transition:background-color 180ms ease,color 180ms ease}
  .o-top[aria-current="page"]{background:var(--o-sky) !important;color:var(--o-blue) !important}
  .o-nav{align-items:center}
  @media (hover:hover) and (pointer:fine){ .o-top:hover{background:var(--o-tone);color:var(--o-ink)} }
  .o-prods{display:none;align-items:center;gap:22px;margin-left:16px;padding-left:22px;box-shadow:-1px 0 0 var(--o-line);height:22px;font-size:15px;font-weight:600;color:var(--o-ink2);white-space:nowrap}
  body[data-view="app"] .o-prods[data-for="app"],
  body:is([data-view="scribe"],[data-view="report"],[data-view="demo"]) .o-prods[data-for="clinic"]{display:flex}
  .o-prods a{transition:color 140ms ease}
  @media (hover:hover) and (pointer:fine){ .o-prods a:hover{color:var(--o-ink)} }
  .o-prods a[aria-current="page"]{color:var(--o-blue)}
  .o-prods .is-soon{color:#A3AAB5}
  #products{scroll-margin-top:96px}
  .o-cta{margin-left:auto;height:38px;padding:0 18px;font-size:14.5px}
  .o-word,.o-nav,.o-prods,.o-prods a,.o-prods .is-soon{transition:color 240ms ease}
  .o-bar.is-tint .o-top[aria-current="page"]{background:#fff !important}
  .o-bar.is-dark{color:#fff}
  .o-bar.is-dark .o-word{color:#fff}
  .o-bar.is-dark .o-nav{color:rgba(255,255,255,.72)}
  .o-bar.is-dark .o-top[aria-current="page"]{background:rgba(255,255,255,.14) !important;color:#fff !important}
  .o-bar.is-dark .o-prods{color:rgba(255,255,255,.72);box-shadow:-1px 0 0 rgba(255,255,255,.18)}
  .o-bar.is-dark .o-prods a[aria-current="page"]{color:#fff}
  .o-bar.is-dark .o-prods .is-soon{color:rgba(255,255,255,.36)}
  .o-bar.is-dark .o-cta{background:#fff;color:var(--o-blue)}
  .o-bar.is-dark .o-cta.is-app{color:var(--o-ink)}
  @media (hover:hover) and (pointer:fine){ .o-bar.is-dark .o-top:hover{background:rgba(255,255,255,.1);color:#fff} .o-bar.is-dark .o-prods a:hover{color:#fff} }
  .o-cta.is-app{background:var(--o-ink)}
  [data-page]{display:none}
  [data-page].is-on{display:block}
  /* 시안 안에서는 스크라이브 자체 헤더·배너 대신 전역 헤더를 씀 */
  [data-page="scribe"] > .review,[data-page="scribe"] > header.bar{display:none}

  .o-page{color:var(--o-ink)}
  .o-page h1,.o-page h2,.o-page h3{text-wrap:balance}
  .o-sec{padding-block:clamp(88px,10vw,160px)}
  .o-h2{font-size:clamp(30px,3.8vw,54px);font-weight:800;letter-spacing:-.045em;line-height:1.12}
  .o-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:var(--o-ink2);max-width:34em}
  .o-kicker{font-size:15px;font-weight:700;color:var(--o-blue)}

  /* 브랜드 홈 */
  .h-hero{padding-block:clamp(56px,7vw,112px) clamp(40px,5vw,72px)}
  .h-hero h1{font-size:clamp(42px,7vw,108px);font-weight:800;letter-spacing:-.055em;line-height:1.02}
  .h-hero .o-lead{margin-top:28px}
  .doors{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .door{position:relative;display:flex;flex-direction:column;border-radius:32px;overflow:hidden;padding:clamp(28px,3.4vw,52px);--fig:clamp(300px,32vw,480px)}
  .door.d-app{background:var(--o-sky);color:var(--o-navy)}
  .door.d-clin{background:var(--o-blue);color:#fff}
  .door .who{font-size:15px;font-weight:700;opacity:.8}
  .door h2{margin-top:10px;font-size:clamp(28px,3vw,44px);font-weight:800;letter-spacing:-.04em;line-height:1.15}
  .door p{margin-top:14px;font-size:17px;line-height:1.6;max-width:27em;text-wrap:pretty;opacity:.85}
  .go-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
  .door .go{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;font-weight:700;font-size:15px;transition:transform 140ms var(--ease-out),opacity 180ms ease}
  .door .go:active{transform:scale(.97)}
  .door.d-app .go{background:var(--o-ink);color:#fff}
  .door.d-clin .go{background:#fff;color:var(--o-blue)}
  .door .go span{transition:transform 180ms ease}
  .door .go:hover span{transform:translateX(4px)}
  .door figure{position:relative;height:var(--fig);margin:clamp(32px,4vw,56px) 0 calc(clamp(28px,3.4vw,52px) * -1);margin-top:auto;padding-top:0}
  .door .go-row{margin-bottom:clamp(32px,4vw,56px)}
  .door.d-app figure img{position:absolute;left:50%;top:0;transform:translateX(-50%);height:calc(var(--fig) * 1.3);width:auto;max-width:none}
  .door.d-clin figure img{position:absolute;left:0;top:0;width:calc(var(--fig) * 1.62);max-width:none;height:auto}
  .family{margin-top:clamp(40px,5vw,64px)}
  .fam-row{display:grid;grid-template-columns:220px 140px 1fr auto;gap:24px;align-items:center;padding:26px 0;box-shadow:0 -1px 0 var(--o-line)}
  .fam-row:last-child{box-shadow:0 -1px 0 var(--o-line),0 1px 0 var(--o-line)}
  .fam-row b{font-size:clamp(20px,1.8vw,26px);letter-spacing:-.03em}
  .fam-row .aud{font-size:14px;font-weight:700;color:var(--o-mute)}
  .fam-row .aud.b2b{color:var(--o-blue)}
  .fam-row p{color:var(--o-ink2);line-height:1.6}
  .fam-row a{font-weight:700;color:var(--o-blue);white-space:nowrap}
  .fam-row a.soon{color:var(--o-mute);font-weight:600}
  .h-mission{background:var(--o-navy);color:#fff}
  .h-mission .grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,96px);align-items:start}
  .h-mission .o-lead{color:#C9D8EE}
  .h-mission ol{list-style:none;display:grid;gap:0}
  .h-mission li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:22px 0;box-shadow:0 -1px 0 rgba(255,255,255,.14)}
  .h-mission li b{font-size:15px;color:#9DBBFF;font-variant-numeric:tabular-nums}
  .h-mission li span{font-size:18px;line-height:1.55}

  /* 앱 페이지 */
  .a-hero{background:var(--o-sky);color:var(--o-navy);padding-top:clamp(48px,6vw,96px);overflow:clip}
  .a-hero .grid{display:grid;grid-template-columns:6fr 5fr;gap:clamp(32px,5vw,80px);align-items:end}
  .a-hero h1{font-size:clamp(40px,5.6vw,84px);font-weight:800;letter-spacing:-.05em;line-height:1.06}
  .a-hero .o-lead{margin-top:24px;color:#2B4A6F}
  .stores{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px;padding-bottom:clamp(48px,6vw,96px)}
  .store{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 22px;border-radius:14px;background:var(--o-ink);color:#fff;font-weight:700;font-size:15px}
  .store small{display:block;font-size:11px;font-weight:500;opacity:.7}
  .a-hero figure{margin:0;align-self:end}
  .a-hero figure img{width:100%;height:auto;display:block}
  .steps2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:clamp(40px,5vw,64px)}
  .step2{background:var(--o-tone);border-radius:28px;padding:clamp(24px,3vw,40px) clamp(24px,3vw,40px) 0;display:flex;flex-direction:column;overflow:hidden}
  .step2 h3{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.035em}
  .step2 p{margin-top:10px;color:var(--o-ink2);line-height:1.65;max-width:28em}
  .step2 img{margin-top:auto;padding-top:28px;width:min(100%,420px);align-self:center;height:auto}
  .scope{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:clamp(40px,5vw,64px)}
  .scope h3{font-size:19px;letter-spacing:-.02em}
  .scope ul{list-style:none;margin-top:14px}
  .scope li{padding:14px 0;box-shadow:0 -1px 0 var(--o-line);font-size:17px}
  .scope .no h3{color:var(--o-mute)}
  .scope .no li{color:var(--o-ink2)}
  .scope .s-note{margin-top:14px;font-size:14px;color:var(--o-mute)}
  .three{background:var(--o-navy);color:#fff;border-radius:32px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(28px,4vw,64px);overflow:hidden}
  .three .o-lead{color:#C9D8EE;margin-top:16px}
  .three a{display:inline-flex;margin-top:24px;height:48px;align-items:center;padding:0 22px;border-radius:999px;background:#fff;color:var(--o-navy);font-weight:700}
  .three img{width:100%;height:auto;border-radius:20px}
  .reviews{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:clamp(32px,4vw,56px)}
  .reviews li{background:var(--o-tone);border-radius:24px;padding:28px}
  .reviews blockquote{font-size:17px;line-height:1.7}
  .reviews cite{display:block;margin-top:16px;font-style:normal;font-size:14px;color:var(--o-mute)}
  .disclaim{margin-top:24px;font-size:14px;color:var(--o-mute)}
  .bridge{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--o-sky);border-radius:28px;padding:clamp(24px,3vw,40px)}
  .bridge b{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;color:var(--o-navy)}
  .bridge p{margin-top:6px;color:#2B4A6F}
  .bridge a{height:48px;display:inline-flex;align-items:center;padding:0 22px;border-radius:999px;background:var(--o-blue);color:#fff;font-weight:700}

  /* 병원 허브 */
  .c-hero{background:var(--o-blue);color:#fff;padding-block:clamp(56px,7vw,112px) 0;overflow:clip}
  .c-hero h1{font-size:clamp(40px,6.4vw,96px);font-weight:800;letter-spacing:-.05em;line-height:1.04}
  .c-hero .o-lead{margin-top:24px;color:#DCE6FF}
  .c-hero .c-acts{display:flex;gap:22px;align-items:center;margin-top:32px;flex-wrap:wrap}
  .c-hero figure{margin:clamp(40px,5vw,64px) auto 0;width:min(100%,1080px)}
  .c-hero figure img{width:100%;height:auto;display:block;margin-bottom:-1px}
  .prods{margin-top:clamp(40px,5vw,64px);display:grid;gap:12px}
  .prod{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,4vw,64px);align-items:center;border-radius:32px;padding:clamp(28px,3.4vw,52px);background:var(--o-tone)}
  .prod.main{background:var(--o-navy);color:#fff}
  .prod .tag{font-size:14px;font-weight:700;color:var(--o-blue)}
  .prod.main .tag{color:#9DBBFF}
  .prod h3{margin-top:8px;font-size:clamp(28px,3vw,44px);font-weight:800;letter-spacing:-.04em;line-height:1.12}
  .prod p{margin-top:14px;line-height:1.65;color:var(--o-ink2);max-width:30em}
  .prod.main p{color:#C9D8EE}
  .prod ul{list-style:none;margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
  .prod li{font-size:14px;font-weight:600;padding:7px 12px;border-radius:999px;background:#fff;color:var(--o-ink2)}
  .prod.main li{background:rgba(255,255,255,.1);color:#fff}
  .prod .more{display:inline-flex;margin-top:24px;height:46px;align-items:center;padding:0 20px;border-radius:999px;font-weight:700;background:var(--o-blue);color:#fff}
  .prod .more.soon{background:transparent;color:var(--o-mute);padding:0;height:auto}
  .prod img{width:100%;height:auto;border-radius:18px}
  .prod .ph{aspect-ratio:16/10;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--o-mute);font-size:14px;font-weight:600;text-align:center;padding:16px}
  .proof2{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,72px);align-items:end}
  .proof2 .p-num{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(96px,14vw,220px);letter-spacing:-.06em;line-height:.82;color:var(--o-blue)}
  .proof2 .p-num small{font-size:.4em}
  .proof2 p{color:var(--o-ink2);line-height:1.65;max-width:26em}
  .proof2 b{display:block;font-size:clamp(19px,1.6vw,23px);letter-spacing:-.03em;color:var(--o-ink);margin-bottom:8px}
  .c-logos{list-style:none;display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;margin-top:clamp(40px,5vw,64px)}
  .c-logos img{height:32px;width:auto}
  .c-close{background:var(--o-blue);color:#fff;border-radius:32px;padding:clamp(32px,4vw,64px);display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}
  .c-close p{margin-top:14px;color:#DCE6FF;max-width:30em;line-height:1.6}
  .c-close a{height:52px;display:inline-flex;align-items:center;padding:0 26px;border-radius:999px;background:#fff;color:var(--o-blue);font-weight:700}

  /* 구조도 */
  .m-tree{margin-top:clamp(32px,4vw,56px);background:var(--o-tone);border-radius:28px;padding:clamp(24px,3vw,44px);overflow-x:auto}
  .m-tree ul{list-style:none;padding-left:28px;position:relative}
  .m-tree > ul{padding-left:0}
  .m-tree li{position:relative;padding:8px 0}
  .m-tree ul ul li::before{content:"";position:absolute;left:-18px;top:0;bottom:50%;width:12px;box-shadow:-1.5px 1.5px 0 0 #B9C3D3;border-bottom-left-radius:6px}
  .m-node{display:inline-flex;align-items:baseline;gap:12px;flex-wrap:wrap}
  .m-node code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:600;color:var(--o-blue);background:#fff;padding:3px 9px;border-radius:8px}
  .m-node b{font-size:16px}
  .m-node span{font-size:14px;color:var(--o-mute)}
  .m-node a{font-size:13px;font-weight:700;color:var(--o-blue)}
  .m-node .soon{font-size:12.5px;font-weight:700;color:var(--o-mute);background:#fff;padding:2px 8px;border-radius:999px}
  .m-table{margin-top:clamp(32px,4vw,56px);overflow-x:auto}
  .m-table table{width:100%;min-width:640px;border-collapse:collapse;font-size:15px}
  .m-table th,.m-table td{text-align:left;padding:14px 16px;box-shadow:0 -1px 0 var(--o-line)}
  .m-table th{font-size:13px;color:var(--o-mute)}
  .m-table code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}
  .m-notes{margin-top:clamp(32px,4vw,56px);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .m-notes div{background:var(--o-tone);border-radius:24px;padding:24px}
  .m-notes b{display:block;font-size:17px;letter-spacing:-.02em}
  .m-notes p{margin-top:8px;color:var(--o-ink2);line-height:1.6;font-size:15px}

  /* 공통 푸터 */
  /* 도입 문의 */
  body[data-view="demo"] .o-cta{visibility:hidden}
  .q-wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,112px);align-items:start;padding-block:clamp(56px,7vw,112px) clamp(88px,10vw,160px)}
  .q-left{position:sticky;top:116px}
  .q-left h1{font-size:clamp(36px,4.6vw,64px);font-weight:800;letter-spacing:-.05em;line-height:1.08}
  .q-left h1 em{font-style:normal;color:var(--o-blue)}
  .q-left .o-lead{margin-top:20px}
  .q-flow{margin-top:clamp(36px,4vw,56px);display:grid;gap:0;list-style:none;padding:0}
  .q-flow li{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:18px 0;box-shadow:0 -1px 0 var(--o-line)}
  .q-flow li:first-child{box-shadow:none;padding-top:0}
  .q-flow b{font-size:17px;font-weight:700;color:var(--o-ink)}
  .q-flow span{grid-column:2;font-size:15px;color:var(--o-mute);line-height:1.55}
  .q-flow i{grid-row:1 / 3;width:10px;height:10px;margin-top:7px;border-radius:50%;background:var(--o-line)}
  .q-flow li:first-child i{background:var(--o-blue)}
  .q-direct{margin-top:clamp(28px,3vw,40px);padding:22px 24px;border-radius:20px;background:var(--o-tone);font-size:15px;color:var(--o-ink2);line-height:1.7}
  .q-direct b{display:block;font-size:13px;color:var(--o-mute);font-weight:700;margin-bottom:4px}
  .q-direct .sel{user-select:all;font-weight:700;color:var(--o-ink)}
  .q-direct a{font-weight:700;color:var(--o-blue)}

  .q-card{background:#fff;border:1px solid var(--o-line);border-radius:32px;padding:clamp(24px,3.4vw,48px)}
  .q-form{display:grid;gap:28px}
  .q-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .q-field{display:grid;gap:8px;min-width:0}
  .q-field > label,.q-field > .q-label{font-size:15px;font-weight:700;color:var(--o-ink)}
  .q-field .req{color:var(--o-blue);margin-left:2px}
  .q-field .opt{font-weight:500;color:var(--o-mute);font-size:13px;margin-left:4px}
  .q-field input[type=text],.q-field input[type=tel],.q-field input[type=email],.q-field select,.q-field textarea{
    width:100%;font:inherit;font-size:16px;color:var(--o-ink);background:var(--o-tone);border:1.5px solid transparent;border-radius:14px;padding:14px 16px;outline:none;transition:border-color 160ms ease,background-color 160ms ease}
  .q-field textarea{min-height:128px;resize:vertical;line-height:1.6}
  .q-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--o-mute) 50%),linear-gradient(135deg,var(--o-mute) 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
  .q-field input:focus,.q-field select:focus,.q-field textarea:focus{border-color:var(--o-blue);background-color:#fff}
  .q-field.is-bad input{border-color:#E5484D;background-color:#fff}
  .q-field .q-err{display:none;font-size:13px;color:#C93A3F;font-weight:600}
  .q-field.is-bad .q-err{display:block}
  .q-hint{font-size:13px;color:var(--o-mute)}
  .q-ac{position:relative}
  .q-ac-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--o-line);border-radius:16px;box-shadow:0 18px 40px rgba(14,16,20,.12);max-height:360px;overflow:auto}
  .q-ac-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:10px;cursor:pointer;font-size:15px}
  .q-ac-list li b{font-weight:700;color:var(--o-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .q-ac-list li b mark{background:none;color:var(--o-blue)}
  .q-ac-list li small{flex:none;font-size:13px;color:var(--o-mute)}
  .q-ac-list li[aria-selected="true"]{background:var(--o-tone)}
  .q-ac-list li.q-ac-self{justify-content:flex-start;color:var(--o-blue);font-weight:700;box-shadow:0 -1px 0 var(--o-line);border-radius:0 0 10px 10px;margin-top:4px}
  .q-ac-list li.q-ac-empty{cursor:default;color:var(--o-mute)}
  .q-ac-meta{font-size:13.5px;color:var(--o-ink2)}
  .q-ac-meta b{color:var(--o-blue);font-weight:700}
  .q-ac-meta button{margin-left:8px;border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--o-mute);text-decoration:underline;cursor:pointer}
  .q-chips{display:flex;flex-wrap:wrap;gap:8px}
  .q-chips label{position:relative}
  .q-chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
  .q-chips span{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;background:var(--o-tone);font-size:15px;font-weight:600;color:var(--o-ink2);transition:background-color 160ms ease,color 160ms ease,transform 120ms var(--ease-out)}
  .q-chips input:checked + span{background:var(--o-blue);color:#fff}
  .q-chips span{gap:10px;padding:0 18px 0 14px}
  .q-chips span::before{content:"";flex:none;width:18px;height:18px;border-radius:6px;background:#fff center/14px no-repeat;box-shadow:inset 0 0 0 1.5px #B9C0CB;transition:box-shadow 160ms ease}
  .q-chips input:checked + span::before{box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%232563EB' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
  .q-chips input:focus-visible + span{outline:2px solid var(--o-blue);outline-offset:2px}
  .q-chips label:active span{transform:scale(.97)}
  .q-consent{display:grid;gap:10px;padding:18px 20px;border-radius:16px;background:var(--o-tone)}
  .q-consent label{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:600;color:var(--o-ink)}
  .q-consent input{width:20px;height:20px;accent-color:var(--o-blue)}
  .q-consent details{font-size:13.5px;color:var(--o-mute);line-height:1.65}
  .q-consent summary{cursor:pointer;font-weight:600}
  .q-consent.is-bad{box-shadow:inset 0 0 0 1.5px #E5484D}
  .q-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .q-submit button{height:56px;padding:0 32px;border:0;border-radius:999px;background:var(--o-blue);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:transform 120ms var(--ease-out),background-color 160ms ease}
  .q-submit button:hover{background:var(--o-blue2)}
  .q-submit button:active{transform:scale(.97)}
  .q-submit p{font-size:13.5px;color:var(--o-mute)}
  .q-done{display:none;text-align:center;padding-block:clamp(24px,4vw,56px)}
  .q-done img{width:min(220px,50%);height:auto;margin:0 auto}
  .q-done h2{margin-top:24px;font-size:clamp(26px,2.6vw,36px);font-weight:800;letter-spacing:-.04em}
  .q-done p{margin-top:12px;font-size:17px;line-height:1.6;color:var(--o-ink2)}
  .q-done .q-note{margin-top:20px;font-size:13px;color:var(--o-mute)}
  .q-done a{display:inline-flex;margin-top:28px;font-weight:700;color:var(--o-blue)}
  .q-card.is-sent .q-form{display:none}
  .q-card.is-sent .q-done{display:block;animation:rise 600ms var(--ease-expo) both}
  @media (max-width:960px){
    .q-wrap{grid-template-columns:1fr;gap:0}
    .q-left{display:contents}
    .q-left h1{order:1}.q-left .o-lead{order:2}
    .q-card{order:3;margin-top:32px}
    .q-flow{order:4;margin-top:56px}
    .q-direct{order:5}
  }
  @media (max-width:600px){ .q-row{grid-template-columns:1fr} .q-card{border-radius:24px} }
  /* 온톨 리포트 */
  .rp h1,.rp h2{text-wrap:balance}
  .rp-hero{padding-block:clamp(48px,6vw,96px) 0;background:linear-gradient(var(--o-white,#fff) 62%,var(--o-sky) 62%)}
  .rp-hero .top{display:grid;grid-template-columns:8fr 4fr;gap:clamp(32px,5vw,80px);align-items:end}
  .rp-hero h1{font-size:clamp(30px,4.4vw,72px);text-wrap:nowrap;font-weight:800;letter-spacing:-.05em;line-height:1.04}
  .rp-hero h1 em,.rp h2 em{font-style:normal;color:var(--o-blue)}
  .rp-hero .side p{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--o-ink2)}
  .rp-acts{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap}
  .rp-acts .button{background:var(--o-blue);color:#fff}
  .rp-acts .link{color:var(--o-ink)}
  .rp-phones{display:flex;justify-content:center;align-items:flex-end;gap:clamp(12px,2.4vw,36px);margin-top:clamp(48px,6vw,88px);padding-bottom:clamp(56px,7vw,112px)}
  .rp-phone{flex:none;width:clamp(150px,19vw,280px);aspect-ratio:9/19.5;border-radius:clamp(22px,2.6vw,40px);background:#fff;overflow:hidden;box-shadow:0 0 0 1px rgba(14,16,20,.06),0 30px 60px -20px rgba(11,27,51,.28)}
  .rp-phone img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
  .rp-phone.mid{width:clamp(180px,23vw,330px);transform:translateY(-24px)}
  .rp-cap{text-align:center;font-size:13px;color:var(--o-mute);margin-top:-28px;padding-bottom:clamp(40px,5vw,72px)}

  .rp-sec{padding-block:clamp(88px,10vw,160px)}
  .rp h2{font-size:clamp(30px,3.6vw,52px);font-weight:800;letter-spacing:-.045em;line-height:1.14}
  .rp .lead2{margin-top:20px;font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:var(--o-ink2);max-width:32em}

  .rp-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,112px);align-items:start}
  .rp-split .copy{position:sticky;top:116px}
  .rp-end .giant{font-size:calc((min(100vw,var(--max)) - 2 * var(--margin)) / 5.8);padding-bottom:.2em;margin-bottom:-.12em}
  @media (max-width:960px){ .rp-end .giant{font-size:calc((100vw - 2 * var(--margin)) / 5.8)} }
  .rp-split h2{font-size:clamp(28px,2.9vw,44px)}
  .rp-list{list-style:none;margin:0;padding:0}
  .rp-list li{padding:clamp(22px,2.6vw,32px) 0;box-shadow:0 -1px 0 var(--o-line)}
  .rp-list li:first-child{box-shadow:none;padding-top:0}
  .rp-list b{display:block;font-size:clamp(21px,2vw,28px);font-weight:800;letter-spacing:-.035em;line-height:1.3}
  .rp-list span{display:block;margin-top:8px;font-size:clamp(16px,1.25vw,18px);line-height:1.6;color:var(--o-ink2);max-width:34em}

  .rp-lang{background:var(--o-navy);color:#fff}
  .rp-lang .rp-lang-subtitle{margin:28px 0 0;font-size:clamp(20px,1.8vw,26px);font-weight:700;line-height:1.35;letter-spacing:-.035em}
  .rp-lang .lead2{margin-top:14px;color:#C9D8EE}
  .rp-lang .grid{display:grid;grid-template-columns:6fr 6fr;gap:clamp(40px,6vw,96px);align-items:center}
  .rp-langs{display:flex;flex-wrap:wrap;gap:10px}
  .rp-langs button{display:inline-flex;align-items:center;height:clamp(48px,4.4vw,64px);padding:0 clamp(18px,2vw,28px);border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:clamp(17px,1.6vw,22px);font-weight:700;cursor:pointer;transition:background-color 200ms ease,color 200ms ease,transform 120ms var(--ease-out)}
  .rp-langs button:hover{background:rgba(255,255,255,.16)}
  .rp-langs button:active{transform:scale(.97)}
  .rp-langs button[aria-pressed="true"]{background:#fff;color:var(--o-navy)}
  .rp-langs button:focus-visible{outline:2px solid #fff;outline-offset:3px}
  .rp-lt,.rp-lang [data-t="n"]{transition:opacity 220ms ease,transform 320ms var(--ease-out)}
  .rp-lt.is-out,.rp-lang [data-t="n"].is-out{opacity:0;transform:translateY(6px)}
  .rp-lt[lang="vi"] h2,.rp-lt[lang="ru"] h2,.rp-lt[lang="mn"] h2,.rp-lt[lang="en"] h2{font-size:clamp(26px,3vw,44px)}
  .rp-lang .s-note2{margin-top:24px;font-size:14px;color:#9FB3D1;line-height:1.6}

  .rp-num{background:var(--o-sky)}
  .rp-num .grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,96px);align-items:end}
  .rp-big{font-family:Pretendard,system-ui,sans-serif;font-size:clamp(64px,9vw,140px);font-weight:800;letter-spacing:-.05em;line-height:.95;color:var(--o-navy)}
  .rp-big small{font-size:.38em;letter-spacing:-.03em;margin-left:6px}
  .rp-break{margin-top:24px;display:grid;gap:10px;font-size:17px;color:var(--o-ink2)}
  .rp-break div{display:flex;justify-content:space-between;max-width:420px;padding-bottom:10px;box-shadow:0 1px 0 rgba(11,27,51,.12)}
  .rp-break b{color:var(--o-navy)}
  .rp-num .proto{margin-top:20px;font-size:13px;color:var(--o-mute)}

  .rp-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);margin-top:clamp(40px,5vw,64px)}
  .rp-flow > div{border-radius:24px;padding:clamp(24px,2.6vw,36px);background:var(--o-tone)}
  .rp-flow > div.on{background:var(--o-blue);color:#fff}
  .rp-flow b{display:block;font-size:clamp(20px,1.8vw,24px);font-weight:800;letter-spacing:-.03em}
  .rp-flow span{display:block;margin-top:10px;font-size:16px;line-height:1.6;color:var(--o-ink2)}
  .rp-flow > div.on span{color:#DCE6FF}
  .rp-flow small{display:block;font-size:13px;font-weight:700;color:var(--o-mute);margin-bottom:14px}
  .rp-flow > div.on small{color:#BFD3FF}
  .rp-solo{margin-top:20px;font-size:16px;color:var(--o-ink2)}
  .rp-solo b{color:var(--o-ink)}


  @media (max-width:960px){
    .rp-hero .top,.rp-split,.rp-lang .grid,.rp-num .grid{grid-template-columns:1fr}
    .rp-split .copy{position:static}
    .rp-flow{grid-template-columns:1fr}
    .rp-hero{background:linear-gradient(var(--o-white,#fff) 55%,var(--o-sky) 55%)}
  }
  @media (max-width:600px){
    .rp-phones{gap:10px}
    .rp-phone{width:27vw}.rp-phone.mid{width:33vw;transform:translateY(-14px)}
    .rp-hero h1{font-size:clamp(28px,7.6vw,40px);text-wrap:balance}
  }
  /* 리포트: 온톨이 AI 상담 */
  .rp-chat{background:#fff}
  .rp-feat{background:var(--o-tone)}
  .rp-chat .grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,6vw,104px);align-items:center}
  .rp-chat .pts{list-style:none;margin:clamp(28px,3vw,40px) 0 0;padding:0;display:grid;gap:0}
  .rp-chat .pts li{padding:16px 0;box-shadow:0 -1px 0 rgba(11,27,51,.1);font-size:16px;line-height:1.55;color:var(--o-ink2)}
  .rp-chat .pts li:first-child{box-shadow:none}
  .rp-chat .pts b{display:block;font-size:18px;color:var(--o-navy);margin-bottom:2px}
  .rp-stage{display:flex;flex-direction:column;align-items:center;gap:22px}
  .rp-dev{width:min(100%,360px);height:min(680px,74svh);min-height:540px;border-radius:46px;background:#0E1014;padding:10px;box-shadow:0 40px 80px -30px rgba(11,27,51,.45)}
  .rp-scr{height:100%;border-radius:36px;background:#F6F8FB;overflow:hidden;display:flex;flex-direction:column}
  .rp-top{display:flex;align-items:center;gap:10px;padding:18px 18px 12px;background:#fff;box-shadow:0 1px 0 var(--o-line)}
  .rp-top img{width:34px;height:34px;border-radius:11px}
  .rp-top b{font-size:15px;color:var(--o-ink)}
  .rp-top span{display:block;font-size:11.5px;color:var(--o-mute);font-weight:500}
  .rp-ctx{margin:12px 14px 0;padding:10px 12px;border-radius:14px;background:#fff;font-size:12.5px;color:var(--o-ink2);display:flex;justify-content:space-between;gap:8px;box-shadow:inset 0 0 0 1px var(--o-line)}
  .rp-ctx b{color:var(--o-ink)}
  .rp-ctx em{font-style:normal;font-weight:700;color:#D9480F}
  .rp-log{flex:1;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:14px}
  .rp-msg{max-width:86%;padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.55;word-break:keep-all;transform-origin:bottom right;animation:rp-pop 420ms var(--ease-out) both}
  .rp-msg.me{align-self:flex-end;background:var(--o-blue);color:#fff;border-bottom-right-radius:6px}
  .rp-msg.bot{align-self:flex-start;background:#fff;color:var(--o-ink);border-bottom-left-radius:6px;box-shadow:inset 0 0 0 1px var(--o-line);transform-origin:bottom left}
  .rp-msg.bot .who{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--o-blue);margin-bottom:4px}
  .rp-msg.bot .who img{width:18px;height:18px;border-radius:6px}
  .rp-dots{display:inline-flex;gap:4px;padding:4px 0}
  .rp-dots i{width:6px;height:6px;border-radius:50%;background:#AEB6C2;animation:rp-dot 1s infinite ease-in-out}
  .rp-dots i:nth-child(2){animation-delay:.15s}.rp-dots i:nth-child(3){animation-delay:.3s}
  .rp-act{display:inline-flex;align-items:center;gap:6px;margin-top:10px;height:36px;padding:0 14px;border-radius:999px;background:var(--o-sky);color:var(--o-blue);font-size:13px;font-weight:700;animation:rp-pop 420ms var(--ease-out) both}
  .rp-bars{display:grid;gap:6px;margin-top:10px;animation:rp-pop 420ms var(--ease-out) both}
  .rp-bars div{display:grid;grid-template-columns:36px 1fr 52px;align-items:center;gap:8px;font-size:12px;color:var(--o-mute)}
  .rp-bars i{display:block;height:10px;border-radius:999px;background:#C9D6EA;width:0;transition:width 900ms var(--ease-expo)}
  .rp-bars div:last-child i{background:#F08C00}
  .rp-bars b{font-size:12px;color:var(--o-ink)}
  .rp-in{display:flex;align-items:center;gap:8px;margin:0 12px 14px;padding:8px 8px 8px 16px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--o-line);font-size:13px;color:#9AA2AE}
  .rp-in span{flex:1}
  .rp-in i{width:30px;height:30px;border-radius:50%;background:var(--o-blue);display:grid;place-items:center}
  .rp-in i::before{content:"";width:8px;height:8px;border-top:2px solid #fff;border-right:2px solid #fff;transform:translate(-1px,1px) rotate(-45deg)}
  .rp-qs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:520px}
  .rp-qs button{height:42px;padding:0 16px;border:0;border-radius:999px;background:var(--o-tone);color:var(--o-navy);font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(11,27,51,.1);transition:background-color 160ms ease,color 160ms ease,transform 120ms var(--ease-out)}
  .rp-qs button:hover{background:var(--o-sky)}
  .rp-qs button:active{transform:scale(.97)}
  .rp-qs button[aria-pressed="true"]{background:var(--o-navy);color:#fff;box-shadow:none}
  .rp-qs-cap{font-size:13px;color:var(--o-mute)}
  @keyframes rp-pop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
  @keyframes rp-dot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
  /* 첫 화면 휴대폰 등장 */
  @keyframes rp-rise{from{opacity:0;transform:translateY(56px)}}
  @media (prefers-reduced-motion:no-preference){
    [data-page="report"].is-on .rp-phone{animation:rp-rise 1000ms var(--ease-expo) both}
    [data-page="report"].is-on .rp-phone:nth-child(1){animation-delay:260ms}
    [data-page="report"].is-on .rp-phone.mid{animation-name:rp-rise-mid;animation-delay:120ms}
    [data-page="report"].is-on .rp-phone:nth-child(3){animation-delay:380ms}
  }
  @keyframes rp-rise-mid{from{opacity:0;transform:translateY(32px)}to{transform:translateY(-24px)}}
  @media (prefers-reduced-motion:reduce){ .rp-msg,.rp-act,.rp-bars{animation:none} .rp-dots i{animation:none} }
  @media (max-width:960px){ .rp-chat .grid{grid-template-columns:1fr} .rp-dev{height:600px;min-height:0} }
  @media (max-width:600px){ @keyframes rp-rise-mid{from{opacity:0;transform:translateY(32px)}to{transform:translateY(-14px)}} }
  .p-id{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:clamp(18px,2vw,28px);font-family:Poppins,Pretendard,sans-serif;font-size:clamp(20px,1.8vw,26px);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--o-ink,#0E1014);text-wrap:nowrap}
  .p-id small{font-family:Pretendard,system-ui,sans-serif;font-size:clamp(14px,1.1vw,16px);font-weight:600;letter-spacing:0;color:var(--o-mute,#6B717B)}
  .p-id small::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--o-blue,#2563EB);vertical-align:middle;margin:0 12px 0 0;position:relative;top:-2px}
  .o-foot{background:var(--o-tone);padding-block:56px 40px;font-size:14px;color:var(--o-ink2)}
  .o-foot .top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
  .o-foot h4{font-size:13px;color:var(--o-mute);margin-bottom:12px}
  .o-foot ul{list-style:none;display:grid;gap:9px}
  .o-foot address{font-style:normal;margin-top:12px;line-height:1.8;color:var(--o-mute)}
  .o-foot .bot{margin-top:40px;padding-top:20px;box-shadow:0 -1px 0 var(--o-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--o-mute);font-size:13px}

  @media (max-width:960px){
    .o-nav{display:none !important}
    .doors,.a-hero .grid,.steps2,.scope,.three,.prod,.h-mission .grid,.proof2,.m-notes{grid-template-columns:1fr}
    .reviews{grid-template-columns:1fr}
    .door{--fig:300px}
    .fam-row{grid-template-columns:1fr auto;gap:6px 16px}
    .fam-row .aud{grid-column:1}
    .fam-row p{grid-column:1 / -1}
    .fam-row a{grid-row:1;grid-column:2}
    .o-foot .top{grid-template-columns:1fr 1fr}
    .o-mnav{display:flex !important}
  }
  .o-mnav{display:none;gap:4px;overflow-x:auto;padding:8px 0 10px;font-size:14px;font-weight:600;background:var(--gnb-bg,#fff);transition:background-color 240ms ease;position:sticky;top:var(--bar-h);z-index:59}
  .o-mnav a{padding:7px 12px;border-radius:999px;white-space:nowrap;color:var(--o-ink2)}
  .o-mnav a[aria-current="page"]{background:var(--o-sky);color:var(--o-blue)}
  .o-mnav.is-tint a[aria-current="page"]{background:#fff}
  .o-mnav.is-dark a{color:rgba(255,255,255,.72)}
  .o-mnav.is-dark a[aria-current="page"]{background:rgba(255,255,255,.14);color:#fff}
