*{margin:0;padding:0;box-sizing:border-box}
[data-theme="dark"]{--bg:#0d0c0b;--deep:#111009;--card:#181612;--border:#252218;--text:#ddd8cc;--cream:#f2ece0;--muted:#6e6758;--muted2:#4a4640;--surface:#1e1c18;--footer-bg:#0a0900;--toggle-bg:#252218}
[data-theme="light"]{--bg:#faf9f6;--deep:#f2efe8;--card:#ffffff;--border:#e5e0d5;--text:#2a2520;--cream:#1a1614;--muted:#8a8070;--muted2:#c0b8a8;--surface:#f5f1ea;--footer-bg:#1a1814;--toggle-bg:#e8e3d8}
:root{--orange:#e96503;--orange-light:#f07a28;--orange-pale:rgba(233,101,3,.08);--serif:'Playfair Display',Georgia,serif;--sans:'Outfit',sans-serif}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6;overflow-x:hidden;transition:background .35s,color .35s}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:26px 56px;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
nav.scrolled{background:rgba(13,12,11,.92);padding:16px 56px;border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}
[data-theme="light"] nav.scrolled{background:rgba(250,249,246,.94)}
.nav-logo{text-decoration:none;display:flex;align-items:center;line-height:1}
.nav-logo-img{height:110px;width:auto;display:block;transition:all .35s}
nav.scrolled .nav-logo-img{height:70px}
.logo-light{display:none}
[data-theme="light"] nav.scrolled .logo-dark{display:none}
[data-theme="light"] nav.scrolled .logo-light{display:block}
.nav-links{display:flex;gap:38px;align-items:center}
.nav-links a{color:rgba(255,255,255,.85);text-decoration:none;font-size:14px;letter-spacing:2px;text-transform:uppercase;font-weight:400;transition:color .25s}
.nav-links a:hover{color:#fff}
nav.scrolled .nav-links a{color:var(--muted)}
nav.scrolled .nav-links a:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:14px}
.theme-toggle{width:56px;height:28px;background:rgba(255,255,255,.1);border-radius:14px;position:relative;cursor:pointer;border:1px solid rgba(255,255,255,.15);transition:background .35s,border-color .35s;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 6px}
nav.scrolled .theme-toggle{background:var(--toggle-bg);border-color:var(--border)}
.toggle-ico{font-size:14px;position:relative;z-index:1;transition:color .35s,opacity .35s}
.toggle-sun{color:rgba(255,255,255,.4);opacity:.5}
.toggle-moon{color:var(--orange);opacity:1}
[data-theme="light"] .toggle-sun{color:var(--orange);opacity:1}
[data-theme="light"] .toggle-moon{color:var(--muted);opacity:.4}
nav.scrolled .toggle-sun{color:var(--muted)}
nav.scrolled .toggle-moon{color:var(--orange)}
[data-theme="light"] nav.scrolled .toggle-sun{color:var(--orange)}
[data-theme="light"] nav.scrolled .toggle-moon{color:var(--muted)}
.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--orange);transition:transform .35s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 4px rgba(0,0,0,.3)}
[data-theme="light"] .toggle-thumb{transform:translateX(28px)}
.nav-cta{background:var(--orange);color:#fff;padding:10px 24px;font-size:14px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all .3s;border:1px solid var(--orange)}
.nav-cta:hover{background:transparent;color:var(--orange)}
.nav-cta-ghost{background:transparent;color:#fff;padding:10px 24px;font-size:14px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all .3s;border:1px solid rgba(255,255,255,.55)}
.nav-cta-ghost:hover{background:#fff;color:var(--orange);border-color:#fff}
nav.scrolled .nav-cta-ghost{color:var(--text);border-color:var(--border)}
nav.scrolled .nav-cta-ghost:hover{background:var(--orange);color:#fff;border-color:var(--orange)}

/* HERO */
.hero{min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.hero-photo{position:absolute;inset:0;z-index:0}
.hero-photo img,.hero-photo video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-overlay{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.55)}
.hero-gradient{position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,rgba(8,6,4,.75) 0%,rgba(8,6,4,.35) 55%,rgba(8,6,4,.1) 100%)}
.hero-line{position:absolute;right:220px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(233,101,3,.18) 30%,rgba(233,101,3,.18) 70%,transparent);z-index:3}
.hero-yr{position:absolute;right:52px;bottom:44px;font-family:var(--serif);font-size:150px;font-weight:700;color:rgba(233,101,3,.07);line-height:1;user-select:none;z-index:3}
.hero-content{position:relative;z-index:4;padding:0 56px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;animation:fu 1.1s cubic-bezier(.16,1,.3,1) forwards;opacity:0}
@keyframes fu{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.eyebrow-row{display:flex;align-items:center;gap:13px;margin-bottom:26px}
.eyebrow-line{width:32px;height:1px;background:var(--orange);flex-shrink:0}
.eyebrow-txt{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--orange);font-weight:500}
.hero h1{font-family:var(--serif);font-size:clamp(36px,4.5vw,60px);font-weight:400;line-height:1.1;color:#fff;margin-bottom:28px;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.hero h1 em{font-style:italic;color:var(--orange)}
.hero-p2{font-size:16px;color:rgba(255,255,255,.65);font-weight:300;line-height:1.8;max-width:560px;margin-bottom:44px}
.search-wrap{display:flex;flex-direction:column;max-width:860px;width:100%;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);animation:fu 1.3s .15s cubic-bezier(.16,1,.3,1) forwards;opacity:0;border-radius:6px;box-shadow:0 8px 32px rgba(0,0,0,.2)}
.search-fields{display:flex;flex:1}
.sf{flex:1;padding:20px 24px;border-right:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:5px;min-width:0;transition:background .2s}
.sf:hover{background:rgba(233,101,3,.04)}
.sf-lbl{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#9a8e7e;font-weight:500}
.sf select,.sf input{background:none;border:none;outline:none;color:#1a1614;font-family:var(--sans);font-size:14px;font-weight:400;cursor:pointer;width:100%;padding:3px 0;-webkit-appearance:none;appearance:none}
.sf select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239a8e7e'/%3E%3C/svg%3E") no-repeat right center/10px;padding-right:18px}
.sf select option{background:#fff;color:#1a1614}
.sf input::placeholder{color:#b0a898}
.s-btn{background:var(--orange);border:none;padding:16px 38px;color:#fff;font-family:var(--sans);font-size:14px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .25s;white-space:nowrap;flex-shrink:0;border-radius:0 0 6px 6px}
@media(min-width:961px){.search-wrap{flex-direction:row}.search-fields{flex:1}.s-btn{border-radius:0 6px 6px 0;padding:0 38px}}
.s-btn:hover{background:var(--orange-light)}
.hero-scroll{position:absolute;bottom:36px;left:56px;display:flex;align-items:center;gap:13px;z-index:4;animation:fu 1.5s .3s forwards;opacity:0}
.hero-scroll span{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.38)}
.scroll-bar{width:44px;height:1px;background:rgba(255,255,255,.15);overflow:hidden;position:relative}
.scroll-bar::after{content:'';position:absolute;inset:0;background:var(--orange);animation:sb 2.2s 2s ease-in-out infinite;transform:translateX(-100%)}
@keyframes sb{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}

/* PILLARS */
.pillars{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:50px 56px;display:grid;grid-template-columns:repeat(3,1fr);transition:background .35s,border-color .35s}
.pillar{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 36px;border-right:1px solid var(--border)}
.pillar:last-child{border-right:none}
.pillar-ico{width:50px;height:50px;border:1px solid rgba(233,101,3,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--orange);transition:all .3s}
.pillar:hover .pillar-ico{background:var(--orange);border-color:var(--orange);color:#fff}
.pillar-ico .material-icons{font-size:21px}
.pillar-t{font-family:var(--serif);font-size:18px;font-weight:500;color:#fff;line-height:1.3;transition:color .35s}
[data-theme="light"] .pillar-t{color:var(--cream)}

/* TRUST */
.trust{background:var(--card);border-bottom:1px solid var(--border);padding:0 56px;display:grid;grid-template-columns:repeat(4,1fr);transition:background .35s,border-color .35s}
.ti{padding:30px 0;text-align:center;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:5px}
.ti:last-child{border-right:none}
.ti-num{font-family:var(--serif);font-size:40px;font-weight:700;color:#fff;line-height:1;transition:color .35s}
[data-theme="light"] .ti-num{color:var(--cream)}
.ti-num sup{color:var(--orange);font-size:24px}
.ti-lbl{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.4);transition:color .35s}
[data-theme="light"] .ti-lbl{color:var(--muted)}

/* SECTIONS */
section{padding:84px 56px;transition:background .35s}
.sec-ey{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sec-ey::before{content:'';width:26px;height:1px;background:var(--orange)}
.sec-ey span{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--orange);font-weight:500}
h2.st{font-family:var(--serif);font-size:clamp(30px,3.6vw,50px);font-weight:400;color:#fff;line-height:1.1;margin-bottom:12px;transition:color .35s}
[data-theme="light"] h2.st{color:var(--cream)}
h2.st em{font-style:italic;color:var(--orange)}
h2.st strong{font-weight:700}
.ss{color:rgba(255,255,255,.5);font-size:16px;font-weight:300;max-width:500px;line-height:1.85;margin-bottom:46px;transition:color .35s}
[data-theme="light"] .ss{color:var(--muted)}

/* BIENS */
.ph{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;flex-wrap:wrap;gap:18px}
.filters{display:flex;gap:5px}
.fb{background:none;border:1px solid var(--border);color:var(--muted);padding:8px 20px;font-size:14px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:var(--sans);font-weight:400;transition:all .25s}
.fb.active,.fb:hover{border-color:var(--orange);color:var(--orange);background:var(--orange-pale)}
.mg{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.mg-col{display:flex;flex-direction:column;gap:3px}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:3px}
.view-all{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);color:var(--muted);padding:12px 30px;font-size:14px;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;transition:all .3s;font-weight:400}
.view-all:hover{border-color:var(--orange);color:var(--orange)}

/* CARDS */
.card{position:relative;overflow:hidden;cursor:pointer;background:var(--card);transition:background .35s}
.card-img{position:relative;overflow:hidden}
.card .card-img{aspect-ratio:3/2}
.sg .card .card-img{aspect-ratio:3/2}
.cg{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,9,8,.78) 0%,rgba(10,9,8,.12) 55%,transparent 100%);z-index:1}
.cb{position:absolute;top:16px;left:16px;z-index:2;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;padding:5px 12px;font-weight:500}
.cb.sale{background:var(--orange);color:#fff}
.cb.exclu{background:#f2ece0;color:#0d0c0b}
.cbody{padding:20px 22px 22px}
.ctype{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--orange);margin-bottom:6px;font-weight:500}
.cname{font-family:var(--serif);font-size:19px;font-weight:500;color:#fff;margin-bottom:4px;line-height:1.25;transition:color .35s}
[data-theme="light"] .cname{color:var(--cream)}
.cloc{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:12px;display:flex;align-items:center;gap:7px;transition:color .35s}
[data-theme="light"] .cloc{color:var(--muted)}
.cloc::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--orange);flex-shrink:0;opacity:.7}
.cfeats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px}
.cfeat{font-size:14px;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:5px;transition:color .35s}
.cfeat .material-icons,.cfeat .material-icons-outlined{font-size:18px;color:var(--orange)}
[data-theme="light"] .cfeat{color:var(--muted)}
.cfeat strong{color:#fff;font-weight:500;transition:color .35s}
[data-theme="light"] .cfeat strong{color:var(--text)}
.cfoot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:13px;transition:border-color .35s}
.cprice{font-family:var(--serif);font-size:23px;font-weight:500;color:#fff;transition:color .35s}
[data-theme="light"] .cprice{color:var(--cream)}
.cprice small{font-family:var(--sans);font-size:14px;color:rgba(255,255,255,.45);font-weight:300;transition:color .35s}
[data-theme="light"] .cprice small{color:var(--muted)}
.carr{width:32px;height:32px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .3s;font-size:14px}
.card:hover .carr{border-color:var(--orange);color:var(--orange);background:var(--orange-pale);transform:rotate(45deg)}
.photo-ferme{background:linear-gradient(160deg,#2c3e20 0%,#4a6632 30%,#3d5228 60%,#1e2d14 100%);position:relative}
.photo-ferme::after{content:'';position:absolute;bottom:20px;right:20px;font-size:64px;opacity:.12;filter:grayscale(1)}
.photo-villa{background:linear-gradient(145deg,#1a2535 0%,#2d4060 40%,#1e304a 100%);position:relative}
.photo-villa::after{content:'';position:absolute;bottom:20px;right:20px;font-size:64px;opacity:.12;filter:grayscale(1)}
.photo-appart{background:linear-gradient(145deg,#251e30 0%,#3d2e50 40%,#2a2038 100%);position:relative}
.photo-appart::after{content:'';position:absolute;bottom:20px;right:20px;font-size:64px;opacity:.12;filter:grayscale(1)}
.photo-chalet{background:linear-gradient(145deg,#1a2e1a 0%,#2d4a25 40%,#1e3518 100%);position:relative}
.photo-chalet::after{content:'';position:absolute;bottom:20px;right:20px;font-size:64px;opacity:.12;filter:grayscale(1)}
.photo-terrain{background:linear-gradient(145deg,#2e2a1a 0%,#4a4020 40%,#352e14 100%);position:relative}
.photo-terrain::after{content:'';position:absolute;bottom:20px;right:20px;font-size:64px;opacity:.12;filter:grayscale(1)}
.photo-commerce{background:linear-gradient(145deg,#2e1a1a 0%,#4a2c20 40%,#351e14 100%);position:relative}
.photo-commerce::after{content:'';position:absolute;bottom:20px;right:20px;font-size:64px;opacity:.12;filter:grayscale(1)}
.photo-expert{background:linear-gradient(145deg,#20181a 0%,#3a2828 50%,#28181a 100%)}
.photo-ardennes{background:linear-gradient(145deg,#141e14 0%,#243824 50%,#141e14 100%)}
.photo-ferme::before,.photo-villa::before,.photo-appart::before,.photo-chalet::before,.photo-terrain::before,.photo-commerce::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(255,255,255,.018) 40px,rgba(255,255,255,.018) 41px)}
.photo-ferme,.photo-villa,.photo-appart,.photo-chalet,.photo-terrain,.photo-commerce{box-shadow:inset 0 -80px 60px rgba(233,101,3,.08)}

/* ESTIM */
.estim{background:#060504;position:relative;overflow:hidden;padding:100px 56px;text-align:center;border-top:1px solid rgba(233,101,3,.12);border-bottom:1px solid rgba(233,101,3,.12)}
.estim::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 110%,rgba(233,101,3,.16) 0%,transparent 60%)}
.estim::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% -20%,rgba(233,101,3,.06) 0%,transparent 55%)}
.estim-deco{position:absolute;font-family:var(--serif);font-size:clamp(120px,18vw,240px);font-weight:700;color:rgba(233,101,3,.03);line-height:1;top:50%;left:50%;transform:translate(-50%,-50%);user-select:none;white-space:nowrap;pointer-events:none;letter-spacing:8px}
.estim-inner{position:relative;z-index:1}
.estim-tag{display:inline-flex;align-items:center;gap:16px;margin-bottom:28px}
.estim-tag::before,.estim-tag::after{content:'';width:44px;height:1px;background:rgba(233,101,3,.4)}
.estim-tag span{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:rgba(233,101,3,.8)}
.estim h2{font-family:var(--serif);font-size:clamp(32px,4.5vw,58px);font-weight:400;color:#fff;line-height:1.1;margin-bottom:40px}
.estim h2 em{font-style:italic;color:var(--orange)}
.estim-btn{display:inline-flex;align-items:center;gap:14px;background:var(--orange);color:#fff;padding:20px 54px;font-family:var(--sans);font-size:14px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all .35s;border:1px solid var(--orange)}
.estim-btn:hover{background:transparent;color:var(--orange)}
.estim-note{margin-top:22px;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.25)}

/* ATOUTS */
.atouts-bg{background:var(--deep);transition:background .35s}
.atouts-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:44px}
.atout-img{position:relative;overflow:hidden;min-height:420px}
.atout-ovl{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,9,8,.55),rgba(233,101,3,.06))}
.atout-box{background:var(--card);padding:48px 44px;display:flex;flex-direction:column;justify-content:center;transition:background .35s}
.atout-list{list-style:none;display:flex;flex-direction:column;margin-top:28px}
.ai{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--border);transition:border-color .35s}
.ai:first-child{border-top:1px solid var(--border)}
.ai:hover .ai-ico{background:var(--orange);border-color:var(--orange);color:#fff}
.ai-ico{width:28px;height:28px;border:1px solid rgba(233,101,3,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0;transition:all .25s}
.ai-ico .material-icons{font-size:15px}
.ai-txt{font-size:14px;color:var(--text);font-weight:300;transition:color .35s}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);margin-top:44px;transition:border-color .35s}
.svc{padding:36px 30px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .3s,border-color .35s;cursor:pointer;position:relative;overflow:hidden}
.svc:nth-child(3n){border-right:none}
.svc:nth-child(n+4){border-bottom:none}
.svc::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--orange);transition:width .4s}
.svc:hover::after{width:100%}
.svc:hover{background:var(--orange-pale)}
.svc-n{font-family:var(--serif);font-size:46px;font-weight:700;color:rgba(233,101,3,.07);line-height:1;margin-bottom:14px}
.svc-ico{width:38px;height:38px;border:1px solid rgba(233,101,3,.28);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--orange);transition:all .3s}
.svc-ico .material-icons{font-size:19px}
.svc:hover .svc-ico{background:var(--orange);border-color:var(--orange);color:#fff}
.svc-t{font-family:var(--serif);font-size:17px;font-weight:500;color:#fff;margin-bottom:8px;transition:color .35s}
[data-theme="light"] .svc-t{color:var(--cream)}
.svc-d{font-size:14px;color:rgba(255,255,255,.45);line-height:1.8;font-weight:300;transition:color .35s}
[data-theme="light"] .svc-d{color:var(--muted)}
.svc-guarantee{text-align:center;margin-top:32px;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);font-weight:500}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.about-photo{position:relative;overflow:hidden;min-height:460px}
.about-photo-ovl{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,9,8,.5),transparent 60%)}
.ay-tag{position:absolute;bottom:22px;right:22px;background:var(--orange);color:#fff;padding:14px 18px;text-align:center}
.ay-tag .num{font-family:var(--serif);font-size:36px;font-weight:700;line-height:1;display:block}
.ay-tag .lbl{font-size:11px;letter-spacing:2px;text-transform:uppercase;display:block;margin-top:2px}
.about-box{background:var(--card);padding:48px 44px;display:flex;flex-direction:column;justify-content:center;transition:background .35s}
.about-quote{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--muted);line-height:1.8;border-left:2px solid var(--orange);padding-left:18px;margin:24px 0;transition:color .35s}
.apts{display:flex;flex-direction:column;gap:12px}
.apt{display:flex;align-items:flex-start;gap:13px;padding:13px 14px;border:1px solid var(--border);transition:border-color .3s,background .3s}
.apt:hover{border-color:rgba(233,101,3,.2);background:var(--orange-pale)}
.apt-ico{color:var(--orange);flex-shrink:0;margin-top:2px}
.apt-ico .material-icons{font-size:17px}
.apt-t strong{display:block;color:var(--cream);font-size:15px;font-weight:500;margin-bottom:2px;transition:color .35s}
.apt-t span{font-size:14px;color:var(--muted);font-weight:300;line-height:1.55;transition:color .35s}

/* TEMOIGNAGES */
.testi-sec{background:var(--deep);border-top:1px solid var(--border);padding:84px 56px;transition:background .35s,border-color .35s}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:40px}
.testi{background:var(--card);padding:30px;border:1px solid var(--border);transition:border-color .3s,background .3s}
.testi:hover{border-color:rgba(233,101,3,.18);background:var(--surface)}
.testi-stars{color:var(--orange);font-size:14px;letter-spacing:3px;margin-bottom:14px}
.testi-div{width:20px;height:1px;background:rgba(233,101,3,.28);margin-bottom:13px}
.testi-q{font-family:var(--serif);font-size:16px;color:var(--cream);line-height:1.65;margin-bottom:18px;font-style:italic;transition:color .35s}
.testi-nm{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);font-weight:500;margin-bottom:2px}
.testi-dt{font-size:14px;color:var(--muted);font-weight:300;transition:color .35s}

/* CONTACT */
.ct-sec{background:var(--bg);border-top:1px solid var(--border);padding:84px 56px;transition:background .35s,border-color .35s}
.offices{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:40px}
.ofc{background:var(--card);padding:32px 34px;border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .35s,background .35s}
.ofc::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--orange);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.ofc:hover::before{transform:scaleY(1)}
.ofc:hover{border-color:rgba(233,101,3,.22)}
.ofc-name{font-family:var(--serif);font-size:20px;font-weight:500;color:#fff;margin-bottom:6px;transition:color .35s}
[data-theme="light"] .ofc-name{color:var(--cream)}
.ofc-divider{width:28px;height:1px;background:rgba(233,101,3,.35);margin:14px 0 20px}
.ofc-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.ofc-row .material-icons{font-size:16px;color:var(--orange);flex-shrink:0;margin-top:1px}
.ofc-row-t{font-size:14px;color:var(--muted);line-height:1.5;font-weight:300;transition:color .35s}
.ofc-row-t a{color:rgba(255,255,255,.75);font-weight:400;text-decoration:none;transition:color .25s}
[data-theme="light"] .ofc-row-t a{color:var(--text)}
.ofc-row-t a:hover{color:var(--orange)}
.h-title{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--orange);margin:20px 0 12px;font-weight:500;opacity:.8}
.h-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 24px;align-items:baseline}
.h-day{font-size:14px;color:rgba(255,255,255,.75);font-weight:400;padding:2px 0;transition:color .35s}
[data-theme="light"] .h-day{color:var(--text)}
.h-time{font-size:14px;color:var(--muted);font-weight:300;padding:2px 0;transition:color .35s}
.h-note{font-size:14px;color:var(--muted);font-style:italic;margin-top:14px;font-weight:300;line-height:1.6;transition:color .35s}
.form-sep{margin:60px 0 0;display:flex;align-items:center;gap:22px}
.form-sep::before,.form-sep::after{content:'';flex:1;height:1px;background:var(--border);transition:background .35s}
.form-sep-label{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--orange);white-space:nowrap;opacity:.75}
.form-card{background:var(--card);border:1px solid var(--border);padding:48px 44px;margin-top:3px;position:relative;overflow:hidden;transition:background .35s,border-color .35s}
.form-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent)}
.form-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;flex-wrap:wrap;gap:14px}
.form-head h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--cream);transition:color .35s}
.form-head h3 em{font-style:italic;color:var(--orange)}
.form-head-note{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:8px;transition:color .35s}
.form-head-note::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--orange);flex-shrink:0}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fg{margin-bottom:14px}
.fl{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:7px;transition:color .35s}
.fi{width:100%;background:var(--deep);border:1px solid var(--border);color:var(--text);padding:13px 16px;font-family:var(--sans);font-size:14px;font-weight:300;outline:none;transition:border .25s,background .25s;-webkit-appearance:none;appearance:none}
.fi:focus{border-color:var(--orange);background:rgba(233,101,3,.03)}
.fi::placeholder{color:var(--muted2);font-size:14px}
textarea.fi{resize:none}
.form-foot{display:flex;align-items:center;gap:22px;margin-top:6px;flex-wrap:wrap}
.f-btn{background:var(--orange);border:1px solid var(--orange);color:#fff;padding:15px 44px;font-family:var(--sans);font-size:14px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;cursor:pointer;transition:all .3s;flex-shrink:0}
.f-btn:hover{background:transparent;color:var(--orange)}
.f-btn-note{font-size:14px;color:var(--muted);font-weight:300;transition:color .35s}

.f-legal-block{border-top:1px solid rgba(255,255,255,.07);padding-top:24px;display:flex;flex-direction:column;gap:18px}
.f-legal-row{display:flex;flex-direction:column;gap:3px}
.f-legal-label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--orange);opacity:.7;white-space:nowrap}
.f-legal-val{font-size:13px;color:rgba(255,255,255,.45);font-weight:300;line-height:1.5}
.f-links-bot{display:flex;gap:18px}
.f-links-bot a{font-size:14px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s}
.f-links-bot a:hover{color:var(--orange)}

