.contact-hero{background:var(--ink);padding:calc(var(--bar-h) + var(--nav-h) + clamp(48px, 7vw, 80px)) 0 clamp(48px, 7vw, 72px);position:relative;overflow:hidden}.contact-hero:before{content:"";pointer-events:none;background:radial-gradient(at 80%,#c8102e1f 0%,#0000 60%);position:absolute;inset:0}.contact-hero-body{z-index:1;position:relative}.contact-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;align-items:center;gap:12px;margin-bottom:18px;font-size:.75rem;font-weight:600;display:flex}.contact-eyebrow .eyebrow-dash{background:var(--accent);flex-shrink:0;width:28px;height:1px;display:block}.contact-hero-content{max-width:640px}.contact-hero-title{font-family:var(--font-serif);letter-spacing:-.025em;color:#fff;margin-bottom:18px;font-size:clamp(2.4rem,5.5vw,4.8rem);font-weight:900;line-height:1}.contact-hero-title em{color:var(--accent-2);font-style:italic}.contact-hero-lead{color:#fff9;max-width:480px;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7}.contact-channels{background:var(--white);border-bottom:1px solid #00000012;padding:clamp(32px,4vw,48px) 0}.channels-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=900px){.channels-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.channels-grid{grid-template-columns:1fr}}.channel-card{background:var(--paper-2);transition:transform var(--dur), box-shadow var(--dur), background var(--dur);border:1px solid #00000012;border-radius:4px;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.channel-card:hover{background:var(--white);transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.channel-card:hover .channel-arrow{transform:translate(3px)}.channel-icon{border-radius:8px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.channel-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.channel-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem;font-weight:700}.channel-value{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.channel-sub{color:var(--ink-3);font-size:.72rem}.channel-arrow{color:var(--ink-3);transition:transform var(--dur);flex-shrink:0}.contact-main{background:var(--paper);padding:clamp(56px,8vw,96px) 0}.contact-layout{grid-template-columns:1fr 360px;align-items:start;gap:60px;display:grid}@media (width<=1024px){.contact-layout{grid-template-columns:1fr 300px;gap:40px}}@media (width<=768px){.contact-layout{grid-template-columns:1fr;gap:48px}}.contact-form-header{margin-bottom:32px}.contact-form-header .h2-display{margin-top:8px}.form-success-msg{color:#007850;background:#10b98114;border:1px solid #10b98140;border-radius:4px;align-items:center;gap:10px;margin-bottom:24px;padding:14px 18px;font-size:.88rem;font-weight:600;display:flex}.form-success-msg svg{color:#10b981;flex-shrink:0}.form-error-msg{background:#ef44440d;border:1px solid #ef444433;border-radius:4px;margin-bottom:24px;padding:14px 18px}.form-error-msg strong{color:#ef4444;margin-bottom:8px;font-size:.85rem;display:block}.form-error-msg ul{padding-left:18px;list-style:outside}.form-error-msg li{color:#ef4444;font-size:.82rem}.contact-form{flex-direction:column;gap:18px;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.form-row-2{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-2);font-size:.82rem;font-weight:600}.field input,.field select,.field textarea{font-size:.9rem;font-family:var(--font-sans);color:var(--ink);background:var(--white);width:100%;transition:border-color var(--dur), box-shadow var(--dur);border:1.5px solid #0000001f;border-radius:4px;padding:11px 14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #c8102e14}.field input::placeholder,.field select::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field textarea{resize:vertical;min-height:140px;line-height:1.6}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.req{color:var(--accent);margin-left:2px}.field-error-msg{color:#ef4444;font-size:.75rem;font-weight:500}.form-rgpd{background:var(--paper-2);border-radius:4px;padding:14px 16px}.checkbox-label-sm{cursor:pointer;color:var(--ink-3);align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.5;display:flex}.checkbox-label-sm input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.checkbox-label-sm a{color:var(--accent)}.form-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.btn-contact-submit{background:var(--accent);color:#fff;font-size:.92rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur), transform var(--dur), box-shadow var(--dur);border:none;border-radius:4px;align-items:center;gap:8px;padding:13px 28px;display:flex}.btn-contact-submit:hover{background:var(--accent-dk);transform:translateY(-1px);box-shadow:0 6px 20px #c8102e40}.btn-contact-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.form-hint{color:var(--ink-3);font-size:.78rem}.contact-aside{flex-direction:column;gap:16px;display:flex}@media (width>=769px){.contact-aside{top:calc(var(--bar-h) + var(--nav-h) + 24px);position:sticky}}.aside-block{background:var(--white);border:1px solid #00000014;border-radius:4px;padding:20px}.aside-block-title{font-family:var(--font-serif);color:var(--ink);border-bottom:1px solid #00000012;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:.95rem;font-weight:700;display:flex}.aside-block-title svg{color:var(--accent);flex-shrink:0}.horaires-list{flex-direction:column;gap:0;display:flex}.horaire-row{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.horaire-row:last-child{border-bottom:none}.horaire-row span{color:var(--ink-3);font-size:.82rem}.horaire-row strong{color:var(--ink);font-size:.82rem;font-weight:700}.horaire-row.closed strong{color:var(--ink-3)}.services-list{flex-direction:column;gap:10px;display:flex}.service-item{flex-direction:column;gap:2px;display:flex}.service-item strong{color:var(--ink);font-size:.8rem;font-weight:700}.service-item a{color:var(--accent);transition:opacity var(--dur);font-size:.76rem}.service-item a:hover{opacity:.75}.socials-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.social-btn{background:var(--paper-2);color:var(--ink-2);transition:background var(--dur), border-color var(--dur);border:1px solid #00000014;border-radius:4px;align-items:center;gap:7px;padding:8px 12px;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.social-btn:hover{background:var(--ink);color:#fff;border-color:#0000}.aside-block--faq{background:var(--paper-2)}.faq-list{flex-direction:column;gap:0;display:flex}.faq-item{border-bottom:1px solid #00000012}.faq-item:last-child{border-bottom:none}.faq-question{color:var(--ink);cursor:pointer;transition:color var(--dur);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:.83rem;font-weight:600;list-style:none;display:flex}.faq-question:hover{color:var(--accent)}.faq-question::marker{display:none}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";color:var(--ink-3);transition:transform var(--dur);flex-shrink:0;font-size:1rem;font-weight:400}details[open] .faq-question:after{transform:rotate(45deg)}.faq-answer{color:var(--ink-3);padding:0 0 10px;font-size:.8rem;line-height:1.6}.contact-map-section{background:var(--paper-2);padding:clamp(56px,8vw,90px) 0}.map-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.map-header .h2-display{margin-top:8px}.campus-map-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=900px){.campus-map-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.campus-map-grid{grid-template-columns:1fr}}.campus-map-card{background:var(--white);transition:transform var(--dur), box-shadow var(--dur);border:1px solid #00000014;border-radius:4px;overflow:hidden}.campus-map-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000017}.campus-map-card:hover .campus-map-img img{transform:scale(1.04)}.campus-map-card--featured{grid-column:span 1}.campus-map-img{background:var(--paper-2);height:160px;position:relative;overflow:hidden}.campus-map-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.campus-map-badge{background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:2px;padding:3px 10px;font-size:.68rem;font-weight:700;position:absolute;top:10px;left:10px}.campus-map-body{padding:16px 18px}.campus-map-name{font-family:var(--font-serif);color:var(--ink);margin-bottom:10px;font-size:1rem;font-weight:700}.campus-map-infos{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.campus-map-info{color:var(--ink-3);align-items:flex-start;gap:7px;font-size:.8rem;line-height:1.4;display:flex}.campus-map-info svg{color:var(--accent);flex-shrink:0;margin-top:1px}.campus-map-link{color:var(--accent);transition:letter-spacing var(--dur);font-size:.82rem;font-weight:600;text-decoration:none}.campus-map-link:hover{letter-spacing:.03em}
