@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--ink:#102a4c;--ink-2:#173b68;--paper:#fffaf0;--cream:#f7edc8;--sand:#f1d463;--clay:#d69b18;--clay-light:#f2c64d;--moss:#4b789a;--muted:#647183;--rule:rgba(20,32,30,.18);--rule-light:rgba(243,241,235,.22);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--clay);outline-offset:4px}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.7}.site-header{height:80px;position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:var(--paper)}.brand{display:flex;align-items:center;gap:11px;font:500 12px/1 var(--sans);letter-spacing:.18em}.brand-mark{position:relative;width:32px;height:32px;border:1px solid currentColor;border-radius:48% 52% 46% 54%;display:grid;place-items:center;overflow:hidden;font:500 11px/1 var(--serif);letter-spacing:0}.brand-mark i,.brand-mark i:after{content:"";position:absolute;width:22px;height:7px;border-top:1px solid currentColor;border-radius:50%;opacity:.5;transform:rotate(-22deg)}.brand-mark i{left:2px;top:12px}.brand-mark i:after{left:4px;top:-7px;opacity:.3}.brand-mark b{font-weight:400;position:relative}.main-nav{display:flex;align-items:center;gap:30px;font:11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.main-nav a{opacity:.8;transition:opacity .25s var(--ease),color .25s var(--ease)}.main-nav a:hover{opacity:1;color:var(--clay-light)}.main-nav .nav-cta{border-bottom:1px solid currentColor;padding-bottom:7px;opacity:1}.main-nav span{font-size:16px;margin-left:8px}.menu-toggle,.mobile-menu{display:none}.section-dark{background:var(--ink);color:var(--paper)}.section-paper{background:var(--paper);color:var(--ink)}.section-sand{background:var(--sand);color:var(--ink)}.eyebrow{font:500 10px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:inherit;opacity:.75}.eyebrow.accent{color:var(--clay);opacity:1}.light{color:var(--paper)}em{font-family:var(--serif);font-weight:400;color:var(--clay);letter-spacing:-.04em}.section-index{padding:0 7vw;margin-bottom:68px;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.section-index span{margin-left:22px;opacity:.6}.light-index{color:var(--paper);opacity:.8}.hero{height:min(930px,100vh);min-height:700px;position:relative;display:flex;align-items:center;overflow:hidden;padding:110px 8vw 80px}.hero-media{position:absolute;inset:0 0 0 45%;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(.96)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(16,42,76,.96) 31%,rgba(16,42,76,.58) 55%,rgba(16,42,76,.05) 100%)}.hero:after{content:"";position:absolute;z-index:1;right:28%;top:15%;width:32vw;height:67vh;border:1px solid rgba(242,198,77,.35);border-left-color:transparent;border-radius:50%;transform:rotate(-18deg);pointer-events:none}.hero-copy{position:relative;z-index:3;width:min(650px,58%);margin-top:-20px}.hero h1{font:400 clamp(60px,7vw,108px)/.92 var(--serif);letter-spacing:-.065em;margin:28px 0 31px;max-width:680px}.hero h1 em{display:inline-block;color:var(--clay-light);margin-left:54px}.hero-lede{max-width:355px;color:rgba(243,241,235,.68);font-size:15px;line-height:1.7;margin:0 0 35px}.line-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid currentColor;padding:0 0 10px;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;transition:gap .3s var(--ease),color .3s var(--ease)}.line-link:hover{gap:27px;color:var(--clay)}.line-link span{font-size:16px}.hero-caption{position:absolute;z-index:3;right:5vw;bottom:32px;font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;opacity:.7}.scroll-note{position:absolute;z-index:3;bottom:33px;left:5vw;font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;writing-mode:vertical-rl;opacity:.7}.scroll-note span{margin-top:13px}.manifesto{padding:88px 0 120px}.manifesto-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:9vw;padding:0 12vw 100px}.manifesto h2,.section-heading h2,.about h2,.services h2,.brief h2,.contact h2{font:400 clamp(42px,5vw,72px)/.98 var(--serif);letter-spacing:-.065em;margin:20px 0 0}.manifesto h2 em,.about h2 em,.brief h2 em,.contact h2 em{display:inline-block;margin-left:35px}.manifesto-copy{max-width:390px;padding-top:36px;color:#57605c}.manifesto-copy p{margin:0 0 21px}.material-strip{position:relative;height:340px;margin:0 12vw;overflow:hidden}.material-strip img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.material-strip:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,32,30,.42),transparent 60%)}.material-note{position:absolute;z-index:1;left:34px;bottom:31px;color:var(--paper);display:flex;flex-direction:column;gap:7px}.material-note span{font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;opacity:.7}.material-note strong{font:400 25px/1 var(--serif);letter-spacing:-.03em}.projects{padding:88px 0 110px}.section-heading{display:grid;grid-template-columns:1fr .5fr;gap:9vw;padding:0 12vw 83px}.light-heading{color:var(--paper)}.light-heading>p{padding-top:62px;color:rgba(243,241,235,.62)}.project-grid{display:grid;grid-template-columns:1.05fr .72fr .56fr;gap:24px;align-items:start;padding:0 7vw}.project-card button{border:0;padding:0;background:transparent;color:inherit;text-align:left;width:100%}.project-offset{padding-top:118px}.project-small{padding-top:33px}.project-image{position:relative;overflow:hidden;background:var(--ink-2)}.project-feature .project-image{height:570px}.project-offset .project-image{height:420px}.project-small .project-image{height:330px}.project-image:after{content:"";position:absolute;inset:0;background:rgba(20,32,30,.08);transition:background .4s var(--ease)}.project-open:hover .project-image:after{background:rgba(214,155,24,.16)}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease),filter .8s var(--ease);filter:saturate(.7)}.project-open:hover img{transform:scale(1.045);filter:saturate(.9)}.project-number{position:absolute;z-index:2;top:20px;left:20px;font:10px/1 var(--mono);color:var(--paper);letter-spacing:.1em}.project-arrow{position:absolute;z-index:2;right:20px;bottom:17px;color:var(--paper);font-size:23px}.project-meta{display:flex;justify-content:space-between;align-items:start;padding-top:18px}.project-meta h3{font:400 24px/1 var(--serif);margin:0 0 7px}.project-meta p,.project-meta>span{font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin:0}.project-meta>span{padding-top:6px}.concept-note{padding:63px 7vw 0;color:rgba(243,241,235,.5);font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em}.about{padding:115px 0 125px}.about-grid{display:grid;grid-template-columns:.74fr 1fr;gap:10vw;align-items:center;padding:0 12vw}.about-image{position:relative}.about-image img{width:100%;height:560px;object-fit:cover;filter:saturate(.72)}.image-label{position:absolute;left:20px;bottom:19px;color:var(--paper);font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em}.about-copy{max-width:550px}.about-copy>p:not(.eyebrow){max-width:400px;color:#5d6661;margin:32px 0 45px}.principles{border-top:1px solid var(--rule)}.principles>div{display:grid;grid-template-columns:35px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--rule)}.principles span{font:10px/1 var(--mono);color:var(--clay)}.principles strong{font:500 15px/1.2 var(--sans)}.principles p{grid-column:2;margin:0;color:var(--muted);font-size:13px}.services{padding:94px 0 115px}.services-head{padding:0 12vw 70px}.services-head h2{margin-top:26px}.services-list{border-top:1px solid var(--rule);margin:0 7vw}.service-row{display:grid;grid-template-columns:70px 1fr 35px;gap:18px;align-items:start;padding:27px 0;border-bottom:1px solid var(--rule);transition:padding .35s var(--ease)}.service-row:hover{padding-left:15px;padding-right:15px}.service-row>span{font:10px/1 var(--mono);color:var(--clay);padding-top:6px}.service-row h3{font:400 30px/1 var(--serif);margin:0 0 8px}.service-row p{max-width:420px;color:#66706b;margin:0}.service-row>b{font:22px/1 var(--serif);font-weight:400;text-align:right;color:var(--clay)}.brief{padding:102px 0 120px}.brief-layout{display:grid;grid-template-columns:.9fr .8fr;gap:10vw;padding:0 12vw}.brief-intro{max-width:350px;color:rgba(243,241,235,.65);margin-top:31px}.assistant{background:var(--paper);color:var(--ink);padding:28px 31px 25px;min-height:375px}.assistant-top{display:flex;justify-content:space-between;gap:18px;font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.assistant-top span:last-child{color:var(--clay)}.progress{height:2px;background:var(--rule);margin:19px 0 27px}.progress i{display:block;height:100%;width:25%;background:var(--clay);transition:width .35s var(--ease)}.assistant-body{min-height:190px}.assistant-body h3{font:400 30px/1 var(--serif);margin:0 0 24px;letter-spacing:-.035em}.assistant-options{display:grid;gap:9px}.assistant-option{border:1px solid var(--rule);padding:13px 14px;background:transparent;text-align:left;color:var(--ink);display:flex;align-items:center;justify-content:space-between;font-size:13px;transition:background .25s var(--ease),border-color .25s var(--ease)}.assistant-option:hover,.assistant-option.is-selected{background:var(--cream);border-color:var(--clay)}.assistant-option span{color:var(--clay);font:12px var(--mono)}.assistant-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);padding-top:18px}.assistant-actions button{border:0;background:transparent;color:var(--ink);font:10px var(--mono);text-transform:uppercase;letter-spacing:.09em;padding:0}.assistant-back{opacity:.45}.assistant-back:not(:disabled):hover{opacity:1}.assistant-next{color:var(--clay)!important}.mood-result{padding-top:10px}.mood-result h3{font-size:33px;margin-bottom:12px}.mood-result p{font-size:13px;color:var(--muted);margin:0 0 19px}.mood-palette{display:flex;gap:8px;margin-bottom:22px}.mood-palette i{width:30px;height:30px;border-radius:50%;display:block;border:1px solid rgba(20,32,30,.1)}.mood-reset{font:10px var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--clay);border:0;background:none;padding:0;border-bottom:1px solid currentColor;padding-bottom:5px}.contact{padding:110px 0 120px}.contact-grid{display:grid;grid-template-columns:.85fr .7fr;gap:12vw;padding:0 12vw}.contact-lede{max-width:320px;color:var(--muted);margin:33px 0 28px}.contact-email{font:500 15px var(--mono);border-bottom:1px solid var(--clay);padding-bottom:8px}.contact-email span{color:var(--clay);margin-left:10px}.contact-form{border-top:1px solid var(--rule)}.contact-form label{display:block;font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;padding:21px 0 0}.contact-form input,.contact-form textarea{display:block;border:0;border-bottom:1px solid var(--rule);width:100%;background:transparent;padding:12px 0 13px;color:var(--ink);outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--clay)}.form-submit{margin-top:25px;background:var(--ink);color:var(--paper);border:0;padding:16px 20px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.form-submit span{font-size:15px;margin-left:14px}.form-message{font-size:13px;color:var(--clay);min-height:20px}.site-footer{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.4fr 1fr auto;gap:25px;align-items:center;padding:35px 5vw;position:relative}.footer-brand{display:flex;align-items:center;gap:10px;font:500 12px var(--sans);letter-spacing:.14em}.site-footer p,.site-footer>a{font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:.65}.site-footer>a{text-align:right}.site-footer small{grid-column:1/-1;color:rgba(243,241,235,.36);font:10px var(--mono);padding-top:25px;border-top:1px solid var(--rule-light)}.project-dialog{width:min(930px,92vw);padding:0;border:0;background:var(--paper);color:var(--ink);grid-template-columns:.8fr .7fr;box-shadow:0 30px 120px rgba(0,0,0,.35)}.project-dialog[open]{display:grid;animation:dialog-in .35s var(--ease)}.project-dialog::backdrop{background:rgba(20,32,30,.74);backdrop-filter:blur(5px)}@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.dialog-image{min-height:550px}.dialog-image img{display:block;width:100%;height:100%;object-fit:cover}.dialog-copy{padding:70px 45px 45px;align-self:center}.dialog-copy h2{font:400 47px/1 var(--serif);letter-spacing:-.06em;margin:20px 0}.dialog-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75;margin-bottom:32px}.dialog-close{position:absolute;z-index:2;right:16px;top:10px;border:0;background:none;font-size:32px;color:var(--paper);mix-blend-mode:difference}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.main-nav{gap:18px}.main-nav a:nth-child(-n+3){display:none}.hero-copy{width:70%}.hero h1{font-size:74px}.manifesto-grid,.section-heading,.about-grid,.brief-layout,.contact-grid{padding-left:8vw;padding-right:8vw;gap:7vw}.project-grid{padding:0 5vw;grid-template-columns:1fr .8fr}.project-small{grid-column:2;padding-top:0}.project-small .project-image{height:290px}.project-feature{grid-row:span 2}.project-feature .project-image{height:600px}.project-offset{padding-top:0}.project-offset .project-image{height:370px}.material-strip{margin:0 8vw}}@media(max-width:640px){.site-header{height:70px;padding:0 7vw}.main-nav{display:none}.menu-toggle{display:flex;gap:7px;align-items:center;background:none;border:0;color:inherit;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.menu-toggle span{font-size:18px}.mobile-menu{position:fixed;z-index:15;top:70px;left:0;right:0;background:var(--ink);color:var(--paper);padding:25px 7vw;display:none;flex-direction:column;gap:22px;font:12px var(--mono);text-transform:uppercase;letter-spacing:.1em}.mobile-menu.is-open{display:flex}.hero{height:760px;min-height:0;padding:110px 7vw 65px;align-items:end}.hero-media{left:0}.hero-overlay{background:linear-gradient(0deg,var(--ink) 0%,rgba(16,42,76,.82) 42%,rgba(16,42,76,.16) 100%)}.hero:after{display:none}.hero-copy{width:100%;margin:0}.hero h1{font-size:62px;margin:22px 0}.hero h1 em{margin-left:26px}.hero-lede{font-size:14px;max-width:310px}.hero-caption{display:none}.scroll-note{left:auto;right:7vw;bottom:27px;writing-mode:horizontal-tb}.scroll-note span{margin:0 0 0 8px}.section-index{padding:0 7vw;margin-bottom:47px}.manifesto,.projects,.about,.services,.brief,.contact{padding-top:76px;padding-bottom:80px}.manifesto-grid,.section-heading,.about-grid,.brief-layout,.contact-grid{display:block;padding:0 7vw}.manifesto h2,.section-heading h2,.about h2,.services h2,.brief h2,.contact h2{font-size:49px}.manifesto h2 em,.about h2 em,.brief h2 em,.contact h2 em{margin-left:22px}.manifesto-copy{padding-top:31px}.material-strip{height:230px;margin:0 7vw}.material-note{left:21px;bottom:20px}.material-note strong{font-size:20px}.section-heading>p{padding-top:25px}.project-grid{display:block;padding:0 7vw}.project-card,.project-offset,.project-small{padding:0;margin-bottom:44px}.project-feature .project-image,.project-offset .project-image,.project-small .project-image{height:410px}.project-meta h3{font-size:22px}.concept-note{padding:17px 7vw 0;line-height:1.5}.about-image img{height:460px;margin-bottom:48px}.services-head{padding:0 7vw 47px}.services-list{margin:0 7vw}.service-row{grid-template-columns:34px 1fr 22px;gap:9px}.service-row h3{font-size:25px}.service-row p{font-size:13px}.brief-layout>div:first-child{margin-bottom:45px}.brief h2{font-size:48px}.assistant{padding:23px 20px;min-height:380px}.assistant-body h3{font-size:27px}.contact-grid>div:first-child{margin-bottom:53px}.contact-email{font-size:13px}.site-footer{display:flex;flex-wrap:wrap;gap:18px;padding:28px 7vw}.site-footer p{width:100%;order:3}.site-footer>a{margin-left:auto}.site-footer small{width:100%;order:4}.project-dialog{width:92vw;display:block!important}.dialog-image{height:330px;min-height:0}.dialog-copy{padding:30px 25px 33px}.dialog-copy h2{font-size:38px}.dialog-close{color:var(--paper)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-image img,.line-link,.service-row{transition:none}.project-dialog[open]{animation:none}}

