/* Solutions — 고객 수정안(10/23 SOLUTION 12쪽 + 10/25 종합 6~8·12쪽) 반영본. 하단 CTA는 메인 .ow-cta(main.css)를 그대로 쓴다 */
/* 폴백 템플릿 섹션의 여백·최대 폭을 풀어 전체 폭으로 */
html .bde-section:has(.os){padding:0}
html .bde-section:has(.os)>.section-container{max-width:none;padding:0}
.os{width:100%;font-family:var(--bde-body-font-family);color:var(--organo-ink)}
.os p{margin:0}
.os-in{max-width:var(--bde-section-width);margin:0 auto;padding:0 var(--bde-section-horizontal-padding)}
.os-sec{padding:var(--bde-section-vertical-padding) 0;scroll-margin-top:calc(var(--organo-header-h) + 56px)}
.os h2{font-family:var(--bde-heading-font-family);font-size:var(--bde-h2-font-size);line-height:1.2;margin:12px 0 16px}
.os h3{font-size:19px;line-height:1.35;margin:0 0 8px}
.os-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.os-chips li{font-size:14px;border:1px solid var(--organo-stroke);border-radius:999px;padding:6px 14px;background:#fff;color:var(--organo-ink-2)}

/* Introduction — 다크 전환 구간 */
.os-intro{background:radial-gradient(1000px 520px at 85% 0%,rgb(25 181 200 / .22),transparent 60%),var(--organo-navy);color:#fff;padding:clamp(72px,10vw,128px) 0 clamp(56px,7vw,88px)}
html .os-intro h1{color:#fff;font-family:var(--bde-heading-font-family);font-size:clamp(36px,5.2vw,64px);line-height:1.1;letter-spacing:-.02em;margin:14px 0 20px;max-width:860px}
.os-intro .organo-eyebrow{color:var(--organo-cyan)}
.os-intro .organo-lead{color:rgb(255 255 255 / .78);max-width:720px}
.os-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}
.os-need{border:1px solid rgb(255 255 255 / .14);background:rgb(255 255 255 / .04);border-radius:var(--organo-radius);padding:24px}
.os-need b{display:block;font-size:13px;letter-spacing:.06em;color:var(--organo-cyan);margin-bottom:10px}
.os-need h3{color:#fff;font-size:20px;margin:0 0 6px}
.os-need p{color:rgb(255 255 255 / .82);font-size:15px;line-height:1.6}
.os-intro .organo-lead strong{display:inline-block;color:#fff;font-size:1.12em;margin-bottom:6px}

/* 앵커 내비 — 헤더 아래에 붙는다 */
.os-nav{position:sticky;top:var(--organo-header-h);z-index:50;background:rgb(255 255 255 / .92);backdrop-filter:blur(16px);border-bottom:1px solid var(--organo-stroke)}
.admin-bar .os-nav{top:calc(var(--organo-header-h) + var(--wp-admin--admin-bar--height,32px))}
.os-nav ol{display:flex;gap:6px;margin:0 auto;padding:10px var(--bde-section-horizontal-padding);max-width:var(--bde-section-width);list-style:none;overflow-x:auto;scrollbar-width:none}
html .os-nav a{display:block;white-space:nowrap;font-size:14px;font-weight:600;color:var(--organo-ink-2);text-decoration:none;padding:8px 14px;border-radius:999px}
html .os-nav a:hover{background:var(--organo-light-bg);color:var(--organo-blue)}
html .os-nav a.is-active{background:var(--organo-navy);color:#fff}

/* Oncology & Immunotherapy — 완성 */
.os-onc-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.os-kicker{font-size:clamp(18px,1.8vw,21px);font-weight:700;line-height:1.4;color:var(--organo-blue);margin:-4px 0 12px!important}
.os-powered{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-size:13px;color:var(--organo-muted)}
.os-powered strong{font-family:var(--bde-heading-font-family);font-size:15px;color:var(--organo-blue);border:1px solid rgb(0 73 153 / .25);border-radius:999px;padding:5px 14px;background:var(--organo-grad-soft)}
.os-visual{position:relative;border-radius:var(--organo-radius-lg);background:linear-gradient(160deg,#fff 40%,var(--organo-light-bg));border:1px solid var(--organo-stroke);padding:28px;box-shadow:var(--organo-shadow-md)}
html .os-visual img{display:block;width:100%;height:auto;border-radius:12px}
.os-visual figcaption{font-size:13px;color:var(--organo-muted);margin-top:10px;text-align:center}
.os-challenge{margin-top:28px;padding:20px 22px;border-left:3px solid var(--organo-cyan);background:var(--organo-light-bg);border-radius:0 var(--organo-radius) var(--organo-radius) 0}
.os-challenge b{display:block;font-size:13px;color:var(--organo-blue);margin-bottom:6px}
.os-challenge p{font-size:15px;color:var(--organo-ink-2);line-height:1.65}
.os-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:64px}
.os-fact{background:#fff;border:1px solid var(--organo-stroke);border-radius:var(--organo-radius);padding:28px}
.os-fact h3{display:flex;align-items:center;gap:10px}
.os-fact h3 small,.os-label small{font:700 12px/1 var(--bde-heading-font-family);letter-spacing:.08em;color:var(--organo-muted)}
/* 「INDICATIONS | 적용 연구 분야」 — 영문 라벨과 국문 제목 사이 구분선(고객 수정안 표기) */
.os-fact h3 small::after,.os-label small::after{content:"";display:inline-block;width:1px;height:12px;margin-left:10px;vertical-align:-1px;background:var(--organo-stroke)}
.os h3.os-label{display:flex;align-items:center;gap:10px}
.os-fact .os-chips{margin-top:16px}
.os-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.os-readout{border-radius:14px;background:var(--organo-light-bg);padding:16px}
.os-readout b{display:block;font-family:var(--bde-heading-font-family);font-size:15px;color:var(--organo-navy)}
.os-readout span{font-size:13px;color:var(--organo-muted)}
.os-evidence{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center;margin-top:20px;background:#fff;border:1px solid var(--organo-stroke);border-radius:var(--organo-radius-lg);padding:32px}
html .os-evidence img{display:block;width:100%;height:auto;border-radius:12px}
.os-evidence p{font-size:15px;color:var(--organo-ink-2);line-height:1.65;margin-top:8px}
.os-pubs{margin-top:16px}
.os-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none;counter-reset:f}
.os-flow li{position:relative;background:#fff;border:1px solid var(--organo-stroke);border-radius:var(--organo-radius);padding:20px 18px;counter-increment:f}
.os-flow li::before{content:"0" counter(f);display:block;font:800 13px/1 var(--bde-heading-font-family);color:var(--organo-cyan);margin-bottom:12px}
.os-flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-12px;width:12px;height:2px;background:var(--organo-grad)}
.os-flow b{display:block;font-size:15px;margin-bottom:6px}
.os-flow span{font-size:13px;color:var(--organo-muted);line-height:1.55}
.os h3.os-sub{margin:64px 0 0;font-size:22px}
.os-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}

/* 카드 — Solution 03·Data & Reporting */
.os-card{background:#fff;border:1px solid var(--organo-stroke);border-radius:var(--organo-radius);padding:24px}
.os-card p{font-size:15px;color:var(--organo-ink-2);line-height:1.6}
.os-card small{display:block;font:700 12px/1 var(--bde-heading-font-family);letter-spacing:.08em;color:var(--organo-cyan);margin-bottom:12px}

/* Solution 03 — 카드 2열 + 이미지(고객 10/23 수정안 7쪽) */
.os-cv{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin-top:36px}
.os-cv__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.os-cv__cards > :last-child:nth-child(odd){grid-column:1/-1}
html .os-cv__img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:var(--organo-radius-lg)}

/* AI 플랫폼 인포그래픽(고객 10/25 종합 7·8쪽) — 5단계가 가운데 원을 시계 방향으로 돈다.
   데스크톱: 위 1 · 오른쪽 2·3 · 왼쪽 5·4, 궤도 svg는 가운데 칸 기준 절대 위치(격자 영역이 기준 상자). 좁은 화면: 원 → 1~5 세로 */
.os-ai{margin-top:88px;text-align:center}
.os .os-ai__title{font-family:var(--bde-heading-font-family);font-size:clamp(24px,2.6vw,32px);margin:12px 0 0}
.os-ai__ring{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);grid-template-areas:"s1 s1 s1" "s5 core s2" "s4 core s3";gap:64px 44px;align-items:center;margin-top:40px;text-align:left}
.os-ai__steps{display:contents;list-style:none}
.os-ai__step{list-style:none}
.os-ai__orbit{position:absolute;grid-area:core;left:50%;top:50%;width:640px;height:640px;transform:translate(-50%,-50%);fill:none;stroke:var(--organo-cyan);stroke-width:2.5;pointer-events:none}
.os-ai__orbit circle{stroke-width:1.5;opacity:.5}
.os-ai__orbit marker path{fill:var(--organo-cyan);stroke:none}
.os-ai__core{grid-area:core;position:relative;z-index:1;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:280px;aspect-ratio:1;border-radius:50%;text-align:center;padding:28px;background:radial-gradient(circle at 50% 30%,#fff 0%,#eef4ff 60%,#dde9fb 100%);border:1px solid rgb(0 73 153 / .14);box-shadow:0 0 0 14px rgb(25 181 200 / .07),0 24px 56px rgb(11 31 68 / .12)}
.os-ai__core b{font:800 15px/1 var(--bde-heading-font-family);letter-spacing:.02em;color:var(--organo-blue)}
.os-ai__core strong{font-size:23px;line-height:1.3;color:var(--organo-navy);padding-bottom:10px;border-bottom:1px solid rgb(0 73 153 / .2)}
.os-ai__core span{font-size:14px;line-height:1.55;color:var(--organo-ink-2)}
.os-ai__step{position:relative;z-index:1;width:min(100%,360px);background:#fff;border:1px solid var(--organo-stroke);border-radius:var(--organo-radius);padding:22px 22px 20px;box-shadow:var(--organo-shadow-md)}
.os-ai__step:nth-child(1){grid-area:s1;justify-self:center}
.os-ai__step:nth-child(2){grid-area:s2;justify-self:start}
.os-ai__step:nth-child(3){grid-area:s3;justify-self:start}
.os-ai__step:nth-child(4){grid-area:s4;justify-self:end}
.os-ai__step:nth-child(5){grid-area:s5;justify-self:end}
.os-ai__ico{position:absolute;top:18px;right:18px;width:40px;height:40px;color:var(--organo-blue)}
.os-ai__ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.os .os-ai__step h4{display:flex;align-items:center;gap:10px;font-size:18px;line-height:1.3;margin:0 52px 6px 0}
.os-ai__step h4 i{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--organo-grad);color:#fff;font:800 15px/1 var(--bde-heading-font-family);font-style:normal}
.os-ai__step > p{font-size:14px;color:var(--organo-blue);font-weight:600}
.os-ai__step ul{margin:12px 0 0;padding:12px 0 0 18px;border-top:1px solid var(--organo-stroke);font-size:14px;line-height:1.6;color:var(--organo-ink-2)}

/* Data & Reporting — 카드 4개(고객 10/23 수정안 8쪽) */
.os-deliver{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px}


@media (max-width:1080px){
  .os-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-flow li::after{display:none}
  .os-deliver{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-ai__ring{grid-template-columns:1fr;grid-template-areas:none;gap:16px;justify-items:center}
  .os-ai__orbit{display:none}
  .os-ai__step:nth-child(n){grid-area:auto;justify-self:center;width:100%;max-width:560px;box-shadow:none}
  .os-ai__core{grid-area:auto;width:min(100%,280px)}
}
@media (max-width:900px){
  .os-needs,.os-onc-top,.os-facts,.os-evidence,.os-cv{grid-template-columns:1fr}
  .os-onc-top{gap:36px}
  .os-evidence{padding:20px;gap:20px}
}
@media (max-width:640px){
  .os-readouts,.os-flow,.os-cv__cards,.os-deliver{grid-template-columns:1fr}
  .os-visual{padding:16px}
}
