:root{--primary-color:#0057b7;--secondary-color:#9c27b0;--accent-color:#00bcd4;--light-bg:#f9f9f9;--dark-bg:#1f1f1f;--text-color:#333333;--white:#ffffff;}.partners-list{list-style:none;padding:0;max-width:800px;margin:0 auto;}.partners-list li{margin-bottom:0.5rem;padding-left:1.5rem;position:relative;}.partners-list li::before{content:'\2022';position:absolute;left:0;color:var(--secondary-color);}*{box-sizing:border-box;}body{margin:0;padding:0;font-family:'Montserrat',sans-serif;color:var(--text-color);background-color:var(--light-bg);line-height:1.6;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.navbar{position:fixed;top:0;left:0;width:100%;height:60px;display:flex;align-items:center;z-index:1000;background:rgba(255,255,255,0.9);box-shadow:0 2px 4px rgba(0,0,0,0.1);}.nav-container{width:90%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}.logo-text{font-size:1.5rem;font-weight:700;color:var(--primary-color);}.logo-text span{color:var(--secondary-color);}.logo{display:flex;align-items:center;}.logo img{height:auto;max-height:40px;width:auto;display:block;}.price{display:block;margin-top:0.5rem;font-weight:600;color:var(--secondary-color);}.training-cover img{width:100%;height:auto;border-radius:8px;margin:1rem 0;}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem;}.gallery img{width:100%;height:auto;border-radius:8px;}.nav-links{list-style:none;display:flex;gap:1.5rem;margin:0;}.nav-links li a{text-decoration:none;color:var(--text-color);font-weight:500;transition:color 0.3s;}.nav-links li a:hover,.nav-links li a.active{color:var(--secondary-color);}.nav-toggle{display:none;}.hero{background:url('../img/hero.webp') no-repeat center center/cover;position:relative;height:80vh;display:flex;align-items:center;justify-content:center;color:var(--white);text-align:center;}.hero::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.35);}.hero-content{position:relative;z-index:1;max-width:800px;padding:0 1rem;}.hero h1{font-size:2.5rem;margin-bottom:1rem;}.hero p{font-size:1.2rem;margin-bottom:1.5rem;}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}.btn{display:inline-block;padding:0.75rem 1.5rem;font-size:1rem;border-radius:4px;text-decoration:none;transition:all 0.3s ease;border:2px solid transparent;}.btn-primary{background-color:var(--primary-color);color:var(--white);}.btn-primary:hover{background-color:var(--secondary-color);}.btn-secondary{background-color:transparent;color:var(--white);border-color:var(--white);}.btn-secondary:hover{background-color:var(--white);color:var(--primary-color);}.btn-small{padding:0.5rem 1rem;font-size:0.9rem;background:var(--secondary-color);color:var(--white);border-radius:4px;text-decoration:none;}.btn-small:hover{background:var(--primary-color);}.section{padding:60px 0;}.section.alt{background-color:var(--light-bg);}.section h2{text-align:center;margin-bottom:40px;color:var(--primary-color);font-size:2rem;}.container{width:90%;margin:0 auto;}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;}.card{background-color:var(--white);border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,0.05);padding:1.5rem;text-align:center;display:flex;flex-direction:column;justify-content:space-between;}.card-icon{font-size:3rem;margin-bottom:1rem;color:var(--secondary-color);}.card h3{margin-bottom:0.5rem;color:var(--primary-color);}.card p{flex-grow:1;}.card a{margin-top:1rem;align-self:center;}.training{padding-top:100px;}.training header{background:linear-gradient(to right,var(--primary-color),var(--secondary-color));color:var(--white);padding:60px 0;text-align:center;}.training header h1{margin:0;font-size:2.2rem;}.training .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:40px 0;}.info-box{background:var(--white);border-left:5px solid var(--secondary-color);padding:1rem;}.info-box h4{margin-top:0;color:var(--primary-color);}.program{margin-top:30px;}.program h3{color:var(--primary-color);}.program ul{list-style:disc;padding-left:20px;}.program li{margin-bottom:0.5rem;}.program table{width:100%;border-collapse:collapse;margin-top:1rem;}.program table th,.program table td{padding:0.75rem;border:1px solid #eee;}.program table th{background:var(--light-bg);color:var(--primary-color);text-align:left;}footer{background:var(--dark-bg);color:var(--white);padding:40px 0;}footer .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;}footer h4{margin-top:0;margin-bottom:0.5rem;color:var(--accent-color);}footer ul{list-style:none;padding:0;}footer ul li{margin-bottom:0.5rem;}footer ul li a{color:var(--white);text-decoration:none;transition:color 0.3s;}footer ul li a:hover{color:var(--accent-color);}footer .contact-info p{margin:0.3rem 0;}.news-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;}.news-item{overflow:hidden;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1);background:#fff;display:flex;flex-direction:column;height:100%;}.news-item img{width:100%;height:180px;object-fit:cover;}.news-caption{padding:1rem;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;}.news-caption h3{margin:0 0 0.5rem 0;font-size:1.1rem;color:var(--primary-color);}.news-caption p{margin:0;font-size:0.9rem;line-height:1.4;color:var(--text-color);}@media (max-width:768px){.nav-links{position:absolute;top:60px;left:0;width:100%;background:rgba(255,255,255,0.95);flex-direction:column;align-items:center;max-height:0;overflow:hidden;transition:max-height 0.3s ease;}.nav-links li{margin:1rem 0;}#nav-toggle:checked + .nav-toggle + .nav-links{max-height:300px;}.nav-toggle{display:block;cursor:pointer;font-size:1.5rem;color:var(--text-color);}}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;background:#000;color:#fff;border-radius:.25rem;z-index:1000}#partners .card img{max-height:64px;width:auto;display:block;margin:.5rem auto 1rem}:root{--nt-accent:#2E7DFF;--nt-accent-2:#7C4DFF;--nt-ink:#111;--nt-muted:#6b7280;--nt-bg-alt:#f8fafc;}.section h2{position:relative;padding-bottom:.35rem;margin-bottom:1rem;}.section h2::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:3px;background:linear-gradient(90deg,var(--nt-accent),var(--nt-accent-2));border-radius:2px;}.section h3{color:var(--nt-ink);letter-spacing:.2px;}.tag{display:inline-block;font-size:.85rem;line-height:1;padding:.35rem .55rem;border-radius:999px;background:rgba(46,125,255,.1);color:#0f3b97;margin:.25rem 0 .5rem;border:1px solid rgba(46,125,255,.2);}.price{font-weight:700;color:#0f3b97;}.notice{background:#fff;border-left:4px solid var(--nt-accent);padding:.75rem 1rem;color:#0f172a;box-shadow:0 6px 16px rgba(2,6,23,.04);border-radius:.5rem;}.cards{gap:1rem;}.card{border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 18px rgba(2,6,23,.04);border-radius:1rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(2,6,23,.08);border-color:rgba(46,125,255,.25);}.card .card-icon{color:var(--nt-accent);}.section .list li{margin:.25rem 0;}.btn-small{border:1px solid rgba(46,125,255,.3);transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;}.btn-small:hover{background:var(--nt-accent);color:#fff;border-color:var(--nt-accent);transform:translateY(-1px);}.btn-small:focus{outline:2px solid var(--nt-accent-2);outline-offset:2px;}#catalogue > .container > h3{margin-top:2rem;}#catalogue > .container > h3 + .cards{margin-top:.75rem;}#programme-modele .tag{background:rgba(124,77,255,.1);color:#3a2a7c;border-color:rgba(124,77,255,.25);}#sommaire-pedagogique,#programme-modele{background:var(--nt-bg-alt);border:1px solid rgba(15,23,42,.05);border-radius:1rem;}.skip-link:focus{box-shadow:0 6px 18px rgba(0,0,0,.25);}.fas{color:inherit;}a:focus,button:focus,input:focus,textarea:focus,select:focus,.btn:focus,.btn-small:focus,.nav-links a:focus{outline:3px solid #0057b7;outline-offset:2px;transition:outline-offset 0.2s ease;}.card-link:focus{outline:3px solid #0057b7;outline-offset:4px;transform:translateY(-2px);}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:0.75rem 1rem;background:#0057b7;color:#fff;border-radius:0.5rem;z-index:10000;box-shadow:0 6px 18px rgba(0,0,0,0.25);font-weight:600;}.btn:disabled,.btn-small:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.btn:active,.btn-small:active{transform:translateY(1px);}a{color:#0057b7;text-decoration:underline;text-decoration-color:rgba(0,87,183,0.3);text-underline-offset:2px;transition:text-decoration-color 0.2s ease;}a:hover{text-decoration-color:rgba(0,87,183,1);}.error-message{color:#d32f2f;font-size:0.875rem;margin-top:0.25rem;display:block;}.success-message{color:#388e3c;font-size:0.875rem;margin-top:0.25rem;display:block;}.form-field.error input,.form-field.error textarea{border-color:#d32f2f;background-color:#ffebee;}.form-field.success input,.form-field.success textarea{border-color:#388e3c;background-color:#e8f5e9;}.loading{position:relative;color:transparent !important;pointer-events:none;}.loading::after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid white;border-top-color:transparent;border-radius:50%;animation:spin 0.6s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.container{max-width:1200px;}.card{border-radius:1rem;}.btn,.btn-small{border-radius:0.5rem;}*{transition-timing-function:cubic-bezier(0.4,0,0.2,1);}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;background:var(--primary-color);color:white;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease,transform 0.3s ease;z-index:999;box-shadow:0 4px 12px rgba(0,0,0,0.15);}.back-to-top.visible{opacity:1;visibility:visible;}.back-to-top:hover{transform:translateY(-4px);box-shadow:0 6px 16px rgba(0,0,0,0.2);}.back-to-top:focus{outline:3px solid #00bcd4;outline-offset:2px;}.cta-band{background:linear-gradient(90deg,#0f1d3d,#0b4fa3);color:#fff;padding:40px 0;}.cta-band__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;align-items:center;}.cta-band__actions{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:flex-end;}.cta-band .btn{border-color:rgba(255,255,255,0.4);}.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.5);}.btn.ghost:hover{background:rgba(255,255,255,0.1);color:#fff;}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin:0;color:rgba(255,255,255,0.7);}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}.contact-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:.75rem;padding:1rem;box-shadow:0 12px 28px rgba(2,6,23,.06)}.contact-card h4{margin:.25rem 0 .35rem}.contact-card p{margin:0}.cta-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.contact-form{max-width:720px}.contact-form input,.contact-form textarea{width:100%;padding:.6rem;border:1px solid rgba(15,23,42,.18);border-radius:.5rem}.contact-form label{font-weight:700}.mapcard{position:relative;background:#f8fafc;border:1px dashed rgba(15,23,42,.2);border-radius:1rem;min-height:220px;display:flex;align-items:center;justify-content:center;color:var(--nt-muted)}.mapcard::before{content:"Limousin - Nouvelle-Aquitaine";font-weight:700}details.faq{border:1px solid rgba(15,23,42,.08);border-radius:.75rem;background:#fff;box-shadow:0 6px 18px rgba(2,6,23,.04);margin:.75rem 0}details.faq summary{cursor:pointer;padding:.9rem 1rem;font-weight:700;color:var(--primary-color);list-style:none}details.faq summary::-webkit-details-marker{display:none}details.faq .faq-body{padding:.25rem 1rem 1rem}.card:hover,.btn:hover,.btn-small:hover{will-change:transform;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}.back-to-top{transition:none;}}@media (prefers-color-scheme:dark){}@media print{.navbar,.back-to-top,.hero-actions,footer{display:none;}body{background:white;color:black;}a{text-decoration:underline;color:black;}.section{page-break-inside:avoid;}} .section.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.section.reveal.is-visible{opacity:1;transform:translateY(0)}.card:hover,.card:focus-within{transform:translateY(-4px);box-shadow:0 10px 25px rgba(15,23,42,.12);border-color:rgba(46,125,255,.4)}.btn:hover,.btn:focus-visible{transform:scale(1.02)}