/* Yellow / cobalt floral signature */
.hero:before{content:"✽";position:absolute;z-index:2;right:7vw;top:20%;font:400 105px/1 var(--serif);color:var(--clay-light);opacity:.86;transform:rotate(12deg);text-shadow:0 0 0 var(--clay-light)}
.material-strip:before{content:"✽";position:absolute;z-index:2;right:28px;top:20px;color:var(--clay-light);font:80px/1 var(--serif);opacity:.9;transform:rotate(-18deg)}
.section-sand{background:linear-gradient(135deg,#f1d463 0%,#f5df86 55%,#f4ca5e 100%)}
@media(max-width:640px){.hero:before{font-size:72px;right:8vw;top:16%}.material-strip:before{font-size:55px;right:16px;top:10px}}

/* Portfolio interactif */
.portfolio{padding:88px 0 112px;overflow:hidden}.portfolio-heading{display:grid;grid-template-columns:1fr .5fr;gap:9vw;padding:0 12vw 48px}.portfolio-heading>p{padding-top:62px;color:rgba(243,241,235,.65)}.portfolio-toolbar{display:flex;gap:26px;padding:0 7vw 44px;border-bottom:1px solid var(--rule-light);align-items:center}.portfolio-filter{border:0;background:transparent;color:rgba(243,241,235,.58);font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;padding:0 0 9px;position:relative}.portfolio-filter span{color:var(--clay-light);margin-left:7px}.portfolio-filter:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--clay-light);transition:right .3s var(--ease)}.portfolio-filter:hover,.portfolio-filter.is-active{color:var(--paper)}.portfolio-filter.is-active:after{right:0}.portfolio-grid{display:grid;grid-template-columns:1.15fr .68fr .82fr;grid-auto-rows:270px;gap:24px;padding:45px 7vw 0}.portfolio-card{min-width:0;transition:opacity .3s var(--ease),transform .3s var(--ease)}.portfolio-card.is-hidden{display:none}.portfolio-card button{border:0;padding:0;background:transparent;color:inherit;text-align:left;width:100%}.portfolio-card-wide{grid-row:span 2}.portfolio-card-tall{grid-row:span 2}.portfolio-card-mid{grid-row:span 2}.portfolio-card-small{grid-row:span 1}.portfolio-image{height:100%;position:relative;overflow:hidden;background:var(--ink-2)}.portfolio-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,42,76,.04),rgba(214,155,24,.12));transition:opacity .4s var(--ease)}.portfolio-card:hover .portfolio-image:after{opacity:.4}.portfolio-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.76);transition:transform .7s var(--ease),filter .7s var(--ease)}.portfolio-card:hover .portfolio-image img{transform:scale(1.045);filter:saturate(1)}.portfolio-index{position:absolute;z-index:2;left:18px;top:17px;color:var(--paper);font:10px var(--mono);letter-spacing:.12em}.portfolio-meta{padding:14px 0 0;display:flex;align-items:start;justify-content:space-between;gap:14px}.portfolio-meta h3{font:400 23px/1 var(--serif);margin:0;color:var(--paper)}.portfolio-meta p{margin:5px 0 0;color:rgba(243,241,235,.52);font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em}.portfolio-meta b{color:var(--clay-light);font-weight:400;margin-left:9px}.portfolio .concept-note{padding-top:48px}.portfolio .reveal{transition-delay:.04s}@media(max-width:900px){.portfolio-heading{padding-left:8vw;padding-right:8vw;gap:7vw}.portfolio-grid{padding-left:5vw;padding-right:5vw;grid-template-columns:1fr .8fr}.portfolio-card-wide{grid-row:span 2}.portfolio-card-tall{grid-row:span 2}.portfolio-card-mid{grid-row:span 2}.portfolio-card-small{grid-row:span 1}}@media(max-width:640px){.portfolio{padding-top:76px;padding-bottom:80px}.portfolio-heading{display:block;padding:0 7vw 36px}.portfolio-heading>p{padding-top:25px}.portfolio-toolbar{overflow-x:auto;gap:23px;padding:0 7vw 27px;scrollbar-width:none}.portfolio-toolbar::-webkit-scrollbar{display:none}.portfolio-filter{white-space:nowrap}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:220px;gap:14px;padding:30px 7vw 0}.portfolio-card-wide,.portfolio-card-tall,.portfolio-card-mid{grid-row:span 2}.portfolio-card-small{grid-row:span 1}.portfolio-meta{display:block;padding-top:11px}.portfolio-meta h3{font-size:19px}.portfolio-meta p{font-size:9px;line-height:1.5}.portfolio-meta b{display:block;margin:2px 0 0}.portfolio .concept-note{padding:36px 7vw 0;line-height:1.5}}

