:root{--ink:#081333;--blue:#074af0;--blue-deep:#0340d8;--muted:#546480;--soft:#f2f7fe;--light:#f8fbff;--line:#dae4f4;--white:#fff;--radius:17px;--shadow:0 18px 50px rgba(20,54,105,.07);--container:1160px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.65}
img,svg{max-width:100%}img{display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}
.container{width:min(calc(100% - 76px),var(--container));margin-inline:auto}
:focus-visible{outline:3px solid #79a6ff;outline-offset:4px}
.skip-link{position:absolute;left:15px;top:-80px;z-index:1000;background:var(--ink);color:#fff;padding:10px 15px;border-radius:7px}.skip-link:focus{top:12px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.041em}h1{font-size:clamp(2.75rem,5.25vw,4.55rem);font-weight:780;margin-bottom:24px}h1 span,.home-hero h1 span{color:var(--blue)}h2{font-size:clamp(1.9rem,3.4vw,2.65rem);font-weight:770}h3{font-size:1.3rem;font-weight:750}p{color:var(--muted)}
.eyebrow{display:inline-block;color:var(--blue);font-size:.72rem;font-weight:750;letter-spacing:.18em;line-height:1.5;text-transform:uppercase;margin-bottom:22px}.eyebrow--line{position:relative;padding-right:75px}.eyebrow--line:after{content:"";height:1px;background:#b8cef6;width:54px;position:absolute;right:0;top:50%}.eyebrow--light{color:#c8dcff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:49px;padding:12px 24px;border-radius:999px;font-size:.88rem;line-height:1.2;font-weight:650;border:1px solid transparent;white-space:normal;text-align:center;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.btn svg,.text-link svg{flex:none;transition:transform .2s}.btn:hover svg,.text-link:hover svg{transform:translateX(4px)}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--blue);color:#fff;box-shadow:0 6px 17px rgba(7,74,240,.12)}.btn--primary:hover{background:var(--blue-deep);box-shadow:0 10px 27px rgba(7,74,240,.22)}.btn--outline{border-color:#a7c0fa;color:#26467d;background:#fff}.btn--outline:hover{border-color:var(--blue);color:var(--blue)}.btn--white{background:#fff;color:var(--blue)}.btn--white:hover{background:#e7efff}.text-link{color:var(--blue);font-weight:680;display:inline-flex;gap:10px;align-items:center;font-size:.92rem}
.site-header{position:relative;z-index:20;background:rgba(255,255,255,.98)}.nav-shell{height:102px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;flex:none}.brand img{width:174px;height:auto}.navigation{display:flex;align-items:center;justify-content:flex-end;gap:31px}.navigation>a:not(.btn){font-size:.81rem;font-weight:600;color:#20335d;white-space:nowrap;transition:color .2s}.navigation>a:not(.btn):hover,.navigation>a[aria-current="page"]{color:var(--blue)}.nav-cta{min-height:45px;padding:11px 22px;margin-left:12px;font-size:.8rem}.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:9px;background:#fff}.menu-toggle span{width:22px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:56% 44%;min-height:554px;align-items:center}.hero-copy{position:relative;z-index:2;padding:47px 0 37px}.home-hero h1{font-size:clamp(2.8rem,5.25vw,4.75rem);max-width:720px;line-height:1.08;margin-bottom:21px;letter-spacing:-.058em}.hero-lead{font-size:1.18rem;line-height:1.58;letter-spacing:-.013em;max-width:690px;margin-bottom:17px}.hero-note{font-size:.96rem;line-height:1.7;max-width:600px}.button-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-portrait{height:530px;position:relative;align-self:end;isolation:isolate}.hero-portrait__back{position:absolute;inset:18px 0 0 6%;background:linear-gradient(130deg,#dfeafb 0%,#edf4fe 62%,#d2e4f9 100%);border-radius:100px 20px 0 0;z-index:-2}.hero-portrait__circle{position:absolute;right:-116px;top:162px;width:285px;height:285px;background:rgba(149,188,241,.48);border-radius:50%;z-index:-1}.hero-portrait__line{position:absolute;top:0;left:15%;width:1px;height:260px;background:var(--blue);opacity:.75}.hero-portrait__line:after{content:"";position:absolute;bottom:0;left:0;width:55px;height:1px;background:var(--blue)}.hero-portrait img{position:absolute;max-width:none;height:98%;width:auto;max-height:none;bottom:-1px;left:50%;transform:translateX(-48%);object-fit:contain;object-position:bottom}
.services{position:relative;z-index:2;padding-top:24px;padding-bottom:34px}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.service-card{min-height:445px;padding:32px 33px;position:relative;isolation:isolate;overflow:hidden;border-radius:17px;background:linear-gradient(145deg,#f2f7fe 0%,#f8fbff 67%,#e7f0fd 100%)}.service-card>*:not(.service-deco){position:relative;z-index:1}.icon-box{display:flex;align-items:center;justify-content:center;width:63px;height:63px;background:#e0ebfc;border-radius:12px;color:var(--blue);margin-bottom:20px}.service-card h2{font-size:2rem;letter-spacing:-.048em;margin:0 0 2px}.service-subtitle{font-size:1.05rem;letter-spacing:.01em;color:#536994;margin-bottom:20px}.service-card>p:not(.pricing-teaser){max-width:405px;font-size:.94rem;line-height:1.55;margin-bottom:14px}.service-card .btn{margin-top:11px}.service-deco{position:absolute;pointer-events:none;z-index:0}.service-deco--browser{right:-47px;bottom:-80px;width:260px;height:206px;border-radius:15px;border:15px solid #fff;transform:rotate(-11deg);background:linear-gradient(135deg,#d3e5fe,#78a7e8);box-shadow:0 0 0 2px #d5e6fb,0 9px 35px #bdd2f3}.browser-dots{display:block;height:21px;background:#f7f9ff;color:#cbdcf9;letter-spacing:3px;font-size:9px;padding-left:10px}.browser-fake-image{display:block;margin:16px 14px 0;height:100px;background:linear-gradient(140deg,#bad0e8,#e4ecf8 36%,#75a0d2 37%,#a3b9d1)}.browser-fake-line{display:block;width:45%;height:7px;margin:11px 14px;border-radius:2px;background:#dbe7f7}.service-deco--shield{right:15px;bottom:-48px;width:195px;height:180px;border:14px solid #ebf3ff;border-radius:22px;transform:rotate(-10deg);background:linear-gradient(155deg,#d2e3fa,#f7fbff);color:#4c74af;display:flex;justify-content:center;align-items:center;opacity:.65}.pricing-teaser{color:var(--blue);font-size:1rem;margin:16px 0 8px}.pricing-teaser strong{font-size:1.55rem}.pricing-teaser span{display:block;font-size:.78rem;color:var(--muted)}
.portfolio-section{background:linear-gradient(105deg,#f4f9ff 0%,#f0f7ff 45%,#f8fbff 100%);padding:61px 0 73px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:13px}.section-header h2{margin:0}.section-header .eyebrow{margin-bottom:12px}.section-header>.text-link{margin-bottom:10px;flex:none}.section-intro{max-width:790px;margin-bottom:27px;font-size:.97rem}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.project-card{min-width:0;border-radius:11px;overflow:hidden;background:#fff;box-shadow:0 5px 20px rgba(19,51,99,.03);display:flex;flex-direction:column}.project-visual{position:relative;aspect-ratio:1.46;overflow:hidden;background:#e9f1fb}.project-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-card:hover .project-visual>img{transform:scale(1.04)}.project-content{padding:16px 20px 19px;flex:1;display:flex;flex-direction:column}.project-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.project-heading h3{margin:0;font-size:1.08rem;line-height:1.35;letter-spacing:-.025em}.project-external{color:var(--blue);padding:3px;flex:none}.project-external:hover{transform:translateX(3px)}.project-content>p{font-size:.9rem;line-height:1.62;margin-top:13px;margin-bottom:20px}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tag-list span{background:#eff5ff;color:#345181;border:1px solid #e7effb;border-radius:999px;font-size:.72rem;font-weight:600;padding:3px 10px}.project-visual--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#d8e9fd 0%,#edf6ff 45%,#c7daf5 100%)}.placeholder-browser{width:79%;height:72%;background:#fff;border-radius:10px;box-shadow:0 12px 38px rgba(48,89,150,.14);overflow:hidden;transform:rotate(-3deg)}.placeholder-browser__top{height:19%;border-bottom:1px solid #dfe9f8;padding:7px 11px;display:flex;gap:5px}.placeholder-browser__top i{width:6px;height:6px;border-radius:50%;background:#bfd4f1}.placeholder-browser__inner{padding:10% 9%;display:flex;flex-direction:column;gap:9px}.placeholder-browser__inner>span:first-child{color:#173462;font-weight:750;font-size:clamp(.85rem,1.5vw,1.12rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.placeholder-line{display:block;height:7px;background:#dce8f8;border-radius:8px;width:80%}.placeholder-line.short{width:55%}.visual-caption{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:.66rem;color:#456896}
.about-section{display:grid;grid-template-columns:31% 1fr;align-items:center;gap:11%;padding-top:92px;padding-bottom:98px}.about-stamp{background:#edf5ff;border:1px solid #e0eafb;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--blue);position:relative}.about-stamp:before{content:"";position:absolute;inset:13px;border:1px solid #c5d9f9;border-radius:50%}.about-stamp span{font-size:.89rem;letter-spacing:.08em}.about-stamp strong{font-size:clamp(3.3rem,6vw,5.4rem);line-height:1.15;letter-spacing:-.08em}.about-copy h2{max-width:670px}.about-copy p{max-width:690px;font-size:.99rem;margin-bottom:15px}.about-copy .text-link{margin-top:9px}
.contact-banner{background:linear-gradient(110deg,#0736ad,#064bf0);color:#fff;padding:58px 0}.contact-banner__grid{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-banner h2{max-width:760px;margin-bottom:9px;font-size:clamp(1.8rem,3.4vw,2.8rem)}.contact-banner p{color:#dae5ff;margin:0;max-width:680px}.contact-banner .eyebrow{margin-bottom:10px}
.footer{background:#fff;padding-top:60px}.footer-main{display:grid;grid-template-columns:1.8fr 1fr 1.1fr;gap:56px;padding-bottom:51px}.footer-about img{width:165px;height:auto}.footer-about p{margin-top:17px;font-size:.9rem;line-height:1.8}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:11px;font-size:.87rem}.footer-nav strong{color:var(--ink);margin-bottom:7px}.footer-nav a,.footer-nav span{color:var(--muted)}.footer-nav a:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 0;border-top:1px solid var(--line);font-size:.76rem;color:#72809b}.footer-bottom a:hover{color:var(--blue)}
/* Pages intérieures */
.page-hero{background:linear-gradient(114deg,#fff 38%,#f0f6ff);padding:63px 0 70px;overflow:hidden}.page-hero__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:25px}.page-hero__layout>div:first-child{position:relative;z-index:1}.page-hero h1{max-width:760px}.page-hero p{max-width:690px;margin-bottom:13px}.page-hero .btn{margin-top:17px}.page-hero .hero-lead{font-size:1.2rem}.page-hero__art{width:100%;height:390px;border-radius:130px 25px 28px 25px;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#d6e7ff,#f4f9ff);margin-right:-25px}.page-hero__art--creation:after{content:"";width:180px;height:180px;border:1px solid #a4c0ec;border-radius:50%;position:absolute;right:-80px;bottom:-76px}.art-window{position:relative;width:76%;height:72%;background:white;border-radius:14px;box-shadow:0 25px 50px rgba(34,68,132,.13);transform:rotate(-8deg);padding:0 19px 15px;overflow:hidden}.art-window__header{height:39px;display:flex;align-items:center;gap:6px;border-bottom:1px solid #e8eef7;margin:0 -19px 21px;padding-left:19px}.art-window__header b{width:7px;height:7px;background:#b1c6e8;border-radius:50%}.art-window__head{width:52%;height:22px;background:#244b8d;border-radius:4px;margin-bottom:12px}.art-window__sub{width:74%;height:10px;background:#d5e2f3;border-radius:4px}.art-window__features{display:flex;gap:8px;margin-top:23px}.art-window__features span{width:25%;height:55px;background:#e1ebf9;border-radius:6px}.art-window__photo{position:absolute;right:0;bottom:0;width:43%;height:56%;background:linear-gradient(140deg,#92bbef,#c1d9f1 48%,#608bbd 49%,#dae7f9)}.art-badge{position:absolute;right:8%;top:5%;background:#fff;color:var(--blue);border-radius:15px;padding:20px;box-shadow:0 18px 45px #b9cff0}.page-hero__art--maintenance{border-radius:25px 130px 25px 28px;background:linear-gradient(135deg,#e3eefc,#cedff8)}.art-shield{width:200px;height:200px;display:flex;align-items:center;justify-content:center;color:#1454d7;background:#fff;border-radius:35px;box-shadow:0 20px 40px #b5cbed;transform:rotate(-9deg)}.art-orbit{position:absolute;border:1px solid #9fbbeb;border-radius:50%;width:300px;height:300px;z-index:0}.art-orbit--two{width:410px;height:410px;opacity:.5}.art-badge--maintenance{left:7%;right:auto;top:14%;z-index:1}.page-hero--simple{padding:69px 0 64px;background:linear-gradient(110deg,#fff 25%,#f0f6ff)}.page-hero--simple .container{max-width:1160px}.page-hero--simple h1{margin-bottom:19px}.page-hero--simple .hero-lead{max-width:820px}.page-hero--simple .contact-intro{max-width:880px}
.content-section{padding-top:90px;padding-bottom:91px}.section-heading{margin-bottom:33px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{margin-bottom:11px}.section-heading>p{max-width:740px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{background:#f6f9fe;border:1px solid #e8eff9;border-radius:15px;padding:30px 29px;min-height:230px}.feature-card .icon-box{height:54px;width:54px;margin-bottom:21px}.feature-card h3{font-size:1.33rem;max-width:430px;margin-bottom:14px}.feature-card p{font-size:.94rem;line-height:1.68;margin-bottom:0}.feature-card .text-link{margin-top:17px}.pale-section{background:#f2f7fe}.split-content{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:11%}.split-content h2{max-width:650px}.split-content p{max-width:600px}.check-panel{padding:28px 32px;background:white;border-radius:16px;box-shadow:var(--shadow)}.check-panel>div{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #e5ecf8;font-weight:650}.check-panel>div:last-child{border:0}.check-panel svg{color:var(--blue)}.pale-section>.container:not(.content-section){padding-top:83px;padding-bottom:83px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px}.info-grid h2{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.22}.info-grid p{font-size:.96rem}.info-grid .text-link{margin-top:10px}.mini-cta{display:flex;align-items:center;justify-content:space-between;gap:42px;padding-top:20px;padding-bottom:90px}.mini-cta h2{font-size:2rem;margin-bottom:10px}.mini-cta p{max-width:760px;margin-bottom:0}.mini-cta .btn{flex:none}
.risks-layout{align-items:start}.risk-panel{background:#f1f6fe;border-radius:18px;padding:33px;border:1px solid #e4ecfa}.risk-panel__heading{display:flex;align-items:flex-start;gap:13px}.risk-panel__heading svg{color:var(--blue);flex:none}.risk-panel h3{font-size:1.34rem;margin-bottom:21px}.risk-panel ul{list-style:none;margin:0;padding:0}.risk-panel li{position:relative;display:flex;flex-direction:column;border-top:1px solid #d7e4f6;padding:16px 0 16px 21px}.risk-panel li:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--blue);left:0;top:27px}.risk-panel li strong{font-size:.93rem}.risk-panel li span{font-size:.86rem;color:var(--muted);line-height:1.55;margin-top:3px}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.price-card{border:1px solid #dae4f5;border-radius:18px;padding:34px 38px;display:flex;flex-direction:column;align-items:flex-start;background:#fff}.price-card--featured{background:#f1f6ff;border-color:#bad1ff}.price-card>span{font-weight:760;color:#243e75;font-size:1.08rem}.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:21px 0 10px;color:var(--blue)}.price small{flex-basis:100%;color:var(--muted);font-size:.84rem}.price strong{font-size:3.7rem;font-weight:800;letter-spacing:-.085em;line-height:1}.price>span{font-size:1rem;font-weight:650}.price-card>p:not(.price){min-height:44px;font-size:.95rem}.price-card .btn{margin-top:auto}
.portfolio-section--full{padding-top:43px;padding-bottom:88px;background:#fff}.portfolio-grid--full{gap:24px}.portfolio-grid--full .project-card{border:1px solid #e5ecf8;box-shadow:0 13px 35px rgba(39,65,113,.06)}.portfolio-grid--full .project-visual{aspect-ratio:1.55}.portfolio-grid--full .project-content{padding:23px}.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:35px}.filter-btn{border:1px solid #d4e2f6;background:#fff;padding:10px 19px;border-radius:99px;color:#466087;font-size:.87rem;font-weight:600;transition:background .2s,color .2s}.filter-btn:hover{border-color:var(--blue);color:var(--blue)}.filter-btn.is-active{color:#fff;background:var(--blue);border-color:var(--blue)}.project-card[hidden],.empty-filter[hidden]{display:none!important}
/* Formulaire */
.contact-section{padding-top:74px;padding-bottom:105px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:66px;align-items:start}.contact-form-panel h2{margin-bottom:9px}.contact-form-panel>p{margin-bottom:32px;max-width:660px}.contact-form{display:flex;flex-direction:column;gap:19px}.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:.89rem;font-weight:650;color:#233756}.field label>span:not(.optional){color:var(--blue)}.optional{font-weight:400;font-size:.81rem;color:#8190aa}.field input,.field select,.field textarea{appearance:none;display:block;width:100%;background:#f9fbff;border:1px solid #d8e3f4;border-radius:9px;padding:12px 15px;color:var(--ink);font-size:.93rem;outline:none;transition:background .2s,border-color .2s,box-shadow .2s}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%235b6d91' stroke-width='2'%3E%3Cpath d='m4 7 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:43px}.field textarea{resize:vertical;min-height:160px}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px #dfeaff}.field [aria-invalid="true"]{border-color:#c44242}.form-hint{font-size:.77rem;color:#7c8ba4}.field-error{color:#b52828;font-size:.8rem}.form-required{font-size:.78rem;margin:-5px 0 0}.contact-form>.btn{align-self:flex-start;margin-top:3px;min-width:215px}.form-trap{position:absolute!important;left:-9999px!important;height:1px!important;width:1px!important;overflow:hidden!important;opacity:0!important}.contact-aside{border-radius:19px;background:linear-gradient(145deg,#e6f0ff,#f4f8ff);padding:37px}.contact-aside__icon{width:62px;height:62px;display:flex;align-items:center;justify-content:center;color:var(--blue);background:#d4e5ff;border-radius:14px;margin-bottom:24px}.contact-aside h2{font-size:1.61rem}.contact-aside h3{font-size:1.2rem}.contact-aside p{font-size:.93rem}.aside-email{color:var(--blue);font-weight:740;display:inline-flex;align-items:center;gap:9px;overflow-wrap:anywhere}.aside-separator{height:1px;background:#c9daf3;margin:36px 0}.form-success{display:flex;align-items:flex-start;gap:18px;background:#edf7f2;border:1px solid #b8ddc8;border-radius:14px;padding:24px;color:#1f6044}.form-success .success-icon{color:#178854}.form-success p{margin:7px 0 0;color:#32634f}.form-error-global{background:#fff3f3;border:1px solid #e9c4c4;color:#a32929;padding:14px 17px;border-radius:9px;margin-bottom:22px}
@media(max-width:1120px){.container{width:min(calc(100% - 54px),var(--container))}.navigation{gap:21px}.nav-cta{margin-left:0;padding-inline:17px}.brand img{width:158px}.home-hero h1{font-size:clamp(2.75rem,5.15vw,4.15rem)}.hero-lead{font-size:1.04rem}.service-card{padding:28px}.service-card h2{font-size:1.85rem}}
@media(max-width:920px){.nav-shell{height:77px}.menu-toggle{display:flex}.navigation{display:none;position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:10px max(26px,calc((100vw - var(--container))/2)) 23px;border-bottom:1px solid var(--line);box-shadow:0 20px 25px rgba(10,40,95,.08)}.navigation.is-open{display:flex}.navigation>a:not(.btn){padding:12px 1px;font-size:.98rem}.navigation .nav-cta{align-self:flex-start;margin-top:11px}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-grid{grid-template-columns:58% 42%}.hero-portrait{height:440px}.hero-copy{padding-block:30px}.home-hero h1{font-size:clamp(2.55rem,5.3vw,3.9rem)}.hero-note{font-size:.86rem}.service-card{min-height:480px}.service-deco{opacity:.45}.page-hero__art{height:320px}.feature-grid--three{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:35px}}
@media(max-width:700px){.container{width:min(calc(100% - 36px),var(--container))}.nav-shell{height:73px}.brand img{width:147px}.navigation{padding-inline:18px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{padding-top:45px;padding-bottom:18px}.home-hero h1{font-size:clamp(2.45rem,10vw,4rem);letter-spacing:-.06em}.hero-lead{font-size:1.03rem}.hero-note{font-size:.91rem}.button-row{gap:10px;margin-top:24px}.button-row .btn{font-size:.82rem;min-height:46px;padding-inline:18px}.hero-portrait{height:400px;width:min(100%,480px);align-self:center;margin-top:12px}.hero-portrait__back{left:7%;right:5%;border-radius:80px 20px 0 0}.hero-portrait img{height:100%;left:49%}.hero-portrait__circle{right:-25px;top:130px;width:170px;height:170px}.services{padding-top:26px}.services-grid,.portfolio-grid,.portfolio-grid--full,.feature-grid,.feature-grid--three,.pricing-grid,.info-grid,.contact-grid{grid-template-columns:1fr}.services-grid{gap:18px}.service-card{min-height:395px;padding:25px}.service-card h2{font-size:1.85rem}.service-card>p:not(.pricing-teaser){max-width:390px}.service-deco{right:-70px;opacity:.25}.section-header{align-items:flex-start;gap:14px;flex-direction:column}.section-header .text-link{margin-bottom:0}.portfolio-section{padding-top:57px;padding-bottom:65px}.portfolio-grid{gap:17px}.project-visual{aspect-ratio:1.6}.project-card{max-width:none}.section-intro{font-size:.94rem}.about-section{display:flex;flex-direction:column;gap:35px;align-items:flex-start;padding-top:75px;padding-bottom:75px}.about-stamp{width:230px;align-self:center}.about-stamp strong{font-size:4.7rem}.contact-banner{padding:49px 0}.contact-banner__grid{flex-direction:column;align-items:flex-start;gap:25px}.contact-banner .btn{align-self:flex-start}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}.footer-about{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.page-hero{padding:50px 0 54px}.page-hero__layout{display:flex;flex-direction:column;align-items:stretch;gap:35px}.page-hero h1{font-size:clamp(2.5rem,9.7vw,3.9rem)}.page-hero__art{width:min(95%,500px);margin:0 auto;height:310px}.page-hero--simple{padding:51px 0}.content-section{padding-top:65px;padding-bottom:65px}.section-heading{margin-bottom:27px}.feature-card{padding:26px;min-height:0}.split-content{grid-template-columns:1fr;gap:28px}.pale-section>.container:not(.content-section){padding-block:65px}.info-grid{gap:37px}.mini-cta{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:74px}.mini-cta .btn{flex:none}.risks-layout{gap:30px}.price-card{padding:29px}.contact-section{padding-block:50px 80px}.contact-aside{padding:27px}.contact-grid{gap:45px}}
@media(max-width:420px){.eyebrow{font-size:.65rem;letter-spacing:.12em}.hero-portrait{height:335px}.service-card{min-height:420px}.service-subtitle{font-size:.95rem}.form-two-col{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-about{grid-column:auto}.page-hero__art{height:260px}.art-shield{width:150px;height:150px}.filter-bar{gap:7px}.filter-btn{font-size:.78rem;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.legal-content{max-width:900px}.legal-content>section+section{margin-top:45px}.legal-content h2{font-size:clamp(1.65rem,3vw,2.2rem)}.legal-content ul{padding-left:1.3em;color:var(--muted)}.legal-content li{margin-bottom:8px}.legal-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.footer-bottom{flex-wrap:wrap}

/* Profondeur discrète, indépendante des rotations et du centrage existants. */
.motion-layer{translate:0 var(--parallax-y,0px)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
    .icon-box svg,.contact-aside__icon svg{transition:rotate .35s ease,translate .35s ease}
    .service-card:hover .icon-box svg,.feature-card:hover .icon-box svg,.contact-aside:hover .contact-aside__icon svg{rotate:-5deg;translate:0 -2px}
}
@media(prefers-reduced-motion:reduce){.motion-layer{translate:none}}

/* Navigation toujours accessible, avec l'espace du header réservé dans la page. */
:root{--header-height:102px}
body{padding-top:var(--header-height)}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
.site-header{position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid transparent;transition:box-shadow .2s,border-color .2s}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 5px 20px rgba(20,54,105,.06)}
.skip-link{position:fixed}
.back-to-top{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.95);color:var(--blue);box-shadow:0 4px 16px rgba(20,54,105,.1);transition:background .2s,border-color .2s}
.back-to-top[hidden]{display:none}
.back-to-top svg{rotate:-90deg}
.back-to-top:hover{background:var(--soft);border-color:#a7c0fa}
@media(max-width:920px){:root{--header-height:77px}.navigation{max-height:calc(100dvh - var(--header-height));overflow-y:auto}}
@media(max-width:700px){:root{--header-height:73px}.back-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}

/* Header compact : espace initial conservé pour éviter les sauts de contenu. */
:root{--header-compact-height:72px;--header-logo-width:174px;--header-compact-logo-width:145px}
.site-header{--current-header-height:var(--header-height)}
.site-header .nav-shell{height:var(--current-header-height);transition:height .32s cubic-bezier(.22,1,.36,1)}
.site-header .brand img{width:var(--header-logo-width);transition:width .32s cubic-bezier(.22,1,.36,1)}
.site-header.is-scrolled{--current-header-height:var(--header-compact-height);--header-logo-width:var(--header-compact-logo-width)}
@media(max-width:1120px){:root{--header-logo-width:158px;--header-compact-logo-width:136px}}
@media(max-width:920px){:root{--header-compact-height:62px;--header-compact-logo-width:130px}.site-header .navigation{max-height:calc(100dvh - var(--current-header-height))}}
@media(max-width:700px){:root{--header-logo-width:147px;--header-compact-height:60px;--header-compact-logo-width:124px}}
