:root{--navy:#142e49;--navy-deep:#0f243a;--pale:#e9f1f5;--sky:#b6d7e4;--ink:#18324b;--muted:#526778;--line:#c8d8e2;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd853a;outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button:disabled{cursor:default}.wrap{width:calc(100% - 96px);max-width:var(--max);margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;padding:12px 20px;background:white;color:var(--navy);z-index:100}.skip:focus{top:15px}.topbar{background:var(--navy-deep);color:#d9e6ef;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:9px;gap:15px}.topbar a{letter-spacing:.02em;text-transform:none;font-size:12px}.header{background:var(--navy);color:white;border-bottom:1px solid #ffffff23}.nav{display:flex;min-height:98px;align-items:center;gap:32px;justify-content:space-between}.brand{font-size:30px;font-weight:600;letter-spacing:-.04em;line-height:1}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;margin-top:10px}.navlinks{display:flex;align-items:center;gap:24px;font-size:12px}.navlinks a{padding-block:10px;color:#e3eaf0}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--sky);box-shadow:0 1px var(--sky)}.nav-phone{font-size:15px;white-space:nowrap;font-weight:600}.menu-toggle{display:none}.hero-shell{background:var(--navy);color:white}.hero{position:relative;isolation:isolate;min-height:600px;padding-block:68px 65px}.hero-copy{position:relative;z-index:1;width:52%}.eyebrow{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:#456b7d;margin-bottom:20px}.hero .eyebrow,.dark .eyebrow{color:var(--sky)}h1{font-size:clamp(43px,4.5vw,65px);line-height:1.08;font-weight:600;letter-spacing:-.045em;margin-bottom:28px}h1 em{color:var(--sky);font-weight:400}h2{font-size:clamp(30px,3.1vw,43px);line-height:1.13;font-weight:500;letter-spacing:-.035em;margin-bottom:20px}h2 em{font-style:normal;color:#567c91}h3{font-size:23px;line-height:1.25;font-weight:500;letter-spacing:-.02em;margin-bottom:13px}.lead{font-size:16px;line-height:1.8;max-width:455px;color:#e2eaf2}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:16px 23px;border:1px solid var(--navy);background:var(--navy);color:white;font-size:12px;font-weight:600;line-height:1.5;transition:background .15s,transform .15s}.btn:hover{background:#254b6c;transform:translateY(-2px)}.btn-light{background:var(--sky);border-color:var(--sky);color:var(--navy)}.btn-light:hover{background:#d1e7ef}.btn-outline{background:transparent;color:var(--navy);border-color:#9bb3c1}.dark .btn-outline,.hero .btn-outline{border-color:#7890a5;color:white}.btn-outline:hover{background:#ffffff0b}.micro{font-size:11px;line-height:1.6;margin-top:19px;color:var(--muted)}.hero .micro{color:#c6d5e2}.hero-portrait{position:absolute;inset:0 -32px 0 31%;z-index:-1;overflow:hidden}.hero-portrait img{height:100%;width:100%;object-fit:cover;object-position:right}.hero-portrait:after{position:absolute;content:'';inset:0;background:linear-gradient(90deg,var(--navy),#142e49ea 13%,#142e4945 46%,#142e4900 90%)}.hero-tag{position:absolute;right:24px;bottom:24px;padding:9px 13px;background:#142e49de;font-size:9px;letter-spacing:.13em;text-transform:uppercase;z-index:1}.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-block:25px;border-top:1px solid #ffffff28;font-size:12px;color:#dfe9f1}.promise span:nth-child(2){text-align:center}.promise span:last-child{text-align:right}.promise strong{color:var(--sky);font-weight:600}.ticker{display:flex;align-items:center;gap:20px;background:var(--sky);color:var(--navy);border-bottom:1px solid #a4c3d0;overflow:hidden;padding:13px 0}.ticker-window{overflow:hidden;flex:1;min-width:0}.ticker-track{display:flex;width:max-content;animation:marquee 35s linear infinite}.ticker-track span{white-space:nowrap;padding-right:38px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ticker-track b{margin-left:38px;font-size:15px}.ticker button{margin-right:20px;padding:5px 10px;border:1px solid #5c8398;background:transparent;color:var(--navy);font-size:10px;flex-shrink:0}.ticker.paused .ticker-track,.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding-block:90px}.pale{background:var(--pale)}.dark{background:var(--navy);color:#fff}.dark p{color:#d8e4ee}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.split p+p{margin-top:18px}.video-section{padding-block:72px 65px}.video-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8%}.video-copy p{color:var(--muted);max-width:365px}.video-frame{position:relative;aspect-ratio:16/9;background:var(--navy-deep);overflow:hidden;border:1px solid #c2d5df}.video-frame img{width:100%;height:100%;object-fit:contain;opacity:.82}.video-state{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0f243af5);padding:45px 24px 20px;color:white;line-height:1.5}.video-state small{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--sky)}.video-state strong{display:block;font-weight:400;font-size:19px;margin-top:4px}.video-frame iframe,.video-frame video{width:100%;height:100%;border:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:14px;color:var(--muted);max-width:320px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.service-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #142e4910}.service-card .image-wrap{overflow:hidden}.service-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .35s}.service-card:hover img{transform:scale(1.025)}.card-copy{padding:26px;flex:1;display:flex;flex-direction:column}.card-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#526e80;margin-bottom:12px}.card-copy h3{font-size:25px}.card-copy p{font-size:13px;color:var(--muted);margin-bottom:24px;flex:1}.card-link{font-size:11px;font-weight:600;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:15px}.intro-note{font-size:12px;color:var(--muted);margin-top:22px}.about-number{font-size:150px;line-height:1;letter-spacing:-.08em;color:var(--sky);font-weight:500}.about-number small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:20px 0 25px}.about-quote{border-top:1px solid #ffffff35;padding-top:25px;font-size:24px;line-height:1.4;color:white!important}.text-link{display:inline-flex;gap:15px;font-size:12px;font-weight:600;border-bottom:1px solid;padding-bottom:6px;margin-top:24px}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.milestone{border-top:1px solid var(--line);padding-top:22px}.milestone strong{display:block;font-size:23px;font-weight:500;margin-bottom:12px;line-height:1.3}.milestone p{font-size:13px;color:var(--muted)}.photo{width:100%;aspect-ratio:3/2;object-fit:cover}.image-caption{font-size:10px;color:var(--muted);margin-top:12px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:35px}.process div{border-top:1px solid var(--line);padding-top:20px}.process span{font-size:11px;display:block;margin-bottom:18px;color:#4b7187}.process h3{font-size:21px}.process p{font-size:13px;color:var(--muted)}.faq{max-width:850px;margin:auto}.faq .eyebrow,.faq h2{text-align:center}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:25px;cursor:pointer;font-size:16px;font-weight:500;line-height:1.5}.faq summary:after{content:'+';color:#5b7f95;flex-shrink:0;font-size:23px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:18px;color:var(--muted);font-size:14px}.cta-banner{text-align:center;background:var(--navy);color:#fff;padding-block:65px}.cta-banner p{max-width:570px;margin:auto;color:#d9e6f0;font-size:14px}.cta-banner .actions{justify-content:center}.footer{background:var(--navy-deep);color:#d6e3ed;padding-top:55px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:55px;padding-bottom:40px}.footer .brand{color:white;display:inline-block}.footer p{font-size:12px;line-height:1.8;margin-top:20px;max-width:290px}.footer h2{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--sky);margin-bottom:22px}.footer ul{list-style:none;margin:0;padding:0;font-size:12px;line-height:2.3}.footer .footer-phone{font-size:24px;line-height:1.4;color:white;display:block;margin-bottom:10px}.footer-email{font-size:13px;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #ffffff20;display:flex;gap:25px;justify-content:space-between;font-size:10px;line-height:1.6;padding-block:22px;color:#a5bbcc}.mobile-contact{display:none}.breadcrumb{padding-block:25px;font-size:11px;color:#a9c5d6}.breadcrumb a{color:#fff}.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-block:16px 55px}.service-hero .lead{max-width:490px}.service-hero h1{font-size:clamp(40px,4vw,58px)}.service-hero .photo{height:auto;aspect-ratio:3/2}.bullets{padding-left:20px;margin-block:22px;color:var(--muted)}.bullets li{padding-left:5px;margin-top:10px;font-size:14px}.dark .bullets{color:#d8e4ee}.service-story .split{align-items:center}.related{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}.related a{border:1px solid var(--line);padding:13px 19px;font-size:12px}.related a:hover{background:var(--pale)}.contact-intro{padding-block:58px 64px}.contact-intro h1{max-width:800px;margin-bottom:24px}.contact-intro p{color:#d9e6ee;max-width:650px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:start}.contact-methods{list-style:none;padding:0;margin:25px 0 35px}.contact-methods li{border-top:1px solid var(--line);padding:20px 0}.contact-methods small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.contact-methods a{font-size:24px;line-height:1.4;overflow-wrap:anywhere}.contact-methods .email{font-size:19px}.contact-card{border:1px solid var(--line);padding:35px;background:var(--pale)}.contact-card h2{font-size:32px}.contact-card p{font-size:13px;color:var(--muted);margin-bottom:25px}.field{display:flex;flex-direction:column;margin-bottom:20px;gap:7px}.field label{font-size:12px;font-weight:600}.field input,.field select,.field textarea{width:100%;min-width:0;padding:12px 14px;border:1px solid #a9bfcc;background:white;border-radius:0;color:var(--ink);font-size:15px;line-height:1.5}.field textarea{resize:vertical;min-height:150px}.contact-card .btn{width:100%}.form-error{color:#9d281e;font-size:13px;margin-top:15px}.contact-help{margin-top:30px;border-top:1px solid var(--line);padding-top:25px;font-size:13px;color:var(--muted)}.draft-layout{max-width:760px;margin:auto}.draft-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--pale);border:1px solid var(--line);padding:25px;font:15px/1.8 Arial,sans-serif;margin:25px 0}.status-note{border-left:3px solid #789caf;padding-left:20px;color:var(--muted);font-size:14px}.form-note{font-size:11px;color:var(--muted);margin-top:17px!important}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:1600px){.hero{min-height:630px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.navlinks{gap:16px;font-size:11px}.nav-phone{font-size:13px}.hero-copy{width:56%}.hero-portrait{inset:0 -15px 0 28%}h1{font-size:54px}.hero{min-height:570px}.section{padding-block:72px}.card-copy{padding:21px}.split{gap:6%}.service-grid{gap:20px}.card-copy h3{font-size:23px}.footer-grid{gap:30px}}@media(max-width:850px){.navlinks{gap:12px}.nav-phone{display:none}.hero-copy{width:59%}.hero-portrait{inset:0 -25px 0 25%}.hero h1{font-size:47px}.lead{font-size:14px}.service-grid{gap:15px}.card-copy{padding:19px}.card-copy h3{font-size:21px}.card-copy p{font-size:12px}.video-grid{gap:5%}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.contact-layout{gap:5%}.contact-card{padding:26px}}@media(max-width:700px){.wrap{width:calc(100% - 46px)}.topbar .wrap{padding-block:8px;font-size:8px;letter-spacing:.07em}.topbar a{display:none}.nav{min-height:83px;flex-wrap:wrap;gap:0}.brand{font-size:27px}.brand small{font-size:8px;letter-spacing:.14em}.menu-toggle{display:block;border:1px solid #b6d7e480;background:transparent;color:white;padding:9px 13px;font-size:12px}.navlinks{display:none;flex-basis:100%;padding-block:20px;gap:5px;flex-direction:column;align-items:stretch}.navlinks.is-open{display:flex}.navlinks a{padding:11px 0;font-size:14px}.hero{display:flex;flex-direction:column;min-height:0;padding-block:36px 0}.hero-copy{width:100%}.hero h1{font-size:43px;line-height:1.1;margin-bottom:23px}.hero .eyebrow{font-size:9px;margin-bottom:19px}.lead{font-size:15px}.hero .lead{max-width:none;line-height:1.8}.hero-portrait{position:relative;inset:auto;margin:30px -23px 0;z-index:0}.hero-portrait img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.hero-portrait:after{display:none}.hero-tag{font-size:7px;right:13px;bottom:13px;padding:7px 10px}.actions{gap:10px;margin-top:25px}.btn{padding:14px 17px;font-size:12px;gap:12px}.hero .btn{flex:1}.hero .btn:first-child{flex-basis:100%}.hero .btn-outline{flex-basis:auto;flex-grow:0}.hero .micro{font-size:10px;margin-top:14px}.promise{padding-block:22px;grid-template-columns:1fr;gap:9px;font-size:11px}.promise span:nth-child(n){text-align:left}.ticker{gap:10px;padding-block:11px}.ticker button{margin-right:12px;font-size:9px;padding:5px 7px}.ticker-track span{font-size:10px}.section{padding-block:57px}.video-section{padding-block:51px 35px}.video-grid{grid-template-columns:1fr;gap:27px}.video-copy p{max-width:none;font-size:14px}h2{font-size:32px;margin-bottom:19px}.eyebrow{font-size:9px;margin-bottom:16px}.video-state{padding:30px 18px 14px}.video-state strong{font-size:16px}.video-state small{font-size:8px}.section-heading{display:block;margin-bottom:27px}.section-heading p{margin-top:18px;max-width:none;font-size:14px}.service-grid{grid-template-columns:1fr;gap:25px}.card-copy{padding:26px}.card-copy h3{font-size:27px}.card-copy p{font-size:14px;margin-bottom:25px}.card-link{font-size:12px}.split{grid-template-columns:1fr;gap:32px}.split.reverse-mobile .photo-wrap{order:2}.split p{font-size:15px}.about-number{font-size:110px;letter-spacing:-.07em}.about-number small{font-size:10px;margin:12px 0 24px}.about-quote{font-size:22px!important}.milestones{grid-template-columns:1fr;gap:27px;margin-top:30px}.milestone p{font-size:14px}.process{grid-template-columns:1fr;gap:24px}.process div{padding-top:17px}.process span{margin-bottom:12px}.process p{font-size:14px}.faq summary{font-size:15px}.faq details p{font-size:14px}.cta-banner{padding-block:50px}.cta-banner h2{font-size:33px}.cta-banner .actions{flex-direction:column}.cta-banner .btn{width:100%}.footer-grid{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.footer-grid>div:first-child{grid-column:auto}.footer p{max-width:none}.footer-bottom{display:block;padding-bottom:100px}.footer-bottom span{display:block;margin-top:7px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:9px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#10283fec;backdrop-filter:blur(12px);border-top:1px solid #ffffff25}.mobile-contact .btn{flex:1;padding:12px 14px;font-size:11px}.mobile-contact .btn:last-child{flex:0 1 auto;color:white;border-color:#6d899f}.breadcrumb{font-size:10px;padding-block:19px}.service-hero{grid-template-columns:1fr;gap:30px;padding-top:15px;padding-bottom:32px}.service-hero h1{font-size:41px}.service-hero .photo{aspect-ratio:3/2}.service-hero .actions .btn:first-child{flex-basis:100%}.contact-intro{padding-block:35px 45px}.contact-intro h1{font-size:43px}.contact-intro p{font-size:15px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-card{padding:24px}.contact-card h2{font-size:29px}.contact-methods a{font-size:25px}.contact-methods .email{font-size:20px}.related{gap:10px}.related a{width:100%}.draft-preview{padding:20px;font-size:14px}.draft-layout .actions{flex-direction:column}.draft-layout .actions .btn{width:100%}}@media(max-width:370px){.wrap{width:calc(100% - 38px)}.hero h1{font-size:39px}.hero-portrait{margin-inline:-19px}.btn{padding-inline:14px}.mobile-contact{padding-inline:12px}.mobile-contact .btn{font-size:10px}.service-hero h1{font-size:38px}}
.skip{opacity:0;pointer-events:none}.skip:focus{opacity:1;pointer-events:auto}
.hero-shell .eyebrow{color:var(--sky)}.hero-shell .btn-outline{border-color:#7890a5;color:white}.hero-shell .micro{color:#c6d5e2}
.hero-promise{font-size:21px;line-height:1.45;color:var(--sky);max-width:440px;margin:-4px 0 20px}.faq summary h3{font:inherit;margin:0;letter-spacing:normal}.milestone h3{font-size:23px;font-weight:500;line-height:1.3;margin-bottom:12px}@media(max-width:700px){.hero-promise{font-size:19px;max-width:100%}}
/* Audit UX/accessibilité : tailles de lecture, cibles, champs et focus. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
main:focus{outline:none}
:root{--control-border:#647f91}
.btn{min-height:48px;font-size:14px}
.menu-toggle,.ticker button{min-width:72px;min-height:44px;font-size:13px}
.ticker button{padding:8px 14px}.ticker-track span{font-size:12px}
.navlinks a{display:flex;align-items:center;min-height:44px;font-size:13px}
.card-copy p,.section-heading p,.process p,.milestone p,.faq details p,.video-copy p,.cta-banner p,.contact-card p,.contact-help,.status-note,.draft-preview{font-size:16px;line-height:1.7}
.card-link{font-size:13px}.card-label,.eyebrow{font-size:11px}
.field label{font-size:16px}.field input,.field select,.field textarea{font-size:16px;min-height:48px;border-color:var(--control-border)}
.field .field-error{font-size:14px;line-height:1.5;color:#8a2520}.field [aria-invalid=true]{border:2px solid #8a2520}
.form-error{font-size:16px;color:#8a2520}.contact-card .form-note{font-size:13px}
.btn-outline{border-color:var(--control-border)}
.inline-link{color:#234f6a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.inline-link:hover{text-decoration-thickness:2px}.dark .inline-link{color:var(--sky)}
.faq summary{min-height:44px;align-items:center}
.faq details p a{display:inline-block;min-height:44px;line-height:44px}
.text-link{min-height:44px;align-items:center;font-size:14px}
.related a{display:flex;align-items:center;min-height:48px;font-size:14px}
.footer ul a,.footer-email,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.footer-phone{min-height:44px}.footer p{font-size:14px}.footer-bottom{font-size:12px}
.hero-tag{background:var(--navy)}.video-state{background:var(--navy-deep);padding:15px 22px}.video-state small{font-size:11px}
@media(max-width:1100px) and (min-width:701px){.card-copy h3{min-height:2.5em}}
@media(max-width:700px){
 .topbar .wrap{font-size:10px;line-height:1.6}.brand small{font-size:10px;letter-spacing:.1em}
 .eyebrow,.hero .eyebrow{font-size:11px}.hero .lead,.lead,.split p,.section-heading p,.process p,.milestone p,.card-copy p,.faq details p,.video-copy p,.contact-intro p,.contact-card p,.contact-help,.status-note,.draft-preview{font-size:16px;line-height:1.7}
 .menu-toggle{min-width:76px;min-height:44px;font-size:14px}.navlinks a{font-size:16px;min-height:48px}
 .ticker button{font-size:12px;min-width:80px;min-height:44px}.ticker-track span{font-size:12px}
 .btn{font-size:14px;min-height:48px}.mobile-contact .btn{font-size:13px;min-height:48px;padding:12px 13px}.mobile-contact{gap:8px;padding-inline:12px}
 .footer-bottom{padding-bottom:115px}.form-error{font-size:16px}.contact-card .form-note{font-size:13px}.faq summary{font-size:16px}
 .hero .micro,.micro,.image-caption{font-size:12px}.hero-tag{font-size:9px}.video-state small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.ticker-track{transform:none!important}}
.nav-phone,.contact-methods a{display:inline-flex;align-items:center;min-height:48px}
.breadcrumb{display:flex;align-items:center;gap:9px}.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:850px){.nav-phone{display:none}}
@media(max-width:700px){.split p.eyebrow,.video-copy p.eyebrow{font-size:11px}}
.breadcrumb{font-size:12px}.breadcrumb a{min-width:44px}
.form-reset{display:block;width:100%;min-height:44px;padding:10px 0;margin-top:8px;background:transparent;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:4px;font-size:14px}
.topbar .wrap{padding-block:0;min-height:44px}.topbar a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.inline-link{display:inline-block;max-width:100%;min-height:44px;padding-block:9px;line-height:1.7}
@media(max-width:700px){.topbar a{display:none}}
@media(max-width:700px){.draft-layout h1{font-size:38px;line-height:1.15}.contact-intro p.eyebrow{font-size:11px}}
.service-card:hover,.btn:hover{transform:none}

/* Témoignages fournis : cartes de lecture et récits dépliables sans JavaScript. */
.testimonials-heading{max-width:820px;margin-bottom:36px}
.testimonials-heading h2{margin-bottom:0}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;align-items:stretch}
.testimonial-card{min-width:0;min-height:390px;background:var(--white);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column}
.testimonial-card h3{font-size:23px;line-height:1.3;min-height:2.6em;margin-bottom:20px}
.testimonial-card blockquote{margin:0 0 25px;color:var(--muted);font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.testimonial-person{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;display:flex;flex-direction:column;gap:3px;font-size:14px}
.testimonial-person cite{font-style:normal;font-weight:600;color:var(--ink)}
.testimonial-person span{color:var(--muted)}
.testimonial-details{margin-top:12px}
.testimonial-details summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;cursor:pointer;list-style:none;color:var(--ink);font-size:14px;font-weight:600}
.testimonial-details summary::-webkit-details-marker{display:none}
.testimonial-toggle:after{content:'+';font-size:22px;font-weight:400}
.testimonial-details[open] .testimonial-toggle:after{content:'−'}
.testimonial-details p{margin-top:14px}
.testimonial-read-less,.testimonial-details[open] .testimonial-read-more{display:none}
.testimonial-details[open] .testimonial-read-less{display:inline}
@media(max-width:1100px) and (min-width:701px){.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.testimonials-grid{grid-template-columns:1fr;gap:22px}.testimonial-card{padding:25px;min-height:0}.testimonial-card h3{min-height:0;font-size:24px}.testimonials-heading{margin-bottom:28px}.testimonial-card blockquote{font-size:16px}}

.testimonial-stars{color:#94630e;font-size:20px;line-height:1;letter-spacing:.14em;margin-bottom:18px}

.contact-portrait{margin:26px 0 28px}

/* Décorations du site Kandi. Copier les WebP vers /images/kandi/decorations/. */
.kandi-section-decoree { position: relative; isolation: isolate; overflow: clip; }
.kandi-section-decoree > .kandi-contenu { position: relative; z-index: 1; }
.kandi-ornement { position: absolute; z-index: 0; pointer-events: none; user-select: none; width: clamp(150px, 20vw, 280px); height: auto; opacity: .16; }
.kandi-ornement--cauris { top: 1.5rem; right: -2.5rem; transform: rotate(-12deg); }
.kandi-ornement--calebasse { bottom: -1rem; left: -3rem; }
.kandi-ornement--carre { top: 2rem; right: -1rem; transform: none; }
.kandi-section-decoree[data-fond="sombre"] .kandi-ornement { opacity: .22; }
@media (max-width: 640px) {
 .kandi-ornement { width: 140px; opacity: .10; }
 .kandi-section-decoree[data-fond="sombre"] .kandi-ornement { opacity: .14; }
 .kandi-ornement--cauris, .kandi-ornement--carre { right: -2rem; }
 .kandi-ornement--calebasse { left: -2.5rem; }
}

/* Motifs entiers et contrastés, dans un espace réservé hors du contenu. */
.kandi-section-decoree:has(> .kandi-ornement--cauris),
.kandi-section-decoree:has(> .kandi-ornement--carre){padding-top:190px}
.kandi-section-decoree:has(> .kandi-ornement--calebasse){padding-bottom:185px}
.kandi-section-decoree > .kandi-ornement{width:140px;height:auto;opacity:.9;transform:none}
.kandi-section-decoree > .kandi-ornement--cauris,
.kandi-section-decoree > .kandi-ornement--carre{top:24px;right:max(24px,calc((100vw - 1184px)/2));left:auto;bottom:auto}
.kandi-section-decoree > .kandi-ornement--calebasse{top:auto;bottom:20px;left:max(24px,calc((100vw - 1184px)/2));right:auto}
.kandi-section-decoree[data-fond="sombre"] > .kandi-ornement{opacity:1}
@media(max-width:700px){
 .kandi-section-decoree:has(> .kandi-ornement--cauris),
 .kandi-section-decoree:has(> .kandi-ornement--carre){padding-top:134px}
 .kandi-section-decoree:has(> .kandi-ornement--calebasse){padding-bottom:148px}
 .kandi-section-decoree > .kandi-ornement{width:104px;opacity:.95}
 .kandi-section-decoree > .kandi-ornement--cauris,
 .kandi-section-decoree > .kandi-ornement--carre{top:14px;right:23px}
 .kandi-section-decoree > .kandi-ornement--calebasse{bottom:18px;left:23px}
}

/* Plusieurs motifs dans les espaces blancs, hors des textes et des photos. */
.kandi-section-decoree.kandi-fond-blanc{padding-top:150px}
.kandi-decoration-frise{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:1240px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:0}
.kandi-decoration-frise > .kandi-ornement{position:static;inset:auto;width:112px;height:auto;opacity:.95;transform:none}
@media(max-width:700px){
 .kandi-section-decoree.kandi-fond-blanc{padding-top:120px}
 .kandi-decoration-frise{top:12px;width:calc(100% - 46px)}
 .kandi-decoration-frise > .kandi-ornement{width:86px;opacity:1}
}
