/* Contact and LPP share the same quiet, accessible form system. */
.form-page{padding:160px 0 100px;background:linear-gradient(150deg,#fff 20%,#f6f8fb 100%);min-height:90vh}.form-layout{display:grid;grid-template-columns: .9fr 1.1fr;gap:80px;align-items:start}.back-link{font-size:12px;margin-bottom:50px}.form-intro h1{font-size:54px;letter-spacing:-.055em;line-height:1.12;font-weight:600;margin:0 0 24px}.form-intro>p:not(.eyebrow){font-size:16px;line-height:1.85;color:var(--muted);max-width:360px}.form-promise{display:flex;gap:14px;align-items:center;margin-top:30px}.form-promise>div{display:flex;flex-direction:column;gap:5px}.form-promise strong{font-size:14px;font-weight:600}.form-promise>div>span{font-size:12px;color:var(--muted)}.form-direct{display:flex;align-items:start;flex-direction:column;gap:9px;margin-top:45px}.form-direct>span{font-size:12px;color:var(--muted);margin-bottom:3px}.form-direct a:first-of-type{font-size:22px;font-weight:600;letter-spacing:-.04em}.form-direct a:last-of-type{font-size:14px;color:var(--blue)}.form-address{display:flex;gap:14px;margin-top:28px;font-size:13px;line-height:1.8;color:var(--muted)}.form-address .icon{color:var(--blue);margin-top:3px}.form-surface{background:#fff;border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:0 15px 60px #152e5010;min-width:0}.form-mode-tabs{display:flex;padding:5px;background:var(--surface);border-radius:13px;gap:5px;margin-bottom:32px}.form-mode-tabs button{border:0;background:transparent;padding:12px 6px;flex:1;cursor:pointer;font:600 12px/1.5 Inter,sans-serif;color:var(--muted);border-radius:9px}.form-mode-tabs button[aria-selected=true]{background:#fff;color:var(--blue);box-shadow:0 2px 8px #2233550b}.request-form h2,.wizard-step>legend{font-size:27px;line-height:1.25;letter-spacing:-.04em;font-weight:600;margin:0 0 12px;padding:0}.request-form .form-description{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:28px}.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px 17px}.request-fields>label{display:flex;flex-direction:column;font-size:12px;line-height:1.5;font-weight:600;gap:8px;min-width:0}.request-fields .full{grid-column:1/-1}.request-fields input:not([type=radio]):not([type=checkbox]),.request-fields select,.request-fields textarea{font:400 14px/1.5 Inter,sans-serif;color:var(--ink);border:1px solid #d5dce5;background:#fff;border-radius:10px;padding:13px 12px;width:100%;min-width:0;min-height:48px;transition:border-color .2s,box-shadow .2s}.request-fields textarea{resize:vertical;min-height:110px}.request-fields input::placeholder,.request-fields textarea::placeholder{color:#7b8492}.request-fields :is(input,select,textarea):focus{border-color:var(--blue);outline:3px solid #0066cc1a;outline-offset:0}.request-fields [aria-invalid=true]{border-color:#b82636}.input-help{font-size:11px;line-height:1.7;font-weight:400;color:var(--muted)}.optional{font-weight:400;color:var(--muted);font-size:10px}.consent-field{display:flex;align-items:flex-start;gap:11px;margin:26px 0;font-size:11px;line-height:1.8;color:var(--muted);cursor:pointer}.consent-field input{width:17px;height:17px;flex-shrink:0;margin:3px 0 0;accent-color:var(--blue)}.consent-field a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.form-footnote{font-size:10px;text-align:center;color:var(--muted);margin-top:17px;line-height:1.7;display:flex;align-items:center;justify-content:center;gap:6px}.form-footnote .icon{width:14px;height:14px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{padding:13px 16px;background:#fff1f2;color:#9c2335;border:1px solid #f2c6cc;border-radius:10px;font-size:13px;line-height:1.7;margin-bottom:20px}.request-form .button{font-size:13px;min-height:49px}.request-form button:disabled{opacity:.55;cursor:wait;transform:none}.appointment-note{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px;line-height:1.7;margin-top:17px}.appointment-note .icon{width:15px;height:15px;flex-shrink:0}.form-success{text-align:center;padding:42px 0;outline:none}.success-icon{width:65px;height:65px;display:flex;align-items:center;justify-content:center;background:#ebf7f1;border-radius:22px;color:#18744b;margin:0 auto 30px}.success-icon .icon{width:30px;height:30px}.form-success h2{font-size:36px;line-height:1.2;letter-spacing:-.045em;margin-bottom:24px}.success-message{font-size:15px;line-height:1.85;color:var(--muted)}.success-reference{font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin:20px 0 30px}.wizard-sidebar{list-style:none;padding:0;margin:36px 0}.wizard-sidebar li{display:flex;gap:15px;align-items:center;font-size:13px;color:var(--muted);padding:11px 0}.wizard-sidebar li>span{font-size:10px;width:29px;height:29px;display:flex;align-items:center;justify-content:center;background:#edf0f5;border-radius:50%}.wizard-sidebar li[aria-current=step]{font-weight:600;color:var(--blue)}.wizard-sidebar li[aria-current=step]>span{color:#fff;background:var(--blue)}.wizard-sidebar li.is-done>span{color:var(--blue);background:var(--blue-soft)}.wizard-progress{margin-bottom:30px}.wizard-progress>span{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:600}.wizard-progress [role=progressbar]{height:4px;background:#eef1f5;border-radius:8px;margin-top:12px;overflow:hidden}.wizard-progress i{display:block;height:100%;width:20%;background:var(--blue);transition:width .25s}.wizard-step{border:0;margin:0;padding:0;min-width:0}.wizard-step>legend:focus{outline:none}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.wizard-actions #previous-step{margin-right:auto}.choice-field{padding:0;margin:0;border:0;min-width:0}.choice-field>legend{font-size:12px;font-weight:600;margin-bottom:12px}.radio-cards{display:flex;gap:12px}.radio-cards label{flex:1;position:relative;cursor:pointer}.radio-cards input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.radio-cards span{display:flex;align-items:center;gap:11px;min-height:48px;box-sizing:border-box;padding:12px 16px;border:1px solid #d5dce5;border-radius:10px;background:#fff;font-size:14px;transition:border-color .15s,background .15s}.radio-cards span::before{content:'';flex:none;width:17px;height:17px;box-sizing:border-box;border-radius:50%;border:1.5px solid #b6c0cd;background:#fff;transition:all .15s}.radio-cards label:hover span{border-color:#9fb4d0}.radio-cards input:checked+span{border-color:var(--blue);background:#f4f8fe;color:var(--blue)}.radio-cards input:checked+span::before{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 3.5px #fff}.radio-cards input:focus-visible+span{outline:3px solid #0066cc30}.review-summary{margin:0;padding:0}.review-summary>div{display:grid;grid-template-columns:.85fr 1.15fr;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;line-height:1.7}.review-summary dt{color:var(--muted)}.review-summary dd{margin:0;overflow-wrap:anywhere}.edit-review{background:transparent;border:0;font:600 12px Inter,sans-serif;padding:0;margin-top:18px;cursor:pointer}.legal-page{padding:160px 0 90px}.legal-content{max-width:750px}.legal-page h1{font-size:48px;line-height:1.12;letter-spacing:-.045em;margin-bottom:27px}.legal-page h2{font-size:24px;letter-spacing:-.03em;margin:35px 0 16px}.legal-page p,.legal-page li{font-size:15px;line-height:1.9;color:var(--muted)}.legal-page ul{padding-left:22px}.legal-page a:not(.button){color:var(--blue)}.legal-page .updated{font-size:12px;margin-bottom:30px}.legal-page p+p{margin-top:16px}.legal-page .button{margin-top:25px}.no-js-notice{margin-bottom:22px;padding:20px;border-radius:12px;background:#fff3de;line-height:1.7;font-size:14px}
@media(max-width:1050px){.form-layout{gap:42px;grid-template-columns:.8fr 1.2fr}.form-intro h1{font-size:46px}.form-surface{padding:28px}.form-mode-tabs button{font-size:11px}}
@media(max-width:800px){.form-page{padding-top:130px}.form-layout{grid-template-columns:1fr;gap:32px;max-width:650px}.form-intro .back-link{margin-bottom:28px}.form-intro h1{font-size:43px}.form-intro>p:not(.eyebrow){max-width:100%;font-size:15px}.form-intro .form-direct,.form-address{display:none}.form-promise{margin-top:23px}.wizard-sidebar{display:none}.form-surface{padding:32px}.legal-page{padding-top:130px}.legal-page h1{font-size:40px}}
@media(max-width:480px){.form-page{padding-top:115px;padding-bottom:60px}.form-intro h1{font-size:37px}.form-intro .back-link{font-size:11px;margin-bottom:27px}.form-surface{padding:23px 20px;border-radius:20px}.form-mode-tabs{margin-bottom:26px}.form-mode-tabs button{font-size:10px;padding:11px 5px}.request-form h2,.wizard-step>legend{font-size:25px}.request-fields{grid-template-columns:1fr;gap:18px}.request-fields input,.request-fields select,.request-fields textarea{font-size:16px}.request-form .form-description{font-size:13px;margin-bottom:23px}.form-promise strong{font-size:13px}.form-promise>div>span{font-size:11px}.request-form .button{font-size:12px;padding-left:17px;padding-right:17px}.review-summary>div{grid-template-columns:1fr;gap:4px;font-size:12px;padding:10px 0}.consent-field{font-size:11px}.form-success h2{font-size:31px}.legal-page h1{font-size:34px;overflow-wrap:anywhere}.legal-page h2{font-size:23px}.legal-page p,.legal-page li{font-size:14px}.wizard-actions{gap:8px}.wizard-progress{margin-bottom:25px}}

.contact-mode-links a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;padding:13px 10px;border-radius:10px;color:#7b8697;text-align:center;text-decoration:none}.contact-mode-links a[aria-current=page]{background:#fff;color:#171926;box-shadow:0 2px 8px #25365108}.contact-mode-links a:hover{color:#2676e6}.contact-mode-links a:focus-visible{outline:2px solid #2676e6;outline-offset:2px}@media(max-width:480px){.contact-mode-links a{font-size:10px;padding:12px 6px}}

/* Inline booking keeps the complete scheduling flow on AR Conseils. */
.contact-page .form-layout{grid-template-columns:minmax(240px,.65fr) minmax(0,1.6fr);gap:40px;transition:none}
.contact-page.booking-mode .form-layout{grid-template-columns:minmax(240px,.65fr) minmax(0,1.6fr);gap:40px}
#booking-panel h2{font-size:27px;line-height:1.2;letter-spacing:-.04em;margin:0 0 12px}
#booking-panel .form-description{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 24px}
.booking-calendar{display:block;width:100%;height:clamp(480px,60vh,600px);min-height:0;overflow:auto;overscroll-behavior:contain;border:0;border-radius:16px;background:white}
@media(max-width:1100px){.contact-page .form-layout,.contact-page.booking-mode .form-layout{grid-template-columns:1fr}.contact-page.booking-mode .form-intro{max-width:680px}.contact-page.booking-mode .form-direct,.contact-page.booking-mode .form-address{display:none}}
@media(max-width:600px){.contact-page.booking-mode .form-surface{padding:22px 12px}.booking-calendar{height:680px;min-height:0}#booking-panel h2,#booking-panel>.form-description{margin-left:8px;margin-right:8px}#booking-panel h2{font-size:24px}}

.phone-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;line-height:1.5;font-weight:600}
.phone-controls{display:grid;grid-template-columns:minmax(105px,150px) minmax(0,1fr);border:1px solid #d5dce5;border-radius:10px;background:#fff;overflow:hidden}
.phone-controls:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #0066cc1a}
.request-fields .phone-controls select,.request-fields .phone-controls input:not([type=radio]):not([type=checkbox]){border:0;border-radius:0;min-width:0;padding:13px 9px;background:transparent}
.request-fields .phone-controls select{border-right:1px solid #e5eaf0;background:#f6f8fb;font-size:12px;text-overflow:ellipsis}
.request-fields .phone-controls :is(input:not([type=radio]):not([type=checkbox]),select):focus{outline:0;box-shadow:none}
