*{margin:0;padding:0;box-sizing:border-box}
:root{--primary-color:#8E8EB6;--secondary-color:#BAB9CC;--tertiary-color:#DFDDE2;--text-dark:#212529;--text-medium:#495057;--bg-light:#fff;--bg-subtle:#f8f9fa;--bg-cream:#fafbfc}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.7;color:var(--text-dark);min-height:100vh;display:flex;flex-direction:column;background:var(--bg-light)}
a{text-decoration:none;color:inherit;transition:color .25s ease,opacity .25s ease}
a:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}
header{background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-subtle) 100%);border-bottom:3px solid var(--tertiary-color);box-shadow:0 2px 12px #8e8eb614}
.header_top_row{max-width:1320px;margin:0 auto;padding:22px 40px 18px;display:flex;justify-content:space-between;align-items:center}
.logo_container_left{display:flex;align-items:center;gap:18px;z-index:10}
.logo_container_left img{height:85px;width:85px;object-fit:contain;object-position:center}
.company_name_right{font-size:1.75rem;font-weight:600;color:var(--text-dark);letter-spacing:-.3px}
.header_nav_row{background:linear-gradient(90deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-top:1px solid #fff3}
.navigation_fullwidth{max-width:1320px;margin:0 auto;padding:0 40px;display:flex;justify-content:center;align-items:center;gap:2px}
.nav_link_item{padding:18px 32px;color:var(--bg-light);font-size:1.05rem;font-weight:500;position:relative;transition:background-color .25s ease;border-right:1px solid #ffffff26}
.nav_link_item:first-child{border-left:1px solid #ffffff26}
.nav_link_item:hover{background:#ffffff1f}
.nav_link_item:focus-visible{outline:2px solid var(--bg-light);outline-offset:-4px}
main{flex:1;max-width:1320px;margin:0 auto;padding:60px 40px;width:100%}
footer{background:radial-gradient(ellipse at top,var(--secondary-color),var(--primary-color));color:var(--bg-light);padding:55px 40px 35px;margin-top:auto}
.footer_container_main{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:45px;margin-bottom:40px}
.footer_section_block{display:flex;flex-direction:column;gap:18px}
.footer_heading_text{font-size:1.3rem;font-weight:600;margin-bottom:8px;letter-spacing:.3px}
.footer_links_group{display:flex;flex-direction:column;gap:12px}
.footer_link_single{color:var(--bg-light);font-size:1rem;transition:opacity .25s ease;display:inline-block}
.footer_link_single:hover{opacity:.75}
.footer_link_single:focus-visible{outline:2px solid var(--bg-light);outline-offset:3px}
.footer_contact_info{display:flex;flex-direction:column;gap:10px}
.footer_contact_info a{color:var(--bg-light);transition:opacity .25s ease}
.footer_contact_info a:hover{opacity:.75}
.footer_logo_wrapper{display:flex;align-items:center;gap:15px;margin-bottom:15px}
.footer_logo_wrapper img{height:70px;width:70px;object-fit:contain;object-position:center}
.footer_brand_name{font-size:1.5rem;font-weight:600}
.footer_copyright_bar{border-top:1px solid #ffffff40;padding-top:28px;text-align:center;font-size:.95rem;opacity:.9}
@media (max-width: 968px) {
.header_top_row{flex-direction:column;gap:18px;padding:20px 30px;text-align:center}
.navigation_fullwidth{flex-wrap:wrap;padding:0 20px;gap:0}
.nav_link_item{padding:15px 20px;font-size:1rem;flex:1 1 auto;text-align:center;border-right:1px solid #ffffff26;border-bottom:1px solid #ffffff26}
.footer_container_main{grid-template-columns:1fr;gap:35px}
main{padding:40px 30px}
}
@media (max-width: 580px) {
.company_name_right{font-size:1.4rem}
.logo_container_left img{height:70px;width:70px}
.nav_link_item{padding:14px 16px;font-size:.95rem;flex-basis:100%}
.header_top_row{padding:18px 20px}
.navigation_fullwidth{padding:0 10px}
main{padding:30px 20px}
footer{padding:40px 20px 25px}
}
.consent_overlay_wrapper{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,#8e8eb6f7,#bab9ccf2);padding:28px 35px;box-shadow:0 -4px 20px #21252926;z-index:9999;border-top:3px solid var(--primary-color);display:none}
.consent_overlay_wrapper.active_state{display:block}
.consent_content_inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.consent_text_description{color:var(--text-dark);font-size:1.05rem;line-height:1.6}
.consent_text_description a{color:var(--text-dark);text-decoration:underline;font-weight:600}
.consent_text_description a:hover{opacity:.75}
.consent_buttons_group{display:flex;gap:15px;flex-wrap:wrap}
.consent_btn_action{padding:13px 30px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .25s ease,transform .2s ease;font-family:inherit}
.consent_btn_action:hover{opacity:.88;transform:translateY(-1px)}
.consent_btn_action:focus-visible{outline:3px solid var(--text-dark);outline-offset:3px}
.consent_btn_accept{color:var(--bg-light);background:var(--text-dark)}
.consent_btn_decline{color:var(--text-dark);border:2px solid var(--text-dark);background:var(--bg-light)}
@media (max-width: 680px) {
.consent_overlay_wrapper{padding:22px 20px}
.consent_buttons_group{flex-direction:column}
.consent_btn_action{width:100%}
}
.index-hero-fullscreen{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.index-hero-fullscreen::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#8e8eb6eb 0%,#bab9ccd9 100%);z-index:1}
.index-hero-bg-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}
.index-hero-content-wrapper{position:relative;z-index:2;text-align:center;padding:40px 20px;max-width:920px;margin:0 auto}
.index-hero-main-title{font-size:3.8rem;font-weight:700;color:#fff;margin-bottom:28px;line-height:1.15;letter-spacing:-.02em}
.index-hero-subtitle-text{font-size:1.45rem;color:#fff;margin-bottom:42px;line-height:1.6;font-weight:300}
.index-hero-cta-button{display:inline-block;padding:18px 48px;background:#fff;color:#8E8EB6;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s ease;box-shadow:0 8px 24px #00000026}
.index-hero-cta-button:hover{transform:translateY(-3px);box-shadow:0 12px 32px #00000040;background:#f8f9fa}
.index-intro-section{background:#fff;padding:95px 20px}
.index-intro-content-grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.index-intro-text-area h2{font-size:2.6rem;color:#212529;margin-bottom:26px;font-weight:700;line-height:1.25}
.index-intro-text-area p{font-size:1.1rem;color:#495057;line-height:1.75;margin-bottom:18px}
.index-intro-image-wrapper{width:100%;height:420px;border-radius:16px;overflow:hidden;box-shadow:0 12px 42px #8e8eb62e}
.index-intro-image-wrapper img{width:100%;height:100%;object-fit:cover}
.index-zigzag-section{background:linear-gradient(to bottom,#f8f9fa 0%,#fff 100%);padding:85px 20px}
.index-zigzag-container{max-width:1140px;margin:0 auto}
.index-zigzag-row{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;margin-bottom:75px}
.index-zigzag-row:nth-child(even){grid-template-columns:1fr 1.2fr}
.index-zigzag-row:nth-child(even) .index-zigzag-text{order:2}
.index-zigzag-row:nth-child(even) .index-zigzag-visual{order:1}
.index-zigzag-text h3{font-size:2.2rem;color:#212529;margin-bottom:22px;font-weight:700}
.index-zigzag-text p{font-size:1.05rem;color:#495057;line-height:1.7;margin-bottom:16px}
.index-zigzag-visual{width:100%;height:360px;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #bab9cc38}
.index-zigzag-visual img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.index-zigzag-visual:hover img{transform:scale(1.05)}
.index-process-section{background:#fff;padding:90px 20px;position:relative}
.index-process-wrapper{max-width:1040px;margin:0 auto}
.index-process-header{text-align:center;margin-bottom:65px}
.index-process-header h2{font-size:2.7rem;color:#212529;margin-bottom:18px;font-weight:700}
.index-process-header p{font-size:1.15rem;color:#495057;max-width:720px;margin:0 auto;line-height:1.65}
.index-process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.index-step-card{background:#f8f9fa;padding:38px 28px;border-radius:12px;text-align:center;transition:all .3s ease;border:2px solid transparent}
.index-step-card:hover{transform:translateY(-6px);border-color:#8E8EB6;box-shadow:0 12px 36px #8e8eb626}
.index-step-number{width:65px;height:65px;background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 24px}
.index-step-card h4{font-size:1.35rem;color:#212529;margin-bottom:16px;font-weight:600}
.index-step-card p{font-size:1rem;color:#495057;line-height:1.6}
.index-modules-section{background:linear-gradient(180deg,#f5f6fa 0%,#fafbfc 100%);padding:85px 20px}
.index-modules-container{max-width:1140px;margin:0 auto}
.index-modules-title{text-align:center;font-size:2.6rem;color:#212529;margin-bottom:55px;font-weight:700}
.index-modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}
.index-module-item{background:#fff;padding:35px 32px;border-radius:10px;border-left:5px solid #8E8EB6;box-shadow:0 4px 18px #bab9cc1f;transition:all .3s ease}
.index-module-item:hover{box-shadow:0 8px 28px #bab9cc38;transform:translateX(5px)}
.index-module-item h4{font-size:1.45rem;color:#212529;margin-bottom:14px;font-weight:600}
.index-module-item p{font-size:1.02rem;color:#495057;line-height:1.65}
.index-schedule-section{background:#fff;padding:95px 20px}
.index-schedule-wrapper{max-width:980px;margin:0 auto;text-align:center}
.index-schedule-wrapper h2{font-size:2.7rem;color:#212529;margin-bottom:28px;font-weight:700}
.index-schedule-intro{font-size:1.1rem;color:#495057;margin-bottom:48px;line-height:1.7}
.index-schedule-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;box-shadow:0 8px 28px #8e8eb624}
.index-schedule-table th{background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);color:#fff;padding:22px 18px;font-size:1.15rem;font-weight:600;text-align:left}
.index-schedule-table td{background:#f8f9fa;padding:20px 18px;font-size:1.02rem;color:#495057;border-bottom:1px solid #DFDDE2}
.index-schedule-table tr:last-child td{border-bottom:none}
.index-schedule-table tr:nth-child(even) td{background:#fafbfc}
.index-schedule-cta{margin-top:45px}
.index-schedule-button{display:inline-block;padding:18px 52px;background:#8E8EB6;color:#fff;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s ease;box-shadow:0 6px 20px #8e8eb640}
.index-schedule-button:hover{background:#BAB9CC;transform:translateY(-3px);box-shadow:0 10px 30px #8e8eb659}
.index-cta-final-section{background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);padding:95px 20px;text-align:center}
.index-cta-final-content{max-width:820px;margin:0 auto}
.index-cta-final-content h2{font-size:2.9rem;color:#fff;margin-bottom:26px;font-weight:700;line-height:1.2}
.index-cta-final-content p{font-size:1.2rem;color:#fff;margin-bottom:42px;line-height:1.65;opacity:.95}
.index-cta-button-group{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.index-cta-primary-btn{display:inline-block;padding:18px 48px;background:#fff;color:#8E8EB6;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s ease;box-shadow:0 6px 22px #00000026}
.index-cta-primary-btn:hover{transform:translateY(-3px);box-shadow:0 10px 32px #00000040;background:#f8f9fa}
.index-cta-secondary-btn{display:inline-block;padding:18px 48px;background:none;color:#fff;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:8px;border:2px solid #fff;transition:all .3s ease}
.index-cta-secondary-btn:hover{background:#ffffff26;transform:translateY(-3px)}
@media (max-width: 992px) {
.index-hero-main-title{font-size:2.8rem}
.index-hero-subtitle-text{font-size:1.25rem}
.index-intro-content-grid{grid-template-columns:1fr;gap:45px}
.index-zigzag-row{grid-template-columns:1fr;gap:40px}
.index-zigzag-row:nth-child(even){grid-template-columns:1fr}
.index-zigzag-row:nth-child(even) .index-zigzag-text{order:1}
.index-zigzag-row:nth-child(even) .index-zigzag-visual{order:2}
.index-process-steps{grid-template-columns:1fr;gap:35px}
.index-modules-grid{grid-template-columns:1fr}
}
@media (max-width: 768px) {
.index-hero-main-title{font-size:2.2rem}
.index-hero-subtitle-text{font-size:1.1rem}
.index-hero-cta-button{padding:16px 38px;font-size:1rem}
.index-intro-section{padding:65px 20px}
.index-intro-text-area h2{font-size:2rem}
.index-process-header h2{font-size:2.1rem}
.index-modules-title{font-size:2rem}
.index-schedule-wrapper h2{font-size:2.1rem}
.index-schedule-table th,.index-schedule-table td{padding:14px 12px;font-size:.95rem}
.index-cta-final-content h2{font-size:2.2rem}
.index-cta-button-group{flex-direction:column;align-items:center}
.index-cta-primary-btn,.index-cta-secondary-btn{width:100%;max-width:320px}
}
.contact-page-wrapper{background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 100%);min-height:100vh;padding:0;margin:0}
.contact-hero-section{background:linear-gradient(165deg,#8E8EB6 0%,#BAB9CC 50%,#DFDDE2 100%);padding:90px 20px 70px;position:relative;overflow:hidden}
.contact-hero-section::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:#ffffff14;border-radius:50%}
.contact-hero-content{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:2}
.contact-hero-content h1{font-size:3.2rem;color:#fff;margin:0 0 25px;font-weight:700;line-height:1.2;letter-spacing:-.5px}
.contact-hero-content p{font-size:1.25rem;color:#fff;line-height:1.7;margin:0;opacity:.95}
.contact-main-content{max-width:1200px;margin:-40px auto 0;padding:0 20px 80px;position:relative;z-index:3}
.contact-grid-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:45px;margin-top:50px}
.contact-info-block{background:#fff;padding:50px 40px;border-radius:12px;box-shadow:0 8px 30px #8e8eb61f;height:fit-content;position:sticky;top:30px}
.contact-info-block h2{font-size:1.85rem;color:#212529;margin:0 0 35px;font-weight:600}
.contact-detail-item{margin-bottom:35px;padding-left:45px;position:relative}
.contact-detail-item:last-child{margin-bottom:0}
.contact-icon-circle{position:absolute;left:0;top:2px;width:36px;height:36px;background:linear-gradient(135deg,#8E8EB6,#BAB9CC);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff}
.contact-detail-item h3{font-size:1.1rem;color:#495057;margin:0 0 8px;font-weight:600}
.contact-detail-item p{font-size:1rem;color:#212529;margin:0;line-height:1.6}
.contact-detail-item a{color:#8E8EB6;text-decoration:none;transition:color .3s ease}
.contact-detail-item a:hover{color:#6e6e96}
.contact-form-container{background:#fff;padding:50px 45px;border-radius:12px;box-shadow:0 8px 30px #8e8eb61f}
.contact-form-container h2{font-size:1.85rem;color:#212529;margin:0 0 15px;font-weight:600}
.contact-form-intro{font-size:1.05rem;color:#495057;line-height:1.7;margin:0 0 40px}
.form-field-group{margin-bottom:28px}
.form-field-group label{display:block;font-size:.95rem;color:#343a40;margin-bottom:10px;font-weight:500}
.form-field-group input,.form-field-group textarea,.form-field-group select{width:100%;padding:14px 18px;font-size:1rem;color:#212529;background:#f8f9fa;border:2px solid #DFDDE2;border-radius:8px;transition:all .3s ease;box-sizing:border-box;font-family:inherit}
.form-field-group input:focus,.form-field-group textarea:focus,.form-field-group select:focus{outline:none;border-color:#8E8EB6;background:#fff;box-shadow:0 0 0 4px #8e8eb61a}
.form-field-group textarea{min-height:160px;resize:vertical}
.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.checkbox-consent-wrapper{margin:35px 0 30px}
.checkbox-consent-label{display:flex;align-items:flex-start;cursor:pointer;font-size:.95rem;color:#495057;line-height:1.6}
.checkbox-consent-label input[type="checkbox"]{width:20px;height:20px;margin:2px 12px 0 0;cursor:pointer;flex-shrink:0;accent-color:#8E8EB6}
.checkbox-consent-label a{color:#8E8EB6;text-decoration:underline}
.checkbox-consent-label a:hover{color:#6e6e96}
.form-submit-btn{background:linear-gradient(135deg,#8E8EB6,#BAB9CC);color:#fff;padding:16px 50px;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8e8eb64d;position:relative;z-index:10}
.form-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #8e8eb666}
.form-submit-btn:active{transform:translateY(0)}
.visual-section-block{background:#fff;padding:70px 20px;margin-top:60px;border-radius:12px;box-shadow:0 8px 30px #8e8eb614}
.visual-content-wrapper{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.visual-text-area h2{font-size:2.1rem;color:#212529;margin:0 0 25px;font-weight:600;line-height:1.3}
.visual-text-area p{font-size:1.05rem;color:#495057;line-height:1.8;margin:0 0 20px}
.visual-text-area p:last-child{margin-bottom:0}
.visual-image-container{border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #8e8eb626}
.visual-image-container img{width:100%;height:420px;object-fit:cover;display:block}
.alternate-layout{grid-template-columns:1.2fr 1fr;gap:60px;margin-top:80px}
.alternate-layout .visual-text-area{order:2}
.alternate-layout .visual-image-container{order:1}
.alternate-layout .visual-image-container img{height:380px}
@media (max-width: 968px) {
.contact-hero-content h1{font-size:2.5rem}
.contact-grid-layout{grid-template-columns:1fr;gap:35px}
.contact-info-block{position:relative;top:0}
.visual-content-wrapper{grid-template-columns:1fr;gap:40px}
.alternate-layout{grid-template-columns:1fr}
.alternate-layout .visual-text-area,.alternate-layout .visual-image-container{order:initial}
.form-row-split{grid-template-columns:1fr}
}
@media (max-width: 640px) {
.contact-hero-section{padding:60px 15px 50px}
.contact-hero-content h1{font-size:2rem}
.contact-hero-content p{font-size:1.1rem}
.contact-form-container,.contact-info-block{padding:35px 25px}
.contact-info-block h2,.contact-form-container h2{font-size:1.5rem}
.visual-section-block{padding:50px 15px}
.visual-text-area h2{font-size:1.75rem}
}
.propos-hero-wrap{background:linear-gradient(135deg,#f8f9fa 0%,#fafbfc 100%);padding:5rem 1rem 4rem;position:relative;overflow:hidden}
.propos-hero-wrap::before{content:'';position:absolute;top:-50%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,#bab9cc26 0%,transparent 70%);border-radius:50%}
.propos-hero-inner{max-width:1100px;margin:0 auto;position:relative;z-index:2}
.propos-hero-content{max-width:700px}
.propos-hero-content h1{font-size:3.2rem;font-weight:800;color:#212529;margin-bottom:1.5rem;line-height:1.2}
.propos-hero-content p{font-size:1.25rem;color:#495057;line-height:1.7;margin-bottom:1rem}
.propos-timeline-section{background:#fff;padding:5rem 1rem;position:relative}
.propos-timeline-container{max-width:1000px;margin:0 auto}
.propos-timeline-header{text-align:center;margin-bottom:4rem}
.propos-timeline-header h2{font-size:2.5rem;color:#212529;font-weight:700;margin-bottom:1rem}
.propos-timeline-header p{font-size:1.1rem;color:#495057;max-width:650px;margin:0 auto;line-height:1.6}
.propos-timeline-track{position:relative;padding:2rem 0 2rem 80px}
.propos-timeline-track::before{content:'';position:absolute;left:30px;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,#8E8EB6,#BAB9CC)}
.propos-milestone-item{position:relative;margin-bottom:3.5rem;padding-left:2rem}
.propos-milestone-marker{position:absolute;left:-62px;top:0;width:24px;height:24px;background:#8E8EB6;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #DFDDE2;z-index:3}
.propos-milestone-year{font-size:1.5rem;font-weight:700;color:#8E8EB6;margin-bottom:.5rem;display:block}
.propos-milestone-item h3{font-size:1.4rem;color:#212529;font-weight:600;margin-bottom:.8rem}
.propos-milestone-item p{font-size:1rem;color:#495057;line-height:1.6;margin-bottom:.5rem}
.propos-gallery-split{background:linear-gradient(to right,#f8f9fa 0%,#fafbfc 100%);padding:5rem 1rem}
.propos-gallery-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.propos-gallery-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.propos-gallery-img{width:100%;height:240px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px #00000014;transition:transform .3s ease}
.propos-gallery-img:hover{transform:translateY(-5px)}
.propos-gallery-text h2{font-size:2.3rem;color:#212529;font-weight:700;margin-bottom:1.5rem;line-height:1.3}
.propos-gallery-text p{font-size:1.05rem;color:#495057;line-height:1.7;margin-bottom:1.2rem}
.propos-transformation-zone{background:#fff;padding:5rem 1rem}
.propos-transform-wrap{max-width:1100px;margin:0 auto}
.propos-transform-title{text-align:center;margin-bottom:3rem}
.propos-transform-title h2{font-size:2.5rem;color:#212529;font-weight:700;margin-bottom:1rem}
.propos-transform-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem}
.propos-transform-card{background:#f8f9fa;border-radius:16px;padding:2.5rem;border:2px solid #DFDDE2;transition:all .3s ease}
.propos-transform-card:hover{border-color:#8E8EB6;box-shadow:0 8px 24px #8e8eb626}
.propos-transform-card h3{font-size:1.6rem;color:#8E8EB6;font-weight:700;margin-bottom:1.2rem}
.propos-story-list{list-style:none;padding:0;margin:0}
.propos-story-list li{padding:.8rem 0 .8rem 2rem;position:relative;color:#495057;font-size:1.05rem;line-height:1.6;margin-bottom:.5rem}
.propos-story-list li::before{content:'→';position:absolute;left:0;color:#8E8EB6;font-weight:700;font-size:1.2rem}
.propos-accordion-section{background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 100%);padding:5rem 1rem}
.propos-accordion-wrap{max-width:900px;margin:0 auto}
.propos-accordion-header{text-align:center;margin-bottom:3rem}
.propos-accordion-header h2{font-size:2.4rem;color:#212529;font-weight:700;margin-bottom:1rem}
.propos-accordion-header p{font-size:1.1rem;color:#495057;line-height:1.6}
.propos-accordion-item{background:#fff;border-radius:12px;margin-bottom:1rem;overflow:hidden;border:2px solid #DFDDE2}
.propos-accordion-trigger{display:none}
.propos-accordion-label{display:block;padding:1.8rem 2rem;font-size:1.3rem;font-weight:600;color:#212529;cursor:pointer;position:relative;transition:all .3s ease}
.propos-accordion-label::after{content:'+';position:absolute;right:2rem;top:50%;transform:translateY(-50%);font-size:1.8rem;color:#8E8EB6;font-weight:700;transition:transform .3s ease}
.propos-accordion-trigger:checked + .propos-accordion-label{background:#f8f9fa;color:#8E8EB6}
.propos-accordion-trigger:checked + .propos-accordion-label::after{content:'−';transform:translateY(-50%) rotate(180deg)}
.propos-accordion-content{max-height:0;overflow:hidden;transition:max-height .4s ease}
.propos-accordion-trigger:checked ~ .propos-accordion-content{max-height:800px}
.propos-accordion-inner{padding:0 2rem 2rem}
.propos-accordion-inner p{color:#495057;font-size:1.05rem;line-height:1.7;margin-bottom:1rem}
.propos-accordion-inner strong{color:#212529;font-weight:600}
@media (max-width: 768px) {
.propos-hero-content h1{font-size:2.2rem}
.propos-hero-content p{font-size:1.1rem}
.propos-timeline-track{padding-left:60px}
.propos-milestone-marker{left:-52px}
.propos-gallery-grid{grid-template-columns:1fr;gap:3rem}
.propos-gallery-images{order:2}
.propos-gallery-text{order:1}
.propos-transform-cards{grid-template-columns:1fr}
.propos-accordion-label{font-size:1.1rem;padding:1.5rem}
.propos-accordion-label::after{right:1.5rem}
.propos-accordion-inner{padding:0 1.5rem 1.5rem}
}
.programme-apprentissage-principale{background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 100%);min-height:100vh}
.hero-culinaire-section{padding:80px 20px 60px;max-width:1200px;margin:0 auto;position:relative}
.hero-culinaire-section::before{content:'';position:absolute;top:0;right:10%;width:300px;height:300px;background:radial-gradient(circle,#bab9cc26 0%,transparent 70%);border-radius:50%;z-index:1}
.hero-culinaire-content{position:relative;z-index:2}
.hero-culinaire-content h1{font-size:3rem;color:#212529;margin-bottom:20px;font-weight:700;line-height:1.2}
.hero-culinaire-content .intro-texte{font-size:1.15rem;color:#495057;line-height:1.7;max-width:720px;margin-bottom:35px}
.chef-instructeur-badge{display:inline-block;padding:12px 24px;background:#8E8EB6;color:#fff;border-radius:30px;font-size:.95rem;font-weight:600;margin-bottom:40px;box-shadow:0 4px 12px #8e8eb640}
.methode-enseignement-bloc{padding:70px 20px;background:#fff;position:relative;overflow:hidden}
.methode-enseignement-bloc::after{content:'';position:absolute;bottom:-50px;left:-50px;width:200px;height:200px;background:linear-gradient(135deg,#DFDDE2 0%,#BAB9CC 100%);opacity:.08;border-radius:50%}
.methode-conteneur{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.methode-image-wrapper{position:relative}
.methode-image-wrapper img{width:100%;height:480px;object-fit:cover;border-radius:12px;box-shadow:0 8px 24px #0000001f}
.methode-image-overlay{position:absolute;bottom:20px;right:20px;background:#fffffff2;padding:20px 28px;border-radius:8px;box-shadow:0 4px 16px #00000026}
.methode-image-overlay .stat-nombre{font-size:2.2rem;font-weight:700;color:#8E8EB6;line-height:1;margin-bottom:6px}
.methode-image-overlay .stat-label{font-size:.9rem;color:#495057;font-weight:500}
.methode-texte-zone h2{font-size:2.3rem;color:#212529;margin-bottom:25px;font-weight:700;line-height:1.3}
.methode-texte-zone .description-principale{font-size:1.05rem;color:#495057;line-height:1.8;margin-bottom:35px}
.approche-pedagogique-liste{list-style:none;padding:0;margin:0}
.approche-pedagogique-liste li{padding:18px 0;color:#343a40;font-size:1rem;line-height:1.6;border-bottom:1px solid #f0f0f0;position:relative;padding-left:35px}
.approche-pedagogique-liste li:last-child{border-bottom:none}
.approche-pedagogique-liste li::before{content:'→';position:absolute;left:0;color:#8E8EB6;font-weight:700;font-size:1.3rem}
.parcours-formation-section{padding:70px 20px;background:linear-gradient(to bottom,#f8f9fa 0%,#fff 100%)}
.parcours-conteneur{max-width:1100px;margin:0 auto}
.parcours-conteneur h2{font-size:2.3rem;color:#212529;text-align:center;margin-bottom:15px;font-weight:700}
.parcours-sous-titre{text-align:center;color:#495057;font-size:1.08rem;margin-bottom:55px;line-height:1.7;max-width:680px;margin-left:auto;margin-right:auto}
.modules-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:50px}
.module-carte{background:#fff;padding:35px 28px;border-radius:10px;box-shadow:0 3px 12px #00000014;transition:all .3s ease;border-top:4px solid #DFDDE2;position:relative}
.module-carte:hover{transform:translateY(-6px);box-shadow:0 8px 24px #8e8eb62e;border-top-color:#8E8EB6}
.module-numero{display:inline-block;width:42px;height:42px;background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);color:#fff;border-radius:50%;text-align:center;line-height:42px;font-weight:700;font-size:1.15rem;margin-bottom:18px}
.module-carte h3{font-size:1.35rem;color:#212529;margin-bottom:12px;font-weight:600}
.module-carte p{color:#495057;font-size:.95rem;line-height:1.6;margin:0}
.expertise-instructeurs-bloc{padding:70px 20px;background:#fff}
.expertise-conteneur{max-width:1200px;margin:0 auto}
.expertise-conteneur h2{font-size:2.3rem;color:#212529;margin-bottom:20px;font-weight:700}
.expertise-introduction{font-size:1.05rem;color:#495057;line-height:1.7;margin-bottom:45px;max-width:750px}
.instructeurs-disposition{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:start}
.instructeur-image-principale{position:relative}
.instructeur-image-principale img{width:100%;height:520px;object-fit:cover;border-radius:12px;box-shadow:0 8px 24px #0000001f}
.badge-experience{position:absolute;top:25px;left:25px;background:#8e8eb6f2;color:#fff;padding:15px 24px;border-radius:8px;font-weight:600;font-size:.95rem;backdrop-filter:blur(10px)}
.competences-instructeurs{background:#f8f9fa;padding:40px;border-radius:10px;border-left:5px solid #8E8EB6}
.competences-instructeurs h3{font-size:1.6rem;color:#212529;margin-bottom:25px;font-weight:600}
.competence-item{margin-bottom:28px}
.competence-item:last-child{margin-bottom:0}
.competence-titre{font-size:1.05rem;color:#343a40;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.competence-titre::before{content:'';display:inline-block;width:24px;height:24px;background:#8E8EB6;color:#fff;border-radius:50%;text-align:center;line-height:24px;font-size:.85rem;flex-shrink:0}
.competence-description{color:#495057;font-size:.95rem;line-height:1.6;padding-left:34px}
.inscription-action-section{padding:60px 20px;background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);text-align:center}
.inscription-conteneur{max-width:800px;margin:0 auto}
.inscription-conteneur h2{font-size:2.2rem;color:#fff;margin-bottom:18px;font-weight:700}
.inscription-conteneur p{color:#fff;font-size:1.1rem;line-height:1.7;margin-bottom:35px;opacity:.95}
.session-info-box{background:#ffffff26;padding:25px;border-radius:8px;margin-bottom:35px;backdrop-filter:blur(10px)}
.session-info-box .date-session{font-size:1.25rem;color:#fff;font-weight:600;margin-bottom:8px}
.session-info-box .detail-session{font-size:.95rem;color:#fff;opacity:.9}
.btn-inscription-principale{display:inline-block;padding:16px 45px;background:#fff;color:#8E8EB6;font-size:1.05rem;font-weight:600;border-radius:50px;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 16px #00000026}
.btn-inscription-principale:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000040;background:#f8f9fa}
@media (max-width: 992px) {
.hero-culinaire-content h1{font-size:2.3rem}
.methode-conteneur{grid-template-columns:1fr;gap:40px}
.methode-image-wrapper{order:-1}
.modules-grille{grid-template-columns:1fr;gap:25px}
.instructeurs-disposition{grid-template-columns:1fr;gap:35px}
}
@media (max-width: 768px) {
.hero-culinaire-section{padding:50px 20px 40px}
.hero-culinaire-content h1{font-size:1.9rem}
.hero-culinaire-content .intro-texte{font-size:1rem}
.methode-enseignement-bloc{padding:50px 20px}
.methode-texte-zone h2{font-size:1.8rem}
.methode-image-wrapper img{height:320px}
.parcours-formation-section{padding:50px 20px}
.parcours-conteneur h2{font-size:1.8rem}
.expertise-instructeurs-bloc{padding:50px 20px}
.expertise-conteneur h2{font-size:1.8rem}
.competences-instructeurs{padding:30px 25px}
.inscription-action-section{padding:45px 20px}
.inscription-conteneur h2{font-size:1.8rem}
}
.team-hero-section{background:linear-gradient(135deg,#f8f9fa 0%,#fafbfc 100%);padding:5rem 2rem 4rem;position:relative;overflow:hidden}
.team-hero-section::before{content:'';position:absolute;top:-50%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,#8e8eb614 0%,transparent 70%);border-radius:50%}
.team-hero-content{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:2}
.team-hero-content h1{font-size:3rem;color:#212529;margin-bottom:1.5rem;font-weight:700;line-height:1.2}
.team-hero-content .lead-text{font-size:1.25rem;color:#495057;line-height:1.7;margin-bottom:0}
.culinary-philosophy-block{padding:4rem 2rem;background:#fff;position:relative}
.culinary-philosophy-block::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,#DFDDE2,transparent)}
.philosophy-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.philosophy-text h2{font-size:2.5rem;color:#212529;margin-bottom:1.5rem;font-weight:700}
.philosophy-text p{font-size:1.1rem;color:#495057;line-height:1.8;margin-bottom:1.5rem}
.philosophy-image{width:100%;height:500px;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #00000014}
.philosophy-image img{width:100%;height:100%;object-fit:cover;display:block}
.team-members-grid{padding:5rem 2rem;background:linear-gradient(180deg,#fafbfc 0%,#f8f9fa 100%)}
.members-grid-container{max-width:1200px;margin:0 auto}
.members-grid-container h2{font-size:2.5rem;color:#212529;text-align:center;margin-bottom:3.5rem;font-weight:700}
.grid-members{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.member-card{background:#fff;border-radius:12px;padding:2.5rem 2rem;box-shadow:0 4px 20px #0000000f;transition:transform .3s ease,box-shadow .3s ease;position:relative}
.member-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,#8E8EB6,#BAB9CC);border-radius:12px 12px 0 0}
.member-card:hover{transform:translateY(-8px);box-shadow:0 12px 35px #8e8eb626}
.member-card h3{font-size:1.5rem;color:#212529;margin-bottom:.5rem;font-weight:600}
.member-role{font-size:1rem;color:#8E8EB6;margin-bottom:1.5rem;font-weight:500}
.member-card p{font-size:.95rem;color:#495057;line-height:1.7;margin-bottom:0}
.expertise-showcase{padding:5rem 2rem;background:#fff;position:relative}
.expertise-wrapper{max-width:1400px;margin:0 auto}
.expertise-wrapper h2{font-size:2.5rem;color:#212529;text-align:center;margin-bottom:4rem;font-weight:700}
.expertise-layout{display:grid;grid-template-columns:45% 55%;gap:3rem;align-items:start}
.expertise-visual{width:100%;height:600px;border-radius:12px;overflow:hidden;position:sticky;top:2rem;box-shadow:0 15px 50px #0000001a}
.expertise-visual img{width:100%;height:100%;object-fit:cover;display:block}
.expertise-items{display:flex;flex-direction:column;gap:2rem}
.expertise-item{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border-left:4px solid #8E8EB6;padding:2rem;border-radius:8px;transition:all .3s ease}
.expertise-item:hover{border-left-color:#BAB9CC;box-shadow:0 8px 25px #8e8eb61f}
.expertise-item h3{font-size:1.4rem;color:#212529;margin-bottom:1rem;font-weight:600}
.expertise-item p{font-size:1rem;color:#495057;line-height:1.7;margin-bottom:0}
.values-section{padding:5rem 2rem;background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);position:relative}
.values-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg width="60" height="60" xmlns="http://www.w3.org/2000/svg"><circle cx="30" cy="30" r="2" fill="#ffffff1a"/></svg>');opacity:.5}
.values-content{max-width:1200px;margin:0 auto;position:relative;z-index:2}
.values-content h2{font-size:2.5rem;color:#fff;text-align:center;margin-bottom:3.5rem;font-weight:700}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.value-box{background:#fffffff2;border-radius:12px;padding:2.5rem 1.5rem;text-align:center;transition:transform .3s ease}
.value-box:hover{transform:scale(1.05)}
.value-icon{width:70px;height:70px;background:linear-gradient(135deg,#8E8EB6,#BAB9CC);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;color:#fff}
.value-box h3{font-size:1.3rem;color:#212529;margin-bottom:1rem;font-weight:600}
.value-box p{font-size:.95rem;color:#495057;line-height:1.6;margin-bottom:0}
.join-team-section{padding:5rem 2rem;background:#fff;text-align:center}
.join-team-content{max-width:800px;margin:0 auto}
.join-team-content h2{font-size:2.8rem;color:#212529;margin-bottom:1.5rem;font-weight:700}
.join-team-content p{font-size:1.15rem;color:#495057;line-height:1.8;margin-bottom:2.5rem}
.cta-button-group{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
.btn-primary-team{display:inline-block;padding:1rem 2.5rem;background:linear-gradient(135deg,#8E8EB6,#BAB9CC);color:#fff;text-decoration:none;border-radius:8px;font-size:1.1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #8e8eb633}
.btn-primary-team:hover{transform:translateY(-3px);box-shadow:0 8px 25px #8e8eb64d}
.btn-secondary-team{display:inline-block;padding:1rem 2.5rem;background:none;color:#8E8EB6;text-decoration:none;border-radius:8px;font-size:1.1rem;font-weight:600;border:2px solid #8E8EB6;transition:all .3s ease}
.btn-secondary-team:hover{background:#8E8EB6;color:#fff;transform:translateY(-3px)}
@media (max-width: 1024px) {
.philosophy-container{grid-template-columns:1fr;gap:3rem}
.expertise-layout{grid-template-columns:1fr}
.expertise-visual{position:relative;top:0;height:400px}
.grid-members{grid-template-columns:repeat(2,1fr);gap:2rem}
.values-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 768px) {
.team-hero-content h1{font-size:2.2rem}
.team-hero-content .lead-text{font-size:1.1rem}
.philosophy-text h2,.members-grid-container h2,.expertise-wrapper h2,.values-content h2,.join-team-content h2{font-size:2rem}
.grid-members{grid-template-columns:1fr;gap:1.5rem}
.values-grid{grid-template-columns:1fr;gap:1.5rem}
.philosophy-image,.expertise-visual{height:300px}
.cta-button-group{flex-direction:column;align-items:center}
.btn-primary-team,.btn-secondary-team{width:100%;max-width:300px}
}
.legal-doc-wrapper{background:#fff;min-height:100vh;padding:0}
.legal-hero-banner{background:linear-gradient(135deg,#BAB9CC 0%,#DFDDE2 100%);padding:80px 20px;text-align:center;margin-bottom:0}
.legal-hero-banner h1{color:#212529;font-size:2.8rem;font-weight:700;margin:0 0 15px;letter-spacing:-.5px}
.legal-update-stamp{color:#495057;font-size:.95rem;font-weight:500}
.policy-content-container{max-width:920px;margin:0 auto;padding:60px 25px 80px;background:#fafbfc}
.intro-statement{background:#fff;padding:35px;border-left:4px solid #8E8EB6;margin-bottom:50px;box-shadow:0 2px 8px #0000000a}
.intro-statement p{color:#343a40;font-size:1.1rem;line-height:1.75;margin:0}
.policy-segment{background:#fff;padding:40px;margin-bottom:35px;border-radius:3px;box-shadow:0 1px 6px #0000000f}
.policy-segment h2{color:#212529;font-size:1.85rem;font-weight:700;margin:0 0 25px;padding-bottom:15px;border-bottom:2px solid #DFDDE2}
.policy-segment h3{color:#343a40;font-size:1.4rem;font-weight:600;margin:30px 0 18px}
.policy-segment p{color:#495057;font-size:1.05rem;line-height:1.8;margin-bottom:20px}
.policy-segment ul{list-style:none;padding:0;margin:25px 0}
.policy-segment ul li{color:#495057;font-size:1.05rem;line-height:1.75;padding:12px 0 12px 35px;position:relative}
.policy-segment ul li:before{content:"→";position:absolute;left:0;color:#8E8EB6;font-weight:700;font-size:1.2rem}
.tech-details-grid{display:grid;grid-template-columns:1fr;gap:20px;margin:30px 0}
.tech-card{background:#f8f9fa;padding:25px;border-left:3px solid #BAB9CC}
.tech-card h4{color:#212529;font-size:1.15rem;font-weight:600;margin:0 0 12px}
.tech-card p{color:#495057;font-size:1rem;line-height:1.7;margin:0}
.highlight-box{background:linear-gradient(to right,#DFDDE2 0%,#fff 100%);padding:30px;margin:35px 0;border-radius:2px}
.highlight-box p{color:#343a40;font-size:1.05rem;line-height:1.75;margin:0;font-weight:500}
.control-options-table{width:100%;border-collapse:collapse;margin:30px 0;background:#fff}
.control-options-table th{background:#8E8EB6;color:#fff;padding:18px;text-align:left;font-size:1.05rem;font-weight:600}
.control-options-table td{padding:18px;border-bottom:1px solid #DFDDE2;color:#495057;font-size:1rem;line-height:1.6}
.control-options-table tr:hover{background:#fafbfc}
.contact-reach-section{background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);padding:45px;margin-top:50px;border-radius:3px;text-align:center}
.contact-reach-section h2{color:#fff;font-size:1.75rem;font-weight:700;margin:0 0 20px}
.contact-reach-section p{color:#fff;font-size:1.1rem;line-height:1.7;margin:0 0 25px}
.contact-details-block{background:#ffffff26;padding:25px;border-radius:2px;margin-top:20px}
.contact-details-block p{color:#fff;font-size:1rem;margin:8px 0}
.contact-details-block a{color:#fff;text-decoration:underline;font-weight:500}
.contact-details-block a:hover{color:#DFDDE2}
@media (min-width: 768px) {
.tech-details-grid{grid-template-columns:1fr 1fr}
.legal-hero-banner h1{font-size:3.2rem}
.policy-content-container{padding:80px 40px 100px}
}
@media (max-width: 767px) {
.legal-hero-banner{padding:60px 20px}
.legal-hero-banner h1{font-size:2.2rem}
.policy-segment{padding:30px 25px}
.policy-segment h2{font-size:1.6rem}
.control-options-table{font-size:.9rem}
.control-options-table th,.control-options-table td{padding:12px}
.contact-reach-section{padding:35px 25px}
}
.politique-confidentialite-principale{background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 100%);min-height:100vh;padding:0}
.conteneur-entete-politique{background:linear-gradient(to right,#8E8EB6,#BAB9CC);padding:4.5rem 1.5rem 3rem;text-align:center;position:relative;overflow:hidden}
.conteneur-entete-politique::before{content:'';position:absolute;top:-50%;left:-10%;width:120%;height:200%;background:radial-gradient(circle,#ffffff26 0%,transparent 70%);animation:flotteArrierePlan 20s ease-in-out infinite}
@keyframes flotteArrierePlan {
0%,100%{transform:translate(0,0) rotate(0deg)}
50%{transform:translate(30px,-20px) rotate(5deg)}
}
.titre-principal-politique{font-size:2.8rem;color:#fff;font-weight:700;margin:0 0 1rem;letter-spacing:-.5px;position:relative;z-index:2}
.sous-titre-politique{font-size:1.1rem;color:#fffffff2;margin:0;font-weight:400;position:relative;z-index:2}
.conteneur-corps-politique{max-width:920px;margin:0 auto;padding:3.5rem 1.5rem 5rem}
.bloc-intro-politique{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 2px 12px #8e8eb614;margin-bottom:3rem;border-left:4px solid #8E8EB6}
.texte-intro-politique{font-size:1.05rem;line-height:1.75;color:#343a40;margin:0 0 1.2rem}
.texte-intro-politique:last-child{margin-bottom:0}
.accent-texte{color:#8E8EB6;font-weight:600}
.section-politique{background:#fff;padding:2.8rem;margin-bottom:2rem;border-radius:10px;box-shadow:0 1px 8px #0000000a;transition:box-shadow .3s ease}
.section-politique:hover{box-shadow:0 4px 16px #8e8eb61f}
.titre-section-politique{font-size:1.75rem;color:#212529;margin:0 0 1.5rem;font-weight:700;position:relative;padding-left:1rem}
.titre-section-politique::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:linear-gradient(to bottom,#8E8EB6,#BAB9CC);border-radius:2px}
.paragraphe-politique{font-size:1rem;line-height:1.8;color:#495057;margin:0 0 1.3rem}
.paragraphe-politique:last-child{margin-bottom:0}
.liste-donnees-politique{margin:1.5rem 0;padding:0;list-style:none}
.element-liste-politique{padding:.85rem 0 .85rem 2.2rem;position:relative;color:#495057;line-height:1.7;border-bottom:1px solid #f5f6fa}
.element-liste-politique:last-child{border-bottom:none}
.element-liste-politique::before{content:'→';position:absolute;left:0;color:#8E8EB6;font-weight:700;font-size:1.2rem}
.zone-mise-avant{background:linear-gradient(135deg,#f5f6fa 0%,#fafbfc 100%);padding:1.8rem 2rem;border-radius:8px;margin:1.8rem 0;border:1px solid #DFDDE2}
.texte-mise-avant{font-size:.98rem;color:#343a40;margin:0;line-height:1.75;font-style:italic}
.grille-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}
.carte-categorie{background:linear-gradient(135deg,#fafbfc 0%,#fff 100%);padding:1.8rem;border-radius:8px;border:2px solid #DFDDE2;transition:all .3s ease}
.carte-categorie:hover{border-color:#BAB9CC;transform:translateY(-3px);box-shadow:0 6px 20px #8e8eb626}
.titre-carte-categorie{font-size:1.15rem;color:#8E8EB6;font-weight:700;margin:0 0 .8rem}
.description-categorie{font-size:.95rem;color:#495057;line-height:1.65;margin:0}
.bloc-contact-politique{background:linear-gradient(to right,#8E8EB6,#BAB9CC);padding:3rem 2.5rem;border-radius:12px;margin-top:3.5rem;text-align:center;box-shadow:0 4px 20px #8e8eb633}
.titre-contact-politique{font-size:1.9rem;color:#fff;margin:0 0 1.5rem;font-weight:700}
.info-contact-ligne{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:1rem 0;font-size:1.05rem;color:#fffffff2}
.icone-contact-politique{font-weight:700;font-size:1.3rem}
.lien-contact-politique{color:#fff;text-decoration:none;font-weight:600;transition:opacity .2s ease}
.lien-contact-politique:hover{opacity:.85;text-decoration:underline}
.separateur-horizontal{height:1px;background:linear-gradient(to right,transparent,#ffffff4d,transparent);margin:2rem 0;border:none}
.tableau-droits-utilisateur{width:100%;margin:2rem 0;border-collapse:separate;border-spacing:0;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000000d}
.tableau-droits-utilisateur thead{background:linear-gradient(to right,#8E8EB6,#BAB9CC)}
.tableau-droits-utilisateur th{padding:1.2rem 1.5rem;text-align:left;color:#fff;font-weight:700;font-size:1.05rem}
.tableau-droits-utilisateur td{padding:1.1rem 1.5rem;color:#495057;border-bottom:1px solid #f5f6fa;line-height:1.6}
.tableau-droits-utilisateur tbody tr{background:#fff;transition:background .2s ease}
.tableau-droits-utilisateur tbody tr:hover{background:#fafbfc}
.note-bas-page{font-size:.9rem;color:#6c757d;line-height:1.7;margin:2.5rem 0 0;padding-top:2rem;border-top:2px solid #f5f6fa}
@media (max-width: 768px) {
.titre-principal-politique{font-size:2rem}
.conteneur-entete-politique{padding:3rem 1.5rem 2rem}
.conteneur-corps-politique{padding:2rem 1rem 3rem}
.bloc-intro-politique{padding:1.8rem}
.section-politique{padding:2rem 1.5rem}
.titre-section-politique{font-size:1.5rem}
.grille-categories{grid-template-columns:1fr;gap:1.2rem}
.bloc-contact-politique{padding:2rem 1.5rem}
.info-contact-ligne{flex-direction:column;gap:.4rem}
.tableau-droits-utilisateur{font-size:.9rem}
.tableau-droits-utilisateur th,.tableau-droits-utilisateur td{padding:.9rem 1rem}
}
@media (max-width: 480px) {
.titre-principal-politique{font-size:1.75rem}
.section-politique{padding:1.5rem 1.2rem}
.bloc-contact-politique{padding:1.5rem 1.2rem}
.tableau-droits-utilisateur th,.tableau-droits-utilisateur td{padding:.75rem .8rem;font-size:.85rem}
}
.confirmation-wrapper{background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 100%);min-height:85vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}
.success-container{max-width:720px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 8px 32px #8e8eb61f;overflow:hidden}
.visual-header{background:linear-gradient(145deg,#8E8EB6 0%,#BAB9CC 100%);padding:3.5rem 2rem 2.5rem;position:relative;text-align:center}
.visual-header::before{content:'';position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,#dfdde24d 0%,transparent 70%);border-radius:50%}
.visual-header::after{content:'';position:absolute;bottom:-30%;left:-15%;width:250px;height:250px;background:radial-gradient(circle,#ffffff26 0%,transparent 65%);border-radius:50%}
.checkmark-circle{width:88px;height:88px;margin:0 auto 1.5rem;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:0 4px 16px #0000001a}
.checkmark-icon{width:42px;height:42px;border:4px solid #8E8EB6;border-left:none;border-top:none;transform:rotate(45deg) translateY(-4px)}
.success-container h1{color:#fff;font-size:2.2rem;font-weight:700;margin:0 0 .75rem;position:relative;z-index:2;line-height:1.3}
.header-subtitle{color:#fffffff2;font-size:1.1rem;margin:0;position:relative;z-index:2;font-weight:400;line-height:1.5}
.content-body{padding:2.5rem 2rem 2rem}
.confirmation-text{color:#343a40;font-size:1.05rem;line-height:1.75;margin:0 0 1.75rem;text-align:left}
.confirmation-text strong{color:#8E8EB6;font-weight:600}
.details-box{background:linear-gradient(to bottom,#fafbfc 0%,#fff 100%);border:2px solid #DFDDE2;border-radius:12px;padding:1.75rem 1.5rem;margin:2rem 0}
.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid #f0eff3}
.detail-row:last-child{border-bottom:none;padding-bottom:0}
.detail-row:first-child{padding-top:0}
.detail-label{color:#6c757d;font-size:.95rem;font-weight:500}
.detail-value{color:#212529;font-size:1rem;font-weight:600;text-align:right}
.next-steps-section{margin:2.25rem 0 1.5rem}
.next-steps-section h2{color:#343a40;font-size:1.4rem;font-weight:700;margin:0 0 1.25rem}
.steps-list{list-style:none;padding:0;margin:0}
.step-item{display:flex;align-items:flex-start;margin-bottom:1.25rem;position:relative}
.step-number{min-width:36px;height:36px;background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;margin-right:1rem;flex-shrink:0}
.step-content{color:#495057;font-size:1rem;line-height:1.6;padding-top:.375rem}
.action-buttons{display:flex;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:2px solid #f5f6fa}
.btn-primary-action{flex:1;background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);color:#fff;padding:1rem 2rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:1.05rem;text-align:center;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #8e8eb640}
.btn-primary-action:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8e8eb659}
.btn-secondary-action{flex:1;background:#fff;color:#8E8EB6;padding:1rem 2rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:1.05rem;text-align:center;border:2px solid #8E8EB6;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.btn-secondary-action:hover{background:#f8f9fa;color:#7a7a9f}
.support-note{background:linear-gradient(to right,#fafbfc 0%,#f8f9fa 100%);border-left:4px solid #BAB9CC;padding:1.5rem;margin-top:2rem;border-radius:8px}
.support-note p{color:#495057;font-size:.95rem;line-height:1.65;margin:0}
.support-note a{color:#8E8EB6;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-bottom .2s ease}
.support-note a:hover{border-bottom:1px solid #8E8EB6}
@media (max-width: 768px) {
.confirmation-wrapper{padding:1.5rem 1rem;min-height:auto}
.visual-header{padding:2.5rem 1.5rem 2rem}
.success-container h1{font-size:1.75rem}
.header-subtitle{font-size:1rem}
.content-body{padding:2rem 1.5rem 1.75rem}
.checkmark-circle{width:72px;height:72px}
.checkmark-icon{width:34px;height:34px}
.action-buttons{flex-direction:column}
.detail-row{flex-direction:column;align-items:flex-start;gap:.5rem}
.detail-value{text-align:left}
.next-steps-section h2{font-size:1.25rem}
}
@media (max-width: 480px) {
.visual-header{padding:2rem 1.25rem 1.5rem}
.success-container h1{font-size:1.5rem}
.content-body{padding:1.5rem 1.25rem}
.confirmation-text{font-size:1rem}
.details-box{padding:1.5rem 1.25rem}
}
.error-page-wrapper{min-height:100vh;background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 50%,#DFDDE2 100%);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow:hidden}
.error-page-wrapper::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,#bab9cc26 0%,transparent 70%);border-radius:50%;pointer-events:none}
.error-page-wrapper::after{content:'';position:absolute;bottom:-30%;left:-15%;width:500px;height:500px;background:radial-gradient(circle,#8e8eb61a 0%,transparent 70%);border-radius:50%;pointer-events:none}
.error-content-container{max-width:780px;width:100%;background:#fff;border-radius:24px;padding:4rem 3rem;box-shadow:0 12px 48px #8e8eb61f;position:relative;z-index:2;text-align:center}
.error-visual-element{margin:0 auto 2.5rem;width:220px;height:220px;position:relative}
.error-circle-outer{width:100%;height:100%;border:4px solid #DFDDE2;border-radius:50%;position:absolute;top:0;left:0;animation:pulse-rotate 3s ease-in-out infinite}
.error-circle-inner{width:80%;height:80%;background:linear-gradient(135deg,#BAB9CC 0%,#8E8EB6 100%);border-radius:50%;position:absolute;top:10%;left:10%;display:flex;align-items:center;justify-content:center}
.error-number-display{font-size:5rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em}
@keyframes pulse-rotate {
0%,100%{transform:rotate(0deg) scale(1)}
50%{transform:rotate(180deg) scale(1.05)}
}
.error-main-heading{font-size:2.25rem;font-weight:700;color:#212529;margin:0 0 1.25rem;line-height:1.2}
.error-description-text{font-size:1.125rem;color:#495057;line-height:1.7;margin:0 0 2rem;max-width:560px;margin-left:auto;margin-right:auto}
.error-suggestions-block{background:#f8f9fa;border-left:5px solid #8E8EB6;padding:2rem;border-radius:12px;margin:2.5rem 0;text-align:left}
.suggestions-title{font-size:1.25rem;font-weight:600;color:#212529;margin:0 0 1.25rem}
.suggestions-list{list-style:none;padding:0;margin:0}
.suggestions-list li{font-size:1rem;color:#495057;line-height:1.6;padding:.625rem 0;padding-left:2rem;position:relative}
.suggestions-list li::before{content:'→';position:absolute;left:0;color:#8E8EB6;font-weight:700;font-size:1.25rem}
.error-actions-row{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;margin-top:2.5rem}
.primary-action-btn{background:linear-gradient(135deg,#8E8EB6 0%,#BAB9CC 100%);color:#fff;padding:1rem 2.5rem;border-radius:50px;font-size:1.0625rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.625rem;transition:all .3s ease;box-shadow:0 4px 16px #8e8eb640;border:none;cursor:pointer;z-index:10;position:relative}
.primary-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #8e8eb659;background:linear-gradient(135deg,#7d7da5 0%,#a9a8bb 100%)}
.secondary-action-btn{background:#fff;color:#8E8EB6;padding:1rem 2.5rem;border:2px solid #BAB9CC;border-radius:50px;font-size:1.0625rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;transition:all .3s ease;cursor:pointer;z-index:10;position:relative}
.secondary-action-btn:hover{background:#f8f9fa;border-color:#8E8EB6;transform:translateY(-2px)}
.error-footer-info{margin-top:3rem;padding-top:2rem;border-top:1px solid #DFDDE2}
.footer-info-text{font-size:.9375rem;color:#6c757d;line-height:1.6;margin:0 0 1rem}
.contact-link-inline{color:#8E8EB6;text-decoration:none;font-weight:600;transition:color .3s ease}
.contact-link-inline:hover{color:#7d7da5;text-decoration:underline}
.decorative-shape-left{position:absolute;bottom:30px;left:30px;width:80px;height:80px;background:linear-gradient(135deg,#DFDDE2 0%,transparent 100%);border-radius:50% 0 50% 50%;opacity:.4;z-index:1}
.decorative-shape-right{position:absolute;top:30px;right:30px;width:100px;height:100px;background:linear-gradient(225deg,#BAB9CC 0%,transparent 100%);border-radius:50% 50% 0 50%;opacity:.3;z-index:1}
@media (max-width: 768px) {
.error-content-container{padding:3rem 1.75rem;border-radius:16px}
.error-visual-element{width:180px;height:180px;margin-bottom:2rem}
.error-number-display{font-size:4rem}
.error-main-heading{font-size:1.75rem;margin-bottom:1rem}
.error-description-text{font-size:1rem;margin-bottom:1.5rem}
.error-suggestions-block{padding:1.5rem;margin:2rem 0}
.suggestions-title{font-size:1.125rem}
.suggestions-list li{font-size:.9375rem;padding-left:1.75rem}
.error-actions-row{flex-direction:column;gap:1rem}
.primary-action-btn,.secondary-action-btn{width:100%;justify-content:center;padding:.875rem 2rem}
.decorative-shape-left,.decorative-shape-right{display:none}
}
@media (max-width: 480px) {
.error-content-container{padding:2.5rem 1.25rem}
.error-visual-element{width:150px;height:150px}
.error-number-display{font-size:3.5rem}
.error-main-heading{font-size:1.5rem}
.suggestions-list li{font-size:.875rem}
}