.efd-cds{--cds-ink:#172b3e;--cds-muted:#607286;--cds-blue:#155b91;--cds-pale:#eef4f8;--cds-line:#d7e0e8;color:var(--cds-ink);font-family:inherit;max-width:1200px;margin:24px auto;line-height:1.6}.efd-cds *{box-sizing:border-box}.efd-cds-hero{padding:clamp(28px,5vw,58px);border-radius:18px;background:linear-gradient(125deg,#102b43,#17689a);color:#fff;margin-bottom:28px}.efd-cds-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.25rem);line-height:1.12;margin:10px 0}.efd-cds-hero p{max-width:760px;color:#e4edf4;font-size:1.08rem}.efd-cds-kicker{font-size:.76rem;font-weight:800;letter-spacing:.13em;color:#3d8dbd}.efd-cds-hero .efd-cds-kicker{color:#b9e4ff}.efd-cds-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.efd-cds-button{display:inline-block;background:#fff;color:#123b5a!important;text-decoration:none!important;font-weight:750;padding:12px 18px;border-radius:9px;border:1px solid #fff}.efd-cds-button-light{background:transparent;color:#fff!important}.efd-cds-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;padding:24px 0 42px;align-items:center}.efd-cds h2{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2;margin:8px 0 14px;color:var(--cds-ink)}.efd-cds-flow{display:grid;grid-template-columns:1fr;gap:5px;text-align:center}.efd-cds-flow div{padding:9px;background:var(--cds-pale);border:1px solid var(--cds-line);border-radius:8px;font-weight:700}.efd-cds-flow b{line-height:1;color:var(--cds-blue)}.efd-cds-note{background:#fff8e8;border-left:4px solid #d69b25;padding:12px 14px;color:#59451c;font-size:.92rem}.efd-cds-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.efd-cds-section-head p{max-width:420px;color:var(--cds-muted)}.efd-cds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.efd-cds-card{border:1px solid var(--cds-line);border-radius:12px;padding:19px;background:#fff;min-width:0}.efd-cds-card-top{display:flex;justify-content:space-between;align-items:center}.efd-cds-number{font-size:1.2rem;font-weight:850;color:var(--cds-blue)}.efd-cds-tag{font-size:.68rem;letter-spacing:.1em;color:var(--cds-muted);font-weight:800}.efd-cds-card h3{font-size:1.12rem;line-height:1.3;margin:12px 0 8px}.efd-cds-card p{color:var(--cds-muted);font-size:.94rem}.efd-cds-card details{border-top:1px solid var(--cds-line);padding-top:10px;margin-top:12px}.efd-cds-card summary{cursor:pointer;color:var(--cds-blue);font-weight:750}.efd-cds-applications{margin:42px 0;padding:28px;border-radius:14px;background:var(--cds-pale)}.efd-cds-pills{display:flex;flex-wrap:wrap;gap:9px}.efd-cds-pills span{background:#fff;border:1px solid var(--cds-line);padding:8px 12px;border-radius:30px;font-size:.9rem}.efd-cds-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--cds-line)}.efd-cds-next .efd-cds-button{background:var(--cds-blue);color:#fff!important;border-color:var(--cds-blue);white-space:nowrap}.efd-cds-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.efd-cds-lesson-grid article{border:1px solid var(--cds-line);padding:16px;border-radius:10px}.efd-cds-lesson-grid a{color:var(--cds-blue)}.efd-cds-hero-small{padding:30px}.efd-cds-lab-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.efd-cds-lab-tabs button{border:1px solid var(--cds-line);background:#fff;color:var(--cds-ink);padding:10px 14px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.efd-cds-lab-tabs button.active{background:var(--cds-blue);color:#fff;border-color:var(--cds-blue)}.efd-cds-lab-panel{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:24px;padding:22px;border:1px solid var(--cds-line);border-radius:14px}.efd-cds-lab-copy label{display:block;font-weight:700;margin:18px 0;color:var(--cds-ink)}.efd-cds-lab-copy label output{float:right;color:var(--cds-blue)}.efd-cds-lab-copy input[type=range]{display:block;width:100%;margin-top:8px;accent-color:var(--cds-blue)}.efd-cds-result{background:var(--cds-pale);border-radius:8px;padding:12px;font-weight:700}.efd-cds-visual{background:#f7f9fb;border:1px solid var(--cds-line);border-radius:12px;padding:16px;min-width:0}.efd-cds-visual svg{width:100%;height:auto;display:block}.efd-cds-caption{text-align:center;color:var(--cds-muted);font-size:.82rem}.efd-cds-visual-text{padding:26px}.efd-cds-visual-text li{margin:8px 0}.efd-cds-compass{height:230px;max-width:340px;margin:10px auto;position:relative;border:1px dashed #aab9c7;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#fff 0 34px,#e9eff4 35px 36px)}.efd-cds-north{position:absolute;top:4px;font-weight:900}.efd-cds-building{width:130px;height:70px;background:#4b88ad;border:3px solid #244e6b;color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:800;transform:rotate(0deg);transition:transform .2s}.efd-cds-sun{position:absolute;right:18px;top:38px;font-size:2rem;color:#d79b27}.efd-cds-options{display:grid;gap:9px}.efd-cds-option{border:1px solid var(--cds-line);border-radius:8px;padding:10px}.efd-cds-option strong{display:flex;justify-content:space-between}.efd-cds-bar{height:8px;background:#e1e8ee;border-radius:8px;overflow:hidden;margin-top:8px}.efd-cds-bar span{display:block;height:100%;background:#2d83ad}.efd-cds-disclaimer{font-size:.88rem;color:#674f22;background:#fff8e8;border:1px solid #f0dcae;padding:14px;border-radius:9px;margin-top:18px}.efd-cds [hidden]{display:none!important}@media(max-width:800px){.efd-cds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.efd-cds-intro,.efd-cds-lab-panel{grid-template-columns:1fr}.efd-cds-section-head,.efd-cds-next{align-items:flex-start;flex-direction:column}.efd-cds-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.efd-cds-grid,.efd-cds-lesson-grid{grid-template-columns:1fr}.efd-cds-hero{border-radius:12px}.efd-cds-lab-panel{padding:14px}.efd-cds-applications{padding:18px}}

/* V1.1.0: illustrated BIM-to-code pathway and module imagery */
.efd-cds-hero-banner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:26px;align-items:center;overflow:hidden}.efd-cds-hero-copy{min-width:0}.efd-cds-banner-image{display:block;width:100%;height:auto;max-width:100%;border-radius:13px;border:1px solid rgba(255,255,255,.22)}.efd-cds-pathway{margin:38px 0 44px}.efd-cds-pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.efd-cds-pathway-grid article{min-width:0;border:1px solid var(--cds-line);border-radius:13px;overflow:hidden;background:#fff;padding-bottom:17px}.efd-cds-pathway-grid img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:cover;background:#17364f}.efd-cds-pathway-grid span,.efd-cds-pathway-grid h3,.efd-cds-pathway-grid p,.efd-cds-pathway-grid small{display:block;margin-left:17px;margin-right:17px}.efd-cds-pathway-grid span{margin-top:15px;color:var(--cds-blue);font-size:.72rem;font-weight:850;letter-spacing:.09em}.efd-cds-pathway-grid h3{margin-top:6px;margin-bottom:8px;font-size:1.3rem}.efd-cds-pathway-grid p{color:var(--cds-muted);font-size:.93rem}.efd-cds-pathway-grid small{color:var(--cds-muted);line-height:1.5}.efd-cds-pathway-note{padding:13px 16px;background:var(--cds-pale);border-left:4px solid var(--cds-blue);color:var(--cds-muted);font-size:.9rem}.efd-cds-module-image{display:block;width:calc(100% + 38px);max-width:none;height:auto;aspect-ratio:5/3;object-fit:cover;margin:-19px -19px 15px;border-radius:11px 11px 0 0;background:#17364f}.efd-cds-card{overflow:hidden}.efd-cds-hero-banner .efd-cds-kicker{display:inline-block}@media(max-width:900px){.efd-cds-hero-banner{grid-template-columns:1fr}.efd-cds-pathway-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.efd-cds-pathway-grid{grid-template-columns:1fr}.efd-cds-hero-banner{padding:22px}.efd-cds-module-image{width:calc(100% + 28px);margin:-14px -14px 14px}.efd-cds-card{padding:14px}}

/* V1.2.0: EFDAGLOBALTECH connection and dedicated pathway page */
.efd-cds-tech-connection{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0;padding:25px 28px;border:1px solid var(--cds-line);border-radius:14px;background:linear-gradient(110deg,#edf5fa,#f8fbfd)}.efd-cds-tech-connection>div{min-width:0}.efd-cds-tech-connection h2{margin:6px 0 8px}.efd-cds-tech-connection p{margin:0;color:var(--cds-muted)}.efd-cds-tech-link{background:#155b91!important;border-color:#155b91!important;color:#fff!important;white-space:nowrap}.efd-cds-pathway-page .efd-cds-pathway-grid{margin-top:22px}.efd-cds-pathway-page .efd-cds-pathway-grid article{padding-bottom:20px}.efd-cds-pathway-page .efd-cds-next{margin-top:22px}.efd-cds-pathway-page .efd-cds-actions{align-items:center}@media(max-width:700px){.efd-cds-tech-connection{align-items:flex-start;flex-direction:column;padding:20px}.efd-cds-tech-connection .efd-cds-button{white-space:normal}.efd-cds-pathway-page .efd-cds-hero-banner{grid-template-columns:1fr}}

/* V1.3.0 computational studio controls */
.efd-cds-lab-action{appearance:none;border:1px solid #155b91;background:#155b91;color:#fff;border-radius:8px;padding:11px 14px;font:inherit;font-weight:750;cursor:pointer;min-height:44px}.efd-cds-lab-action:hover{background:#10466f}.efd-cds-lab-action:focus-visible,.efd-cds-lab-tabs button:focus-visible{outline:3px solid #e2a72d;outline-offset:2px}.efd-cds-lab-copy select{display:block;width:100%;padding:10px;border:1px solid #b9c8d4;border-radius:7px;background:#fff;color:#172b3e;font:inherit;margin-top:7px}.efd-cds-logic-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:22px 0;flex-wrap:wrap}.efd-cds-logic-flow div{display:grid;gap:5px;min-width:82px;flex:1;text-align:center;padding:14px 8px;border:1px solid #b8cbd9;border-radius:10px;background:#fff}.efd-cds-logic-flow small{font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#607286}.efd-cds-logic-flow strong{font-size:1.3rem;color:#155b91;overflow-wrap:anywhere}.efd-cds-logic-flow>b{color:#155b91;font-size:1.3rem}@media(max-width:520px){.efd-cds-logic-flow{gap:5px}.efd-cds-logic-flow div{min-width:70px;padding:10px 5px}.efd-cds-lab-action{width:100%}}

/* V1.5.0 IFC inspector */
.efd-cds-ifc-report{margin-top:16px;color:var(--efd-cds-text,#203040)}.efd-cds-ifc-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:10px;margin:12px 0}.efd-cds-ifc-summary>div,.efd-cds-ifc-table>div{padding:12px;border:1px solid #d7e0e8;border-radius:8px;background:#f7fafc}.efd-cds-ifc-summary strong,.efd-cds-ifc-summary span{display:block;overflow-wrap:anywhere}.efd-cds-ifc-summary strong{font-size:1.25rem}.efd-cds-ifc-summary span{font-size:.82rem;color:#536779}.efd-cds-ifc-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.efd-cds-ifc-table>div{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere}.efd-cds-ifc-report h4{margin:18px 0 8px}.efd-cds-file-label{display:block;font-weight:700;margin:12px 0 6px}.efd-cds-lab-copy input[type=file]{max-width:100%;padding:10px;border:1px solid #ccd6df;border-radius:7px;background:#fff}

/* V1.6.0 practical case-study gallery and advanced learning laboratories */
.efd-cds-practical-gallery{margin:42px 0}.efd-cds-practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.efd-cds-practical-grid article{border:1px solid var(--cds-line);border-radius:13px;overflow:hidden;background:#fff;min-width:0;padding-bottom:15px}.efd-cds-practical-grid img{display:block;width:100%;height:auto;aspect-ratio:13/9;object-fit:cover;background:#e6eef2}.efd-cds-practical-grid h3,.efd-cds-practical-grid p,.efd-cds-practical-grid small{display:block;margin-left:15px;margin-right:15px}.efd-cds-practical-grid h3{margin-top:13px;margin-bottom:6px}.efd-cds-practical-grid p{color:var(--cds-muted);font-size:.92rem;margin-top:5px;margin-bottom:8px}.efd-cds-practical-grid small{color:var(--cds-muted);line-height:1.5}.efd-cds-practical-grid article{transition:transform .18s ease,border-color .18s ease}.efd-cds-practical-grid article:hover{transform:translateY(-2px);border-color:#9bb8c9}.efd-cds-lab-tabs button{min-height:44px}.efd-cds-lab-panel input[type=range]{min-height:24px}@media(max-width:850px){.efd-cds-practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.efd-cds-practical-grid{grid-template-columns:1fr}.efd-cds-practical-grid img{aspect-ratio:16/9}}
