/*
 * Technology detail family: compact hero, dimensional example, capability outputs.
 * Keep the CAD illustration unique and important hardware fully visible.
 * Tabs, FAQ widths, global CTA colors, and reading hierarchy must survive responsive
 * stacking. The dimensional diagram is illustrative, not validated solver output.
 */
/* Reusable technology detail sections. Shared tokens and global items stay in the core styles. */
/* The original capability-tab styles remain shared by PLM/ALM/SLM family pages.
   CAD itself now renders the native feature directory defined at the end of this file. */
.technology-detail section[id]{scroll-margin-top:160px}
.td-chapter-nav>.ip-wrap>div{gap:clamp(20px,3vw,55px)}
.td-chapter-nav a b{font-size:.8rem}
.td-split{display:grid;grid-template-columns:1fr 1.12fr;gap:7%;align-items:center}
.td-design h2{font-size:clamp(2.4rem,3.4vw,3.8rem);margin-bottom:28px}
.technology-detail .td-lead{font-size:1.08rem;line-height:1.8;color:var(--body-text)}
.td-design-copy>p:not(.td-lead){color:var(--body-text);line-height:1.8}
.td-design-note{border-left:2px solid #40c5c5;padding-left:20px;margin-top:32px}
.td-design-note>span,.td-eyebrow{display:block;font-size:.65rem;letter-spacing:.13em;font-weight:700;color:#168da2;margin-bottom:13px}
.td-design-note p{font-size:.92rem;line-height:1.7;color:var(--body-text);margin:0}
.td-lab{min-width:0;background:#082e42;color:#a6d5de;position:relative;box-shadow:0 20px 55px #06304917;border:1px solid #376375}
.td-lab-top{display:flex;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #82c8cf25;font-size:.55rem;letter-spacing:.12em;line-height:1.6}
.td-lab-revision{color:#82e4da;white-space:nowrap}
.td-model-stage{position:relative;overflow:hidden;background:radial-gradient(ellipse,#18566a66,transparent 65%),linear-gradient(#79cad709 1px,transparent 1px),linear-gradient(90deg,#79cad709 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}
.td-model-stage svg{display:block;width:100%;height:auto;position:relative;z-index:1;overflow:visible}
.td-plate rect{fill:#50bfc719;stroke:#91e9e0;stroke-width:2.5}
.td-plate circle{fill:#072c40;stroke:#91e9e0;stroke-width:2.5}
.td-centerlines{fill:none;stroke:#7ebbc566;stroke-width:1;stroke-dasharray:7 5}
.td-dimensions{stroke:#91cbd0;stroke-width:1;fill:none}
.td-model-stage text{stroke:none;fill:#b4e2e5;text-anchor:middle;font:400 17px var(--font-body)}
.td-dimensions text[data-width-label]{font-size:23px;fill:#adf5e8;font-weight:700}
.td-model-stage .td-offset-labels text{font-size:13px;letter-spacing:.5px;fill:#78b7c2}
.td-pmi{fill:none;stroke:#f4e9b0;stroke-width:1.5;opacity:0;transition:opacity .35s}
.td-pmi text{fill:#f4e9b0;font-size:18px}
.td-lab.show-definition .td-pmi{opacity:1}
.td-lab-controls{padding:20px 22px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;border-block:1px solid #82c8cf25}
.td-lab-controls>span{font-size:.58rem;letter-spacing:.1em}
.td-lab-controls>div{display:flex;gap:6px}
.td-lab button{background:#0e3d51;color:#a9d5df;border:1px solid #77b8c64a;padding:10px 11px;font:600 .73rem var(--font-body);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.td-lab button:is(:hover,[aria-pressed=true]){background:#6adad2;color:#08334a;border-color:#6adad2}
.td-definition-toggle{margin-left:auto}
.td-lab-result{padding:20px 23px 0}
.td-lab-result strong{display:block;color:#c1efe8;font-size:.85rem;margin-bottom:8px}
.td-lab-result>span{display:block;color:#9ac5d0;font-size:.75rem;line-height:1.75}
.td-model-sweep{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 45%,#a5f6e81a 50%,transparent 55%);transform:translateX(-100%);animation:td-model-sweep 9s linear infinite;animation-play-state:paused}
.ip-animation-active .td-model-sweep{animation-play-state:running}
@keyframes td-model-sweep{to{transform:translateX(100%)}}
.td-capabilities{background:linear-gradient(125deg,#f1f8f9,#eaf5f6);border-block:1px solid #d1e6e9}
.td-capability-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #b9d9df;border-bottom:0}
.td-capability-tabs button{background:transparent;display:flex;gap:16px;align-items:center;min-height:80px;text-align:left;padding:20px 25px;border:0;border-bottom:1px solid #b9d9df;border-right:1px solid #b9d9df;font:700 .87rem var(--font-body);color:#3f697a;cursor:pointer;position:relative;transition:background .25s,color .25s}
.td-capability-tabs button:nth-child(3n){border-right:0}
.td-capability-tabs button .ms-icon{font-size:27px;color:#249cad}
.td-capability-tabs button[aria-selected=true]{color:#08364b;background:#c9eeee}
.td-capability-tabs button:after{content:"";height:2px;background:#27babd;position:absolute;inset:auto 24px 0;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.td-capability-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.td-capability-tabs button:hover{background:#dff0f2}
.td-capability-panels{border:1px solid #b9d9df;border-top:0;background:#ffffffb8}
.td-capability-panels article{padding:clamp(30px,4vw,65px);display:grid;grid-template-columns:1.5fr 1fr;gap:8%}
.td-capability-copy h3{font-size:clamp(1.8rem,2.65vw,3rem);line-height:1.2;margin-bottom:27px;max-width:650px}
.td-capability-copy>p:not(.td-lead){color:var(--body-text);font-size:.95rem;line-height:1.8}
.td-companion{margin-top:28px;padding:20px;border-left:2px solid #27b8bf;background:#eaf5f6}
.td-companion>.ip-inline-link{font-size:.875rem;line-height:1.5;gap:15px;margin-bottom:14px;min-height:44px}
.td-companion>p{font-size:1rem;color:var(--body-text);line-height:1.75;margin:0}
.td-capability-outputs{border-left:1px solid #c5dfe5;padding-left:32px}
.td-capability-outputs ul{margin:20px 0 35px;padding:0;list-style:none}
.td-capability-outputs li{padding:15px 0;border-bottom:1px solid #c5dfe5;color:var(--body-text);font-size:.9rem;line-height:1.5;display:flex;gap:12px;align-items:flex-start}
.td-capability-outputs li:before{content:"";width:5px;height:5px;flex:0 0 5px;border:0;border-radius:50%;background:#29aeb8;margin-top:9px}
.td-capability-outputs p{font-size:.92rem;line-height:1.8;color:var(--body-text);margin-bottom:0}
.td-availability{margin:18px 0 0;color:var(--body-text);font-size:.7rem}
.td-capability-panels.is-changing{animation:td-content-change .38s ease both}
@keyframes td-content-change{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.td-connections{background:radial-gradient(ellipse at right bottom,#104759,#071e2b 80%);color:#fff}
.td-connections .ip-label{color:#70dfd8}
.td-connections h2 em{color:#71ddd4}
.td-connections .ip-section-heading>p{color:var(--body-text-on-dark)}
.td-thread{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative}
.td-thread:before{content:"";position:absolute;top:32px;left:32px;right:32px;height:1px;background:#72c5ce50}
.td-thread-node{display:flex;flex-direction:column;align-items:flex-start;gap:17px;font-size:.83rem;font-weight:700;position:relative;color:#b0dbe2}
.td-thread-node>.ms-icon{display:grid;place-items:center;width:65px;height:65px;background:#11394b;border:1px solid #71c7d281;color:#8be7da;font-size:29px;transition:background .3s,border-color .3s}
.td-thread-node:hover>.ms-icon{background:#245d70;border-color:#9bedde}
.td-thread-node:after{content:"";position:absolute;width:4px;height:4px;background:#8ae9e0;top:30px;left:65px;border-radius:50%;box-shadow:0 0 8px #75e7dd;opacity:0;animation:td-thread-stream 5s linear infinite;animation-play-state:paused}
.td-thread article:last-child .td-thread-node:after{display:none}
.td-thread article:nth-child(2) .td-thread-node:after{animation-delay:-1.6s}
.td-thread article:nth-child(3) .td-thread-node:after{animation-delay:-3.2s}
.ip-animation-active .td-thread-node:after{animation-play-state:running}
@keyframes td-thread-stream{10%{opacity:.8}90%{opacity:.8}to{transform:translateX(210px);opacity:0}}
.td-thread-product{display:block;color:#6fa4b7;font-size:.69rem;margin-top:4px;margin-bottom:22px}
.td-thread h3{font-size:1.25rem;line-height:1.3;color:#fff;margin-bottom:15px}
.td-thread p{font-size:.92rem;line-height:1.85;color:var(--body-text-on-dark);margin:0}
.td-connected-outcome{border-top:1px solid #4e7c8c6b;margin-top:48px;padding-top:27px;display:grid;grid-template-columns:.65fr 2fr;gap:30px;align-items:start}
.td-connected-outcome>span{font-size:.63rem;letter-spacing:.13em;color:#60d6d4;padding-top:5px}
.td-connected-outcome p{margin:0;color:var(--body-text-on-dark);line-height:1.7;font-size:1.1rem;max-width:810px}
.td-questions{border-top:1px solid #d4e6e9;display:grid;grid-template-columns:1fr 1.4fr;gap:9%}
.td-questions>div:first-child>p{font-size:1rem;color:var(--body-text);max-width:340px}
.td-questions .priority-row:first-child{border-top:1px solid #c8e0e5}
.td-questions .priority-row p{padding:0 35px 24px 0;font-size:.95rem;color:var(--body-text);line-height:1.8}
.td-questions .priority-row summary{font-size:1rem;padding:24px 0;line-height:1.55}
@media(max-width:1024px){.td-split{gap:5%}.td-design h2{font-size:2.65rem}.td-lab-controls{padding:18px 15px;gap:10px}.td-lab-controls>span{flex-basis:100%}.td-definition-toggle{margin-left:auto}.td-capability-tabs button{padding:18px}.td-thread{gap:20px}.td-thread h3{font-size:1.1rem}.td-thread p{font-size:.84rem}.td-thread-node{font-size:.75rem}.td-capability-panels article{gap:5%}.td-capability-outputs{padding-left:23px}}
@media(max-width:850px){.td-split{grid-template-columns:minmax(0,1fr);gap:36px}.td-design-copy{max-width:720px}.td-design h2{font-size:3rem}.td-lab{max-width:680px;width:100%}.td-lab-controls>span{flex-basis:auto}.td-capability-panels article{grid-template-columns:minmax(0,1fr);gap:30px}.td-capability-outputs{border-left:0;padding:26px 0 0;border-top:1px solid #c5dfe5;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.td-capability-outputs>span{grid-column:1}.td-capability-outputs ul{grid-column:1;margin:0;grid-row:2}.td-capability-outputs>div{grid-column:2;grid-row:1/3}.td-thread{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.td-thread:before{display:none}.td-thread-node{flex-direction:row;align-items:center;font-size:.85rem;min-height:65px}.td-thread-node:after{display:none}.td-thread-product{padding-left:82px;margin-top:-12px;margin-bottom:20px}.td-thread h3{font-size:1.25rem}.td-thread p{font-size:.95rem}.td-connected-outcome{grid-template-columns:1fr;gap:15px}.td-questions{grid-template-columns:1fr;gap:25px}.td-questions>div:first-child>p{max-width:600px}.td-capability-tabs button{font-size:.8rem;gap:10px}.td-capability-tabs button .ms-icon{font-size:23px}.technology-detail section[id]{scroll-margin-top:185px}}
@media(max-width:600px){.td-chapter-nav .ip-wrap>div{gap:0}.td-chapter-nav a b{font-size:.72rem}.td-design h2{font-size:clamp(2.3rem,8vw,3rem)}.technology-detail .td-lead{font-size:1rem}.td-lab-top{padding:17px;gap:12px;font-size:.48rem}.td-lab-top>span:first-child{max-width:190px}.td-lab-controls{padding:16px;gap:13px}.td-lab-controls>span{flex-basis:100%;font-size:.58rem}.td-lab button{font-size:.69rem;padding:10px}.td-definition-toggle{margin-left:0}.td-lab-result{padding:18px 16px 0}.td-lab-result strong{font-size:.8rem}.td-capability-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.td-capability-tabs button{min-height:80px;line-height:1.5;padding:15px 12px;gap:10px;font-size:.78rem}.td-capability-tabs button:nth-child(3n){border-right:1px solid #b9d9df}.td-capability-tabs button:nth-child(2n){border-right:0}.td-capability-tabs button:after{inset-inline:12px}.td-capability-panels article{padding:25px 20px}.td-capability-copy h3{font-size:1.8rem}.td-capability-outputs{display:block}.td-capability-outputs ul{margin:10px 0 25px}.td-capability-copy>p:not(.td-lead){font-size:.92rem}.td-thread{gap:32px 22px}.td-thread-node{flex-direction:column;align-items:flex-start;font-size:.79rem;gap:12px}.td-thread-node>.ms-icon{height:55px;width:55px;font-size:26px}.td-thread-product{padding:0;margin:7px 0 18px;font-size:.62rem}.td-thread h3{font-size:1.12rem}.td-thread p{font-size:.86rem;line-height:1.8}.td-connected-outcome{margin-top:35px}.td-connected-outcome p{font-size:1rem}.td-questions .priority-row summary{font-size:.95rem}.td-questions .priority-row p{font-size:.92rem;padding-right:0}.technology-detail section[id]{scroll-margin-top:180px}}
@media(prefers-reduced-motion:reduce){.td-model-sweep,.td-thread-node:after{animation:none!important;display:none}.td-pmi,.td-capability-tabs button:after{transition:none}.td-capability-panels.is-changing{animation:none}}
/* FAQ has two explicit cells; shared industry priority rows use a different three-column layout. */
.td-questions>div,.td-questions details{min-width:0}
.td-questions .priority-row summary{grid-template-columns:minmax(0,1fr) 32px;gap:20px;align-items:start}
.td-question-text{min-width:0;font-weight:600;color:#164b61;white-space:normal}
.td-question-indicator{display:grid;place-items:center;width:32px;height:32px;color:#169fa8;background:#edf7f8;font-size:1.25rem;line-height:1;transition:transform .25s}
.td-questions .priority-row[open] .td-question-indicator{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.td-question-indicator{transition:none}}
.td-hero{color:#fff;background:radial-gradient(ellipse at 80% 40%,#12576966,transparent 62%),#082c40;padding-bottom:48px}
.td-hero-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:8%;align-items:center;height:clamp(460px,32vw,540px)}
.td-hero-copy h1{font-size:var(--type-display-technology-size);line-height:1.06;margin-bottom:24px}
.td-hero-copy h1 em{color:var(--ip-teal)}
.td-hero-copy .ip-label{color:#97d9dc;font-size:.65rem;margin-bottom:20px}
.td-hero-copy>p{color:var(--body-text-on-dark);max-width:510px;font-size:1rem;line-height:1.75;margin-bottom:27px}
.td-hero-visual{margin:0;position:relative;height:100%;max-height:540px;min-width:0;overflow:hidden;background:#082c40}
.td-hero-visual img{position:absolute;width:100%;height:calc(100% - 48px);object-fit:contain;object-position:center top}
/* Decorative raster heroes fill the established frame at every breakpoint.
 * Keep semantic SVG artwork and nonhero media fully contained. */
.td-hero-visual>img:not([src*=".svg"]){inset:0;height:100%;object-fit:cover;object-position:var(--hero-image-position,center)}
.td-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,#031c2bf5)}
.td-hero-visual figcaption{position:absolute;z-index:3;left:34px;right:34px;bottom:34px}
.td-hero-visual figcaption span{display:block;font-size:.6rem;letter-spacing:.13em;color:#a1dedd;margin-bottom:10px}
.td-hero-visual figcaption strong{font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.035em;line-height:1.2;display:block}
@media(max-width:1024px){.td-hero-grid{gap:5%}.td-hero-copy>p{font-size:.94rem}.td-hero-copy h1{font-size:var(--type-display-technology-size)}}
@media(max-width:850px){.td-hero-grid{height:auto;min-height:440px}.td-hero-visual{height:auto;min-height:420px;align-self:stretch}.td-hero-copy h1{font-size:var(--type-display-technology-size)}}
@media(max-width:600px){.td-hero{padding-bottom:36px}.td-hero-grid{grid-template-columns:minmax(0,1fr);min-height:0;gap:32px}.td-hero-copy h1{font-size:var(--type-display-technology-size)}.td-hero-copy>p{font-size:1rem}.td-hero-visual{aspect-ratio:1.35;min-height:0;max-height:320px}.td-hero-visual figcaption{left:25px;right:25px;bottom:25px}.td-hero-visual figcaption strong{font-size:1.3rem}.td-hero-visual figcaption span{font-size:.52rem}}

/* CAD feature discovery: visible editorial groups, with normal links to future
   independent feature pages. Reading content has no artificial focus stops. */
.td-feature-directory {
  display: grid;
  gap: 44px;
}
.td-feature-group {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 2fr);
  gap: clamp(28px, 4vw, 64px);
  padding-top: 30px;
  border-top: 1px solid #b9d9df;
}
.td-feature-group-intro h3 {
  margin: 0 0 16px;
  font-size: clamp(1.65rem, 2.2vw, 2.4rem);
  line-height: 1.2;
  color: var(--ink);
}
.td-feature-group-intro p {
  margin: 0;
  color: var(--body-text);
  font-size: 1rem;
  line-height: 1.8;
}
.td-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.td-feature-item {
  min-width: 0;
  display: flex;
}
.td-feature {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: clamp(20px, 2vw, 30px);
  background: #ffffffb8;
  border: 1px solid #bdd9df;
  transition: background-color 500ms, border-color 500ms;
  scroll-margin-top: 180px;
}
.td-feature:is(:hover, :focus-within) {
  background-color: #fff;
  border-color: #2bb7bd;
}
.td-feature-heading {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: start;
  gap: 13px;
  margin-bottom: 20px;
}
.td-feature-heading > .ms-icon {
  color: #249cad;
  font-size: 30px;
  line-height: 1.2;
  transition: color 500ms;
}
.td-feature:is(:hover, :focus-within) .td-feature-heading > .ms-icon {
  color: #0c677c;
}
.td-feature-heading h4 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.6vw, 1.65rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.025em;
  color: var(--ink);
}
.td-feature p {
  color: var(--body-text);
  font-size: 1rem;
  line-height: 1.8;
  margin: 0;
}
.td-feature-application {
  margin-top: 20px;
}
.td-feature-output {
  margin-block: 20px 24px;
  padding-top: 16px;
  border-top: 1px solid #c5dfe5;
}
.td-feature .td-eyebrow {
  font-size: .875rem;
  line-height: 1.4;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.td-feature > .ip-inline-link {
  margin-top: auto;
  gap: 16px;
}
.td-feature > .ip-inline-link > .ms-icon {
  flex-shrink: 0;
}
.td-feature-directory + .td-availability {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 30px;
}

@media (max-width: 1100px) {
  .td-feature-group {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .td-feature-group-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    gap: 32px;
    align-items: start;
  }
  .td-feature-group-intro h3 {
    margin-bottom: 0;
  }
}
@media (max-width: 700px) {
  .td-feature-directory {
    gap: 32px;
  }
  .td-feature-group-intro,
  .td-feature-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .td-feature-group-intro h3 {
    margin: 0;
  }
  .td-feature {
    padding: 24px;
  }
}
@media (max-width: 380px) {
  .td-feature {
    padding: 20px;
  }
  .td-feature-heading {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
  }
  .td-feature-heading > .ms-icon {
    font-size: 27px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .td-feature,
  .td-feature-heading > .ms-icon {
    transition: none;
  }
}
