
:root{--background:#f4f5ea;--foreground:#493c2e;--muted:#e7e9dd;--muted-fg:#6b6258;--border:#d8dccf;--primary:#294f3d;--input:#eef0e6;--overlay:linear-gradient(180deg,rgba(28,24,18,.72),rgba(31,50,37,.12));--shadow:0 25px 50px -12px rgba(45,36,25,.2);--transition:all .6s cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:hsl(75 25% 95%);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:100%;max-width:1280px;margin:auto;padding:0 24px}.max{max-width:1120px;margin:auto}.min{letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:600}.architectural{letter-spacing:-.02em;line-height:1.1}.muted{color:var(--muted-fg)}.bg-muted{background:rgba(80,95,72,.08)}.border{border-color:var(--border)}.section{padding:128px 0}.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(244,245,234,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.nav-inner{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}.nav-links{display:flex;gap:48px;align-items:center}.nav-links a,.mobile-links a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-fg);transition:.3s}.nav-links a:hover,.mobile-links a:hover{color:var(--foreground)}.theme{border:1px solid var(--border);background:transparent;border-radius:999px;width:38px;height:38px;cursor:pointer;color:var(--foreground)}.menu-btn{display:none;border:0;background:transparent;font-size:22px;color:var(--foreground);cursor:pointer}.mobile-menu{display:none;padding:24px;border-top:1px solid var(--border)}.mobile-links{display:flex;flex-direction:column;gap:20px}.mobile-menu.open{display:block}.hero{height:100vh;min-height:650px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}.hero-bg:after{content:"";position:absolute;inset:0;background:var(--overlay)}.hero-content{position:relative;z-index:1;text-align:center;color:white;max-width:900px;padding:24px}.hero h1{font-size:clamp(64px,9vw,150px);font-weight:300;line-height:.95;margin:0 0 32px}.hero p{font-size:clamp(20px,2.2vw,30px);font-weight:300;letter-spacing:.02em;color:rgba(255,255,255,.82);max-width:720px;margin:auto}.scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.65);font-size:11px;letter-spacing:.12em}.scroll:before{content:"";display:block;width:1px;height:64px;background:rgba(255,255,255,.4);margin:auto 0 16px}.reveal{animation:reveal 1.2s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(32px)}.delay{animation-delay:.3s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}h1,h2,h3,h4,h5{font-weight:300}.section-label{margin-bottom:16px}.section-title{font-size:clamp(40px,6vw,76px);margin:0}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 80px;margin-top:80px}.service{display:flex;gap:24px}.service h3{font-size:30px;margin:0 0 16px}.service p,.about p,.portfolio p,.contact p{line-height:1.7;color:var(--muted-fg)}.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about .lead{font-size:19px}.approach{display:flex;flex-direction:column;gap:24px}.approach-item{border-left:2px solid var(--foreground);padding-left:24px}.approach-item h4{font-size:18px;margin:0 0 8px;font-weight:500}.stats{border-top:1px solid var(--border);padding-top:32px;margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:32px}.stats strong{display:block;font-size:20px;font-weight:400}.portfolio-list{display:flex;flex-direction:column;gap:128px;margin-top:80px}.portfolio-img{position:relative;overflow:hidden}.portfolio-img img{width:100%;height:70vh;min-height:480px;object-fit:cover;display:block;transition:transform .7s}.portfolio-img:hover img{transform:scale(1.05)}.project-meta{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-top:32px}.project-title{font-size:30px;margin:0 0 8px}.contact-grid{align-items:start}.contact-items{display:flex;flex-direction:column;gap:32px}.contact-item h4{margin:0 0 8px}.contact-item a,.social a{font-size:20px}.social{display:flex;flex-direction:column;gap:16px}.contact-note{border-top:1px solid var(--border);padding-top:48px;margin-top:48px}.cta{padding:128px 24px;text-align:center;background:rgba(80,95,72,.08)}.cta h2{font-size:clamp(42px,6vw,72px);margin:0 0 32px}.cta p{font-size:20px;color:var(--muted-fg);margin-bottom:48px}.underline{border-bottom:1px solid currentColor;padding-bottom:2px}.page-head{padding:160px 0 80px}.page-head h1{font-size:clamp(60px,8vw,110px);margin:0 0 28px}.page-head p{font-size:20px;max-width:760px;color:var(--muted-fg);line-height:1.6}.filters{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:64px}.filter{border:0;background:none;color:var(--muted-fg);padding:0 0 4px;cursor:pointer;font-size:12px;letter-spacing:.12em}.filter.active,.filter:hover{color:var(--foreground);border-bottom:1px solid var(--foreground)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px}.work-card img{width:100%;height:60vh;min-height:430px;object-fit:cover;display:block}.work-image{position:relative;overflow:hidden;cursor:pointer}.work-image img{transition:transform .7s}.work-image:hover img{transform:scale(1.05)}.badge{position:absolute;top:24px;left:24px;background:rgba(244,245,234,.92);padding:8px 12px;font-size:11px;letter-spacing:.1em}.photo-count{position:absolute;right:24px;bottom:24px;background:rgba(244,245,234,.92);padding:8px 12px;font-size:11px;letter-spacing:.1em}.thumbs{display:flex;gap:8px;overflow:auto;padding:8px 0 14px}.thumbs img{width:112px;height:80px;object-fit:cover}.work-card h2{font-size:30px;margin:16px 0 4px}.work-card p{color:var(--muted-fg);line-height:1.7}

/* Réalisations : mise en page propre et responsive */
.work-intro{padding-bottom:48px}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:88px 64px}
.project-card{min-width:0;width:100%}
.project-media{position:relative;overflow:hidden;background:transparent;border:0;aspect-ratio:16/10}
.project-main-button{display:block;position:relative;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;text-align:left;overflow:hidden;appearance:none;-webkit-appearance:none}
.project-main-button img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;transition:transform .5s ease;border:0}
.project-main-button:hover img{transform:scale(1.035)}
.project-tag,.project-count{position:absolute;z-index:1;pointer-events:none;background:rgba(28,25,21,.88);color:#f4f5ea;padding:12px 15px;font-size:11px;letter-spacing:.12em}
.project-tag{left:20px;top:20px}.project-count{right:20px;bottom:20px}
.project-thumbs{display:flex;gap:9px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;width:100%;padding:12px 0 2px;scrollbar-width:thin}
.project-thumb{flex:0 0 86px;width:86px;height:66px;padding:0;margin:0;border:1px solid transparent;background:transparent;cursor:zoom-in;overflow:hidden;appearance:none;-webkit-appearance:none}
.project-thumb img{display:block;width:100%;height:100%;object-fit:cover;border:0;transition:opacity .2s}.project-thumb:hover{border-color:var(--foreground)}.project-thumb:hover img{opacity:.78}
.project-content{width:100%;min-width:0}.project-content h2{font-size:30px;line-height:1.1;margin:28px 0 10px;font-weight:300}.project-location{font-size:12px;letter-spacing:.12em;color:var(--muted-fg);margin-bottom:26px}.project-content p{max-width:580px;color:var(--muted-fg);line-height:1.75;margin:0;overflow-wrap:anywhere}

/* Galerie unique : aucun ancien système lightbox/gallery-modal */
.llp-gallery-overlay{position:fixed;inset:0;z-index:2147483647;display:none;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:24px;box-sizing:border-box;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.llp-gallery-overlay.llp-gallery-visible{display:flex}
.llp-gallery-overlay *{box-sizing:border-box}
.llp-gallery-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.llp-gallery-photo{display:block;width:auto;height:auto;max-width:calc(100vw - 180px);max-height:calc(100vh - 120px);object-fit:contain;border:0;outline:0;box-shadow:0 18px 70px rgba(0,0,0,.5)}
.llp-gallery-control{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;margin:0;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(0,0,0,.7);color:#fff;font-family:Arial,sans-serif;font-size:32px;font-weight:400;line-height:1;text-align:center;cursor:pointer;appearance:none;-webkit-appearance:none}
.llp-gallery-control:hover{background:rgba(255,255,255,.2)}
.llp-gallery-close{top:20px;right:20px}.llp-gallery-prev{left:20px;top:50%;transform:translateY(-50%)}.llp-gallery-next{right:20px;top:50%;transform:translateY(-50%)}
.llp-gallery-counter{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);color:#fff;font:14px/1.2 Arial,sans-serif;background:rgba(0,0,0,.55);padding:8px 12px;border-radius:999px}
@media(max-width:900px){.projects-grid{grid-template-columns:1fr;gap:64px}.project-media{aspect-ratio:16/10}.project-main-button img{height:100%}}
@media(max-width:700px){.llp-gallery-overlay{padding:10px}.llp-gallery-photo{max-width:calc(100vw - 80px);max-height:calc(100vh - 100px)}.llp-gallery-control{width:42px;height:42px;min-width:42px;min-height:42px}.llp-gallery-close{top:10px;right:10px}.llp-gallery-prev{left:5px}.llp-gallery-next{right:5px}.llp-gallery-counter{bottom:10px}.project-thumb{flex-basis:76px;width:76px;height:58px}}
