/* Scoped to Coding & Crafting. Loaded after the shared learning-hub styles. */
.o_aigc_page_tech4good_crafting {
    --navy: #10233f;
    --navy-2: #142d4c;
    --gold: #dfbb67;
    --muted: #586b80;
    --light: #f5f7fa;
    font-family: 'Montserrat';
    font-weight: 500;
    background: #fff;
}
body:has(.o_aigc_page_tech4good_crafting) :is(#wrapwrap, #aigcVideoModal),
body:has(.o_aigc_page_tech4good_crafting) :is(#wrapwrap, #aigcVideoModal) *:not(.fa):not(.oi) {
    font-family: 'Montserrat';
    font-weight: 500;
    font-synthesis: none;
}
.o_aigc_page_tech4good_crafting .o_aigc_breadcrumb { background: #10233f; border-color: #ffffff12; padding: 15px 0; }
.o_aigc_page_tech4good_crafting .o_aigc_crumbs { font-size: .75rem; }
.o_aigc_page_tech4good_crafting .o_aigc_hero {
    padding: 38px 0 46px;
    background: radial-gradient(ellipse at 78% 50%, #2a496750, transparent 50%), linear-gradient(115deg, #10233f, #142d4c);
}
.o_aigc_page_tech4good_crafting .o_aigc_hgrid { opacity: .1; background-image: radial-gradient(#d5e3ee 1px, transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(90deg, transparent 25%, #000); }
.o_aigc_page_tech4good_crafting .o_aigc_competition_flag { font-size: .6rem; letter-spacing: .1em; gap: 10px; margin-bottom: 22px; flex-wrap: wrap; }
.o_aigc_page_tech4good_crafting .o_aigc_competition_flag span:first-child { background: #dfbb6714; color: #ebcc86; border: 1px solid #dfbb6740; box-shadow: none; border-radius: 6px; }
.o_aigc_page_tech4good_crafting .o_aigc_hero_kicker { color: #becedf; font-size: .7rem; letter-spacing: .13em; margin-bottom: 14px; }
.o_aigc_page_tech4good_crafting .o_aigc_hero h1 { font-size: clamp(3.2rem, 5.6vw, 4.9rem); line-height: 1.04; letter-spacing: -.055em; margin-bottom: 22px; }
.o_aigc_page_tech4good_crafting .o_aigc_hero h1 em { display: inline-block; font-size: 1em; color: #edcb80; text-shadow: 0 4px 28px #dfbb6712; }
.o_aigc_page_tech4good_crafting .o_aigc_hero_desc { max-width: 510px; font-size: .95rem; line-height: 1.85; color: #c7d4e2; margin-bottom: 26px; }
.o_aigc_page_tech4good_crafting .o_aigc_btn_light { background: #ebca82; color: #10233f; box-shadow: 0 8px 22px #030c1b26; padding: 14px 24px; border-radius: 10px; font-size: .85rem; }
.o_aigc_page_tech4good_crafting .o_aigc_btn_secondary { border: 1px solid #ffffff36; border-radius: 10px; padding: 14px 22px; font-size: .85rem; }
.o_aigc_page_tech4good_crafting .o_aigc_robot_stage { min-height: 380px; margin: 0; }
.o_aigc_page_tech4good_crafting .o_aigc_robot_stage img { width: 100%; max-height: 390px; animation: cc-float 8s ease-in-out infinite; }
.o_aigc_page_tech4good_crafting .o_aigc_robot_stage:before { inset: 9% 12%; border-color: #dfbb6729; background: radial-gradient(circle, #7296ae12, transparent 70%); }
.o_aigc_page_tech4good_crafting .o_aigc_robot_glow { opacity: .4; }
.cc-science { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.cc-circuit { position: absolute; inset: 0; width: 100%; height: 100%; stroke: #c5d9e8; stroke-width: 1; opacity: .16; }
.cc-circuit path { stroke-dasharray: 7 14; animation: cc-circuit 32s linear infinite; }
.cc-orbit { position: absolute; inset: 7% 6%; border: 1px solid #dfbb672c; border-radius: 50%; transform: rotate(-20deg); animation: cc-orbit 40s ease-in-out infinite alternate; }
.cc-orbit:after { content: ''; position: absolute; left: 15%; top: 10%; width: 6px; height: 6px; background: #ddbf7d; border-radius: 50%; }
.cc-particle { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #e5c980; opacity: .6; animation: cc-float 10s ease-in-out infinite; }
.cc-particle-one { left: 8%; top: 60%; }.cc-particle-two { right: 12%; top: 18%; animation-delay: -4s; }
.cc-bulb { position: absolute; right: 4%; bottom: 20%; width: 35px; stroke: #dfbb67; stroke-width: 1.5; opacity: .65; animation: cc-float 12s ease-in-out infinite; }
.o_aigc_page_tech4good_crafting .o_aigc_section { padding: 52px 0; }
.o_aigc_page_tech4good_crafting .o_aigc_hubs { background: #f6f8fb; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_grid { gap: 26px; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_card { border: 0; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px #10233f08; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_card:hover { transform: translateY(-5px); box-shadow: 0 16px 36px #10233f12; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_visual { height: 190px; background: radial-gradient(ellipse at 50% 100%, #e1d8c5, transparent 65%), #f2efe8; overflow: hidden; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_visual_alt { background: radial-gradient(ellipse at 55% 80%, #46627c, transparent 75%), #18334f; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_body { padding: 27px 30px 30px; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_label { color: #79612e; font-size: .62rem; letter-spacing: .13em; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_body h2 { font-size: 1.5rem; margin: 10px 0 13px; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_body p { line-height: 1.8; font-size: .88rem; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_link { margin-top: 18px; font-size: .83rem; }
.cc-books { position: relative; width: 220px; height: 170px; perspective: 700px; transition: transform .4s ease; }
.cc-book { position: absolute; width: 98px; height: 136px; top: 18px; border-radius: 4px 9px 9px 4px; border-left: 7px solid #ffffff24; box-shadow: 10px 14px 20px #10233f20; }
.cc-book-back { left: 25px; background: #cda754; transform: rotate(-15deg); }
.cc-book-front { left: 85px; background: linear-gradient(135deg, #284563, #10233f); transform: rotate(10deg); color: #ead197; padding: 10px; }
.cc-book-front svg { display: block; width: 65px; height: 65px; stroke: #e7c77f; stroke-width: 1.5; }
.cc-book-front small { display: block; font-size: 8px; line-height: 1.8; letter-spacing: .15em; }
.cc-book-pencil { position: absolute; right: 9px; bottom: 12px; width: 7px; height: 105px; border-radius: 3px; background: linear-gradient(#10233f 12%, #dfbb67 12% 90%, #a38145 90%); transform: rotate(24deg); }
.cc-video-scene { position: relative; width: 245px; height: 150px; transition: transform .4s ease; }
.cc-video-window { position: absolute; inset: 5px 10px 15px; border: 1px solid #ffffff38; border-radius: 11px; background: linear-gradient(135deg, #ffffff15, #ffffff05); box-shadow: 10px 15px 25px #07152638; transform: rotate(-5deg); }
.cc-video-window svg { width: 100%; height: 100%; stroke: #c1d6e2; stroke-width: 1.5; opacity: .65; }
.cc-video-play { position: absolute; top: 38px; left: 88px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #e8c77e; color: #10233f; font-size: 16px; padding-left: 3px; box-shadow: 0 6px 20px #10233f30; }
.cc-video-timeline { position: absolute; bottom: 0; left: 20px; right: 20px; height: 4px; background: linear-gradient(90deg, #e8c77e 35%, #ffffff25 35%); border-radius: 4px; }
.o_aigc_page_tech4good_crafting .o_aigc_hub_card:hover :is(.cc-books, .cc-video-scene) { transform: translateY(-4px) rotate(2deg); }
.o_aigc_page_tech4good_crafting .o_aigc_featured_ebooks { background: #fff; }
.o_aigc_page_tech4good_crafting .o_aigc_section_header h2 { font-size: clamp(1.6rem, 2.6vw, 2rem); letter-spacing: -.035em; }
.o_aigc_page_tech4good_crafting .o_aigc_section_header p { font-size: .9rem; line-height: 1.8; }
.o_aigc_page_tech4good_crafting .o_aigc_featured_head { margin-bottom: 28px; }
.o_aigc_page_tech4good_crafting .o_aigc_featured_all { font-size: .8rem; }
.o_aigc_page_tech4good_crafting .o_aigc_featured_empty { position: relative; display: flex; align-items: center; justify-content: center; gap: 44px; min-height: 180px; padding: 26px 35px; border: 0; border-radius: 18px; background: radial-gradient(ellipse at 20% 100%, #e9ddc1a0, transparent 55%), #f6f4ee; text-align: left; }
.o_aigc_page_tech4good_crafting .o_aigc_featured_empty > .fa { display: none; }
.o_aigc_page_tech4good_crafting .o_aigc_featured_empty p { margin: 0; max-width: 300px; font-size: .95rem; line-height: 1.85; color: #52647a; }
.cc-library-art { position: relative; order: -1; width: 155px; height: 120px; flex: 0 0 155px; border-bottom: 6px solid #ccb98d; }
.cc-library-art > span { position: absolute; bottom: 0; left: 12px; width: 22px; height: 91px; background: #193653; border-radius: 4px 4px 0 0; border-top: 9px solid #dfbb67; }
.cc-library-art > span:nth-child(2) { left: 39px; height: 108px; background: #d6b569; border-color: #fff9; }
.cc-library-art > span:nth-child(3) { left: 69px; height: 82px; background: #6b8998; transform: rotate(-9deg); }
.cc-library-art svg { position: absolute; right: -20px; bottom: -8px; width: 80px; height: 80px; stroke: #23415b; stroke-width: 1.5; fill: #fffcf3; transform: rotate(8deg); }
.o_aigc_page_tech4good_crafting .o_aigc_featured_card { border: 0; border-radius: 16px; box-shadow: 0 5px 24px #10233f0c; }
.o_aigc_page_tech4good_crafting .o_aigc_featured_card .o_aigc_ebook_cover_image { height: 230px; padding: 22px; background: #f3f1eb; }
.o_aigc_page_tech4good_crafting .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_tech4good_crafting .o_aigc_featured_placeholder { height: 210px; background: linear-gradient(100deg, #16314d 5%, #3b5470 6%, #193653 8%, #10233f); border: 20px solid #f3f1eb; border-radius: 8px; }
.o_aigc_page_tech4good_crafting .o_aigc_video_lib { background: #f5f7fa; padding-bottom: 72px; }
.o_aigc_page_tech4good_crafting .o_aigc_video_grid { gap: 28px; }
.o_aigc_page_tech4good_crafting .o_aigc_video_card { border: 0; border-radius: 16px; box-shadow: 0 6px 24px #10233f08; transition: transform .3s ease, box-shadow .3s ease; }
.o_aigc_page_tech4good_crafting :is(.o_aigc_video_card, .o_aigc_featured_card):hover { transform: translateY(-5px); box-shadow: 0 15px 32px #10233f12; }
.o_aigc_page_tech4good_crafting .o_aigc_video_thumb { opacity: 1; object-position: center; }
.o_aigc_page_tech4good_crafting .o_aigc_video_card:hover .o_aigc_video_thumb { opacity: 1; transform: scale(1.03); }
.o_aigc_page_tech4good_crafting .o_aigc_video_media:after { background: linear-gradient(180deg, transparent 65%, #10233f26); pointer-events: none; }
.o_aigc_page_tech4good_crafting .o_aigc_play { left: 50%; bottom: 50%; width: 46px; height: 46px; transform: translate(-50%, 50%); background: #fffcf2ed; color: #142d4c; box-shadow: 0 5px 20px #10233f24; transition: transform .3s ease, background .3s ease; }
.o_aigc_page_tech4good_crafting .o_aigc_video_card:hover .o_aigc_play { transform: translate(-50%, 50%) scale(1.04); background: #ebca82; }
.o_aigc_page_tech4good_crafting .o_aigc_video_body { padding: 23px 24px 25px; }
.o_aigc_page_tech4good_crafting .o_aigc_video_body h3 { font-size: 1.03rem; line-height: 1.5; min-height: 3em; margin-bottom: 9px; }
.o_aigc_page_tech4good_crafting .o_aigc_video_body > p { font-size: .81rem; line-height: 1.8; min-height: 3.6em; margin-bottom: 20px; }
.o_aigc_page_tech4good_crafting .o_aigc_card_category { color: #806329; letter-spacing: .05em; font-size: .64rem; }
.o_aigc_page_tech4good_crafting .o_aigc_status { font-size: .6rem; padding: 5px 8px; }
.o_aigc_page_tech4good_crafting :is(.o_aigc_video_index, .o_aigc_duration) { background: #10233fdb; border-radius: 6px; font-size: .65rem; }
.o_aigc_page_tech4good_crafting :is(a, button):focus-visible { outline: 3px solid #b58b32; outline-offset: 4px; }
.o_aigc_page_tech4good_crafting .o_aigc_video_media:focus-visible { outline-offset: -5px; }
@keyframes cc-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes cc-orbit { from { transform: rotate(-20deg); } to { transform: rotate(-5deg); } }
@keyframes cc-circuit { to { stroke-dashoffset: -168; } }
@media (max-width: 991.98px) {
    .o_aigc_page_tech4good_crafting .o_aigc_hero .row { --bs-gutter-y: 1.5rem; }
    .o_aigc_page_tech4good_crafting .o_aigc_robot_stage { min-height: 300px; }
    .o_aigc_page_tech4good_crafting .o_aigc_robot_stage img { max-height: 310px; }
    .o_aigc_page_tech4good_crafting .o_aigc_video_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 767.98px) {
    .o_aigc_page_tech4good_crafting .o_aigc_hero { padding: 28px 0; }
    .o_aigc_page_tech4good_crafting .o_aigc_hero h1 { font-size: clamp(2.75rem, 11vw, 4rem); }
    .o_aigc_page_tech4good_crafting .o_aigc_hero_desc { font-size: .88rem; }
    .o_aigc_page_tech4good_crafting .o_aigc_hero_actions { gap: 12px; }
    .o_aigc_page_tech4good_crafting .o_aigc_btn { width: auto; }
    .o_aigc_page_tech4good_crafting .o_aigc_robot_stage { min-height: 250px; }
    .o_aigc_page_tech4good_crafting .o_aigc_robot_stage img { max-height: 260px; }
    .o_aigc_page_tech4good_crafting .o_aigc_section { padding: 36px 0; }
    .o_aigc_page_tech4good_crafting .o_aigc_hub_body { padding: 23px; }
    .o_aigc_page_tech4good_crafting .o_aigc_featured_head { align-items: flex-start; flex-direction: column; gap: 12px; }
    .o_aigc_page_tech4good_crafting .o_aigc_featured_empty { gap: 24px; padding: 28px; flex-direction: column; text-align: center; }
    .cc-library-art { flex-basis: 120px; }
    .o_aigc_page_tech4good_crafting .o_aigc_video_grid { grid-template-columns: 1fr; }
    .o_aigc_page_tech4good_crafting .o_aigc_video_body h3 { min-height: 0; }
    .o_aigc_page_tech4good_crafting .o_aigc_video_body > p { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .o_aigc_page_tech4good_crafting *, .o_aigc_page_tech4good_crafting *:before, .o_aigc_page_tech4good_crafting *:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .o_aigc_page_tech4good_crafting .o_aigc_reveal { opacity: 1; transform: none; }
}
