.data-page { --dt-accent:#066e75; --dt-dark:#122e35; --dt-body:#59676c; --dt-line:#d3dfe1; }
.data-page :where(h1,h2,h3,h4,p,li,dd,a) { word-break:keep-all; overflow-wrap:anywhere; }
.data-page #main h1 { font-size:clamp(36px,3.8vw,55px); line-height:1.3; letter-spacing:-.035em; }
.data-page #main h2 { font-size:clamp(30px,3.05vw,44px); line-height:1.38; letter-spacing:-.025em; }
.data-page #main h3 { font-size:24px; line-height:1.5; font-weight:500; }
.data-page :where(a,button):focus-visible { outline-color:#078692; }
.dt-hero { padding-block:46px 72px; }
.dt-hero-heading h1 em { font-style:normal; color:var(--dt-accent); }
.dt-hero-heading > p { margin:28px 0 38px; max-width:800px; font-size:18px; line-height:1.9; color:var(--dt-body); text-align:left; }
.dt-hero-art img { display:block; width:100%; height:auto; }
.dt-hero-scene { position:relative; overflow:hidden; isolation:isolate; }
.dt-pipeline-effects { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; mix-blend-mode:screen; }
.dt-light-trail { fill:none; stroke-linecap:round; stroke-dasharray:8 192; stroke-dashoffset:10; animation:dt-light-pass 2.6s linear infinite; animation-delay:var(--beam-delay); }
.dt-light-bloom { stroke:#6df4ff; stroke-width:12; filter:url(#dt-beam-glow); opacity:.8; }
.dt-light-core { stroke:#f2ffff; stroke-width:2.7; }
.dt-stage-glint { fill:#b1faff; stroke:#d9ffff; stroke-width:1.5; opacity:0; animation:dt-stage-pass 2.6s ease-out infinite; animation-delay:var(--stage-delay); }
.dt-cube-glint { fill:#deffff; }
.dt-node-glint { fill:url(#dt-node-light); opacity:0; animation:dt-stage-pass 2.6s ease-out infinite; animation-delay:var(--stage-delay); }
@keyframes dt-light-pass { from { stroke-dashoffset:10; } to { stroke-dashoffset:-120; } }
@keyframes dt-stage-pass { 0%,18%,100% { opacity:0; } 4% { opacity:.62; } 10% { opacity:.18; } }
.motion-paused .dt-pipeline-effects { display:none; }
@media(prefers-reduced-motion:reduce) { .dt-pipeline-effects { display:none; } }
.dt-hero-art figcaption { font-size:13px; color:var(--dt-body); margin-top:14px; line-height:1.7; }
.dt-section { padding-block:104px; }
.dt-kicker { color:var(--dt-accent); font-size:14px; font-weight:500; line-height:1.6; margin-bottom:22px; }
.dt-heading { display:grid; grid-template-columns:1.12fr 1fr; gap:80px; align-items:end; margin-bottom:48px; }
.dt-heading > p { font-size:18px; line-height:1.9; color:var(--dt-body); }
.dt-api-motion { margin:0; background:white; }
.dt-api-video { display:block; width:100%; height:auto; aspect-ratio:20/13; object-fit:contain; }
.dt-api-motion figcaption { display:flex; justify-content:space-between; align-items:center; gap:24px; color:var(--dt-body); font-size:14px; line-height:1.8; margin-top:12px; }
.dt-video-error { color:var(--dt-body); font-size:13px; line-height:1.9; margin-top:12px; }
.dt-video-error a { text-decoration:underline; }
@media(max-width:600px) {
 .dt-api-motion { margin-inline:-12px; }
 .dt-api-motion figcaption { padding-inline:12px; align-items:start; gap:12px; font-size:13px; }
}
.dt-feature-row,.dt-quality-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; margin-top:38px; }
.dt-feature-row article,.dt-quality-row article { border-top:1px solid var(--dt-line); padding-top:24px; }
.data-page #main :is(.dt-feature-row,.dt-quality-row) h3 { font-size:22px; }
.dt-feature-row p,.dt-quality-row p { font-size:16px; line-height:1.9; color:var(--dt-body); margin-top:14px; }
.data-page #main > .dt-structure { background:#f1f6f6; padding-block:100px; }
.data-page #main > .dt-structure::before { display:none; }
.dt-structure-motion { margin:0; background:#f1f3f1; }
.dt-structure-video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.dt-ontology-layout { display:grid; gap:44px; }
.dt-ontology-figure { margin:0; min-width:0; max-width:100%; background:#fff; border:1px solid #e0e8e9; }
.dt-ontology-figure figcaption { display:flex; justify-content:space-between; align-items:end; gap:24px; padding:30px 34px 0; }
.dt-ontology-figure figcaption span { display:block; color:var(--dt-accent); font-size:13px; margin-bottom:10px; }
.dt-ontology-figure figcaption strong { display:block; font-size:26px; line-height:1.5; font-weight:500; letter-spacing:-.025em; }
.dt-ontology-figure figcaption small { color:var(--dt-body); font-size:12px; white-space:nowrap; }
.dt-ontology-intro { padding:18px 34px 0; color:var(--dt-body); font-size:16px; line-height:1.85; }
.dt-ontology-video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; margin-top:28px; background:#e4e4e9; }
.dt-ontology-video.dt-ontology-composition { aspect-ratio:8/5; background:#eeeff4; }
.dt-ontology-motion .dt-video-error { padding:0 34px 20px; }
.dt-ontology-scroll { width:100%; min-width:0; box-sizing:border-box; overflow-x:auto; padding:26px 12px 14px; overscroll-behavior-x:contain; }
.dt-ontology-semantic { display:block; width:100%; min-width:980px; height:auto; }
.dt-diagram-scroll-hint { display:none; color:var(--dt-accent); font-size:12px; padding:18px 20px 0; }
.dt-ontology-narrative { padding:20px 34px; background:#f6f9fa; border-top:1px solid #dce6e9; color:var(--dt-body); font-size:15px; line-height:1.9; }
.dt-ontology-diagonal { min-width:860px; }
.dt-ontology-compact .dt-ontology-scroll { padding:12px 12px 0; }
@media(max-width:1100px) { .dt-diagram-scroll-hint { display:block; } }
.dt-ontology-art { display:block; width:100%; height:auto; }
.dt-ontology-unified { position:relative; margin-top:28px; }
.dt-ontology-label { position:absolute; transform:translate(-50%,-50%); padding:6px 12px; border:1px solid #dbe5e7; border-radius:4px; background:#ffffffed; color:#3d6069; font-size:clamp(10px,1.25vw,16px); white-space:nowrap; }
.dt-hospital-a { left:17%; top:27%; }
.dt-hospital-b { left:65%; top:14%; }
.dt-hospital-c { left:83%; top:27%; }
.dt-ontology-core-label { position:absolute; left:50%; top:77%; transform:translate(-50%,-50%); color:#205866; font-size:clamp(11px,1.6vw,20px); font-weight:500; text-align:center; width:38%; }
.dt-ontology-definitions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0 34px 30px; }
.dt-ontology-definitions > div { border-top:1px solid #bad0d4; padding-top:18px; }
.dt-ontology-definitions span { font-size:13px; color:var(--dt-accent); }
.data-page #main .dt-ontology-definitions h3 { font-size:20px; margin:12px 0 10px; }
.dt-ontology-definitions p { color:var(--dt-body); font-size:14px; line-height:1.8; }
.dt-ontology-principle { padding:20px 34px; border-top:1px solid #dce6e6; color:var(--dt-body); font-size:14px; line-height:1.8; }
.dt-ontology-copy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.dt-ontology-copy article { padding-top:24px; border-top:1px solid var(--dt-line); }
.data-page #main .dt-ontology-copy h3 { font-size:22px; }
.dt-ontology-copy p { font-size:16px; line-height:1.9; color:var(--dt-body); margin-top:15px; }
.data-page #main > .dt-use { background:var(--dt-dark); padding-block:88px; }
.data-page #main > .dt-use::before { display:none; }
.data-page #main .dt-use :is(h2,h3) { color:#eff8fa; }
.dt-use .dt-kicker { color:#a8e3e7; }
.dt-use .dt-heading { margin-bottom:0; }
.dt-use .dt-heading > p { color:#c0d5da; }
.dt-contact { padding-block:90px; display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; }
.dt-contact p:not(.dt-kicker) { margin-top:25px; font-size:17px; line-height:1.9; }
.dt-inquiry { min-height:56px; padding:17px 24px; border-radius:0; background:var(--dt-dark); border-color:var(--dt-dark); font-size:15px; }
.dt-inquiry:hover { background:var(--dt-accent); border-color:var(--dt-accent); transform:none; }
@media(max-width:1100px) {
 .dt-heading,.dt-ontology-layout { gap:40px; }
 .dt-contact { gap:35px; }
}
@media(max-width:900px) {
 .dt-heading,.dt-ontology-layout,.dt-contact { grid-template-columns:1fr; }
 .dt-heading { gap:26px; }
 .dt-section { padding-block:76px; }
 .dt-inquiry { justify-self:start; }
}
@media(max-width:600px) {
 .data-page #main h1 { font-size:clamp(29px,8vw,38px); }
 .data-page #main h2 { font-size:29px; }
 .dt-hero { padding-block:30px 52px; }
 .dt-hero-heading > p { font-size:16px; line-height:1.9; margin-top:25px; }
 .dt-hero-heading > p br { display:none; }
 .dt-hero-art { margin-inline:-22px; }
 .dt-hero-art figcaption { padding-inline:22px; font-size:12px; }
 .dt-section,.dt-contact { padding-block:58px; }
 .dt-heading { margin-bottom:32px; }
 .dt-heading > p { font-size:16px; }
 .dt-kicker { margin-bottom:18px; }
 .dt-feature-row,.dt-quality-row { grid-template-columns:1fr; gap:26px; }
 .dt-feature-row p,.dt-quality-row p { margin-top:10px; }
 .data-page #main > .dt-structure { padding-block:58px; }
 .dt-ontology-layout { gap:32px; }
 .dt-ontology-figure figcaption { padding:22px 20px 0; display:block; }
 .dt-ontology-figure figcaption strong { font-size:22px; }
 .dt-ontology-intro { padding:16px 20px 0; font-size:14px; }
 .dt-ontology-video { margin-top:22px; }
 .dt-ontology-motion .dt-video-error { padding-inline:20px; }
 .dt-ontology-narrative { padding:18px 20px; font-size:14px; }
 .dt-ontology-figure figcaption small { display:block; margin-top:12px; }
 .dt-ontology-definitions { grid-template-columns:1fr; gap:20px; padding:0 20px 24px; }
 .dt-ontology-label { padding:3px 6px; }
 .dt-ontology-core-label { width:45%; }
 .dt-ontology-principle { padding:18px 20px; font-size:13px; }
 .dt-ontology-copy { grid-template-columns:1fr; gap:24px; }
 .dt-ontology-copy article { padding-top:24px; }
 .data-page #main > .dt-use { padding-block:58px; }
 .dt-contact { gap:28px; }
 .dt-contact p:not(.dt-kicker) { font-size:16px; }
 .dt-contact .dt-inquiry { width:100%; }
}
