:root{--black:#0b0b0c;--black-soft:#171513;--gold:#d8a53d;--gold-light:#f0c86e;--cream:#f6f2eb;--white:#fff;--ink:#171615;--muted:#746e66;--line:#ddd5ca;--shadow:0 22px 60px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;background:var(--cream);color:var(--ink)}a{color:inherit}button,input,select,textarea{font:inherit}.site-header{position:relative;z-index:20;background:rgba(11,11,12,.97);color:var(--white);border-bottom:1px solid rgba(216,165,61,.48)}.header-inner{max-width:1440px;margin:auto;min-height:94px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand-mark{width:44px;height:48px;display:grid;grid-template-columns:15px 27px;gap:3px;transform:skewY(-7deg)}.brand-mark i{background:linear-gradient(180deg,var(--gold-light),var(--gold));display:block}.brand-mark b{display:block;border:4px solid var(--white);clip-path:polygon(0 0,100% 10%,100% 100%,50% 77%,0 100%)}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:20px;letter-spacing:.13em}.brand-copy small{font-size:8px;letter-spacing:.14em;color:#d9d5ce}.main-menu{display:flex;align-items:center;justify-content:flex-end;gap:21px}.main-menu a{text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap;padding:12px 0;border-bottom:1px solid transparent}.main-menu a:hover,.main-menu a:focus-visible{color:var(--gold-light)}.main-menu .solar-link{color:var(--gold-light)}.main-menu .active{padding:12px 18px;background:var(--gold);color:var(--black);border-radius:7px}.menu-toggle{display:none;background:none;color:var(--white);border:0;padding:10px}.menu-toggle span{display:block;width:26px;height:2px;background:currentColor;margin:5px}.menu-toggle em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hero{position:relative;overflow:hidden;min-height:560px;background:linear-gradient(128deg,#090909 0%,#161310 62%,#261b0d 100%);color:var(--white);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:50px;padding:76px max(7vw,42px)}.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(216,165,61,.19),transparent 65%);right:-100px;top:-180px}.hero-content{position:relative;z-index:2;max-width:700px}.eyebrow{margin:0 0 13px;text-transform:uppercase;color:var(--gold-light);font-size:12px;font-weight:700;letter-spacing:.17em}.eyebrow.dark{color:#a76d00}.hero h1{margin:0 0 21px;font-size:clamp(42px,5.2vw,75px);line-height:1.02;letter-spacing:-.04em;max-width:720px}.intro{margin:0;max-width:670px;color:#d5d0c8;font-size:17px;line-height:1.72}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:36px}.quick-actions a{min-height:92px;border:1px solid rgba(255,255,255,.18);padding:15px;text-decoration:none;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;background:rgba(255,255,255,.025);transition:.2s}.quick-actions a:hover{border-color:var(--gold);transform:translateY(-2px);background:rgba(216,165,61,.07)}.quick-actions span{grid-row:1/3;color:var(--gold-light);font-size:22px}.quick-actions strong{font-size:13px}.quick-actions small{font-size:10px;color:#aaa39a}.hero-visual{position:relative;z-index:2;min-height:330px;border:1px solid rgba(216,165,61,.36);background:linear-gradient(155deg,rgba(216,165,61,.12),rgba(255,255,255,.015));overflow:hidden;box-shadow:var(--shadow)}.hero-visual .sun{position:absolute;width:85px;height:85px;border-radius:50%;background:radial-gradient(circle,#fff2b0 0%,#e6a92f 33%,rgba(230,169,47,.05) 72%);right:13%;top:12%}.roof{position:absolute;transform:skewX(-22deg)}.roof-back{width:300px;height:150px;background:#231f1b;right:7%;bottom:66px;border-top:4px solid var(--gold)}.roof-front{width:330px;height:162px;background:linear-gradient(135deg,#26343b,#0c171c);left:8%;bottom:48px;border:3px solid #6c8490;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:12px}.roof-front span{border:1px solid rgba(255,255,255,.42);background:linear-gradient(145deg,rgba(91,138,159,.35),rgba(6,16,22,.75))}.house{position:absolute;left:17%;right:10%;height:70px;bottom:0;background:#d6cec0;display:flex;align-items:flex-end;justify-content:center;gap:36px}.house i{width:45px;height:53px;background:#151515;border:4px solid #f0e8d8}.hero-visual>p{position:absolute;z-index:4;left:24px;top:25px;margin:0;font-size:12px;line-height:1.7;color:#d8d2c9}.hero-visual>p strong{color:var(--gold-light)}
.contact-section{max-width:1320px;margin:0 auto;padding:78px 42px;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);gap:54px}.form-column h2,.contact-card h2{margin:0;font-size:clamp(29px,3vw,44px);letter-spacing:-.035em}.section-intro{color:var(--muted);line-height:1.7;max-width:720px;margin:14px 0 30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:8px;font-size:12px;font-weight:700}label.wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:15px 14px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,165,61,.16)}textarea{min-height:132px;resize:vertical}.privacy{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;font-weight:500;color:var(--muted);line-height:1.45}.privacy input{width:17px;height:17px;margin-top:2px;accent-color:var(--gold)}.submit-button{margin-top:22px;border:0;border-radius:7px;background:var(--gold);color:var(--black);font-weight:700;padding:16px 23px;cursor:pointer;box-shadow:0 10px 24px rgba(147,92,0,.18)}.submit-button:hover{background:var(--gold-light)}.submit-button span{margin-left:12px}.form-status{min-height:22px;font-size:13px;color:#755000}.contact-card{background:var(--black-soft);color:var(--white);padding:39px;align-self:start;box-shadow:var(--shadow)}.contact-card h2{margin-bottom:29px}.contact-line{display:grid;grid-template-columns:34px 1fr;gap:13px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12)}.contact-line>span{color:var(--gold-light);font-size:23px}.contact-line strong{font-size:13px}.contact-line p{margin:5px 0 0;color:#c5bfb7;font-size:13px;line-height:1.7}.contact-line a{text-decoration:none}.solar-card{margin-top:23px;background:#28221a;border:1px solid rgba(216,165,61,.42);padding:21px;display:grid;grid-template-columns:35px 1fr;gap:13px}.solar-icon{font-size:28px;color:var(--gold-light)}.solar-card strong{font-size:14px}.solar-card p{font-size:12px;color:#c9c1b7;line-height:1.55}.solar-card a{color:var(--gold-light);font-weight:700;font-size:12px;text-decoration:none}
footer{background:var(--black);color:#aaa49c;text-align:center;padding:44px 24px;display:grid;justify-items:center;gap:13px;font-size:12px}.footer-brand{color:var(--white);font-size:21px;font-weight:700;letter-spacing:.15em;text-decoration:none}footer p{margin:0;color:var(--gold-light);text-transform:uppercase;letter-spacing:.11em;font-size:9px}footer nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}footer nav a{text-decoration:none;color:#d5d0c8}footer small{font-size:10px}
@media(max-width:1120px){.header-inner{padding:0 24px}.main-menu{gap:12px}.main-menu a{font-size:9px}.hero{padding-left:42px;padding-right:42px}.quick-actions{grid-template-columns:1fr}.quick-actions a{min-height:66px}.contact-section{gap:34px}}
@media(max-width:860px){.site-header{position:sticky;top:0}.header-inner{min-height:78px}.menu-toggle{display:block}.main-menu{display:none;position:absolute;left:0;right:0;top:78px;background:#0b0b0c;padding:12px 22px 24px;flex-direction:column;align-items:stretch;border-top:1px solid rgba(216,165,61,.35)}.main-menu.open{display:flex}.main-menu a{font-size:12px;padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.main-menu .active{text-align:center}.hero{grid-template-columns:1fr;min-height:auto;padding:56px 26px}.hero-visual{min-height:270px}.contact-section{grid-template-columns:1fr;padding:55px 24px}.contact-card{max-width:none}}
@media(max-width:560px){.brand-copy strong{font-size:16px}.brand-copy small{font-size:6.5px}.brand-mark{width:35px;height:39px;grid-template-columns:12px 21px}.hero h1{font-size:42px}.intro{font-size:15px}.hero-visual{min-height:220px}.quick-actions{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}label.wide{grid-column:auto}.contact-card{padding:27px 22px}.hero,.contact-section{padding-left:18px;padding-right:18px}}

/* Logo officiel et photographie principale */
.brand{gap:0}.brand>img{display:block;width:206px;height:auto;max-height:63px;object-fit:contain}.hero-visual{background:#171513}.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-visual::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.03) 35%,rgba(0,0,0,.7) 100%)}.hero-visual>p{top:auto;bottom:22px;color:#fff}.hero-visual>p strong{color:var(--gold-light)}
@media(max-width:560px){.brand>img{width:170px}}

.hotspot{position:absolute;z-index:5;width:30px;height:30px;border:0;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(216,165,61,.22),0 3px 12px rgba(0,0,0,.42);cursor:pointer;padding:0;transition:.2s}.hotspot::before,.hotspot::after{content:"";position:absolute;background:var(--black);left:9px;right:9px;top:14px;height:2px}.hotspot::after{transform:rotate(90deg)}.hotspot span{position:absolute;left:50%;bottom:calc(100% + 13px);transform:translate(-50%,8px);background:rgba(11,11,12,.94);color:#fff;border:1px solid rgba(216,165,61,.62);border-radius:6px;padding:9px 12px;font-size:11px;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}.hotspot:hover,.hotspot:focus-visible,.hotspot.active{background:var(--gold-light);transform:scale(1.08)}.hotspot:hover span,.hotspot:focus-visible span,.hotspot.active span{opacity:1;transform:translate(-50%,0)}.hotspot-solar{left:73%;top:22%}.hotspot-house{left:53%;top:50%}.hotspot-terrace{left:32%;top:73%}.hotspot-pool{left:77%;top:74%}
@media(max-width:560px){.hotspot{width:27px;height:27px}.hotspot::before,.hotspot::after{left:8px;right:8px;top:12px}.hotspot span{font-size:10px;padding:7px 9px}.hotspot-solar{left:72%;top:21%}.hotspot-house{left:52%;top:48%}.hotspot-terrace{left:30%;top:72%}.hotspot-pool{left:77%;top:73%}}

/* Repères purement informatifs : aucun lien ni action cachée */
.hotspot{display:none}.activity-tag{position:absolute;z-index:5;display:flex;align-items:center;gap:7px;background:rgba(11,11,12,.78);color:#fff;border:1px solid rgba(216,165,61,.7);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;white-space:nowrap;backdrop-filter:blur(5px);box-shadow:0 4px 15px rgba(0,0,0,.24);pointer-events:none}.activity-tag i{width:7px;height:7px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 0 4px rgba(216,165,61,.16)}.tag-solar{left:63%;top:19%}.tag-house{left:43%;top:47%}.tag-terrace{left:20%;top:70%}.tag-pool{left:73%;top:70%}.more-projects{position:absolute;z-index:5;right:17px;top:17px;background:rgba(255,255,255,.9);color:var(--black);border-radius:5px;padding:8px 11px;font-size:9px;font-weight:700;letter-spacing:.02em;pointer-events:none}
@media(max-width:560px){.activity-tag{font-size:8px;padding:5px 7px;gap:5px}.activity-tag i{width:5px;height:5px;box-shadow:0 0 0 3px rgba(216,165,61,.16)}.tag-solar{left:57%;top:18%}.tag-house{left:39%;top:45%}.tag-terrace{left:9%;top:69%}.tag-pool{left:72%;top:69%}.more-projects{right:8px;top:8px;font-size:7px;padding:6px 7px}}

/* Mise en lumière interactive des savoir-faire */
.activity-tag{border:1px solid rgba(216,165,61,.7);font-family:inherit;cursor:pointer;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.activity-tag:hover,.activity-tag:focus-visible,.activity-tag.active{transform:scale(1.12);background:rgba(216,165,61,.94);color:var(--black);box-shadow:0 0 0 5px rgba(216,165,61,.18),0 8px 24px rgba(0,0,0,.38);outline:none}.activity-tag:hover i,.activity-tag:focus-visible i,.activity-tag.active i{background:var(--black);box-shadow:0 0 0 4px rgba(255,255,255,.28)}.activity-zone{position:absolute;z-index:3;pointer-events:none;opacity:0;transition:opacity .25s ease,filter .25s ease}.zone-solar{left:58%;top:12%;width:33%;height:23%;clip-path:polygon(8% 18%,98% 3%,92% 80%,0 100%);background:linear-gradient(110deg,transparent 25%,rgba(255,229,137,.76) 46%,transparent 66%);background-size:220% 100%}.zone-house{left:18%;top:29%;width:72%;height:40%;border:3px solid rgba(240,200,110,.92);clip-path:polygon(0 10%,95% 0,100% 100%,4% 94%);box-shadow:inset 0 0 35px rgba(216,165,61,.22),0 0 25px rgba(216,165,61,.5)}.zone-terrace{left:0;top:57%;width:69%;height:43%;clip-path:polygon(0 18%,95% 0,76% 100%,0 100%);background:linear-gradient(105deg,transparent 28%,rgba(255,220,130,.48) 49%,transparent 69%);background-size:230% 100%}.zone-pool{left:58%;top:59%;width:42%;height:41%;clip-path:polygon(10% 7%,100% 0,100% 100%,0 100%);background:repeating-linear-gradient(105deg,rgba(255,255,255,.03) 0 12px,rgba(135,230,255,.32) 14px 18px,rgba(255,255,255,.03) 20px 34px);background-size:190% 100%}.hero-visual[data-active="solar"] .zone-solar,.hero-visual[data-active="house"] .zone-house,.hero-visual[data-active="terrace"] .zone-terrace,.hero-visual[data-active="pool"] .zone-pool{opacity:1}.hero-visual[data-active="solar"] .zone-solar,.hero-visual[data-active="terrace"] .zone-terrace{animation:mayemboSweep 1.35s ease-in-out infinite}.hero-visual[data-active="pool"] .zone-pool{animation:mayemboWater 1.8s linear infinite}.hero-visual[data-active="house"] .zone-house{animation:mayemboPulse 1.25s ease-in-out infinite}
@keyframes mayemboSweep{0%{background-position:130% 0}100%{background-position:-120% 0}}@keyframes mayemboWater{0%{background-position:0 0}100%{background-position:100% 0}}@keyframes mayemboPulse{0%,100%{filter:brightness(.9);opacity:.65}50%{filter:brightness(1.35);opacity:1}}
@media(prefers-reduced-motion:reduce){.activity-zone,.activity-tag{animation:none!important;transition:none!important}}
.activity-tag{pointer-events:auto}
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.submit-button:disabled{opacity:.62;cursor:wait}
