@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f5f5f2;--ink:#181918;--muted:#646562;--line:#d5d5d0;--accent:#a82636;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;font-family:var(--body);color:var(--ink);background:var(--paper);font-size:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d84257;outline-offset:5px}
input:focus-visible,textarea:focus-visible{outline:2px solid #a82636;outline-offset:2px}
img{display:block;width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
figure{margin:0}
button{border:0}
p{line-height:1.7}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.04}
h1{font-size:clamp(4.5rem,8vw,8rem);letter-spacing:-.025em}
h2{font-size:clamp(3rem,5vw,5rem);letter-spacing:-.02em}
h3{font-size:2rem}
em{font-style:normal;color:var(--accent)}
.eyebrow{display:block;font-size:.8rem;font-weight:700;letter-spacing:.17em;line-height:1.6}
.header{display:flex;justify-content:space-between;align-items:center;padding:15px 5%;border-bottom:1px solid var(--line);gap:30px;min-height:94px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{width:61px;height:61px;object-fit:contain;mix-blend-mode:multiply}
.brand span{font-family:var(--display);font-size:1.05rem;letter-spacing:.08em;line-height:1.1}
.brand strong{font-weight:700}
.header nav{display:flex;align-items:center;gap:36px;font-size:.9rem;font-weight:500}
.header nav a{padding:10px 0}
.header nav a[aria-current]{border-bottom:2px solid currentColor}
.nav-contact{margin-left:30px}
.intro{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:52px 5% 40px;gap:15px}
.intro>.eyebrow{grid-column:1/-1}
.intro h1{font-size:clamp(3.8rem,6.2vw,6.5rem)}
.intro h1 em{color:inherit}
.intro p{justify-self:end;padding:0 0 6px;color:var(--muted);font-size:1rem}
.split{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;padding:0 3% 0;gap:12px}
.world{height:570px;position:relative;overflow:hidden}
.world>img{height:100%;object-fit:cover;transition:transform .65s ease}
.world:hover>img{transform:scale(1.035)}
.world:after{content:'';position:absolute;inset:0;pointer-events:none}
.atelier-world:after{background:linear-gradient(0deg,rgba(246,246,242,.99),rgba(246,246,242,.88) 30%,rgba(246,246,242,.07) 78%)}
.atelier-world>img{object-position:center center;height:122%;position:absolute;top:-22%;left:0}
.custom-world:after{background:linear-gradient(0deg,rgba(12,12,12,.95),rgba(12,12,12,.68) 29%,transparent 80%)}
.custom-world{color:#fff}
.custom-world>img{object-position:55% 40%}
.world-copy{position:absolute;bottom:38px;left:7%;right:7%;z-index:1}
.world h2{font-size:clamp(4.7rem,7vw,7rem);display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px}
.world-copy p{font-size:.95rem;line-height:1.6}
.world-link{display:flex;justify-content:space-between;border-top:1px solid #7776;margin-top:26px;padding-top:17px;font-size:.85rem;font-weight:600}
.signature{padding:70px 8%;display:grid;grid-template-columns:1fr 2fr;gap:22px;max-width:1440px;margin:auto}
.signature p{font-size:1.3rem;line-height:1.6}
.signature a{grid-column:2;font-size:.9rem;text-decoration:underline;text-underline-offset:6px}
.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 5%;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.footer-nav{display:flex;align-items:center;gap:24px;font-size:.9rem;font-weight:600;color:var(--ink)}
.footer-nav a{padding:8px 0}
.footer-nav a[aria-current]{border-bottom:2px solid var(--accent)}
.wordmark{font:700 2rem var(--display);color:var(--ink);display:flex;align-items:center;gap:12px}
.wordmark span{font:.65rem var(--body);letter-spacing:.1em;max-width:65px;line-height:1.5}
.section{padding:84px 6%;max-width:1600px;margin:auto}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.section-top h2{margin-top:14px}
.section-top>p{color:var(--muted);font-size:.95rem}
.text-link{font-size:.9rem;border-bottom:1px solid currentColor;padding-bottom:7px;display:inline-block;line-height:1.5}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:18px 24px;min-height:54px;background:var(--ink);color:var(--paper);font-size:.9rem;font-weight:600;border:1px solid var(--ink);transition:background .2s}
.button:hover{background:#3b3b39}
.breadcrumb{display:block;font-size:.85rem;margin-bottom:24px;color:var(--muted)}
.dark{--paper:#141515;--ink:#f6f6f2;--muted:#b6b7b2;--line:#3b3d3b;--accent:#e14252;background:var(--paper);color:var(--ink)}
.dark .brand img{filter:invert(1);mix-blend-mode:screen}
.light-button{background:#f4f4ef;color:#171818;border-color:#f4f4ef}
.light-button:hover{background:#d9dad2}
.custom-hero{display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:675px;max-width:1600px;margin:auto}
.custom-heading{padding:48px 11% 65px 12%;align-self:center}
.custom-heading h1{margin:23px 0}
.custom-heading p{max-width:360px;margin-bottom:30px;color:var(--muted)}
.hero-photo{position:relative;min-height:620px}
.hero-photo>img{height:100%;object-fit:cover;position:absolute;inset:0;object-position:center}
.photo-caption{position:absolute;bottom:25px;right:30px;background:#111a;padding:10px 12px;color:white;font-size:.75rem;letter-spacing:.13em}
.vertical-label{position:absolute;left:calc(50% - 22px);top:45%;writing-mode:vertical-rl;font-size:.7rem;letter-spacing:.23em;color:#f5f5ee;z-index:2}
.collection{border-top:1px solid var(--line)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 36px}
.filters button{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:12px 18px;font-size:.85rem}
.filters button.selected,.filters button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 22px}
.gallery-card{min-width:0}
.gallery-card button{padding:0;display:block;position:relative;width:100%;background:#262727;overflow:hidden;text-align:left;color:var(--ink)}
.gallery-card img{aspect-ratio:1/1.08;object-fit:cover;transition:transform .4s}
.gallery-card button:hover img{transform:scale(1.035)}
.enlarge{position:absolute;right:12px;bottom:12px;background:#141515bc;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.25rem}
.gallery-caption{display:flex;justify-content:space-between;align-items:start;gap:10px;padding-top:14px}
.gallery-caption h3{font-family:var(--body);font-size:.93rem;font-weight:500;line-height:1.5}
.gallery-caption span{font-size:.76rem;color:var(--muted);line-height:1.7;white-space:nowrap}
.video-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.video-section h2{margin-top:18px}
.video-section video{width:100%;max-height:430px;background:#000}
.cta{border-top:1px solid var(--line)}
.cta h2{margin:20px 0 35px}
.cta-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap}
.atelier-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-top:48px;padding-bottom:70px;align-items:center}
.atelier-hero h1{margin:23px 0;font-size:clamp(4.5rem,7.5vw,7.5rem)}
.atelier-hero p{max-width:390px;color:var(--muted);margin-bottom:30px}
.atelier-hero figure img{aspect-ratio: .96;object-fit:cover}
.atelier-hero figcaption{margin-top:16px;color:var(--muted);font-size:.7rem;letter-spacing:.12em}
.services{background:#eaece8}
.services-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}
.simulation img{aspect-ratio:1;object-fit:cover}
.simulation figcaption{font-size:.72rem;line-height:1.6;letter-spacing:.06em;color:var(--muted);margin-top:13px}
.service-list article{display:flex;gap:25px;padding:26px 0;border-top:1px solid #c5c7c2}
.service-list article:last-child{border-bottom:1px solid #c5c7c2}
.service-list article>span{font-size:.8rem;color:var(--muted);padding-top:5px}
.service-list h3{font-size:2rem;margin-bottom:10px}
.service-list p{font-size:.92rem;color:#555a54}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.project-grid img{height:440px;object-fit:cover}
.project-grid article:first-child img{object-position:center 53%}
.project-label{padding-top:20px}
.project-label h3{font-size:2rem;margin-bottom:8px}
.project-label p{color:var(--muted);font-size:.85rem}
.project-video{margin-top:25px;border-top:1px solid var(--line);padding:20px 0}
.project-video summary{cursor:pointer;font-size:.9rem}
.project-video video{margin-top:24px;width:100%;max-height:500px;background:#111}
.process{border-top:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:35px}
.steps article>span{font-family:var(--display);font-size:2.2rem;color:var(--accent)}
.steps h3{margin:17px 0;font-size:2rem}
.steps p{max-width:310px;color:var(--muted);font-size:.93rem}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#dedfd9}
.contact h2{margin:20px 0}
.contact>div>p{margin:22px 0;color:#53564f}
.contact>div>a{font-weight:600;font-size:.95rem}
.contact form{align-self:center}
.contact label{display:block;font-size:.85rem;font-weight:600;margin-bottom:23px}
.contact input,.contact textarea{width:100%;display:block;margin-top:10px;background:#f5f5f0;color:#181918;border:1px solid #b9bdb3;padding:15px;font-size:1rem;border-radius:0}
.contact textarea{resize:vertical}
.form-note{font-size:.8rem;color:#51554c;margin-top:14px;line-height:1.6}
.skip{position:fixed;left:15px;top:-100px;z-index:100;background:#fff;color:#111;padding:15px}
.skip:focus{top:15px}
.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}
dialog{border:1px solid #555;background:#181919;color:white;padding:48px 20px 18px;max-width:min(900px,95vw);max-height:95vh}
dialog::backdrop{background:#000d}
dialog>img{width:auto;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}
dialog>p{padding-top:14px;font-size:.9rem;text-align:center}
.close{position:absolute;right:8px;top:4px;background:transparent;color:white;font-size:2rem;width:44px;height:44px}
body.modal-open{overflow:hidden}
[hidden]{display:none!important}

@media(min-width:1600px){.header,.footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}
}

@media(max-width:1000px){.nav-contact{margin-left:0}
.header nav{gap:22px}
.world{height:520px}
.world-copy{left:6%;right:6%;bottom:25px}
.custom-heading{padding:38px 9%}
.custom-heading h1{font-size:5rem}
.gallery{grid-template-columns:repeat(2,1fr)}
.services-layout{gap:35px}
.project-grid img{height:340px}
.footer{flex-wrap:wrap}
.signature{grid-template-columns:1fr 2fr}
.section{padding:65px 5%}
.atelier-hero h1{font-size:5.5rem}
.hero-photo{min-height:650px}
.custom-heading p{font-size:.95rem}
}

@media(max-width:680px){.header{padding:12px 5%;min-height:79px;gap:16px}
.brand img{width:49px;height:49px}
.brand span{display:none}
.header nav{gap:24px;font-size:.9rem}
.nav-contact{display:none}
.intro{padding:35px 6% 30px;display:block}
.intro .eyebrow{margin-bottom:14px;font-size:.7rem}
.intro h1{font-size:4.3rem}
.intro p{font-size:.9rem;margin-top:20px}
.split{grid-template-columns:1fr;padding:0 4%;gap:14px}
.world{height:490px}
.custom-world>img{object-fit:contain;object-position:center top;background:#0c0c0c}
.world h2{font-size:5.2rem}
.world-copy{left:7%;right:7%;bottom:27px}
.world-copy p{font-size:.95rem}
.world-link{margin-top:20px}
.signature{display:block;padding:42px 7%}
.signature .eyebrow{margin-bottom:18px}
.signature p{font-size:1.08rem}
.signature a{display:inline-block;margin-top:20px}
.footer{display:flex;align-items:start;flex-direction:column;padding:28px 6%;gap:18px}
.section{padding:48px 6%}
.section-top{display:block;margin-bottom:27px}
.section-top>p,.section-top>.text-link{margin-top:22px}
.custom-hero{display:flex;flex-direction:column;min-height:0}
.custom-heading{padding:32px 6% 42px}
.custom-heading h1{font-size:5.5rem}
.custom-heading p{max-width:100%}
.hero-photo{min-height:0;height:440px}
.hero-photo img{object-position:center 32%}
.vertical-label{display:none}
.gallery{gap:28px 12px}
.gallery-caption{display:block}
.gallery-caption h3{font-size:.88rem}
.gallery-caption span{font-size:.76rem}
.filters{gap:8px}
.filters button{font-size:.8rem;padding:11px 12px}
.eyebrow{font-size:.75rem}
.video-section{grid-template-columns:1fr;gap:30px}
.cta-actions{align-items:start;flex-direction:column;gap:25px}
.cta h2{font-size:3.6rem}
.atelier-hero{grid-template-columns:1fr;gap:36px;padding-top:30px}
.atelier-hero h1{font-size:5.3rem}
.atelier-hero figure img{aspect-ratio:1.1}
.services-layout{grid-template-columns:1fr;gap:30px}
.simulation img{aspect-ratio:1.15}
.service-list h3{font-size:1.9rem}
.project-grid{grid-template-columns:1fr;gap:32px}
.project-grid img{height:360px}
.steps{grid-template-columns:1fr;gap:30px}
.steps article{border-top:1px solid var(--line);padding-top:23px}
.steps h3{margin:12px 0}
.steps p{max-width:none}
.contact{grid-template-columns:1fr;gap:35px}
.contact .button{width:100%}
.button{gap:25px}
.breadcrumb{margin-bottom:22px}
}

.intro.intro-presentation{display:block;padding-top:44px;padding-bottom:36px}
.intro-presentation h1{font-size:clamp(2.25rem,3.8vw,3.6rem);line-height:1.12;max-width:1080px;letter-spacing:-.015em}
.presentation-copy{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}
.intro-presentation p{justify-self:stretch;padding:0;font-size:1rem;line-height:1.75}
.presentation-copy strong{color:var(--ink)}
.intro-presentation .presentation-closing{margin-top:25px;color:var(--ink);font-weight:500}
.home .split{margin-bottom:48px}
@media(max-width:680px){.intro.intro-presentation{padding-top:32px;padding-bottom:30px}
.presentation-copy{grid-template-columns:1fr;gap:18px;margin-top:22px}
.intro-presentation .presentation-copy p{margin-top:0}
.intro-presentation .presentation-closing{margin-top:22px}
.home .split{margin-bottom:30px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}

.project-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
.project-heading h2{max-width:850px}
.carousel-controls{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.carousel-controls button{width:50px;height:50px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:1.35rem}
.carousel-controls button:hover{background:var(--ink);color:var(--paper)}
.carousel-count{min-width:44px;text-align:center;font-size:.85rem}
.project-carousel{position:relative}
.project-slide{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:38px;align-items:end}
.project-slide[hidden]{display:none}
.project-slide img{height:min(58vw,600px);min-height:420px;object-fit:cover}
.project-slide:first-child img{object-position:center 53%}
.project-slide .project-label{padding:0 0 18px}
.project-slide .project-label h3{font-size:clamp(2.7rem,4.5vw,4.5rem);margin-bottom:12px}
.project-slide .project-label p{font-size:.95rem}
.process>h2{max-width:820px}
.process .steps{grid-template-columns:repeat(4,1fr);gap:30px}
.process .steps h3{font-size:1.75rem}
.process .steps p{max-width:none}
.custom-contact{border-top:1px solid var(--line);margin-top:54px;padding-top:42px;display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:28px}
.custom-contact p{color:var(--muted);font-size:.95rem}
.custom-contact .button{white-space:nowrap}

@media(max-width:1000px){.process .steps{grid-template-columns:repeat(2,1fr)}
.custom-contact{grid-template-columns:1fr auto}
.custom-contact .eyebrow{grid-column:1/-1}
}

@media(max-width:680px){.custom-contact{grid-template-columns:1fr;align-items:start}
.custom-contact .button{justify-self:start}
.project-heading{display:block}
.project-heading h2{font-size:3.3rem}
.carousel-controls{margin-top:22px}
.project-slide{grid-template-columns:1fr;gap:18px}
.project-slide img{height:420px;min-height:0}
.project-slide .project-label{padding:0}
.process .steps{grid-template-columns:1fr}
}

.atelier-hero.atelier-hero-text{display:block;max-width:1280px;padding-top:72px;padding-bottom:84px}
.atelier-hero-text>div{max-width:900px}
.atelier-hero-text p{max-width:620px}
.services-layout.services-layout-text{display:block}
.services-layout-text .service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7%}
.services-layout-text .service-list article:nth-last-child(2){border-bottom:1px solid #c5c7c2}
@media(max-width:680px){.atelier-hero.atelier-hero-text{padding-top:45px;padding-bottom:55px}
.atelier-hero-text>div{max-width:none}
.services-layout-text .service-list{grid-template-columns:1fr}
.services-layout-text .service-list article:nth-last-child(2){border-bottom:0}
}

/* Direction visuelle AGC validée — 09/2026 */
:root{--ral4004:#651e38;--ral7035:#c5c7c4;--white:#fff;--black:#090909;--accent:var(--ral4004)}
body.home{--paper:var(--white);--ink:#141414;--muted:#5d5d5a;--line:#d8d8d4;background:var(--white)}
body.atelier{--paper:var(--ral7035);--ink:#141414;--muted:#4b4d49;--line:#a8aba7;--accent:var(--ral4004);background:var(--ral7035)}
body.dark{--paper:var(--black);--ink:#fff;--muted:#c8c8c3;--line:#343434;--accent:var(--ral4004);background:var(--black)}
body.atelier .header,body.atelier .footer{background:var(--ral7035)}
body.dark .header,body.dark .footer{background:var(--black)}
.intro-presentation h1{text-wrap:balance;max-width:1040px}
.home .split{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:18px;padding-inline:4%}
.home .world{height:620px;border-top:7px solid var(--ral4004)}
.home .world-copy{bottom:0;left:0;right:0}
.home .world h2{font-size:clamp(4.9rem,7.4vw,7.7rem);line-height:.88}
.home .world-copy>.eyebrow,.home .world-copy>h2,.home .world-copy>p{margin-left:7%;margin-right:7%}
.home .world-link{border:0;background:var(--ral4004);color:#fff;font-weight:700;letter-spacing:.02em;padding:20px 7%;transition:background-color .2s ease}
.home .world:hover .world-link{background:#7b2848}
.atelier-world:after{background:linear-gradient(0deg,rgba(197,199,196,.99),rgba(197,199,196,.9) 32%,rgba(197,199,196,.1) 78%)}
.custom-world:after{background:linear-gradient(0deg,rgba(9,9,9,.98),rgba(9,9,9,.73) 35%,rgba(9,9,9,.08) 82%)}
.custom-world .eyebrow,.custom-world .world-link{color:#fff}
.atelier .services{background:rgba(255,255,255,.32)}
.atelier-hero.atelier-hero-text{padding-top:78px;padding-bottom:88px}
.atelier-hero-text .eyebrow{font-family:var(--display);font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:.09em;color:var(--ral4004)}
.atelier-hero.atelier-hero-text h1{font-size:clamp(3.9rem,5.2vw,5.4rem);margin:12px 0 25px;line-height:.94}
.atelier-hero-text p{font-size:1.08rem}
.services-layout-text .service-list h3{color:var(--ral4004);font-size:clamp(1.7rem,2.2vw,2.15rem)}
.services-layout-text .service-list p{font-size:1rem;color:#414440}
.projects .project-heading h2{font-size:clamp(2.7rem,4.1vw,4rem);max-width:720px}
.project-slide .project-label h3{font-size:clamp(2rem,3vw,2.8rem)}
.project-slide .project-label p{font-size:1.08rem;line-height:1.65}
.process .steps p{font-size:1.02rem;line-height:1.65;color:#414440}
.contact .eyebrow{font-family:var(--display);font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:.1em;color:var(--ral4004)}
.contact h2{margin-top:12px}
.atelier .button{background:var(--ral4004);border-color:var(--ral4004);color:#fff}
.atelier .button:hover{background:#4c162a}
.custom-heading{padding-top:62px;padding-bottom:62px}
.custom-heading .eyebrow{font-family:var(--display);font-size:clamp(1.35rem,2.1vw,1.9rem);letter-spacing:.1em;color:#fff}
.custom-heading h1{font-size:clamp(4.2rem,5.8vw,6.15rem);margin:14px 0 26px;line-height:.91}
.custom-heading h1 em{color:#fff;text-decoration:underline;text-decoration-color:var(--ral4004);text-decoration-thickness:.09em;text-underline-offset:.08em}
.custom-heading p{font-size:1.08rem;line-height:1.75;max-width:430px}
.dark .button{background:var(--ral4004);border-color:var(--ral4004);color:#fff}
.dark .button:hover{background:#7b2848}
.hero-carousel{position:relative;min-height:620px;overflow:hidden;background:#151515;touch-action:pan-y}
.hero-carousel-track,.hero-carousel-slide{position:absolute;inset:0}
.hero-carousel-slide img{height:100%;object-fit:cover;object-position:center 30%}
.hero-carousel-slide:nth-child(3) img{object-position:center 42%}
.hero-carousel-slide:nth-child(4) img{object-position:center 30%}
.hero-carousel-controls{position:absolute;z-index:3;left:24px;bottom:22px;display:flex;align-items:center;gap:7px;background:rgba(9,9,9,.78);padding:7px}
.hero-carousel-controls button{width:42px;height:42px;border:1px solid #ffffff73;background:transparent;color:#fff;font-size:1.05rem}
.hero-carousel-controls button:hover{background:var(--ral4004);border-color:var(--ral4004)}
.hero-carousel-count{min-width:54px;text-align:center;font-size:.78rem;letter-spacing:.08em;color:#fff}
.hero-carousel .photo-caption{right:24px;bottom:24px;background:rgba(9,9,9,.78)}
.custom-contact{grid-template-columns:minmax(280px,1fr) minmax(260px,.78fr) auto;gap:12px 26px;border-top:3px solid var(--ral4004);padding-top:36px}
.custom-contact .eyebrow{font-family:var(--display);font-size:clamp(1.75rem,2.5vw,2.5rem);letter-spacing:.06em;line-height:1.08;color:#fff}
.custom-contact p{font-size:1.1rem;line-height:1.55}
.custom-contact-copy{display:grid;gap:12px}
.custom-contact .custom-contact-prompt{color:#fff;font-weight:700}
@media(max-width:1000px){.home .world{height:560px}.custom-contact{grid-template-columns:1fr auto}.custom-contact .eyebrow{grid-column:1/-1}}
@media(max-width:680px){
 .intro.intro-presentation{padding-inline:6%}
 .intro-presentation h1{font-size:clamp(2.12rem,9.2vw,2.65rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
 .home .split{grid-template-columns:1fr;padding-inline:4%;gap:18px}
 .home .world{height:510px;border-top-width:6px}
 .home .world h2{font-size:4.7rem}
 .home .world-copy{bottom:0;left:0;right:0}
 .atelier-hero.atelier-hero-text{padding-top:48px;padding-bottom:58px}
 .atelier-hero-text .eyebrow{font-size:1.35rem;line-height:1.22}
 .atelier-hero.atelier-hero-text h1{font-size:3.65rem;margin-top:13px}
 .projects .project-heading h2{font-size:2.65rem}
 .project-slide .project-label h3{font-size:2rem}
 .project-slide .project-label p,.process .steps p{font-size:1rem}
 .contact .eyebrow{font-size:1.3rem}
 .custom-heading{padding-top:42px;padding-bottom:46px}
 .custom-heading .eyebrow{font-size:1.35rem}
 .custom-heading h1{font-size:4.25rem}
 .custom-heading p{font-size:1.02rem}
 .hero-carousel{height:500px;min-height:0}
 .hero-carousel .photo-caption{left:18px;right:auto;bottom:78px}
 .hero-carousel-controls{left:18px;bottom:18px}
 .custom-contact{grid-template-columns:1fr;gap:18px}
 .custom-contact .eyebrow{grid-column:auto;font-size:2rem}
 .custom-contact p{font-size:1.05rem}
}

/* Accueil — la promesse et la description doivent rester lisibles face au titre. */
.home .world-copy>.eyebrow{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.42;letter-spacing:.12em;max-width:620px}
.home .world-copy p{font-size:clamp(1.08rem,1.35vw,1.25rem);line-height:1.55;max-width:650px}
.home .world-link{padding-top:20px;font-size:1.02rem}
@media(max-width:680px){
 .home .world{height:540px}
 .home .world h2{font-size:4.45rem}
 .home .world-copy>.eyebrow{font-size:1.06rem;line-height:1.4;letter-spacing:.1em}
 .home .world-copy p{font-size:1.13rem;line-height:1.52}
 .home .world-link{margin-top:22px;font-size:1.03rem}
}