/* FOOTER */
footer{background:var(--footer-bg);border-top:1px solid rgba(255,255,255,.06);padding:60px 56px 30px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:44px;margin-bottom:44px}
.f-brand-img{height:90px;width:auto;display:block;margin-bottom:8px}
.f-slo{font-size:14px;color:rgba(255,255,255,.6);line-height:1.75;max-width:280px;font-weight:300;margin-top:5px}
.f-socials{display:flex;gap:7px;margin-top:20px}
.f-soc{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);text-decoration:none;font-size:13px;font-weight:500;transition:all .25s}
.f-soc:hover{border-color:var(--orange);color:var(--orange)}
.f-col-t{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--orange);margin-bottom:18px;font-weight:500}

.f-links{list-style:none;display:flex;flex-direction:column;gap:11px}
.f-links a{color:rgba(255,255,255,.6);text-decoration:none;font-size:14px;font-weight:300;transition:color .2s;display:flex;align-items:center;gap:6px}
.f-links a::before{content:'';width:0;height:1px;background:var(--orange);transition:width .25s;flex-shrink:0}
.f-links a:hover{color:#fff}
.f-links a:hover::before{width:11px}
.fh-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fh-name{font-size:11px;font-weight:500;color:var(--orange);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.fh-row{display:flex;justify-content:space-between;font-size:14px;color:rgba(255,255,255,.55);padding:4px 0;border-bottom:1px solid rgba(255,255,255,.07);font-weight:300;gap:6px}
.fh-row:last-of-type{border-bottom:none}
.fh-day{color:rgba(255,255,255,.8);flex-shrink:0}
.fh-note{font-size:14px;color:rgba(255,255,255,.4);font-style:italic;margin-top:7px}
.f-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin-bottom:24px}
.f-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.f-copy{font-size:14px;color:rgba(255,255,255,.5);font-weight:300}
.f-legal{font-size:11px;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.f-legal span{color:var(--orange)}
.f-legal a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.f-legal a:hover{color:var(--orange)}

/* REVEAL / CURSOR */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}

/* BIENS SLIDER (mobile) */
.biens-slider{display:none}
.slider-viewport{overflow:hidden;border-radius:8px}
.slider-track{display:flex;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.slider-track .card{flex:0 0 100%;min-width:0;border-radius:0}
.slider-track .card .card-img{aspect-ratio:3/2}
.slider-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px}
.slider-arrow{width:46px;height:46px;border:1px solid var(--orange);background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:all .25s}
.slider-arrow:hover{background:var(--orange-light);border-color:var(--orange-light)}
.slider-arrow.disabled{background:transparent;border-color:var(--border);color:var(--muted);opacity:.5;pointer-events:none}
.slider-arrow .material-icons{font-size:22px}

/* HAMBURGER BUTTON */
.hamburger{display:none;background:none;border:1px solid rgba(255,255,255,.2);width:40px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;transition:border-color .3s}
.hamburger span{display:block;width:18px;height:1.5px;background:#fff;transition:all .35s cubic-bezier(.16,1,.3,1)}
nav.scrolled .hamburger{border-color:var(--border)}
nav.scrolled .hamburger span{background:var(--text)}
.hamburger.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* MOBILE MENU OVERLAY */
.mobile-menu{position:fixed;inset:0;z-index:99;background:rgba(10,9,8,.97);backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.mobile-menu.open{opacity:1;visibility:visible}
[data-theme="light"] .mobile-menu{background:rgba(250,249,246,.97)}
.mobile-menu-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}
.mm-link{display:block;font-size:18px;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;padding:16px 0;font-weight:400;transition:color .25s;font-family:var(--sans)}
.mm-link:hover{color:var(--orange)}
[data-theme="light"] .mm-link{color:var(--text)}
.mm-divider{width:40px;height:1px;background:rgba(233,101,3,.3);margin:16px 0}
.mm-cta{display:inline-block;background:var(--orange);color:#fff;padding:14px 36px;font-size:13px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all .3s;border:1px solid var(--orange)}
.mm-cta:hover{background:transparent;color:var(--orange)}
.mm-cta-ghost{display:inline-block;background:transparent;color:var(--text);padding:14px 36px;margin-bottom:12px;font-size:13px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;font-weight:500;transition:all .3s;border:1px solid var(--border)}
.mm-cta-ghost:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
body.menu-open{overflow:hidden}

/* RESPONSIVE — NAV (hamburger kicks in early to avoid cramped CTAs) */
@media(max-width:1200px){
  nav,nav.scrolled{padding:16px 20px}
  .nav-links{display:none}
  .nav-cta,.nav-cta-ghost{display:none}
  .hamburger{display:flex}
  .nav-logo-img{height:65px}
  nav.scrolled .nav-logo-img{height:45px}
}

/* RESPONSIVE — TABLET */
@media(max-width:960px){
  /* Hero */
  .hero-content{padding:0 22px}
  .hero h1{font-size:clamp(28px,6vw,44px);margin-bottom:18px}
  .hero-p2{font-size:15px;margin-bottom:28px}
  .eyebrow-row{margin-bottom:18px}
  .hero-scroll{left:22px}
  .hero-yr{font-size:88px;right:20px}

  /* Search — compact vertical */
  .search-wrap{border-radius:8px;max-width:400px}
  .search-fields{flex-direction:column}
  .sf{padding:11px 16px;gap:2px;border-right:none;border-bottom:1px solid rgba(0,0,0,.06);min-width:0}
  .sf:last-child{border-bottom:none}
  .sf-lbl{font-size:9px;letter-spacing:2px}
  .sf select,.sf input{font-size:13px;padding:2px 0}
  .s-btn{border-radius:0 0 8px 8px;padding:13px 20px;font-size:13px;letter-spacing:2px}

  /* Sections */
  section,.testi-sec,.ct-sec{padding:56px 22px}
  .estim{padding:72px 22px}

  /* Pillars — 2 cols, 3rd centered */
  .pillars{grid-template-columns:repeat(2,1fr);padding:36px 22px}
  .pillar{border-right:1px solid var(--border)}
  .pillar:nth-child(2){border-right:none}
  .pillar:nth-child(3){border-right:none;border-top:1px solid var(--border);padding-top:28px;grid-column:1/-1;max-width:50%;margin:0 auto}

  /* Trust — 2 cols, fix all borders */
  .trust{grid-template-columns:repeat(2,1fr);padding:36px 22px}
  .ti{border-right:1px solid var(--border)}
  .ti:nth-child(2){border-right:none}
  .ti:nth-child(3){border-top:1px solid var(--border)}
  .ti:nth-child(4){border-right:none;border-top:1px solid var(--border)}

  /* Grids to 1 column */
  .mg,.sg{grid-template-columns:1fr}
  .about-grid,.atouts-grid,.offices,.fh-grid,.ft{grid-template-columns:1fr}
  .about-photo{min-height:260px}
  .atout-img{min-height:260px}

  /* Testimonials — 2 cols on tablet */
  .testi-grid{grid-template-columns:repeat(2,1fr)}
  .testi:last-child{grid-column:1/-1}

  /* Service grid — 2 cols on tablet */
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
  .svc:nth-child(2n){border-right:none}
  .svc:nth-child(n+5){border-bottom:none}
  .svc:last-child{grid-column:1/-1}
  .svc:last-child{border-bottom:none}

  /* Form */
  .form-card{padding:32px 22px}
  .fr{grid-template-columns:1fr 1fr}

  /* Footer — 2 cols then full */
  .ft{grid-template-columns:1fr 1fr;gap:36px}
  .ft>div:first-child{grid-column:1/-1}
}

/* RESPONSIVE — MOBILE */
@media(max-width:640px){
  /* Hero fine-tuning */
  .hero h1{font-size:clamp(24px,6.5vw,36px);margin-bottom:14px}
  .hero-p2{font-size:14px;margin-bottom:24px;line-height:1.7}
  .hero-yr{display:none}
  .eyebrow-row{margin-bottom:14px}
  .eyebrow-line{width:16px}
  .eyebrow-txt{font-size:10px;letter-spacing:3px}

  /* Search — full width small screens */
  .search-wrap{max-width:100%}

  /* Pillars — 1 column */
  .pillars{grid-template-columns:1fr}
  .pillar{border-right:none;border-bottom:1px solid var(--border);padding:22px 0}
  .pillar:nth-child(3){max-width:100%;border-top:none;padding-top:22px}
  .pillar:last-child{border-bottom:none}

  /* Trust — 2 cols kept, tighter */
  .trust{padding:24px 16px}
  .ti{padding:20px 0}
  .ti-num{font-size:32px}
  .ti-num sup{font-size:18px}

  /* Biens — mobile slider */
  .mg,.sg{display:none}
  .biens-slider{display:block}

  /* Testi — 1 col */
  .testi-grid{grid-template-columns:1fr}
  .testi:last-child{grid-column:auto}

  /* Services — 1 col */
  .svc-grid{grid-template-columns:1fr}
  .svc{border-right:none!important;border-bottom:1px solid var(--border)}
  .svc:last-child{grid-column:auto;border-bottom:none}
  .svc:nth-child(n+4){border-bottom:1px solid var(--border)}
  .svc:nth-child(6){border-bottom:none}

  /* Form */
  .fr{grid-template-columns:1fr}

  /* Footer — centered */
  footer{text-align:center}
  .ft{grid-template-columns:1fr;gap:32px}
  .ft>div{display:flex;flex-direction:column;align-items:center}
  .f-brand-img{margin:0 auto 8px}
  .f-slo{max-width:320px;text-align:center}
  .f-socials{justify-content:center}
  .f-links{align-items:center}
  .f-links a{justify-content:center}
  .f-col-t{text-align:center}
  .fh-grid{grid-template-columns:1fr;gap:28px;text-align:left}
  .f-legal-block{align-items:center;text-align:center}
  .f-legal-row{align-items:center}
  .f-bot{flex-direction:column;align-items:center;gap:8px;text-align:center}
  .f-links-bot{justify-content:center}
}

/* RESPONSIVE — SMALL PHONE */
@media(max-width:400px){
  nav,nav.scrolled{padding:12px 14px}
  .nav-logo-img{height:50px}
  nav.scrolled .nav-logo-img{height:38px}
  section,.testi-sec,.ct-sec{padding:40px 14px}
  .estim{padding:56px 14px}
  .pillars{padding:28px 14px}
  .trust{padding:20px 10px}
  .form-card{padding:24px 14px}
  footer{padding:40px 14px 24px}
  .cprice{font-size:20px}
  .cname{font-size:17px}
  .about-box{padding:32px 20px}
  .atout-box{padding:32px 20px}
  .mm-link{font-size:16px;padding:14px 0}
}