/* Three useful journeys, shared with the studio's visual identity. */
.flow-shell [hidden],.flow-stepper[hidden],.flow-progress[hidden]{display:none!important}
.flow-shortcuts{display:flex;justify-content:center;gap:8px 26px;flex-wrap:wrap;padding-block:23px 0;font-size:14px}.flow-shortcuts a{display:inline-flex;padding:10px 5px;align-items:center;min-height:38px;text-decoration:none;color:#3c4d5d;gap:6px}.flow-shortcuts a[aria-current="page"]{color:#0e1116;font-weight:650}.flow-shortcuts a[aria-current="page"]::before{content:'';width:5px;height:5px;background:#2292ec;border-radius:50%}
.flow-hero{padding-block:44px 39px;text-align:center}.flow-kicker{font-size:14px;color:#3c4d5d;font-weight:550;line-height:1.6;margin:0 0 17px}.flow-hero h1{font-size:clamp(43px,5.9vw,78px);line-height:1.05;letter-spacing:-.055em;font-weight:650;margin:0}.flow-hero h1 span{color:#2292ec}.flow-lead{font-size:18px;line-height:1.75;color:#3c4d5d;max-width:730px;margin:25px auto 0}.flow-contact-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px 30px;padding:22px 20px;border-top:1px solid #e5e8ec;border-bottom:1px solid #e5e8ec;font-size:14px;margin-bottom:36px;color:#3c4d5d}.flow-contact-strip a{text-decoration:none;color:#0e1116;display:flex;align-items:center;gap:8px}.flow-contact-strip a>span{font-size:16px;color:#3c4d5d}
.flow-shell{max-width:900px;width:calc(100% - 80px);margin:0 auto 75px}.flow-tabs{--tab-inset:5px;--tab-gap:5px;--tab-radius:40px;position:relative;isolation:isolate;display:flex;background:#f3f5f7;border-radius:50px;padding:5px;gap:5px;max-width:690px;margin:auto}.flow-tabs>button{position:relative;z-index:1;flex:1;transition:color 180ms ease;border:0;background:transparent;color:#3c4d5d;border-radius:40px;min-height:50px;padding:13px 22px;font:inherit;font-size:14px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:15px}.flow-tabs>button[aria-selected="true"]{background:transparent;color:#fff;font-weight:650}.flow-tabs>button>span{font-size:19px}.flow-local-note{font-size:14px;line-height:1.7;color:#3c4d5d;text-align:center;margin:18px auto 25px;max-width:610px}.flow-panel{padding:38px 44px 40px;border:1px solid #e4e8ec;border-radius:26px;background:#fff;scroll-margin-top:105px}.flow-stepper{list-style:none;display:flex;gap:0;align-items:center;padding:0;margin:0 0 33px;max-width:590px}.flow-stepper li{font-size:14px;color:#3c4d5d;display:flex;align-items:center;gap:10px;flex:1;position:relative}.flow-stepper li:not(:last-child)::after{content:'';height:1px;background:#e1e6eb;flex:1;margin-inline:10px 15px}.flow-stepper li>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;background:#f1f3f5;color:#3c4d5d;border-radius:50%;font-size:14px}.flow-stepper li[aria-current="step"]{color:#0e1116;font-weight:650}.flow-stepper li[aria-current="step"]>span,.flow-stepper li[data-complete]>span{background:#1377c5;color:#fff}
.flow-step,.flow-choice-group{border:0;min-width:0;padding:0;margin:0}.flow-step{scroll-margin-top:112px}.flow-step+.flow-step:not([hidden]){margin-top:35px}.flow-step-title{font-size:30px;letter-spacing:-.045em;line-height:1.2;font-weight:650;margin:0;padding:0;max-width:100%;width:100%}.flow-step-intro,.flow-step-hint{font-size:14px;line-height:1.75;color:#3c4d5d;margin:13px 0 27px;max-width:650px}.flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-block:23px}.flow-field{display:flex;flex-direction:column;gap:9px;margin:0 0 22px;min-width:0;font-size:14px;font-weight:550}.flow-grid .flow-field{margin:0}.flow-field>label,.flow-field>span{display:block;line-height:1.5}.flow-field input,.flow-field textarea,.flow-field select{display:block;width:100%;max-width:100%;border:1px solid #84919e;background:#f8f9fa;border-radius:12px;min-height:51px;padding:14px 15px;font:inherit;font-size:16px;font-weight:400;color:#0e1116;outline-offset:3px;line-height:1.5}.flow-field textarea{resize:vertical;min-height:130px}.flow-field input:focus,.flow-field textarea:focus{background:#fff;border-color:#2292ec;outline:2px solid #2292ec}.flow-field input::placeholder,.flow-field textarea::placeholder{color:#697782;font-size:14px}.flow-field small{font-size:14px;font-weight:400;color:#3c4d5d;line-height:1.7}.flow-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.75;color:#3c4d5d;margin:25px 0}.flow-consent input{appearance:auto;accent-color:#0e1116;width:18px;height:18px;flex:0 0 18px;margin:2px 0 0}.flow-consent a{text-underline-offset:3px;color:#0e1116}.flow-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.flow-actions .button{font-size:14px;min-height:48px;padding:14px 24px}.flow-actions .text-link{font-size:14px;cursor:pointer;min-height:42px;border:0;background:transparent;padding:0;color:#0e1116}.flow-note{font-size:14px;line-height:1.75;color:#3c4d5d;margin:0}.flow-honeypot,.flow-shell .honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.flow-errors{padding:16px 19px;background:#f0f4f8;border-left:3px solid #0e1116;border-radius:0 12px 12px 0;font-size:14px;line-height:1.6;margin-bottom:23px;color:#0e1116}.flow-errors:focus{outline-offset:4px}
.flow-choice-group{margin-bottom:26px}.flow-choice-group>legend{font-size:14px;font-weight:600;line-height:1.6;margin-bottom:12px}.flow-chips{display:flex;flex-wrap:wrap;gap:9px}.flow-chip{cursor:pointer;position:relative;display:block}.flow-chip>input{position:absolute;opacity:0;width:1px;height:1px;top:50%;left:50%}.flow-chip>span{display:flex;align-items:center;gap:8px;min-height:43px;padding:10px 16px;border-radius:11px;border:1px solid #84919e;background:#fff;font-size:14px;line-height:1.5;color:#3c4d5d}.flow-chip>input:checked+span{border-color:#2292ec;background:#edf6fd;color:#0e1116}.flow-chip>input:checked+span::after{content:'';width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor}.flow-chip>input:focus-visible+span{outline:2px solid #2292ec;outline-offset:3px}.flow-recap{margin-top:21px;padding:17px 20px;background:#f5f7f9;border-radius:14px}.flow-recap summary{cursor:pointer;font-size:14px;font-weight:600}.flow-recap dl{margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.flow-recap dt{font-size:14px;color:#3c4d5d;margin-bottom:5px}.flow-recap dd{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.flow-success{padding:22px 0}.flow-success-mark{display:grid;place-items:center;width:58px;height:58px;background:#2292ec;border-radius:50%;font-size:25px;margin-bottom:26px}.flow-success h2{font-size:36px;letter-spacing:-.045em;line-height:1.15;max-width:680px;margin:0 0 20px}.flow-success>p{font-size:15px;line-height:1.8;color:#3c4d5d;max-width:610px}.flow-success p[data-message-reference],.flow-success p[data-booking-reference]{font-size:14px}.flow-demo-note{font-size:14px;line-height:1.7;color:#3c4d5d;background:#f4f6f8;border-radius:10px;padding:13px 16px;margin:0 0 26px}
.meeting-types{display:grid;gap:13px;margin-top:22px}.meeting-types>button{display:flex;align-items:center;gap:20px;text-align:left;padding:22px;border:1px solid #84919e;border-radius:17px;background:#fff;color:#0e1116;font:inherit;cursor:pointer;transition:background-color .2s,border-color .2s}.meeting-types>button:hover{background:#f5f8fb;border-color:#2292ec}.meeting-types>button>span:nth-child(2){flex:1}.meeting-symbol{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;background:#eef4f9;border-radius:12px;font-size:23px}.meeting-types strong{display:block;font-size:18px;font-weight:600;letter-spacing:-.02em;margin-bottom:7px}.meeting-types small{display:block;font-size:14px;line-height:1.65;color:#3c4d5d}.booking-date-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;margin-top:25px}.booking-calendar{background:#f5f7f9;border-radius:19px;padding:20px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.calendar-heading h3{font-size:16px;font-weight:600;text-transform:none;margin:0}.calendar-heading button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #84919e;background:white;border-radius:50%;font-size:16px;cursor:pointer;color:#0e1116}.calendar-heading button:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays>span{text-align:center;font-size:14px;color:#3c4d5d;padding:4px 0 13px}.calendar-days button{width:100%;min-height:36px;aspect-ratio:1;border:0;border-radius:50%;background:transparent;font:inherit;font-size:14px;color:#0e1116;cursor:pointer}.calendar-days button:hover:not(:disabled){background:#fff}.calendar-days button[aria-current="date"]{text-decoration:underline;text-underline-offset:4px}.calendar-days button[aria-pressed="true"]{background:var(--ov-color-accent-control,#1377c5)!important;color:#fff;font-weight:650}.calendar-days button:disabled{color:#adb6bf;cursor:default}.booking-slots{padding-top:8px}.booking-slots>h3{font-size:15px;line-height:1.55;font-weight:600;text-transform:none;margin:0 0 12px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px;max-height:285px;overflow:auto;padding:3px}.slot-grid>button{min-height:40px;border:1px solid #84919e;background:white;border-radius:9px;font:inherit;font-size:14px;cursor:pointer;color:#0e1116}.slot-grid>button[aria-pressed="true"]{border-color:#2292ec;background:#edf6fd;font-weight:650}.booking-summary{padding:15px 18px;border-radius:12px;background:#f3f6f9;font-size:14px;line-height:1.7;color:#3c4d5d;margin:20px 0 25px}
.flow-related{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;align-items:center;padding-block:20px 75px}.flow-related h2{font-size:34px;letter-spacing:-.045em;line-height:1.1;margin:0}.flow-related>.eyebrow{font-size:14px}.flow-related>a{display:block;padding:27px;border:1px solid #e3e8ed;border-radius:20px;text-decoration:none;color:#0e1116}.flow-related>a:hover{background:#f5f7f9}.flow-related>a>strong{display:block;font-size:18px;letter-spacing:-.025em;margin-bottom:12px}.flow-related>a>span{font-size:14px;line-height:1.7;color:#3c4d5d}
.flow-quiz{max-width:950px}.flow-quiz .flow-panel{padding:38px 44px}.flow-progress{margin-bottom:35px}.flow-progress-meta{display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#3c4d5d;margin-bottom:12px}.flow-progress progress{display:block;width:100%;height:4px;border:0;border-radius:5px;overflow:hidden;appearance:none;background:#edf0f4;color:#2292ec}.flow-progress progress::-webkit-progress-bar{background:#edf0f4}.flow-progress progress::-webkit-progress-value{background:#2292ec;border-radius:5px;transition:width .25s}.flow-progress progress::-moz-progress-bar{background:#2292ec;border-radius:5px}.flow-choices{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:25px}.flow-choice{display:flex;align-items:center;gap:11px;cursor:pointer;min-height:71px;border:1px solid #84919e;border-radius:15px;padding:18px;color:#0e1116;font-size:14px;font-weight:500;line-height:1.5;position:relative}.flow-choice>input{accent-color:#0e1116;flex:0 0 16px;width:16px;height:16px;margin:0}.flow-choice>[data-option-label]{flex:1}.flow-choice-mark{font-size:17px;font-weight:400;color:#3c4d5d}.flow-choice:has(input:checked),.flow-choice.is-selected{background:#edf6fd;border-color:#2292ec}.flow-choice:focus-within{outline:2px solid #2292ec;outline-offset:3px}.flow-quiz .flow-actions{margin-top:32px;min-height:48px}.flow-quiz .flow-step-title{font-size:31px}.flow-side-note{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 5px;flex-wrap:wrap}.flow-side-note>.flow-kicker{display:none}.flow-side-note>p{font-size:14px;line-height:1.75;color:#3c4d5d;max-width:530px;margin:0}.flow-side-note .text-link{font-size:14px}.flow-quiz .local-notice{padding:14px 17px;border-radius:11px;background:#f4f6f8;margin-block:20px}.flow-result>h2{font-size:38px;line-height:1.12;letter-spacing:-.045em;margin:0 0 16px}.flow-result .flow-lead{font-size:16px;margin:0;max-width:650px}.flow-result-items{list-style:none;padding:0;margin:27px 0;display:grid;gap:14px}.flow-result-items>li{display:flex;gap:13px;font-size:14px;line-height:1.7;color:#3c4d5d}.flow-result-items>li::before{content:'✓';color:#0e1116}.flow-estimate{background:#edf6fd;padding:28px;border-radius:20px;margin-block:27px}.flow-estimate>p:first-child{font-size:14px;margin:0 0 14px;color:#3c4d5d}.flow-estimate>strong{font-size:clamp(29px,4vw,43px);line-height:1.2;font-weight:650;letter-spacing:-.045em;color:#0e1116}.flow-estimate>p:last-child{font-size:14px;line-height:1.7;color:#3c4d5d;margin:13px 0 0}.flow-answer-details{margin-top:25px;border-top:1px solid #e0e6eb;border-bottom:1px solid #e0e6eb;padding:20px 0}.flow-answer-details>summary{font-size:14px;font-weight:550;cursor:pointer}.flow-answer-list{display:grid;grid-template-columns:1fr 1.4fr;gap:14px 25px;font-size:14px;line-height:1.7;margin:21px 0 0}.flow-answer-list dt{color:#3c4d5d}.flow-answer-list dd{margin:0}.flow-reference{font-size:14px;color:#3c4d5d}
.audit-flow-shell{max-width:1060px;border:1px solid #e0e6eb;border-radius:25px;padding:38px 42px}.audit-url-form{display:flex;align-items:end;gap:14px}.audit-url-form .flow-field{flex:1;margin:0}.audit-url-form input{min-height:56px}.audit-url-form>.button{min-height:56px;font-size:14px;white-space:nowrap;padding-inline:25px}.audit-privacy{margin-top:17px}.audit-loading{display:flex;align-items:center;gap:20px;background:#f3f6f9;border-radius:18px;padding:26px;margin-top:26px}.audit-loading h2{font-size:21px;letter-spacing:-.03em;margin:0 0 7px}.audit-loading p{font-size:14px;line-height:1.7;color:#3c4d5d;margin:0}.audit-loading>.text-link{margin-left:auto;background:transparent;border:0;padding:10px;font-size:14px;cursor:pointer}.audit-spinner{display:inline-block;width:30px;height:30px;border:2px solid #dce5ee;border-top-color:#2292ec;border-radius:50%;animation:audit-turn .9s linear infinite;flex:0 0 30px}@keyframes audit-turn{to{transform:rotate(360deg)}}#audit-errors{margin-top:24px}#audit-results{margin-top:38px;padding-top:29px;border-top:1px solid #e0e6eb;scroll-margin-top:115px}.audit-result-head{display:flex;justify-content:space-between;align-items:center;gap:25px}.audit-result-head h2{font-size:32px;font-weight:600;letter-spacing:-.04em;margin:0 0 10px;overflow-wrap:anywhere}.audit-result-head .flow-kicker{margin-bottom:10px}.audit-result-head>.text-link{font-size:14px;white-space:nowrap;background:transparent;border:0;cursor:pointer}.audit-summary{font-size:14px;line-height:1.8;color:#3c4d5d;margin:25px 0 20px}.audit-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.audit-score{display:flex;flex-direction:column;text-decoration:none;color:#0e1116;border-radius:18px;background:#f3f6f9;padding:23px}.audit-score>span{font-size:14px;font-weight:550}.audit-score>strong{font-size:56px;line-height:1;letter-spacing:-.055em;font-weight:600;margin-block:22px 11px}.audit-score>small{font-size:14px;color:#3c4d5d}.audit-score:hover{background:#edf6fd}.audit-score-note{margin:17px 0 25px;max-width:750px}.audit-check-group{border-top:1px solid #e1e6eb;padding-block:22px;scroll-margin-top:110px}.audit-check-group>summary{font-size:20px;font-weight:600;letter-spacing:-.025em;cursor:pointer}.audit-check-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:23px 25px}.audit-check{display:flex;align-items:flex-start;gap:13px;min-width:0}.audit-check-mark{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:#e9f4fd;font-size:14px;font-weight:650;color:#0e1116}.audit-check--warn .audit-check-mark{background:#edf0f3}.audit-check--fail .audit-check-mark{background:#0e1116;color:white}.audit-check strong{font-size:14px;line-height:1.5;display:block;font-weight:600}.audit-check p{font-size:14px;line-height:1.75;color:#3c4d5d;margin:7px 0 0;overflow-wrap:anywhere}.audit-limits{background:#f4f6f8;padding:20px 22px;border-radius:13px;margin-block:20px}.audit-limits summary{font-size:14px;cursor:pointer;font-weight:550}.audit-limits ul{font-size:14px;line-height:1.8;color:#3c4d5d;padding-left:20px;margin-bottom:0}.audit-limits li+li{margin-top:9px}.audit-result-cta{display:flex;align-items:center;gap:28px;justify-content:space-between;padding-top:25px}.audit-result-cta h3{font-size:23px;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px}.audit-result-cta p{font-size:14px;line-height:1.7;color:#3c4d5d;max-width:500px;margin:0}.audit-result-cta .button{font-size:14px;flex-shrink:0}.audit-explainer{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px;padding-block:10px 65px}.audit-explainer h2{font-size:42px;line-height:1.1;letter-spacing:-.045em;margin:0}.audit-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:32px}.audit-capabilities article>span{font-size:14px;color:#3c4d5d}.audit-capabilities h3{font-size:24px;letter-spacing:-.035em;margin:18px 0 13px}.audit-capabilities p{font-size:14px;color:#3c4d5d;line-height:1.75;margin:0}
@media(max-width:850px){.flow-shell{width:calc(100% - 60px)}.flow-hero h1{font-size:59px}.flow-lead{font-size:16px}.flow-contact-strip{gap:13px 25px;font-size:14px}.flow-panel,.flow-quiz .flow-panel{padding:32px}.flow-related{grid-template-columns:1fr 1fr;gap:20px;padding-bottom:55px}.flow-related>div{grid-column:1/-1;margin-bottom:10px}.flow-related h2{font-size:34px}.booking-date-layout{gap:20px}.booking-calendar{padding:16px}.calendar-heading h3{font-size:14px}.slot-grid{grid-template-columns:repeat(2,1fr);max-height:280px}.audit-flow-shell{padding:30px}.audit-explainer{grid-template-columns:1fr;gap:30px}.audit-result-head{align-items:flex-start;flex-direction:column;gap:15px}.audit-score{padding:19px}.audit-score>strong{font-size:45px}.audit-score>span{font-size:14px}.audit-check-list{gap:23px 20px}.audit-result-cta{flex-direction:column;align-items:flex-start;gap:20px}}
@media(max-width:560px){.flow-shortcuts{padding-top:17px;gap:0 15px;font-size:14px}.flow-shortcuts a{padding:8px 0}.flow-hero{padding-block:28px 30px}.flow-hero h1{font-size:44px}.flow-kicker{font-size:14px;margin-bottom:17px}.flow-lead{font-size:15px;line-height:1.75;margin-top:21px}.flow-lead br{display:none}.flow-contact-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px 10px;padding:19px 0;margin-bottom:25px;font-size:14px}.flow-contact-strip>a:first-child{font-size:14px;gap:4px}.flow-contact-strip>a:nth-child(2){justify-self:end}.flow-contact-strip>span:last-child{justify-self:end}.flow-shell{width:calc(100% - 36px);margin-bottom:45px}.flow-tabs{--tab-inset:4px;--tab-gap:3px;--tab-radius:12px;border-radius:16px;padding:4px;gap:3px}.flow-tabs>button{padding:11px 9px;font-size:14px;min-height:45px;border-radius:12px;gap:7px;line-height:1.5}.flow-tabs>button>span{font-size:14px}.flow-local-note{font-size:14px;margin:15px 9px 20px}.flow-panel,.flow-quiz .flow-panel{padding:27px 22px;border-radius:20px}.flow-stepper{margin-bottom:27px}.flow-stepper li{font-size:14px;gap:7px}.flow-stepper li>span{width:25px;height:25px;flex-basis:25px;font-size:14px}.flow-stepper li:not(:last-child)::after{margin-inline:6px 8px}.flow-step-title,.flow-quiz .flow-step-title{font-size:27px;line-height:1.15}.flow-step-intro,.flow-step-hint{font-size:14px;margin-block:13px 22px}.flow-grid{grid-template-columns:1fr;gap:18px;margin-block:20px}.flow-field{font-size:14px;margin-bottom:18px}.flow-field input,.flow-field textarea,.flow-field select{font-size:16px;min-height:50px;padding:12px 13px}.flow-consent{font-size:14px;gap:10px;margin-block:22px}.flow-consent input{width:17px;height:17px;flex-basis:17px}.flow-actions{gap:15px;margin-top:25px}.flow-actions .button{font-size:14px;padding:13px 19px;min-height:46px}.flow-actions .text-link{font-size:14px}.flow-note{font-size:14px}.flow-actions>.flow-note{max-width:130px}.flow-choice-group{margin-bottom:23px}.flow-choice-group>legend{font-size:14px}.flow-chips{gap:8px}.flow-chip>span{font-size:14px;padding:10px 12px;min-height:40px;border-radius:9px}.flow-recap{padding:17px}.flow-recap dl{grid-template-columns:1fr;gap:12px}.flow-recap summary{font-size:14px}.flow-success h2{font-size:29px}.flow-success>p{font-size:14px}.flow-success-mark{width:49px;height:49px;font-size:23px;margin-bottom:23px}.flow-success .flow-actions{align-items:flex-start;flex-direction:column}.flow-demo-note{font-size:14px;padding:13px;margin-bottom:22px}.meeting-types>button{padding:18px 15px;gap:12px;border-radius:14px}.meeting-symbol{width:34px;height:34px;flex-basis:34px;border-radius:10px;font-size:19px}.meeting-types strong{font-size:16px}.meeting-types small{font-size:14px;line-height:1.65}.meeting-types>button>span:last-child{font-size:14px}.booking-date-layout{grid-template-columns:1fr;gap:23px;margin-top:20px}.booking-calendar{padding:17px}.calendar-heading h3{font-size:16px}.calendar-days button{font-size:14px;min-height:34px}.calendar-weekdays>span{font-size:14px}.slot-grid{grid-template-columns:repeat(3,1fr);max-height:220px}.booking-slots>h3{font-size:14px}.booking-summary{font-size:14px;padding:15px}.flow-related{grid-template-columns:1fr;gap:15px;padding-block:5px 45px}.flow-related>div{margin-bottom:10px}.flow-related h2{font-size:31px}.flow-related>a{padding:23px;border-radius:18px}.flow-related>a>strong{font-size:18px}.flow-related>a>span{font-size:14px}.flow-progress{margin-bottom:28px}.flow-progress-meta{font-size:14px}.flow-choices{grid-template-columns:1fr;gap:11px;margin-top:21px}.flow-choice{min-height:59px;padding:15px;font-size:14px;border-radius:12px;gap:10px}.flow-choice-mark{font-size:16px}.flow-side-note{padding:20px 5px;gap:15px}.flow-side-note>p{font-size:14px}.flow-side-note .text-link{font-size:14px}.flow-result>h2{font-size:30px}.flow-result .flow-lead{font-size:14px}.flow-result-items>li{font-size:14px}.flow-estimate{padding:23px;border-radius:16px}.flow-estimate>strong{font-size:30px}.flow-estimate>p:last-child{font-size:14px}.flow-answer-list{grid-template-columns:1fr;gap:7px;font-size:14px}.flow-answer-list dd{margin-bottom:10px}.flow-result .flow-actions{align-items:flex-start;flex-direction:column}.audit-flow-shell{padding:25px 21px;border-radius:19px}.audit-url-form{flex-direction:column;align-items:stretch;gap:14px}.audit-url-form .flow-field{width:100%}.audit-url-form>.button{min-height:49px;font-size:14px;align-self:flex-start}.audit-url-form input{min-height:52px}.audit-privacy{font-size:14px;margin-top:17px}.audit-loading{padding:20px;gap:14px;flex-wrap:wrap}.audit-loading h2{font-size:20px}.audit-loading p{font-size:14px}.audit-loading>div{flex:1}.audit-loading>.text-link{font-size:14px;padding:0}.audit-spinner{height:25px;width:25px;flex-basis:25px}.audit-result-head h2{font-size:25px}.audit-result-head>.text-link{font-size:14px}.audit-summary{font-size:14px;margin-block:22px 18px}.audit-scores{grid-template-columns:1fr 1fr;gap:11px}.audit-score{padding:19px}.audit-score>strong{font-size:45px;margin-top:20px}.audit-score>span{font-size:14px}.audit-score>small{font-size:14px}.audit-check-list{grid-template-columns:1fr;gap:22px;margin-top:20px}.audit-check-group>summary{font-size:19px}.audit-check strong{font-size:14px}.audit-check p{font-size:14px}.audit-limits{padding:18px}.audit-limits summary{font-size:14px;line-height:1.7}.audit-limits ul{font-size:14px}.audit-result-cta h3{font-size:22px}.audit-result-cta p{font-size:14px}.audit-explainer{padding-block:5px 40px;gap:28px}.audit-explainer h2{font-size:34px}.audit-capabilities{grid-template-columns:1fr;gap:27px}.audit-capabilities h3{font-size:24px;margin-block:12px}.audit-capabilities p{font-size:14px}}
@media(max-width:360px){.flow-shortcuts{gap:0 12px;font-size:14px}.flow-hero h1{font-size:38px}.flow-panel,.flow-quiz .flow-panel{padding:24px 18px}.flow-tabs>button{font-size:14px}.flow-tabs>button>span{display:none}.flow-contact-strip{font-size:14px}.flow-contact-strip>a:first-child{font-size:14px}.flow-step-title,.flow-quiz .flow-step-title{font-size:25px}.flow-actions .button{padding-inline:15px;font-size:14px}.flow-chip>span{font-size:14px;padding-inline:10px}.calendar-heading{gap:5px}.calendar-heading h3{font-size:14px}.calendar-days{gap:3px}.calendar-days button{min-height:30px}.audit-scores{gap:9px}.audit-score{padding:16px}.audit-score>strong{font-size:39px}}
@media(prefers-reduced-motion:reduce){.audit-spinner{animation:none;border-color:#2292ec}.flow-progress progress::-webkit-progress-value{transition:none}.meeting-types>button{transition:none}}
html[data-study-motion="off"] .audit-spinner{animation:none;border-color:#2292ec}

.flow-tabs::before{content:"";position:absolute;inset-block:var(--tab-inset);left:var(--tab-inset);width:calc((100% - 2 * var(--tab-inset) - var(--tab-gap))/2);border-radius:var(--tab-radius);background:var(--ov-color-accent-control,#1377c5);transform:translateX(0);transition:transform var(--motion-scene) var(--motion-ease)}
.flow-tabs[data-active-tab="booking"]::before{transform:translateX(calc(100% + var(--tab-gap)))}
.flow-panel-stage{border-radius:26px}.flow-panel-stage.is-sliding{isolation:isolate}.flow-tabs>button{font-weight:650}.flow-tabs>button:active{transform:none}
@media(max-width:560px){.flow-panel-stage{border-radius:20px}}

/* Form readability: stable type sizes, touch controls and measured spacing. */
.flow-shortcuts a{min-height:44px;padding-inline:8px}
.flow-hero{padding-block:48px 36px}
.flow-lead{max-width:66ch;line-height:1.65}
.flow-contact-strip{line-height:1.55;gap:14px 28px;padding-block:16px}
.flow-contact-strip a{min-height:44px;overflow-wrap:anywhere}
.flow-tabs>button{min-height:56px;font-size:16px;line-height:1.4;gap:10px}
.flow-local-note{max-width:65ch;margin:20px auto 28px;line-height:1.6}
.flow-stepper{margin-bottom:36px}
.flow-stepper li{line-height:1.45}
.flow-stepper li>span{width:32px;height:32px;flex-basis:32px}
.flow-step-title,.flow-quiz .flow-step-title{font-size:clamp(27px,3.4vw,34px);line-height:1.18;letter-spacing:-.035em;text-wrap:balance}
.flow-step-intro,.flow-step-hint{font-size:16px;line-height:1.65;max-width:62ch;margin:14px 0 28px}
.flow-grid{gap:24px;margin-block:26px}
.flow-field{gap:9px;font-size:15px;line-height:1.5}
.flow-field input,.flow-field select,.flow-field textarea{font-size:16px;min-height:54px;padding:14px 16px}
.flow-field input::placeholder,.flow-field textarea::placeholder{font-size:15px;color:#3c4d5d;opacity:1}
.flow-field small{font-size:14px;line-height:1.6}
.flow-field select:focus{background:#fff;border-color:#2292ec;outline:2px solid #2292ec}
.flow-consent{font-size:14px;line-height:1.65;min-height:44px;margin-block:26px;cursor:pointer}
.flow-consent input{width:20px;height:20px;flex-basis:20px;margin-top:2px}
.flow-actions{gap:16px 24px;margin-top:30px}
.flow-actions .button{font-size:15px;line-height:1.4;min-height:50px;padding:14px 22px;text-align:center}
.flow-actions .text-link,.flow-side-note .text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;line-height:1.5}
.flow-note,.flow-errors{font-size:14px;line-height:1.65}
.flow-choice-group>legend{font-size:15px;margin-bottom:14px}
.flow-choice-group{margin-bottom:30px}
.flow-chips{gap:10px}
.flow-chip>span{font-size:14px;min-height:46px;padding:11px 16px;line-height:1.5}
.flow-chip>input:checked+span{box-shadow:inset 0 0 0 1px #2292ec}
.flow-recap summary,.flow-answer-details>summary,.audit-limits summary{display:list-item;min-height:44px;align-content:center;line-height:1.6}
.flow-recap{padding:14px 20px}
.flow-recap dd,.flow-answer-list{font-size:15px;line-height:1.6}
.flow-success>p{font-size:16px;line-height:1.65}
.flow-success .flow-actions .button{max-width:100%;white-space:normal}
.flow-demo-note{font-size:14px;line-height:1.65;padding:16px 18px}
.meeting-types{gap:16px;margin-top:26px}
.meeting-types>button{min-height:100px;padding:22px}
.meeting-types>button>span:nth-child(2){min-width:0}
.meeting-types small{font-size:15px;line-height:1.6}
/* Horaires du premier jour libre d'abord (lecture, Tab et écran dans le même ordre), puis le mois pour changer de jour */
.booking-date-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.calendar-heading button{width:44px;height:44px;flex:0 0 44px}
.calendar-heading h3{font-size:16px;text-align:center;line-height:1.35}
.calendar-days button{min-height:44px;font-size:14px;aspect-ratio:auto}
.calendar-weekdays>span{font-size:14px;padding-bottom:12px}
.calendar-days button:disabled{color:#6f7c89}
.slot-grid{gap:10px;padding:4px;scrollbar-gutter:stable}
.slot-grid>button{min-height:46px;font-size:15px;line-height:1.4}
.booking-slots>h3{font-size:16px;line-height:1.5}
.booking-summary{font-size:15px;line-height:1.6;padding:18px 20px}
.flow-related>a>span{font-size:16px;line-height:1.6}
.flow-progress-meta{font-size:14px;line-height:1.5}
.flow-choices{gap:14px;margin-top:28px}
.flow-choice{font-size:16px;min-height:76px;line-height:1.5;padding:20px;gap:14px}
.flow-choice>input{width:20px;height:20px;flex-basis:20px}
.flow-side-note>p{font-size:14px;line-height:1.65;max-width:62ch}
.flow-result .flow-lead,.flow-result-items>li{font-size:16px;line-height:1.65}
.flow-estimate>p:last-child{font-size:15px;line-height:1.65}
.audit-url-form>.button{font-size:15px;min-height:54px}
.audit-loading p,.audit-summary,.audit-check p,.audit-result-cta p,.audit-capabilities p{font-size:16px;line-height:1.65}
.audit-loading>.text-link,.audit-result-head>.text-link{font-size:14px;min-height:44px;padding-block:10px;line-height:1.5}
.audit-result-head>.text-link{white-space:normal;text-align:left}
.audit-score>span{font-size:15px;line-height:1.4}
.audit-score>small{font-size:14px;line-height:1.5}
.audit-check-group>summary{min-height:44px;align-content:center;line-height:1.4}
.audit-check strong{font-size:16px;line-height:1.5}
.audit-check-list{gap:28px}
.audit-check p{margin-top:8px}
.audit-limits ul{font-size:15px;line-height:1.65}
.audit-result-cta .button{font-size:15px;min-height:50px;white-space:normal;text-align:center}
.flow-shell :is(button,a,summary,input,select,textarea):focus-visible,.flow-shortcuts a:focus-visible,.flow-related>a:focus-visible{outline:2px solid #0e1116;outline-offset:4px}
.flow-choice:focus-within,.flow-chip>input:focus-visible+span{outline-color:#0e1116}
@media(max-width:850px){
  .flow-hero h1{font-size:clamp(44px,7vw,59px)}
  .flow-tabs>button{font-size:15px}
  .booking-date-layout{grid-template-columns:1fr;gap:28px}
  .booking-calendar{padding:22px}
  .calendar-days button{min-height:48px}
  .slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px}
  .audit-scores{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .flow-shortcuts{gap:4px 10px;padding-top:14px;font-size:14px}
  .flow-hero{padding-block:28px 30px}
  .flow-hero h1{font-size:clamp(38px,10.6vw,54px);line-height:1.08}
  .flow-kicker{font-size:14px;line-height:1.6;margin-bottom:16px}
  .flow-lead{font-size:17px;line-height:1.6;margin-top:22px}
  .flow-contact-strip{display:flex;flex-direction:column;align-items:center;gap:6px;padding-block:16px;margin-bottom:28px;font-size:14px}
  .flow-contact-strip>a:first-child{font-size:14px;gap:8px}
  .flow-contact-strip>a:nth-child(2),.flow-contact-strip>span:last-child{justify-self:auto}
  .flow-contact-strip>span{line-height:1.7}
  .flow-tabs>button{min-height:58px;padding:12px 10px;font-size:15px}
  .flow-tabs>button>span{display:none}
  .flow-local-note{font-size:14px;margin:18px 4px 24px}
  .flow-panel,.flow-quiz .flow-panel{padding:28px 22px}
  .flow-stepper{gap:12px;margin-bottom:30px}
  .flow-stepper li{font-size:14px;flex-direction:column;justify-content:center;gap:8px}
  .flow-stepper li:not(:last-child)::after{display:none}
  .flow-grid{gap:24px;margin-block:24px}
  .flow-field{font-size:15px;margin-bottom:24px}
  .flow-field input,.flow-field select,.flow-field textarea{padding:13px 14px}
  .flow-actions .button{font-size:15px;padding:14px 18px}
  .flow-actions>.flow-note{max-width:100%;flex-basis:100%}
  .flow-actions>.flow-note+.button{margin-left:auto}
  .flow-chip>span{font-size:14px;padding:11px 13px}
  .flow-recap dl{gap:18px}
  .flow-success h2,.flow-result>h2{font-size:30px;line-height:1.2}
  .meeting-types>button{padding:20px 16px;gap:13px}
  .meeting-types strong{font-size:18px;line-height:1.35}
  .meeting-types small{font-size:15px}
  .meeting-symbol{display:none}
  .booking-calendar{padding:16px 8px}
  .calendar-days,.calendar-weekdays{column-gap:0;row-gap:4px}
  .calendar-days button{min-height:44px;border-radius:10px}
  .calendar-heading{gap:8px;margin-inline:4px}
  .calendar-heading h3{font-size:16px}
  .booking-summary{font-size:15px;padding:17px}
  .flow-choices{gap:14px;margin-top:26px}
  .flow-choice{font-size:16px;min-height:68px;padding:17px 16px}
  .flow-side-note{padding-block:24px}
  .flow-estimate{padding:24px}
  .flow-answer-list{font-size:15px;gap:8px}
  .flow-answer-list dd{margin-bottom:16px}
  .audit-flow-shell{padding:28px 22px}
  .audit-url-form>.button{align-self:stretch;font-size:15px;min-height:52px}
  .audit-privacy{font-size:14px;line-height:1.65;margin-top:20px}
  .audit-loading{padding:20px 18px}
  .audit-loading>.text-link{padding-inline:8px}
  .audit-summary{font-size:16px;margin-block:24px}
  .audit-score{padding:20px 16px}
  .audit-score>strong{font-size:44px;margin-block:20px 12px}
  .audit-check-group>summary{font-size:21px}
  .audit-check-list{gap:28px}
  .audit-result-cta .button{width:100%}
  .audit-capabilities{gap:32px}
}
@media(max-width:360px){
  .flow-shell{width:calc(100% - 28px)}
  .flow-panel,.flow-quiz .flow-panel,.audit-flow-shell{padding:26px 18px}
  .flow-tabs>button{font-size:14px;padding-inline:8px}
  .flow-stepper{gap:8px}
  .flow-actions .button{width:100%;padding-inline:16px}
  .flow-actions .text-link{min-height:44px}
  .flow-choice{padding-inline:14px}
  .flow-chip>span{padding-inline:12px}
  .calendar-heading{gap:4px}
  .calendar-heading h3{font-size:15px}
  .audit-score{padding:19px 14px}
}

/* The document already offsets sticky navigation for anchor scrolling. */
.flow-panel,.flow-step,.audit-check-group{scroll-margin-top:20px}
#audit-results{scroll-margin-top:115px}
@media(max-width:800px){#audit-results{scroll-margin-top:96px}}
.calendar-heading h3::first-letter,.booking-slots>h3::first-letter{text-transform:uppercase}

/* Google PageSpeed audit presentation. */
.audit-url-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px 14px}
.audit-profile-selector{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 24px;min-width:0;margin:0;padding:0;border:0}
.audit-profile-selector legend{font-size:14px;font-weight:550;line-height:1.5;margin-bottom:8px;padding:0}
.audit-profile-selector label{display:inline-flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;font-size:15px;line-height:1.5}
.audit-profile-selector input{width:18px;height:18px;min-height:0;margin:0;accent-color:#2292ec;flex-shrink:0}
.audit-profile-selector:disabled{opacity:.6}
.audit-profile-selector input:focus-visible{outline:2px solid #2292ec;outline-offset:4px}
.audit-url-form input[readonly]{background:#f3f6f9}
.audit-request-status{margin-top:20px}
.audit-google-results{padding-block:30px}
.audit-section-heading h3{font-size:27px;line-height:1.2;letter-spacing:-.035em;font-weight:600;margin:0 0 12px}
.audit-section-heading .flow-note{font-size:14px;line-height:1.6;margin:0}
.audit-provider-status{font-size:15px;line-height:1.65;margin:22px 0}
.audit-provider-status[data-status="unavailable"],.audit-provider-status[data-status="partial"]{padding:18px 20px;background:#f3f6f9;border-radius:14px}
.audit-provider-error{display:block;margin-top:8px;color:#3c4d5d}
.audit-score:hover{background:#f3f6f9}
.audit-score-note{font-size:14px;line-height:1.65;margin-block:18px 0}
.audit-lab-results{margin-top:34px}
.audit-lab-results h4,.audit-provider-notes h4,.audit-limits h4{font-size:17px;font-weight:600;line-height:1.5;margin:0 0 10px}
.audit-lab-results>.flow-note{font-size:14px;line-height:1.65;margin:0}
.audit-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin:18px 0 0}
.audit-metric{min-width:0;padding:20px 0;border-top:1px solid #e1e6eb}
.audit-metric dt{font-size:14px;line-height:1.5;color:#3c4d5d}
.audit-metric dd{font-size:25px;line-height:1.3;letter-spacing:-.025em;font-weight:550;margin:10px 0 0;overflow-wrap:anywhere}
.audit-recommendations,.audit-html-details{margin-top:28px;border-top:1px solid #e1e6eb;padding-top:20px}
.audit-recommendations>summary,.audit-html-details>summary{display:list-item;min-height:44px;align-content:center;font-size:19px;font-weight:550;line-height:1.5;cursor:pointer}
.audit-recommendations ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:22px}
.audit-recommendations li{max-width:780px}
.audit-recommendations strong{font-size:16px;line-height:1.5;font-weight:550}
.audit-recommendations p{font-size:15px;line-height:1.7;color:#3c4d5d;margin:8px 0 0;overflow-wrap:anywhere;white-space:pre-line}
.audit-provider-notes{margin-top:24px}
.audit-provider-notes ul{padding-left:20px;font-size:14px;line-height:1.7;color:#3c4d5d}
.audit-provider-notes li+li{margin-top:8px}
.audit-html-details{margin-top:0;padding-block:24px}
.audit-html-details>.flow-note{font-size:14px;line-height:1.7;margin-top:16px}
.audit-html-details .audit-check-group>summary{font-size:18px}
.audit-html-details .audit-summary{margin-block:20px}
@media(max-width:700px){.audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .audit-url-form{grid-template-columns:minmax(0,1fr);gap:18px}
  .audit-url-form>.button{grid-row:3;align-self:stretch}
  .audit-profile-selector{gap:10px 24px}
  .audit-google-results{padding-block:26px}
  .audit-section-heading h3{font-size:24px}
  .audit-metrics{gap:0 18px}
  .audit-metric dd{font-size:23px}
  .audit-recommendations>summary,.audit-html-details>summary{font-size:18px}
}

@media(max-width:640px){#audit-results .audit-score>span{min-height:2.7em;line-height:1.35}}

/* Simulateur : l'estimation s'affiche d'abord, l'envoi par e-mail est facultatif (25 septembre 2026). */
.flow-send,.flow-send-done{margin-top:36px;padding:28px;border-radius:22px;background:#f6f8fa}
.flow-send-done{background:#edf6fe}
.flow-send h3,.flow-send-done h3{font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:0 0 8px;color:#0e1116}
.flow-send .flow-grid{margin-top:18px}
.flow-send .flow-actions{margin-top:18px}
.flow-send-done p{margin:6px 0 0}
.flow-result-actions{margin-top:28px}
@media(max-width:600px){.flow-send,.flow-send-done{padding:22px 18px}}

/* Simulateur : audit gratuit du site actuel, annoncé dans l'étape des coordonnées, visages de Mario et Théo (29 septembre 2026). */
.flow-audit{display:flex;align-items:center;gap:14px;margin:18px 0 0;font-size:16px;line-height:1.5;font-weight:600;color:#0e1116}
.flow-audit-faces{display:inline-flex;flex:none}
.flow-audit-faces img{display:block;width:36px;height:36px;border-radius:50%;border:2px solid #fff;box-shadow:0 4px 12px rgba(14,17,22,.14);object-fit:cover}
.flow-audit-faces img+img{margin-left:-11px}
.flow-send .flow-field-wide{grid-column:1/-1}
@media(max-width:600px){.flow-audit{align-items:flex-start;gap:12px;font-size:15px}.flow-audit-faces{margin-top:-2px}.flow-audit-faces img{width:32px;height:32px}.flow-audit-faces img+img{margin-left:-10px}}

/* Simulateur, soir du 29 septembre 2026 : estimation juste sous le titre, puis le bloc de l'audit gratuit (visages, pastilles
   Vitesse, Mobile, Google comme dans la vidéo), puis le détail de la recommandation. Écran de réussite avec prise de rendez-vous. */
.flow-result .flow-estimate{margin-bottom:0}
.flow-result .flow-send,.flow-result .flow-send-done{margin-top:20px}
.flow-send-head{display:flex;align-items:center;gap:14px}
.flow-send .flow-send-head h3{margin:0}
.flow-audit-checks{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 0;padding:0}
.flow-audit-checks li{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:5px 14px 5px 7px;border:1px solid #e0e6eb;border-radius:999px;background:#fff;font-size:15px;font-weight:650;line-height:1.2;color:#0e1116}
.flow-audit-checks li>span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#2292ec;color:#fff;font-size:12px;font-weight:800;line-height:1}
.flow-send .flow-send-head+.flow-step-hint,.flow-send .flow-audit-checks+.flow-step-hint{margin-top:14px}
.flow-send-done{scroll-margin-top:112px}
.flow-send-done .flow-actions{margin-top:20px}
.flow-talk{margin:12px 0 0}
.flow-talk .text-link{font-size:15px;min-height:44px;display:inline-flex;align-items:center;line-height:1.5}
.flow-result-subtitle{font-size:19px;line-height:1.3;letter-spacing:-.02em;font-weight:650;margin:40px 0 0;color:#0e1116}
.flow-result-subtitle+.flow-result-items{margin-top:16px}
@media(max-width:600px){.flow-send-head{flex-direction:column;align-items:flex-start;gap:10px}.flow-send-head .flow-audit-faces img{width:32px;height:32px}.flow-send-head .flow-audit-faces img+img{margin-left:-10px}.flow-audit-checks{gap:6px}.flow-audit-checks li{gap:5px;min-height:32px;padding:4px 9px 4px 4px;font-size:14px}.flow-audit-checks li>span{width:18px;height:18px;font-size:10px}.flow-send-done{padding-inline:14px}.flow-send-done .flow-actions .button{padding-inline:12px;font-size:14px}}

/* Onglets message ou rendez-vous : un espace avant le formulaire, et un repère clavier contenu dans l'onglet (25 septembre 2026). */
.flow-tabs{margin-bottom:24px}
.flow-shell .flow-tabs>button:focus-visible{outline:2px solid #1377c5;outline-offset:-6px}
.flow-shell .flow-tabs>button[aria-selected="true"]:focus-visible{outline-color:#fff}
@media(max-width:600px){.flow-tabs{margin-bottom:16px}}
/* Page d'arrivée de la publicité (/estimation/, 29 septembre 2026) : titre repris de la vidéo, en-tête réduit au logo et au téléphone,
   titre de la première question au-dessus du bandeau des cookies sur un téléphone de 390 x 664. */
.flow-hero-landing{padding-block:44px 34px}
.flow-hero-landing h1{font-size:clamp(40px,5.2vw,68px);line-height:1.06}
.flow-landing-offer{margin:16px 0 0;font-size:clamp(20px,2.1vw,27px);line-height:1.3;font-weight:650;letter-spacing:-.03em;color:#0e1116}
.flow-landing-blue{color:#2292ec;font-weight:700} /* 700 : grand texte au sens des règles d’accessibilité dès 18,7 px, contraste de 3,3:1 suffisant */
.flow-landing-rest{white-space:nowrap}
.site-header-landing .header-phone{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;height:auto;min-height:44px;padding:0 18px;border-radius:100px;background:#f5f5f7;color:#0e1116;text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap}
.site-header-landing .header-phone svg{width:19px;height:19px;flex:none}
.site-header-landing .header-phone:focus-visible{outline:2px solid #1377c5;outline-offset:2px}
/* La barre d'avancement apparaît avec le script : sa place est gardée pour que la première question ne saute pas au chargement. */
.page-estimation .flow-progress[hidden]{display:block!important;visibility:hidden}
@media(max-width:560px){
  .flow-hero-landing{padding-block:18px 16px}
  .flow-hero-landing h1{font-size:clamp(30px,8.9vw,36px);line-height:1.08}
  .flow-landing-offer{font-size:19px;margin-top:9px}
  .page-estimation .flow-quiz .flow-panel{padding-top:20px}
  .page-estimation .flow-progress{margin-bottom:16px}
  .page-estimation .flow-choices{margin-top:18px}
}
@media(max-width:440px){
  .site-header-landing .header-phone{width:44px;height:44px;padding:0}
  .site-header-landing .header-phone-number{display:none}
}
/* Bloc de l'audit sous 380 px (iPhone mini et SE) : les trois pastilles et « Recevoir mon audit gratuit » tiennent sur une ligne. */
@media(max-width:380px){
  .flow-audit-checks{gap:5px}
  .flow-audit-checks li{gap:4px;padding:3px 7px 3px 3px}
  .flow-audit-checks li>span{width:16px;height:16px;font-size:9px}
  .flow-send .flow-actions .button{width:100%;padding-inline:12px}
}

/* Formulaires simplifiés (29 septembre 2026, soir) : sans astérisque, erreurs sous le champ concerné, bouton proche des champs,
   plus de place pendant la saisie au téléphone et formulaire dans le premier écran. Aucune animation sur ces textes. */
.flow-optional{font-weight:400;color:#3c4d5d}
.flow-field .flow-field-hint{display:block;font-size:14px;line-height:1.5;font-weight:400;color:#3c4d5d}
.flow-field-error{display:block;margin-top:6px;font-size:14px;line-height:1.5;font-weight:500;color:#b42318}
.flow-field .flow-field-error{margin-top:0}
.flow-consent+.flow-field-error{margin:-12px 0 16px}
.flow-field input[aria-invalid="true"],.flow-field textarea[aria-invalid="true"]{border-color:#b42318}
.flow-send-promise{font-size:14px;line-height:1.5;color:#3c4d5d;margin:10px 0 0}
.flow-shell button.text-link{background:transparent;border:0;padding:0;color:#0e1116;cursor:pointer;font-family:inherit}
/* Simulateur : la note de l'estimation suit la liste de ce que nous prévoyons */
.flow-estimate-note{font-size:14px;line-height:1.65;color:#3c4d5d;margin:-12px 0 16px}
.flow-send .flow-actions{margin-top:0}
.flow-send .flow-consent{margin-block:18px}
/* Rendez-vous : format rappelé en haut du calendrier, avec « Changer de format » à côté */
.booking-format{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin-bottom:6px}
.booking-format .flow-kicker{margin:0}
.booking-format .text-link{font-size:14px;min-height:44px}
#booking-details .flow-send-promise{margin-top:14px}
#contact-experience{scroll-margin-top:100px}
.contact-flow-shell+.flow-contact-strip{margin-top:-24px}
/* Audit : bouton après un échec, lien vers l'autre appareil, attente avec « Annuler » sous le texte */
.audit-error-action{margin:-8px 0 23px}
.audit-strategy-link{font-size:14px;min-height:44px;margin-top:2px}
.audit-provider-retry{margin:-12px 0 22px}
.audit-provider-retry .text-link{font-size:15px;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.audit-export{margin:26px 0 0}
.audit-export .text-link{font-size:14px;min-height:44px}
.audit-loading{display:grid;grid-template-columns:30px 1fr;gap:6px 16px;align-items:start}
.audit-loading>.audit-spinner{margin-top:2px}
.audit-loading>.text-link{grid-column:2;justify-self:start;margin:0;padding:0;min-height:44px}
.audit-url-form>.button{grid-row:auto}
@media(min-width:900px){.page-audit .consent-banner{left:auto;right:24px}}
@media(max-width:600px){
  #quiz-result>.flow-kicker,#quiz-result>[data-quiz-subtitle]{display:none}
  #quiz-result>h2{font-size:26px;margin:0 0 12px}
  #quiz-result .flow-estimate{padding:16px 18px;margin-top:0}
  #quiz-result .flow-estimate>p:first-child{margin:0 0 4px}
  #quiz-result .flow-estimate>strong{font-size:24px;display:block}
  #quiz-send{margin-top:14px;padding:18px 16px}
  #quiz-send .flow-send-head{flex-direction:row;align-items:center;gap:10px}
  #quiz-send .flow-send-head h3{font-size:19px}
  #quiz-send .flow-audit-checks{margin-top:10px}
  #quiz-send .flow-grid{gap:14px;margin-block:14px}
  #quiz-send .flow-field{gap:6px}
  #quiz-send .flow-consent{margin-block:14px}
  #quiz-send .flow-actions{margin-top:10px}
  .flow-quiz.is-result [data-quiz-progress]{display:none!important}
}
@media(max-width:560px){
  /* Bouton d'envoi sur toute la largeur, juste sous la case d'accord */
  :is(#quiz-send,#scan-form) .flow-actions{flex-direction:row}
  :is(#quiz-send,#scan-form) .flow-actions .button{width:100%;justify-content:center}
  /* Pendant la saisie, l'en-tête reste en haut de la page au lieu de suivre : 76 px de plus au-dessus du clavier */
  body:has(:is(#quiz-send,#scan-form,#message-flow,#booking-details,#site-audit-form) :is(input:not([type=checkbox]):not([type=radio]),textarea):focus) .site-header{position:static}
  /* /quiz/ : la première question plus haut (le titre reste pour le référencement) */
  .page-quiz:not(.page-estimation) :is(.breadcrumbs,.flow-shortcuts,.flow-hero .flow-lead){display:none}
  /* /scan/ */
  .page-scan .edition-page-hero{padding-top:28px}
  /* /audit-gratuit/ : le champ et le bouton dans le premier écran */
  .page-audit :is(.breadcrumbs,.flow-shortcuts,.flow-hero .flow-kicker){display:none}
  .page-audit .flow-hero{padding-block:20px 16px}
  .page-audit .flow-hero h1{font-size:38px}
  .page-audit .flow-hero .flow-lead{margin-top:10px}
  .page-audit .audit-flow-shell{padding:18px;border:0}
  .page-audit .audit-url-form{gap:12px}
  .page-audit .audit-url-form>.button{align-self:stretch}
  .audit-loading{grid-template-columns:25px 1fr;gap:6px 14px}
  /* /contact/ : le formulaire dans le premier écran */
  .page-contact :is(.breadcrumbs,.flow-shortcuts){display:none}
  .page-contact .flow-hero h1{font-size:34px}
  .flow-lead-local{display:none}
  /* Boutons collés en bas de l'écran pour les étapes Projet et Message (longues listes de choix). Les étapes finales
     (« Vous », coordonnées du rendez-vous) et le choix de l'horaire ne sont plus collés (relecture du 29/09/2026) :
     le bouton d'envoi, seul sur sa ligne, se trouve après la case d'accord, comme dans le simulateur et /scan/. */
  #message-flow .flow-step:not([data-message-step="2"])>.flow-actions{position:sticky;bottom:0;z-index:5;background:#fff;margin-inline:-22px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -1px 0 #e5e8ec;flex-wrap:nowrap;align-items:center}
  #message-flow .flow-step:not([data-message-step="2"])>.flow-actions .button{flex:1;justify-content:center;white-space:nowrap}
  #message-flow .flow-step>.flow-actions .text-link{white-space:nowrap}
  /* Pendant la saisie (le clavier réduit l'écran dans les navigateurs d'Instagram et de Facebook sous Android),
     la barre reprend sa place en fin d'étape : elle ne couvre jamais le champ où l'on tape. */
  #message-flow:has(:is(input:not([type=checkbox]):not([type=radio]),textarea):focus) .flow-step>.flow-actions{position:static;box-shadow:none}
  /* Étapes finales : « ← Retour » au-dessus, bouton d'envoi sur toute la largeur et sur une ligne */
  #message-flow [data-message-step="2"]>.flow-actions,#booking-details .flow-actions{flex-direction:column;align-items:stretch;gap:6px}
  #message-flow [data-message-step="2"]>.flow-actions .text-link{align-self:flex-start}
  #message-flow [data-message-step="2"]>.flow-actions .button,#booking-details .flow-actions .button{width:100%;justify-content:center;white-space:nowrap}
  /* Contact : un choix atteint au clavier reste au-dessus de la barre collée */
  html:has(#contact-experience){scroll-padding-bottom:96px}
  .slot-grid{max-height:none;overflow:visible}
}
@media(max-width:360px){
  #message-flow .flow-step:not([data-message-step="2"])>.flow-actions{margin-inline:-18px;padding-inline:18px}
}
/* Écran bas (téléphone à l'horizontale, fort zoom, clavier ouvert sous Android) : ni en-tête ni barre collés */
@media(max-height:500px){
  .site-header{position:static}
  #message-flow .flow-step:not([data-message-step="2"])>.flow-actions{position:static;box-shadow:none}
}
.page-scan .edition-page-hero{padding-bottom:0;margin-bottom:24px}
.page-scan #audit-offert{margin-top:0;padding-top:0}
/* Premiers écrans mesurés à 390 x 664 (29 septembre 2026, soir) */
@media(min-width:900px){.page-audit .audit-url-form{max-width:660px}}
/* Barre d'avancement du simulateur : bleu des commandes (contraste 4,1:1 sur la piste), 6 px */
.flow-progress progress{height:6px}
.flow-progress progress{color:#1377c5}
.flow-progress progress::-webkit-progress-value{background:#1377c5}
.flow-progress progress::-moz-progress-bar{background:#1377c5}
@media(max-width:600px){
  /* Simulateur : « Question 2 sur 5 » en petit, à droite de la barre et sur la même ligne, 12 px sous l'en-tête */
  .flow-quiz .flow-progress{display:flex;align-items:center;gap:12px;margin-bottom:10px}
  .flow-quiz .flow-progress progress{flex:1;min-width:0}
  .flow-quiz .flow-progress-meta{order:2;margin:0;font-size:13px;line-height:1.4;white-space:nowrap}
  .flow-quiz .flow-progress-meta [data-quiz-progress-count]{display:none}
  .flow-quiz .flow-choices{gap:10px}
}
@media(max-width:560px){
  .page-scan .flow-panel{padding-top:22px}
  .page-scan #scan-form .flow-grid{margin-top:0}
  .page-audit .flow-hero .flow-lead{font-size:16px;line-height:1.5}
  .page-audit .audit-flow-shell{padding:12px 18px 18px}
  .page-contact .flow-hero{padding-block:20px 22px}
  .page-contact .flow-hero .flow-lead{margin-top:12px}
  .flow-stepper{justify-content:space-between;gap:10px;margin-bottom:20px}
  .flow-stepper li{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:7px}
  .flow-stepper li>span{width:26px;height:26px;flex-basis:26px}
  .page-contact .flow-panel{padding-top:20px}
}
#message-flow .flow-step>.flow-step-title+.flow-choice-group{margin-top:18px}
@media(max-width:560px){#message-flow .flow-step>.flow-step-title+.flow-choice-group{margin-top:12px}}
/* Bouton pas encore utilisable (« Continuer » avant le choix d'un horaire) : il le montre, sans ressembler au bouton actif */
.flow-shell .flow-actions .button:disabled:not([aria-busy]){background:#e9edf1;border-color:#e9edf1;color:#3c4d5d;cursor:not-allowed;box-shadow:none}
/* Résultat de l'audit : le curseur y est placé pour les lecteurs d'écran, sans cadre autour de tout le bloc */
#audit-results:focus{outline:none}
.audit-strategy-link,.booking-format-link{text-decoration:underline;text-underline-offset:3px}
/* Récapitulatif du projet au téléphone : une ligne par élément, pour garder les coordonnées près du haut */
@media(max-width:560px){
  .flow-recap{padding:12px 16px}
  .flow-recap dl{gap:6px;margin-top:10px}
  .flow-recap dl>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px}
  .flow-recap dt{margin:0}
}
/* /scan/ sur ordinateur : l'adresse du site seule sur sa ligne, puis nom et e-mail côte à côte, comme l'ordre de lecture */
.page-scan #scan-form .flow-grid>.flow-field:first-child{grid-column:1/-1}
/* Relecture du 29/09/2026 */
/* Titres et blocs où le script place le curseur pour les lecteurs d'écran (question, résultat, envoi réussi, attente de l'audit) :
   pas de cadre autour, WebKit en dessinait un. Les vrais contrôles gardent le leur. */
.flow-shell :is(legend,h2,h3)[tabindex="-1"]:focus,#quiz-result:focus,.flow-success:focus{outline:none}
/* Rendez-vous : « Modifier le créneau » à côté du récapitulatif du créneau */
.booking-summary>p{margin:0}
.booking-summary .booking-summary-change{font-size:14px;min-height:44px;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center}
/* Audit : note non mesurée, sans chiffre */
.audit-score-missing>small{font-size:16px;font-weight:600;color:#3c4d5d;margin-top:8px}
.audit-request-status:empty{display:none}
/* « ← Retour » : flèche masquée aux lecteurs d'écran, rapprochée du mot */
.flow-shell :is([data-message-back],[data-quiz-back]){gap:8px}
/* Nuit du 30/09/2026 : système prospects */
/* « Vouliez-vous dire …@gmail.com ? » sous le champ e-mail : une proposition, jamais une erreur */
.flow-email-suggest{margin:6px 0 0;font-size:14px;line-height:1.5;color:#3c4d5d}
.flow-email-suggest .text-link{display:inline;min-height:0;padding:0;font-size:14px;font-weight:600;color:#0e1116;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
/* Preuve sociale sous l'estimation : logos de clients en anthracite, après le formulaire (rien de plus au-dessus du premier champ) */
.flow-proof{margin:22px 0 0}
.flow-proof p{margin:0 0 10px;font-size:13px;line-height:1.4;font-weight:600;color:#3c4d5d}
.flow-proof ul{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:0;padding:0;list-style:none}
.flow-proof img{display:block;height:auto;max-width:104px;opacity:.8}
@media(max-width:600px){.flow-proof ul{gap:12px 18px}}
/* /audit-gratuit/ : l'audit personnel de Mario et Théo, après la mesure automatique */
.audit-human{margin:32px 0 0}
.audit-human .flow-send-head h3{font-size:22px;line-height:1.25}
.audit-human-lead{margin:12px 0 0;font-size:16px;line-height:1.6;color:#3c4d5d}
.audit-human-lead strong{color:#0e1116;overflow-wrap:anywhere}
.audit-human-lead .nobr{white-space:nowrap}
.audit-human .flow-success{margin-top:0;padding:0;background:none}
.audit-human .flow-success .flow-actions{margin-top:20px}
.audit-human .flow-success h2{margin-top:0}
@media(max-width:600px){.audit-human .flow-success .flow-actions .button{width:100%;justify-content:center;padding-inline:12px;font-size:14px}}
@media(max-width:600px){.audit-human .flow-send-head h3{font-size:19px}}
/* Phrase sous le bouton d'envoi du message (délai et nombre de relances) */
#message-flow .flow-send-promise{margin-top:14px}
/* Écran de réussite du message (30/09/2026) : rendez-vous en premier, les deux boutons côte à côte à l'ordinateur, puis « Préparer une autre demande » */
#message-success .flow-actions{justify-content:flex-start}
/* Choix en deux colonnes égales au téléphone, plus de rangées boiteuses ; un choix seul en fin de liste prend toute la largeur (30/09/2026) */
@media(max-width:560px){.flow-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.flow-chips>.flow-chip:last-child:nth-child(odd){grid-column:1/-1}.flow-chip>span{height:100%}}
@media(min-width:561px) and (max-width:1000px){.flow-contact-strip{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;justify-items:center;gap:14px 44px}}
/* Au-delà du téléphone, chaque rangée de choix se remplit : un choix seul en dernière ligne s'étire au lieu de rester isolé (30/09/2026) */
@media(min-width:561px){.flow-chip{flex:1 1 auto}.flow-chip>span{justify-content:center;height:100%}}

/* Coordonnées avant le prix (3/10/2026) : quiz_flow.render_quiz, quiz-flow.js setLocked */
.flow-result.is-locked [data-quiz-locked]{display:none!important}
/* Rangées équilibrées du formulaire du simulateur (3/10/2026) : sur deux colonnes, le téléphone prend toute la ligne ; à partir de 900 px, nom, e-mail et téléphone sur une seule ligne */
#quiz-send .flow-grid>.flow-field:last-child{grid-column:1/-1}
@media(min-width:900px){#quiz-send .flow-grid{grid-template-columns:repeat(3,1fr)}#quiz-send .flow-grid>.flow-field:last-child{grid-column:auto}}
/* Titre de /estimation/ au téléphone (3/10/2026) : lignes équilibrées, jamais « estimation » seul sur sa ligne */
@media(max-width:600px){.flow-hero-landing h1{text-wrap:balance}.flow-hero-landing h1 br{display:none}}
/* Bouton WhatsApp (4/10/2026) : sous le titre de /estimation/ et sous le formulaire du simulateur */
.whatsapp-link{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:650;color:#0e1116;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;min-height:44px}
.whatsapp-icon{width:22px;height:22px;flex:0 0 22px;fill:#25d366}
.flow-landing-alt{margin:14px 0 0}.flow-send-alt{margin:10px 0 0}
