*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.relative{position:relative}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.p-0{padding:0}.px-\[15px\]{padding-left:15px;padding-right:15px}.py-24{padding-top:6rem;padding-bottom:6rem}.align-top{vertical-align:top}.font-sans{font-family:Inter,sans-serif}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f1e7d3;--bg-soft:#e8dcc4;--bg-deep:#dccdb0;--paper:#fbf7ee;--ink:#2a1810;--ink-soft:#5a3d26;--wood:#8b5a2b;--wood-lt:#b0825a;--accent:#1b2d6e;--line:#c4b496}::selection{background:var(--wood);color:var(--paper)}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;font-weight:400;overflow-x:hidden}.serif{font-feature-settings:"ss01";font-family:Fraunces,Georgia,serif}nav{z-index:100;-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);background:linear-gradient(135deg,#fbf7eed1,#fbf7ee8f),#fbf7ee9e;border:1px solid #fbf7eead;border-radius:18px;justify-content:space-between;align-items:center;gap:32px;width:calc(100% - 64px);margin:24px 32px 0;padding:14px 18px 14px 22px;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 24px 70px #120a043d,inset 0 1px #ffffff9e}nav .logo-wrap{align-items:center;gap:12px;display:flex}nav img.logo{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px #ffffff80)drop-shadow(0 8px 18px #2a18102e);height:auto}nav img.logo-desktop{width:clamp(300px,23vw,440px);max-height:72px;display:block}nav img.logo-mobile{width:132px;max-height:76px;display:none}nav .navwordmark{letter-spacing:.15em;text-transform:uppercase;color:var(--ink);font-family:Fraunces,serif;font-size:13px;font-weight:500;display:none}nav ul{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf7ee5c;border:1px solid #2a181014;border-radius:999px;align-items:center;gap:24px;padding:8px;list-style:none;display:flex;box-shadow:inset 0 1px #ffffff73}nav ul li a{color:#2a1810b8;letter-spacing:.04em;padding:8px;font-size:13px;font-weight:400;text-decoration:none;transition:color .2s;position:relative}nav ul li a:hover{color:var(--ink)}nav ul li a:not(.nav-cta):after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .35s cubic-bezier(.65,.05,.36,1);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}nav ul li a:not(.nav-cta):hover:after{transform-origin:0;transform:scaleX(1)}.nav-cta{background:var(--ink);border:1px solid var(--ink);letter-spacing:.04em;border-radius:100px;align-items:center;gap:10px;padding:12px 22px;transition:background .2s,border-color .2s;display:inline-flex;box-shadow:0 12px 34px #2a18102e;color:var(--paper)!important;font-size:12px!important}.nav-cta:hover{background:var(--wood);border-color:var(--wood);color:var(--paper)!important}.nav-cta .arrow{transition:transform .25s}.nav-cta:hover .arrow{transform:translate(3px)}.hero{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-bg{background:url(/images/hero-chantier-desktop.webp) 50% 28%/auto 118% no-repeat,linear-gradient(160deg,#5a3a1f 0%,#2e1a0a 100%);position:absolute;inset:0}.hero-bg:after{content:"";background:linear-gradient(90deg,#120a04c2 0%,#120a047a 44%,#120a042e 100%),linear-gradient(#120a0414 0%,#120a0438 45%,#120a04b8 100%);position:absolute;inset:0}.hero-bg .ph-label{color:#ffffff2e;letter-spacing:.25em;text-transform:uppercase;z-index:1;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-content{z-index:2;max-width:780px;padding:0 48px 72px;position:relative}.hero-meta{letter-spacing:.2em;text-transform:uppercase;color:#fbf7ee8c;align-items:center;gap:14px;margin-bottom:28px;font-size:11px;display:flex}.hero-meta:before{content:"";background:var(--wood-lt);width:32px;height:1px;display:block}.hero-title{letter-spacing:-.03em;color:var(--paper);margin-bottom:28px;font-family:Fraunces,serif;font-size:clamp(44px,8vw,108px);font-weight:400;line-height:.95}.hero-sub{color:#fbf7eea6;max-width:480px;margin-bottom:40px;font-size:16px;font-weight:300;line-height:1.65}.hero-cta-row{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.btn-primary{background:var(--paper);color:var(--ink);letter-spacing:.02em;border-radius:100px;align-items:center;gap:12px;padding:16px 28px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,gap .25s;display:inline-flex}.btn-primary:hover{background:var(--wood-lt);color:var(--paper);gap:16px}.btn-ghost{color:#fbf7eed9;letter-spacing:.02em;border:1px solid #fbf7ee59;border-radius:100px;align-items:center;gap:10px;padding:14px 24px;font-size:14px;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.btn-ghost:hover{color:var(--paper);border-color:#fbf7eeb3}.hero-scroll{z-index:2;color:#fbf7ee66;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;align-items:center;gap:12px;font-size:11px;display:flex;position:absolute;bottom:28px;right:48px}.hero-scroll:after{content:"";background:#fbf7ee4d;width:1px;height:40px;display:block}.photo-break{background:radial-gradient(at 40% 30%,#6b3f1a 0%,#0000 55%),linear-gradient(160deg,#5a3a1f 0%,#2e1a0a 100%);position:relative;overflow:hidden}.photo-break-charpente-panorama{background:linear-gradient(#120a040a,#120a0457),url(/images/photo-charpente-panorama.webp) 50%/cover no-repeat}.photo-break-extension-bois{background:linear-gradient(#120a0408,#120a044d),url(/images/photo-extension-bois.webp) 50%/cover no-repeat}.photo-break .ph-label{color:#ffffff26;letter-spacing:.25em;text-transform:uppercase;font-size:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.photo-break-wide{aspect-ratio:21/8}.photo-break-mid{aspect-ratio:16/7}.photo-break-tall{grid-template-columns:1fr 1fr;display:grid}.photo-break-tall .pb-half{aspect-ratio:4/3;background:radial-gradient(at 50% 40%,#6b3f1a 0%,#0000 55%),linear-gradient(160deg,#5a3a1f 0%,#2e1a0a 100%);position:relative;overflow:hidden}.photo-break-tall .pb-ossature{background:linear-gradient(#120a0408,#120a043d),url(/images/photo-ossature-bois.webp) 50%/cover no-repeat}.photo-break-tall .pb-detail-assemblage{background:linear-gradient(#120a0408,#120a043d),url(/images/photo-detail-assemblage.webp) 50%/cover no-repeat}.photo-break-tall .pb-half .ph-label{color:#ffffff26;letter-spacing:.25em;text-transform:uppercase;font-size:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg-soft);padding:22px 0;overflow:hidden}.ticker-track{align-items:center;gap:56px;animation:40s linear infinite scroll;display:inline-flex}.ticker-track span{color:var(--ink);letter-spacing:-.01em;font-family:Fraunces,serif;font-size:22px;font-weight:400}.ticker-track .sep{color:var(--wood-lt);font-size:18px}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.geo-band{background:var(--ink);padding:48px}.geo-inner{align-items:center;gap:48px;max-width:1280px;margin:0 auto;display:flex}.geo-label{letter-spacing:.18em;text-transform:uppercase;color:var(--wood-lt);white-space:nowrap;flex-shrink:0;font-size:11px}.geo-depts{flex:1;gap:40px;display:flex}.geo-dept{align-items:baseline;gap:12px;display:flex}.geo-num{color:var(--paper);letter-spacing:-.02em;font-family:Fraunces,serif;font-size:36px;font-weight:500;line-height:1}.geo-name{color:#fbf7ee99;white-space:nowrap;font-size:14px}.geo-note{color:#fbf7ee59;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:12px}.manifesto{text-align:center;max-width:1100px;margin:0 auto;padding:160px 48px 140px;position:relative}.section-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:12px;margin-bottom:32px;font-size:11px;display:inline-flex}.section-eyebrow:before,.section-eyebrow:after{content:"";background:var(--accent);width:24px;height:1px;display:block}.manifesto-title{letter-spacing:-.025em;color:var(--ink);margin-bottom:56px;font-family:Fraunces,serif;font-size:clamp(34px,5.5vw,76px);font-weight:400;line-height:1.05}.manifesto-body{max-width:620px;color:var(--ink-soft);margin:0 auto;font-size:17px;font-weight:300;line-height:1.75}.manifesto-body p{margin-bottom:18px}.manifesto-body p:last-child{margin-bottom:0}.manifesto-sig{color:var(--ink-soft);margin-top:56px;font-family:Fraunces,serif;font-size:18px}.services{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:140px 48px}.services-head{grid-template-columns:1fr 1fr;align-items:end;gap:64px;max-width:1280px;margin:0 auto 80px;display:grid}.services-head h2{letter-spacing:-.025em;color:var(--accent);font-family:Fraunces,serif;font-size:clamp(40px,6vw,84px);font-weight:400;line-height:.98}.services-head p{color:var(--ink-soft);max-width:440px;font-size:16px;font-weight:300;line-height:1.7}.urgence-card{background:var(--ink);max-width:1280px;color:var(--paper);border-radius:4px;flex-wrap:wrap;align-items:center;gap:32px;margin:0 auto 56px;padding:32px 40px;display:flex}.urgence-card .urg-badge{letter-spacing:.14em;text-transform:uppercase;color:var(--wood-lt);background:#fbf7ee14;border:1px solid #fbf7ee2e;border-radius:100px;align-items:center;gap:10px;padding:7px 14px;font-size:11px;display:inline-flex}.urgence-card .urg-badge:before{content:"";background:var(--wood-lt);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.urgence-card h3{flex:1;min-width:240px;font-family:Fraunces,serif;font-size:26px;font-weight:400}.urgence-card a{color:var(--paper);letter-spacing:.03em;border:1px solid #fbf7ee4d;border-radius:100px;padding:14px 24px;font-size:13px;text-decoration:none;transition:background .2s,border-color .2s}.urgence-card a:hover{background:var(--wood);border-color:var(--wood)}.services-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;max-width:1280px;margin:0 auto;display:grid}.svc-cat{background:var(--paper);flex-direction:column;padding:36px 36px 40px;transition:background .25s;display:flex}.svc-cat:hover{background:var(--bg)}.svc-cat-head{border-bottom:1px solid var(--line);flex-direction:column;justify-content:flex-end;gap:10px;min-height:110px;margin-bottom:6px;padding-bottom:20px;display:flex}.svc-cat-head h3{letter-spacing:-.01em;color:var(--accent);font-family:Fraunces,serif;font-size:22px;font-weight:500;line-height:1.15}.svc-cat-num{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:500}.svc-list{flex-direction:column;list-style:none;display:flex}.svc-list li{color:var(--ink);cursor:pointer;border-bottom:1px solid #c4b49659;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:15px;transition:padding .25s,color .25s;display:flex}.svc-list li:last-child{border-bottom:none}.svc-list{flex:1}.svc-cat-foot{border-top:1px solid #c4b49680;margin-top:24px;padding-top:18px}.svc-cat-foot a{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;text-decoration:none;transition:color .15s,gap .25s;display:inline-flex}.svc-cat-foot a:hover{color:var(--wood);gap:12px}.svc-list li:after{content:"→";color:var(--wood);opacity:0;font-size:14px;transition:opacity .2s,transform .25s;transform:translate(-6px)}.svc-list li:hover{color:var(--wood);padding-left:8px}.svc-list li:hover:after{opacity:1;transform:translate(0)}.about{background:var(--bg);padding:160px 48px}.about-inner{grid-template-columns:.85fr 1.15fr;align-items:start;gap:96px;max-width:1280px;margin:0 auto;display:grid}.about-photo{aspect-ratio:3/4;background:linear-gradient(#120a040a 45%,#120a0470),url(/images/photo-atelier-portrait.webp) 50%/cover no-repeat;position:relative;top:120px;overflow:hidden}.about-photo-mobile{display:none}.about-photo:before{content:"";mix-blend-mode:overlay;background-image:repeating-linear-gradient(45deg,#0000000a 0 1px,#0000 1px 6px);position:absolute;inset:0}.about-photo .photo-num{color:#fbf7ee8c;font-family:Fraunces,serif;font-size:14px;font-style:italic;position:absolute;top:24px;left:24px}.about-photo .photo-cap{color:#fbf7eed9;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:flex-end;padding:24px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.about-photo .photo-cap em{text-transform:none;letter-spacing:0;font-family:Fraunces,serif;font-size:16px;font-style:italic}.about-photo-title{z-index:1;color:#fbf7eef2;text-shadow:0 12px 36px #120a048c;font-family:Fraunces,serif;font-size:24px;font-style:italic;line-height:1.05;position:absolute;bottom:24px;left:24px;right:24px}.about-photo .photo-label{color:#ffffff38;letter-spacing:.2em;text-transform:uppercase;font-family:Fraunces,serif;font-size:12px;font-style:italic;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about-text h2{letter-spacing:-.025em;color:var(--accent);margin-bottom:48px;font-family:Fraunces,serif;font-size:clamp(36px,5vw,68px);font-weight:400;line-height:1.02}.about-text p{color:var(--ink-soft);margin-bottom:22px;font-size:16px;font-weight:300;line-height:1.8}.about-text p strong{color:var(--ink);font-weight:500}.about-pillars{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;margin-top:56px;padding-top:8px;display:grid}.pillar{border-bottom:1px solid var(--line);padding:28px 0 4px}.pillar:nth-child(odd){border-right:1px solid var(--line);padding-right:28px}.pillar:nth-child(2n){padding-left:28px}.pillar:nth-last-child(-n+2){border-bottom:none}.pillar-title{letter-spacing:-.01em;color:var(--ink);margin-bottom:10px;font-family:Fraunces,serif;font-size:20px;font-weight:500}.pillar-desc{color:var(--ink-soft);font-size:14px;font-weight:400;line-height:1.65}.real{background:var(--bg-soft);padding:140px 48px}.real-head{grid-template-columns:1fr 1fr;align-items:end;gap:48px;max-width:1280px;margin:0 auto 64px;display:grid}.real-head h2{letter-spacing:-.025em;color:var(--accent);font-family:Fraunces,serif;font-size:clamp(40px,6vw,80px);font-weight:400;line-height:.98}.real-head p{color:var(--ink-soft);text-align:right;justify-self:end;max-width:380px;font-size:15px;font-weight:300;line-height:1.7}.real-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:24px;max-width:1280px;margin:0 auto;display:grid}.real-item{cursor:pointer;background:radial-gradient(at 30% 20%,#7a5a3a 0%,#0000 60%),linear-gradient(165deg,#5a3a1f 0%,#2e1a0a 100%);transition:transform .4s cubic-bezier(.65,.05,.36,1);position:relative;overflow:hidden}.real-item.r1{background:linear-gradient(#120a0405,#120a0433),url(/images/realisation-reprise-charpente.webp) 50%/cover no-repeat}.real-item.r2{background:linear-gradient(#120a0405,#120a0433),url(/images/realisation-ossature-bois.webp) 50%/cover no-repeat}.real-item.r3{background:linear-gradient(#120a0405,#120a0433),url(/images/realisation-pergola.webp) 50%/cover no-repeat}.real-item.r4{background:linear-gradient(#120a0405,#120a0433),url(/images/realisation-finition.webp) 50%/cover no-repeat}.real-item.r5{background:linear-gradient(#120a0405,#120a0433),url(/images/realisation-toit-terrasse.webp) 50%/cover no-repeat}.real-item:hover{transform:translateY(-4px)}.real-item:before{content:"";mix-blend-mode:overlay;background-image:repeating-linear-gradient(0deg,#0000000a 0 1px,#0000 1px 5px);position:absolute;inset:0}.real-item-info{color:var(--paper);justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute;bottom:24px;left:24px;right:24px}.real-item-info .label{letter-spacing:.14em;text-transform:uppercase;color:#fbf7ee99;font-size:11px}.real-item-info .title{color:#fbf7eef2;margin-top:4px;font-family:Fraunces,serif;font-size:22px;font-style:italic}.real-item-num{color:#fbf7ee73;font-family:Fraunces,serif;font-size:14px;font-style:italic;position:absolute;top:24px;right:24px}.real-item-pl{color:#ffffff2e;letter-spacing:.18em;text-transform:uppercase;font-family:Fraunces,serif;font-size:12px;font-style:italic;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.real-item.r1{aspect-ratio:16/10;grid-column:1/8}.real-item.r2{aspect-ratio:1341/1173;grid-column:8/13}.real-item.r5{aspect-ratio:21/9;grid-column:1/13}.real-item.r3{aspect-ratio:4/5;grid-column:1/7}.real-item.r4{aspect-ratio:4/5;grid-column:7/13}.contact{background:var(--ink);color:var(--paper);padding:160px 48px 120px}.contact-inner{grid-template-columns:.9fr 1.1fr;align-items:start;gap:96px;max-width:1280px;margin:0 auto;display:grid}.contact-text .section-eyebrow{color:var(--wood-lt)}.contact-text .section-eyebrow:before,.contact-text .section-eyebrow:after{background:var(--wood-lt)}.contact-text h2{letter-spacing:-.025em;color:var(--paper);margin-bottom:32px;font-family:Fraunces,serif;font-size:clamp(40px,5.5vw,72px);font-weight:400;line-height:1}.contact-text p{color:#fbf7eeb3;max-width:380px;margin-bottom:56px;font-size:16px;font-weight:300;line-height:1.7}.contact-info{flex-direction:column;gap:28px;display:flex}.ci-row{border-bottom:1px solid #fbf7ee1f;flex-direction:column;gap:6px;padding-bottom:22px;display:flex}.ci-row:last-child{border-bottom:none}.ci-row .lbl{letter-spacing:.18em;text-transform:uppercase;color:var(--wood-lt);font-size:11px}.ci-row .val{color:var(--paper);letter-spacing:-.01em;font-family:Fraunces,serif;font-size:22px}.contact-form{background:#fbf7ee08;border:1px solid #fbf7ee1a;border-radius:4px;padding:56px 48px}.fg{flex-direction:column;gap:6px;margin-bottom:28px;display:flex;position:relative}.fg-row{grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px;display:grid}.fg-row .fg{margin-bottom:0}.fg label{letter-spacing:.14em;text-transform:uppercase;color:var(--wood-lt);font-size:11px;font-weight:500}.fg input,.fg select,.fg textarea{color:var(--paper);appearance:none;background:0 0;border:none;border-bottom:1px solid #fbf7ee40;outline:none;padding:12px 0;font-family:inherit;font-size:16px;transition:border-color .2s}.fg input::-moz-placeholder{color:#fbf7ee59;font-weight:300}.fg textarea::-moz-placeholder{color:#fbf7ee59;font-weight:300}.fg input::placeholder,.fg textarea::placeholder{color:#fbf7ee59;font-weight:300}.fg input:focus,.fg select:focus,.fg textarea:focus{border-bottom-color:var(--wood-lt)}.fg select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B0825A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;padding-right:28px}.fg select option{background:var(--ink);color:var(--paper)}.fg select optgroup{color:var(--wood-lt);font-style:italic}.project-select{z-index:4;position:relative}.project-select-trigger{width:100%;min-height:72px;color:var(--paper);text-align:left;cursor:pointer;background:linear-gradient(135deg,#fbf7ee29,#fbf7ee12),#fbf7ee13;border:1px solid #fbf7ee3d;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;font-family:inherit;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:inset 0 1px #ffffff0d}.project-select-trigger:hover,.project-select.is-open .project-select-trigger{background:linear-gradient(135deg,#b0825a33,#fbf7ee17),#fbf7ee18;border-color:#b0825ab8;box-shadow:inset 0 1px #ffffff12,0 16px 38px #00000038}.project-select-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--wood-lt);margin-bottom:7px;font-size:10px;display:block}.project-select-value,.project-select-placeholder{letter-spacing:0;font-size:18px;line-height:1.2;display:block}.project-select-placeholder{color:#fbf7ee6b;font-weight:300}.project-select-icon{width:36px;height:36px;color:var(--wood-lt);background:#b0825a29;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:transform .22s,background .2s;display:inline-flex}.project-select.is-open .project-select-icon{background:#b0825a42;transform:rotate(180deg)}.project-select-menu{opacity:0;pointer-events:none;transform-origin:top;background:#492f20fa;border:1px solid #b0825a70;border-radius:10px;max-height:340px;padding:10px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow:auto;transform:translateY(-8px)scale(.98);box-shadow:0 24px 70px #00000057}.project-select.is-open .project-select-menu{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.project-select-group+.project-select-group{border-top:1px solid #fbf7ee21;margin-top:10px;padding-top:10px}.project-select-group-label{letter-spacing:.18em;text-transform:uppercase;color:#b0825ad1;padding:8px 10px;font-size:10px}.project-select-option{color:#fbf7eedb;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;width:100%;padding:12px;font-family:inherit;font-size:14px;transition:background .15s,color .15s,padding .18s;display:flex}.project-select-option:hover,.project-select-option[aria-selected=true]{color:var(--paper);background:#fbf7ee1f;padding-left:16px}.project-select-option[aria-selected=true]:after{content:"✓";color:var(--wood-lt);font-size:13px}.project-select-option.is-priority{color:var(--wood-lt)}.fg textarea{resize:vertical;min-height:120px;line-height:1.5}.form-submit{background:var(--paper);width:100%;color:var(--ink);letter-spacing:.02em;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:14px;margin-top:16px;padding:20px 32px;font-family:inherit;font-size:14px;font-weight:500;transition:background .2s,gap .25s;display:inline-flex}.form-submit:hover{background:var(--wood-lt);gap:18px}.form-submit:disabled{cursor:wait;opacity:.72}.form-feedback{text-align:center;margin-top:14px;font-size:13px;line-height:1.5}.form-feedback.is-success{color:#d5b17d}.form-feedback.is-error{color:#f3b6a8}.form-note{color:#fbf7ee80;text-align:center;margin-top:18px;font-size:12px;font-weight:300;line-height:1.6}footer{background:var(--paper);color:#2a181094;border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;align-items:center;gap:32px;padding:48px 48px 40px;font-size:12px;display:grid}footer img{opacity:1;width:168px;height:auto}footer .center{text-align:center;color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;font-size:12px;display:flex}footer a{color:inherit;text-decoration:none;transition:color .18s}footer a:hover{color:var(--accent)}footer .right{text-align:right;letter-spacing:.04em;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;line-height:1.6;display:flex}.footer-heart{color:currentColor;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;justify-content:center;align-items:center;width:13px;height:13px;display:inline-flex;transform:translateY(1px)}.footer-credit-by{justify-content:center;align-items:center;gap:6px;display:inline-flex}.next-level-link{color:var(--accent);background:0 0;border:0;border-radius:0;align-items:center;padding:0 2px;transition:color .18s,transform .18s;display:inline-flex;transform:translateY(0)}.next-level-link:hover{transform:translateY(-1px)}.next-level-word{color:#0000;letter-spacing:.02em;vertical-align:baseline;height:1.2em;font-weight:700;line-height:1.2;display:inline-block;position:relative;overflow:hidden}.next-level-word:before,.next-level-word:after{content:attr(data-text);transition:transform .28s cubic-bezier(.65,.05,.36,1);display:block}.next-level-word:before{color:var(--accent)}.next-level-word:after{background:linear-gradient(90deg,#2563eb 0%,#7c3aed 100%);color:#0000;-webkit-background-clip:text;background-clip:text;position:absolute;top:100%;left:0}.next-level-link:hover .next-level-word:before,.next-level-link:hover .next-level-word:after{transform:translateY(-100%)}.legal-page{background:var(--paper);color:var(--ink);padding:96px 48px 120px}.legal-inner{max-width:880px;margin:0 auto}.legal-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--wood);margin-bottom:18px;font-size:11px}.legal-page h1{letter-spacing:-.025em;color:var(--accent);margin-bottom:16px;font-family:Fraunces,serif;font-size:clamp(42px,6vw,76px);font-weight:400;line-height:1}.legal-updated{color:var(--ink-soft);margin-bottom:64px;font-size:14px}.legal-content{gap:42px;display:grid}.legal-section{border-top:1px solid var(--line);padding-top:28px}.legal-section h2{letter-spacing:-.01em;margin-bottom:16px;font-family:Fraunces,serif;font-size:28px;font-weight:500}.legal-section p{color:var(--ink-soft);margin:0 0 12px;font-size:16px;line-height:1.75}@media (max-width:1100px){.about-inner,.contact-inner{gap:56px}}@media (max-width:1000px){nav{-webkit-backdrop-filter:blur(12px)saturate(1.04);backdrop-filter:blur(12px)saturate(1.04);background:linear-gradient(135deg,#fbf7ee94,#fbf7ee57),#fbf7ee47;border-color:#fbf7ee75;border-radius:14px;gap:10px;width:auto;margin:0;padding:7px 8px 7px 10px;position:absolute;top:8px;left:8px;right:8px;box-shadow:0 12px 34px #120a042e,inset 0 1px #ffffff75}nav ul{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:0;padding:0}nav ul li.nav-link{display:none}.nav-cta{padding:9px 13px 9px 14px;box-shadow:0 8px 22px #2a181029;font-size:10px!important}.hero{min-height:100svh}.hero-content{padding:0 20px 48px}.hero-meta{margin-bottom:20px;font-size:9px}.hero-meta:before{width:20px}.hero-title{margin-bottom:20px;font-size:clamp(36px,11vw,56px);line-height:.95}.hero-sub{max-width:100%;margin-bottom:32px;font-size:14px}.hero-cta-row{flex-direction:column;align-items:stretch;gap:12px}.btn-primary{justify-content:center;padding:16px 24px;font-size:14px}.btn-ghost{justify-content:center;padding:14px 24px;font-size:14px}.hero-scroll{display:none}.photo-break-wide,.photo-break-mid{aspect-ratio:16/9}.photo-break-tall{grid-template-columns:1fr}.photo-break-tall .pb-half{aspect-ratio:16/10}.ticker{padding:16px 0}.ticker-track{gap:32px}.ticker-track span{font-size:17px}.ticker-track .sep{font-size:12px}.geo-band{padding:36px 20px}.geo-inner{flex-direction:column;align-items:flex-start;gap:20px}.geo-depts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.geo-dept{gap:6px;min-width:0}.geo-num{font-size:clamp(21px,6vw,28px)}.geo-name{text-overflow:ellipsis;font-size:clamp(10px,3.1vw,13px);overflow:hidden}.geo-note{white-space:normal;margin-left:0;font-size:11px}.manifesto{padding:80px 20px 72px}.manifesto-title{margin-bottom:32px;font-size:clamp(28px,8vw,40px);line-height:1.1}.manifesto-body{font-size:15px;line-height:1.7}.manifesto-sig{margin-top:36px;font-size:16px}.section-eyebrow{margin-bottom:24px;font-size:10px}.section-eyebrow:before,.section-eyebrow:after{width:16px}.services{padding:80px 20px}.services-head{grid-template-columns:1fr;align-items:start;gap:20px;margin-bottom:40px}.services-head h2{font-size:clamp(32px,9vw,44px)}.services-head p{font-size:15px}.urgence-card{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:24px;padding:24px 22px}.urgence-card h3{min-width:0;font-size:22px}.urgence-card a{text-align:center;align-self:stretch;padding:14px 20px}.services-grid{grid-template-columns:1fr}.svc-cat{gap:18px;padding:28px 22px 32px}.svc-cat-head h3{font-size:22px}.svc-list li{padding:14px 0;font-size:15px}.svc-list li:hover{padding-left:0}.svc-list li:after{opacity:.5;transform:translate(0)}.about{padding:80px 20px}.about-inner{grid-template-columns:1fr;gap:40px}.about-photo-desktop{display:none}.about-photo-mobile{margin:34px 0 8px;display:block}.about-photo{aspect-ratio:4/5;position:relative;top:0}.about-text h2{margin-bottom:28px;font-size:clamp(30px,8vw,42px)}.about-text p{font-size:15px;line-height:1.75}.about-pillars{grid-template-columns:1fr 1fr;margin-top:40px}.pillar{padding:20px 0 4px}.pillar:nth-child(odd){padding-right:16px}.pillar:nth-child(2n){padding-left:16px}.pillar-title{margin-bottom:8px;font-size:16px}.pillar-desc{font-size:13px;line-height:1.55}.real{padding:80px 20px}.real-head{grid-template-columns:1fr;gap:18px;margin-bottom:40px}.real-head h2{font-size:clamp(32px,9vw,44px)}.real-head p{text-align:left;justify-self:start;max-width:100%;font-size:15px}.real-grid{gap:12px}.real-item.r1,.real-item.r2,.real-item.r3,.real-item.r4,.real-item.r5{grid-area:auto/1/auto/13}.real-item.r1{aspect-ratio:16/10}.real-item.r2{aspect-ratio:1341/1173}.real-item.r3,.real-item.r4{aspect-ratio:4/5}.real-item.r5{aspect-ratio:1341/1173;background:linear-gradient(#120a0405,#120a0433),url(/images/realisation-toit-terrasse-mobile.webp) 50%/cover no-repeat}.real-item-info{bottom:18px;left:18px;right:18px}.real-item-info .title{font-size:18px}.real-item-num{font-size:13px;top:18px;right:18px}.contact{padding:80px 20px 64px}.contact-inner{grid-template-columns:1fr;gap:40px}.contact-text h2{margin-bottom:24px;font-size:clamp(32px,9vw,44px)}.contact-text p{margin-bottom:36px;font-size:15px}.contact-info{gap:20px}.ci-row{padding-bottom:18px}.ci-row .val{word-break:break-word;font-size:18px}.contact-form{padding:28px 20px 32px}.fg-row{grid-template-columns:1fr;gap:0;margin-bottom:0}.fg-row .fg,.fg{margin-bottom:24px}.fg label{font-size:10px}.fg input,.fg select,.fg textarea{padding:14px 0;font-size:16px}.fg select{padding-right:24px}.fg textarea{min-height:110px}.form-submit{padding:18px 28px;font-size:14px}.form-note{font-size:11px}footer{text-align:center;grid-template-columns:1fr;justify-items:center;gap:18px;padding:36px 20px 32px}footer .center{gap:12px;font-size:12px}footer .right{text-align:center;justify-content:center;font-size:11px}.footer-credit-by{flex-basis:100%;margin-top:2px}.legal-page{padding:72px 20px 88px}.legal-updated{margin-bottom:42px}.legal-content{gap:32px}.legal-section h2{font-size:24px}}@media (max-width:600px){nav img.logo-desktop{display:none}nav img.logo-mobile{width:86px;max-height:50px;display:block}}@media (max-width:400px){.hero-content{padding:0 16px 40px}.hero-title{font-size:34px}.manifesto,.services,.about,.real{padding-left:16px;padding-right:16px}.contact{padding-top:72px;padding-left:16px;padding-right:16px}.urgence-card{padding:20px 18px}.urgence-card h3{font-size:20px}.svc-cat,.contact-form{padding:24px 18px 28px}.ci-row .val{font-size:16px}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}*{transition-duration:.01ms!important}}
