@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/bodoni-moda-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/bodoni-moda-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*{box-sizing:border-box} :root{--ink:#202725;--paper:#FAFAF7;--rust:#AE492D;--line:#d4d6ce}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Manrope",Arial,sans-serif;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Manrope",Arial,sans-serif;font-weight:400;line-height:1.1}h1{font-size:clamp(2.9rem,6vw,5.4rem);letter-spacing:-.045em;margin-bottom:28px}h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.035em}h3{font-size:1.7rem}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.concept{background:var(--ink);color:var(--paper);font-size:.8rem;text-align:center;padding:10px 20px}.concept a{font-weight:bold}.skip{position:absolute;top:-100px;background:var(--paper);padding:15px;z-index:10}.skip:focus{top:0}header{border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:105px;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:14px}.mark{display:block;width:36px;height:42px;border:3px solid var(--ink);transform:skewY(-14deg);background:repeating-linear-gradient(90deg,transparent 0 8px,var(--ink) 8px 11px)}.brand strong{font-size:1.3rem;letter-spacing:.12em}.brand small{display:block;letter-spacing:.2em;font-size:.65rem}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:.85rem}nav a[aria-current]{color:var(--rust);text-decoration:underline}.menu{display:none}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:bold;color:var(--rust);margin-bottom:24px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:64px 0}.hero p:not(.eyebrow){max-width:430px;color:#50594f}.hero figure{margin:0;position:relative}.hero figure:before{content:'F / 01';position:absolute;right:20px;top:20px;font-size:.7rem;letter-spacing:.2em}.hero figcaption,figcaption{font-size:.75rem;padding-top:12px;color:#50594f}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;background:var(--rust);color:white;border:1px solid var(--rust);padding:13px 20px;text-decoration:none;font-size:.85rem;font-weight:bold}.btn.secondary{background:transparent;border-color:var(--ink);color:var(--ink)}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:.75rem;letter-spacing:.1em;display:flex;justify-content:space-between;gap:12px}.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:36px}.section-head h2{margin-bottom:0;max-width:650px}.service{display:grid;grid-template-columns:60px 1fr 1fr;gap:30px;border-top:1px solid var(--line);padding:26px 0}.service:last-child{border-bottom:1px solid var(--line)}.service .num{color:var(--rust);font-size:.75rem}.service h3,.service p{margin:0}.service p{color:#50594f}.dark{background:var(--ink);color:var(--paper)}.dark .eyebrow{color:#e8a087}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.commitment{padding:20px 0;border-top:1px solid #5e665c}.commitment h3{font-size:1.4rem;margin-bottom:10px}.commitment p{margin:0;color:#d0d4c9}.zone{font-size:1.2rem;line-height:2.1}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.gallery figure{margin:0}.gallery figcaption strong{display:block;font-family:"Manrope",Arial,sans-serif;font-size:1.4rem;color:var(--ink)}.gallery figure:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center}.gallery figure:first-child img{max-height:480px;width:100%;object-fit:cover}.cta{border-top:1px solid var(--line);padding:60px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:0}.intro{padding:65px 0 40px;max-width:850px}.intro p{max-width:650px;color:#50594f}.intro h1{font-size:clamp(2.8rem,5vw,4.5rem)}.note{border-left:3px solid var(--rust);padding:14px 20px;background:#eeeee7}.prose{max-width:760px;padding-bottom:70px}.prose h2{font-size:2rem;margin-top:38px}footer{background:var(--ink);color:var(--paper);padding:45px 0 25px;font-size:.82rem}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-bottom{border-top:1px solid #5e665c;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:80px}label{display:block;margin:18px 0 6px}input,textarea{width:100%;border:1px solid #858d80;background:#f0f0ea;padding:12px;color:#50594f}fieldset{border:0;padding:0;margin:0;min-width:0}textarea{min-height:140px}button:disabled{opacity:1;background:#5d665b;border:0;color:white;padding:12px 20px;margin-top:15px}:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.dark :focus-visible,footer :focus-visible,.concept :focus-visible{outline-color:#f4b89b}@media(max-width:800px){.hero{gap:30px}.split{gap:35px}.nav{gap:16px}nav{gap:15px}.brand strong{font-size:1rem}.hero h1{font-size:3.3rem}.contact{gap:35px}}@media(max-width:640px){.wrap{width:calc(100% - 36px)}.nav{min-height:88px;flex-wrap:wrap;padding:15px 0}.menu{display:block;background:none;border:1px solid var(--ink);padding:7px 13px}nav{width:100%;flex-wrap:wrap;padding:10px 0;gap:18px}body.js nav{display:none}body.js nav.open{display:flex}.hero,.split,.contact{grid-template-columns:1fr;gap:32px}.hero{padding:40px 0}.hero h1{font-size:3.1rem}.hero figure{margin-top:10px}.strip{flex-wrap:wrap}.section{padding:52px 0}.service{grid-template-columns:25px 1fr;gap:12px}.service p{grid-column:2}.section-head,.cta,.footer-top,.footer-bottom{display:block}.section-head a{display:inline-block;margin-top:20px}.gallery{grid-template-columns:1fr}.gallery figure:first-child{display:block}.gallery figure:first-child figcaption{margin-top:10px}.cta .btn{margin-top:24px}.footer-top>div+div{margin-top:25px}.footer-bottom a{display:inline-block;margin-top:10px}.intro{padding:40px 0 24px}.contact{padding-bottom:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Maison de caractère, acier contemporain */
:root{--ink:#202321;--paper:#F2F1ED;--rust:#A64E35;--line:#cfd0c9}body{font-family:"Manrope",Arial,sans-serif;line-height:1.75}h1,h2,h3{font-family:"Manrope",Arial,sans-serif;font-optical-sizing:auto}h2{line-height:1.12}p{font-size:.94rem}.concept{background:#202321;padding:8px 20px;font-size:.68rem;letter-spacing:.04em}.nav{min-height:98px}.brand strong{font-weight:600;font-size:1.3rem;letter-spacing:.19em}.brand small{font-size:.57rem;letter-spacing:.25em}.mark{border-width:2px;background:repeating-linear-gradient(90deg,transparent 0 9px,var(--ink) 9px 11px)}nav{gap:30px}nav a{font-size:.76rem;font-weight:600}.eyebrow{font-size:.63rem;letter-spacing:.2em}.btn{padding:14px 24px;font-size:.76rem;font-weight:600;transition:background .2s,color .2s,transform .2s}.btn:hover{background:#873d28;border-color:#873d28;transform:translateY(-2px)}.btn.secondary:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.section{padding:105px 0}.section-head{margin-bottom:48px}.section-head>a{font-size:.76rem}.service{padding:30px 0;grid-template-columns:65px 1fr 1fr;align-items:start}.service h3{font-size:1.8rem}.service p{font-size:.88rem}.service .num{letter-spacing:.12em;padding-top:9px}.strip{padding:22px 0;font-size:.6rem;letter-spacing:.18em}.dark{background:#202321}.dark .eyebrow{color:#dc9c84}.dark h2{font-size:clamp(2.5rem,4.8vw,4.1rem)}.commitment{border-color:#535953;padding:25px 0}.commitment h3{font-size:1.6rem}.commitment p{font-size:.87rem}.gallery{gap:48px}.gallery figure:first-child{grid-template-columns:1.4fr 1fr;gap:65px}.gallery figure:first-child img{height:540px;max-height:none}.gallery figcaption strong{font-family:"Manrope",Arial,sans-serif;font-size:2rem;line-height:1.15}.gallery figcaption p{font-size:.82rem;max-width:360px}.gallery figure:not(:first-child) img{aspect-ratio:1.25;object-fit:cover}.gallery figure:last-child{margin-top:85px}.gallery figcaption{padding-top:20px}.cta{padding:75px 0}.cta h2{font-size:clamp(2.5rem,4vw,4rem)}footer{background:#191d1a;padding-top:60px}.footer-top strong{letter-spacing:.15em}.footer-bottom{font-size:.66rem;color:#c8cdc5}.intro{padding-top:85px}.intro h1{font-size:clamp(3rem,6vw,5rem)}.prose h2{font-size:2.3rem}.note{background:#e8e8e1}.material-story{background:#202321;color:#F2F1ED;padding:90px 0}.material-story .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}.material-story .eyebrow{color:#dc9c84}.material-story h2{font-size:clamp(2.4rem,4.7vw,4.2rem)}.material-story p{color:#cbd0c8;max-width:400px}.material-detail{min-height:420px;position:relative;overflow:hidden;background:#bfc2bd;isolation:isolate}.material-detail img{width:100%;height:480px;object-fit:cover;transform:scale(1.5) translateY(5%);filter:grayscale(.75)}.material-detail span{position:absolute;bottom:22px;left:25px;padding:8px 14px;background:#202321;color:#F2F1ED;font-size:.6rem;letter-spacing:.14em}.material-tags{display:flex;gap:20px;padding-top:20px;border-top:1px solid #535953;font-size:.62rem;letter-spacing:.12em;color:#d8dcd4;margin-top:30px}.fullscreen-stairs .journey-art{background-color:#b8bcb8;background-image:radial-gradient(ellipse at 15% 5%,#fffff3ba,transparent 63%),linear-gradient(107deg,#a8afa7,#d9d9cd 42%,#adb5af 80%,#737f77);box-shadow:inset 0 -90px 120px #17221e44}.architecture-wall{background:linear-gradient(100deg,#919c91,#d9dad0);border-right-color:#68756b60}.atelier-window{border-color:#e8e8dc;background:linear-gradient(125deg,#eff3e5,#a4b3a5)}.atelier-window:before,.atelier-window:after{background:#e8e8dc}.window-light{background:linear-gradient(120deg,transparent 12%,#fff7d544 12.2%,#fff7d522 33%,transparent 33.2%,transparent 37%,#fff7d533 37.2%,transparent 53%)}.fullscreen-stairs .tread{background:linear-gradient(110deg,#a5afae,#758482 48%,#536260);border-color:#75817e;box-shadow:inset 0 2px 0 #dce7e2a0,0 3px 8px #101d1940}.fullscreen-stairs .riser{background:linear-gradient(#46534f,#788680);border-color:#59675e;box-shadow:inset 0 7px 12px #16221b40}.stair-stringer{background:linear-gradient(90deg,#4e5b54,#84928b)}.fullscreen-stairs .landing{background:repeating-linear-gradient(90deg,#86958d 0 249px,#5f7065 249px 250px)}.fullscreen-stairs .handrail{background:linear-gradient(90deg,#111713,#5e665f 34%,#28352c 60%,#131b15)}.fullscreen-stairs .baluster{background:linear-gradient(90deg,#161e18,#606d60 40%,#26342a)}.fullscreen-stairs .step-phrase{font-family:"Manrope",Arial,sans-serif;font-size:40px;color:#fffdf3;text-shadow:0 2px 6px #16231e;letter-spacing:-.015em}.fullscreen-stairs .journey-heading{color:#202b23;letter-spacing:.19em}.landing-caption p{font-family:"Manrope",Arial,sans-serif;color:#17261b;text-shadow:0 1px 16px #e9eee1}.fullscreen-stairs .scroll-invite{border:1px solid #fffdf04d;background:#ebeee1a6;color:#26392a}.fullscreen-stairs .journey-caption{color:#24392c}.zone{font-size:1.05rem}
@media(max-width:800px){nav{gap:17px}.material-story .wrap{gap:35px}.gallery figure:first-child{gap:30px}.brand strong{font-size:1.1rem}}
@media(max-width:640px){.nav{min-height:85px}.brand strong{font-size:1.05rem}.section{padding:65px 0}.service{grid-template-columns:25px 1fr;gap:15px}.service h3{font-size:1.6rem}.service p{grid-column:2}.gallery{gap:35px}.gallery figure:first-child{display:block}.gallery figure:first-child img{height:auto;aspect-ratio:1.1}.gallery figure:last-child{margin-top:0}.gallery figcaption strong{font-size:1.8rem}.material-story{padding:60px 0}.material-story .wrap{grid-template-columns:1fr;gap:35px}.material-detail{min-height:290px}.material-detail img{height:330px}.fullscreen-stairs .step-phrase{font-size:23px}.fullscreen-stairs .journey-heading{letter-spacing:.06em;font-size:.46rem}.intro{padding-top:50px}.cta{padding:55px 0}}

.fullscreen-stairs.journey-active .journey-art{background-color:#b8bcb8;background-image:radial-gradient(ellipse at 15% 5%,#fffff3ba,transparent 63%),linear-gradient(107deg,#a8afa7,#d9d9cd 42%,#adb5af 80%,#737f77);box-shadow:inset 0 -90px 120px #17221e44}.fullscreen-stairs.journey-active .tread,.fullscreen-stairs .tread{background:linear-gradient(110deg,#a8afb2,#78868c 48%,#56646c)}.fullscreen-stairs.journey-active .riser,.fullscreen-stairs .riser{background:linear-gradient(#46535b,#79868b)}.stair-stringer{background:linear-gradient(90deg,#4e5a61,#849198)}

/* Identité marine et cyan */
:root{--ink:#102A43;--paper:#F0F6FA;--rust:#007A98;--line:#c5d8e5}body{background:var(--paper);color:var(--ink)}.concept,.dark,.material-story{background:#102A43;color:#F0F6FA}footer{background:#091D30}.eyebrow,nav a[aria-current]{color:#007A98}.dark .eyebrow,.material-story .eyebrow{color:#6DD5ED}.btn:hover{background:#005C75;border-color:#005C75}.btn.secondary:hover{background:#102A43;border-color:#102A43}.hero p:not(.eyebrow),.service p,.intro p,.zone,figcaption,.gallery figcaption,.journey-caption{color:#425F75}.gallery figcaption strong{color:#102A43}.commitment{border-color:#42617A}.commitment p,.material-story p{color:#CDDFEB}.material-tags{border-color:#42617A;color:#A5DAEB}.note{background:#DFEDF5}.strip,.service{border-color:#c5d8e5}.footer-bottom{border-color:#42617A;color:#B5CDDE}.mark{border-color:#102A43;background:repeating-linear-gradient(90deg,transparent 0 9px,#102A43 9px 11px)}.motion-journey{background:#F0F6FA}.motion-journey .journey-stage{background:radial-gradient(ellipse at 75% 25%,#FFFFFF,transparent 65%)}.motion-heading,.motion-footer{color:#42617A}.project-shortcut{color:#006B87;border-color:#007A9860}.motion-scroll{color:#007A98}.motion-intro{color:#425F75}.motion-copy .eyebrow{color:#007A98}.motion-copy h1,.motion-arrival p{color:#102A43}.motion-phrase em{color:#007A98}.motion-next{background:#F0F6FA}.motion-journey .journey-stage:after{background:linear-gradient(transparent,#F0F6FA)}.material-detail{background:#D6E7F1}.material-detail span{background:#102A43}.material-detail img{filter:grayscale(.3)}.landing-caption p{color:#102A43}.footer-top a{color:#E1EDF5}.dark :focus-visible,footer :focus-visible,.concept :focus-visible{outline-color:#6DD5ED}input,textarea{background:#E5F0F7;color:#425F75;border-color:#8DAABD}button:disabled{background:#416079}.motion-counter{color:#42617A}

.form-only{display:block;max-width:760px;margin-left:auto;margin-right:auto}.contact-form-section{padding:30px 0}.contact-form-section h2{font-size:2rem}.contact-send{cursor:pointer;margin-top:25px}.contact-send:disabled{background:#42617A;cursor:default}.contact-status{font-family:"Manrope",Arial,sans-serif;font-size:1.2rem;letter-spacing:.18em;color:#102A43;padding:50px 0;border-top:1px solid #c5d8e5}.contact-status[hidden],#contact-form[hidden]{display:none}

.footer-legal{display:flex;flex-wrap:wrap;gap:10px 20px}.footer-legal a{font-size:.66rem;font-weight:400;text-decoration:underline}.footer-legal a:hover{color:#6DD5ED}@media(max-width:640px){.footer-legal{margin-top:12px;gap:8px 16px}.footer-legal a{margin-top:0}}

/* Accueil, hiérarchie et contact */
.home-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;padding:65px 0 75px;min-height:650px}.home-hero h1{font-size:clamp(3rem,4.7vw,4.7rem);line-height:1.06;margin-bottom:24px;letter-spacing:-.035em}.home-hero h1 em{font-weight:400;color:#007A98}.home-hero .eyebrow{margin-bottom:22px}.home-lead{max-width:480px;font-size:.96rem;line-height:1.8;color:#425F75;margin-bottom:26px}.home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px}.text-link{font-size:.78rem;font-weight:600;color:#006B87;text-underline-offset:6px}.home-hero-art{min-width:0;position:relative}.home-stair-svg{width:100%;height:auto;display:block;overflow:visible}.home-section{padding-top:85px;padding-bottom:85px}.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.home-section-heading h2{font-size:clamp(2.3rem,4vw,3.6rem);max-width:700px;margin-bottom:0}.section-context{color:#425F75;font-size:.8rem;margin-bottom:30px}.home-projects{background:#E2EEF5}.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project-picture{position:relative;overflow:hidden;background:#D3E5F0}.project-picture img{width:100%;height:320px;object-fit:cover}.project-picture>span{position:absolute;left:14px;bottom:14px;background:#102A43;color:#F0F6FA;padding:7px 10px;font-size:.52rem;letter-spacing:.08em}.project-description{padding-top:24px}.project-description h3{font-size:1.8rem;margin-bottom:10px}.project-description p{font-size:.76rem;color:#425F75;margin-bottom:10px}.project-description .project-location{font-size:.7rem;border-top:1px solid #bdd3e1;padding-top:12px}.craft-list{margin-top:40px}.craft-row{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:38px 0;border-top:1px solid #c5d8e5}.craft-row:nth-child(even) .craft-picture{order:2}.craft-picture{overflow:hidden;background:#DFEDF5}.craft-picture img{width:100%;height:300px;object-fit:cover}.craft-row h3{font-size:2.8rem;margin-bottom:20px}.craft-row p:not(.eyebrow){max-width:420px;color:#425F75}.craft-row a{font-size:.75rem;color:#006B87}.home-workshop{background:#102A43;color:#F0F6FA}.workshop-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.workshop-layout figure{margin:0}.workshop-layout img{width:100%;height:530px;object-fit:cover;object-position:center 50%}.workshop-layout figcaption{font-size:.65rem;color:#C4D8E7;padding-top:12px}.home-workshop .eyebrow,.home-workshop .text-link{color:#6DD5ED}.home-workshop h2{font-size:clamp(3rem,4.5vw,4.3rem)}.home-workshop p:not(.eyebrow){color:#CDDFEB;font-size:.91rem}.workshop-materials{display:flex;gap:15px;flex-wrap:wrap;border-top:1px solid #42617A;padding-top:20px;margin:28px 0;font-size:.66rem;letter-spacing:.04em}.home-contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;scroll-margin-top:25px}.home-contact h2{font-size:clamp(2.8rem,4.5vw,4rem)}.home-contact-copy>p:not(.eyebrow){color:#425F75;max-width:390px}.home-zone{border-top:1px solid #c5d8e5;margin-top:40px;padding-top:25px}.home-zone h3{font-size:1.5rem;margin-bottom:14px}.home-zone p{font-size:.83rem;color:#425F75}.home-form-panel label:first-child{margin-top:0}.home-form-panel label{font-size:.8rem;font-weight:600}.optional{font-size:.7rem;font-weight:400}.form-help{font-size:.68rem;color:#425F75;margin-top:8px}.photo-input{font-size:.73rem;padding:10px}.photo-input::file-selector-button{font:inherit;background:#D1E7F2;border:1px solid #8DAABD;color:#102A43;padding:8px 10px;margin-right:10px;cursor:pointer}.home-form-panel .contact-send{min-width:150px}.header-contact{color:#fff!important;text-decoration:none!important}.header-contact:hover{color:#fff!important}
@media(max-width:950px){.nav{gap:18px}.nav nav{gap:18px}.header-contact{padding:11px 14px}.home-hero{gap:20px}.project-picture img{height:260px}.craft-row{gap:40px}.workshop-layout{gap:45px}.home-contact{gap:45px}}
@media(max-width:640px){.home-hero{grid-template-columns:1fr;padding:42px 0 45px;gap:20px;min-height:0}.home-hero h1{font-size:clamp(2.8rem,10.8vw,3.7rem);margin-bottom:20px}.home-hero .eyebrow{font-size:.58rem}.home-lead{font-size:.88rem;margin-bottom:22px}.home-actions{gap:20px}.home-actions .btn{min-height:48px;padding:13px 18px}.home-hero-art{max-width:470px;margin:auto;width:100%}.home-section{padding-top:55px;padding-bottom:55px}.home-section-heading{display:block;margin-bottom:20px}.home-section-heading .text-link{display:inline-block;margin-top:20px}.home-project-grid{grid-template-columns:1fr;gap:35px}.project-picture img{height:330px}.project-description{padding-top:18px}.craft-row{grid-template-columns:1fr;gap:25px;padding:30px 0}.craft-row:nth-child(even) .craft-picture{order:0}.craft-picture img{height:280px}.craft-row h3{font-size:2.2rem}.workshop-layout{grid-template-columns:1fr;gap:35px}.workshop-layout img{height:420px}.home-contact{grid-template-columns:1fr;gap:35px}.home-zone{margin-top:25px}.home-form-panel .contact-send{min-height:48px}.nav nav{gap:18px}.header-contact{min-height:44px;font-size:.72rem}.photo-input{width:100%;min-width:0}.text-link{display:inline-block;padding:7px 0}.home-project-grid h3{font-size:1.9rem}}

.home-projects .eyebrow{color:#006B87}

/* Du trait à la matière : cadrage commun au dessin et à la photo */
.trait-hero{grid-template-columns:1fr 1.12fr;gap:55px;min-height:640px}.trait-hero h1{font-size:clamp(2.7rem,4.3vw,4.2rem);line-height:1.1;margin-bottom:25px}.trait-hero .home-lead{max-width:400px}.trait-art{min-width:0}.trait-frame{position:relative;aspect-ratio:3/2;overflow:hidden;background:#F0F6FA;border:1px solid #c5d8e5;box-shadow:0 15px 35px #102a430a}.trait-photo{width:100%;height:100%;object-fit:contain}.blueprint-overlay{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.drawing-line{stroke-width:2}.drawing-line.architecture{stroke-width:1;stroke:#8AAABD}.drawing-line.structure{stroke-width:3}.drawing-line.rampe{stroke-width:1.5}.making-steps{list-style:none;padding:0;margin:22px 0 0;display:flex;justify-content:space-between;gap:12px;font-size:.66rem;letter-spacing:.08em;color:#425F75}.making-steps li{display:flex;align-items:center;gap:9px}.making-steps li:before{content:'';width:5px;height:5px;border-radius:50%;background:#8DAABD}.making-steps li.active{color:#006B87;font-weight:600}.making-steps li.active:before{background:#007A98}.trait-pending .blueprint-overlay{opacity:1}.trait-pending .drawing-line{stroke-dasharray:1;stroke-dashoffset:1}.trait-playing .drawing-line{animation:draw-ouvrage 2.15s ease forwards}.trait-playing .drawing-line.architecture{animation-delay:.05s}.trait-playing .drawing-line.structure{animation-delay:.2s}.trait-playing .drawing-line.marches{animation-delay:.35s}.trait-playing .drawing-line.rampe{animation-delay:.6s}.trait-playing .blueprint-overlay{animation:reveal-ouvrage 3.8s ease forwards}.trait-complete .blueprint-overlay{opacity:0}.trait-complete .drawing-line{animation:none}@keyframes draw-ouvrage{to{stroke-dashoffset:0}}@keyframes reveal-ouvrage{0%,58%{opacity:1}100%{opacity:0}}@media(max-width:950px){.trait-hero{gap:30px}.trait-hero h1{font-size:3.2rem}}@media(max-width:640px){.trait-hero{grid-template-columns:1fr;gap:32px;min-height:0}.trait-hero h1{font-size:clamp(2.65rem,10.8vw,3.5rem)}.trait-hero .home-lead{font-size:.88rem}.making-steps{margin-top:18px;font-size:.62rem}.trait-pending .drawing-line{stroke-dasharray:none;stroke-dashoffset:0}.trait-playing .drawing-line{animation:none}.trait-playing .blueprint-overlay{animation:mobile-reveal-ouvrage 3.5s ease forwards}@keyframes mobile-reveal-ouvrage{0%,20%{opacity:1}100%{opacity:0}}}@media(prefers-reduced-motion:reduce){.trait-pending .blueprint-overlay{opacity:0}.trait-playing .blueprint-overlay,.trait-playing .drawing-line{animation:none!important}}

/* Hero photographique plein écran, texte noir à gauche */
.trait-fullscreen{width:100%;position:relative;display:flex;align-items:center;min-height:calc(100svh - 98px);padding:75px max(5vw,calc((100vw - 1160px)/2));isolation:isolate;overflow:hidden}.trait-fullscreen .trait-art{position:absolute;inset:0;z-index:-2}.trait-fullscreen .trait-frame{position:absolute;inset:0;aspect-ratio:auto;border:0;box-shadow:none}.trait-fullscreen .trait-photo{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.trait-fullscreen .blueprint-overlay{height:100%;width:100%}.trait-fullscreen:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f2e9e6 0%,#f4f2e9c4 25%,#f4f2e936 56%,transparent 75%);pointer-events:none}.trait-fullscreen .home-hero-copy{width:min(530px,47%);position:relative;z-index:1}.trait-fullscreen h1{font-size:clamp(3rem,4.8vw,4.8rem);color:#111;line-height:1.08}.trait-fullscreen h1 em{color:#111;font-style:normal}.trait-fullscreen .eyebrow,.trait-fullscreen .home-lead,.trait-fullscreen .text-link{color:#111}.trait-fullscreen .home-lead{font-size:.97rem;max-width:410px}.trait-fullscreen .text-link{font-weight:600}.trait-fullscreen .making-steps{position:absolute;bottom:30px;left:max(5vw,calc((100vw - 1160px)/2));width:min(380px,40%);z-index:2;color:#111}.trait-fullscreen .making-steps li.active{color:#111}.trait-fullscreen .making-steps li:before{background:#555}.trait-fullscreen .making-steps li.active:before{background:#111}
@media(max-width:950px){.trait-fullscreen{padding:65px 5vw}.trait-fullscreen .home-hero-copy{width:55%}.trait-fullscreen h1{font-size:3.5rem}}
@media(max-width:640px){.trait-fullscreen{display:block;min-height:calc(100svh - 85px);padding:55px 7vw 100px}.trait-fullscreen .home-hero-copy{width:100%;max-width:400px}.trait-fullscreen h1{font-size:clamp(2.8rem,11vw,3.7rem)}.trait-fullscreen .trait-photo{object-position:62% center}.trait-fullscreen:after{background:linear-gradient(180deg,#f4f2e9f0 0%,#f4f2e9d9 38%,#f4f2e975 65%,#f4f2e970 100%)}.trait-fullscreen .home-lead{font-size:.9rem}.trait-fullscreen .home-actions{gap:16px}.trait-fullscreen .making-steps{left:7vw;right:7vw;bottom:28px;width:auto}.trait-fullscreen .trait-art{width:100%}}

/* Typographie sans-serif et boutons arrondis */
h1,h2,h3{font-family:"Manrope",Arial,sans-serif;font-weight:500;letter-spacing:-.04em}h1 em,h2 em,h3 em{font-style:normal}.btn,.menu,.contact-send,button:disabled{border-radius:28px}.btn{padding-left:24px;padding-right:24px}.photo-input::file-selector-button{border-radius:18px}.trait-fullscreen h1{font-weight:500;font-size:clamp(2.8rem,4.4vw,4.5rem)}@media(max-width:640px){.trait-fullscreen h1{font-size:clamp(2.4rem,9.5vw,3.3rem)}}
