
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap');
:root{--iv:#f2efe8;--paper:#f8f6f1;--ink:#111;--mut:#6a665e;--line:rgba(17,17,17,.16);--ser:'Cormorant Garamond',Georgia,serif;--sans:'Inter',Arial,sans-serif;--max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
header{position:fixed;z-index:50;inset:0 0 auto;height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;transition:.3s;background:linear-gradient(to bottom,rgba(0,0,0,.36),transparent)}
body.solid header,header.sc{color:#111;background:rgba(242,239,232,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:block;width:300px;line-height:0;flex:none}.brand img{width:100%;height:auto;filter:invert(1) grayscale(1) brightness(2)}body.solid .brand img,header.sc .brand img{filter:none}
.nav{display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:.14em;text-transform:uppercase}.nav a{padding:8px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:currentColor}.nav .cta{border:1px solid currentColor;padding:11px 14px}.menu{display:none;background:none;border:0;color:inherit;font-size:22px}
.wrap{width:min(var(--max),92vw);margin:auto}.ey{font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.hero,.ph{min-height:100vh;position:relative;display:flex;align-items:flex-end;color:#fff;background:#111;overflow:hidden}.ph{min-height:90vh}.hero>img,.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after,.ph:after{content:"";position:absolute;inset:0}.hero:after{background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.38) 55%,rgba(0,0,0,.10) 100%),linear-gradient(0deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.12) 100%)}.ph:after{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.12) 45%,rgba(0,0,0,.8))}
.hero .in,.ph .in{position:relative;z-index:2;width:min(var(--max),92vw);margin:0 auto 7vh}.hero h1,.ph h1,.pt h1{font:500 clamp(58px,7.7vw,116px)/.93 var(--ser);letter-spacing:-.035em;margin:0;max-width:1100px}.hero p{font-size:16px;max-width:800px;color:rgba(255,255,255,.9);margin:27px 0 0}.ph p{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin:12px 0 0;opacity:.82}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid currentColor;background:transparent;color:inherit;font-size:9px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.btn:hover{background:#111;color:#fff}.hero .btn:hover,.dark .btn:hover,.ph .btn:hover{background:#fff;color:#111}
.sec{padding:110px 4vw}.iv{background:var(--iv)}.dark{background:#111;color:#f5f1e8}.head{display:grid;grid-template-columns:.95fr 1.35fr;gap:72px;margin-bottom:62px}.head h2{font:500 clamp(48px,5.6vw,82px)/.98 var(--ser);letter-spacing:-.025em;margin:0}.head p{font-size:16px;color:var(--mut);max-width:760px;margin:8px 0 0}
.projects{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.pc{position:relative;overflow:hidden;color:#fff;background:#222;min-height:400px}.pc.a{grid-column:span 7;min-height:570px}.pc.b{grid-column:span 5;min-height:570px}.pc.c{grid-column:span 4}.pc.d{grid-column:span 6;min-height:480px}.pc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.8s}.pc:hover img{transform:scale(1.025)}.pc:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent 58%)}.cap{position:absolute;z-index:2;left:27px;right:27px;bottom:24px}.cap small{display:block;font-size:8px;letter-spacing:.16em;text-transform:uppercase;opacity:.78;margin-bottom:5px}.cap strong{font:500 31px var(--ser)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.pillar{background:var(--paper);padding:40px 34px;min-height:340px;display:flex;flex-direction:column}.pillar .n{font:24px var(--ser);margin-bottom:50px}.pillar h3{font:500 33px/1.05 var(--ser);margin:0 0 18px}.pillar p{color:var(--mut);margin:0 0 24px}.pillar a{margin-top:auto;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.statement{padding:130px 4vw;background:#111;color:#fff}.statement .g{display:grid;grid-template-columns:230px 1fr;gap:72px}.statement h2{font:500 clamp(56px,7vw,102px)/.94 var(--ser);letter-spacing:-.03em;margin:0;max-width:1080px}.statement p{font-size:16px;color:rgba(255,255,255,.68);max-width:850px;margin:30px 0 0}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.split .media{min-height:570px;overflow:hidden}.split .media img{width:100%;height:100%;object-fit:cover}.split .copy{display:flex;align-items:center;padding:8vw}.split h2{font:500 clamp(50px,5.4vw,79px)/.97 var(--ser);letter-spacing:-.025em;margin:0 0 28px}.split p{font-size:16px;color:var(--mut)}
.pt{padding:190px 4vw 90px;background:var(--iv);border-bottom:1px solid var(--line)}.pt p{font-size:18px;max-width:850px;color:var(--mut);margin:28px 0 0}.plain{border-top:1px solid var(--line)}.pr{display:grid;grid-template-columns:75px 1fr 1fr;gap:35px;padding:30px 0;border-bottom:1px solid var(--line)}.pr b{font:26px var(--ser);color:var(--mut)}.pr h3{font:500 31px/1.04 var(--ser);margin:0}.pr p{margin:0;color:var(--mut)}
.meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.story h2{font:500 clamp(50px,5.4vw,78px)/.98 var(--ser);margin:0}.story p,.story2 p{font-size:17px;color:var(--mut);margin:0}.story2{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.story2 h3{font:500 46px/1 var(--ser);margin:0}
.gallery{width:min(var(--max),92vw);margin:0 auto 100px;display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gallery figure{margin:0;overflow:hidden;min-height:350px}.gallery figure:nth-child(odd){grid-column:span 7}.gallery figure:nth-child(even){grid-column:span 5}.gallery img{width:100%;height:100%;object-fit:cover}.full{margin:0 0 100px}.full img{width:100%;max-height:820px;object-fit:cover}
.quote{padding:100px 4vw;background:#111;color:#fff}.quote blockquote{font:500 clamp(46px,5.3vw,80px)/1 var(--ser);max-width:1150px;margin:0}.plan{width:min(1100px,90vw);margin:0 auto 100px;background:#ece9e2;padding:30px}.plan img{width:100%}.plan figcaption{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--mut);margin-top:12px}
.variant-wrap{width:min(var(--max),92vw);margin:0 auto 100px}.variant-wrap h2{font:500 58px/1 var(--ser)}.variants{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.variant img{width:100%;aspect-ratio:1.2;object-fit:cover}.variant h3{font:500 30px var(--ser);margin:12px 0 4px}.variant p{margin:0;color:var(--mut);font-size:13px}
.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:center}.about-grid figure{margin:0;overflow:hidden}.about-grid figure img{width:100%;height:auto}.about-grid h2{font:500 clamp(50px,5.4vw,78px)/.98 var(--ser);margin:0 0 28px}.about-grid p{font-size:16px;color:var(--mut)}
.steps-title{font:500 clamp(38px,4.6vw,62px)/1 var(--ser);margin:0 0 36px}
.method-visuals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:55px}.method-visuals figure{margin:0}.method-visuals img{width:100%;aspect-ratio:1.25;object-fit:cover}.method-visuals figcaption{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:8px}
.contact{display:grid;grid-template-columns:.72fr 1.28fr;gap:85px}.aside{position:sticky;top:115px}.aside h2{font:500 56px/1 var(--ser)}form{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.field{display:flex;flex-direction:column;gap:7px}.wide{grid-column:1/-1}.subgrid{display:grid;gap:20px}.subgrid.two{grid-template-columns:1fr 1fr}.choice-grid{display:flex;gap:10px;flex-wrap:wrap}.choice{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);cursor:pointer}.choice input{margin:0}.is-hidden{display:none!important}.surface-groups{display:grid;gap:20px}.surface-group{display:grid;gap:20px}label{font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}input,select,textarea{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0}textarea{min-height:130px}.status{grid-column:1/-1;font-size:12px;min-height:22px}.ok{color:#2d6940}.err{color:#8b3030}.notice{grid-column:1/-1;font-size:11px;color:var(--mut)}.notice a{text-decoration:underline}
footer{background:#111;color:#fff;padding:72px 4vw 28px}.fg{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;padding-bottom:56px}footer .brand img{filter:invert(1) grayscale(1) brightness(2)}footer h4{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.45)}footer p,footer a{display:block;color:rgba(255,255,255,.78);font-size:13px;margin:6px 0}.fb{border-top:1px solid rgba(255,255,255,.16);padding-top:20px;color:rgba(255,255,255,.42);font-size:10px;display:flex;justify-content:space-between}
@media(max-width:1000px){.nav{display:none}.menu{display:block}.nav.open{display:flex;position:absolute;top:108px;left:0;right:0;background:var(--iv);color:#111;padding:25px 4vw;flex-direction:column;align-items:flex-start}.head,.split,.contact,.story,.story2,.about-grid{grid-template-columns:1fr}.pillars,.variants,.method-visuals{grid-template-columns:1fr}.statement .g{grid-template-columns:1fr}.pc.a,.pc.b{grid-column:span 12}.pc.c{grid-column:span 6}.gallery figure{grid-column:span 12!important}.aside{position:relative;top:auto}}
@media(max-width:680px){header{height:86px;padding:0 20px}.brand{width:220px}.nav.open{top:86px}.hero .in,.ph .in{width:calc(100% - 40px)}.hero h1,.ph h1,.pt h1{font-size:52px}.sec,.statement{padding:80px 20px}.head{gap:25px}.pc.a,.pc.b,.pc.c,.pc.d{grid-column:span 12;min-height:390px}.split .copy{padding:65px 20px}.pr{grid-template-columns:42px 1fr;gap:18px}.pr p{grid-column:2}.contact{gap:45px}form,.subgrid.two{grid-template-columns:1fr}.wide{grid-column:1}.fg{grid-template-columns:1fr}.gallery{width:calc(100% - 40px)}.gallery figure{min-height:270px}.fb{flex-direction:column}}

.hero h1,.hero p,.hero .ey{text-shadow:0 2px 20px rgba(0,0,0,.55)}
footer .brand img{filter:invert(1) grayscale(1) brightness(2)!important}

.method-visuals figure:first-child{background:#fff;padding:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.method-visuals figure:first-child img{width:100%;height:100%;object-fit:contain;background:#fff}.method-visuals figure:first-child{aspect-ratio:1.25}.method-visuals figure:first-child figcaption{margin-top:8px}

.method-visuals figure{background:#fff;overflow:hidden}.method-visuals figure img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;background:#fff}.method-visuals figure:first-child{aspect-ratio:auto}.method-visuals figure:first-child img{aspect-ratio:4/3;object-fit:cover;background:#fff}

/* Typographie spécifique de la page des structures : même famille que le titre principal */
.structures h2{font:500 clamp(36px,4.4vw,64px)/1.02 var(--ser);letter-spacing:-.03em;margin:42px 0 18px}
.structures h2:first-child{margin-top:0}
.structures p{max-width:940px}
