/* Category-specific reading compositions; hero/chrome/type are shared CAD components. */
.ec-detail .ip-section-heading{margin-bottom:32px}
.ec-detail .ip-section-heading>div,.ec-question-layout>*,.ec-workspace-identity,.ec-prep-heading,.ec-brief-content,.ec-brief-checklist li{min-width:0}
.ec-detail .ip-section-heading :is(h2,h3,p){overflow-wrap:anywhere}
.ec-detail :is(.ec-intro,.ec-context,.ec-workspace-comparison,.ec-disclosure,.ec-preparation) :is(h2,h3,p){overflow-wrap:anywhere}
.ec-detail .ip-section-heading>p,.ec-detail :is(.ec-intro,.ec-workspace-comparison,.ec-disclosure,.ec-preparation,.ec-study-brief) p{font-size:1rem;line-height:1.75}
.ec-detail :is(.ec-intro,.ec-workspace-comparison,.ec-disclosure,.ec-preparation) p,.ec-detail .ip-section-heading>p{color:var(--body-text)}
.ec-detail h3{font-size:1.55rem;line-height:1.3;letter-spacing:-.035em;color:var(--ink)}
.ec-detail .ec-intro{max-width:920px;margin:0}
.ec-intro h2{margin-bottom:22px}
.ec-intro>p{margin:0;max-width:680px}
.ec-question-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:6%}
.ec-question-figure{margin:0;min-width:0}
.ec-question-drawing{position:relative}
.ec-question-svg{display:block;width:100%;height:auto}
.ec-question-reach,.ec-question-load{position:absolute;color:#187d8a;font-size:.875rem;line-height:1.4;transform:translate(-50%,-50%)}
.ec-question-reach{left:53%;top:12%}
.ec-question-load{left:86%;top:41%}
.ec-question-figure figcaption{color:var(--body-text);font-size:.875rem;line-height:1.6;margin-top:12px;max-width:400px}
.ec-context{background:#082c40;color:#fff}
.ec-context .ip-label{color:#97d9dc}
.ec-context h2,.ec-context h3{color:#fff}
.ec-context h2 em{color:var(--ip-teal)}
.ec-context .ip-section-heading>p,.ec-context p{color:var(--body-text-on-dark)}
.ec-study{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px;min-width:0}
.ec-study legend{padding:0 0 16px;font-size:.875rem;line-height:1.5;color:#c0dde5}
.ec-choice{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.ec-choice-label{border-bottom:1px solid #547d8c;color:#c0dde5;padding:14px 12px;line-height:1.5;font-size:.875rem;font-weight:600;text-align:center;cursor:pointer;transition:background-color 300ms,border-color 300ms,color 300ms}
.ec-choice:checked+.ec-choice-label{background:#173e51;color:#b1efe4;border-color:#83ded1}
.ec-choice:focus-visible+.ec-choice-label{outline:2px solid var(--cyan);outline-offset:3px}
.ec-study-surface{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.3fr);border-block:1px solid #456c7c;align-items:center;min-width:0}
.ec-notebook{padding:28px 0;border-right:1px solid #456c7c;min-width:0}
.ec-study-label{display:block;color:#90c4ce;font-size:.65rem;font-weight:700;letter-spacing:.13em;line-height:1.6}
.ec-inputs{padding:0 32px 0 0;margin:22px 0;display:grid;gap:12px;color:var(--body-text-on-dark)}
.ec-inputs>div{display:flex;justify-content:space-between;gap:18px}
.ec-inputs dt{font-size:.875rem;line-height:1.6}
.ec-inputs dd{margin:0;font-size:1.05rem;color:#a3dfdf}
.ec-equation{display:flex;gap:10px;align-items:center;color:#aee9df;margin:24px 0;font-size:1.8rem;line-height:1.3;font-family:var(--font-display)}
.ec-equation sub{font-size:.55em}
.ec-root{position:relative;font-size:2.7rem;line-height:1}
.ec-root sup{position:absolute;left:-5px;top:-5px;font-size:.35em}
.ec-fraction{display:grid;text-align:center;font-size:.85em}
.ec-fraction>span:first-child{border-bottom:1px solid #aee9df;padding:0 6px 5px}
.ec-fraction>span:last-child{padding-top:5px}
.ec-parameter{display:grid;gap:7px;margin-right:24px;padding-top:18px;border-top:1px solid #456c7c}
.ec-parameter>span{color:#c0dde5;font-size:.875rem}
.ec-parameter code{font-size:.875rem;color:#91e5d8;overflow-wrap:anywhere}
.ec-shaft{min-width:0}
.ec-shaft svg{display:block;width:100%;height:auto}
.ec-shaft text{font-family:var(--font-body);font-size:20px}
.ec-diameter,.ec-torque,.ec-output,.ec-inputs,.ec-equation,.ec-parameter{transition:opacity 300ms}
.ec-signal{stroke-dasharray:22 540;animation:ec-trace 9s linear infinite;animation-play-state:paused;opacity:.6}
.ec-study.ip-animation-active .ec-signal{animation-play-state:running}
@keyframes ec-trace{to{stroke-dashoffset:-562}}
.ec-study-briefs{grid-column:1/-1;display:grid;gap:0;padding-top:4px}
.ec-study-brief{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:32px;border-left:2px solid transparent;border-bottom:1px solid #456c7c;padding:18px 0 18px 20px;transition:border-color 300ms}
.ec-study-brief:last-child{border-bottom:0}
.ec-study-brief h3{margin:0;font-size:1.3rem}
.ec-study-brief p{margin:0}
@supports selector(:has(*)){
 .ec-study:has(#ec-inputs:checked) :is(.ec-diameter,.ec-output),.ec-study:has(#ec-method:checked) :is(.ec-torque,.ec-output),.ec-study:has(#ec-handoff:checked) .ec-torque{opacity:.4}
 .ec-study:has(#ec-inputs:checked) [data-ec-brief=inputs],.ec-study:has(#ec-method:checked) [data-ec-brief=method],.ec-study:has(#ec-handoff:checked) [data-ec-brief=handoff]{border-left-color:#8ce4d7}
}
.ec-context-foot{margin-top:26px}
.ec-context-foot .ip-inline-link{color:#b4e4e6}
.ec-tool-role{color:#187d8a;font-size:.875rem;line-height:1.6}
.ec-workspace-comparison{margin-bottom:26px;border-top:3px solid #72cfc9;background:#f5fafb}
.ec-workspace-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}
.ec-workspace-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.ec-workspace-table thead th{padding:18px 24px;border-bottom:1px solid #bdd9df;font-family:var(--font-body);font-size:.875rem;line-height:1.5;font-weight:600;color:#174b61}
.ec-workspace-table thead th:first-child{width:34%}
.ec-workspace-table thead th:nth-child(2){width:43%}
.ec-workspace-table thead th:last-child{width:23%}
.ec-workspace-table tbody th,.ec-workspace-table tbody td{padding:28px 24px;vertical-align:middle;border-bottom:1px solid #bdd9df;transition:background-color 500ms}
.ec-workspace-table tbody th{font-weight:400}
.ec-workspace-table tbody td+td{border-left:1px solid #d4e6e9}
.ec-workspace-identity h3{margin:0 0 8px}
.ec-workspace-art{display:block;width:min(220px,100%);height:auto;margin-top:12px}
.ec-workspace-context p{margin:0;font-weight:400}
.ec-workspace-action .ip-inline-link{max-width:100%;white-space:normal}
.ec-workspace-table tbody tr:is(:hover,:focus-within)>*{background-color:#edf7f7}
.ec-workspace-accent{transition:stroke 500ms}
.ec-workspace-wash{transition:fill 500ms}
.ec-workspace-table tbody tr:is(:hover,:focus-within) .ec-workspace-accent{stroke:#168da2}
.ec-workspace-table tbody tr:is(:hover,:focus-within) .ec-workspace-wash{fill:#deefef}
.ec-cell-label{display:none}
.ec-disclosure{border-top:1px solid #bdd9df;margin-top:4px}
.ec-disclosure summary{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:20px;align-items:start;cursor:pointer;font-size:1rem;line-height:1.6;font-weight:600;color:#174b61;padding:24px 0;list-style:none}
.ec-disclosure summary::-webkit-details-marker{display:none}
.ec-disclosure summary i{font-style:normal;display:grid;place-items:center;width:32px;height:32px;background:#edf7f8;color:#148b9b;font-size:1.3rem;transition:transform 300ms}
.ec-disclosure[open] summary i{transform:rotate(45deg)}
.ec-disclosure summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.ec-disclosure>div{max-width:850px;padding-bottom:24px}
.ec-disclosure p{margin:0 0 18px}
.ec-preparation{background:linear-gradient(125deg,#f1f8f9,#eaf5f6);border-block:1px solid #d1e6e9}
.ec-prep-heading{max-width:920px;margin-bottom:30px}
.ec-prep-heading h2{margin-bottom:20px}
.ec-prep-heading p{max-width:650px;margin:0}
.ec-brief-sheet{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);gap:24px 6%;padding:32px;border:1px solid #bdd9df;border-top:3px solid #72cfc9;background:#ffffffa8}
.ec-brief-drawing{display:flex;align-items:center;justify-content:center;grid-row:1/3;min-width:0}
.ec-brief-art{display:block;width:min(220px,100%);height:auto}
.ec-brief-content h3{margin:0 0 20px}
.ec-brief-checklist{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.ec-brief-checklist li{position:relative;padding-left:25px}
.ec-brief-checklist li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#36b6bd}
.ec-brief-checklist strong{display:block;font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1.6;color:#174b61;margin-bottom:5px}
.ec-brief-checklist p{margin:0}
.ec-brief-action{grid-column:2;padding-top:22px;border-top:1px solid #bdd9df}
.ec-detail .ip-inline-link:is(:hover,:focus-visible){color:var(--cyan)}
@media(max-width:850px){.ec-question-layout{grid-template-columns:minmax(0,1fr);gap:28px}.ec-question-figure{max-width:600px}.ec-workspace-table thead th{padding:16px}.ec-workspace-table tbody th,.ec-workspace-table tbody td{padding:24px 16px}.ec-study-brief{gap:24px}.ec-detail h3{font-size:1.4rem}.ec-brief-sheet{padding:26px;gap:24px 5%}}
@media(max-width:600px){.ec-question-drawing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.ec-question-svg{grid-column:1/-1}.ec-question-reach,.ec-question-load{position:static;transform:none;text-align:center;border-top:1px solid #c6dfe2;padding-top:8px}.ec-study{gap:16px 8px}.ec-choice-label{padding:12px 5px}.ec-study-surface{grid-template-columns:1fr}.ec-notebook{border-right:0;border-bottom:1px solid #456c7c;padding:24px 0}.ec-inputs{padding:0}.ec-parameter{margin:0}.ec-shaft{padding:16px 0}.ec-study-brief{grid-template-columns:minmax(0,1fr);gap:12px;padding-left:16px}.ec-detail h3{font-size:1.3rem}.ec-workspace-table,.ec-workspace-table tbody{display:block}.ec-workspace-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ec-workspace-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);padding:24px 20px;border-bottom:1px solid #bdd9df;gap:20px}.ec-workspace-table tbody th,.ec-workspace-table tbody td{display:block;padding:0;border:0}.ec-workspace-table tbody td+td{border:0}.ec-workspace-art{width:180px}.ec-cell-label{display:block;margin-bottom:8px;color:#187d8a;font-size:.875rem;font-weight:600;line-height:1.5}.ec-workspace-table tbody td.ec-workspace-action{padding-top:18px;border-top:1px solid #bdd9df}.ec-workspace-table tbody tr:is(:hover,:focus-within){background:#edf7f7}.ec-brief-sheet{grid-template-columns:minmax(0,1fr);padding:24px 20px;gap:24px}.ec-brief-drawing{grid-row:auto;justify-content:flex-start}.ec-brief-art{width:150px}.ec-brief-action{grid-column:1}.ec-brief-checklist li{padding-left:22px}.ec-disclosure summary{gap:12px}.ec-detail .chapter-nav .ip-wrap>div{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-detail .chapter-nav a{white-space:normal}.ec-detail .ip-section-heading{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.ec-signal{animation:none;display:none}.ec-workspace-table tbody th,.ec-workspace-table tbody td,.ec-workspace-accent,.ec-workspace-wash,.ec-choice-label,.ec-study-brief,.ec-diameter,.ec-torque,.ec-output,.ec-inputs,.ec-equation,.ec-parameter,.ec-disclosure summary i{transition:none}}

/* Child guide referral preserves the two actual workspace rows and requirements. */
.ec-related-guide{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#edf7f7;border-left:2px solid #389eaa;padding:28px;margin:24px 0}.ec-related-guide>div{max-width:64ch;flex:1}.ec-related-guide h3{margin:0 0 10px}.ec-related-guide p{margin:0;line-height:1.8;color:var(--body-text)}.ec-related-guide .motion-cta{flex:0 1 auto}@media(max-width:850px){.ec-related-guide{align-items:start;flex-direction:column;padding:24px 20px}}

/* Related child guides share a compact contextual discovery band. */
.ec-related-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.ec-related-guides .ec-related-guide{margin:0;flex-direction:column;align-items:start;gap:24px}.ec-related-guides .ec-related-guide>div{flex:1;min-width:0}.ec-related-guides :is(h3,p){overflow-wrap:anywhere}.ec-related-guides .motion-cta{max-width:100%}@media(max-width:850px){.ec-related-guides{grid-template-columns:minmax(0,1fr);gap:20px}}

/* The mechanical referral spans the existing two-guide band; do not narrow its siblings. */
.ec-related-guides .ec-related-guide--mechanical{grid-column:1/-1;flex-direction:row;align-items:center}
@media(max-width:850px){.ec-related-guides .ec-related-guide--mechanical{flex-direction:column;align-items:start}}

/* Civil/structural discovery follows the preserved first three guide referrals. */
.ec-related-guides .ec-related-guide--civil{grid-column:1/-1;flex-direction:row;align-items:center}
@media(max-width:850px){.ec-related-guides .ec-related-guide--civil{flex-direction:column;align-items:start}}
