/* CodEnfant visual system v2 — preview shell, native Elementor content. */
.ce-system-page{padding-block:64px 80px;min-height:55vh}
.ce-system-intro{max-width:850px;margin-bottom:40px;line-height:1.75}
.ce-system-intro h1{font-size:clamp(30px,4vw,46px);line-height:1.2;color:#0A1F44}
.ce-system-intro a:not(.ce-cta){color:#1155CC;text-decoration:underline}
.ce-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ce-system-card{border:1px solid #DCE4EF;border-radius:20px;overflow:hidden}
.ce-system-card>div{padding:26px}.ce-system-card h2{font-size:24px;line-height:1.3;margin:0 0 16px}
.ce-system-card h2 a{color:#0A1F44}.ce-system-card p{color:#536078;line-height:1.8}
.ce-system-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.ce-system-link{color:#1155CC;text-decoration:underline;font-weight:700}
.ce-system-search{max-width:620px;margin:28px 0}.ce-system-search label{display:block;font-weight:700;margin-bottom:8px}
.ce-system-search>div{display:flex;gap:12px}.ce-system-search input[type=search]{width:100%;min-width:0;border:1px solid #B8C6DA;border-radius:8px;padding:12px;background:white;color:#0A1F44;font:inherit}
.ce-system-search button{background:#1155CC;color:white;padding:12px 18px;border-radius:8px;font:700 14px/1.5 system-ui;cursor:pointer}
.ce-system-search input:focus-visible,.ce-system-search button:focus-visible{outline:3px solid #1155CC;outline-offset:3px}
.ce-system-page .nav-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.ce-system-page .page-numbers{padding:10px 14px;background:#EEF3FF;color:#0A1F44;border-radius:6px}.ce-system-page .page-numbers.current{background:#1155CC;color:white}
.ce-system-page .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.ce-system-grid{grid-template-columns:1fr}.ce-system-page{padding-block:40px}.ce-system-search>div{flex-direction:column}.ce-system-card>div{padding:22px}}

.ce-article-next{margin-top:40px;padding:28px;background:#F2F6FF;border:1px solid #DCE6FA;border-radius:20px}
.ce-article-next h2{margin-top:0!important}.ce-article-next a{overflow-wrap:anywhere}
.ce-article-next .ce-editorial-button{text-decoration:none}
@media(max-width:767px){.ce-article-next{padding:22px}.ce-article-next .ce-editorial-button{display:block;text-align:center}}

.ce-native-faq details{border:1px solid #E0E6F0;border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}
.ce-native-faq summary{position:relative;list-style:none;cursor:pointer;padding:22px 64px 22px 24px;font:700 16px/1.5 Manrope,system-ui,sans-serif;color:#0A1F44}
.ce-native-faq summary::-webkit-details-marker{display:none}
.ce-native-faq summary:after{content:"+";position:absolute;right:20px;top:20px;display:grid;place-items:center;background:#EEF3FF;color:#1155CC;width:30px;height:30px;border-radius:50%;font-size:22px}
.ce-native-faq details[open]>summary:after{content:"−";background:#1155CC;color:white}
.ce-native-faq summary:focus-visible{outline:3px solid #1155CC;outline-offset:-4px}
.ce-native-faq-answer{padding:0 24px 22px;color:#536078;font:400 16px/1.7 Manrope,system-ui,sans-serif}
.ce-native-faq-answer p{margin:0 0 12px}.ce-native-faq-answer p:last-child{margin-bottom:0}
.ce-site .ce-method-v2 .elementor-widget-text-editor,.ce-site .ce-method-v2 .elementor-widget-text-editor p{color:#E2EAF6!important}
.ce-site .ce-hero-photo img{width:auto!important;height:auto!important;max-width:100%;max-height:460px}
@media(max-width:1024px){.ce-site .ce-hero-photo img{max-height:360px}}
@media(max-width:767px){.ce-site .ce-hero-photo img{max-height:320px}}

.ce-site{--ce-purple:#6953B5;--ce-mint:#DDF4E8}
.ce-header{border-bottom:0}.ce-navrow{min-height:82px}.ce-cta{border-radius:50px}
.elementor-1849 .elementor-button{border-radius:12px;transition:background-color .18s ease,box-shadow .18s ease}
.elementor-1849 .elementor-button:hover{box-shadow:0 6px 18px #0A1F4414}
.ce-hero-v2{position:relative;isolation:isolate;overflow:hidden}
.ce-hero-v2:before{content:"";position:absolute;width:460px;height:460px;right:-270px;bottom:-220px;border:56px solid #DDE8FF;border-radius:50%;z-index:-1;pointer-events:none}
.ce-highlight{color:#1155CC;position:relative}
.ce-eyebrow-pill .elementor-heading-title{display:inline-flex;background:#fff;border:1px solid #D4DFF4;border-radius:50px;padding:10px 15px;font-size:11px;letter-spacing:1.1px}
.ce-hero-art{position:relative;isolation:isolate;min-height:470px}
.ce-hero-art:before{content:"";position:absolute;inset:17px -16px -17px 20px;background:#FFD451;border-radius:120px 120px 40px 120px;transform:rotate(5deg);z-index:-1;pointer-events:none}
.ce-hero-art:after{content:"";position:absolute;width:70px;height:70px;right:-22px;top:72px;background:#6953B5;clip-path:polygon(50% 0,59% 35%,85% 15%,65% 41%,100% 50%,65% 59%,85% 85%,59% 65%,50% 100%,41% 65%,15% 85%,35% 59%,0 50%,35% 41%,15% 15%,41% 35%);z-index:3;pointer-events:none}
.ce-hero-photo{width:100%;align-self:flex-end;margin-top:20px}
.ce-hero-photo img{width:100%;max-height:460px;object-fit:contain;border-radius:100px 100px 32px 100px!important}
.ce-float-badge{position:absolute!important;z-index:5;background:#fff;box-shadow:0 12px 40px #0A1F441A;border-radius:16px;border:1px solid #E6EBF2;padding:16px 22px!important;width:auto!important;max-width:250px}
.ce-badge-top{left:-28px;top:24px;transform:rotate(-4deg)}
.ce-badge-top .elementor-heading-title{line-height:1.45!important}
.ce-badge-bottom{bottom:8px;right:-8px;background:#0A1F44;border-color:#0A1F44;transform:rotate(3deg)}
.ce-badge-bottom .elementor-heading-title{color:#fff!important;line-height:1.4!important}
.ce-benefit{position:relative;border:1px solid #0A1F4406}
.ce-benefit:before{content:"";display:block;width:26px;height:5px;border-radius:10px;background:#1155CC;margin-bottom:5px}
.ce-benefit-0:before{background:#D49900}.ce-benefit-2:before{background:#237557}
.ce-courses-v2{background-image:radial-gradient(#E3E9F2 .8px,transparent .8px);background-size:19px 19px}
.ce-course{box-shadow:0 6px 20px #0A1F4406;transition:box-shadow .18s ease}
.ce-course:hover{box-shadow:0 12px 30px #0A1F4412}
.ce-course .ce-course-image img{border-radius:16px 16px 44px 16px!important;object-fit:cover!important;object-position:center}
.ce-site .ce-course-image img{object-fit:cover!important;object-position:center}
.ce-course-tag .elementor-heading-title{display:inline-block;font-size:10px!important;letter-spacing:1px!important;padding:7px 10px;border-radius:6px;background:#EDF3FF;color:#1155CC}
.ce-scratch .ce-course-tag .elementor-heading-title{background:#FFF1D8;color:#8B5005}
.ce-arduino .ce-course-tag .elementor-heading-title{background:#DEF5E9;color:#176246}
.ce-python .ce-course-tag .elementor-heading-title{background:#FFF4BF;color:#765405}
.ce-ai .ce-course-tag .elementor-heading-title{background:#EEE8FF;color:#5B429D}
.ce-project-note{border-top:1px solid #E7EBF3;padding-top:12px}
.ce-course .elementor-widget-button{margin-top:auto}
.ce-guidance-card{position:relative;overflow:hidden;border-radius:24px!important}
.ce-guidance-card:before{content:"";width:150px;height:150px;border:30px solid #ffffff15;position:absolute;right:-55px;top:-55px;border-radius:50%;pointer-events:none}
.ce-guidance-card:after{content:"";width:45px;height:45px;position:absolute;right:24px;bottom:24px;border:8px solid #FFD45155;border-radius:8px;transform:rotate(15deg);pointer-events:none}
.ce-method-v2{position:relative;overflow:hidden;border-radius:48px 48px 0 0}
.ce-method-v2:before{content:"";position:absolute;width:330px;height:330px;left:-170px;bottom:-170px;border:55px solid #ffffff0A;border-radius:50%;pointer-events:none}
.ce-schools-v2{border-top:1px solid #D4EBDD;border-bottom:1px solid #D4EBDD}
.ce-faq-accordion .elementor-accordion-item{border:1px solid #E0E6F0!important;border-radius:14px;margin-bottom:12px;overflow:hidden;background:#fff}
.ce-faq-accordion .elementor-tab-title{position:relative;padding-right:64px!important;line-height:1.5}
.ce-faq-accordion .elementor-tab-title:after{content:"+";position:absolute;right:20px;top:20px;display:grid;place-items:center;background:#EEF3FF;color:#1155CC;width:30px;height:30px;border-radius:50%;font-size:22px;font-weight:500}
.ce-faq-accordion .elementor-tab-title.elementor-active:after{content:"−";background:#1155CC;color:#fff}
.ce-faq-accordion .elementor-tab-content{border-top:0!important}
.ce-faq-accordion .elementor-tab-title:focus-visible{outline:3px solid #1155CC;outline-offset:-3px}
.ce-contact-section{position:relative;overflow:hidden}
.ce-contact-intro{padding-top:24px!important}
.ce-contact-intro a:not(.elementor-button){color:#1155CC;text-decoration:underline;text-underline-offset:3px;line-height:2}
.ce-site .elementor-widget-text-editor p a,.ce-site .ce-native-faq-answer a{text-decoration:underline;text-underline-offset:3px}
.ce-form-card{font-family:Manrope,system-ui,sans-serif;background:#fff;color:#0A1F44;padding:32px;border:1px solid #DFE6F1;border-radius:24px;box-shadow:0 14px 45px #0A1F440A;text-align:left}
.ce-form-tag{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#1155CC}
.ce-form-heading h2,.ce-form-heading h3{font-size:25px;font-weight:800;line-height:1.3;margin:10px 0}
.ce-form-heading p{font-size:12px;color:#65718A;margin:0 0 24px}
.ce-contact-form{display:grid;gap:19px}
.ce-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ce-contact-form label>.ce-field-label{font-size:13px;font-weight:700;color:#0A1F44}.ce-field-label small{font-size:11px;font-weight:400;color:#536078}
.ce-contact-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}
.ce-contact-form label>span{font-size:12px;font-weight:500;color:#536078}
.ce-contact-form input:not([type=checkbox]),.ce-contact-form select,.ce-contact-form textarea{width:100%;max-width:100%;min-width:0;background:#F8FAFD;border:1px solid #D6DEEB;border-radius:9px;padding:12px 13px;color:#0A1F44;font:400 14px/1.5 Manrope,system-ui,sans-serif;min-height:46px;box-shadow:none}
.ce-contact-form input::placeholder,.ce-contact-form textarea::placeholder{color:#536078;opacity:1}
.ce-contact-form input:focus,.ce-contact-form select:focus,.ce-contact-form textarea:focus{outline:2px solid #1155CC;outline-offset:2px;border-color:#1155CC}
.ce-contact-form textarea{resize:vertical}
.ce-contact-form label.ce-consent{flex-direction:row;align-items:flex-start;gap:10px}
.ce-consent input{appearance:auto;width:17px;height:17px;flex:0 0 17px;margin-top:3px;accent-color:#1155CC}
.ce-consent span{line-height:1.6}
.ce-contact-form button{width:100%;padding:16px 20px;border:0;border-radius:10px;background:#1155CC;color:#fff;font:800 15px/1.4 Manrope,system-ui,sans-serif;display:flex;justify-content:space-between;cursor:pointer}
.ce-contact-form button:hover{background:#0B43A7}.ce-contact-form button:focus-visible{outline:3px solid #0A1F44;outline-offset:3px}
.ce-contact-form .ce-form-note{font-size:11px;color:#68758A;margin:0;text-align:center}
.ce-preview-note{font-size:11px;color:#775407;background:#FFF6D8;padding:9px 12px;border-radius:8px;margin:0}
.ce-form-status,.ce-form-feedback{padding:15px;border:1px solid #AEC8FF;border-radius:10px;background:#EFF5FF;color:#0A1F44;font-size:14px;line-height:1.6}
.ce-form-feedback[hidden]{display:none}
.ce-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:1024px){.ce-hero-art{min-height:390px}.ce-hero-photo img{height:360px!important}.ce-float-badge{padding:12px 14px!important;max-width:210px}.ce-badge-top{left:-8px;top:14px}.ce-badge-bottom{right:0}.ce-form-card{padding:24px}.ce-form-grid{grid-template-columns:1fr}.ce-course .elementor-heading-title{overflow-wrap:normal}}
@media(max-width:767px){.ce-hero-art{min-height:355px;margin:20px auto 10px;max-width:440px}.ce-hero-art:before{inset:15px -5px -12px 12px;border-radius:90px 90px 32px 90px}.ce-hero-art:after{right:-4px;top:80px;width:48px;height:48px}.ce-hero-photo img{height:320px!important}.ce-badge-top{left:-4px;top:8px}.ce-badge-bottom{right:0;bottom:0}.ce-badge-top .elementor-heading-title{font-size:14px!important}.ce-badge-bottom .elementor-heading-title{font-size:16px!important}.ce-eyebrow-pill .elementor-heading-title{font-size:9px!important;letter-spacing:.7px;padding:9px 12px}.ce-course{max-width:480px;margin-inline:auto}.ce-method-v2{border-radius:28px 28px 0 0}.ce-contact-intro{padding-top:0!important}.ce-form-card{padding:24px 20px}.ce-form-heading h3{font-size:22px}.ce-contact-form{gap:17px}}
@media(min-width:768px) and (max-width:900px){.ce-course .elementor-widget-heading h3{font-size:21px!important}.ce-course .ce-course-image img{height:170px!important}.ce-course-tag .elementor-heading-title{font-size:9px!important}}
