/* Ignis — atelier d'études. La structure reste lisible sans animation. */
:root{--navy:#0b2233;--ink:#183447;--muted:#526573;--paper:#f1f3f2;--orange:#b84715;--flame:#ff8b4c;--radius:3px;--ease-out:cubic-bezier(.2,.75,.25,1);scroll-padding-top:112px}
body{overflow-x:clip}::selection{background:#ff9a5c;color:#071d2d}
.container{width:min(1280px,calc(100% - 96px))}h1,h2,h3{font-family:Arial,Helvetica,sans-serif}h2 em{font-family:Georgia,serif;font-weight:400;color:#647782;letter-spacing:-.035em}p{line-height:1.75}
.topline{background:#071b2a;border-bottom:1px solid #ffffff13;padding:8px 0;font-size:.75rem;color:#c4d1d9}.topline a{color:#dbe3e8}
.site-header{position:sticky;top:0;z-index:30;background:#0b2233f5;color:#fff;border-bottom:1px solid #ffffff18;backdrop-filter:blur(18px);transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 12px 32px #05131f26}.header-inner{min-height:90px;gap:24px}.brand{color:white;gap:10px}.brand img{width:55px;height:53px}.brand-word{font:600 1.45rem Arial,sans-serif;letter-spacing:.14em}.brand-word small{font-size:.58rem;letter-spacing:.26em;line-height:2}.nav{gap:21px}.nav a{color:#d8e2e8;font-size:.875rem;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:#ffa568}.nav .button{background:transparent;color:white;border:1px solid #ffffff58;padding:13px 18px}.nav .button:hover{background:white;color:#0b2233}
.site-header::after{content:'';position:absolute;inset:auto 0 -1px;height:2px;background:#ff9a5c;transform:scaleX(var(--reading-progress,0));transform-origin:left}.menu-toggle{color:white;border-color:#ffffff45}
.button{position:relative;border-radius:3px;background:#0b2233;border-color:#0b2233;padding:18px 25px;min-height:56px;gap:30px;transition:transform .35s var(--ease-out),background .25s,box-shadow .25s}.button:hover{background:#173e58;transform:translateY(-3px);box-shadow:0 12px 28px #071b2a1c}.arrow{display:inline-block;transition:transform .3s}.button:hover .arrow,.service a:hover .arrow{transform:translate(3px,-3px)}
.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:600}.lead{line-height:1.7}
.hero-studio{position:relative;isolation:isolate;overflow:hidden;background:#081d2d;color:white;padding:70px 0 0}.hero-studio::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 80% 60%,#163e572e,transparent 65%);pointer-events:none}.hero-studio .hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:0;align-items:center;min-height:540px}.hero-copy{position:relative;z-index:2;padding-bottom:35px}.hero-studio .eyebrow{color:#bdcdd6;font-size:.72rem;letter-spacing:.15em;margin-bottom:30px}.hero-studio h1{font-size:clamp(3.5rem,6.25vw,5.65rem);line-height:1.01;letter-spacing:-.065em;color:#fff;font-weight:600}.hero-studio h1 em{display:inline-block;font-family:Georgia,serif;color:#ffa06b;font-weight:400;letter-spacing:-.06em;font-size:.95em;white-space:nowrap}.hero-studio .lead{color:#c1ced6;max-width:490px;font-size:1.06rem;margin:28px 0 30px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.hero-studio .button{background:#ff9457;border-color:#ff9457;color:#071b2a}.hero-studio .button:hover{background:#ffb28a;box-shadow:0 12px 38px #ff89432b}.hero-phone{font-size:1.05rem;color:#fff;text-decoration:none;line-height:1.5}.hero-phone span{display:block;font-size:.75rem;color:#aabcc8;margin-top:2px}
.project-visual{position:relative;width:calc(100% + 115px);margin:0 0 0 -38px;align-self:center;perspective:1100px}.project-visual picture{display:block;overflow:hidden;border-radius:2px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 96%,transparent)}.model-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s var(--ease-out);animation:model-arrival 1.6s var(--ease-out) backwards}.visual-kicker{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;margin:0 30px 14px;font-size:.67rem;letter-spacing:.12em;color:#9aafbd}.visual-kicker span:last-child{color:#dbb294}.visual-label{position:absolute;left:6%;bottom:16%;display:flex;gap:16px;align-items:center;color:#f1f5f8;background:#0a2232e8;border:1px solid #b0c2cf38;padding:19px 22px;backdrop-filter:blur(16px);font-size:.85rem;line-height:1.6;box-shadow:0 18px 50px #0003;animation:label-arrival 1.6s var(--ease-out) both}.visual-label strong{font-weight:500;color:#ffad78}.label-cross{font:300 2.5rem Arial;color:#ff9a5c}.project-visual figcaption{text-align:right;color:#9baebd;font-size:.7rem;margin:10px 35px 0;letter-spacing:.025em}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff24;padding-block:25px;margin-top:40px;gap:20px}.hero-bottom p{font-size:.79rem;color:#b5c6d1;margin:0;line-height:1.6}.hero-bottom a{display:flex;align-items:center;gap:24px;font-size:.82rem;color:#dbe4ea;text-decoration:none}.hero-bottom a span{display:grid;place-items:center;border:1px solid #ffffff35;border-radius:50%;width:38px;height:38px;font-size:1.3rem;transition:transform .3s}.hero-bottom a:hover span{transform:translateY(4px)}
.proof{background:#e8edef;border:0}.proof .container{display:flex;justify-content:space-between;gap:20px;padding-block:24px}.proof span{font-size:.82rem;color:#294354}.proof span::before{color:#b94e1c}
.section{padding-block:105px}.section-title{align-items:end;gap:40px;margin-bottom:52px}.section-title h2,.split h2{font-weight:500;font-size:clamp(2rem,3.7vw,3.3rem);line-height:1.1;letter-spacing:-.05em}.section-title>p{max-width:350px;color:#5a6e7c;font-size:.96rem}.section-title .eyebrow{color:#9c481c;margin-bottom:20px}.white{background:#fff}
.services-editorial{display:block;border-top:1px solid #becbd3}.services-editorial .service{display:grid;grid-template-columns:70px 1fr 250px;align-items:center;gap:28px;border:0;border-bottom:1px solid #cad4da;background:transparent;border-radius:0;padding:34px 10px;box-shadow:none;position:relative;transition:background .3s,padding .4s var(--ease-out)}.services-editorial .service:hover,.services-editorial .service:focus-within{background:#eff3f4;padding-left:24px;padding-right:24px}.services-editorial .number{align-self:start;font-size:1rem;letter-spacing:-.02em;color:#627e8e;margin:6px 0 0}.service-type{font-size:.68rem;letter-spacing:.14em;color:#6c7e88;display:block;margin-bottom:7px}.services-editorial h3{font-size:clamp(1.55rem,2.6vw,2.15rem);font-weight:500;letter-spacing:-.04em;margin-bottom:10px}.services-editorial p{font-size:.93rem;max-width:590px;margin:0;color:#59707e;line-height:1.7}.services-editorial a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.83rem;color:#16384e;text-decoration:none;border-bottom:1px solid #b7c6ce;padding-block:12px}.services-editorial .arrow{display:grid;place-items:center;border-radius:50%;width:36px;height:36px;border:1px solid #a7bac7;flex-shrink:0}.services-editorial a:hover .arrow{background:#0b2233;border-color:#0b2233;color:white}.services:not(.services-editorial){gap:30px}.services:not(.services-editorial) .service{padding:25px;border-top:2px solid #c7d1d8;background:#fff}.service .number{font-size:.85rem}
.approach{background:#eaf0f1;position:relative}.approach .split{gap:90px}.approach .eyebrow{color:#866044}.feature-list{margin-top:0}.feature-list li{border-bottom:1px solid #c1d0d7;padding:20px 0;gap:22px}.feature-list li:first-child{padding-top:0}.feature-list .n{font:400 1.2rem Georgia;color:#a4552a;background:transparent}.feature-list strong{font-size:1.2rem;font-weight:500}.feature-list p{font-size:.94rem;color:#5a707d;margin-top:6px}.note{background:#dce6e9;border-left:2px solid #b05d2c;border-radius:0;padding:20px 23px;font-size:.9rem}
.steps{gap:35px}.step{border-top:1px solid #bfccd4;padding-top:30px;position:relative}.step::before{font:400 3.3rem Georgia,serif;color:#b56a3d;letter-spacing:-.06em;margin-bottom:25px}.step::after{content:'';position:absolute;top:-1px;left:0;height:2px;width:100%;background:#cc7442;transform:scaleX(.1);transform-origin:left;transition:transform 1s var(--ease-out)}.step.in-view::after{transform:scaleX(1)}.step h3{font-size:1.17rem;font-weight:600}.step p{font-size:.92rem;color:#5c707e}
.local{background:#102c40;color:#c4d2db;position:relative;overflow:hidden}.local .eyebrow{color:#d99a72}.local h2{font-size:clamp(2.2rem,4.5vw,4rem);font-weight:500;color:#fff}.local .split{gap:90px}.local p{color:#bfced8}.local .text-link{color:#ffa66e}.territory{border-color:#466175;padding-left:45px}.territory strong{font:400 2.8rem Georgia;color:#faf6ed}.towns{gap:8px}.towns span{font-size:.8rem;border-radius:0;padding:9px 12px;border-color:#476174;background:#ffffff04}.towns span:hover{background:#ffffff0d}
.faq{border-top:1px solid #c5d0d7}.faq details{border-color:#c5d0d7;transition:background .25s;padding-inline:22px}.faq details[open]{background:#e4ebee}.faq summary{list-style:none;position:relative;padding:23px 45px 23px 0;font-size:1.05rem;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:0;top:20px;font:300 1.8rem Arial;color:#a4552a;transition:transform .25s}.faq details[open] summary::after{transform:rotate(45deg)}.faq p{max-width:900px;font-size:.96rem}
.contact-banner{background:#f4a270;padding:75px 0;color:#0b2233}.contact-banner h2{font-weight:500;font-size:clamp(2rem,3.6vw,3.3rem);letter-spacing:-.05em}.contact-banner p{color:#3e423d}.contact-banner .button{background:#0b2233;color:white;border-color:#0b2233}.site-footer{background:#071b2a;padding-top:65px;color:#afc1ce}.site-footer h2{color:#eff3f6}.footer-bottom{border-color:#294252}
.breadcrumb{font-size:.8rem;padding-block:23px}.page-hero{background:#e4ebed;padding:65px 0 70px;position:relative;border-bottom:1px solid #c8d5db}.page-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;max-width:1000px;line-height:1.06}.page-hero h1 em{font-family:Georgia,serif;font-weight:400;color:#9c481c}.page-hero .eyebrow{color:#945127}.page-hero .lead{max-width:780px}.page-hero::after{content:'';position:absolute;right:0;top:0;bottom:0;width:10px;background:#db9367}.sidebar{border-top:3px solid #d78b5c;border-radius:0;box-shadow:none}.form-panel{border:1px solid #c7d2da;border-radius:4px;box-shadow:0 20px 55px #12374e0b}.contact-card{border-radius:4px}input,select,textarea{border-radius:2px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #0b223312}.prose h2{font-weight:500;letter-spacing:-.035em;scroll-margin-top:115px}
@keyframes model-arrival{from{opacity:.5;transform:translate3d(50px,24px,0) scale(.94)}to{opacity:1;transform:none}}
@keyframes label-arrival{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero-studio .hero-grid{min-height:610px}.hero-studio{padding-top:75px}.project-visual{width:calc(100% + 145px);margin-left:-15px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.nav{gap:15px}.nav a{font-size:.8rem}.brand-word{font-size:1.3rem}.hero-studio h1{font-size:clamp(3.3rem,6.1vw,4.7rem)}.project-visual{width:calc(100% + 60px);margin-left:-15px}.hero-studio .hero-grid{min-height:490px}.hero-phone span{max-width:170px}.services-editorial .service{grid-template-columns:45px 1fr 200px;gap:20px}.hero-actions{gap:20px}.hero-studio .button{padding:17px 20px;gap:20px}}
@media(max-width:900px){.header-inner{min-height:80px;padding-block:13px}.site-header{position:sticky}.nav{border-color:#ffffff26}.nav a{font-size:.95rem}.hero-studio{padding-top:50px}.hero-studio .hero-grid{grid-template-columns:1fr 1fr;min-height:480px}.hero-studio h1{font-size:3.5rem}.hero-studio .eyebrow{font-size:.66rem;letter-spacing:.08em}.hero-studio .lead{font-size:1rem}.project-visual{width:calc(100% + 70px);margin-left:-15px}.visual-kicker{font-size:.62rem;margin-inline:15px;gap:10px}.visual-label{bottom:11%;padding:12px 16px;left:3%;font-size:.78rem}.project-visual figcaption{margin-right:25px}.hero-bottom{margin-top:25px}.section{padding-block:75px}.approach .split,.local .split{gap:40px}.services-editorial .service{grid-template-columns:40px 1fr;gap:15px}.services-editorial a{grid-column:2;justify-content:flex-start;gap:25px;width:fit-content}.territory{padding-left:25px}.territory strong{font-size:2.2rem}.page-hero{padding-block:50px}}
@media(max-width:680px){:root{scroll-padding-top:96px}.container{width:calc(100% - 40px)}.topline{font-size:.68rem}.topline .top-region{max-width:none;letter-spacing:0}.topline .container{gap:10px}.header-inner{min-height:76px;gap:12px}.brand img{width:45px;height:44px}.brand-word{font-size:1.25rem}.brand-word small{font-size:.55rem}.menu-toggle{padding:10px 13px;font-size:.9rem}.nav{padding-top:12px;gap:4px}.hero-studio{padding-top:36px}.hero-studio .hero-grid{grid-template-columns:1fr;gap:10px;min-height:0}.hero-copy{padding-bottom:0}.hero-studio .eyebrow{font-size:.63rem;letter-spacing:.1em;margin-bottom:24px}.hero-studio h1{font-size:clamp(2.65rem,11.2vw,4.4rem);letter-spacing:-.055em;line-height:1.04}.hero-studio h1 em{white-space:normal}.hero-studio .lead{font-size:.97rem;line-height:1.7;margin:24px 0;max-width:490px}.hero-actions{gap:22px}.hero-studio .button{min-height:53px;font-size:.88rem}.hero-phone{font-size:.98rem}.hero-phone span{font-size:.69rem;max-width:170px}.project-visual{width:calc(100% + 32px);margin:32px -16px 0}.visual-kicker{margin:0 18px 8px;font-size:.63rem}.visual-label{bottom:15%;left:5%;padding:12px 15px;gap:12px;font-size:.75rem}.label-cross{font-size:1.9rem}.project-visual figcaption{font-size:.66rem;margin:8px 18px 0}.hero-bottom{padding-block:22px;margin-top:25px;align-items:end;gap:12px}.hero-bottom p{font-size:.72rem;max-width:210px}.hero-bottom a{font-size:0;gap:0}.hero-bottom a span{font-size:1.2rem}.proof .container{gap:12px;padding-block:23px}.proof span{font-size:.8rem}.section{padding-block:62px}.section-title{margin-bottom:32px}.section-title h2,.split h2{font-size:2.2rem}.section-title>p{font-size:.94rem;margin-top:22px}.services-editorial .service{padding:25px 0;grid-template-columns:32px 1fr;gap:14px}.services-editorial .service:hover,.services-editorial .service:focus-within{padding-inline:8px}.services-editorial .number{font-size:.82rem}.services-editorial h3{font-size:1.55rem}.service-type{font-size:.63rem}.services-editorial p{font-size:.88rem}.services-editorial a{font-size:.8rem}.services-editorial .arrow{width:30px;height:30px}.approach .split,.local .split{gap:32px}.steps{gap:30px}.step::before{font-size:2.65rem}.step h3{font-size:1.05rem}.step p{font-size:.9rem}.local h2{font-size:2.5rem}.territory{padding-left:0}.faq details{padding-inline:12px}.faq summary{font-size:1rem;line-height:1.5}.contact-banner{padding-block:48px}.contact-banner h2{font-size:2.2rem}.page-hero{padding:38px 0 45px}.page-hero h1{font-size:2.55rem;overflow-wrap:normal}.page-hero::after{width:4px}.breadcrumb{font-size:.75rem;padding-block:18px}.form-panel{padding:26px 20px}.site-footer{padding-top:45px}.brand{gap:7px}.prose h2{scroll-margin-top:100px}}
@media(max-width:380px){.hero-studio h1{font-size:2.7rem}.hero-phone{font-size:.9rem}.hero-phone span{max-width:none}.hero-actions{gap:16px}.hero-studio .button{padding-inline:17px}.visual-label{bottom:15%;padding:10px 12px}.steps{grid-template-columns:1fr}}
@media(hover:none){.services-editorial .service:hover{padding-left:0;padding-right:0;background:transparent}.button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.model-image{transform:none!important}}
@media print{.site-header{position:static}.hero-studio{background:white;color:#000}.hero-studio h1,.hero-studio h1 em,.hero-studio .lead{color:#000}.project-visual{width:70%;margin:auto}.hero-bottom,.visual-label{display:none}.services-editorial .service{display:block}.services-editorial a{margin-top:15px}.local{background:white}.local h2,.local p{color:#000}}

/* Les légendes restent lisibles sur les petits écrans. */
.visual-kicker,.project-visual figcaption,.service-type,.hero-studio .eyebrow{font-size:.75rem}
