.brief-sec{background:var(--cream,#fcf7ef);scroll-margin-top:100px}.brief-heading{max-width:730px;margin:0 auto 2.4rem;text-align:center}.brief-heading>p{font-size:1.05rem;line-height:1.75;color:var(--muted);margin:1.2rem 0}.brief-heading>a,.brief-source{color:var(--teal-dark);text-underline-offset:4px}.brief-app{max-width:900px;margin:auto;padding:clamp(1.2rem,4vw,3rem);background:#fff;border:1px solid rgba(4,111,114,.15);border-radius:28px;box-shadow:0 18px 60px rgba(4,111,114,.05)}.brief-app [hidden],.brief-nav [hidden]{display:none!important}.brief-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 2.3rem;gap:12px;counter-reset:steps}.brief-progress li{counter-increment:steps;font-size:.8rem;line-height:1.4;color:var(--muted);border-top:3px solid #e6eded;padding-top:10px}.brief-progress li::before{content:'0' counter(steps) ' · '}.brief-progress li[aria-current]{border-color:var(--teal);color:var(--teal-dark);font-weight:700}#brief-screen h3{font-family:'CalSans',sans-serif;font-size:1.6rem;color:var(--teal-dark);margin:0 0 1rem}#brief-screen p{line-height:1.65;color:var(--muted)}.brief-choices{border:0;padding:0;margin:1.6rem 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.brief-choices legend{font-weight:600;margin-bottom:12px}.brief-choice{display:flex;align-items:flex-start;gap:10px;padding:18px;border:1.5px solid #dce9e7;border-radius:14px;cursor:pointer}.brief-choice:has(input:checked){border-color:var(--teal);background:var(--mint-light)}.brief-choice input{margin-top:5px;accent-color:var(--teal-dark)}.brief-choice strong,.brief-choice small{display:block}.brief-choice strong{color:var(--teal-dark);margin-bottom:5px}.brief-choice small{line-height:1.5;color:var(--muted)}.brief-choice:last-child{grid-column:1/-1}.brief-field{margin:22px 0}.brief-field label{display:block;line-height:1.55;font-weight:600;color:var(--teal-dark);margin-bottom:9px}.brief-field textarea{display:block;width:100%;padding:14px;border:1px solid #cddfdd;border-radius:12px;min-height:100px;resize:vertical;font:inherit;line-height:1.6;background:#fcfefd;color:var(--text-body)}.brief-field textarea:focus{outline:2px solid var(--teal);outline-offset:2px}.brief-exercise{border:1px solid #dce9e7;border-radius:16px;margin-top:16px;padding:20px}.brief-exercise summary{cursor:pointer;font-weight:700;color:var(--teal-dark);line-height:1.5}.brief-exercise>p{margin-top:12px}.brief-source{display:inline-block;margin:5px 0 12px}.brief-asset{display:flex;align-items:center;gap:10px;padding:12px 0;color:var(--teal-dark)}.brief-asset input{accent-color:var(--teal-dark);width:18px;height:18px}.brief-tip{padding:15px;background:var(--mint-light);border-radius:12px;font-size:.9rem}.brief-nav,.brief-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.brief-nav{justify-content:space-between}.brief-nav button:only-child{margin-left:auto}.brief-privacy{margin-top:24px;font-size:.8rem;line-height:1.6;color:var(--muted)}.brief-recap{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.92rem;line-height:1.7;padding:20px;background:#f4f9f8;border:1px solid #dce9e7;border-radius:14px;max-height:480px;overflow:auto}.brief-attached{padding:16px;margin-bottom:20px;background:var(--mint-light);border:1px solid rgba(4,111,114,.15);border-radius:14px;color:var(--teal-dark)}.brief-attached details{margin:12px 0}.brief-text-button{border:0;background:transparent;color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;margin:8px 16px 0 0}.ibk-load-error{grid-column:1/-1;text-align:center;padding:1.3rem;color:#a03434}.ibk-load-error p{margin:0 0 1rem}.ibk-load-error .btn{white-space:normal}#brief-feedback{color:var(--teal-dark);line-height:1.6}
/* Le fond est peint de gauche à droite, y compris si la phrase passe sur deux lignes. */
.mirror-card.marker-ready .mc-circle{background-color:transparent;background-image:linear-gradient(var(--marker-color),var(--marker-color));background-repeat:no-repeat;background-position:left 70%;background-size:0% 85%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.05s cubic-bezier(.22,.68,.3,1) .25s}.mcc-1{--marker-color:rgba(61,189,181,.22)}.mcc-2{--marker-color:rgba(245,200,66,.40)}.mcc-3{--marker-color:rgba(240,123,58,.28)}.mcc-4{--marker-color:rgba(4,111,114,.14)}.mirror-card.marker-drawn .mc-circle{background-size:100% 85%}
@media(max-width:600px){.brief-choices{grid-template-columns:1fr}.brief-progress{grid-template-columns:1fr 1fr}.brief-app{border-radius:20px}.brief-actions .btn{width:100%;text-align:center;white-space:normal}.brief-nav .btn{padding:12px 16px}.brief-heading{text-align:left}}
@media(prefers-reduced-motion:reduce){.mirror-card.marker-ready .mc-circle{background-size:100% 85%;transition:none}}

/* Neutraliser les styles génériques du formulaire de contact dans le module. */
.brief-app label{font-family:inherit;font-size:1rem;letter-spacing:normal;text-transform:none}
.brief-choice input[type=radio]{width:18px;height:18px;padding:0;flex:0 0 18px;margin-top:3px}
.brief-choice small{font-size:.85rem}
.brief-choice>span{min-width:0}
.brief-field input[type=text],.brief-field input[type=email],.brief-field input[type=tel]{display:block;width:100%;padding:12px 14px;border:1px solid #cddfdd;border-radius:12px;font:inherit;font-size:.95rem;background:#fcfefd;color:var(--text-body);box-sizing:border-box}
.brief-field input:focus{outline:2px solid var(--teal);outline-offset:2px;border-color:var(--teal)}

/* Intégration dans les sous-onglets contact, sans carte imbriquée. */
@media(min-width:1025px){#contact .contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:3rem}}
#contact .contact-grid>div{min-width:0}
#pane-brief .brief-app{max-width:none;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
#pane-brief .brief-progress{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.5rem}
#pane-brief .brief-progress li{font-size:.76rem}
#pane-brief .brief-choices{grid-template-columns:1fr;gap:10px}
#pane-brief .brief-choice{padding:14px;background:rgba(255,255,255,.6)}
#pane-brief .brief-choice:has(input:checked){background:var(--mint-light);border-color:var(--teal)}
#pane-brief .brief-field label{font-size:.92rem;line-height:1.55}
#pane-brief #brief-screen h3{font-size:1.35rem;line-height:1.3}
#pane-brief .brief-exercise{padding:16px;background:rgba(255,255,255,.5)}
#pane-brief .brief-recap{max-height:340px}
#pane-brief .brief-privacy{font-size:.78rem}
#pane-brief .brief-send-error[hidden]{display:none}
#pane-brief .brief-send-row{min-width:0}
#pane-brief .brief-send-row .brief-field{min-width:0}