.section-ink{background:var(--ink);color:var(--paper)}

/* Formulaire de devis interactif */
.quote-promise{display:flex;gap:14px;align-items:flex-start;max-width:320px;margin-top:52px;padding-top:18px;border-top:1px solid var(--rule)}.quote-promise span{color:var(--clay);font-size:18px;line-height:1}.quote-promise p{margin:0;color:var(--muted);font:12px/1.55 var(--sans)}.quote-form{border-top:0;background:rgba(255,250,240,.45);padding:28px 30px 25px}.quote-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.quote-form-head h3{font:400 27px/1 var(--serif);margin:10px 0 0;letter-spacing:-.04em}.quote-form-head>strong{font:500 11px var(--mono);color:var(--clay);padding-top:4px}.quote-progress{height:3px;background:var(--rule);margin:22px 0 18px}.quote-progress i{display:block;width:0;height:100%;background:var(--clay);transition:width .35s var(--ease)}.quote-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.quote-form label{padding-top:17px}.quote-form select{appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23d69b18' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 3px center;padding-right:22px}.quote-form input,.quote-form textarea,.quote-form select{font-size:13px}.quote-summary{margin-top:24px;padding:16px 17px;background:var(--cream);border-left:2px solid var(--clay)}.quote-summary span{display:block;color:var(--clay);font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.quote-summary p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.quote-summary strong{color:var(--ink);font-weight:600}.form-message.is-success{color:#477052}.quote-form .form-submit{margin-top:22px}@media(max-width:640px){.quote-promise{margin-top:35px}.quote-form{margin-top:36px;padding:23px 18px 20px}.quote-field-grid{grid-template-columns:1fr;gap:0}.quote-form-head h3{font-size:24px}.quote-summary{margin-top:21px}}

/* Galerie des chantiers LB Décor — Roubaix */
.chantier-section{padding:118px 0 122px;background:var(--paper);color:var(--ink)}
.chantier-heading{display:grid;grid-template-columns:1fr .8fr;gap:8vw;padding:0 7vw;align-items:end}
.chantier-heading h2{font:400 66px/.94 var(--serif);letter-spacing:-.065em;margin-top:18px;color:var(--ink)}
.chantier-heading h2 em{color:var(--clay);font-weight:400}
.chantier-heading>p{max-width:360px;color:var(--muted);font-size:14px;line-height:1.65;padding-bottom:7px}
.chantier-toolbar{display:flex;gap:30px;padding:50px 7vw 0;overflow-x:auto;scrollbar-width:none}
.chantier-toolbar::-webkit-scrollbar{display:none}
.chantier-filter{position:relative;border:0;background:none;padding:0 0 12px;color:var(--muted);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.chantier-filter span{color:var(--clay);margin-left:7px}
.chantier-filter:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--clay);transition:right .3s var(--ease)}
.chantier-filter:hover,.chantier-filter.is-active{color:var(--ink)}
.chantier-filter.is-active:after{right:0}
.chantier-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr;gap:24px;padding:38px 7vw 0}
.chantier-card{min-width:0;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.chantier-card.is-hidden{display:none}
.chantier-card button{width:100%;border:0;background:none;padding:0;text-align:left;color:inherit;cursor:pointer}
.chantier-image{height:320px;position:relative;overflow:hidden;background:var(--cream)}
.chantier-card-feature .chantier-image{height:440px}
.chantier-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,42,76,.02),rgba(214,155,24,.18));transition:opacity .35s var(--ease)}
.chantier-card:hover .chantier-image:after{opacity:.4}
.chantier-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .65s var(--ease),filter .65s var(--ease)}
.chantier-card:hover .chantier-image img{transform:scale(1.045);filter:saturate(1)}
.chantier-number{position:absolute;left:18px;top:17px;color:var(--paper);font:10px var(--mono);letter-spacing:.12em;z-index:2}
.chantier-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:15px 0 0;border-top:1px solid var(--rule)}
.chantier-meta h3{font:400 25px/1 var(--serif);color:var(--ink)}
.chantier-meta p{margin-top:7px;color:var(--muted);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.chantier-meta>span{padding-top:5px;color:var(--clay);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.chantier-note{padding:48px 7vw 0;color:var(--muted);font:10px/1.5 var(--mono);letter-spacing:.04em}
@media(max-width:640px){.chantier-section{padding:78px 0 82px}.chantier-heading{display:block;padding:0 7vw}.chantier-heading h2{font-size:51px}.chantier-heading>p{padding-top:25px}.chantier-toolbar{padding:38px 7vw 0;gap:24px}.chantier-grid{grid-template-columns:1fr 1fr;gap:14px;padding:28px 7vw 0}.chantier-card-feature{grid-column:1/-1}.chantier-card-feature .chantier-image{height:310px}.chantier-image{height:220px}.chantier-meta{display:block;padding-top:11px}.chantier-meta h3{font-size:20px}.chantier-meta p{font-size:9px;line-height:1.5}.chantier-meta>span{display:block;padding-top:8px;font-size:9px}.chantier-note{padding:35px 7vw 0;line-height:1.6}}

/* Logo LB Décor fourni par le client */
.brand-logo{display:block;width:52px;height:42px;object-fit:contain;background:#e8e4db;border-radius:4px;padding:2px}.footer-logo{display:block;width:64px;height:48px;object-fit:contain;background:#e8e4db;border-radius:4px;padding:2px}.contact-grid .contact-email{display:block;width:max-content;margin-top:12px}.contact-grid .contact-email:first-of-type{margin-top:24px}@media(max-width:640px){.brand-logo{width:46px;height:38px}.footer-logo{width:58px;height:44px}.contact-grid .contact-email{font-size:12px;max-width:100%;overflow-wrap:anywhere}}
