:root{
  --ink:#272420;
  --muted:#746d64;
  --paper:#eaf3ed;
  --paper-2:#dcebe2;
  --sand:#d9c5ab;
  --sage:#aeb8a2;
  --sage-deep:#71806b;
  --terracotta:#c97757;
  --terracotta-deep:#a85f45;
  --line:#dcebe2;
  --accent:#c7a77e;
  --white:#fff;
  --max:1240px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Futura,'Avenir Next',Avenir,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font-family:inherit}
.wrap{width:min(var(--max),calc(100% - 56px));margin:auto}
.topbar{font-size:12px;letter-spacing:.12em;word-spacing:.18em;text-transform:uppercase;background:#eaf3ed;color:#4d463f;text-align:center;padding:10px 14px;border-bottom:1px solid rgba(84,72,60,.08)}
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(121,104,87,.12)}
.nav{min-height:94px;display:flex;align-items:center;gap:34px}
.logo{width:154px}
.menu{display:flex;gap:34px;align-items:center;margin-left:auto;font-size:14px;letter-spacing:.055em;white-space:nowrap}
.menu>a:not(.cta){position:relative;padding:10px 0}
.menu>a:not(.cta):after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--terracotta);transition:.25s}
.menu>a:not(.cta):hover:after{right:0}
.cta{background:var(--terracotta);color:#fff;padding:15px 22px;border:1px solid var(--terracotta);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 9px 24px rgba(169,95,69,.18);transition:.22s ease;font-weight:600}
.cta:hover{background:var(--terracotta-deep);border-color:var(--terracotta-deep);transform:translateY(-1px)}
.cta.light{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 9px 28px rgba(0,0,0,.12)}
.cta.light:hover{background:var(--paper)}
.cta.secondary{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.7);backdrop-filter:blur(5px)}
.hero{min-height:78vh;position:relative;display:grid;align-items:end;overflow:hidden;background:#8d8277}
.hero video,.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(39,34,29,.58),rgba(39,34,29,.16) 62%,rgba(39,34,29,.12))}
.hero-content{position:relative;z-index:2;color:#fff;padding:116px 0 86px;max-width:790px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;word-spacing:.14em;font-size:12px;margin-bottom:20px}
.hero h1,.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.02;letter-spacing:-.02em;font-size:clamp(48px,6.6vw,84px);margin:0 0 28px}
.hero p{font-size:20px;max-width:680px;margin:0 0 34px;line-height:1.7}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.section{padding:112px 0}
.section.alt{background:linear-gradient(180deg,#f2f8f4,var(--paper))}
.section.soft{background:#eef0ea}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:48px}
.section h2{font:500 clamp(36px,4vw,58px)/1.08 Georgia,serif;margin:0}
.section-head p{max-width:570px;color:var(--muted);margin:0;font-size:17px;line-height:1.75}
.grid{display:grid;gap:22px}
.cards{grid-template-columns:repeat(3,1fr)}
.card{position:relative;min-height:420px;overflow:hidden;background:#ddd;border-radius:22px;box-shadow:0 18px 42px rgba(85,66,49,.08)}
.card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .55s}
.card:hover img{transform:scale(1.035)}
.card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(35,30,25,.63),transparent 62%)}
.card-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}
.card-copy h3{font:500 31px Georgia,serif;margin:0 0 6px}
.card-copy span{font-size:13px;opacity:.92;letter-spacing:.04em}
.projects{grid-template-columns:1.2fr .8fr;gap:24px}
.project-large,.project-small img{border-radius:22px;overflow:hidden}
.project-large img{height:650px;object-fit:cover;width:100%}
.project-small{display:grid;gap:24px}
.project-small img{height:313px;object-fit:cover;width:100%;box-shadow:0 12px 30px rgba(85,66,49,.07)}
.steps{grid-template-columns:repeat(3,1fr);counter-reset:step;gap:34px}
.step{border-top:1px solid #cfc2b3;padding:26px 8px 0 0}
.step:before{counter-increment:step;content:"0" counter(step);font-size:12px;letter-spacing:.15em;color:var(--terracotta)}
.step h3{font:500 28px Georgia,serif;margin:13px 0 10px}
.step p{color:var(--muted)}
.trust{grid-template-columns:repeat(4,1fr);gap:28px}
.trust div{padding:30px 24px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px rgba(85,66,49,.05)}
.trust strong{display:block;font:500 23px Georgia,serif;margin-bottom:8px}
.quote{background:#6d7668;color:#fff;padding:100px 0}
.quote blockquote{font:500 clamp(31px,4vw,52px)/1.22 Georgia,serif;margin:0;max-width:1000px}
.quote small{display:block;margin-top:26px;color:#eef1eb;letter-spacing:.05em}
.local{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}
.local-list{columns:2;color:var(--muted);background:var(--paper);padding:34px 40px;border-radius:22px}
.local-list p{margin:8px 0}
.footer{background:#2f312d;color:#eee;padding:72px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:56px}
.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#c9cdbf}
.footer p,.footer a{font-size:14px;color:#e3e5de}
.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:46px;padding-top:22px;color:#bfc2b9;font-size:12px}
.page-hero{padding:112px 0 68px;background:linear-gradient(135deg,#eaf3ed,#eaf3ed)}
.page-hero p{max-width:760px;font-size:19px;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:center}
.split img{height:580px;width:100%;object-fit:cover;border-radius:22px}
.gallery{grid-template-columns:repeat(3,1fr)}
.gallery img{width:100%;height:360px;object-fit:cover;border-radius:18px}
.seo-copy{max-width:850px}
.seo-copy h2{font-size:40px}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;font-weight:600}
.faq p{color:var(--muted);max-width:850px}
.form-shell{max-width:1040px;margin:auto}
.progress{display:flex;gap:10px;margin-bottom:38px}
.progress span{height:5px;flex:1;background:#dcebe2;border-radius:999px}
.progress span.active{background:var(--terracotta)}
.form-step{display:none}
.form-step.active{display:block}
.form-step h2{margin-bottom:30px}
.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.choice{border:1px solid #dcebe2;padding:24px 20px;cursor:pointer;background:#fff;border-radius:18px;min-height:142px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;transition:.2s;box-shadow:0 10px 26px rgba(92,71,50,.04)}
.choice img{width:50px;height:50px;object-fit:contain}
.choice span{font-weight:600}
.choice:hover,.choice.selected{border-color:var(--terracotta);background:#f2f8f4;transform:translateY(-2px);box-shadow:0 14px 30px rgba(169,95,69,.10)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fields .full{grid-column:1/-1}
label{font-size:14px;font-weight:600;color:#4f4942}
input,textarea,select{width:100%;padding:16px 17px;border:1px solid #d8cbbd;border-radius:12px;font:inherit;background:#fff;margin-top:7px}
textarea{min-height:140px}
.form-nav{display:flex;justify-content:space-between;margin-top:28px}
.mobile-toggle{display:none;margin-left:auto;font-size:28px;background:transparent;border:0;color:var(--ink)}
.mobile-only{display:none}
.warm-note{background:#f2f8f4;border:1px solid #dcebe2;border-radius:18px;padding:18px 20px;color:#65594f}
@media(max-width:980px){.menu{gap:18px;font-size:13px}.menu .cta{padding:13px 16px}.logo{width:140px}}
@media(max-width:900px){.wrap{width:min(var(--max),calc(100% - 34px))}.menu{display:none}.mobile-toggle{display:block}.nav{min-height:76px}.logo{width:128px}.hero{min-height:74vh}.hero-content{padding:104px 0 56px}.hero h1,.page-hero h1{font-size:48px}.hero p{font-size:17px}.section{padding:76px 0}.cards,.trust,.gallery,.projects,.split,.local,.footer-grid{grid-template-columns:1fr}.card{min-height:340px}.project-large img,.project-small img,.split img,.gallery img{height:390px}.section-head{display:block;margin-bottom:34px}.section-head p{margin-top:16px}.fields,.choices{grid-template-columns:1fr}.local-list{columns:1;padding:28px}.mobile-only{display:block}.mobile-menu{display:none;background:#fff;border-top:1px solid var(--line);padding:12px 20px 22px}.mobile-menu.open{display:grid;gap:8px}.mobile-menu a{padding:11px 0;border-bottom:1px solid var(--line)}.choice{min-height:112px;flex-direction:row;justify-content:flex-start;text-align:left}.choice img{width:42px;height:42px}}


/* ===== P-POSE V3 — direction artistique chaleureuse ===== */
:root{
  --ink:#2e2924;
  --muted:#7a7066;
  --paper:#f2f8f4;
  --paper-2:#eaf3ed;
  --cream:#f2f8f4;
  --sand:#dec9aa;
  --gold:#b99252;
  --gold-deep:#96723a;
  --sage:#aab6a0;
  --terracotta:#c87959;
  --terracotta-deep:#aa6247;
  --line:#dcebe2;
  --white:#fff;
}
body{background:#f2f8f4}
.topbar{background:#dcebe2;color:#594f45;padding:11px 14px;font-size:12px;letter-spacing:.16em}
.header{background:rgba(234,243,237,.96);border-bottom:1px solid rgba(146,120,88,.12);box-shadow:0 6px 28px rgba(75,56,37,.035)}
.nav{min-height:106px;gap:42px}
.logo{width:184px}
.menu{gap:38px;font-size:15px;letter-spacing:.045em;font-weight:600}
.menu>a:not(.cta){padding:15px 0}
.menu>a:not(.cta):after{height:2px;background:linear-gradient(90deg,var(--gold),var(--terracotta))}
.header .cta{padding:17px 26px;background:linear-gradient(135deg,#c58f52,#c87558);border:0;box-shadow:0 14px 30px rgba(177,111,67,.22);font-size:15px}
.header .cta:hover{background:linear-gradient(135deg,#b57c43,#ae6249);box-shadow:0 18px 36px rgba(177,111,67,.28)}
.mobile-menu{display:none}
.hero{min-height:80vh}
.hero:after{background:linear-gradient(90deg,rgba(43,35,28,.59),rgba(43,35,28,.22) 57%,rgba(43,35,28,.08))}
.hero-content{padding:130px 0 96px;max-width:840px}
.hero h1{font-size:clamp(54px,6vw,82px);line-height:1.05;letter-spacing:-.025em}
.hero p{font-size:20px;max-width:760px;line-height:1.65}
.hero .actions{gap:14px;display:flex;flex-wrap:wrap;margin-top:32px}
.hero .cta{padding:16px 24px}
.section{padding:104px 0}
.section.alt{background:linear-gradient(180deg,#f2f8f4,#f2f8f4)}
.section-head{margin-bottom:48px}
.section-head h2{font-size:clamp(38px,4.2vw,58px);line-height:1.1}
.section-head p{font-size:18px;line-height:1.75}
.card{border-radius:26px;overflow:hidden;box-shadow:0 18px 44px rgba(91,67,44,.09);border:1px solid rgba(194,165,128,.22)}
.card:after{background:linear-gradient(180deg,transparent 30%,rgba(34,29,24,.66))}
.card-copy{padding:28px}
.card-copy h3{font-size:28px}
.project-large img,.project-small img,.split img,.gallery img{border-radius:26px}
.step{padding-top:30px}
.step:before{color:var(--gold);font-weight:700}
.quote{background:linear-gradient(135deg,#6f7868,#7d846f);padding:112px 0}
.local-list{background:linear-gradient(135deg,#f2f8f4,#eaf3ed);border:1px solid #dcebe2}
.trust div{background:#f2f8f4;border-color:#dcebe2;border-radius:22px}
.footer{background:#34342f}

/* devis premium */
.devis-page{background:#eaf3ed}
.devis-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:34px;align-items:start;max-width:1180px;margin:auto}
.devis-aside{position:sticky;top:132px;background:#302f2b;color:#fff;border-radius:30px;padding:36px 30px;box-shadow:0 18px 46px rgba(44,37,29,.18)}
.devis-aside .eyebrow{color:#d8b779;margin-bottom:16px}
.devis-aside h2{font:500 36px/1.18 Georgia,serif;margin:0 0 22px}
.devis-aside p{color:#dcebe2;margin:0 0 28px}
.devis-aside .perks{border-top:1px solid rgba(255,255,255,.13);padding-top:24px;display:grid;gap:18px}
.devis-aside .perk{display:flex;gap:12px;align-items:flex-start;color:#eee}
.devis-aside .perk b{color:#d4ad67;font-size:18px;line-height:1}
.devis-card{background:#f2f8f4;border:1px solid #dcebe2;border-radius:30px;box-shadow:0 16px 44px rgba(92,72,48,.07);overflow:hidden}
.devis-card-head{padding:24px 34px 18px;border-bottom:1px solid #dcebe2}
.devis-card-body{padding:38px 34px 32px}
.devis-card .progress{margin-bottom:32px}
.devis-card .progress span{background:#dcebe2;height:6px}
.devis-card .progress span.active{background:linear-gradient(90deg,var(--gold),#c9a76d)}
.devis-card h2{font-size:42px;line-height:1.15;margin:0 0 12px}
.devis-sub{color:var(--muted);margin:0 0 28px}
.choices.icon-grid{grid-template-columns:repeat(4,1fr);gap:14px}
.choice{min-height:178px;border:1px solid #dcebe2;background:#fff;border-radius:22px;padding:18px 14px;gap:12px;box-shadow:0 9px 22px rgba(90,70,45,.035)}
.choice .icon-tile{width:94px;height:94px;border-radius:18px;background:linear-gradient(145deg,#f2f8f4,#eaf3ed);display:grid;place-items:center;border:1px solid #eaf3ed}
.choice .icon-tile img{width:74px;height:74px}
.choice span{font-weight:500;font-size:15px;line-height:1.28}
.choice:hover,.choice.selected{border-color:#c9a76d;background:#f2f8f4;box-shadow:0 14px 30px rgba(177,145,89,.13);transform:translateY(-2px)}
.choice.selected .icon-tile{background:#eaf3ed;border-color:#d8ba87}
.devis-card .form-nav{padding-top:10px}
.devis-card .form-nav .cta{min-width:150px}
.devis-note{display:flex;align-items:center;gap:10px;color:#776f65;font-size:13px}
.devis-note:before{content:'✦';color:var(--gold)}

@media(max-width:1050px){.menu{gap:24px;font-size:14px}.logo{width:164px}.header .cta{padding:15px 20px}.devis-layout{grid-template-columns:260px minmax(0,1fr)}.choices.icon-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.nav{min-height:82px}.logo{width:145px}.mobile-menu{display:none}.mobile-menu.open{display:grid}.devis-layout{grid-template-columns:1fr}.devis-aside{position:relative;top:auto}.choices.icon-grid{grid-template-columns:repeat(2,1fr)}.section{padding:78px 0}.hero-content{padding:100px 0 62px}}
@media(max-width:560px){.choices.icon-grid{grid-template-columns:1fr 1fr}.choice{min-height:150px;padding:14px 8px}.choice .icon-tile{width:78px;height:78px}.choice .icon-tile img{width:62px;height:62px}.devis-card-body,.devis-card-head{padding-left:20px;padding-right:20px}.devis-card h2{font-size:34px}.devis-aside{padding:28px 22px}}

/* ===== P-POSE V4 — navigation Bois & Blanc, contact, prix ===== */
.menu{gap:42px}.brand-link{display:flex;align-items:center}.nav-dropdown{position:relative}.nav-dropbtn{border:0;background:transparent;color:var(--ink);font:600 15px Futura,'Avenir Next',sans-serif;letter-spacing:.045em;padding:15px 0;cursor:pointer}.nav-dropbtn span{color:var(--gold);margin-left:5px}.nav-panel{position:absolute;top:calc(100% + 20px);left:50%;transform:translate(-50%,10px);width:min(820px,80vw);padding:16px;background:#f2f8f4;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 60px rgba(69,50,31,.14);opacity:0;visibility:hidden;transition:.2s}.nav-dropdown:hover .nav-panel,.nav-dropdown:focus-within .nav-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}.nav-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.nav-panel a{padding:16px;border-radius:14px}.nav-panel a:hover{background:var(--paper)}.nav-panel b{display:block;font:500 18px Georgia,serif;margin-bottom:4px}.nav-panel small{display:block;color:var(--muted);font-size:12px;line-height:1.4}.card-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.card-meta span{font-size:13px}.card-meta em{font-style:normal;font-size:11px;line-height:1.2;text-align:right;background:rgba(234,243,237,.94);color:#5b4b3d;padding:7px 9px;border-radius:999px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.contact-stack{display:grid;gap:24px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 14px 38px rgba(80,60,39,.06)}.contact-card.featured{background:linear-gradient(145deg,#eaf3ed,#f2f8f4);padding:50px}.contact-card h2{font-size:48px;margin-bottom:22px}.contact-card h3{font:500 27px Georgia,serif;margin:8px 0}.contact-card p{font-size:18px;color:var(--muted)}.contact-icon{font-size:24px;color:var(--gold)}.contact-devis{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px}.contact-devis>span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--gold-deep)}.contact-devis h3{font:500 32px/1.2 Georgia,serif;margin:10px 0}.price-explainer{padding:62px 0;background:#dcebe2}.price-explainer-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.price-explainer h2{font:500 38px/1.1 Georgia,serif;margin:0}.price-explainer p{color:#675c51;margin:0}.footer a:hover{color:#fff}.footer-grid a{text-decoration:none}@media(max-width:1050px){.menu{gap:25px}.nav-dropbtn{font-size:14px}}@media(max-width:900px){.nav-dropdown{display:none}.contact-grid,.price-explainer-inner{grid-template-columns:1fr}.contact-card.featured{padding:34px}.contact-card h2{font-size:38px}.card-meta{display:block}.card-meta em{display:inline-block;margin-top:8px}.price-explainer{padding:48px 0}}


/* ===== P-POSE V5 — menu simplifié & page P-POSE renforcée ===== */
.nav-dropdown{display:none!important}.menu>a{white-space:nowrap}.budget-note{margin:22px 0 0;color:var(--muted);font-size:12px;font-style:italic}.ppose-hero{background:linear-gradient(135deg,#eaf3ed 0%,#f2f8f4 58%,#eef1e9 100%);padding:105px 0 90px}.ppose-hero h1{max-width:900px}.ppose-hero p{max-width:760px}.ppose-hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.cta.ghost{background:transparent;color:var(--ink);border:1px solid #cdbb9f;box-shadow:none}.ppose-intro h2{font-size:clamp(38px,4vw,58px);line-height:1.08}.signature-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--gold-deep);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.ppose-steps{grid-template-columns:repeat(4,1fr);gap:18px}.ppose-step{position:relative;background:#f2f8f4;border:1px solid var(--line);border-radius:26px;padding:30px 24px;min-height:310px}.ppose-step>span{position:absolute;right:20px;top:18px;color:#cdb99b;font:500 14px Georgia,serif}.ppose-step-icon{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:#eaf3ed;color:var(--terracotta-deep);font-size:30px;margin-bottom:25px}.ppose-step h3{font:500 25px/1.15 Georgia,serif;margin:0 0 14px}.ppose-step p{color:var(--muted);margin:0}.ppose-values{grid-template-columns:repeat(3,1fr);gap:18px}.ppose-values>div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}.ppose-values b{display:block;font:500 24px/1.15 Georgia,serif;margin-bottom:10px}.ppose-values p{margin:0;color:var(--muted)}.finish-pills{display:flex;flex-wrap:wrap;gap:12px}.finish-pills span{padding:13px 18px;border-radius:999px;background:#fff;border:1px solid #ddccb3;color:#5d5146}.ppose-showcase{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px}.ppose-showcase img{width:100%;height:430px;object-fit:cover;border-radius:26px}.text-link{color:var(--terracotta-deep);font-weight:600}.ppose-proof{background:#6f7868;color:#fff}.proof-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.ppose-proof h2{font-size:clamp(40px,4vw,58px);line-height:1.08}.ppose-proof p{color:#eef0eb}.rating-placeholder{display:inline-flex;gap:12px;align-items:center;margin-top:18px;padding:13px 18px;border-radius:999px;background:rgba(255,255,255,.12);color:#f1d08f}.rating-placeholder span{color:#fff}.proof-card{background:#f2f8f4;color:var(--ink);padding:34px;border-radius:28px}.proof-card p{color:var(--muted)}.ppose-final{text-align:center;background:#eaf3ed}.ppose-final h2{font-size:clamp(42px,5vw,68px);max-width:850px;margin:0 auto 18px;line-height:1.06}.ppose-final p{margin-bottom:28px}.ppose-final .eyebrow{justify-content:center}.ppose-final .cta{font-size:17px;padding:18px 28px}@media(max-width:1050px){.ppose-steps{grid-template-columns:repeat(2,1fr)}.ppose-values{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.ppose-hero{padding:78px 0 62px}.ppose-showcase,.proof-grid{grid-template-columns:1fr}.ppose-showcase img{height:360px}.ppose-values{grid-template-columns:1fr}.ppose-steps{grid-template-columns:1fr}.ppose-step{min-height:auto}.proof-grid{gap:30px}}


/* ===== P-POSE V6 — direction plus chaleureuse, éditoriale et premium ===== */
:root{
  --ink:#39322d;
  --muted:#786e65;
  --paper:#f2f8f4;
  --paper-2:#eaf3ed;
  --sand:#dec8aa;
  --sage:#b8c0ae;
  --sage-deep:#7f8b76;
  --terracotta:#c77755;
  --terracotta-deep:#9f5d43;
  --line:#dcebe2;
  --accent:#caa777;
  --white:#f2f8f4;
}
body{background:#f2f8f4;color:var(--ink)}
.topbar{background:#dcebe2;color:#62574d;padding:11px 14px}
.header{background:rgba(234,243,237,.94)}
.nav{min-height:104px}
.logo{width:174px}
.menu{gap:42px;font-size:14px}
.menu>a:not(.cta){font-weight:500}
.cta{background:linear-gradient(135deg,#cf7f5b,#b9684b);border:0;padding:16px 25px;box-shadow:0 12px 30px rgba(162,94,67,.22)}
.hero{min-height:82vh;border-radius:0 0 42px 42px;overflow:hidden;margin-bottom:20px}
.hero:after{background:linear-gradient(90deg,rgba(37,29,24,.60) 0%,rgba(37,29,24,.30) 48%,rgba(37,29,24,.08) 100%)}
.hero-content{padding:110px 0 95px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.035em;max-width:890px;font-size:clamp(52px,6vw,88px);line-height:.98}
.hero p{font-size:20px;max-width:720px}
.section{padding:102px 0}
.section.alt{background:#eaf3ed}
.section-head{margin-bottom:48px}
.section-head h2,.page-hero h1,.split h2,.seo-copy h2,.local h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.025em}
.section-head h2{font-size:clamp(42px,4.6vw,66px);line-height:1.05}
.cards{gap:26px}
.card{border-radius:28px;background:#fff;box-shadow:0 14px 40px rgba(91,71,54,.08);overflow:hidden;border:1px solid rgba(203,181,156,.28)}
.card img{height:330px;object-fit:cover}
.card-copy{padding:25px 25px 27px}
.card-copy h3{font:500 27px/1.1 Georgia,'Times New Roman',serif}
.card-meta em{color:#9c644d;background:#eaf3ed;padding:7px 11px;border-radius:999px;font-style:normal;font-weight:600}
.project-card{background:#fff;border-radius:26px;overflow:hidden;border:1px solid rgba(209,188,164,.38);box-shadow:0 14px 40px rgba(87,67,51,.08)}
.project-card img{width:100%;height:340px;object-fit:cover}
.project-info{padding:22px 23px 25px}
.project-info h3{font:500 24px/1.15 Georgia,'Times New Roman',serif;margin:0 0 10px}
.project-facts{display:flex;flex-wrap:wrap;gap:8px 12px;color:#81746a;font-size:13px;margin-bottom:12px}
.project-facts span{display:inline-flex;align-items:center;gap:5px}
.project-price{display:inline-flex;background:#eaf3ed;color:#9f5d43;border-radius:999px;padding:8px 12px;font-weight:700;font-size:14px}
.project-note{font-size:12px;color:#9a8d82;margin-top:10px}
.gallery.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.price-explainer{background:#dcebe2}
.price-explainer h2{font-family:Georgia,'Times New Roman',serif;font-weight:500}
.quote{background:#798373}
.footer{background:#312c28}
.page-hero{background:linear-gradient(135deg,#eaf3ed,#f2f8f4 64%,#edf0e8);padding:92px 0 78px}
.page-hero h1{font-size:clamp(48px,5.5vw,78px);line-height:1.02}
.split{gap:70px;align-items:center}
.split>div:first-child img{border-radius:30px;box-shadow:0 18px 50px rgba(74,56,43,.12)}
.eyebrow{color:#a8664d;letter-spacing:.15em}
@media(max-width:900px){.nav{min-height:86px}.logo{width:150px}.hero{min-height:72vh;border-radius:0 0 28px 28px}.hero-content{padding:90px 0 65px}.hero h1{font-size:52px}.section{padding:74px 0}.gallery.project-grid{grid-template-columns:1fr}.project-card img{height:300px}.card img{height:290px}}

.hero-video-badge{display:inline-flex;margin:14px 0 18px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(5px)}

/* ===== P-POSE V7 — plus vivant, lumineux et contemporain ===== */
:root{
  --ink:#2f3030;
  --muted:#6f6f6a;
  --paper:#f2f8f4;
  --paper-2:#eaf3ed;
  --butter:#f2e3b8;
  --blue:#7794a0;
  --blue-deep:#536f7a;
  --berry:#7f4759;
  --berry-deep:#633545;
  --peach:#d89576;
  --sage:#aebaa5;
  --line:#dcebe2;
  --white:#f2f8f4;
  --terracotta:#d89576;
  --terracotta-deep:#b56f55;
  --gold:#c7a15b;
}
body{background:var(--white);color:var(--ink)}
.topbar{background:var(--butter);color:#4d4a43;font-size:13px;padding:12px 16px}
.header{background:rgba(234,243,237,.96);box-shadow:0 8px 26px rgba(68,54,42,.045)}
.nav{min-height:112px}
.logo{width:190px}
.menu{font-size:17px;gap:46px;letter-spacing:.025em}
.menu>a:not(.cta){font-weight:600}
.header .cta,.cta{background:linear-gradient(135deg,var(--berry),#9a5c6e);border:0;box-shadow:0 14px 30px rgba(127,71,89,.22);font-size:16px;padding:17px 27px}
.header .cta:hover,.cta:hover{background:linear-gradient(135deg,var(--berry-deep),var(--berry));transform:translateY(-2px)}
.hero{min-height:86vh;background:#dcebe2;border-radius:0 0 46px 46px}
.hero video{filter:brightness(1.10) saturate(1.06);object-position:center center}
.hero:after{background:linear-gradient(90deg,rgba(36,37,38,.50) 0%,rgba(36,37,38,.18) 54%,rgba(36,37,38,.03) 100%)}
.hero-content{padding:126px 0 100px;max-width:860px}
.hero h1{font-size:clamp(58px,6.4vw,92px);line-height:.98}
.hero p{font-size:22px;line-height:1.6;max-width:760px}
.hero-video-badge{background:rgba(242,227,184,.92);border-color:rgba(255,255,255,.25);color:#51483e;font-weight:700}
.section{padding:120px 0}
.section.alt{background:#eaf3ed}
.section.soft{background:#edf1f1}
.section-head{margin-bottom:58px}
.section-head h2{font-size:clamp(46px,4.8vw,70px)}
.section-head p{font-size:18px;line-height:1.8}
.card{border-radius:30px;box-shadow:0 18px 46px rgba(84,68,53,.09)}
.card:after{background:linear-gradient(0deg,rgba(34,34,34,.50),transparent 58%)}
.card-copy h3{font-size:30px}
.card img{filter:brightness(1.06) saturate(1.03)}
.steps{gap:24px}
.step{border:0;background:#fff;border-radius:28px;padding:32px;box-shadow:0 16px 38px rgba(78,61,45,.07);position:relative;min-height:330px}
.step:before{position:absolute;right:26px;top:22px;color:var(--berry);font-size:13px}
.step-icon{width:76px;height:76px;border-radius:23px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf3ed,#eaf3ed);margin-bottom:24px;color:var(--berry)}
.step-icon svg{width:42px;height:42px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.step h3{font-size:29px;margin:8px 0 14px}
.step p{font-size:16px;line-height:1.72;margin:0}
.quote{background:linear-gradient(120deg,var(--blue-deep),#6f858b);padding:110px 0}
.local-list{background:#eaf3ed}
.trust div{border:0;border-radius:24px;box-shadow:0 14px 36px rgba(69,57,43,.07)}
.trust div:nth-child(1){background:#f2f8f4}.trust div:nth-child(2){background:#e8eff0}.trust div:nth-child(3){background:#f3e5e9}.trust div:nth-child(4){background:#eaf0e7}
.page-hero{background:linear-gradient(135deg,#eaf3ed 0%,#eaf3ed 48%,#e7eef0 100%)}
.ppose-hero{background:linear-gradient(135deg,#f4e6bc 0%,#f2f8f4 50%,#e4ecee 100%)}
.ppose-intro{grid-template-columns:1.05fr .95fr;gap:82px}
.ppose-intro img{filter:brightness(1.08) saturate(1.05)}
.ppose-intro p{font-size:18px;line-height:1.85}
.ppose-steps{gap:22px}
.ppose-step{border:0;box-shadow:0 16px 38px rgba(70,58,48,.07);min-height:330px}
.ppose-step:nth-child(1){background:#f2f8f4}.ppose-step:nth-child(2){background:#e6eef0}.ppose-step:nth-child(3){background:#f3e6e9}.ppose-step:nth-child(4){background:#e9efe5}
.ppose-step-icon{background:rgba(255,255,255,.7);color:var(--berry);width:78px;height:78px;border-radius:24px}
.ppose-step-icon svg{width:42px;height:42px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ppose-values>div{border:0;box-shadow:0 14px 34px rgba(69,58,46,.065);padding:34px;border-radius:26px}
.ppose-values>div:nth-child(3n+1){background:#f2f8f4}.ppose-values>div:nth-child(3n+2){background:#e9f0f1}.ppose-values>div:nth-child(3n){background:#f5e8ec}
.ppose-showcase img{filter:brightness(1.08) saturate(1.04)}
.ppose-proof{background:linear-gradient(130deg,#596f78,#71878d)}
.ppose-final{background:linear-gradient(135deg,#f5e7bd,#eaf3ed)}
.contact-hero{background:linear-gradient(135deg,#f4e6bc 0%,#f2f8f4 55%,#e3ecef 100%)}
.contact-grid{grid-template-columns:1.1fr .9fr;gap:30px}
.contact-card{border:0;box-shadow:0 18px 46px rgba(79,62,47,.08);border-radius:30px}
.contact-card.featured{background:linear-gradient(145deg,#f4e5bd,#f2f8f4);padding:58px}
.contact-card h2{font-size:52px}
.contact-stack{gap:22px}
.contact-mini{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:24px;padding:30px 32px!important;min-height:155px}
.contact-big-icon{width:88px;height:88px;border-radius:28px;display:grid;place-items:center;background:#e7eef0;color:var(--blue-deep)}
.contact-big-icon.mail{background:#f4e6ea;color:var(--berry)}
.contact-big-icon svg{width:44px;height:44px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}
.contact-mini h3{font-size:28px;margin:0 0 5px}.contact-mini p{font-size:20px;margin:0;color:var(--ink)}
.contact-devis{background:#eaf3ed;border:0;padding:40px;border-radius:28px}
.contact-devis h3{font-size:36px}
.footer{background:#394348}
@media(max-width:1050px){.menu{font-size:15px;gap:26px}.logo{width:168px}}
@media(max-width:900px){.nav{min-height:88px}.logo{width:150px}.hero{min-height:76vh}.hero h1{font-size:52px}.hero p{font-size:18px}.section{padding:82px 0}.contact-mini{grid-template-columns:74px 1fr}.contact-big-icon{width:70px;height:70px}.contact-card.featured{padding:36px}.ppose-intro{grid-template-columns:1fr;gap:38px}}


/* ===== P-POSE V8 — gradients vivants, CTA vert, galeries plein écran ===== */
:root{
  --mint:#9bd7b4;
  --mint-strong:#71c99a;
  --mint-deep:#2f6f55;
  --lilac:#d9d0ea;
  --sky:#dbeaf0;
  --cream2:#f2f8f4;
  --rose2:#f3dce5;
  --peach2:#eaf3ed;
}
body{
  background:
    radial-gradient(circle at 8% 7%, rgba(155,215,180,.22), transparent 28%),
    radial-gradient(circle at 92% 13%, rgba(217,208,234,.20), transparent 28%),
    #f2f8f4;
}
.topbar{
  background:linear-gradient(100deg,#edf7ef 0%,#f2f8f4 42%,#f4e3ea 72%,#e5f0f4 100%);
  border-bottom:0;
}
.header{
  background:linear-gradient(112deg,rgba(234,243,237,.96),rgba(238,248,241,.95) 48%,rgba(250,242,247,.95));
  box-shadow:0 8px 28px rgba(79,92,80,.07);
}
.menu{font-size:17px;gap:44px}
.menu>a:not(.cta){font-weight:650}
.header .cta,.cta{
  background:linear-gradient(135deg,#a7e2c0 0%,#7fd1a4 58%,#69c494 100%);
  color:#173d2d;
  border:1px solid rgba(47,111,85,.12);
  box-shadow:0 14px 34px rgba(89,181,135,.28),0 0 0 7px rgba(155,215,180,.12);
  font-weight:800;
}
.header .cta:hover,.cta:hover{
  background:linear-gradient(135deg,#b8ebcf 0%,#87d9ad 52%,#66c792 100%);
  color:#123729;
  transform:translateY(-2px) scale(1.015);
  box-shadow:0 18px 38px rgba(89,181,135,.36),0 0 0 9px rgba(155,215,180,.16);
}
.cta.light{background:rgba(255,255,255,.95);color:#254738;border:1px solid rgba(255,255,255,.92);box-shadow:0 13px 32px rgba(0,0,0,.12)}
.cta.ghost{background:rgba(255,255,255,.72);color:var(--ink);border:1px solid rgba(47,111,85,.2);box-shadow:none}
.hero{border-radius:0 0 52px 52px}
.hero:after{background:linear-gradient(105deg,rgba(26,35,31,.50),rgba(39,48,43,.13) 58%,rgba(255,255,255,.03))}
.hero-content h1{max-width:890px}
.hero-video-badge{background:linear-gradient(135deg,rgba(167,226,192,.95),rgba(234,243,237,.95));color:#244636}

/* un dégradé différent au fil de la page pour créer du rythme */
section.section:nth-of-type(4n+1){background:linear-gradient(135deg,#f2f8f4 0%,#eff8f1 44%,#f2f8f4 100%)}
section.section:nth-of-type(4n+2){background:linear-gradient(225deg,#f8eff4 0%,#f2f8f4 52%,#eaf4f6 100%)}
section.section:nth-of-type(4n+3){background:linear-gradient(45deg,#f2f8f4 0%,#f7faf5 48%,#eeeaf8 100%)}
section.section:nth-of-type(4n){background:linear-gradient(315deg,#eaf5ef 0%,#f2f8f4 48%,#f8e8ee 100%)}
.section.alt{background:linear-gradient(125deg,#f2f8f4 0%,#f7fbf7 50%,#eaf3f7 100%)}
.section.soft{background:linear-gradient(230deg,#f3e9f3,#eef7f2 52%,#f2f8f4)}
.page-hero{background:linear-gradient(135deg,#eef8f1 0%,#f2f8f4 35%,#f6e8ef 68%,#e8f2f5 100%)}
.ppose-hero{background:linear-gradient(128deg,#e8f5ed 0%,#f2f8f4 36%,#f5e4ed 67%,#e8f1f5 100%)}
.ppose-proof{background:linear-gradient(135deg,#477c67 0%,#5b7680 48%,#76566b 100%)}
.ppose-final{background:linear-gradient(125deg,#dff3e7,#f2f8f4 45%,#f5dde7 82%,#e3eff3)}
.contact-hero{background:linear-gradient(120deg,#e7f5ec 0%,#f2f8f4 38%,#f7e6ed 68%,#e8f1f4 100%)}
.devis-page{background:linear-gradient(145deg,#e8f5ed 0%,#f2f8f4 38%,#f8e7ee 68%,#e9f2f5 100%);background-attachment:fixed}
.devis-card{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,252,248,.98));}
.devis-aside{background:linear-gradient(145deg,#315d4c 0%,#445d67 58%,#68475c 100%)}
.devis-card .progress span.active{background:linear-gradient(90deg,#7fd1a4,#a7e2c0)}
.choice:hover,.choice.selected{border-color:#7fcaa1;background:#f1fbf5;box-shadow:0 14px 30px rgba(89,181,135,.15)}
.choice.selected .icon-tile{background:linear-gradient(145deg,#dff4e8,#f2f8f4);border-color:#9ad5b5}
.warm-note{background:linear-gradient(135deg,#ecf8f0,#f2f8f4);border-color:#d8eadf;color:#3d5c4d}
.footer{background:linear-gradient(125deg,#29493c 0%,#374e58 45%,#543f4e 100%)}

/* cartes et sections plus généreuses */
.section{padding:122px 0}
.section-head{margin-bottom:58px}
.section-head p{font-size:19px}
.card,.project-card,.contact-card,.ppose-step,.ppose-values>div{box-shadow:0 18px 48px rgba(68,84,72,.08)}
.ppose-step{padding:34px 28px}
.ppose-step-icon{background:linear-gradient(145deg,#e2f4e9,#f2f8f4);color:var(--mint-deep)}
.contact-card.featured{background:linear-gradient(145deg,#e7f6ed 0%,#f2f8f4 54%,#f8e6ed 100%)}
.contact-big-icon{background:linear-gradient(145deg,#dff3e7,#e4f0f5);color:var(--mint-deep)}
.contact-big-icon.mail{background:linear-gradient(145deg,#f4e3ec,#f2f8f4);color:#765064}
.contact-devis{background:linear-gradient(135deg,#e2f5e9,#f2f8f4 58%,#f6e3eb)}

/* Galerie projet : clic plein écran */
.project-card{overflow:hidden;position:relative}
.project-card img{cursor:zoom-in;transition:transform .35s ease,filter .35s ease}
.project-card img:hover{transform:scale(1.018);filter:saturate(1.04) brightness(1.03)}
.project-card .zoom-hint{position:absolute;top:18px;right:18px;z-index:3;background:rgba(255,255,255,.92);color:#345b49;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;box-shadow:0 8px 18px rgba(0,0,0,.09);pointer-events:none}
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(19,27,23,.94);display:none;align-items:center;justify-content:center;padding:34px}
.lightbox.open{display:flex}
.lightbox-inner{position:relative;width:min(1240px,94vw);height:min(88vh,900px);display:flex;align-items:center;justify-content:center}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;border-radius:999px;width:48px;height:48px;background:rgba(255,255,255,.93);color:#214536;font-size:28px;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.lightbox-close{top:-16px;right:-16px;font-size:25px}
.lightbox-prev{left:-12px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:-12px;top:50%;transform:translateY(-50%)}
.lightbox-count{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;letter-spacing:.08em}
.lightbox-single .lightbox-prev,.lightbox-single .lightbox-next,.lightbox-single .lightbox-count{display:none}

/* futur projet multi-photo : plusieurs images dans la même carte = même galerie */
.project-media-set{display:grid;grid-template-columns:1fr 112px;gap:10px;background:#fff}
.project-media-set>.project-main{height:390px;width:100%;object-fit:cover}
.project-thumbs{display:grid;gap:8px;align-content:start;padding:8px 8px 8px 0}
.project-thumbs img{height:86px;width:100%;object-fit:cover;border-radius:10px}

/* Formulaire 2 étapes, plus léger */
.devis-card .progress{max-width:420px}
.devis-card h2{font-size:clamp(35px,4vw,48px)}
.devis-step-label{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px;color:#6f786f;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fields input,.fields textarea{background:rgba(255,255,255,.96)}

@media(max-width:1050px){.menu{font-size:15px;gap:25px}}
@media(max-width:900px){
  .section{padding:84px 0}
  .project-media-set{grid-template-columns:1fr}
  .project-media-set>.project-main{height:360px}
  .project-thumbs{grid-template-columns:repeat(4,1fr);padding:0 8px 8px}
  .lightbox{padding:18px}.lightbox-inner{width:96vw;height:82vh}.lightbox-prev{left:2px}.lightbox-next{right:2px}.lightbox-close{top:2px;right:2px}
}

/* ===== P-POSE V9 — sobriété premium, chaleur par les images ===== */
:root{--ink:#292b28;--muted:#70736d;--paper:#f2f8f4;--paper-2:#eaf3ed;--sage:#9eae98;--sage-deep:#63765f;--line:#dcebe2;--accent:#9eae98;--white:#fff}
body{background:#fff;color:var(--ink)}
.topbar{background:#eaf3ed;color:#555b53;border-bottom:1px solid #dcebe2}
.header{background:rgba(255,255,255,.96);border-bottom:1px solid #dcebe2;box-shadow:none}
.nav{min-height:100px}.logo{width:180px}.menu{font-size:16px;gap:42px;letter-spacing:.02em}.menu>a:not(.cta):after{background:var(--sage-deep)}
.cta,.header .cta{background:var(--sage-deep)!important;color:#fff!important;border:1px solid var(--sage-deep)!important;box-shadow:0 10px 24px rgba(82,103,78,.18)!important;background-image:none!important}
.cta:hover,.header .cta:hover{background:#53674f!important;border-color:#53674f!important;transform:translateY(-1px)}
.hero{border-radius:0;min-height:80vh;background:#777}.hero:after{background:linear-gradient(90deg,rgba(28,31,27,.56),rgba(28,31,27,.18) 58%,rgba(28,31,27,.05))}.hero-content{padding:120px 0 92px}.hero p{font-size:21px}
.section{padding:118px 0}.section.alt,.section.soft{background:var(--paper)}.section-head{margin-bottom:58px}.section-head p{font-size:18px}
.card,.project-card,.contact-card,.contact-devis,.ppose-step,.ppose-values>div,.proof-card{border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 32px rgba(40,45,38,.055);background:#fff}
.card{min-height:440px}.card-meta em,.project-price{background:#edf1eb;color:#566652}.project-price{border-radius:8px}.card-copy h3{font-size:30px}
.steps{gap:42px}.step{padding-top:30px;border-color:#d9ddd5}.step:before{color:var(--sage-deep)}.step p{font-size:16px;line-height:1.8}
.quote,.ppose-proof{background:#5f6d5c}.page-hero,.ppose-hero{background:#eaf3ed!important}.ppose-final{background:#f1f3ed}.price-explainer{background:#f0f1eb}.footer{background:#252925}
.ppose-step-icon,.contact-icon-large,.icon-bubble{background:#edf1eb!important;color:var(--sage-deep)!important}.signature-note,.text-link{color:var(--sage-deep)!important}.finish-pills span{border-color:#dfe4dc;background:#fff}
.contact-card.featured{background:#f5f6f1}.contact-card{padding:42px}.contact-card h3{font-size:30px}.contact-card p{font-size:18px;line-height:1.75}
/* neutralise les dégradés décoratifs V8 */
.section.alt,.section.soft,.page-hero,.ppose-hero,.ppose-final,.price-explainer,.contact-card.featured,.devis-aside,.devis-card,.devis-card-head{background-image:none!important}
@media(max-width:900px){.menu{font-size:15px}.section{padding:82px 0}.hero-content{padding:96px 0 62px}}

/* ===== P-POSE V10 — direction claire, éditoriale, chaleureuse ===== */
:root{
  --ink:#262522;
  --muted:#716d66;
  --paper:#eaf3ed;
  --paper-2:#eaf3ed;
  --warm:#dcebe2;
  --line:#dcebe2;
  --green:#80a98f;
  --green-deep:#547562;
  --green-soft:#edf4ef;
  --white:#ffffff;
  --terracotta:#80a98f;
  --terracotta-deep:#547562;
  --sage:#80a98f;
  --sage-deep:#547562;
  --gold:#8d7b64;
  --gold-deep:#685b4b;
}
body{background:#fff;color:var(--ink)}
.topbar{background:#eaf3ed;color:#5f5a53;border:0;padding:10px 14px;font-size:12px;letter-spacing:.15em}
.header{background:rgba(255,255,255,.97);border-bottom:1px solid #dcebe2;box-shadow:none}
.nav{min-height:104px}.logo{width:184px}.menu{gap:44px;font-size:16px;font-weight:500;letter-spacing:.018em}.menu>a:not(.cta):after{height:1px;background:#777168}
.header .cta,.cta{background:var(--green)!important;color:#fff!important;border:1px solid var(--green)!important;border-radius:7px!important;padding:17px 25px!important;box-shadow:0 9px 22px rgba(74,112,87,.18)!important;font-weight:700!important;background-image:none!important}
.header .cta:hover,.cta:hover{background:var(--green-deep)!important;border-color:var(--green-deep)!important;box-shadow:0 12px 26px rgba(74,112,87,.24)!important;transform:translateY(-1px)}
.cta.light{background:#fff!important;color:#2f302c!important;border-color:#fff!important}.cta.secondary,.cta.ghost{background:rgba(255,255,255,.9)!important;color:#33342f!important;border-color:#dcebe2!important;box-shadow:none!important}
.hero{min-height:82vh;border-radius:0;background:#85817b}.hero video{filter:brightness(1.08) saturate(.98)}.hero:after{background:linear-gradient(90deg,rgba(24,24,22,.52) 0%,rgba(24,24,22,.20) 55%,rgba(24,24,22,.03) 100%)}
.hero-content{padding:124px 0 94px;max-width:850px}.hero h1{font-size:clamp(54px,6.2vw,88px);line-height:1.01;letter-spacing:-.035em}.hero p{font-size:20px;max-width:720px}.hero-video-badge{background:rgba(255,255,255,.92);color:#4e504b;border:0;border-radius:5px;font-weight:600;letter-spacing:.08em}
.section{padding:116px 0;background:#fff!important;background-image:none!important}.section.alt{background:var(--paper)!important}.section.soft{background:#eaf3ed!important}.section-head{margin-bottom:54px}.section-head h2{font-size:clamp(42px,4.6vw,66px);letter-spacing:-.03em}.section-head p{font-size:18px;line-height:1.8}
.cards{gap:28px}.card{border:0;border-radius:4px;box-shadow:none;min-height:460px}.card:after{background:linear-gradient(0deg,rgba(27,27,25,.58),transparent 57%)}.card img{filter:none}.card-copy{left:26px;right:26px;bottom:25px}.card-copy h3{font-size:31px}.card-meta em{background:#fff;color:#343530;border-radius:4px;padding:7px 10px;font-weight:700}
.project-card{border:0;border-radius:4px;box-shadow:none;background:#fff;overflow:hidden}.project-card img{height:390px}.project-info{padding:20px 2px 30px}.project-info h3{font-size:25px}.project-facts{color:#77736c}.project-price{background:transparent;color:#30312d;border:0;border-radius:0;padding:0;font:600 18px Georgia,serif}.project-note{color:#9a958d}.zoom-hint{border-radius:4px!important;background:rgba(255,255,255,.94)!important;color:#4d514b!important;box-shadow:none!important}
.steps{gap:46px}.step{background:transparent;border:0;border-top:1px solid #dcebe2;border-radius:0;box-shadow:none;padding:28px 0 0;min-height:0}.step:before{color:var(--green-deep)}.step-icon{background:var(--green-soft);color:var(--green-deep);border-radius:50%;width:70px;height:70px}.step h3{font-size:28px}.step p{line-height:1.8}
.trust{gap:1px;background:var(--line);border:1px solid var(--line)}.trust div{border:0;border-radius:0;box-shadow:none;padding:34px;background:#fff!important}
.quote,.ppose-proof{background:#373a35!important;background-image:none!important}.quote{padding:102px 0}.quote small{color:#d9ddd6}
.page-hero,.ppose-hero,.contact-hero{background:#eaf3ed!important;background-image:none!important;padding:100px 0 78px}.page-hero h1{font-size:clamp(48px,5.4vw,76px)}
.ppose-step,.ppose-values>div,.proof-card,.contact-card,.contact-devis{border:0;border-radius:5px;box-shadow:none}.ppose-step{background:#fff!important;padding:32px}.ppose-step-icon{background:var(--green-soft)!important;color:var(--green-deep)!important;border-radius:50%}.ppose-values>div{background:#fff!important}.ppose-showcase img,.split img{border-radius:4px;box-shadow:none!important}.ppose-final{background:#eaf3ed!important;background-image:none!important}.finish-pills span{border-radius:4px;background:#fff;border-color:#dcebe2}
.contact-grid{gap:36px}.contact-card{padding:42px}.contact-card.featured{background:#eaf3ed!important}.contact-big-icon{background:var(--green-soft)!important;color:var(--green-deep)!important;border-radius:50%}.contact-big-icon.mail{background:#eaf3ed!important;color:#655f56!important}.contact-devis{background:#eef3ef!important}.contact-mini p{font-size:20px}.contact-mini h3{font-size:29px}
.price-explainer{background:#eaf3ed!important;background-image:none!important}.local-list{background:#eaf3ed;border-radius:4px}.warm-note{background:#f2f5f2;border-color:#dce7df;color:#4f6255;border-radius:5px}
.devis-page{background:#eaf3ed!important;background-image:none!important}.devis-aside{background:#333630!important;background-image:none!important;border-radius:5px}.devis-card{background:#fff!important;background-image:none!important;border-radius:5px;box-shadow:0 18px 55px rgba(53,48,42,.08)}.devis-card .progress span.active{background:var(--green)!important}.choice{border-radius:5px;box-shadow:none}.choice:hover,.choice.selected{border-color:var(--green);background:#f4f8f5;box-shadow:none;transform:none}.choice.selected .icon-tile{background:var(--green-soft);border-color:#cbdccf}.fields input,.fields textarea{border-radius:4px}
.footer{background:#292a27!important;background-image:none!important}.footer h4{color:#bfc4bb}.footer a:hover{color:#fff}
@media(max-width:900px){.nav{min-height:84px}.logo{width:148px}.hero{min-height:74vh}.hero-content{padding:92px 0 64px}.hero h1{font-size:50px}.section{padding:80px 0}.project-card img{height:320px}.card{min-height:370px}.contact-card{padding:30px}}

/* ===== V12 : preuves sociales & vidéo vérifiées ===== */
.google-proof{background:#eaf3ed;border-top:1px solid #dcebe2;border-bottom:1px solid #dcebe2}
.google-proof-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.google-proof-inner>div{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.google-proof .google-stars{color:#b08a3d;letter-spacing:2px;font-size:17px}
.google-proof strong{font-size:17px;color:#242522}
.google-proof span:not(.google-stars){color:#6d7069;font-size:14px}
.google-proof a{font-weight:700;color:#526e5c;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.footer-social{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.footer-social a{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:14px;opacity:.92;border:1px solid rgba(255,255,255,.2);padding:9px 12px;border-radius:999px}
.footer-social a:hover{opacity:1;background:rgba(255,255,255,.08)}
.social-icon{font-size:16px}
.contact-trust{padding-top:26px}
.contact-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.trust-link-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:28px 30px;background:#fff;border:1px solid #dcebe2;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.trust-link-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(35,34,31,.08)}
.trust-link-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#eef3ee;color:#526e5c;font-size:26px;font-weight:800}
.trust-link-card.instagram .trust-link-icon{background:#eaf3ed;color:#6b5b4e}
.trust-link-card h3{font-size:24px;margin:4px 0 4px}
.trust-link-card p{margin:0;color:#6d7069}
.trust-arrow{font-size:22px;color:#526e5c}
.rating-real{display:inline-grid;grid-template-columns:auto auto auto auto;align-items:center;gap:12px;margin-top:20px;padding:16px 18px;border:1px solid #dcebe2;background:#fff;text-decoration:none;color:#242522}
.rating-real>span{color:#b08a3d;letter-spacing:2px}.rating-real strong{font-size:22px}.rating-real em{font-style:normal;color:#6d7069}.rating-real b{color:#526e5c;font-size:14px}
.hero video{display:block;visibility:visible;opacity:1;background:#dcebe2}
@media(max-width:760px){.google-proof-inner{padding:16px 0;align-items:flex-start;flex-direction:column;gap:8px}.contact-trust-grid{grid-template-columns:1fr}.trust-link-card{padding:22px 20px}.rating-real{grid-template-columns:1fr 1fr}.hero video{object-position:center center}}


.form-error{color:#9a3d32;background:#f2f8f4;border:1px solid #dcebe2;padding:12px 14px;border-radius:12px;margin:14px 0}
.privacy-note{font-size:12px;color:var(--muted);margin:16px 0 10px}


/* ===== V18 : correction header + page Votre projet ===== */

/* HEADER — compact, stable, no wrapping */
.header{
  background:#fff !important;
}
.header .nav{
  min-height:76px !important;
  height:76px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  flex-wrap:nowrap !important;
}
.brand-link{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
}
.header .logo{
  width:142px !important;
  max-width:142px !important;
  height:auto !important;
  display:block !important;
}
.header .menu{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:24px !important;
  flex:1 1 auto !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  min-width:0 !important;
}
.header .menu a{
  font-size:15px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.header .menu .cta{
  padding:13px 18px !important;
  border-radius:999px !important;
  font-size:14px !important;
}
.topbar{
  min-height:26px !important;
  padding:6px 12px !important;
  font-size:11px !important;
  line-height:1.2 !important;
}

/* Switch to mobile nav BEFORE desktop menu can become cramped */
@media (max-width:1120px){
  .header .menu{display:none !important;}
  .mobile-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    font-size:25px !important;
    line-height:1 !important;
  }
  .header .nav{
    min-height:74px !important;
    height:74px !important;
  }
  .header .logo{
    width:136px !important;
    max-width:136px !important;
  }
}
@media (max-width:560px){
  .topbar{display:none !important;}
  .header .nav{
    min-height:70px !important;
    height:70px !important;
  }
  .header .logo{
    width:128px !important;
    max-width:128px !important;
  }
  .mobile-toggle{
    width:40px !important;
    height:40px !important;
  }
}

/* Mobile menu stays readable and never takes over the viewport */
.mobile-menu{
  max-height:calc(100vh - 70px) !important;
  overflow:auto !important;
}
.mobile-menu a{
  font-size:17px !important;
  line-height:1.25 !important;
  padding:15px 18px !important;
}

/* VOTRE PROJET — reset old alternating timeline */
.journey-hero{
  padding:88px 0 72px !important;
  background:#eaf3ed !important;
}
.journey-hero .wrap{
  max-width:1100px !important;
}
.journey-hero h1{
  font-family:Georgia,serif !important;
  font-size:clamp(44px,6vw,76px) !important;
  line-height:1.02 !important;
  font-weight:500 !important;
  max-width:840px !important;
  margin:12px 0 22px !important;
}
.journey-hero p{
  max-width:700px !important;
  font-size:18px !important;
  line-height:1.6 !important;
  margin-bottom:28px !important;
}

.journey-section{
  padding:84px 0 92px !important;
  background:#fff !important;
}
.journey-intro{
  max-width:720px !important;
  margin:0 auto 54px !important;
  text-align:center !important;
}
.journey-intro h2{
  font-family:Georgia,serif !important;
  font-size:clamp(34px,4vw,52px) !important;
  line-height:1.08 !important;
  margin:10px 0 16px !important;
}
.journey-intro p{
  font-size:17px !important;
  line-height:1.6 !important;
}

/* Replace the "snake" layout with a stable 3x2 premium card grid */
.journey-track{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
  max-width:1120px !important;
  margin:0 auto !important;
  position:relative !important;
}
.journey-track::before{display:none !important;}

.journey-step,
.journey-step.left,
.journey-step.right{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:18px !important;
  min-height:100% !important;
  margin:0 !important;
  padding:28px !important;
  background:#f2f8f4 !important;
  border:1px solid #dcebe2 !important;
  border-radius:22px !important;
  box-shadow:0 10px 30px rgba(35,35,31,.05) !important;
  text-align:left !important;
}
.journey-step .journey-visual,
.journey-step.right .journey-visual{
  grid-column:auto !important;
  grid-row:auto !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  gap:14px !important;
}
.journey-step .journey-copy,
.journey-step.right .journey-copy{
  grid-column:auto !important;
  grid-row:auto !important;
  text-align:left !important;
  width:100% !important;
}

/* Cleaner icon system: no overlap, no giant number behind it */
.journey-number{
  position:static !important;
  transform:none !important;
  font-family:Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  color:#6f8a77 !important;
  background:#eaf0eb !important;
  border-radius:999px !important;
  padding:8px 10px !important;
  order:2 !important;
}
.journey-icon{
  width:76px !important;
  height:76px !important;
  min-width:76px !important;
  border-radius:18px !important;
  background:#f0f3ef !important;
  color:#4f6758 !important;
  box-shadow:none !important;
  display:grid !important;
  place-items:center !important;
  order:1 !important;
}
.journey-icon svg{
  width:42px !important;
  height:42px !important;
  stroke-width:1.55 !important;
}
.journey-copy h2{
  font-family:Georgia,serif !important;
  font-size:27px !important;
  line-height:1.15 !important;
  margin:0 0 10px !important;
}
.journey-copy p,
.journey-step.right .journey-copy p{
  font-size:15.5px !important;
  line-height:1.65 !important;
  margin:0 !important;
  max-width:none !important;
}

.journey-proof{
  padding:74px 0 !important;
}
.journey-proof-grid{
  grid-template-columns:1fr 1.2fr !important;
  gap:56px !important;
}
.journey-points{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px 26px !important;
}
.journey-points span{
  padding:14px 0 !important;
}

@media (max-width:980px){
  .journey-track{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:680px){
  .journey-hero{
    padding:58px 0 48px !important;
  }
  .journey-hero h1{
    font-size:clamp(40px,12vw,58px) !important;
  }
  .journey-hero p{
    font-size:16px !important;
  }
  .journey-section{
    padding:58px 0 64px !important;
  }
  .journey-track{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .journey-step,
  .journey-step.left,
  .journey-step.right{
    padding:22px !important;
    border-radius:18px !important;
  }
  .journey-icon{
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
  }
  .journey-icon svg{
    width:38px !important;
    height:38px !important;
  }
  .journey-copy h2{
    font-size:24px !important;
  }
  .journey-proof-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .journey-points{
    grid-template-columns:1fr !important;
  }
}


/* ===== V19 — correctifs de stabilité contrôlés ===== */

/* Header: compact and consistent */
.header{position:sticky;top:0;z-index:1000;background:#fff!important}
.header .nav{
  height:76px!important;min-height:76px!important;
  display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:28px!important;
  flex-wrap:nowrap!important;
}
.header .brand-link{display:flex!important;align-items:center!important;flex:0 0 auto!important}
.header .logo{
  width:142px!important;max-width:142px!important;
  height:auto!important;display:block!important;
}
.header .menu{
  display:flex!important;align-items:center!important;
  margin-left:auto!important;gap:24px!important;
  white-space:nowrap!important;flex-wrap:nowrap!important;
}
.header .menu a{font-size:15px!important;line-height:1.1!important}
.header .menu .cta{padding:13px 18px!important;font-size:14px!important}
.mobile-toggle{display:none!important}

/* Mobile navigation: one breakpoint and one behavior */
@media(max-width:1120px){
  .header .menu{display:none!important}
  .mobile-toggle{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:44px!important;height:44px!important;margin-left:auto!important;
    border:0!important;background:transparent!important;color:var(--ink)!important;
    font-size:25px!important;line-height:1!important;cursor:pointer!important
  }
  .header .nav{height:74px!important;min-height:74px!important}
  .header .logo{width:136px!important;max-width:136px!important}
  .mobile-menu{
    display:none!important;
    position:absolute!important;left:0!important;right:0!important;top:100%!important;
    background:#fff!important;border-top:1px solid #dcebe2!important;
    box-shadow:0 12px 28px rgba(0,0,0,.08)!important;
    padding:10px 18px 18px!important;z-index:1001!important;
    max-height:calc(100vh - 74px)!important;overflow:auto!important
  }
  .mobile-menu.open{display:grid!important;gap:0!important}
  .mobile-menu a{
    display:block!important;padding:15px 6px!important;
    font-size:17px!important;line-height:1.25!important;
    border-bottom:1px solid #eaf3ed!important
  }
  .mobile-menu a:last-child{border-bottom:0!important}
}
@media(max-width:560px){
  .topbar{display:none!important}
  .header .nav{height:70px!important;min-height:70px!important}
  .header .logo{width:128px!important;max-width:128px!important}
}

/* Anchor landing: never hide heading below sticky header */
#amenagements,#votre-projet,[id]{scroll-margin-top:118px}
@media(max-width:1120px){#amenagements,#votre-projet,[id]{scroll-margin-top:96px}}

/* Footer: reset inherited image dimensions and oversized legacy styles */
.footer{
  background:#292a27!important;color:#eaf3ed!important;
  padding:52px 0 24px!important;font-size:14px!important;line-height:1.55!important
}
.footer .footer-grid{
  display:grid!important;grid-template-columns:1.45fr .8fr .9fr!important;
  gap:48px!important;align-items:start!important
}
.footer img{
  width:145px!important;max-width:145px!important;height:auto!important;
  display:block!important;margin:0 0 18px!important
}
.footer h4{
  margin:0 0 14px!important;font-size:12px!important;line-height:1.2!important;
  letter-spacing:.12em!important;text-transform:uppercase!important
}
.footer p{margin:0 0 10px!important;font-size:14px!important;line-height:1.55!important}
.footer a{font-size:14px!important;line-height:1.4!important}
.footer-social{
  display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:18px!important
}
.footer-social a{
  display:inline-flex!important;align-items:center!important;gap:7px!important;
  padding:8px 11px!important;border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;font-size:13px!important;line-height:1!important
}
.footer .social-icon{font-size:15px!important;line-height:1!important;width:auto!important;height:auto!important}
.footer .copyright{margin-top:34px!important;padding-top:18px!important;font-size:12px!important}
@media(max-width:760px){
  .footer{padding:42px 0 22px!important}
  .footer .footer-grid{grid-template-columns:1fr!important;gap:30px!important}
  .footer img{width:138px!important;max-width:138px!important}
}

/* Votre projet: icons never exceed their cards */
.journey-icon{overflow:hidden!important}
.journey-icon svg{
  width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;
  display:block!important;flex:none!important
}
@media(max-width:680px){
  .journey-icon svg{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}
}


/* ===== V20 — storytelling + ancre + footer compact ===== */

/* Anchor "Nos meubles sur mesure": exact landing below sticky header */
#amenagements{
  scroll-margin-top:76px !important;
}
@media(max-width:1120px){
  #amenagements{scroll-margin-top:74px !important;}
}
@media(max-width:560px){
  #amenagements{scroll-margin-top:70px !important;}
}

/* Footer compact and balanced */
.footer{
  padding:34px 0 16px !important;
  font-size:13px !important;
}
.footer .footer-grid{
  grid-template-columns:1.35fr .72fr .82fr !important;
  gap:34px !important;
}
.footer img{
  width:120px !important;
  max-width:120px !important;
  margin-bottom:12px !important;
}
.footer p,
.footer a{
  font-size:12.5px !important;
  line-height:1.45 !important;
}
.footer h4{
  font-size:11px !important;
  margin-bottom:10px !important;
}
.footer-social{
  margin-top:12px !important;
  gap:8px !important;
}
.footer-social a{
  padding:6px 9px !important;
  font-size:11.5px !important;
}
.footer .copyright{
  margin-top:20px !important;
  padding-top:12px !important;
  font-size:11px !important;
}
@media(max-width:760px){
  .footer{padding:30px 0 16px !important;}
  .footer .footer-grid{gap:22px !important;}
  .footer img{width:116px !important;max-width:116px !important;}
}

/* Storytelling page — clear sequence, large illustrated scenes */
.story-hero{
  background:#eaf3ed !important;
  padding:86px 0 68px !important;
}
.story-hero .story-kicker{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:700;
  color:#6f8a77;
  margin-bottom:14px;
}
.story-hero h1{
  font-family:Georgia,serif !important;
  font-size:clamp(46px,6vw,78px) !important;
  line-height:1.02 !important;
  font-weight:500 !important;
  max-width:920px !important;
  margin:0 0 24px !important;
}
.story-hero p{
  max-width:720px !important;
  font-size:18px !important;
  line-height:1.65 !important;
  color:var(--muted);
  margin:0 0 30px !important;
}

.story-wrap{
  padding:86px 0 96px !important;
  background:#fff !important;
}
.story-intro{
  max-width:760px;
  margin:0 auto 64px;
  text-align:center;
}
.story-intro span{
  color:#6f8a77;
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.story-intro h2{
  font-family:Georgia,serif;
  font-size:clamp(36px,4.5vw,58px);
  line-height:1.06;
  font-weight:500;
  margin:12px 0 16px;
}
.story-intro p{
  font-size:17px;
  line-height:1.65;
  color:var(--muted);
}

.story-list{
  display:grid;
  gap:44px;
}
.story-step{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:center;
  gap:58px;
  padding:28px 0;
}
.story-step:nth-child(even) .story-scene{order:2}
.story-step:nth-child(even) .story-copy{order:1}
.story-scene{
  background:#eaf3ed;
  border:1px solid #dcebe2;
  border-radius:28px;
  min-height:330px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
}
.story-scene:before{
  content:"";
  position:absolute;
  width:220px;height:220px;
  border-radius:50%;
  background:#edf2ee;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.story-scene svg{
  width:min(78%,330px);
  height:auto;
  position:relative;
  z-index:2;
  fill:none;
  stroke:#425749;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.story-scene .accent{stroke:#7ea489}
.story-scene .soft-fill{fill:#e7efe9;stroke:none}
.story-copy .story-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#eaf0eb;
  color:#587363;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  margin-bottom:16px;
}
.story-copy h3{
  font-family:Georgia,serif;
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.08;
  font-weight:500;
  margin:0 0 16px;
}
.story-copy p{
  font-size:17px;
  line-height:1.7;
  color:var(--muted);
  margin:0 0 16px;
  max-width:560px;
}
.story-copy .story-note{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4f6758;
  font-weight:700;
  font-size:14px;
  margin-top:4px;
}
.story-connector{
  width:1px;
  height:38px;
  background:#d9ddd8;
  margin:0 auto;
}

.story-proof{
  padding:76px 0 !important;
  background:#28302b !important;
  color:#fff !important;
}
.story-proof-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
}
.story-proof h2{
  font-family:Georgia,serif;
  font-size:clamp(36px,4vw,56px);
  line-height:1.05;
  font-weight:500;
  margin:12px 0 0;
}
.story-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 24px;
}
.story-points span{
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.15);
  font-size:15px;
}

.story-final{
  background:#eaf3ed !important;
  padding:86px 0 112px !important;
  text-align:center !important;
}
.story-final h2{
  font-family:Georgia,serif;
  font-size:clamp(44px,5.5vw,70px);
  line-height:1;
  font-weight:500;
  margin:0 0 18px;
}
.story-final p{
  font-size:17px;
  color:var(--muted);
  margin:0 0 28px;
}
.story-final .cta{
  margin-bottom:0 !important;
}

@media(max-width:860px){
  .story-step{
    grid-template-columns:1fr;
    gap:24px;
    padding:12px 0 26px;
  }
  .story-step:nth-child(even) .story-scene,
  .story-step:nth-child(even) .story-copy{order:initial}
  .story-scene{min-height:280px}
  .story-proof-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:620px){
  .story-hero{padding:58px 0 48px !important}
  .story-wrap{padding:58px 0 68px !important}
  .story-intro{margin-bottom:44px}
  .story-list{gap:26px}
  .story-scene{min-height:230px;border-radius:22px}
  .story-copy h3{font-size:30px}
  .story-copy p{font-size:15.5px}
  .story-points{grid-template-columns:1fr}
  .story-final{padding:64px 0 90px !important}
}

/* ===== V21 — extensibilité catalogue + conformité ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.card{position:relative}
.card-icon{
  position:absolute;top:16px;left:16px;z-index:3;width:48px;height:48px;border-radius:14px;
  background:rgba(255,255,255,.94);display:grid;place-items:center;box-shadow:0 7px 20px rgba(0,0,0,.10)
}
.card-icon img{width:29px!important;height:29px!important;object-fit:contain!important}
.card-placeholder{
  position:absolute;top:17px;right:16px;z-index:3;background:rgba(38,39,36,.82);color:#fff;
  border-radius:999px;padding:6px 9px;font-size:10px;letter-spacing:.04em
}
.catalogue-note{
  margin:22px 0 0;padding:16px 18px;border:1px solid #dcebe2;border-radius:14px;
  background:#f2f8f4;color:#6a6964;font-size:13px;line-height:1.55
}
.legal-main{padding:70px 0 90px}
.legal-main .wrap{max-width:850px}
.legal-main h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,68px);font-weight:500;margin:0 0 30px}
.legal-main h2{font-size:21px;margin:34px 0 10px}
.legal-main p,.legal-main li{line-height:1.7;color:#555}
.footer-legal{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.footer-legal a{opacity:.82}
@media(max-width:700px){
  .card-icon{width:44px;height:44px;top:12px;left:12px}
  .card-icon img{width:26px!important;height:26px!important}
  .card-placeholder{top:13px;right:12px}
}

/* ===== V23 — footer pratique + horaires + réseaux ===== */
.footer{padding:46px 0 20px !important}
.footer .footer-grid{
  display:grid !important;
  grid-template-columns:1.25fr .9fr .85fr .85fr !important;
  gap:38px !important;align-items:start !important
}
.footer-brand-copy{max-width:360px}
.footer-address{margin-top:14px}
.footer-hours{display:grid;gap:8px}
.footer-hours-row{
  display:flex;justify-content:space-between;gap:16px;
  padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.10)
}
.footer-hours-row strong{font-weight:600}
.footer-hours-note{font-size:11px !important;color:#c9cec7 !important;margin-top:8px !important}
.footer-google-hours{display:inline-flex;margin-top:10px;font-weight:700}
.footer-social{margin-top:14px !important}
.footer-social a{min-height:31px}
.footer-social .social-icon{font-size:14px !important}
.footer h4{margin-bottom:14px !important}
.footer-legal{
  margin-top:18px !important;padding-top:14px !important;
  border-top:1px solid rgba(255,255,255,.10)
}
.contact-hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.contact-hours-card{
  border:1px solid #dcebe2;background:#f2f8f4;border-radius:18px;padding:24px
}
.contact-hours-card h3{margin:0 0 12px;font-size:22px}
.contact-hours-card p{margin:0 0 8px;color:var(--muted)}
.contact-hours-card a{display:inline-flex;margin-top:8px;font-weight:700}
@media(max-width:980px){.footer .footer-grid{grid-template-columns:1fr 1fr !important}}
@media(max-width:700px){
  .footer .footer-grid{grid-template-columns:1fr !important;gap:28px !important}
  .contact-hours-grid{grid-template-columns:1fr}
}

/* ===== V24 — footer simplifié et aligné ===== */
.footer{
  padding:34px 0 16px !important;
}
.footer .footer-grid{
  display:grid !important;
  grid-template-columns:1.3fr .85fr .8fr !important;
  gap:42px !important;
  align-items:start !important;
}
.footer-brand-copy{
  max-width:350px !important;
}
.footer-address{
  margin-top:12px !important;
}
.footer h4{
  margin:0 0 12px !important;
}
.footer p{
  margin:0 0 8px !important;
}
.footer-contact-hours{
  margin:0 0 10px !important;
  line-height:1.6 !important;
}
.footer-contact-hours a{
  display:inline-block !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:600 !important;
}
.footer-google-hours{
  display:inline-block !important;
  margin-top:4px !important;
  font-weight:700 !important;
}
.footer-social{
  margin-top:12px !important;
}
.footer-legal{
  margin-top:16px !important;
  padding-top:12px !important;
}
.footer .copyright{
  margin-top:8px !important;
  padding-top:8px !important;
}
@media(max-width:900px){
  .footer .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:30px !important;
  }
}
@media(max-width:650px){
  .footer .footer-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
}

/* ===== V26 : mobile hero lisibility + CTAs + no pause button ===== */
@media (max-width:760px){
  /* Le bouton vidéo ne s'affiche plus sur smartphone. La vidéo continue en autoplay/loop. */
  .ppose-video-toggle{display:none !important;}

  /* Titre inchangé : même police, blanc avec un liseré noir fin pour rester lisible sur toute la vidéo. */
  .hero h1{
    color:#fff !important;
    -webkit-text-stroke:0.75px rgba(0,0,0,.92);
    paint-order:stroke fill;
    text-shadow:
      0 1px 1px rgba(0,0,0,.55),
      1px 0 0 rgba(0,0,0,.28),
      -1px 0 0 rgba(0,0,0,.28),
      0 -1px 0 rgba(0,0,0,.28);
  }

  /* Le texte secondaire garde sa police et gagne seulement un peu de contraste. */
  .hero p{
    text-shadow:0 1px 2px rgba(0,0,0,.58);
  }

  /* Les deux boutons sont empilés proprement, sans chevauchement. */
  .hero .actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    width:min(100%, 520px) !important;
  }
  .hero .actions .cta{
    width:100% !important;
    min-height:58px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
}


/* ===== V27 — responsive audit fixes: hero/video/CTA/form ===== */
html,body{max-width:100%;overflow-x:clip}
.ppose-hero-video-shell{background:#171816!important;background-image:none!important}
.ppose-hero-video-shell video{background:#171816!important;background-image:none!important}
.hero h1{color:#fff!important;-webkit-text-stroke:.65px rgba(0,0,0,.9);paint-order:stroke fill;text-shadow:0 1px 1px rgba(0,0,0,.5),1px 0 0 rgba(0,0,0,.22),-1px 0 0 rgba(0,0,0,.22),0 -1px 0 rgba(0,0,0,.22)}
.ppose-video-toggle{display:none!important}
.wrap,.devis-layout,.devis-card,.devis-card-body,.form-step,form,.choices,.choice{min-width:0;max-width:100%}
img,video,svg{max-width:100%}
@media (max-width:900px){
  .hero{height:auto!important;min-height:max(700px,calc(100svh - 82px))!important;align-items:end!important}
  .hero-content{width:100%!important;max-width:100%!important;padding:72px 0 42px!important}
  .hero h1{font-size:clamp(45px,12.2vw,58px)!important;line-height:1.01!important;max-width:11.2em!important;margin-bottom:24px!important}
  .hero p{font-size:clamp(17px,4.5vw,20px)!important;line-height:1.6!important;max-width:35em!important;margin-bottom:26px!important;text-shadow:0 1px 2px rgba(0,0,0,.62)!important}
  .hero .actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:min(100%,520px)!important;margin-top:0!important}
  .hero .actions .cta{width:100%!important;min-height:58px!important;margin:0!important;padding:16px 18px!important;white-space:normal!important;text-align:center!important}
}
@media (min-width:761px) and (max-width:1100px){.hero .actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important}.hero .actions .cta{min-width:220px!important}}
@media (max-width:760px){
  .devis-page .section{padding-top:28px!important}
  .devis-page .wrap{width:calc(100% - 28px)!important;max-width:none!important}
  .devis-layout{display:block!important;width:100%!important}
  .devis-aside{display:none!important}
  .devis-card{width:100%!important;overflow:hidden!important}
  .devis-card-head{padding:18px 16px 12px!important}
  .devis-card-body{padding:24px 16px 26px!important}
  .devis-card h2{font-size:clamp(30px,8vw,38px)!important;line-height:1.12!important}
  .devis-sub{font-size:16px!important;line-height:1.55!important;margin-bottom:22px!important}
  .choices.icon-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
  .choices.icon-grid .choice{width:100%!important;min-width:0!important;min-height:132px!important;padding:12px 8px!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;gap:9px!important;overflow:hidden!important}
  .choice .icon-tile{width:66px!important;height:66px!important;min-width:66px!important;border-radius:16px!important}
  .choice .icon-tile img{width:50px!important;height:50px!important}
  .choice span{display:block!important;width:100%!important;max-width:100%!important;font-size:14px!important;line-height:1.22!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .form-nav{gap:12px!important;flex-wrap:wrap!important}
  .form-nav .cta{width:100%!important;min-width:0!important}
  .fields{grid-template-columns:1fr!important}
}
@media (max-width:380px){
  .devis-page .wrap{width:calc(100% - 20px)!important}
  .devis-card-body{padding-left:12px!important;padding-right:12px!important}
  .choices.icon-grid{gap:8px!important}
  .choices.icon-grid .choice{min-height:124px!important;padding:10px 6px!important}
  .choice .icon-tile{width:58px!important;height:58px!important;min-width:58px!important}
  .choice .icon-tile img{width:44px!important;height:44px!important}
  .choice span{font-size:13px!important}
}

/* ===== V27 — pictogrammes des cartes : centrage et échelle robustes ===== */
.card-icon{
  box-sizing:border-box;
  padding:9px;
  overflow:hidden;
}
.card-icon img{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:30px!important;
  max-height:30px!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:auto!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
}
.card:hover .card-icon img{transform:none!important}
@media(max-width:700px){
  .card-icon{padding:8px}
  .card-icon img{max-width:27px!important;max-height:27px!important}
}

/* ===== V28 — correction smartphone devis : aucune colonne hors écran ===== */
@media (max-width:760px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .devis-page main,.devis-page .section,.devis-page .wrap,.devis-layout,.devis-card,.devis-card-body,.form-step,.choices.icon-grid{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .devis-page .wrap{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important}
  .devis-card-body{padding:22px 14px 26px!important}
  .choices.icon-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .choices.icon-grid .choice{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:112px!important;padding:14px 16px!important;gap:16px!important;text-align:left!important;box-sizing:border-box!important;overflow:hidden!important}
  .choices.icon-grid .choice .icon-tile{flex:0 0 72px!important;width:72px!important;height:72px!important;min-width:72px!important}
  .choices.icon-grid .choice .icon-tile img{width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important}
  .choices.icon-grid .choice > span{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:100%!important;font-size:17px!important;line-height:1.28!important;overflow-wrap:break-word!important;word-break:normal!important}
}
@media (max-width:380px){
  .devis-page .wrap{width:calc(100% - 18px)!important}
  .choices.icon-grid .choice{padding:12px!important;gap:13px!important}
  .choices.icon-grid .choice .icon-tile{flex-basis:64px!important;width:64px!important;height:64px!important;min-width:64px!important}
  .choices.icon-grid .choice .icon-tile img{width:48px!important;height:48px!important}
  .choices.icon-grid .choice > span{font-size:16px!important}
}

/* V30 — défilement, accès mobile au devis et clavier */
html,body{overflow-x:clip!important;overflow-y:visible!important}
.mobile-devis{display:none}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:3px solid #315c40;outline-offset:4px}
.quote-choice input:focus-visible+.choice-visual{outline:3px solid #315c40;outline-offset:4px}
.preview-notice{padding:16px;border:1px solid #c9d4c9;border-radius:10px;background:#f4f8f4;line-height:1.5}
.selection-note{margin:0;color:#34513c}.selection-note[hidden]{display:none}
.video-control{position:absolute;right:18px;bottom:18px;z-index:6;background:#fff;color:#263a2b;border:1px solid #526a57;border-radius:8px;padding:10px 14px;cursor:pointer}
@media(max-width:1120px){
 .header .nav{gap:10px!important}
 .mobile-devis{display:inline-flex;align-items:center;justify-content:center;background:#506a58;color:#fff;text-decoration:none;padding:11px 12px;border-radius:7px;font-size:13px;font-weight:700;margin-left:auto;white-space:nowrap}
 .mobile-toggle{margin-left:0!important;flex:0 0 40px!important;width:40px!important}
}
@media(max-width:420px){.header .logo{width:85px!important;max-width:85px!important}.mobile-devis{font-size:12px;padding:11px 9px}.header .nav{gap:7px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.video-control{top:14px;bottom:auto;right:14px}
html.gallery-open,html.gallery-open body{overflow:hidden!important}

/* V31 — coins plus doux pour les vignettes du catalogue d’accueil. */
#amenagements .card{border-radius:24px!important;overflow:hidden}

/* V32 — catalogue : catégories principales et complémentaires. */
.catalogue-subheading{font:500 clamp(28px,4vw,42px)/1.2 Georgia,serif;margin:56px 0 26px}.quote-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-label{overflow-wrap:anywhere}
@media(max-width:700px){.quote-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V32 : huit vignettes et sept catégories dans un panneau repliable. */
#amenagements .catalogue-more{margin:28px 0 0;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}
#amenagements .catalogue-more summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;cursor:pointer;list-style:none;font-size:18px;font-weight:600}
#amenagements .catalogue-more summary::-webkit-details-marker{display:none}
#amenagements .catalogue-more summary span{font-size:26px;transition:transform .2s}
#amenagements .catalogue-more[open] summary span{transform:rotate(45deg)}
#amenagements .catalogue-more-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;padding:0 26px 20px}
#amenagements .catalogue-more-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--line);text-decoration:none}
#amenagements .catalogue-more-links a:hover{color:var(--accent)}
#amenagements .catalogue-more summary:focus-visible,#amenagements .catalogue-more-links a:focus-visible{outline:3px solid currentColor;outline-offset:-4px}
#amenagements .catalogue-badge{position:absolute;top:14px;right:14px;z-index:2;background:#fff;padding:6px 10px;border-radius:20px;font-size:11px;color:#444}
@media(min-width:1121px){#amenagements .grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){#amenagements .catalogue-more-links{grid-template-columns:1fr}#amenagements .catalogue-more summary{padding:20px}}

/* Galerie accessible directement depuis le catalogue. */
#realisations{scroll-margin-top:110px}

.quote-deadline{font-size:16px!important;line-height:1.5;margin:16px 0 0;max-width:560px}

/* V35 — arrondir toute la fiche de réalisation, photo et bloc blanc. */
.project-card{border-radius:24px!important;overflow:hidden}

/* V36 : photo et texte en deux zones, fond blanc cassé lumineux. */
#amenagements .card{display:flex;flex-direction:column;min-height:0!important;background:#f2f8f4!important}
#amenagements .card:after{display:none!important}
#amenagements .card>img{position:relative!important;inset:auto!important;display:block;width:100%;height:290px!important;flex:none;object-fit:cover;border-radius:0;transform:none!important}
#amenagements .card .card-copy{position:static!important;inset:auto!important;padding:22px 24px 26px;color:#30312d!important;background:#f2f8f4;flex:1;display:flex;flex-direction:column;gap:14px}
#amenagements .card-copy h3{margin:0;line-height:1.15;font-size:29px;color:#30312d;overflow-wrap:anywhere}
#amenagements .card-meta{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
#amenagements .card-meta em{background:#fff;color:#30312d;border:1px solid #dcebe2;border-radius:10px}
.project-card .project-info{padding:22px 24px 26px}
.project-price-slot{margin-top:18px;padding:14px 16px;background:#f2f8f4;border:1px solid #dcebe2;border-radius:12px;color:#343530;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:16px}
.project-price-slot span{font-weight:500;color:#6e685c}

/* V37 — titres complets et photographies sans badges décoratifs. */
.section-head{display:block!important}
.section-head>div,.section-head h2{width:100%;max-width:none!important}
.section-head p{margin-top:20px;max-width:800px}
.hero-content{max-width:var(--max)!important}
h1,h2,h3,h4,h5,h6{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;min-width:0;max-width:100%!important}
h1 span,h2 span,h3 span{display:inline}
.section-head,.local>div,.journey-copy,.story-intro>div{min-width:0}
.hero .hero-content h1{width:100%;max-width:none!important}

/* V38 — l'image et le texte conservent chacun leur moitié du bloc. */
.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,70px)}
.split>div{min-width:0;width:100%}
.split img{display:block;width:100%;height:580px;object-fit:cover;border-radius:24px}
.split h2{width:100%;max-width:100%!important}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr);gap:30px}.split img{height:390px}}

/* V39 — trois scènes originales au trait de croquis. */
.story-scene{background:transparent;border:0;min-height:0;overflow:visible}
.story-scene:before{display:none}
.story-scene img{display:block;width:100%;height:auto}
.story-step:nth-child(even) .story-scene{order:0}
.story-step:nth-child(even) .story-copy{order:0}
.story-note{line-height:1.6}
.sketch-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.sketch-steps .step{padding:0;background:transparent!important;border:0;min-width:0}
.process-sketch{width:100%;height:auto;margin-bottom:20px}
.process-number{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;color:#71806b;margin-bottom:12px}
.sketch-steps h3{font-size:28px}
@media(max-width:900px){.sketch-steps{grid-template-columns:minmax(0,1fr);gap:42px}.process-sketch{max-width:520px;margin-inline:auto}}

.sketch-steps .step:before{display:none}

/* V40: photos originales, proportions conservées, meuble visible en entier. */
.project-card img[src*="/photos/"],.split img[src*="/photos/"],#amenagements .card>img[src*="/photos/"]{object-fit:contain!important;background:#f2f8f4}

/* V41 — parcours et présentation communs aux catégories. */
.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;padding:12px 20px;background:#fff;color:#182d24;border:2px solid #486957;border-radius:8px}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #547864;outline-offset:4px}
.category-page .category-hero{padding:48px 0 30px;background:#f2f8f4;text-align:left}
.category-hero .breadcrumb{font-size:14px;margin-bottom:22px;color:#555d54;display:flex;gap:10px;flex-wrap:wrap}
.category-page .category-hero h1{margin:0 0 18px;max-width:none;font-size:clamp(24px,3.4vw,48px)}
.category-page .category-hero p{margin:0;max-width:780px;font-size:18px;line-height:1.6}
.category-page .category-gallery{padding:38px 0 64px;background:#fff}
.category-gallery .section-head{margin-bottom:26px}
.category-gallery .section-head h2{font-size:clamp(22px,2.7vw,36px)}
.category-gallery .project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.category-gallery .project-card{min-width:0;border-radius:24px;overflow:hidden;background:#f2f8f4;position:relative;box-shadow:0 4px 18px rgba(31,41,32,.05)}
.category-gallery .project-media-set{display:block;background:#f2f8f4;position:relative}
.category-gallery .project-main{display:block;width:100%;height:390px!important;object-fit:contain!important;border-radius:0}
.category-gallery .project-thumbs{display:flex;gap:8px;padding:10px;overflow-x:auto}
.category-gallery .project-thumbs img{flex:0 0 82px;width:82px;height:74px!important;object-fit:contain!important;border-radius:8px}
.category-gallery .project-info{padding:24px!important}
.category-gallery .project-info h3{font-size:23px;margin:0 0 14px}
.category-gallery .project-description{font-size:16px;line-height:1.7;color:#454d45;margin:0 0 20px}
.category-gallery .project-price-slot{margin:0;border-color:#dcebe2}
.category-help{background:#f2f8f4;padding:56px 0}.category-help .wrap>p{max-width:880px;line-height:1.8}
.category-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:24px 0 30px}.category-steps p{font-size:16px;line-height:1.7}.category-steps strong{display:block;margin-bottom:8px}
.category-related{padding:44px 0}.category-links{display:flex;flex-wrap:wrap;gap:10px}.category-links a{padding:10px 16px;background:#f2f8f4;border:1px solid #dcebe2;border-radius:24px;text-decoration:none}.category-links a:hover{background:#e6ece6}
@media(max-width:900px){.category-gallery .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.category-page .category-hero{padding:30px 0 24px}.category-page .category-hero p{font-size:16px}.category-gallery .project-grid{grid-template-columns:minmax(0,1fr);gap:24px}.category-gallery .project-main{height:360px!important}.category-gallery .project-info h3{font-size:23px}.category-steps{grid-template-columns:1fr;gap:8px}.category-help{padding:36px 0}.category-gallery .project-info{padding:22px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

.footer h4{font-size:14px!important;letter-spacing:1px!important}
.category-gallery .project-card>img{height:390px!important;object-fit:contain!important;background:#f2f8f4}
@media(max-width:600px){.category-gallery .project-card>img{height:360px!important}}
