@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@300;400;500;600&display=swap');
:root{--green:#172e28;--bronze:#bca27a;--paper:#f1efe8;--white:#fff;--line:#ffffff40}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--green);color:var(--white);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:24px 4%;background:linear-gradient(#10241cbb,transparent);color:white}.brand{display:flex;flex-direction:column;letter-spacing:.2em}.brand span{font-size:12px}.brand strong{font-size:19px;font-weight:500;letter-spacing:.1em}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav button{background:none;border:0;color:inherit;padding:12px 0}nav button span{margin-left:18px}.project{border:1px solid #ffffff70;padding:12px 20px}.scene{height:100svh;min-height:660px;position:relative;overflow:hidden}.visual,.veil{position:absolute;inset:0}.visual{background-size:cover;background-position:center;transform:scale(1.035);will-change:transform}.veil{background:linear-gradient(90deg,rgba(9,25,18,.64),rgba(9,25,18,.05) 80%),linear-gradient(0deg,#0b201bb3,transparent 45%)}.intro-copy{position:absolute;left:8%;top:25%;max-width:850px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:500;line-height:1.7}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:300;letter-spacing:-.055em;margin:20px 0;line-height:1.08}h1{font-size:clamp(70px,7.9vw,130px)}em{font-family:Georgia,serif;font-weight:normal}h2{font-size:clamp(45px,5.8vw,90px)}.lead{line-height:1.7;font-size:17px;color:#e4e7df}.start{display:inline-flex;align-items:center;gap:50px;padding:20px 0;border-bottom:1px solid #ffffff80;font-size:14px;margin-top:12px}.start span{font-size:24px}.skipintro{position:absolute;right:4%;bottom:110px;font-size:13px}.scene-footer{position:absolute;bottom:32px;left:4%;right:4%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:11px;letter-spacing:.14em}.scene-copy{position:absolute;left:8%;bottom:17%;max-width:700px}.scene-copy p:not(.eyebrow){max-width:430px;line-height:1.7}.scene-copy h2{font-size:clamp(48px,6vw,90px)}.scene-copy .eyebrow{color:#ded0b7}.hotspot{position:absolute;left:68%;top:48%;border:1px solid #ffffff90;border-radius:0;background:#172e28bb;color:#fff;padding:12px 18px;display:flex;align-items:center;gap:15px;backdrop-filter:blur(8px)}.hotspot span{border:1px solid #fff8;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.photo-note{position:absolute;right:4%;top:120px;font-size:11px;letter-spacing:.06em;color:#fffc}.progress{position:fixed;z-index:15;right:23px;top:42%;display:flex;flex-direction:column;gap:13px}.progress a{width:6px;height:6px;border-radius:50%;background:#ffffff60;outline:3px solid transparent;outline-offset:3px}.progress a.active{background:#ead6b2;outline-color:#ead6b250}.portfolio{background:var(--paper);color:var(--green);padding:100px 8%}.portfolio>p{max-width:650px;line-height:1.6}.notice{font-size:13px;opacity:.72;line-height:1.6}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 30px}.filters button{border:1px solid #172e2833;padding:10px 15px;color:var(--green);background:transparent;font-size:14px}.filters button[aria-pressed=true]{background:var(--green);color:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px}.card{border:0;padding:0;text-align:left;background:transparent;color:var(--green)}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:filter .3s}.card:hover img{filter:brightness(.85)}.card div{display:flex;justify-content:space-between;padding-top:14px}.card small{font-size:12px;color:#655b49}.contact{padding:100px 8%;display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.contact h2{font-size:clamp(42px,4.8vw,70px)}.contact p{line-height:1.7}.coordinates{border-top:1px solid var(--line);margin-top:55px;padding-top:15px;font-size:14px;color:#d3d5cb}form{padding-top:10px}label{display:block;margin:20px 0;font-size:14px}input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;border:0;border-bottom:1px solid #ffffff50;color:white;background:transparent;padding:12px 0;border-radius:0}select option{color:var(--green)}.check{display:flex;gap:10px;align-items:center}.upload{border:1px dashed #ffffff70;padding:18px;position:relative;overflow:hidden;cursor:pointer}.upload span{float:right}.upload input{display:block;width:100%;margin-top:12px;font-size:12px}.submit{background:var(--bronze);color:#12241d;border:0;padding:18px 22px;width:100%;text-align:left}footer{padding:35px 4%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;gap:20px}dialog{background:var(--green);color:#fff;border:1px solid #ffffff30;max-width:1100px;width:92vw;max-height:90svh;padding:30px}dialog::backdrop{background:#07110ee8;backdrop-filter:blur(10px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.15em;margin-bottom:20px}.dialog-top button,.lightbox-bottom button,.return{background:transparent;color:#fff;border:1px solid #ffffff60;padding:10px 16px}.dialog-top button{font-size:20px}#menuLinks{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}#menuLinks a{font-family:Manrope,sans-serif;font-size:24px;border-bottom:1px solid #ffffff30;padding:15px 0}#lightboxImage{width:100%;max-height:55svh;object-fit:contain}.lightbox-bottom{display:flex;align-items:center;gap:16px}.lightbox-bottom>div{flex:1}.lightbox-bottom h3{font-size:30px;letter-spacing:-.03em}.lightbox-bottom p{font-size:12px;line-height:1.6}.return{margin-top:12px}.skip{position:fixed;z-index:100;top:-100px;background:white;color:var(--green);padding:15px}.skip:focus{top:0}.process{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;line-height:2;color:#e7d7bd}.process span:not(:last-child):after{content:' →';margin-left:12px}@media(max-width:760px){header{padding:18px 6%}nav>a{display:none}nav{gap:0}.brand strong{font-size:16px}.scene{min-height:650px}.intro-copy{left:7%;top:27%;right:7%}h1{font-size:69px}.scene-copy{left:7%;right:8%;bottom:15%}.scene-copy h2{font-size:49px}.hotspot{left:auto;right:8%;top:24%;font-size:13px;padding:9px 12px}.scene-footer{font-size:9px;gap:18px;line-height:1.5}.scene-footer span:first-child{max-width:190px}.skipintro{bottom:97px;right:7%}.photo-note{top:91px;right:6%;font-size:10px}.progress{right:11px;gap:11px}.progress a{width:4px;height:4px}.portfolio,.contact{padding:70px 7%}.gallery{grid-template-columns:1fr 1fr;gap:24px 14px}.card div{font-size:14px;gap:5px}.card small{display:none}.contact{grid-template-columns:1fr;gap:30px}footer{flex-wrap:wrap;font-size:11px;padding:26px 7%}#menuLinks{gap:0 15px}#menuLinks a{font-size:17px}dialog{padding:20px}.lightbox-bottom{flex-wrap:wrap}.lightbox-bottom>div{flex-basis:100%}.visual{background-position:60% center}.lead{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.visual{transform:none!important;will-change:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.brand{flex-direction:row;align-items:center;gap:15px}.logo-original{height:72px;width:auto;display:block}.brand-name{display:flex;flex-direction:column;gap:4px}@media(max-width:760px){.logo-original{height:55px}.brand{gap:10px}.brand-name strong{font-size:13px}.brand-name span{font-size:10px}}

/* Formes et couleurs inspirées du logo original. */
:root{--green:#103b2a;--bronze:#88652f;--paper:#f5f3ed;--radius:18px;--radius-large:28px}
header{transition:padding .25s ease;background:linear-gradient(#102e24ed,transparent)}
.logo-original{height:90px;border-radius:10% / 8%;transition:height .3s ease;box-shadow:0 6px 24px #061c1926}
body.at-home .logo-original{height:170px}
body.at-home header{align-items:flex-start}
body.at-home nav{padding-top:16px}
body.at-home .brand-name{margin-left:5px}
.intro-copy{top:30%}
.project,.hotspot,.filters button,.submit,.upload,.return,.skip,.dialog-top button,.lightbox-bottom button,nav button{border-radius:var(--radius)}
nav button{padding:12px 16px;border:1px solid #ffffff50}
.project,.hotspot{border-color:#c3a16bbb}
.start{border:1px solid #c3a16b99;border-radius:var(--radius);padding:15px 22px;background:#103b2a80;backdrop-filter:blur(8px)}
.card{border-radius:var(--radius-large)}
.card img,#lightboxImage{border-radius:var(--radius-large)}
.ai-photo-notice{max-width:680px;margin:12px 0 0 auto;text-align:right;font-size:11px;line-height:1.55;opacity:.72}
dialog{border-radius:var(--radius-large);border-color:#b5975d80;box-shadow:0 24px 90px #0006}
input:not([type=checkbox]):not([type=file]),textarea,select{border:1px solid #ffffff50;border-radius:14px;padding:12px 14px;margin-top:9px;background:#ffffff08}
input[type=checkbox]{accent-color:var(--bronze);width:18px;height:18px}
input[type=file]::file-selector-button{border:1px solid #d3bd9780;border-radius:12px;background:#ffffff12;color:white;padding:9px 12px;margin-right:10px;cursor:pointer}
.submit{background:var(--bronze);color:#fff}
.filters button[aria-pressed=true]{background:var(--green);border-color:var(--bronze)}
button,a.start,.project{transition:background-color .2s ease,border-color .2s ease}
.start:hover,.hotspot:hover,nav button:hover,.project:hover{background:#88652f88;border-color:#d6b985}
.submit:hover{background:#755327}
#menuLinks a{border-radius:12px;padding-left:12px}
#menuLinks a:hover{background:#ffffff0d}
.photo-note{top:140px}
@media(max-width:760px){
 .logo-original{height:70px}
 body.at-home .logo-original{height:116px}
 body.at-home .brand-name{margin-left:0}
 body.at-home nav{padding-top:0}
 header{padding:16px 6%}
 nav button{padding:10px 12px}
 nav button span{margin-left:8px}
 .intro-copy{top:31%}
 h1{font-size:clamp(52px,16vw,69px)}
 .photo-note{top:106px}
 .start{padding:13px 18px;gap:24px}
 :root{--radius:15px;--radius-large:22px}
}
@media(max-width:370px){body.at-home .brand-name{display:none}}
@media(max-height:740px) and (min-width:761px){body.at-home .logo-original{height:126px}.intro-copy{top:28%}h1{font-size:85px}.intro .lead{margin:12px 0}}
@media(prefers-reduced-motion:reduce){.logo-original,header{transition:none}}

/* Le logo ouvre la visite, puis rejoint l’en-tête au défilement. */
header .brand{min-height:90px;padding-left:88px}
header .logo-original,body.at-home header .logo-original{position:fixed;left:0;top:0;height:90px;width:auto;transform-origin:top left;transform:translate(var(--logo-x,4vw),var(--logo-y,24px)) scale(var(--logo-scale,1));transition:none;will-change:transform}
body.at-home .brand-name{margin-left:0}
body.at-home nav{padding-top:0}
body.at-home header{align-items:center}
.intro-copy{max-width:56%;top:29%}
@media(min-width:761px){.intro h1{font-size:clamp(70px,7.3vw,112px)}}
@media(max-width:760px){
 header .brand{min-height:70px;padding-left:65px}
 header .logo-original,body.at-home header .logo-original{height:70px}
 .intro{min-height:850px}
 .intro-copy{top:385px;max-width:none}
 .intro h1{font-size:56px;margin:12px 0}
 .intro .eyebrow{font-size:11px}
 .intro .lead{margin:12px 0;font-size:15px}
 .intro .start{margin-top:2px}
 body.at-home .brand-name{display:flex}
}
@media(prefers-reduced-motion:reduce){header .logo-original{will-change:auto}}

/* Signature d’accueil : surface supérieure au double de la version précédente. */
@media(min-width:761px){.intro-copy{max-width:49%;left:6%}.intro h1{font-size:clamp(62px,6.7vw,100px)}}
@media(max-width:760px){.intro{min-height:990px}.intro-copy{top:470px}.intro h1{font-size:54px}.intro .skipintro{bottom:100px}}

#scierie{min-height:800px}@media(max-width:760px){#scierie{min-height:900px}}
.image-credits{padding:24px 4%;font-size:12px;line-height:1.7;color:#d3d5cb}.image-credits summary{cursor:pointer}.image-credits a{text-decoration:underline}#parquet .visual{background-position:center 75%}#charpente .visual{background-position:center 40%}
