/* ED4C presentation only. Keep shared hub behavior and all other modules intact. */
.o_aigc_page_ed4c { --navy:#10233f; --navy-2:#163550; --gold:#dfbb67; --muted:#586c80; --light:#f5f7fa; background:#fff; font-family:Montserrat; font-weight:500; }
body:has(.o_aigc_page_ed4c) :is(#wrapwrap,#aigcVideoModal),
body:has(.o_aigc_page_ed4c) :is(#wrapwrap,#aigcVideoModal) *:not(.fa):not(.oi) { font-family:Montserrat; font-weight:500!important; font-synthesis:none; }
body:has(.o_aigc_page_ed4c) #wrapwrap #top .navbar .nav-link { font-weight:500!important; }
.o_aigc_page_ed4c .o_aigc_breadcrumb { background:#10233f; border-color:#ffffff12; }
.o_aigc_page_ed4c .o_aigc_crumbs { font-size:.75rem; }
.o_aigc_page_ed4c .o_aigc_hero { padding:38px 0 44px; background:radial-gradient(ellipse at 78% 40%,#325c7755,transparent 52%),linear-gradient(115deg,#10233f,#142f4c); }
.o_aigc_page_ed4c .o_aigc_hgrid { opacity:.1; background-image:radial-gradient(#c3d7e5 1px,transparent 1.5px); background-size:32px 32px; mask-image:linear-gradient(90deg,transparent 25%,#000); }
.o_aigc_page_ed4c .o_aigc_orbit { border-color:#dfbb6720; }
.o_aigc_page_ed4c .o_aigc_competition_flag { font-size:.58rem; gap:10px; flex-wrap:wrap; letter-spacing:.09em; margin-bottom:18px; }
.o_aigc_page_ed4c .o_aigc_competition_flag span:first-child { background:#dfbb6715; border:1px solid #dfbb6740; color:#edcf8a; box-shadow:none; border-radius:5px; }
.o_aigc_page_ed4c .o_aigc_hero_logo_box { margin-bottom:22px; padding:10px 17px; border-radius:12px; max-width:148px; max-height:70px; background:#fff; box-shadow:0 8px 22px #020c1920; animation:none; }
.o_aigc_page_ed4c .o_aigc_hero_logo_box img { width:110px; height:40px; object-fit:contain; }
.o_aigc_page_ed4c .o_aigc_hero h1 { font-size:clamp(2.15rem,3.4vw,3rem); line-height:1.18; letter-spacing:-.045em; margin:0 0 20px; }
.o_aigc_page_ed4c .o_aigc_hero h1 em { display:inline-block; font-size:1em; color:#edcd84; margin-top:7px; }
.o_aigc_page_ed4c .o_aigc_hero_desc { max-width:490px; font-size:.95rem; line-height:1.85; color:#c7d6e4; margin-bottom:25px; }
.o_aigc_page_ed4c .o_aigc_btn_light { background:#ebca80; color:#10233f; border-radius:10px; padding:14px 24px; font-size:.87rem; box-shadow:0 8px 25px #020c1925; }
.o_aigc_page_ed4c .o_aigc_btn_light:hover { background:#f2d89b; box-shadow:0 12px 30px #020c1935; }
.o_aigc_page_ed4c .o_aigc_microcopy { color:#a8bdcf; letter-spacing:.07em; font-size:.67rem; }
.ed-adventure { position:relative; width:100%; max-width:555px; height:420px; margin:auto; border:1px solid #c6dfeb30; border-radius:24px; background:radial-gradient(ellipse at 50% 55%,#5c819840,transparent 68%),linear-gradient(140deg,#29486380,#112b4780); box-shadow:0 24px 55px #020c1926,inset 0 1px #fff1; isolation:isolate; }
.ed-adventure:before { content:''; position:absolute; width:200px; height:200px; right:18px; top:30px; border:1px solid #e9cb8120; border-radius:50%; pointer-events:none; }
.ed-adventure-top { position:absolute; inset:20px 24px auto; display:flex; justify-content:space-between; gap:15px; align-items:center; color:#c6d9e7; font-size:.6rem; letter-spacing:.1em; }
.ed-dot { display:inline-block; width:6px; height:6px; background:#94bfbb; border-radius:50%; margin-right:7px; }
.ed-adventure-stars { color:#e7c777; font-size:1.25rem; letter-spacing:.16em; }
.ed-world { position:absolute; top:44px; left:0; width:100%; height:calc(100% - 102px); overflow:visible; }
.ed-path { animation:ed-path-travel 30s linear infinite; }
.ed-mascot { animation:ed-float 8s ease-in-out infinite; }
.ed-reward { animation:ed-float 10s ease-in-out infinite; animation-delay:-3s; }
.ed-spark { animation:ed-float 12s ease-in-out infinite; }
.ed-map-label { position:absolute; display:inline-flex; gap:6px; padding:5px 9px; border:1px solid #fff2; border-radius:6px; background:#122c47; color:#9fbacc; font-size:.53rem; letter-spacing:.04em; box-shadow:0 6px 12px #061a3020; }
.ed-map-label b { color:#f4f7fa; }
.ed-label-think { left:9%; top:62%; }.ed-label-plan { left:37%; top:77%; }.ed-label-code { right:22%; top:61%; }.ed-label-solve { right:15%; top:25%; color:#e6c273; }
.ed-block-stack { position:absolute; left:7%; top:17%; display:grid; gap:3px; transform:rotate(-7deg); }
.ed-block-stack span { position:relative; display:block; min-width:93px; border-radius:4px; padding:6px 10px; background:#e8ca85; color:#17334e; font-size:.56rem; box-shadow:0 4px 8px #081a2e15; }
.ed-block-stack span:after { content:''; position:absolute; bottom:-3px; left:15px; width:12px; height:5px; border-radius:0 0 2px 2px; background:inherit; }
.ed-block-stack span:nth-child(2) { margin-left:12px; background:#96bdc0; }.ed-block-stack span:nth-child(3) { margin-left:22px; background:#e8edf0; }
.ed-adventure-bottom { position:absolute; left:23px; right:23px; bottom:16px; display:flex; align-items:center; gap:11px; padding-top:12px; border-top:1px solid #ffffff1a; color:#ecf2f6; font-size:.73rem; }
.ed-adventure-bottom small { display:block; margin-top:3px; font-size:.57rem; color:#a5bdcd; }
.ed-success-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:10px; background:#a1c2b71a; border:1px solid #a1c2b745; color:#b7d9c9; }
.ed-success-star { margin-left:auto; color:#e4bd69; font-size:1.5rem; }
.o_aigc_page_ed4c .o_aigc_section { padding:50px 0; }
.o_aigc_page_ed4c .o_aigc_hubs { background:#f5f7fa; }
.o_aigc_page_ed4c .o_aigc_hub_grid { gap:26px; }
.o_aigc_page_ed4c .o_aigc_hub_card { border:0; border-radius:18px; background:#fff; box-shadow:0 6px 26px #10233f09; transition:transform .3s ease,box-shadow .3s ease; }
.o_aigc_page_ed4c .o_aigc_hub_card:hover { transform:translateY(-5px); box-shadow:0 16px 36px #10233f13; }
.o_aigc_page_ed4c .o_aigc_hub_visual { height:190px; overflow:hidden; background:radial-gradient(ellipse at 50% 90%,#e5d9bd,transparent 70%),#f4f0e7; }
.o_aigc_page_ed4c .o_aigc_hub_visual_alt { background:radial-gradient(ellipse at 50% 100%,#40617c,transparent 75%),#1b3651; }
.o_aigc_page_ed4c .o_aigc_hub_body { padding:26px 30px 30px; }
.o_aigc_page_ed4c .o_aigc_hub_label { color:#7b612a; font-size:.6rem; letter-spacing:.12em; }
.o_aigc_page_ed4c .o_aigc_hub_body h2 { margin:10px 0 13px; font-size:1.5rem; }
.o_aigc_page_ed4c .o_aigc_hub_body p { font-size:.88rem; line-height:1.8; }
.o_aigc_page_ed4c .o_aigc_hub_link { font-size:.83rem; margin-top:19px; }
.ed-book-art { position:relative; width:230px; height:178px; transition:transform .4s ease; }
.ed-book-shadow { position:absolute; width:160px; height:20px; bottom:5px; left:35px; border-radius:50%; background:#15324e14; filter:blur(5px); }
.ed-book { position:absolute; width:115px; height:145px; top:12px; left:58px; padding:13px; border-radius:4px 10px 10px 4px; border-left:7px solid #49617a; background:linear-gradient(135deg,#244560,#10233f); box-shadow:9px 12px 18px #10233f30; transform:rotate(-12deg); color:#e7c67f; }
.ed-book small { display:block; font-size:6px; letter-spacing:.1em; }.ed-book svg { display:block; height:93px; width:88px; }.ed-book>span { display:block; font-size:7px; letter-spacing:.06em; }
.ed-art-star { position:absolute; right:16px; top:21px; color:#b68d34; font-size:32px; }
.ed-art-tile { position:absolute; bottom:22px; left:15px; width:39px; height:39px; display:grid; place-items:center; border-radius:9px; background:#8aafb3; color:#fff; font-size:24px; transform:rotate(10deg); box-shadow:3px 5px 0 #5b8289; }
.ed-video-art { position:relative; width:250px; height:165px; transition:transform .4s ease; }
.ed-screen { position:absolute; left:10px; right:10px; top:10px; height:132px; border-radius:12px; background:linear-gradient(130deg,#ffffff18,#ffffff06); border:1px solid #ffffff30; transform:rotate(6deg); box-shadow:8px 10px 23px #071d3540; }
.ed-screen-dots { position:absolute; top:9px; left:14px; font-size:6px; letter-spacing:3px; color:#b2c9d6; }.ed-screen>svg { position:absolute; width:90%; height:90px; left:5%; bottom:0; }
.ed-screen-play { position:absolute; left:91px; top:46px; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#edd08a; color:#18334f; box-shadow:0 4px 14px #10233f30; }.ed-screen-play svg { width:22px; height:22px; }
.ed-video-tile { position:absolute; left:0; bottom:4px; display:grid; place-items:center; width:42px; height:42px; border:1px solid #ffffff40; background:#90b6b8; color:#16324b; font-size:21px; border-radius:12px; transform:rotate(-10deg); box-shadow:0 7px 14px #071d3530; }
.o_aigc_page_ed4c .o_aigc_hub_card:hover :is(.ed-book-art,.ed-video-art) { transform:translateY(-4px) rotate(2deg); }
.o_aigc_page_ed4c .o_aigc_featured_ebooks { background:#fff; }
.o_aigc_page_ed4c .o_aigc_section_header h2 { font-size:clamp(1.6rem,2.6vw,2rem); letter-spacing:-.035em; }
.o_aigc_page_ed4c .o_aigc_section_header p { font-size:.9rem; line-height:1.8; }
.o_aigc_page_ed4c .o_aigc_featured_head { margin-bottom:28px; }.o_aigc_page_ed4c .o_aigc_featured_all { font-size:.8rem; }
.o_aigc_page_ed4c .o_aigc_featured_empty { display:flex; align-items:center; justify-content:center; gap:48px; min-height:178px; padding:27px 35px; border:0; border-radius:18px; background:radial-gradient(ellipse at 20% 100%,#e7dcc199,transparent 60%),#f6f4ee; text-align:left; }
.o_aigc_page_ed4c .o_aigc_featured_empty>.fa { display:none; }
.ed-library-message { max-width:390px; }.ed-library-message h3 { font-size:1.12rem; line-height:1.5; color:#18334f; margin:0 0 9px; }
.o_aigc_page_ed4c .ed-library-message p { font-size:.83rem; line-height:1.8; margin:0; color:#5c6c7b; }
.ed-library-art { order:-1; position:relative; width:155px; height:110px; flex:0 0 155px; border-bottom:5px solid #c5b187; }
.ed-library-art>span { position:absolute; bottom:0; left:12px; width:24px; height:85px; border-top:9px solid #dfbb67; border-radius:4px 4px 0 0; background:#193a56; }
.ed-library-art>span:nth-child(2) { left:41px; height:105px; border-color:#ffffff90; background:#d8b975; }.ed-library-art>span:nth-child(3) { left:70px; height:77px; background:#83a6ad; transform:rotate(-8deg); }
.ed-library-art svg { position:absolute; right:-23px; bottom:-11px; width:90px; height:85px; transform:rotate(10deg); filter:drop-shadow(2px 4px 3px #10233f15); }
.o_aigc_page_ed4c .o_aigc_featured_card { border:0; border-radius:16px; box-shadow:0 5px 24px #10233f0c; }
.o_aigc_page_ed4c .o_aigc_featured_card .o_aigc_ebook_cover_image { height:230px; padding:22px; background:#f3f1eb; }.o_aigc_page_ed4c .o_aigc_featured_card .o_aigc_ebook_cover_image img { object-fit:contain; opacity:1; filter:drop-shadow(5px 8px 6px #10233f25); }
.o_aigc_page_ed4c .o_aigc_featured_placeholder { height:210px; background:linear-gradient(100deg,#16314d 5%,#46617a 6%,#193653 8%,#10233f); border:20px solid #f3f1eb; border-radius:8px; }
.o_aigc_page_ed4c .o_aigc_video_lib { background:#f5f7fa; padding-bottom:60px; }
.o_aigc_page_ed4c .o_aigc_filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:28px; }
.o_aigc_page_ed4c .o_aigc_filter { min-height:40px; padding:9px 18px; border:1px solid #dce3e9; border-radius:999px; background:#fff; color:#476078; font-size:.78rem; line-height:1.4; transition:background .2s,color .2s,box-shadow .2s; }
.o_aigc_page_ed4c .o_aigc_filter:hover { background:#eee8d9; border-color:#d7bd82; color:#10233f; }
.o_aigc_page_ed4c .o_aigc_filter.is-active { border-color:#173550; background:#173550; color:#f4d897; box-shadow:0 4px 12px #10233f16; }
.o_aigc_page_ed4c .o_aigc_video_grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.o_aigc_page_ed4c .o_aigc_video_card { border:0; border-radius:17px; box-shadow:0 6px 25px #10233f09; transition:transform .3s ease,box-shadow .3s ease; }
.o_aigc_page_ed4c :is(.o_aigc_video_card,.o_aigc_featured_card):hover { transform:translateY(-5px); box-shadow:0 16px 35px #10233f14; }
.o_aigc_page_ed4c .o_aigc_video_media { aspect-ratio:16/9; }
.o_aigc_page_ed4c .o_aigc_video_thumb { opacity:1; object-position:center; }.o_aigc_page_ed4c .o_aigc_video_card:hover .o_aigc_video_thumb { opacity:1; transform:scale(1.03); }
.o_aigc_page_ed4c .o_aigc_video_media:after { background:linear-gradient(180deg,transparent 70%,#10233f30); pointer-events:none; }
.o_aigc_page_ed4c .o_aigc_play { left:50%; bottom:50%; width:50px; height:50px; transform:translate(-50%,50%); background:#fff9edeb; color:#173550; box-shadow:0 5px 22px #071d3535; transition:transform .3s ease,box-shadow .3s ease,background .3s ease; }
.o_aigc_page_ed4c .o_aigc_video_card:hover .o_aigc_play { transform:translate(-50%,50%) scale(1.04); background:#edd18a; box-shadow:0 0 25px #e7c57735; }
.o_aigc_page_ed4c .o_aigc_video_body { padding:24px 27px 26px; }.o_aigc_page_ed4c .o_aigc_video_body h3 { font-size:1.08rem; min-height:0; line-height:1.5; margin-bottom:9px; }
.o_aigc_page_ed4c .o_aigc_video_body>p { font-size:.86rem; line-height:1.8; min-height:0; margin-bottom:22px; }
.o_aigc_page_ed4c .o_aigc_card_category { color:#7b612d; font-size:.65rem; letter-spacing:.07em; }.o_aigc_page_ed4c .o_aigc_card_link { font-size:.82rem; }
.o_aigc_page_ed4c .o_aigc_status { padding:4px 9px; font-size:.63rem; }.o_aigc_page_ed4c .o_aigc_duration { font-size:.68rem; padding:4px 9px; background:#10233fdb; }
.o_aigc_page_ed4c .o_aigc_cta { padding:55px 0; background:radial-gradient(ellipse at 85% 0,#51718b35,transparent 50%),linear-gradient(120deg,#10233f,#193c59); overflow:hidden; }
.o_aigc_page_ed4c .o_aigc_cta:before { content:''; position:absolute; width:310px; height:310px; right:6%; top:-140px; border:1px solid #e2c07820; border-radius:50%; pointer-events:none; }
.o_aigc_page_ed4c .o_aigc_cta_inner { position:relative; }.o_aigc_page_ed4c .o_aigc_cta h2 { max-width:580px; font-size:clamp(1.4rem,2.4vw,1.85rem); line-height:1.4; margin-bottom:10px; }
.o_aigc_page_ed4c .o_aigc_cta p { color:#b8cede; font-size:.85rem; line-height:1.8; max-width:580px; }
.o_aigc_page_ed4c .o_aigc_button { background:#ebca80; color:#10233f; padding:14px 23px; border-radius:10px; font-size:.85rem; }
.o_aigc_page_ed4c :is(a,button):focus-visible { outline:3px solid #b58b32; outline-offset:4px; }.o_aigc_page_ed4c .o_aigc_video_media:focus-visible { outline-offset:-5px; }
@keyframes ed-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes ed-path-travel { to { stroke-dashoffset:-130; } }
@media(max-width:1199.98px) and (min-width:992px) { .ed-adventure { height:380px; }.o_aigc_page_ed4c .o_aigc_hero h1 { font-size:2.5rem; } }
@media(max-width:991.98px) { .o_aigc_page_ed4c .o_aigc_hero .row { --bs-gutter-y:2rem; }.ed-adventure { height:420px; }.o_aigc_page_ed4c .o_aigc_hero_desc { max-width:580px; }.o_aigc_page_ed4c .o_aigc_cta_inner { flex-wrap:wrap; gap:23px; } }
@media(max-width:767.98px) {
    .o_aigc_page_ed4c .o_aigc_hero { padding:28px 0 32px; }.o_aigc_page_ed4c .o_aigc_hero h1 { font-size:clamp(1.9rem,6.9vw,2.7rem); letter-spacing:-.045em; }.o_aigc_page_ed4c .o_aigc_hero_desc { font-size:.9rem; }
    .o_aigc_page_ed4c .o_aigc_hero_logo_box { margin-bottom:17px; }.o_aigc_page_ed4c .o_aigc_btn { width:auto; }.o_aigc_page_ed4c .o_aigc_hero .row>* { min-width:0; }
    .ed-adventure { height:350px; border-radius:18px; }.ed-adventure-top { inset:17px 17px auto; font-size:.53rem; }.ed-world { top:50px; height:240px; }.ed-adventure-bottom { left:17px; right:17px; bottom:13px; }
    .ed-block-stack { top:18%; left:6%; }.ed-block-stack span { font-size:.46rem; min-width:76px; padding:5px 8px; }.ed-map-label { font-size:.46rem; padding:4px 6px; gap:4px; }.ed-label-think { top:65%; left:7%; }.ed-label-plan { top:76%; }.ed-label-code { top:64%; right:15%; }.ed-label-solve { top:30%; right:9%; }
    .o_aigc_page_ed4c .o_aigc_section { padding:36px 0; }.o_aigc_page_ed4c .o_aigc_hub_body { padding:23px; }.o_aigc_page_ed4c .o_aigc_featured_head { align-items:flex-start; flex-direction:column; gap:12px; }
    .o_aigc_page_ed4c .o_aigc_featured_empty { flex-direction:column; text-align:center; padding:28px; gap:24px; }.ed-library-art { flex-basis:110px; }
    .o_aigc_page_ed4c .o_aigc_filters { gap:8px; }.o_aigc_page_ed4c .o_aigc_filter { font-size:.73rem; padding:8px 14px; }
    .o_aigc_page_ed4c .o_aigc_video_grid { grid-template-columns:1fr; gap:22px; }.o_aigc_page_ed4c .o_aigc_video_body { padding:22px; }.o_aigc_page_ed4c .o_aigc_cta { padding:38px 0; }
}
@media(prefers-reduced-motion:reduce) { .o_aigc_page_ed4c *, .o_aigc_page_ed4c *:before, .o_aigc_page_ed4c *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.o_aigc_page_ed4c .o_aigc_reveal { opacity:1; transform:none; } }
/* Engineering-specific composition, following the ICODE spacing and card system. */
.o_aigc_page_ed4c .o_aigc_hero h1 { font-size:clamp(2.2rem,3.6vw,3.2rem); }
.ed-process { position:absolute; bottom:80px; left:22px; right:22px; display:flex; justify-content:space-between; gap:5px; }
.ed-process span { color:#d3e2ed; font-size:.55rem; background:#102c46; border:1px solid #ffffff20; border-radius:6px; padding:6px 8px; }
.ed-process span:nth-child(4) { color:#efd18a; border-color:#dfbb6755; }
.ed-world { top:35px; height:300px; }
.ed-prototype { animation:ed-float 10s ease-in-out infinite; }
.ed-idea { animation:ed-float 8s ease-in-out infinite; }
.ed-notebook { animation:ed-float 12s ease-in-out infinite; }
@media(max-width:1199.98px) and (min-width:992px) { .ed-world { top:28px; height:270px; }.ed-process { bottom:73px; left:15px; right:15px; }.ed-process span { padding:5px; font-size:.5rem; } }
@media(max-width:767.98px) { .o_aigc_page_ed4c .o_aigc_hero h1 { font-size:clamp(1.9rem,7.5vw,2.6rem); }.ed-world { top:35px; height:240px; }.ed-process { bottom:77px; left:12px; right:12px; }.ed-process span { font-size:.47rem; padding:5px; } }
@media(prefers-reduced-motion:reduce) { .ed-prototype,.ed-idea,.ed-notebook { animation:none; } }
