:root{--blue:#143785;--deep:#0d285f;--orange:#be450e;--ink:#142744;--muted:#58647a;--pale:#f2f5fa;--line:#d7dfeb;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:white}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--orange);outline-offset:6px}p{line-height:1.7;margin:0}h1,h2,h3{margin:0;font-weight:700}button,a{-webkit-tap-highlight-color:transparent}.skip{position:fixed;top:-100px;left:20px;background:var(--blue);color:white;padding:16px;z-index:99}.skip:focus{top:10px}.header{max-width:1600px;margin:auto;min-height:105px;padding:20px 4.5%;display:flex;align-items:center;gap:35px;background:white}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand b{font-size:18px;color:var(--blue);letter-spacing:-.35px}.brand em{font-style:normal;color:var(--orange)}.brand small{display:block;margin-top:7px;letter-spacing:2.4px;font-size:10px;color:var(--muted)}.brand-mark,.large-mark{display:block;background-image:url('assets/logo-daumas.png');background-repeat:no-repeat;background-size:145% auto;background-position:center;aspect-ratio:270/240}.brand-mark{width:48px}.header nav{display:flex;gap:28px;margin-left:auto;font-size:14px}.header nav a{padding:12px 0}.header nav a:hover{color:var(--orange)}.header-phone{font-size:15px;color:var(--blue);border:1px solid var(--line);padding:13px 18px;white-space:nowrap;font-weight:700}.header-phone:hover{background:var(--pale)}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.hero-copy{padding:70px 8% 40px 8.6%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--blue);margin-bottom:24px}.eyebrow span{display:inline-block;width:28px;height:3px;background:var(--orange);vertical-align:middle;margin-right:10px}h1{font-size:clamp(42px,4.6vw,74px);line-height:1.07;letter-spacing:-3.2px;color:var(--blue)}h1>span{color:var(--orange)}.intro{font-size:17px;color:var(--muted);max-width:430px;margin-top:26px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:18px 24px;font-size:14px;font-weight:700;line-height:1.3}.orange{background:var(--orange);color:white}.orange:hover{background:#a53a08}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px;color:var(--blue);line-height:1.5}.text-link:hover{color:var(--orange)}.hero-caption{margin-top:auto;padding-top:44px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:1.6px}.hero-caption span{display:block;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.3px;margin-top:5px}.hero-brand{background:var(--blue);color:white;position:relative;overflow:hidden;padding:55px 12% 44px 15%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;isolation:isolate}.hero-diagonal{position:absolute;z-index:-1;width:150%;height:80%;border:2px solid #6684be;transform:rotate(-45deg);right:-60%;top:10%;opacity:.45}.hero-brand:after{content:'';position:absolute;bottom:0;right:0;width:26%;height:5px;background:#ec621f}.logo-frame{background:white;padding:22px 24px 18px;transform:rotate(-3deg);box-shadow:18px 18px 0 rgba(6,25,68,.17);width:210px;margin-bottom:46px}.large-mark{width:100%;transform:rotate(3deg)}.brand-signature>p{font-size:46px;font-weight:700;letter-spacing:-1.8px;line-height:1.02}.brand-signature>p span{font-size:34px;letter-spacing:-.8px}.signature-line{width:46px;height:3px;background:#ef6928;margin:24px 0}.brand-signature>span{font-size:19px;font-weight:700}.brand-signature small{display:block;font-size:16px;margin-top:9px;color:#d6e2f7}.vertical-label{position:absolute;right:24px;top:50%;writing-mode:vertical-rl;font-size:11px;letter-spacing:3px;color:#a9bee4}.service-strip{display:flex;align-items:center;gap:38px;max-width:1600px;margin:auto;background:var(--deep);color:white;min-height:86px;padding:20px 4.5%;font-size:18px}.service-strip i{display:block;width:5px;height:5px;transform:rotate(45deg);background:#ef6928}.strip-place{font-size:11px;letter-spacing:2px;margin-left:auto;color:#bed0ef}.section{max-width:1600px;margin:0 auto;padding:105px 7%;scroll-margin-top:20px}.expertise{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.section-heading>p:last-child{color:var(--muted);font-size:16px;max-width:370px;margin-top:24px}h2{font-size:clamp(32px,3.1vw,48px);line-height:1.14;letter-spacing:-1.6px;color:var(--blue)}.service-list article{display:flex;gap:24px;border-top:1px solid var(--line);padding:29px 0}.service-list article:first-child{padding-top:0;border:0}.service-list article:last-child{padding-bottom:0}.service-number{padding-top:7px;font-size:12px;color:var(--orange);font-weight:700}.service-list h3{font-size:27px;letter-spacing:-.7px;color:var(--blue);margin-bottom:10px}.service-list p{color:var(--muted);font-size:15px;line-height:1.7;max-width:450px}.service-tag{display:block;font-size:10px;letter-spacing:1.5px;color:var(--blue);margin-top:18px;font-weight:700}.about{background:var(--pale);display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.about-label{border-right:1px solid var(--line)}.monogram{font-size:112px;font-weight:700;letter-spacing:-7px;line-height:1.3;color:var(--blue)}.monogram span{color:var(--orange)}.about-label>p:last-child{color:var(--blue);font-weight:700;font-size:18px}.about-label>p:last-child span{color:var(--muted);font-size:14px;font-weight:400}.about-copy p{font-size:16px;color:var(--muted);margin-top:24px}.about-copy .text-link{display:inline-block;margin-top:25px}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;background:var(--blue);color:white}.contact .eyebrow{color:#c6d6f2}.contact h2{color:white;font-size:clamp(42px,4.5vw,66px)}.contact>div>p:last-child{color:#d5e0f5;font-size:16px;max-width:370px;margin-top:24px}.contact-details{padding-top:6px}.contact-details>a,.contact-location{display:block;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #4b66a0;overflow-wrap:anywhere}.contact-details span{display:block;font-size:10px;letter-spacing:2px;color:#becfec;margin-bottom:12px}.contact-phone{font-size:clamp(27px,3.1vw,45px);font-weight:700;letter-spacing:-1.3px;line-height:1.2}.contact-email{font-size:clamp(16px,1.8vw,24px)}.contact-details a:hover{color:#ffc39e}.contact-details .contact-location{border:0;font-size:20px;margin:0;padding-bottom:0;color:white;max-width:none}.contact-location small{display:block;font-size:13px;margin-top:5px;color:#d5e0f5;line-height:1.6}footer{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:30px 4.5%;max-width:1600px;margin:auto;font-size:12px;color:var(--muted)}.footer-name{font-size:13px;font-weight:700;color:var(--blue)}footer>a:last-child{border-bottom:1px solid var(--line)}.mobile-call{display:none}@media(min-width:1601px){body{background:#f2f5fa}.header,.hero,.expertise,footer{background:white}}@media(max-width:1100px){.header{gap:20px}.header nav{gap:18px}.header-phone{display:none}.hero-copy{padding-top:55px}h1{letter-spacing:-2px}.hero-actions{gap:20px}.hero-brand{padding-left:14%}.hero{min-height:640px}.section{padding:80px 6%;gap:7%}.brand-signature>p{font-size:40px}.brand-signature>p span{font-size:30px}.service-strip{gap:25px}}@media(max-width:700px){html{scroll-padding-top:20px}.header{min-height:90px;padding:18px 6%;justify-content:space-between}.brand b{font-size:15px}.brand small{font-size:8px;letter-spacing:2px}.brand-mark{width:38px}.brand{gap:9px}.header nav{margin-left:0}.header nav a{display:none}.header nav a:last-child{display:block;font-size:13px;border-bottom:1px solid var(--line);padding:8px 0}.hero{display:block}.hero-copy{padding:40px 7% 38px}h1{font-size:clamp(43px,9.4vw,64px);letter-spacing:-2px}.eyebrow{font-size:11px;margin-bottom:22px}.intro{font-size:16px;margin-top:24px;max-width:460px}.hero-actions{margin-top:25px;gap:18px}.button{padding:17px 20px}.text-link{font-size:13px}.hero-caption{padding-top:32px}.hero-brand{padding:35px 8%;min-height:260px;flex-direction:row;align-items:center;justify-content:flex-start;gap:34px}.logo-frame{width:130px;flex-shrink:0;padding:17px 14px;margin:0;box-shadow:10px 10px 0 rgba(6,25,68,.17)}.brand-signature>p{font-size:29px;letter-spacing:-1px}.brand-signature>p span{font-size:21px;letter-spacing:0}.signature-line{margin:16px 0;width:30px}.brand-signature>span{font-size:15px}.brand-signature small{font-size:14px}.vertical-label{display:none}.service-strip{gap:17px;min-height:69px;padding:19px 7%;font-size:14px;justify-content:space-between}.strip-place{display:none}.service-strip i{width:4px;height:4px}.section{padding:60px 7%;display:block}h2{font-size:34px;letter-spacing:-1.3px}.service-list{margin-top:42px}.service-list article{padding:26px 0;gap:19px}.service-list h3{font-size:25px}.service-tag{font-size:10px}.about-label{border-right:0;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:35px}.monogram{font-size:84px;line-height:1.1;margin:0 0 15px;display:block}.about-copy p{font-size:16px}.contact h2{font-size:45px}.contact-details{margin-top:36px}.contact-phone{font-size:36px}.contact-email{font-size:18px}.contact-details .contact-location{font-size:20px}footer{align-items:flex-start;flex-direction:column;gap:13px;padding:27px 7% 95px}footer p{font-size:12px}.mobile-call{display:flex;justify-content:space-between;align-items:center;gap:8px;position:fixed;bottom:0;left:0;right:0;padding:17px 7%;padding-bottom:calc(17px + env(safe-area-inset-bottom));background:var(--orange);color:white;font-weight:700;font-size:14px;z-index:9;box-shadow:0 -4px 20px #0d285f12}.mobile-call span{font-size:13px}}@media(max-width:365px){.brand b{font-size:13px}.hero-brand{gap:23px}.logo-frame{width:105px}.brand-signature>p{font-size:25px}.brand-signature>p span{font-size:19px}.header nav a:last-child{font-size:12px}.contact-phone{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.header nav,.header-phone,.mobile-call,.hero-actions,.skip{display:none}.hero,.section{break-inside:avoid}.hero{min-height:0}.hero-copy,.section{padding:30px}.hero-brand{print-color-adjust:exact}.service-strip,.contact{print-color-adjust:exact}.hero-caption{margin-top:0}footer{padding-bottom:20px}}

/* Page d’informations légales : styles limités à cette page. */
.legal-page{background:#fff}.legal-content{max-width:1000px;margin:0 auto;padding:65px 7% 75px}.legal-content h1{font-size:clamp(36px,5vw,56px);letter-spacing:-1.7px;line-height:1.12}.legal-content .legal-date{margin-top:22px;font-size:13px;color:var(--muted)}.legal-content section{margin-top:40px}.legal-content h2{font-size:27px;letter-spacing:-.7px;margin-bottom:18px}.legal-content p{margin-top:14px;color:var(--muted);overflow-wrap:anywhere}.legal-content strong{color:var(--ink)}.legal-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.legal-content .legal-back{margin-top:45px}.legal-content .text-link{text-decoration:none}.legal-page footer{border-top:1px solid var(--line)}@media(max-width:700px){.legal-content{padding:40px 7% 55px}.legal-content h1{font-size:36px}.legal-content h2{font-size:25px}.legal-content section{margin-top:32px}.legal-page footer{padding-bottom:30px}}
/* Navigation et pages de présentation */
.header{position:sticky;top:0;z-index:20;gap:22px;border-bottom:1px solid var(--line);min-height:96px;padding:17px 3%;isolation:isolate}
.header .desktop-nav{gap:21px;font-size:13px}
.header nav a[aria-current=page]{color:var(--orange);box-shadow:inset 0 -2px var(--orange)}
.header-phone{font-size:13px;padding:12px 13px}
.brand b{font-size:16px}.brand small{font-size:9px;letter-spacing:2px}.brand-mark{width:43px}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:12px 0 12px 12px;font-size:14px;font-weight:700;color:var(--blue)}
.mobile-menu summary::-webkit-details-marker{display:none}
.menu-lines{width:20px;height:12px;display:block;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.mobile-menu[open] .menu-lines{height:2px;border-bottom:0}
.mobile-menu nav{position:absolute;right:0;top:55px;background:white;min-width:255px;display:flex;flex-direction:column;gap:0;margin:0;padding:13px 22px 20px;border:1px solid var(--line);box-shadow:0 18px 40px #0d285f1a}
.header .mobile-menu nav a{display:block;padding:13px 7px;font-size:15px;border-bottom:1px solid var(--line)}
.header .mobile-menu nav a:last-child{margin-top:12px;border:0;background:var(--blue);color:white;text-align:center;font-size:14px}
summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.breadcrumb{max-width:1600px;margin:auto;padding:28px 7% 0;display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted)}
.breadcrumb a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.breadcrumb>span:last-child{overflow-wrap:anywhere}
.wide-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end}
.wide-heading>p{color:var(--muted);max-width:440px}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:46px}
.service-card{border:1px solid var(--line);display:flex;flex-direction:column;padding:25px 22px;transition:background .15s,border-color .15s}
.service-card:hover{background:var(--pale);border-color:var(--blue)}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px}
.card-icon{width:67px;color:var(--blue)}.card-icon svg{display:block;width:100%}
.card-number{color:var(--orange);font-size:12px;font-weight:700;letter-spacing:1px}
.service-card h3{font-size:22px;letter-spacing:-.6px;color:var(--blue);margin-bottom:13px;line-height:1.2}
.service-card>p{font-size:14px;color:var(--muted);margin-bottom:28px}
.card-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:19px;margin-top:auto;font-size:13px;font-weight:700;color:var(--blue)}
.card-link>span{font-size:22px;font-weight:400;color:var(--orange)}
.service-strip a:hover{text-decoration:underline;text-underline-offset:6px}
.inner-hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:10%;padding-top:57px;padding-bottom:80px}
.inner-hero h1{font-size:clamp(42px,4.5vw,66px);letter-spacing:-2.7px}
.inner-hero .intro{max-width:550px}
.service-visual{background:var(--blue);color:white;position:relative;overflow:hidden;min-height:340px;padding:34px;display:flex;align-items:center;flex-direction:column;justify-content:center;isolation:isolate}
.service-visual:before{content:'';position:absolute;width:390px;height:390px;border:1px solid #6988c1;transform:rotate(35deg);right:-235px;top:15%;z-index:-1}
.service-visual svg{width:170px;height:170px;margin:28px 0}
.visual-index{align-self:flex-start;font-size:10px;letter-spacing:2px;color:#c6d6f2}
.visual-label{font-size:21px;font-weight:700;letter-spacing:-.5px;align-self:flex-start}
.visual-line{width:30px;height:3px;background:#ef6928;align-self:flex-start;margin-top:20px}
.needs-section{background:var(--pale)}
.needs-section h2{max-width:760px}
.needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:50px}
.need-card{border-top:1px solid #b6c5dd;padding-top:22px}
.need-card h3{font-size:23px;color:var(--blue);line-height:1.2;letter-spacing:-.5px;margin:24px 0 16px}
.need-card p{font-size:15px;color:var(--muted)}
.preparation{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.preparation>div>p:last-child{margin-top:25px;color:var(--muted);max-width:380px}
.steps{padding:0;margin:0;list-style:none}
.steps li{display:flex;gap:25px;border-top:1px solid var(--line);padding:25px 0}
.steps li:first-child{border-top:0;padding-top:0}
.steps li:last-child{padding-bottom:0}
.steps li>span{color:var(--orange);font-size:12px;padding-top:6px;font-weight:700}
.steps p{font-size:16px;color:var(--muted)}.steps strong{color:var(--blue)}
.faq-section{background:var(--pale);display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}
.faq-item{border-bottom:1px solid #b6c5dd}
.faq-item:first-child{border-top:1px solid #b6c5dd}
.faq-item summary{list-style:none;position:relative;cursor:pointer;padding:23px 32px 23px 0;font-size:17px;line-height:1.4;font-weight:700;color:var(--blue)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';position:absolute;right:4px;top:21px;font-size:23px;font-weight:400;color:var(--orange)}
.faq-item[open] summary:after{content:'−'}
.faq-item p{font-size:15px;color:var(--muted);padding:0 20px 24px 0}
.project-cta{background:var(--blue);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}
.project-cta .eyebrow{color:#c6d6f2}
.project-cta h2{color:white;max-width:640px}
.project-cta p:last-child{color:#d5e0f5;margin-top:25px;max-width:490px}
.cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px;justify-self:end}
.cta-actions .text-link{color:white}
.related{padding-top:45px;padding-bottom:45px}
.related .eyebrow{margin-bottom:20px}
.related nav{display:flex;gap:35px;flex-wrap:wrap}
.related nav a{color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:8px;font-size:15px}
.related nav a span{color:var(--orange);margin-left:12px}
.portrait-visual .monogram{color:white;margin:35px 0 15px;font-size:140px;line-height:1}
.portrait-visual .monogram span{color:#ff9763}
.portrait-visual small{color:#c6d6f2;align-self:flex-start;margin-top:9px;font-size:12px;line-height:1.5}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--pale)}
.about-story p{color:var(--muted);margin-top:20px}
.about-story p:first-child{margin-top:0}
.about-story strong{color:var(--blue)}
.contact-page-intro{padding-top:57px;padding-bottom:80px}
.contact-page-intro .intro{max-width:570px}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.contact-cards>a{background:var(--blue);color:white;padding:34px;display:flex;flex-direction:column;gap:25px;min-width:0}
.contact-cards>a:hover{background:var(--deep)}
.contact-cards .eyebrow{color:#c6d6f2;margin:0;font-size:11px}
.contact-cards strong{font-size:clamp(20px,2.4vw,34px);letter-spacing:-.8px;overflow-wrap:anywhere}
.contact-cards>a:last-child strong{font-size:clamp(18px,1.85vw,27px)}
.contact-cards>a>span:last-child{display:flex;justify-content:space-between;border-top:1px solid #4b66a0;padding-top:20px;font-size:13px}
.contact-preparation{background:var(--pale)}
.location-section{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center}
.location-section p:not(.eyebrow){max-width:570px;color:var(--muted);margin-top:25px}
.location-section .location-note{font-size:13px;border-left:3px solid var(--orange);padding-left:15px}
.location-mark{text-align:center;border-left:1px solid var(--line)}
.location-mark>span{font-size:150px;color:var(--blue);font-weight:700;letter-spacing:-10px;line-height:1}
.location-mark p{font-size:12px;letter-spacing:3px;color:var(--blue)!important;margin:16px auto 0!important}
.site-footer{display:block;padding:55px 7% 25px;border-top:1px solid var(--line);background:white}
.footer-top{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:30px;padding-bottom:40px}
.footer-top p{margin-top:15px;line-height:1.9}
.footer-top nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px;min-width:0}
.footer-top nav>span{font-size:10px;letter-spacing:1.4px;font-weight:700;color:var(--blue);margin-bottom:7px}
.footer-top a{overflow-wrap:anywhere}.footer-top a:hover{color:var(--orange)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line);font-size:11px}
.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1601px){.section,.inner-hero,.breadcrumb{background:white}.needs-section,.about-story,.faq-section,.contact-preparation{background:var(--pale)}.project-cta{background:var(--blue)}}
@media(max-width:1250px){.header-phone{display:none}.header .desktop-nav{gap:22px}.service-grid{gap:15px}.service-card{padding:22px 18px}.service-card h3{font-size:20px}.hero-copy{padding-top:50px}.service-strip{gap:23px}}
@media(max-width:1000px){.header .desktop-nav{display:none}.header{justify-content:space-between;min-height:86px;padding:15px 6%}.mobile-menu{display:block}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-hero{gap:6%;grid-template-columns:1.2fr .8fr}.inner-hero h1{font-size:48px;letter-spacing:-2px}.service-visual{padding:26px;min-height:310px}.service-visual svg{width:145px;height:145px}.visual-label{font-size:19px}.needs-grid{gap:24px}.need-card h3{font-size:21px}.contact-cards>a{padding:26px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div{grid-column:1/-1}.footer-top>div p br{display:none}.footer-top>div p br:after{content:' · '}}
@media(max-width:700px){.header{min-height:82px;padding:14px 6%;gap:10px}.brand{gap:8px}.brand b{font-size:14px}.brand small{font-size:8px;letter-spacing:1.4px}.brand-mark{width:36px}.header .mobile-menu nav a{display:block}.wide-heading{display:block}.wide-heading>p{margin-top:25px}.service-grid{gap:14px;margin-top:32px}.service-card{padding:22px 17px}.service-card h3{font-size:21px}.service-card>p{font-size:14px}.card-top{margin-bottom:18px}.card-icon{width:53px}.service-strip{gap:9px;padding:18px 6%;font-size:12px;min-height:66px}.service-strip i{width:3px;height:3px;flex-shrink:0}.breadcrumb{padding:24px 7% 0;font-size:11px;gap:11px}.inner-hero{display:block;padding-top:36px;padding-bottom:45px}.inner-hero h1{font-size:45px;letter-spacing:-2px}.inner-hero .eyebrow{font-size:10px;letter-spacing:1.6px}.service-visual{min-height:0;margin-top:35px;padding:22px 26px;display:grid;grid-template-columns:86px 1fr;gap:10px 23px;align-items:center}.service-visual svg{width:86px;height:86px;margin:0;grid-row:1/4;grid-column:1}.visual-index{font-size:8px;letter-spacing:1.4px;grid-column:2;margin-top:9px}.visual-label{font-size:19px;align-self:center;grid-column:2}.visual-line{grid-column:2;margin-top:0;width:24px;margin-bottom:9px}.needs-grid{display:block;margin-top:33px}.need-card{padding-top:21px;margin-top:30px}.need-card:first-child{margin-top:0}.need-card h3{margin:14px 0 12px;font-size:24px}.preparation,.faq-section,.project-cta,.about-story,.location-section{display:block}.steps{margin-top:37px}.steps li{gap:22px;padding:22px 0}.faq-list{margin-top:35px}.faq-item summary{font-size:16px}.project-cta h2{font-size:35px}.cta-actions{margin-top:30px}.related{padding-top:35px;padding-bottom:35px}.related nav{gap:22px}.related nav a{font-size:14px}.portrait-visual .monogram{font-size:78px;letter-spacing:-5px;grid-row:1/4;grid-column:1;margin:0}.portrait-visual small{grid-column:2;margin:0;font-size:10px}.about-story>div:last-child{margin-top:30px}.contact-page-intro{padding-top:36px;padding-bottom:55px}.contact-page-intro h1{font-size:48px}.contact-cards{grid-template-columns:1fr;gap:16px;margin-top:33px}.contact-cards>a{padding:27px;gap:22px}.contact-cards strong{font-size:32px}.contact-cards>a:last-child strong{font-size:21px}.location-mark{border-left:0;border-top:1px solid var(--line);padding-top:35px;margin-top:35px}.location-mark>span{font-size:100px}.site-footer,.legal-page .site-footer{padding:38px 7% 97px}.footer-top{grid-template-columns:1fr;padding-bottom:30px;gap:30px}.footer-top>div{grid-column:auto}.footer-top>div p br{display:block}.footer-bottom{flex-direction:column;gap:13px;padding-top:20px}.legal-content h1{font-size:34px}.legal-content{padding-top:40px}html{scroll-padding-top:100px}}
@media(max-width:420px){.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:65px 1fr;gap:0 17px}.card-top{grid-row:1/4;display:block;margin:0}.card-number{display:block;margin:8px 0}.service-card h3{font-size:23px}.service-card>p{margin-bottom:18px}.card-link{grid-column:2}.brand b{font-size:13px}.mobile-menu summary{font-size:13px;gap:8px}.inner-hero h1{font-size:41px}.inner-hero .eyebrow{font-size:9px;letter-spacing:1.1px}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}}
@media print{.header{position:static}.mobile-menu,.project-cta,.site-footer,.related{display:none}.inner-hero{display:block}.service-visual{display:none}.section{padding:24px}.needs-grid{display:block}.faq-item>p{display:block}.needs-section,.faq-section{background:white}.breadcrumb{padding:15px 30px}}

/* Contact : choix du mode et informations de projet. */
.contact-invite{grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.contact-invite h2{font-size:clamp(34px,3.3vw,49px)}
.contact-invite .invite-copy>p{max-width:480px}
.invite-coordinates{margin-top:33px;display:grid;gap:22px}
.invite-coordinates a{display:block;overflow-wrap:anywhere}
.invite-coordinates a>span{display:block;font-size:10px;letter-spacing:1.7px;color:#c6d6f2;margin-bottom:10px}
.invite-coordinates strong{font-size:20px;line-height:1.4;font-weight:400}
.invite-coordinates a:first-child strong{font-size:32px;font-weight:700;letter-spacing:-1px}
.invite-coordinates>p{font-size:12px;margin:0!important}
.invite-card{background:white;padding:38px;color:var(--ink)}
.contact-invite .invite-card>.eyebrow{display:block;color:var(--orange);font-size:10px;letter-spacing:1.4px;margin-bottom:19px}
.invite-card h3{font-size:27px;line-height:1.2;letter-spacing:-.6px;color:var(--blue)}
.invite-card>p{margin-top:17px;color:var(--muted);font-size:15px}
.invite-card ul{margin:20px 0 26px;padding-left:20px;font-size:14px;line-height:1.7;color:var(--muted)}
.invite-card li{padding-left:7px;margin-bottom:9px}.invite-card li::marker{color:var(--orange)}
.invite-card .button{display:flex;justify-content:space-between;width:100%;gap:15px;margin-top:12px}
.button.outline{background:transparent;border:1px solid var(--blue);color:var(--blue)}
.button.outline:hover{background:var(--pale)}
.contact-invite .invite-card .invite-note{font-size:12px;color:var(--muted);margin-top:22px;line-height:1.6}
.invite-note a{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}
.contact-form-section{padding-top:48px;padding-bottom:80px}
.contact-form-heading{max-width:780px}.contact-form-heading .intro{max-width:650px}
.contact-form-heading h1{font-size:clamp(43px,4.7vw,66px)}
.contact-form-grid{display:grid;grid-template-columns:1.4fr .75fr;gap:6%;align-items:start;margin-top:45px}
.request-form{border:1px solid var(--line);padding:36px;min-width:0}
.request-modes{padding:0;margin:0;border:0;min-width:0}
.request-modes legend{font-size:17px;color:var(--blue);font-weight:700;margin-bottom:20px;line-height:1.4}
.request-modes>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.request-modes label{cursor:pointer;position:relative;border:1px solid var(--line);padding:19px 15px 19px 38px;display:block;margin:0!important;font-weight:400!important;background:white}
.request-modes label:has(input:checked){background:var(--pale);border-color:var(--blue);box-shadow:inset 0 -3px var(--blue)}
.request-modes label:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:3px}
.request-modes input{position:absolute;left:14px;top:22px;accent-color:var(--blue);margin:0;width:14px!important;height:14px!important;padding:0!important}
.request-modes label>span{font-size:14px;font-weight:700;color:var(--blue);line-height:1.4;display:block}
.request-modes small{display:block;font-size:11px;color:var(--muted);margin-top:7px;line-height:1.4}
.request-form .form-help{font-size:12px;line-height:1.65;color:var(--muted);margin:20px 0}
.request-form label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin:0 0 22px;line-height:1.4}
.request-form input:not([type=radio]),.request-form textarea,.request-form select{display:block;margin-top:10px;border:1px solid #a6b6cd;border-radius:0;background:white;color:var(--ink);width:100%;max-width:100%;padding:14px;font:16px Arial,Helvetica,sans-serif;min-height:48px}
.request-form textarea{resize:vertical;line-height:1.55;min-height:145px}
.request-form textarea::placeholder{color:#68768a;font-size:14px}
.request-form input:focus-visible,.request-form textarea:focus-visible,.request-form select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field-row>label{min-width:0}
.request-details{margin:0 0 25px}
.request-details summary{font-size:13px;font-weight:700;color:var(--blue);padding:16px 0;cursor:pointer;border-bottom:1px solid var(--line)}
.request-details-fields{padding-top:24px}
.request-form[data-mode=message] .request-details summary{display:none}
.request-form[data-mode=message] .request-details-fields{padding-top:0}
.request-details .form-help{margin-bottom:0}
.request-form .submit-request{width:100%;border:0;cursor:pointer;font-family:inherit}
.request-form button:disabled{opacity:.6;cursor:wait}
.request-form button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.request-form #form-retry{cursor:pointer;width:100%;font-family:inherit}
.request-form #form-retry[hidden]{display:none}
.request-form #form-status:empty{display:none}
.request-form #form-status{font-size:14px;line-height:1.6;margin-top:20px;padding:16px;background:var(--pale);border-left:3px solid var(--blue);overflow-wrap:anywhere}
.request-form #form-status[data-state=error]{border-color:var(--orange);background:#fff3ed}
.request-form #form-status[data-state=success]{border-color:#276740;background:#eef7f0}
.request-form .request-privacy{font-size:11px;line-height:1.7;color:var(--muted);margin-top:25px}
.request-privacy a,.request-form noscript a{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}
.request-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.direct-contact{background:var(--pale);padding:30px;min-width:0}
.direct-contact>.eyebrow{display:block;font-size:10px;margin-bottom:16px}
.direct-contact .monogram{display:block;font-size:77px;letter-spacing:-5px;margin-bottom:15px;line-height:1.1}
.direct-contact h2{font-size:23px;letter-spacing:-.5px}
.direct-contact p{font-size:13px;color:var(--muted);margin-top:17px}
.direct-phone{display:block;color:var(--blue);font-size:24px;font-weight:700;margin-top:26px;letter-spacing:-.7px}
.direct-email{display:block;color:var(--blue);font-size:13px;overflow-wrap:anywhere;margin-top:15px;border-bottom:1px solid var(--line);padding-bottom:25px}
.direct-note{border-left:3px solid var(--orange);padding-left:13px;margin-top:23px!important;font-size:12px!important}
@media(max-width:1100px){.contact-invite{gap:6%}.invite-card{padding:29px}.contact-form-grid{gap:4%;grid-template-columns:1.4fr .7fr}.request-form{padding:27px}.direct-contact{padding:24px}.request-modes label{padding-left:32px}.request-modes input{left:10px}.direct-phone{font-size:21px}.field-row{gap:15px}}
@media(max-width:850px){.contact-form-grid{grid-template-columns:1fr}.direct-contact{margin-top:25px}.direct-phone{font-size:26px}.direct-contact .monogram{font-size:60px}.direct-contact>.eyebrow{margin-bottom:10px}.direct-contact .direct-email{font-size:15px}.contact-invite{grid-template-columns:1fr;gap:35px}}
@media(max-width:700px){.contact-invite .invite-card{margin-top:35px;padding:27px 24px}.contact-invite .invite-card h3{font-size:27px}.contact-invite h2{font-size:34px}.invite-coordinates strong{font-size:18px}.invite-coordinates a:first-child strong{font-size:30px}.contact-form-section{padding-top:36px;padding-bottom:50px}.contact-form-grid{display:block;margin-top:33px}.request-form{padding:25px 20px}.request-modes legend{font-size:16px}.request-modes>div{gap:9px}.request-modes label{padding:16px 10px 16px 28px}.request-modes input{left:8px;top:18px;width:13px!important;height:13px!important}.request-modes label>span{font-size:13px}.request-modes small{font-size:10px}.field-row{display:block}.request-form .form-help{font-size:12px}.request-form .request-privacy{font-size:11px}.contact-form-heading h1{font-size:46px}}
@media print{.contact-invite,.request-form{display:none}.direct-contact{display:block}}
.contact-invite .invite-copy>h2+p{margin-top:24px;color:#d5e0f5;line-height:1.7}

.footer-top>div p br{display:block}
