.vd-interior #main>section,.vd-interior #main>article{padding-top:clamp(36px,5vw,72px);padding-bottom:clamp(48px,6vw,88px)}
.vd-interior .page-title{margin-top:0;margin-bottom:30px}.vd-editorial-page{max-width:74ch}.vd-editorial-page .rich-text{font-size:17px;line-height:1.85;text-align:left}.vd-editorial-page .rich-text p{line-height:inherit;margin:0 0 1.4em}.vd-editorial-page .rich-text h2{font-size:clamp(30px,3.4vw,46px);line-height:1.15;margin:1.5em 0 .6em}.vd-editorial-page .rich-text h3{font-size:clamp(25px,2.6vw,34px);margin:1.4em 0 .55em}.vd-editorial-page .rich-text ul,.vd-editorial-page .rich-text ol{padding-left:1.5em;margin:0 0 1.5em}.vd-editorial-page .rich-text li{margin:.5em 0}.vd-editorial-page blockquote{border-left:3px solid var(--gold);padding:8px 0 8px 24px;margin:28px 0;font-style:italic}.vd-editorial-page .rich-text img{height:auto;margin:28px auto}.vd-editorial-page .article-image{margin:24px 0 36px}
.vd-home #carnet{padding-bottom:48px}.vd-home #sans-filtre{padding-top:48px}
.newsletter #newsletter-form .newsletter-fields{align-items:start;gap:20px}.newsletter-fields>div>label{display:block;position:static;min-height:42px;margin:0 0 8px;line-height:1.5}.newsletter #newsletter-name,.newsletter #newsletter-email{height:48px;margin:0;padding:10px 12px;border:1px solid var(--line);font-size:16px;background:transparent}.newsletter .email-row{border:0;align-items:stretch;gap:8px}.newsletter .email-row button{flex:0 0 48px;width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;font-size:24px;line-height:1;padding:0}.newsletter #newsletter-form .newsletter-consent{display:flex;align-items:flex-start;gap:12px;line-height:1.6;padding:8px 0;margin-top:14px;cursor:pointer}.newsletter #newsletter-form .newsletter-consent input{appearance:auto;display:block;width:20px!important;height:20px;min-width:20px;flex:0 0 20px;padding:0;margin:2px 0 0;accent-color:var(--gold)}.newsletter-consent span{min-width:0}
body.classic #main .vd-adresse-filters>a,body.classic #main .vd-adresse-filters>button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;white-space:nowrap;width:auto;flex:0 0 auto;line-height:1.4;border:1px solid var(--line);box-sizing:border-box}
.vd-back-top{position:fixed;left:20px;bottom:22px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px;z-index:12;box-shadow:0 3px 12px #0001}.vd-back-top[hidden]{display:none}.vd-back-top:hover{border-color:var(--gold)}
body.classic .footer{padding-bottom:130px}
@media(max-width:900px){.newsletter-fields>div>label{min-height:0}.vd-home #carnet{padding-bottom:36px}.vd-home #sans-filtre{padding-top:36px}}
@media(max-width:650px){.vd-editorial-page .rich-text{font-size:16px}.vd-editorial-page blockquote{padding-left:16px}.vd-back-top{left:12px;bottom:14px}.vd-home #carnet{padding-bottom:28px}.vd-home #sans-filtre{padding-top:28px}}

/* Assistant: styles scoped to the V&D widget. */
#chat .chat-panel{position:absolute;right:0;bottom:calc(100% + 66px);width:min(410px,calc(100vw - 32px));max-height:calc(100dvh - 164px);overflow-y:auto;overscroll-behavior:contain;padding:24px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #0002;box-sizing:border-box}
#chat .chat-panel h3{padding-right:40px;margin:0 0 12px;font-size:32px}#chat .chat-panel .minor{margin-bottom:12px;line-height:1.6}
#chat-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font:28px/1 Arial,sans-serif;cursor:pointer}#chat-close:hover{background:var(--ink);color:var(--paper)}
#chat-messages{max-height:200px;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}#chat-messages p{padding:10px 0;border-bottom:1px solid var(--line)}
#assistant-form{display:grid;gap:10px;margin-top:20px}#assistant-form label{display:block;margin:0;line-height:1.5;font-size:14px;font-weight:600}
#assistant-form textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:132px;max-height:260px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff8;color:var(--ink);font:inherit;line-height:1.6}
#assistant-send{justify-self:start;min-height:44px;margin-top:6px}#assistant-send:disabled{opacity:.65;cursor:wait}#assistant-form[aria-busy="true"] textarea{opacity:.7}
#chat-error{margin:12px 0;padding:10px 12px;border-left:3px solid #8b2626;background:#fff5;color:#8b2626;overflow-wrap:anywhere;font-size:14px;line-height:1.5}#chat-error[hidden]{display:none}
#assistant-status{min-height:1.5em;font-size:13px}#chat .assistant-contact{display:inline-block;margin-top:14px;font-size:14px;padding:6px 0}#chat :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.vd-avis{max-width:74ch}.vd-avis-form{display:grid;gap:10px;margin-top:28px}.vd-avis-form label{font-weight:600;margin-top:12px}.vd-avis-form :is(input,textarea,select){width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit;line-height:1.6}.vd-avis-form textarea{resize:vertical}.vd-avis-form .btn{justify-self:start;margin-top:16px}.vd-avis-form small{line-height:1.5}.field-error{color:#8b2626;font-size:14px}.field-error:empty{display:none}.vd-avis-form :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.vd-testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin:28px 0}.vd-testimonial-grid figure{margin:0;padding:24px;border:1px solid var(--line);overflow-wrap:anywhere}.vd-testimonial-grid img{width:60px;height:60px;border-radius:50%;margin-bottom:16px}.vd-testimonial-grid blockquote{margin:0 0 20px;white-space:pre-line;line-height:1.75}.vd-testimonial-grid figcaption span{display:block;font-size:14px;margin-top:5px}
@media(max-width:650px){#chat .chat-panel{padding:20px;width:calc(100vw - 32px)}#chat .chat-panel h3{font-size:28px}#assistant-form textarea{min-height:120px}.vd-testimonials h2{font-size:38px}}

/* Service measure and leading; alignment is centralized in narrative.css. */
.services .service{min-width:0}
.services .service .vd-service-description{width:100%;max-width:none;line-height:1.75;letter-spacing:normal;word-spacing:normal}
.vd-service-content p{line-height:1.75}
