
:root{
  --bg:#f4efe6;
  --paper:#fbf8f2;
  --ink:#20261d;
  --green:#304229;
  --green-soft:#5d704d;
  --orange:#bd612e;
  --border:#ddd2c2;
  --shadow:0 18px 50px rgba(43,36,27,.08);
  --radius:14px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 36px),var(--container));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link{position:absolute;left:-10000px;top:8px;background:#fff;padding:10px;z-index:100}
.skip-link:focus{left:8px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(244,239,230,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(48,66,41,.08)}
.header-inner{min-height:92px;display:flex;align-items:center;gap:34px}
.brand{width:210px;flex:0 0 auto;display:flex;align-items:center}
.brand img{width:100%;height:78px;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 0 rgba(255,255,255,.25))}
.site-nav{margin-left:auto;display:flex;gap:28px;align-items:center;font-size:.9rem;font-weight:600}
.site-nav a{position:relative;padding:10px 0}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--orange);transition:.25s}
.site-nav a:hover::after,.site-nav a.is-active::after{right:0}
.button{display:inline-flex;min-height:46px;padding:0 22px;align-items:center;justify-content:center;border-radius:5px;font-size:.84rem;font-weight:600;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--green);color:#fff}
.button-light{background:#fff;color:var(--orange)}
.header-cta{white-space:nowrap}
.menu-button{display:none;margin-left:auto;border:0;background:none;width:44px;height:44px;padding:10px}
.menu-button span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:5px 0}
.hero{padding:20px 0 0}
.hero-shell{display:grid;grid-template-columns:43% 57%;min-height:610px;background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.hero-copy{padding:76px 48px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:600;margin:0 0 14px}
.hero h1,.section h2,.contact-band h2,.page-hero h1{font-family:"Cormorant Garamond",Georgia,serif;line-height:.95;font-weight:600;margin:0}
.hero h1{font-size:clamp(4.5rem,7vw,7.2rem);text-transform:uppercase;letter-spacing:-.035em}
.signature-line{font-family:"Nothing You Could Do",cursive;color:var(--orange);font-size:1.45rem;margin:19px 0}
.hero-intro{max-width:390px;margin:0 0 28px}
.placeholder-photo{
  background:
    linear-gradient(135deg,rgba(48,66,41,.2),rgba(189,97,46,.08)),
    radial-gradient(circle at 70% 30%,rgba(255,255,255,.35),transparent 30%),
    #9aa58e;
  color:rgba(255,255,255,.88);display:grid;place-items:center;text-align:center;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.12em
}
.hero-visual{min-height:610px}
.trust-bar{position:relative;z-index:3;margin:-38px 18px 0;background:rgba(251,248,242,.98);border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 8px 24px rgba(43,36,27,.05)}
.trust-bar>div{padding:22px 24px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--border);font-size:.78rem}
.trust-bar>div:last-child{border-right:0}
.trust-icon,.line-icon{font-size:1.7rem;color:var(--green)}
.section{padding:94px 0}
.section-header{text-align:center;margin-bottom:42px}
.section-header h2,.project-copy h2,.about-copy h2{font-size:clamp(2.5rem,4.5vw,4rem)}
.divider{display:block;width:76px;height:14px;margin:14px auto 0;position:relative}
.divider:before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--orange)}
.divider:after{content:"◇";position:absolute;top:-4px;left:28px;background:var(--bg);color:var(--orange);padding:0 8px}
.divider-left{margin-left:0}
.cards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.service-card{background:rgba(255,255,255,.38);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:.2s}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-photo{height:160px}
.card-body{text-align:center;padding:24px 18px 28px}
.service-card h3{text-transform:uppercase;font-size:.82rem;line-height:1.3;min-height:42px;margin:12px 0}
.service-card p{font-size:.78rem;margin:0}
.project-layout{display:grid;grid-template-columns:28% 72%;gap:48px;align-items:center}
.project-copy p:not(.eyebrow){max-width:280px;font-size:.88rem;margin:24px 0 28px}
.project-mosaic{display:grid;grid-template-columns:1.25fr .9fr;grid-template-rows:1fr 1fr;gap:14px;height:510px}
.project-large{grid-row:1/3;position:relative}
.project-mosaic>div{border-radius:8px;overflow:hidden}
.experience-badge{position:absolute;left:0;bottom:0;width:118px;min-height:118px;background:var(--green);color:#fff;display:grid;place-content:center;text-align:center}
.experience-badge strong{font-family:"Cormorant Garamond",serif;font-size:2.6rem;line-height:1}
.experience-badge small{font-size:.72rem}
.about-preview{padding-top:24px}
.about-panel{position:relative;display:grid;grid-template-columns:38% 52% 10%;gap:32px;align-items:center;background:rgba(255,255,255,.26);padding:18px;border-radius:10px}
.about-image{height:310px;border-radius:7px}
.about-copy p:not(.eyebrow){font-size:.87rem;max-width:650px}
.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.values-row>div{display:flex;align-items:center;gap:10px;font-size:.72rem}
.values-row span{font-size:1.6rem;color:var(--green)}
.leaf-decoration{font-size:8rem;opacity:.35;transform:rotate(-25deg);color:var(--green)}
.contact-band{background:var(--orange);color:#fff;padding:44px 0}
.contact-band-grid{display:grid;grid-template-columns:44% 34% 22%;align-items:center}
.contact-band h2{font-size:2.8rem}
.contact-band p{font-size:.84rem;max-width:520px}
.eyebrow-light{color:#fff}
.contact-list{padding:0 42px;display:grid;gap:15px;border-left:1px solid rgba(255,255,255,.35)}
.landscape-mark{text-align:center;font-size:2.7rem;opacity:.45}
.site-footer{background:#faf7f1;padding:48px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:56px}
.footer-brand img{width:205px;height:auto}
.footer-brand p{font-size:.78rem;max-width:250px}
.site-footer h2{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;margin:0 0 14px}
.site-footer a{display:block;font-size:.78rem;margin:6px 0}
.footer-bottom{border-top:1px solid var(--border);margin-top:34px;padding-top:16px;display:flex;justify-content:space-between;font-size:.72rem;color:#666}
.inner-page{min-height:62vh}
.page-hero{padding:110px 0}
.page-hero h1{font-size:clamp(3.5rem,7vw,6.5rem)}
.page-hero p{max-width:650px}
@media(max-width:980px){
  .header-cta{display:none}
  .menu-button{display:block}
  .site-nav{display:none;position:absolute;top:92px;left:18px;right:18px;background:var(--paper);padding:20px;border-radius:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .site-nav.open{display:flex}
  .hero-shell{grid-template-columns:1fr}
  .hero-visual{min-height:430px}
  .trust-bar{grid-template-columns:repeat(2,1fr)}
  .trust-bar>div:nth-child(2){border-right:0}
  .trust-bar>div:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .service-card:last-child{grid-column:1/-1;max-width:50%;margin:auto}
  .project-layout{grid-template-columns:1fr}
  .project-copy{text-align:center}
  .project-copy p:not(.eyebrow){margin-inline:auto}
  .divider-left{margin-inline:auto}
  .about-panel{grid-template-columns:1fr 1fr}
  .leaf-decoration{display:none}
  .contact-band-grid{grid-template-columns:1fr 1fr}
  .landscape-mark{display:none}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .container{width:min(calc(100% - 24px),var(--container))}
  .header-inner{min-height:76px}
  .brand{width:165px}.brand img{height:62px}
  .site-nav{top:76px}
  .hero{padding-top:8px}
  .hero-copy{padding:42px 22px 30px}
  .hero h1{font-size:4.15rem}
  .signature-line{font-size:1.18rem}
  .hero-visual{min-height:320px}
  .trust-bar{margin:-20px 10px 0}
  .trust-bar>div{padding:15px 10px;gap:8px;font-size:.65rem}
  .section{padding:70px 0}
  .cards-grid{grid-template-columns:1fr}
  .service-card{display:grid;grid-template-columns:112px 1fr}
  .card-photo{height:100%;min-height:160px}
  .card-body{text-align:left;padding:18px}
  .service-card:last-child{grid-column:auto;max-width:none}
  .service-card h3{min-height:0}
  .project-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 165px;height:auto}
  .project-large{grid-column:1/3;grid-row:auto}
  .about-panel{grid-template-columns:1fr}
  .about-image{height:280px}
  .values-row{grid-template-columns:1fr}
  .contact-band-grid{grid-template-columns:1fr;gap:28px}
  .contact-list{padding:0;border-left:0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{display:grid;gap:6px}
}






/* Official Lucide icon system */
.lucide-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
}
.lucide-icon svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.service-card .line-icon{
  width:76px;
  height:76px;
  margin:0 auto 8px;
}
.service-card .line-icon svg{
  width:56px;
  height:56px;
}
.values-row>div{
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  text-align:center;
  gap:12px;
  padding:0 12px;
}
.values-row .value-icon{
  width:84px;
  height:84px;
  border:1.5px solid rgba(48,66,41,.72);
  border-radius:50%;
  background:rgba(255,255,255,.2);
}
.values-row .value-icon svg{
  width:48px;
  height:48px;
}
.values-row strong{
  line-height:1.2;
}
@media(max-width:620px){
  .service-card .line-icon{
    margin:0 0 8px;
  }
  .values-row>div{
    min-height:auto;
    flex-direction:row;
    align-items:center;
    text-align:left;
  }
}


/* Final botanical decoration — refined right-side branch */
.about-panel{
  overflow:hidden;
}
.leaf-decoration{
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:10px 0 0;
  opacity:.18;
  pointer-events:none;
}
.leaf-decoration svg{
  width:150px;
  max-height:100%;
  height:auto;
  fill:none;
  stroke:var(--green);
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:980px){
  .leaf-decoration{
    display:none;
  }
}

/* Contact page */
.contact-page{min-height:70vh}.contact-hero{padding:74px 0 94px}.contact-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:66px;align-items:start}.contact-intro{padding:24px 22px 40px 0}.contact-intro h1{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(4rem,7vw,6.4rem);line-height:.92;font-weight:600}.contact-lead{max-width:520px;margin:24px 0 34px;font-size:1rem}.contact-info-card{display:grid;gap:2px;max-width:540px;background:rgba(255,255,255,.25);border:1px solid var(--border);border-radius:10px;overflow:hidden}.contact-info-row{display:flex;align-items:center;gap:16px;min-height:92px;padding:18px 22px;background:rgba(255,255,255,.22);transition:.2s}a.contact-info-row:hover{background:rgba(255,255,255,.5)}.contact-info-icon{width:46px;height:46px;border:1px solid rgba(48,66,41,.2);border-radius:50%;display:grid;place-items:center;color:var(--green);flex:0 0 auto}.contact-info-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-info-row small{display:block;margin-bottom:2px;color:#6c7268;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.contact-info-row strong{font-size:.92rem}.contact-socials{display:flex;gap:12px;margin-top:24px}.contact-socials a{display:inline-flex;min-height:40px;align-items:center;padding:0 16px;border:1px solid rgba(48,66,41,.22);border-radius:999px;font-size:.78rem;font-weight:600;transition:.2s}.contact-socials a:hover{background:var(--green);color:#fff}.contact-form-card{background:rgba(251,248,242,.96);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:42px}.form-heading{margin-bottom:30px}.form-heading h2{margin:0 0 10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.6rem,4vw,3.7rem);line-height:1}.form-heading p:last-child{margin:0;color:#6a7066;font-size:.82rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.form-field{display:grid;gap:8px}.form-field-full{grid-column:1/-1}.form-field label{font-size:.82rem;font-weight:600}.form-field label span{color:var(--orange)}.form-field label small{font-size:.72rem;color:#777d72;font-weight:500}.form-field input,.form-field textarea{width:100%;border:1px solid #d8cebf;border-radius:7px;background:#fffdf9;color:var(--ink);font:inherit;outline:none;transition:.2s}.form-field input{height:50px;padding:0 14px}.form-field textarea{resize:vertical;min-height:170px;padding:14px}.form-field input:focus,.form-field textarea:focus{border-color:var(--green-soft);box-shadow:0 0 0 4px rgba(93,112,77,.11)}.form-field.is-invalid input,.form-field.is-invalid textarea{border-color:#b33b31;box-shadow:0 0 0 4px rgba(179,59,49,.08)}.field-error{min-height:18px;margin:0;color:#a73028;font-size:.72rem}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.checkbox-label{display:grid!important;grid-template-columns:22px 1fr;gap:11px;align-items:start;font-weight:400!important;line-height:1.5;cursor:pointer}.checkbox-label input{position:absolute;opacity:0}.custom-checkbox{width:20px;height:20px;margin-top:2px;border:1px solid #cbbfaf;border-radius:4px;background:#fffdf9;position:relative}.checkbox-label input:checked + .custom-checkbox{background:var(--green);border-color:var(--green)}.checkbox-label input:checked + .custom-checkbox::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.consent-field.is-invalid .custom-checkbox{border-color:#b33b31;box-shadow:0 0 0 4px rgba(179,59,49,.08)}.submit-button{min-width:210px;margin-top:10px;border:0}.submit-button.is-loading{pointer-events:none;opacity:.9}.button-spinner{display:none;width:16px;height:16px;margin-left:10px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}.submit-button.is-loading .button-spinner{display:block}.form-note{margin:14px 0 0;color:#74796f;font-size:.7rem}.form-success{min-height:470px;display:grid;place-content:center;text-align:center}.form-success[hidden]{display:none}.success-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:1.6rem}.form-success h2{margin:0 0 10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:3.2rem}.form-success p{margin:4px 0}.success-signature{margin-top:22px!important;font-family:"Nothing You Could Do",cursive;color:var(--orange);font-size:1.35rem}.success-signature span{font-family:Inter,sans-serif;color:var(--ink);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.contact-layout{grid-template-columns:1fr;gap:34px}.contact-intro{padding-right:0}}@media(max-width:620px){.contact-hero{padding:42px 0 68px}.contact-form-card{padding:28px 20px}.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.submit-button{width:100%}}


/* Contact V2 — accents terracotta et détails botaniques */
.contact-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 4% 14%,rgba(189,97,46,.08),transparent 24rem),
    radial-gradient(circle at 95% 88%,rgba(48,66,41,.07),transparent 28rem);
}
.contact-hero::before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-82px;
  top:84px;
  border:1px solid rgba(189,97,46,.24);
  border-radius:50%;
}
.contact-hero::after{
  content:"";
  position:absolute;
  width:14px;
  height:14px;
  left:calc(50% - 18px);
  top:64px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:26px 12px 0 -5px rgba(189,97,46,.42);
}
.contact-intro{
  position:relative;
  z-index:1;
}
.contact-intro > .eyebrow,
.form-heading > .eyebrow{
  color:var(--orange);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.contact-intro > .eyebrow::before,
.form-heading > .eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background:currentColor;
}
.contact-intro h1{
  position:relative;
}
.contact-intro h1::after{
  content:"";
  display:block;
  width:92px;
  height:3px;
  margin-top:22px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--orange) 0 62%,rgba(189,97,46,.2) 62%);
}
.contact-info-card{
  position:relative;
  border-color:rgba(189,97,46,.2);
  box-shadow:0 14px 38px rgba(70,48,30,.055);
}
.contact-info-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(var(--orange),rgba(189,97,46,.28));
  z-index:2;
}
.contact-info-icon{
  border-color:rgba(189,97,46,.3);
  background:rgba(189,97,46,.055);
  color:var(--orange);
}
.contact-socials a{
  border-color:rgba(189,97,46,.32);
}
.contact-socials a:hover{
  border-color:var(--orange);
  background:var(--orange);
}
.contact-botanical{
  position:absolute;
  pointer-events:none;
}
.contact-botanical svg{
  width:100%;
  height:auto;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-botanical-left{
  width:190px;
  right:-16px;
  bottom:-78px;
  opacity:.18;
  transform:rotate(4deg);
}
.contact-botanical-left svg{
  stroke:var(--orange);
  stroke-width:1.25;
}
.contact-form-card{
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(145deg,rgba(255,253,249,.99),rgba(250,243,234,.98));
  border-color:rgba(189,97,46,.23);
  box-shadow:
    0 26px 70px rgba(63,45,29,.11),
    inset 0 1px rgba(255,255,255,.9);
}
.contact-form-card::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(189,97,46,.09);
  border-radius:11px;
  z-index:-1;
  pointer-events:none;
}
.terracotta-ribbon{
  position:absolute;
  top:0;
  left:42px;
  width:86px;
  height:5px;
  border-radius:0 0 8px 8px;
  background:var(--orange);
}
.contact-botanical-card{
  width:145px;
  right:-31px;
  top:-16px;
  opacity:.115;
  transform:rotate(11deg);
  z-index:-1;
}
.contact-botanical-card svg{
  stroke:var(--orange);
  stroke-width:1.1;
}
.form-heading{
  position:relative;
  padding-bottom:23px;
}
.form-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,rgba(189,97,46,.42),rgba(189,97,46,0));
}
.form-field label span{
  color:var(--orange);
}
.form-field input,
.form-field textarea{
  border-color:#d9cabc;
  background:rgba(255,254,251,.92);
}
.form-field input:hover,
.form-field textarea:hover{
  border-color:rgba(189,97,46,.45);
}
.form-field input:focus,
.form-field textarea:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(189,97,46,.1);
}
.custom-checkbox{
  border-color:rgba(189,97,46,.44);
}
.checkbox-label input:checked + .custom-checkbox{
  background:var(--orange);
  border-color:var(--orange);
}
.form-signature{
  margin:3px 0 17px;
  max-width:390px;
  font-family:"Nothing You Could Do",cursive;
  color:var(--orange);
  font-size:1.15rem;
  line-height:1.35;
  transform:rotate(-1deg);
}
.submit-button{
  position:relative;
  overflow:hidden;
  background:var(--green);
  box-shadow:0 9px 24px rgba(48,66,41,.18);
}
.submit-button::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-46%;
  width:35%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transform:skewX(-18deg);
  transition:left .45s ease;
}
.submit-button:hover::before{
  left:116%;
}
.form-note{
  padding-left:16px;
  position:relative;
}
.form-note::before{
  content:"";
  position:absolute;
  left:0;
  top:.52em;
  width:7px;
  height:7px;
  border:1px solid var(--orange);
  border-radius:50%;
}
.success-icon{
  background:var(--orange);
  box-shadow:0 10px 30px rgba(189,97,46,.22);
}
@media(max-width:980px){
  .contact-botanical-left{
    width:155px;
    right:5px;
    bottom:-55px;
  }
  .contact-hero::after{
    left:auto;
    right:25%;
  }
}
@media(max-width:620px){
  .contact-hero::before,
  .contact-hero::after{
    display:none;
  }
  .contact-botanical-left{
    display:none;
  }
  .terracotta-ribbon{
    left:22px;
    width:68px;
  }
  .contact-botanical-card{
    width:108px;
    right:-29px;
    top:4px;
  }
  .form-signature{
    font-size:1.02rem;
  }
}


/* Contact V3 — finition plus sobre */
.form-signature{
  display:none!important;
}
.contact-form-card{
  box-shadow:
    0 24px 62px rgba(63,45,29,.095),
    inset 0 1px rgba(255,255,255,.9);
}
.contact-info-card{
  box-shadow:0 12px 30px rgba(70,48,30,.045);
}
.contact-info-row{
  position:relative;
}
.contact-info-row::after{
  content:"";
  position:absolute;
  left:84px;
  right:20px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,rgba(189,97,46,.16),rgba(189,97,46,0));
}
.contact-info-row:last-child::after{
  display:none;
}
.submit-button{
  margin-top:2px;
}
.submit-button:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 28px rgba(48,66,41,.24);
}
.submit-button:active{
  transform:translateY(0);
}
.form-note{
  margin-top:13px;
}
@media(max-width:620px){
  .contact-info-row::after{
    left:76px;
  }
}


/* Page Prestations V1 */
.services-page{background:#fbf8f2;color:var(--green)}
.services-hero{position:relative;overflow:hidden;padding:118px 0 100px;background:linear-gradient(130deg,#f9f4ea 0%,#fffdf9 60%,#f0eadf 100%)}
.services-hero::before{content:"";position:absolute;left:-90px;top:120px;width:220px;height:220px;border:1px solid rgba(189,97,46,.2);border-radius:50%}
.services-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}
.services-hero-copy h1{max-width:720px;margin:12px 0 25px;font-size:clamp(3rem,6vw,5.8rem);line-height:.92;font-weight:600;letter-spacing:-.035em}
.services-hero-copy h1 em{font-weight:500;color:var(--orange)}
.services-lead{max-width:600px;font-size:1.08rem;line-height:1.8;color:#5f6659}
.services-hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px;flex-wrap:wrap}
.text-link{font-weight:600;color:var(--green);text-decoration:none;border-bottom:1px solid rgba(48,66,41,.28);padding-bottom:4px}.text-link span,.service-cta span{color:var(--orange);margin-left:6px}
.services-hero-visual{position:relative;min-height:535px}
.visual-frame{position:absolute;inset:30px 30px 0 0;border-radius:180px 180px 18px 18px;background:linear-gradient(145deg,#65725d,#b9ab8f);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.78);font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;box-shadow:0 30px 75px rgba(48,66,41,.18)}
.visual-label{position:absolute;z-index:3;left:-35px;top:72px;padding:13px 20px;background:var(--orange);color:white;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-4deg)}
.services-hero-visual svg{position:absolute;z-index:2;width:150px;right:-20px;bottom:-34px;fill:none;stroke:#fff;stroke-width:1.25;opacity:.65}
.terracotta-orbit{position:absolute;z-index:1;width:125px;height:125px;right:-33px;top:5px;border:2px solid rgba(189,97,46,.45);border-radius:50%}
.services-intro{background:#fffdf9}
.services-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.services-intro h2{max-width:600px;font-size:clamp(2.4rem,4vw,4rem);line-height:1.02;margin:9px 0 0}.services-intro-grid>p{font-size:1.05rem;line-height:1.85;color:#60665c;margin:0 0 8px}
.service-list{padding:20px 0 110px;background:#fffdf9}
.service-row{max-width:1220px;margin:0 auto;padding:78px 24px;display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center;border-top:1px solid rgba(48,66,41,.12)}
.service-row-reverse .service-media{order:2}.service-row-reverse .service-content{order:1}
.service-media{position:relative;min-height:430px;border-radius:220px 220px 20px 20px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 24px 60px rgba(48,66,41,.13)}
.service-media::before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.4);border-radius:205px 205px 14px 14px}
.service-media-green{background:linear-gradient(150deg,#40523a,#93a081)}.service-media-terracotta{background:linear-gradient(150deg,#9f5738,#d2a07c)}.service-media-sand{background:linear-gradient(150deg,#8f8169,#cfc2a7)}.service-media-olive{background:linear-gradient(150deg,#596040,#a5a178)}.service-media-cream{background:linear-gradient(150deg,#b58d6d,#e0c7aa)}
.service-number{position:absolute;top:34px;left:38px;font-family:"Cormorant Garamond",serif;font-size:4.5rem;color:rgba(255,255,255,.22);line-height:1}.photo-note{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.8)}
.service-content{max-width:520px}.service-kicker{color:var(--orange);font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:13px}.service-content h2{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1;margin:0 0 23px}.service-content>p:not(.service-kicker){line-height:1.8;color:#61675d}.service-content ul{list-style:none;padding:0;margin:25px 0 28px}.service-content li{position:relative;padding:10px 0 10px 25px;border-bottom:1px solid rgba(48,66,41,.1);color:#4f584b}.service-content li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border:1px solid var(--orange);border-radius:50%}.service-cta{display:inline-flex;color:var(--green);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(48,66,41,.28);padding-bottom:5px}
.why-kres{background:var(--green);color:white;position:relative;overflow:hidden}.why-kres::after{content:"";position:absolute;width:330px;height:330px;right:-170px;bottom:-180px;border:1px solid rgba(255,255,255,.14);border-radius:50%}.why-heading{text-align:center;max-width:650px;margin:0 auto 58px}.why-heading h2{font-size:clamp(2.5rem,4vw,4rem);margin:10px 0}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16)}.why-grid>div{background:var(--green);padding:38px 30px;min-height:220px}.why-grid span{color:var(--orange);font-family:"Cormorant Garamond",serif;font-size:2rem}.why-grid h3{font-size:1.5rem;margin:20px 0 12px}.why-grid p{color:rgba(255,255,255,.72);line-height:1.65;font-size:.94rem}
.services-final-cta{padding:100px 0;background:#f2eadf}.services-final-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.services-final-inner h2{font-size:clamp(2.6rem,4vw,4.2rem);margin:8px 0 14px}.services-final-inner p{max-width:690px;line-height:1.75;color:#61675d}.services-final-inner .button{flex:0 0 auto}
@media(max-width:980px){.services-hero-grid,.services-intro-grid,.service-row{grid-template-columns:1fr}.services-hero{padding-top:85px}.services-hero-grid{gap:55px}.services-hero-visual{max-width:610px;width:100%;min-height:470px}.service-row{gap:45px;padding-top:60px;padding-bottom:60px}.service-row-reverse .service-media,.service-row-reverse .service-content{order:initial}.service-content{max-width:none}.why-grid{grid-template-columns:1fr 1fr}.services-final-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.services-hero{padding:65px 0 70px}.services-hero-copy h1{font-size:3.2rem}.services-hero-visual{min-height:360px}.visual-frame{inset:20px 5px 0 18px}.visual-label{left:0;top:50px}.services-intro-grid{gap:28px}.service-row{padding:48px 20px;gap:32px}.service-media{min-height:315px}.service-number{font-size:3.6rem}.why-grid{grid-template-columns:1fr}.why-grid>div{min-height:0}.services-final-cta{padding:70px 0}}

/* Page Réalisations V1 */
.portfolio-page{background:#fbf8f2}
.portfolio-hero{padding:52px 0 88px;background:linear-gradient(135deg,#f7f1e7,#fffdf9 64%,#eee6d9);overflow:hidden}
.portfolio-hero-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}
.portfolio-hero-copy{padding:60px 0}
.portfolio-eyebrow{color:var(--orange);display:flex;align-items:center;gap:12px}.portfolio-eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.portfolio-hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(3.8rem,6.4vw,6.8rem);line-height:.9;letter-spacing:-.04em;margin:15px 0 29px;font-weight:600}.portfolio-hero h1 em{color:var(--orange);font-weight:500}
.portfolio-lead{max-width:520px;color:#5d6559;line-height:1.85;margin:0 0 32px}
.portfolio-feature{padding:0;border:0;background:none;text-align:left;cursor:pointer;position:relative;color:inherit}
.feature-photo{display:flex;align-items:center;justify-content:center;min-height:590px;border-radius:260px 260px 16px 16px;box-shadow:0 30px 70px rgba(48,66,41,.18);overflow:hidden;color:rgba(255,255,255,.72);font-size:.72rem;letter-spacing:.17em;text-transform:uppercase}
.feature-photo::after{content:"";position:absolute;inset:18px 18px 112px;border:1px solid rgba(255,255,255,.38);border-radius:245px 245px 10px 10px;pointer-events:none}
.feature-caption{position:absolute;left:-42px;right:28px;bottom:-32px;padding:23px 25px;background:#fffdf9;border-left:4px solid var(--orange);box-shadow:0 16px 45px rgba(54,42,31,.13);display:flex;align-items:center;justify-content:space-between;gap:20px}
.feature-caption small,.gallery-overlay small,.lightbox-caption small{text-transform:uppercase;letter-spacing:.15em;color:var(--orange);font-size:.65rem}.feature-caption strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.45rem;line-height:1.1;margin-top:5px}.feature-arrow{font-size:1.8rem;color:var(--orange)}
.portfolio-intro{background:#fffdf9}.portfolio-intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:end}.portfolio-intro h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2.7rem,4.7vw,4.8rem);line-height:.95;margin:10px 0 0}.portfolio-intro-copy>p:first-child{font-size:1.04rem;line-height:1.85;color:#596156}.portfolio-note{font-size:.78rem;color:#7b786f;display:flex;gap:11px;align-items:flex-start;margin-top:28px}.portfolio-note span{width:8px;height:8px;border:1px solid var(--orange);border-radius:50%;margin-top:7px;flex:0 0 auto}
.portfolio-gallery{padding:30px 0 110px;background:#fffdf9}.gallery-toolbar{border-top:1px solid rgba(48,66,41,.13);padding:25px 0 35px;display:flex;justify-content:space-between;align-items:center;gap:25px}.gallery-count{font-size:.78rem;margin:0;color:#6a6e66}.gallery-count strong{font-family:"Cormorant Garamond",serif;font-size:1.8rem;color:var(--orange);margin-right:8px}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gallery-filters button{border:1px solid rgba(48,66,41,.18);background:transparent;color:var(--green);padding:9px 14px;border-radius:99px;font:inherit;font-size:.72rem;cursor:pointer;transition:.2s}.gallery-filters button:hover,.gallery-filters button.is-active{background:var(--green);border-color:var(--green);color:white}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:18px}.gallery-item{position:relative;overflow:hidden;cursor:pointer;border-radius:7px;transition:opacity .25s,transform .25s}.gallery-item-tall{grid-row:span 2}.gallery-item-wide{grid-column:span 2}.gallery-item.is-hidden{display:none}.gallery-photo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.62);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;transition:transform .6s ease}.gallery-item:hover .gallery-photo,.gallery-item:focus .gallery-photo{transform:scale(1.035)}
.gallery-overlay{position:absolute;inset:auto 0 0;padding:70px 23px 21px;color:white;background:linear-gradient(transparent,rgba(25,31,22,.83));display:flex;justify-content:space-between;align-items:flex-end;opacity:0;transform:translateY(10px);transition:.3s}.gallery-item:hover .gallery-overlay,.gallery-item:focus .gallery-overlay{opacity:1;transform:none}.gallery-overlay h3{font-family:"Cormorant Garamond",serif;font-size:1.65rem;line-height:1;margin:5px 0}.gallery-overlay p{font-size:.7rem;margin:0;color:rgba(255,255,255,.76)}.gallery-overlay>span{font-size:1.5rem}
.photo-style-1{background:linear-gradient(145deg,rgba(48,66,41,.15),rgba(189,97,46,.16)),radial-gradient(circle at 68% 24%,rgba(255,255,255,.3),transparent 26%),#75836c}.photo-style-2{background:linear-gradient(145deg,rgba(43,65,35,.18),rgba(218,194,155,.12)),#97a188}.photo-style-3{background:linear-gradient(145deg,rgba(189,97,46,.13),rgba(48,66,41,.12)),#aaa083}.photo-style-4{background:linear-gradient(140deg,rgba(48,66,41,.15),rgba(255,255,255,.08)),#6d755b}.photo-style-5{background:linear-gradient(145deg,rgba(189,97,46,.18),rgba(71,77,57,.12)),#b19277}.photo-style-6{background:linear-gradient(150deg,rgba(48,66,41,.13),rgba(201,177,132,.13)),#879477}.photo-style-7{background:linear-gradient(145deg,rgba(117,93,69,.12),rgba(48,66,41,.14)),#9b927a}.photo-style-8{background:linear-gradient(145deg,rgba(189,97,46,.12),rgba(48,66,41,.16)),#77816c}
.portfolio-quote{background:var(--green);color:white;padding:90px 0}.portfolio-quote-inner{text-align:center;position:relative}.quote-mark{display:block;font-family:"Cormorant Garamond",serif;font-size:6rem;color:var(--orange);line-height:.4}.portfolio-quote p{font-family:"Cormorant Garamond",serif;font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.05;margin:34px auto 0;max-width:920px}.portfolio-quote em{color:#dba27f;font-weight:500}
.portfolio-cta{padding:95px 0;background:#f1e8db}.portfolio-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}.portfolio-cta h2{font-family:"Cormorant Garamond",serif;font-size:clamp(3rem,5vw,5rem);line-height:.95;margin:10px 0}.portfolio-cta p:not(.eyebrow){max-width:700px;color:#5d6459;line-height:1.75}
.portfolio-lightbox{position:fixed;inset:0;z-index:100;background:rgba(25,30,22,.96);padding:38px 80px;color:white;display:grid;place-items:center}.portfolio-lightbox[hidden]{display:none}.lightbox-content{width:min(100%,1120px)}.lightbox-photo{height:min(70vh,690px);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em}.lightbox-caption{display:flex;justify-content:space-between;gap:25px;align-items:end;padding-top:19px}.lightbox-caption h2{font-family:"Cormorant Garamond",serif;font-size:2.3rem;margin:4px 0 0}.lightbox-caption p{margin:2px 0;color:rgba(255,255,255,.66);font-size:.8rem}.lightbox-counter{font-size:.75rem;letter-spacing:.1em;color:rgba(255,255,255,.65)}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:transparent;color:white;cursor:pointer;font:inherit}.lightbox-close{right:30px;top:20px;font-size:2.6rem;font-weight:200}.lightbox-nav{top:50%;font-size:2rem;padding:20px}.lightbox-prev{left:12px}.lightbox-next{right:12px}
@media(max-width:980px){.portfolio-hero-grid,.portfolio-intro-grid{grid-template-columns:1fr}.portfolio-hero-grid{gap:20px}.portfolio-hero-copy{padding:25px 0}.portfolio-feature{max-width:720px}.feature-photo{min-height:520px}.portfolio-intro-grid{gap:35px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item-wide{grid-column:span 2}.portfolio-cta-inner{align-items:flex-start;flex-direction:column}.portfolio-lightbox{padding:60px 55px}}
@media(max-width:620px){.portfolio-hero{padding:25px 0 75px}.portfolio-hero h1{font-size:3.65rem}.feature-photo{min-height:400px}.feature-caption{left:12px;right:12px;bottom:-36px;padding:18px}.feature-caption strong{font-size:1.15rem}.portfolio-intro{padding-top:85px}.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-filters{justify-content:flex-start}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-item-tall{grid-row:span 1}.gallery-item-wide{grid-column:span 1}.gallery-overlay{opacity:1;transform:none;padding-top:65px}.portfolio-quote{padding:70px 0}.portfolio-lightbox{padding:70px 14px 20px}.lightbox-photo{height:58vh}.lightbox-caption h2{font-size:1.65rem}.lightbox-nav{top:auto;bottom:16px}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-close{right:16px;top:12px}}

/* Réalisations V2 — portfolio éditorial */
.portfolio-v2-page{background:#f7f3ec}.portfolio-v2-page .site-header{background:rgba(247,243,236,.94)}
.rv2-hero{min-height:calc(100vh - 84px);position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.rv2-hero-media,.rv2-hero-shade{position:absolute;inset:0}.rv2-hero-media{transition:transform 1.2s ease}.rv2-hero:hover .rv2-hero-media{transform:scale(1.018)}.rv2-hero-shade{background:linear-gradient(90deg,rgba(19,28,18,.78) 0%,rgba(19,28,18,.34) 52%,rgba(19,28,18,.18)),linear-gradient(0deg,rgba(20,26,18,.42),transparent 55%)}
.rv2-photo{display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;color:rgba(255,255,255,.72);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}.rv2-photo-1{background:linear-gradient(135deg,rgba(35,55,31,.26),rgba(177,104,62,.18)),radial-gradient(circle at 72% 24%,rgba(238,225,189,.28),transparent 26%),#71806a}.rv2-photo-2{background:linear-gradient(135deg,rgba(35,55,31,.25),rgba(226,207,174,.13)),#969e85}.rv2-photo-3{background:linear-gradient(135deg,rgba(185,99,52,.16),rgba(48,66,41,.17)),#a69d82}.rv2-photo-4{background:linear-gradient(135deg,rgba(48,66,41,.18),rgba(255,255,255,.05)),#69735a}.rv2-photo-5{background:linear-gradient(135deg,rgba(189,97,46,.2),rgba(71,77,57,.11)),#af9177}.rv2-photo-6{background:linear-gradient(135deg,rgba(48,66,41,.16),rgba(201,177,132,.14)),#859276}.rv2-photo-7{background:linear-gradient(135deg,rgba(117,93,69,.13),rgba(48,66,41,.16)),#999079}.rv2-photo-8{background:linear-gradient(135deg,rgba(189,97,46,.13),rgba(48,66,41,.18)),#747f69}
.rv2-hero-inner{position:relative;z-index:2;padding-bottom:9vh}.rv2-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.78)}.rv2-hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(4.2rem,8.2vw,8.4rem);line-height:.82;font-weight:500;margin:25px 0 30px;letter-spacing:-.045em}.rv2-hero h1 em{font-weight:500;color:#e1aa87}.rv2-hero-inner>p:not(.rv2-kicker){max-width:590px;font-size:1rem;line-height:1.75;color:rgba(255,255,255,.82)}.rv2-scroll-link{display:inline-flex;align-items:center;gap:22px;margin-top:26px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.45);font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}.rv2-scroll-link i{font-style:normal;font-size:1.2rem}.rv2-hero-index{position:absolute;z-index:2;right:4vw;bottom:6vh;display:flex;align-items:baseline;gap:7px}.rv2-hero-index span{position:absolute;right:0;bottom:55px;white-space:nowrap;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.65)}.rv2-hero-index strong{font-family:"Cormorant Garamond",serif;font-size:3.6rem;font-weight:500}.rv2-hero-index small{color:rgba(255,255,255,.62)}
.rv2-manifesto{padding:145px 0 130px}.rv2-manifesto-grid{display:grid;grid-template-columns:.55fr 1.4fr .85fr;gap:60px;align-items:start}.rv2-manifesto h2,.rv2-section-heading h2{font-family:"Cormorant Garamond",serif;font-size:clamp(3.3rem,5.6vw,6rem);line-height:.9;font-weight:500;margin:0}.rv2-manifesto h2 em,.rv2-section-heading h2 em{color:var(--orange);font-weight:500}.rv2-manifesto-copy{padding-top:10px}.rv2-manifesto-copy p{line-height:1.85;color:#5d6459;margin:0 0 20px}.rv2-manifesto-copy p:last-child{font-size:.78rem;padding-left:18px;border-left:2px solid var(--orange)}
.rv2-projects{padding:0 0 150px}.rv2-toolbar{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid rgba(48,66,41,.18);padding:25px 0 55px}.rv2-toolbar>div:first-child{display:flex;align-items:baseline;gap:12px}.rv2-project-count{font-family:"Cormorant Garamond",serif;font-size:2.8rem}.rv2-toolbar p{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:#73796e}.rv2-filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.rv2-filters button{border:0;background:transparent;padding:9px 13px;color:#697064;font:inherit;font-size:.73rem;cursor:pointer;border-bottom:1px solid transparent}.rv2-filters button:hover,.rv2-filters button.is-active{color:var(--orange);border-bottom-color:var(--orange)}
.rv2-editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:52px;gap:28px 24px}.rv2-card{position:relative;cursor:pointer;transition:opacity .3s,transform .35s}.rv2-card.is-hidden{display:none}.rv2-card-media{height:100%;overflow:hidden;transition:transform .7s ease,filter .4s}.rv2-card:hover .rv2-card-media,.rv2-card:focus .rv2-card-media{transform:scale(.985);filter:saturate(1.08)}.rv2-card-a{grid-column:1/8;grid-row:1/12}.rv2-card-b{grid-column:9/13;grid-row:3/10}.rv2-card-c{grid-column:2/6;grid-row:13/21}.rv2-card-d{grid-column:7/13;grid-row:12/20}.rv2-card-e{grid-column:1/7;grid-row:22/30}.rv2-card-f{grid-column:8/13;grid-row:21/32}.rv2-card-g{grid-column:2/6;grid-row:32/39}.rv2-card-h{grid-column:7/13;grid-row:34/42}.rv2-card-caption{display:flex;justify-content:space-between;align-items:flex-start;padding-top:15px}.rv2-card-caption small{color:var(--orange);font-size:.64rem;text-transform:uppercase;letter-spacing:.13em}.rv2-card-caption h3{font-family:"Cormorant Garamond",serif;font-size:1.9rem;line-height:1;margin:5px 0 3px;font-weight:600}.rv2-card-caption p{font-size:.72rem;color:#777e73;margin:0}.rv2-card-caption button{width:42px;height:42px;border:1px solid rgba(48,66,41,.26);border-radius:50%;background:transparent;cursor:pointer;font-size:1.1rem;transition:.25s}.rv2-card:hover .rv2-card-caption button{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(45deg)}
.rv2-before-after{padding:130px 0;background:#ede4d7}.rv2-section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:80px;align-items:end;margin-bottom:65px}.rv2-section-heading>p{max-width:420px;line-height:1.8;color:#62695f}.rv2-comparison{height:min(68vw,720px);min-height:440px;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(49,42,31,.13)}.rv2-compare-layer{position:absolute;inset:0}.rv2-compare-layer span{position:absolute;bottom:22px;padding:9px 14px;background:rgba(29,36,25,.72);color:#fff}.rv2-compare-after span{right:22px}.rv2-compare-before{width:50%;overflow:hidden;justify-content:flex-start}.rv2-compare-before:before{content:"";position:absolute;width:calc((min(100vw - 40px, 1200px)));height:100%;background:inherit;background-size:cover;background-position:center}.rv2-compare-before span{left:22px;z-index:2}.rv2-compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.rv2-compare-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:1.15rem;box-shadow:0 5px 22px rgba(0,0,0,.18)}.rv2-comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.rv2-quote{background:var(--green);color:#fff;padding:125px 0;text-align:center}.rv2-quote span{font-family:"Cormorant Garamond",serif;font-size:7rem;line-height:.35;color:var(--orange)}.rv2-quote blockquote{font-family:"Cormorant Garamond",serif;font-size:clamp(2.8rem,5.5vw,5.8rem);line-height:.92;margin:42px auto 28px}.rv2-quote blockquote em{font-weight:500;color:#e1aa87}.rv2-quote p{font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.6)}.rv2-cta{padding:105px 0;background:#f7f3ec}.rv2-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.rv2-cta h2{font-family:"Cormorant Garamond",serif;font-size:clamp(3rem,5vw,5.5rem);line-height:.95;margin:10px 0 0}
.rv2-project-modal{position:fixed;inset:0;z-index:120;background:#f4eee5;padding:45px;overflow:auto}.rv2-project-modal[hidden]{display:none}.rv2-modal-shell{width:min(1320px,100%);min-height:calc(100vh - 90px);margin:auto;display:grid;grid-template-columns:1.45fr .75fr;gap:55px;align-items:center}.rv2-modal-gallery{display:grid;gap:14px}.rv2-modal-main{height:min(68vh,720px)}.rv2-modal-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rv2-modal-thumbs button{height:105px;border:2px solid transparent;cursor:pointer;opacity:.65}.rv2-modal-thumbs button.is-active{border-color:var(--orange);opacity:1}.rv2-modal-info{padding-right:40px}.rv2-modal-number{font-family:"Cormorant Garamond",serif;font-size:1.25rem}.rv2-modal-info>small{color:var(--orange);text-transform:uppercase;letter-spacing:.14em}.rv2-modal-info h2{font-family:"Cormorant Garamond",serif;font-size:clamp(3.2rem,5vw,5.8rem);line-height:.88;margin:18px 0 28px}.rv2-modal-info>p:not(.rv2-modal-number){line-height:1.85;color:#5e655b}.rv2-modal-info dl{margin:35px 0;border-top:1px solid rgba(48,66,41,.18)}.rv2-modal-info dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid rgba(48,66,41,.18)}.rv2-modal-info dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#777d73}.rv2-modal-info dd{margin:0;font-size:.83rem}.rv2-modal-close,.rv2-modal-nav{position:fixed;z-index:2;border:0;background:transparent;cursor:pointer;color:var(--green)}.rv2-modal-close{right:24px;top:12px;font-size:3rem;font-weight:200}.rv2-modal-nav{top:50%;font-size:1.8rem}.rv2-modal-prev{left:12px}.rv2-modal-next{right:12px}
@media(max-width:980px){.rv2-hero{min-height:760px}.rv2-manifesto-grid{grid-template-columns:1fr;gap:30px}.rv2-manifesto-grid>.eyebrow{margin-bottom:0}.rv2-editorial-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;gap:60px 24px}.rv2-card{grid-column:auto!important;grid-row:auto!important}.rv2-card-media{height:440px}.rv2-card:nth-child(3n+2) .rv2-card-media{height:540px}.rv2-section-heading{grid-template-columns:1fr;gap:30px}.rv2-modal-shell{grid-template-columns:1fr}.rv2-modal-info{padding:10px 0 70px}.rv2-modal-main{height:58vh}}
@media(max-width:620px){.rv2-hero{min-height:680px}.rv2-hero h1{font-size:4.15rem}.rv2-hero-index{display:none}.rv2-manifesto{padding:95px 0 80px}.rv2-manifesto h2,.rv2-section-heading h2{font-size:3.5rem}.rv2-toolbar{align-items:flex-start;flex-direction:column;gap:22px}.rv2-filters{justify-content:flex-start}.rv2-editorial-grid{grid-template-columns:1fr;gap:55px}.rv2-card-media,.rv2-card:nth-child(3n+2) .rv2-card-media{height:420px}.rv2-card-caption h3{font-size:1.65rem}.rv2-before-after{padding:90px 0}.rv2-comparison{min-height:470px}.rv2-quote{padding:90px 0}.rv2-cta-inner{align-items:flex-start;flex-direction:column}.rv2-project-modal{padding:60px 16px 25px}.rv2-modal-main{height:52vh}.rv2-modal-thumbs button{height:75px}.rv2-modal-info h2{font-size:3.5rem}.rv2-modal-nav{top:auto;bottom:12px;background:#f4eee5;border:1px solid rgba(48,66,41,.2);width:45px;height:45px}.rv2-modal-prev{left:15px}.rv2-modal-next{right:15px}}


/* Réalisations V2.1 — ajustements de composition */
.rv2-manifesto-grid{grid-template-columns:1fr}
.rv2-manifesto-grid>.eyebrow{justify-content:center;text-align:center}
.rv2-manifesto h2{max-width:900px;margin:0 auto;text-align:center;text-wrap:balance}
.rv2-manifesto-copy{max-width:760px;margin:38px auto 0;text-align:center}
.rv2-manifesto-copy p:last-child{display:inline-block;text-align:left}
@media(max-width:620px){.rv2-manifesto h2 br{display:none}.rv2-manifesto-copy{text-align:left}.rv2-manifesto-grid>.eyebrow{justify-content:flex-start;text-align:left}}

/* Page À propos V1 */
.about-v1-page{background:#f7f3ec}.av1-main{overflow:hidden}.av1-main h1,.av1-main h2,.av1-main h3{font-family:"Cormorant Garamond",serif}.av1-main em{font-weight:500;color:var(--orange)}
.av1-hero{position:relative;min-height:calc(100vh - 92px);display:flex;align-items:flex-end;color:#fff;background:#516048}.av1-hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,31,20,.82) 0%,rgba(23,31,20,.52) 43%,rgba(23,31,20,.15) 100%),linear-gradient(145deg,#4d5c45,#9c9a79);display:grid;place-items:center}.av1-hero-photo span{position:absolute;right:5vw;top:50%;font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}.av1-hero-content{position:relative;z-index:2;min-height:calc(100vh - 92px);display:flex;flex-direction:column;justify-content:space-between;padding-top:32px;padding-bottom:46px}.av1-hero-meta{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:16px;font-size:.66rem;text-transform:uppercase;letter-spacing:.16em}.av1-hero-title{max-width:820px;margin-top:auto;padding:80px 0 45px}.av1-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.19em;margin:0 0 17px}.av1-hero h1{font-size:clamp(4.4rem,8.3vw,8.7rem);line-height:.79;letter-spacing:-.045em;font-weight:500;margin:0}.av1-hero-title>p:last-child{max-width:560px;margin:32px 0 0;font-size:1rem;line-height:1.75;color:rgba(255,255,255,.82)}.av1-scroll{align-self:flex-start;display:flex;align-items:center;gap:24px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.42);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.av1-scroll span{font-size:1.1rem}
.av1-story{padding:145px 0 135px;background:#fbf8f2}.av1-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.av1-story-heading h2{font-size:clamp(3.2rem,5.4vw,5.8rem);line-height:.91;font-weight:500;margin:18px 0 0}.av1-story-copy{padding-top:40px}.av1-story-copy p{color:#60675c;line-height:1.88;margin:0 0 23px}.av1-story-copy .av1-lead{font-family:"Cormorant Garamond",serif;font-size:1.75rem;line-height:1.25;color:var(--green);margin-bottom:34px}.av1-story-copy strong{color:var(--green)}
.av1-timeline{padding:115px 0 125px;background:#ede4d7}.av1-timeline-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:43px;border-bottom:1px solid rgba(48,66,41,.23)}.av1-timeline-intro>p:last-child{max-width:440px;color:#62695f;line-height:1.8;margin:0}.av1-timeline-list{list-style:none;padding:0;margin:0}.av1-timeline-list li{display:grid;grid-template-columns:130px 1fr;gap:40px;padding:38px 0;border-bottom:1px solid rgba(48,66,41,.18)}.av1-step-number{font-family:"Cormorant Garamond",serif;font-size:3.2rem;color:rgba(48,66,41,.34)}.av1-timeline-list small{color:var(--orange);font-size:.66rem;text-transform:uppercase;letter-spacing:.15em}.av1-timeline-list h3{font-size:2.25rem;line-height:1;margin:7px 0 10px;font-weight:600}.av1-timeline-list p{max-width:650px;margin:0;color:#656c61;line-height:1.75;font-size:.9rem}
.av1-approach{padding:145px 0;background:#fbf8f2}.av1-approach-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:95px;align-items:center}.av1-approach-photo{min-height:690px;border-radius:310px 310px 10px 10px;box-shadow:0 30px 75px rgba(48,66,41,.14)}.av1-approach-copy h2{font-size:clamp(3.2rem,5.2vw,5.5rem);font-weight:500;line-height:.91;margin:17px 0 30px}.av1-approach-copy>p:not(.eyebrow){max-width:600px;color:#61685d;line-height:1.85}.av1-principles{margin-top:43px;border-top:1px solid rgba(48,66,41,.18)}.av1-principles article{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:23px 0;border-bottom:1px solid rgba(48,66,41,.18)}.av1-principles article>span{font-family:"Cormorant Garamond",serif;color:var(--orange);font-size:1.25rem}.av1-principles h3{font-family:Inter,sans-serif;font-size:.92rem;margin:0 0 5px}.av1-principles p{font-size:.82rem;line-height:1.7;color:#6a7066;margin:0}
.av1-values{padding:125px 0 135px;background:#304229;color:#fff}.av1-values-title{display:grid;grid-template-columns:.52fr 1.48fr;gap:80px;align-items:start;margin-bottom:75px}.av1-values-title h2{font-size:clamp(3.2rem,5.2vw,5.7rem);font-weight:500;line-height:.92;margin:0}.av1-values-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25)}.av1-values-grid article{padding:30px 26px 12px 0;border-right:1px solid rgba(255,255,255,.18);min-height:245px}.av1-values-grid article:not(:first-child){padding-left:26px}.av1-values-grid article:last-child{border-right:0}.av1-values-grid span{font-family:"Cormorant Garamond",serif;font-size:1.35rem;color:#d99a72}.av1-values-grid h3{font-size:2rem;margin:48px 0 11px;font-weight:600}.av1-values-grid p{font-size:.8rem;line-height:1.75;color:rgba(255,255,255,.68);margin:0}
.av1-quote{padding:140px 0;background:#f3ede3;text-align:center}.av1-quote .container>p{font-family:"Cormorant Garamond",serif;color:var(--orange);font-size:8rem;line-height:.3;margin:0}.av1-quote blockquote{font-family:"Cormorant Garamond",serif;font-size:clamp(2.9rem,5.3vw,5.5rem);font-weight:500;line-height:.94;max-width:1050px;margin:48px auto 35px}.av1-quote span{font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:#73796f}
.av1-process{padding:130px 0;background:#fbf8f2}.av1-process-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:64px}.av1-process-heading h2{font-size:clamp(3.2rem,5vw,5.4rem);line-height:.92;font-weight:500;margin:12px 0 0}.av1-process-heading>p{max-width:410px;color:#61685e;line-height:1.8}.av1-process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(48,66,41,.2)}.av1-process-list li{padding:30px 28px 5px 0;border-right:1px solid rgba(48,66,41,.16);min-height:240px}.av1-process-list li:not(:first-child){padding-left:28px}.av1-process-list li:last-child{border-right:0}.av1-process-list span{font-family:"Cormorant Garamond",serif;font-size:1.3rem;color:var(--orange)}.av1-process-list h3{font-size:1.85rem;line-height:1;margin:45px 0 12px}.av1-process-list p{font-size:.8rem;line-height:1.75;color:#687066;margin:0}
.av1-cta{position:relative;min-height:650px;display:flex;align-items:center;text-align:center;color:#fff;background:#52604b}.av1-cta-photo{position:absolute;inset:0;background:linear-gradient(rgba(30,40,27,.68),rgba(30,40,27,.68)),linear-gradient(135deg,#58674e,#9a9175)}.av1-cta-content{position:relative;z-index:2}.av1-cta h2{font-size:clamp(3.8rem,7vw,7.4rem);line-height:.85;font-weight:500;margin:16px auto 42px}.av1-cta .button-light{min-height:52px;padding:0 29px}
@media(max-width:980px){.av1-story-grid,.av1-approach-grid{grid-template-columns:1fr;gap:55px}.av1-story-copy{padding-top:0}.av1-approach-photo{min-height:560px;width:min(620px,100%);margin:auto}.av1-values-title,.av1-process-heading{grid-template-columns:1fr;gap:30px}.av1-values-grid,.av1-process-list{grid-template-columns:repeat(2,1fr)}.av1-values-grid article:nth-child(2),.av1-process-list li:nth-child(2){border-right:0}.av1-values-grid article:nth-child(-n+2),.av1-process-list li:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}.av1-process-list li:nth-child(-n+2){border-bottom-color:rgba(48,66,41,.16)}}
@media(max-width:620px){.av1-hero{min-height:680px}.av1-hero-content{min-height:604px;padding-top:23px;padding-bottom:28px}.av1-hero-title{padding:75px 0 34px}.av1-hero h1{font-size:4.35rem}.av1-hero-meta{font-size:.58rem}.av1-hero-photo span{display:none}.av1-story,.av1-approach{padding:90px 0}.av1-story-heading h2,.av1-approach-copy h2,.av1-values-title h2,.av1-process-heading h2{font-size:3.45rem}.av1-story-copy .av1-lead{font-size:1.5rem}.av1-timeline{padding:85px 0 90px}.av1-timeline-intro{grid-template-columns:1fr;gap:14px}.av1-timeline-list li{grid-template-columns:52px 1fr;gap:16px}.av1-step-number{font-size:2rem}.av1-timeline-list h3{font-size:1.8rem}.av1-approach-photo{min-height:470px}.av1-values{padding:90px 0}.av1-values-grid,.av1-process-list{grid-template-columns:1fr}.av1-values-grid article,.av1-values-grid article:not(:first-child),.av1-process-list li,.av1-process-list li:not(:first-child){padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);min-height:auto}.av1-process-list li,.av1-process-list li:not(:first-child){border-bottom-color:rgba(48,66,41,.16)}.av1-values-grid h3,.av1-process-list h3{margin-top:22px}.av1-quote{padding:100px 0}.av1-quote blockquote{font-size:3rem}.av1-process{padding:90px 0}.av1-cta{min-height:560px}.av1-cta h2{font-size:4rem}}


/* Page À propos V4 — composition V1, contenu affiné */
.about-v1-page .av1-hero-title{max-width:760px;padding:72px 0 42px}
.about-v1-page .av1-hero h1{font-size:clamp(3.25rem,5.9vw,6.25rem);line-height:.9;letter-spacing:-.035em;max-width:740px}
.about-v1-page .av4-hero-intro{font-family:"Cormorant Garamond",serif;font-size:clamp(1.4rem,2.15vw,2rem)!important;line-height:1.22!important;max-width:690px!important;margin-top:24px!important;color:rgba(255,255,255,.9)!important}
.av4-philosophy-quote{font-family:"Cormorant Garamond",serif;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.28;color:var(--green);margin:34px 0 6px;padding:0 0 0 24px;border-left:2px solid var(--orange)}
@media(max-width:620px){.about-v1-page .av1-hero-title{padding:62px 0 34px}.about-v1-page .av1-hero h1{font-size:3.35rem;line-height:.92}.about-v1-page .av4-hero-intro{font-size:1.45rem!important}.av4-philosophy-quote{font-size:1.5rem;padding-left:17px}}


.av1-quote .container{max-width:860px;position:relative}.av1-quote p{position:absolute;left:0;top:-8px;font-size:5rem;line-height:1;opacity:.15}.av1-quote blockquote{margin:0 auto;padding-left:48px;padding-right:20px}.av1-quote span{display:block;text-align:center;margin-top:24px;}

/* À propos V4.1 — alignement des textes sous les titres */
.about-v1-page .av1-timeline-intro{
  display:block;
}
.about-v1-page .av1-timeline-intro .eyebrow{
  margin-bottom:16px;
}
.about-v1-page .av1-timeline-intro>p:last-child{
  max-width:760px;
  margin:0;
}

.about-v1-page .av1-process-heading{
  display:block;
}
.about-v1-page .av1-process-heading>div{
  width:100%;
}
.about-v1-page .av1-process-heading>p{
  max-width:760px;
  margin:24px 0 0;
}

@media(max-width:620px){
  .about-v1-page .av1-timeline-intro .eyebrow{
    margin-bottom:12px;
  }
  .about-v1-page .av1-process-heading>p{
    margin-top:18px;
  }
}

/* ================================================================
   V22 — finitions générales
   Interactions discrètes, confort de lecture et cohérence visuelle
   ================================================================ */

html{
  scroll-behavior:smooth;
}
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
::selection{
  background:rgba(189,97,46,.22);
  color:var(--green);
}

/* Navigation plus nette au défilement */
.site-header{
  transition:background-color .28s ease, box-shadow .28s ease, backdrop-filter .28s ease;
}
.site-header.is-scrolled{
  background:rgba(251,248,242,.92);
  box-shadow:0 10px 35px rgba(48,66,41,.07);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

/* Focus clavier visible et élégant */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:4px;
}

/* Boutons et liens : micro-interactions sobres */
.button,
.submit-button{
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
.button:hover,
.submit-button:hover{
  transform:translateY(-2px);
}
.button:active,
.submit-button:active{
  transform:translateY(0);
}
.text-link,
.service-cta,
.site-footer a,
.site-nav a{
  transition:color .22s ease, opacity .22s ease, border-color .22s ease;
}
.text-link:hover,
.service-cta:hover{
  color:var(--orange);
  border-color:var(--orange);
}

/* Cartes et visuels : profondeur légère, jamais spectaculaire */
.service-media,
.feature-photo,
.gallery-photo,
.rv2-photo,
.av1-approach-photo,
.contact-info-card,
.contact-form-card{
  transition:transform .48s cubic-bezier(.2,.7,.2,1), box-shadow .48s ease;
}
.service-row:hover .service-media,
.portfolio-feature:hover .feature-photo,
.gallery-item:hover .gallery-photo,
.rv2-card:hover .rv2-photo{
  transform:translateY(-5px);
  box-shadow:0 32px 72px rgba(48,66,41,.16);
}
.why-grid>div,
.av1-values-grid article,
.av1-process-list li{
  transition:background-color .28s ease, transform .28s ease;
}
.why-grid>div:hover{
  background:#35492e;
}
.av1-values-grid article:hover{
  background:rgba(255,255,255,.035);
}
.av1-process-list li:hover{
  transform:translateY(-3px);
}

/* Apparition au défilement */
.reveal-on-scroll{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .72s cubic-bezier(.2,.7,.2,1),
    transform .72s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform:none;
}

/* Footer plus utile et plus soigné */
.site-footer{
  position:relative;
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-180px;
  top:-190px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  pointer-events:none;
}
.site-footer h2{
  position:relative;
  padding-bottom:12px;
}
.site-footer h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:28px;
  height:1px;
  background:var(--orange);
}
.site-footer a:hover{
  color:#fff;
}
.footer-contact>p{
  margin:10px 0 18px;
  max-width:230px;
  color:rgba(255,255,255,.58);
  font-size:.82rem;
  line-height:1.6;
}
.footer-contact .social-links{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.footer-contact .social-links a{
  color:#d99a72;
}
.footer-brand img{
  transition:transform .35s ease;
}
.footer-brand:hover img{
  transform:translateY(-2px);
}

/* Limite les effets sur écrans tactiles */
@media(hover:none){
  .service-row:hover .service-media,
  .portfolio-feature:hover .feature-photo,
  .gallery-item:hover .gallery-photo,
  .rv2-card:hover .rv2-photo,
  .av1-process-list li:hover{
    transform:none;
  }
}

/* Respect des préférences d’accessibilité */
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .reveal-on-scroll{
    opacity:1;
    transform:none;
  }
}

/* ================================================================
   V24 — accueil : icônes personnalisées et cartes cliquables
   ================================================================ */
.service-card-link{
  position:relative;
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.service-card-link .card-body{
  padding-bottom:42px;
}
.service-card-link::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:8px;
  box-shadow:inset 0 0 0 1px transparent;
  transition:box-shadow .25s ease;
  pointer-events:none;
}
.service-card-link:hover::after,
.service-card-link:focus-visible::after{
  box-shadow:inset 0 0 0 1px rgba(189,97,46,.55);
}
.service-card-link:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:4px;
}
.custom-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.service-card .custom-icon{
  width:58px;
  height:58px;
  margin-bottom:6px;
}
.service-card .custom-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.card-link-hint{
  position:absolute;
  left:20px;
  bottom:16px;
  display:inline-flex;
  gap:7px;
  align-items:center;
  color:var(--orange);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .24s ease, transform .24s ease;
}
.service-card-link:hover .card-link-hint,
.service-card-link:focus-visible .card-link-hint{
  opacity:1;
  transform:none;
}
.values-row .custom-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
}
.values-row .custom-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.leaf-decoration{
  width:min(100%,190px);
  opacity:.48;
  transform:none;
}
.leaf-decoration img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.service-anchor{
  scroll-margin-top:110px;
}
.service-anchor:target{
  animation:service-target-highlight 1.5s ease;
}
@keyframes service-target-highlight{
  0%,100%{background:transparent}
  20%,70%{background:rgba(189,97,46,.08)}
}
@media(max-width:760px){
  .service-card .custom-icon{
    width:50px;
    height:50px;
  }
  .card-link-hint{
    opacity:1;
    transform:none;
  }
}

/* ================================================================
   V25 — déplacement de la branche décorative dans le bandeau contact
   ================================================================ */
.about-panel{
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.35fr);
}
.about-copy{
  padding-right:0;
}
.landscape-branch{
  position:absolute;
  right:52px;
  bottom:8px;
  width:188px;
  opacity:.25;
  pointer-events:none;
  transform:rotate(7deg);
  transform-origin:center;
}
.landscape-branch img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.contact-band-grid{
  position:relative;
  overflow:hidden;
}
.contact-band-grid > *:not(.landscape-branch){
  position:relative;
  z-index:1;
}
@media(max-width:900px){
  .about-panel{
    grid-template-columns:1fr;
  }
 .landscape-branch{
    right:24px;
    bottom:10px;
    width:145px;
    opacity:.21;
    transform:rotate(6deg);
  }
}
@media(max-width:640px){
 .landscape-branch{
    right:12px;
    bottom:8px;
    width:108px;
    opacity:.18;
    transform:rotate(5deg);
  }
}

/* V30 — correction définitive de la branche du bandeau terracotta */
.contact-band-grid{
  overflow:hidden !important;
}
.landscape-branch{
  position:absolute !important;
  right:58px !important;
  bottom:22px !important;
  width:168px !important;
  height:auto !important;
  opacity:.24 !important;
  transform:rotate(5deg) !important;
  transform-origin:center center !important;
  pointer-events:none !important;
}
.landscape-branch img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}
@media(max-width:900px){
  .landscape-branch{
    right:28px !important;
    bottom:18px !important;
    width:138px !important;
  }
}
@media(max-width:640px){
  .landscape-branch{
    right:14px !important;
    bottom:14px !important;
    width:104px !important;
  }
}



/* V31 — branche réellement réduite et centrée dans le bandeau */
.contact-band-grid{
  overflow:hidden !important;
}
.landscape-branch{
  position:absolute !important;
  right:72px !important;
  top:50% !important;
  bottom:auto !important;
  width:142px !important;
  height:auto !important;
  opacity:.24 !important;
  transform:translateY(-50%) rotate(4deg) !important;
  transform-origin:center center !important;
}
.landscape-branch img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}
@media(max-width:900px){
  .landscape-branch{
    right:34px !important;
    width:122px !important;
  }
}
@media(max-width:640px){
  .landscape-branch{
    right:16px !important;
    width:92px !important;
  }
}


/* ================================================================
   V32 — aperçu de finitions premium, sans modification du design validé
   ================================================================ */

/* Header plus élégant au défilement */
.site-header{
  transition:background-color .3s ease, box-shadow .3s ease, padding .3s ease;
}
.site-header.is-scrolled{
  background:rgba(247,244,237,.96);
  box-shadow:0 8px 30px rgba(47,63,42,.08);
  backdrop-filter:blur(12px);
}
.site-header.is-scrolled .header-inner{
  min-height:72px;
}

/* Soulignement doux du menu */
.site-nav a{
  position:relative;
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.site-nav a:hover::after,
.site-nav a[aria-current="page"]::after{
  transform:scaleX(1);
}

/* Cartes plus vivantes, mais toujours sobres */
.service-card{
  transition:transform .3s ease, box-shadow .3s ease;
}
.service-card:hover{
  transform:translateY(-7px);
  box-shadow:0 18px 38px rgba(47,63,42,.11);
}
.service-card .card-photo{
  overflow:hidden;
}
.service-card .card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(47,63,42,.09));
  opacity:0;
  transition:opacity .3s ease;
}
.service-card:hover .card-photo::after{
  opacity:1;
}

/* Boutons légèrement plus raffinés */
.button{
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(47,63,42,.14);
}
.button::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-65%;
  width:45%;
  transform:skewX(-20deg);
  background:rgba(255,255,255,.22);
  transition:left .45s ease;
}
.button:hover::after{
  left:125%;
}

/* Apparition très douce des sections */
.reveal-section{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .75s ease, transform .75s ease;
}
.reveal-section.is-visible{
  opacity:1;
  transform:none;
}

/* Mosaïque réalisations plus premium */
.project-mosaic > *{
  transition:transform .35s ease, box-shadow .35s ease;
}
.project-mosaic > *:hover{
  transform:scale(1.018);
  box-shadow:0 20px 42px rgba(47,63,42,.13);
}

/* Bouton retour en haut */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:44px;
  height:44px;
  border:1px solid rgba(47,63,42,.18);
  border-radius:50%;
  background:rgba(247,244,237,.94);
  color:var(--green);
  font-size:1.15rem;
  cursor:pointer;
  z-index:20;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background .25s ease;
  box-shadow:0 10px 28px rgba(47,63,42,.12);
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
}
.back-to-top:hover{
  background:#fff;
}

/* Accessibilité : aucune animation imposée aux utilisateurs qui les réduisent */
@media (prefers-reduced-motion: reduce){
  .reveal-section,
  .service-card,
  .button,
  .project-mosaic > *,
  .site-header{
    transition:none !important;
  }
  .reveal-section{
    opacity:1;
    transform:none;
  }
}

@media(max-width:760px){
  .service-card:hover,
  .project-mosaic > *:hover,
  .button:hover{
    transform:none;
  }
  .back-to-top{
    right:14px;
    bottom:14px;
    width:40px;
    height:40px;
  }
}


/* ================================================================
   V33 — nouvel effet de boutons + réorganisation des réalisations
   ================================================================ */
.button::after{display:none !important}
.button{
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease !important;
}
.button:hover,.button:focus-visible{
  transform:translateY(-3px) scale(1.012) !important;
  box-shadow:0 12px 26px rgba(47,63,42,.14),0 0 0 3px rgba(189,97,46,.10) !important;
}
.button:active{
  transform:translateY(-1px) scale(.995) !important;
  box-shadow:0 6px 14px rgba(47,63,42,.10) !important;
}

/* Une catégorie filtrée repart toujours de la gauche. */
.rv2-editorial-grid.is-filtered{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  align-items:start;
  gap:54px 26px !important;
}
.rv2-editorial-grid.is-filtered .rv2-card:not(.is-hidden){
  grid-column:auto !important;
  grid-row:auto !important;
}
.rv2-editorial-grid.is-filtered .rv2-card-media{
  height:430px !important;
}
@media(max-width:760px){
  .rv2-editorial-grid.is-filtered{
    grid-template-columns:1fr !important;
    gap:48px !important;
  }
  .rv2-editorial-grid.is-filtered .rv2-card-media{
    height:390px !important;
  }
}

/* ==================================================================
   V35.1 — EXPÉRIENCE MOBILE PREMIUM
   Ces règles s'appliquent uniquement aux écrans de téléphone.
   Le rendu ordinateur de la V34 reste inchangé.
   ================================================================== */
@media (max-width: 760px){
  :root{
    --mobile-gutter:20px;
    --mobile-radius:24px;
  }
  html{scroll-padding-top:78px}
  body{
    padding-bottom:78px;
    overflow-x:hidden;
    background:#f7f2e9;
  }
  .container{
    width:min(100% - 40px, 1180px);
  }

  /* En-tête compact et menu plein écran */
  .site-header{
    min-height:70px;
    background:rgba(247,242,233,.92);
    border-bottom:1px solid rgba(47,63,42,.08);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .header-inner{min-height:70px;gap:12px}
  .brand img{width:146px;max-height:48px;object-fit:contain}
  .header-cta{display:none !important}
  .menu-button{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(47,63,42,.18);
    border-radius:50%;
    background:rgba(255,255,255,.55);
    color:#2f3f2a;
    position:relative;
    z-index:1002;
  }
  .menu-button::before,
  .menu-button::after{
    content:"";
    position:absolute;
    width:18px;
    height:1.5px;
    background:currentColor;
    transition:transform .25s ease,top .25s ease;
  }
  .menu-button::before{top:18px}
  .menu-button::after{top:26px}
  .menu-button[aria-expanded="true"]::before{top:22px;transform:rotate(45deg)}
  .menu-button[aria-expanded="true"]::after{top:22px;transform:rotate(-45deg)}
  .site-nav{
    position:fixed;
    inset:0;
    z-index:1001;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:8px;
    padding:100px 30px 90px;
    background:#f3ecdf;
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);
    transition:opacity .25s ease,visibility .25s ease,transform .25s ease;
  }
  .site-nav.open{opacity:1;visibility:visible;transform:none}
  .site-nav a{
    width:100%;
    padding:15px 0;
    border-bottom:1px solid rgba(47,63,42,.12);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.7rem,8vw,2.35rem);
    line-height:1.05;
    color:#2f3f2a;
  }
  .site-nav a.is-active{color:#a65430}
  body.menu-open{overflow:hidden}

  /* Typographie et sections */
  .section{padding:70px 0}
  .section-header{margin-bottom:30px}
  .eyebrow{font-size:.72rem;letter-spacing:.18em}
  h1{font-size:clamp(2.55rem,12vw,4.1rem);line-height:.94;letter-spacing:-.035em}
  h2{font-size:clamp(2rem,9vw,3rem);line-height:1.02}
  p{line-height:1.7}
  .button{
    min-height:50px;
    padding:14px 20px;
    border-radius:999px;
    justify-content:center;
  }

  /* Accueil : hero immersif */
  .hero{padding:18px 0 0}
  .hero-shell{
    display:flex;
    flex-direction:column;
    gap:0;
    overflow:hidden;
    border-radius:0 0 30px 30px;
    background:#eee4d4;
  }
  .hero-copy{
    order:1;
    padding:48px 24px 34px;
    text-align:center;
  }
  .hero-copy .eyebrow{justify-content:center}
  .hero-copy h1{max-width:9ch;margin-inline:auto}
  .signature-line{margin:20px auto}
  .hero-intro{max-width:34rem;margin:0 auto 26px;font-size:1rem}
  .hero-copy .button{width:100%;max-width:330px}
  .hero-visual{
    order:2;
    min-height:420px;
    border-radius:0;
    clip-path:ellipse(78% 67% at 50% 67%);
    margin:0 -24px -36px;
  }
  .trust-bar{
    margin:22px 20px 0;
    padding:18px 16px;
    border-radius:20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 8px;
    background:#fffaf3;
    box-shadow:0 14px 34px rgba(47,63,42,.08);
  }
  .trust-bar > *{min-width:0;font-size:.78rem}
  .trust-icon{width:30px;height:30px}

  /* Cartes prestations en carrousel tactile */
  .cards-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(82vw,1fr);
    grid-template-columns:none;
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    padding:4px 20px 22px;
    margin-inline:-20px;
    scrollbar-width:none;
  }
  .cards-grid::-webkit-scrollbar{display:none}
  .service-card{
    scroll-snap-align:center;
    border-radius:var(--mobile-radius);
    overflow:hidden;
    box-shadow:0 12px 34px rgba(47,63,42,.09);
    background:#fffaf3;
  }
  .card-photo{height:245px}
  .card-body{padding:24px}
  .card-body h3{font-size:1.55rem}
  .custom-icon{width:48px;height:48px}

  /* Blocs éditoriaux génériques */
  .why-grid,
  .about-preview-grid,
  .contact-layout,
  .services-intro-grid,
  .services-hero-grid,
  .av1-story-grid,
  .av1-approach-grid,
  .rv2-manifesto-grid{
    grid-template-columns:1fr !important;
  }
  .why-grid > div,
  .contact-info-card,
  .contact-form-card{
    border-radius:var(--mobile-radius);
  }

  /* Prestations */
  .services-hero{padding:54px 0 34px}
  .services-hero-copy{text-align:center}
  .services-hero-actions{justify-content:center;flex-direction:column}
  .services-hero-actions .button{width:100%}
  .services-hero-visual{min-height:360px;margin-top:20px;border-radius:28px}
  .service-list{gap:24px}
  .service-row,
  .service-row-reverse{
    display:flex;
    flex-direction:column !important;
    gap:0;
    border-radius:26px;
    overflow:hidden;
    background:#fffaf3;
    box-shadow:0 12px 34px rgba(47,63,42,.07);
  }
  .service-media{width:100%;min-height:260px;border-radius:0}
  .service-content{padding:28px 24px 30px}
  .service-content h2{font-size:2rem}

  /* Réalisations : galerie tactile et lisible */
  .rv2-hero{min-height:78svh}
  .rv2-hero-inner{padding-top:120px;padding-bottom:56px}
  .rv2-hero h1{font-size:clamp(3rem,15vw,4.7rem)}
  .rv2-hero-index{display:none}
  .rv2-manifesto{padding:64px 0}
  .rv2-toolbar{align-items:flex-start;gap:18px}
  .rv2-filters{
    width:calc(100% + 40px);
    margin-inline:-20px;
    padding:0 20px 10px;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .rv2-filters::-webkit-scrollbar{display:none}
  .rv2-filters button{white-space:nowrap;min-height:42px}
  .rv2-editorial-grid,
  .rv2-editorial-grid.is-filtered{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:38px !important;
  }
  .rv2-card,
  .rv2-editorial-grid.is-filtered .rv2-card:not(.is-hidden){
    grid-column:auto !important;
    grid-row:auto !important;
  }
  .rv2-card-media,
  .rv2-editorial-grid.is-filtered .rv2-card-media{
    height:420px !important;
    border-radius:24px;
  }
  .rv2-card-caption{padding-top:16px}
  .rv2-card-caption h2{font-size:1.8rem}
  .rv2-modal-panel{width:calc(100% - 20px);max-height:92svh;overflow:auto;border-radius:24px}
  .rv2-modal-layout{grid-template-columns:1fr}
  .rv2-modal-main{min-height:330px}

  /* À propos */
  .av1-hero{min-height:82svh}
  .av1-hero-content{padding-top:120px;padding-bottom:52px}
  .av1-hero-title{font-size:clamp(3rem,15vw,4.8rem)}
  .av1-hero-meta{display:none}
  .av1-story,.av1-timeline,.av1-approach,.av1-values{padding:68px 0}
  .av1-story-copy,.av1-approach-copy{padding:0}
  .av1-approach-photo{min-height:390px;border-radius:28px;margin-bottom:28px}
  .av1-timeline-list{gap:18px}
  .av1-timeline-list > li{padding:22px;border-radius:20px;background:#fffaf3}
  .av1-values-grid{grid-template-columns:1fr !important;gap:14px}
  .av4-philosophy-quote{font-size:1.65rem;line-height:1.25}

  /* Contact */
  .contact-hero{padding:52px 0 70px}
  .contact-intro{text-align:center}
  .contact-lead{margin-inline:auto}
  .contact-layout{gap:24px}
  .contact-info-card,.contact-form-card{padding:26px 22px}
  .contact-info-row{align-items:flex-start}
  .form-grid{grid-template-columns:1fr}
  .form-field,.form-field-full{grid-column:1}
  input,textarea{font-size:16px}
  .submit-button{width:100%}

  /* Pied de page */
  .site-footer{padding-bottom:34px}
  .footer-grid{grid-template-columns:1fr !important;gap:30px;text-align:center}
  .footer-grid .brand{justify-content:center}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}

  /* Barre d'action permanente */
  .mobile-action-bar{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:990;
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:8px;
    padding:8px;
    border:1px solid rgba(47,63,42,.11);
    border-radius:20px;
    background:rgba(255,250,243,.94);
    box-shadow:0 16px 38px rgba(47,63,42,.2);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .mobile-action-bar a{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:14px;
    font-weight:700;
    font-size:.88rem;
    text-decoration:none;
  }
  .mobile-action-call{color:#2f3f2a;background:#eee7da}
  .mobile-action-quote{color:#fff;background:#2f3f2a}
}

@media (min-width:761px){
  .mobile-action-bar{display:none !important}
}

/* ==================================================================
   V35.3 — MENU MOBILE FINAL + FINITIONS TERRACOTTA
   Version test cPanel — le rendu desktop reste inchangé
   ================================================================== */
@media (max-width:760px){
  :root{
    --v35-cream:#f7f1e7;
    --v35-cream-2:#fffaf3;
    --v35-green:#29442f;
    --v35-green-soft:#657761;
    --v35-terra:#c96338;
    --v35-terra-dark:#b6532f;
  }

  /* Suppression des ornements carrés / losanges sous les titres */
  .divider{display:none!important}

  /* En-tête plus lumineux */
  .site-header{
    background:rgba(250,246,238,.95)!important;
    border-bottom:1px solid rgba(41,68,47,.08)!important;
  }
  .menu-button{
    border:0!important;
    background:transparent!important;
    color:var(--v35-terra)!important;
    box-shadow:none!important;
  }

  /* Fond général du menu */
  .site-nav{
    inset:0!important;
    padding:126px 18px 112px!important;
    justify-content:flex-start!important;
    gap:0!important;
    background:
      radial-gradient(circle at 92% 8%,rgba(201,99,56,.14),transparent 25%),
      linear-gradient(145deg,#29442f 0%,#173522 100%)!important;
    overflow-y:auto!important;
  }
  .site-nav::before{
    content:"";
    position:absolute;
    left:18px;right:18px;top:112px;bottom:96px;
    border:1px solid rgba(255,255,255,.58);
    border-radius:28px;
    background:
      linear-gradient(rgba(255,250,243,.90),rgba(255,250,243,.90)),
      radial-gradient(circle at 100% 0%,rgba(201,99,56,.14),transparent 33%);
    box-shadow:0 24px 70px rgba(8,25,15,.28),inset 0 1px 0 rgba(255,255,255,.75);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    pointer-events:none;
  }
  .site-nav::after{
    content:"";
    position:absolute;
    width:220px;height:310px;
    right:-32px;bottom:104px;
    opacity:.18;
    pointer-events:none;
    background:url('../images/icons/branche-decorative.png?v=35') center/contain no-repeat;
    filter:grayscale(1) brightness(2.4);
  }
  .site-nav .mobile-location{
    position:relative;
    z-index:2;
    align-self:flex-start;
    margin:34px 34px 26px;
    padding:13px 18px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-family:Inter,sans-serif;
    font-size:.73rem;
    font-weight:600;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#fff;
    background:linear-gradient(135deg,var(--v35-terra),var(--v35-terra-dark));
    border-radius:2px;
    transform:rotate(-2deg);
    box-shadow:0 9px 18px rgba(113,53,31,.20);
  }
  .site-nav .mobile-location svg{width:16px;height:16px;stroke-width:1.8}
  .site-nav a{
    position:relative;
    z-index:2;
    width:auto!important;
    margin:0 34px!important;
    padding:20px 10px!important;
    display:flex!important;
    align-items:center;
    gap:22px;
    border-bottom:1px solid rgba(41,68,47,.13)!important;
    font-family:"Cormorant Garamond",Georgia,serif!important;
    font-size:clamp(1.75rem,8vw,2.15rem)!important;
    font-weight:600;
    line-height:1!important;
    color:var(--v35-green)!important;
    text-decoration:none;
    transition:background .22s ease,color .22s ease,transform .22s ease,padding .22s ease;
  }
  .site-nav a:last-of-type{border-bottom:0!important}
  .site-nav a .nav-icon{
    width:28px;height:28px;
    flex:0 0 28px;
    color:var(--v35-terra);
  }
  .site-nav a .nav-icon svg{width:100%;height:100%;stroke-width:1.5}
  .site-nav a:hover,.site-nav a:focus-visible,.site-nav a.is-active{
    color:var(--v35-terra-dark)!important;
    background:linear-gradient(90deg,rgba(201,99,56,.10),transparent 72%);
    padding-left:18px!important;
  }
  .site-nav a:active{transform:scale(.985)}

  /* fermeture plus élégante au-dessus du panneau */
  body.menu-open .menu-button{
    position:fixed!important;
    top:82px!important;
    right:22px!important;
    color:#fff!important;
  }

  /* Barre d'actions plus nette */
  .mobile-action-bar{
    left:0!important;right:0!important;bottom:0!important;
    padding:0!important;gap:0!important;
    border:0!important;border-radius:0!important;
    background:transparent!important;
    box-shadow:0 -10px 28px rgba(30,45,31,.16)!important;
  }
  .mobile-action-bar a{
    min-height:68px!important;
    border-radius:0!important;
    font-size:.92rem!important;
    letter-spacing:.01em;
  }
  .mobile-action-call{background:#2c4b33!important;color:#fff!important}
  .mobile-action-quote{background:linear-gradient(135deg,#cf7048,#c35b34)!important;color:#fff!important}

  /* Quatre engagements : icônes professionnelles et couleurs équilibrées */
  .trust-bar{
    background:rgba(255,250,243,.96)!important;
    border:1px solid rgba(201,99,56,.11)!important;
    box-shadow:0 14px 38px rgba(55,54,42,.10)!important;
  }
  .trust-bar>div{
    align-items:center!important;
    justify-content:flex-start!important;
    border-color:rgba(41,68,47,.09)!important;
  }
  .trust-icon{
    width:38px!important;height:38px!important;
    display:grid!important;place-items:center!important;
    color:var(--v35-terra)!important;
    background:rgba(201,99,56,.075)!important;
    border:1px solid rgba(201,99,56,.16)!important;
    border-radius:13px!important;
    font-size:0!important;
    flex:0 0 38px!important;
  }
  .trust-icon svg{width:22px;height:22px;stroke-width:1.55}

  /* Catégories / filtres : voile fin et meilleure démarcation */
  .rv2-toolbar{
    position:relative;
    padding:16px 14px 12px!important;
    border:1px solid rgba(201,99,56,.12);
    border-radius:20px;
    background:rgba(255,250,243,.80);
    box-shadow:0 10px 28px rgba(41,68,47,.07),inset 0 1px 0 rgba(255,255,255,.65);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .rv2-filters{
    width:100%!important;
    margin:0!important;
    padding:0 0 6px!important;
    gap:8px!important;
  }
  .rv2-filters button{
    min-height:40px!important;
    padding:9px 15px!important;
    border:1px solid rgba(41,68,47,.13)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.72)!important;
    color:#38513b!important;
    box-shadow:0 4px 12px rgba(41,68,47,.04);
  }
  .rv2-filters button:hover,.rv2-filters button.is-active{
    background:linear-gradient(135deg,#cf7048,#c35b34)!important;
    color:#fff!important;
    border-color:transparent!important;
    box-shadow:0 7px 16px rgba(180,80,43,.20)!important;
  }

  /* Petites finitions générales */
  .service-card,.contact-info-card,.contact-form-card,.av1-timeline-list>li{
    border:1px solid rgba(201,99,56,.08)!important;
  }
  .button-primary,.submit-button{
    background:linear-gradient(135deg,#cf7048,#bd5531)!important;
    box-shadow:0 9px 22px rgba(180,80,43,.18)!important;
  }
  .section-header h2,.project-copy h2,.about-copy h2{letter-spacing:-.025em}
}

/* ==================================================================
   V36 — RECONSTRUCTION MOBILE PROPRE
   Le rendu desktop reste strictement inchangé.
   ================================================================== */
@media (max-width:760px){
  :root{
    --m-cream:#f5eee2;
    --m-paper:#fffaf2;
    --m-ink:#203524;
    --m-green:#2f4934;
    --m-terra:#c86b42;
    --m-line:rgba(47,73,52,.14);
  }

  html,body{overflow-x:hidden}
  body{padding-bottom:68px;background:var(--m-cream)}

  .site-header{
    position:sticky!important;top:0!important;z-index:1000!important;
    background:rgba(250,246,238,.97)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  .header-inner{min-height:76px!important}
  .brand{width:162px!important;position:relative;z-index:1002}
  .brand img{height:60px!important}

  .menu-button{
    display:grid!important;place-content:center!important;gap:5px!important;
    position:relative;z-index:1002;width:46px!important;height:46px!important;
    padding:11px!important;border-radius:50%!important;
    background:rgba(255,250,242,.9)!important;
    border:1px solid rgba(47,73,52,.12)!important;
    box-shadow:0 7px 20px rgba(47,73,52,.08)!important;
  }
  .menu-button span:not(.sr-only){
    width:22px!important;height:1.5px!important;margin:0!important;
    background:var(--m-green)!important;border-radius:99px!important;
    transition:transform .25s ease,opacity .2s ease!important;
  }
  body.menu-open .menu-button{position:fixed!important;top:15px!important;right:14px!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important}
  body.menu-open .menu-button span:not(.sr-only){background:var(--m-green)!important}
  body.menu-open .menu-button span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  body.menu-open .menu-button span:nth-child(2){opacity:0}
  body.menu-open .menu-button span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  .site-nav{
    display:flex!important;
    position:fixed!important;inset:0!important;z-index:1001!important;
    width:100vw!important;height:100dvh!important;max-height:100dvh!important;
    margin:0!important;padding:84px 16px 86px!important;
    flex-direction:column!important;align-items:stretch!important;gap:0!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    background:
      radial-gradient(circle at 88% 18%,rgba(200,107,66,.10),transparent 28%),
      radial-gradient(circle at 8% 92%,rgba(47,73,52,.07),transparent 30%),
      linear-gradient(145deg,#f5eee2 0%,#fbf7ef 58%,#efe4d3 100%)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translateY(-10px)!important;
    transition:opacity .25s ease,transform .25s ease,visibility .25s ease!important;
  }
  .site-nav.open{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    transform:none!important;
  }
  .site-nav::before{
    content:""!important;position:absolute!important;
    inset:76px 13px 79px!important;border-radius:28px!important;
    border:1px solid rgba(255,255,255,.86)!important;
    background:
      linear-gradient(rgba(255,250,242,.93),rgba(255,250,242,.93)),
      radial-gradient(circle at 95% 8%,rgba(200,107,66,.11),transparent 30%)!important;
    box-shadow:0 24px 70px rgba(62,51,35,.13),inset 0 1px 0 #fff!important;
    pointer-events:none!important;
  }
  .site-nav::after{
    content:""!important;position:absolute!important;right:-22px!important;bottom:92px!important;
    width:190px!important;height:280px!important;opacity:.12!important;
    background:url('../images/icons/branche-decorative.png?v=36') center/contain no-repeat!important;
    filter:grayscale(1) sepia(.2)!important;pointer-events:none!important;
  }
  .site-nav .mobile-location{
    position:relative!important;z-index:2!important;align-self:flex-start!important;
    margin:20px 24px 18px!important;padding:11px 15px!important;
    display:inline-flex!important;align-items:center!important;gap:8px!important;
    color:#fff!important;background:var(--m-terra)!important;border-radius:3px!important;
    font-size:.69rem!important;font-weight:700!important;letter-spacing:.12em!important;
    text-transform:uppercase!important;transform:rotate(-1.5deg)!important;
    box-shadow:0 8px 18px rgba(154,73,41,.16)!important;
  }
  .site-nav .mobile-location svg{width:15px!important;height:15px!important}

  .site-nav a{
    position:relative!important;z-index:2!important;
    width:auto!important;margin:0 24px!important;padding:16px 8px!important;
    display:flex!important;align-items:center!important;gap:19px!important;
    border-bottom:1px solid var(--m-line)!important;
    color:var(--m-green)!important;background:transparent!important;
    font-family:"Cormorant Garamond",Georgia,serif!important;
    font-size:clamp(1.65rem,7.7vw,2.05rem)!important;font-weight:600!important;line-height:1!important;
    text-decoration:none!important;
  }
  .site-nav a:last-of-type{border-bottom:0!important}
  .site-nav a::after{display:none!important}
  .site-nav a .nav-icon{width:28px!important;height:28px!important;flex:0 0 28px!important;color:var(--m-terra)!important}
  .site-nav a .nav-icon svg{width:100%!important;height:100%!important;stroke-width:1.45!important}
  .site-nav a.is-active{color:var(--m-terra)!important}
  .site-nav a:active{transform:scale(.985)!important}

  body.menu-open{overflow:hidden!important;touch-action:none}
  body.menu-open .mobile-action-bar{z-index:1003!important}

  .mobile-action-bar{
    display:grid!important;grid-template-columns:1fr 1.35fr!important;
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:999!important;
    min-height:68px!important;padding:0!important;gap:0!important;border:0!important;border-radius:0!important;
    box-shadow:0 -10px 28px rgba(47,73,52,.12)!important;background:transparent!important;
  }
  .mobile-action-bar a{min-height:68px!important;border-radius:0!important;font-size:.88rem!important;font-weight:700!important}
  .mobile-action-call{background:#eee6d9!important;color:var(--m-green)!important}
  .mobile-action-quote{background:var(--m-green)!important;color:#fff!important}

  /* Mise en page mobile générale, proche de la version ordinateur mais pensée téléphone */
  .container{width:min(calc(100% - 24px),var(--container))!important}
  .hero{padding:8px 0 0!important}
  .hero-shell{display:flex!important;flex-direction:column!important;min-height:0!important;border-radius:18px!important}
  .hero-copy{padding:42px 23px 32px!important;order:1!important}
  .hero h1{font-size:clamp(3.75rem,18vw,4.8rem)!important}
  .hero-visual{order:2!important;min-height:310px!important}
  .hero-intro{font-size:.92rem!important}
  .trust-bar{margin:-18px 9px 0!important;grid-template-columns:1fr 1fr!important;border-radius:14px!important}
  .trust-bar>div{min-height:86px!important;padding:14px 10px!important;gap:9px!important;font-size:.64rem!important}
  .trust-icon{width:36px!important;height:36px!important;flex:0 0 36px!important;border-radius:12px!important}

  .section{padding:66px 0!important}
  .section-header{margin-bottom:30px!important}
  .section-header h2,.project-copy h2,.about-copy h2{font-size:clamp(2.35rem,12vw,3.25rem)!important}
  .cards-grid{grid-template-columns:1fr!important;gap:14px!important}
  .service-card{display:grid!important;grid-template-columns:104px 1fr!important;border-radius:14px!important;overflow:hidden!important}
  .card-photo{min-height:160px!important;height:100%!important}
  .card-body{text-align:left!important;padding:18px 16px!important}
  .service-card h3{font-size:.8rem!important;min-height:0!important;margin:9px 0 7px!important}
  .service-card p{font-size:.74rem!important}
  .service-card:last-child{max-width:none!important;margin:0!important}
  .card-link-hint{display:none!important}

  .project-layout{grid-template-columns:1fr!important;gap:28px!important}
  .project-copy{text-align:center!important}
  .project-mosaic{height:auto!important;grid-template-columns:1fr 1fr!important;grid-template-rows:255px 155px!important}
  .project-large{grid-column:1/3!important;grid-row:auto!important}
  .about-panel{grid-template-columns:1fr!important;padding:14px!important;border-radius:16px!important}
  .about-image{height:275px!important}
  .values-row{grid-template-columns:1fr!important}
  .contact-band-grid{grid-template-columns:1fr!important;gap:24px!important}
  .contact-list{padding:0!important;border-left:0!important}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px 18px!important}
  .footer-brand{grid-column:1/-1!important}
  .footer-bottom{display:grid!important;gap:6px!important}
}

@media (max-width:380px){
  .site-nav{padding-inline:10px!important}
  .site-nav::before{inset-inline:8px!important}
  .site-nav .mobile-location{margin-left:20px!important}
  .site-nav a{margin-inline:20px!important;padding-block:14px!important;font-size:1.55rem!important}
}


/* V36.1 — stabilisation finale du menu sur iPhone et Android */
@media (max-width:760px){
  .site-nav{
    min-height:100vh!important;
    min-height:100dvh!important;
    padding-top:max(84px,calc(env(safe-area-inset-top) + 70px))!important;
    padding-bottom:max(86px,calc(env(safe-area-inset-bottom) + 72px))!important;
  }
  .site-nav::before{
    top:max(76px,calc(env(safe-area-inset-top) + 62px))!important;
    bottom:max(79px,calc(env(safe-area-inset-bottom) + 68px))!important;
  }
  body.menu-open .menu-button{
    top:max(15px,env(safe-area-inset-top))!important;
  }
  .mobile-action-bar{
    padding-bottom:env(safe-area-inset-bottom)!important;
    background:var(--m-green)!important;
  }
  .mobile-action-bar a{
    min-height:calc(68px + env(safe-area-inset-bottom))!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
}

/* V36.2 — finition du bouton de menu mobile uniquement */
@media (max-width:760px){
  .menu-button{
    width:46px!important;
    height:46px!important;
    padding:0!important;
    border:1px solid rgba(47,73,52,.14)!important;
    border-radius:50%!important;
    background:rgba(255,250,242,.94)!important;
    box-shadow:0 6px 18px rgba(47,73,52,.07)!important;
    color:var(--m-green)!important;
  }
  .menu-button span:not(.sr-only){display:none!important}
  .menu-button::before,
  .menu-button::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    width:20px!important;
    height:1.6px!important;
    border-radius:999px!important;
    background:currentColor!important;
    transform:translateX(-50%)!important;
    transition:top .24s ease,transform .24s ease,opacity .2s ease!important;
  }
  .menu-button::before{top:18px!important}
  .menu-button::after{top:26px!important}
  body.menu-open .menu-button{
    background:rgba(255,250,242,.96)!important;
    border-color:rgba(47,73,52,.14)!important;
    box-shadow:0 6px 18px rgba(47,73,52,.07)!important;
    color:var(--m-green)!important;
  }
  body.menu-open .menu-button::before{
    top:22px!important;
    transform:translateX(-50%) rotate(45deg)!important;
  }
  body.menu-open .menu-button::after{
    top:22px!important;
    transform:translateX(-50%) rotate(-45deg)!important;
  }
}


/* AJOUT JURIDIQUE ISOLE — 12-08-2026 */
.legal-page{background:#f4efe6}.legal-page .page-hero{padding:92px 0 58px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f7f2e9,#f4efe6)}.legal-page .page-hero:before{content:"";position:absolute;right:3.2vw;top:3px;width:185px;height:340px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20220%20420%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%23BD612E%22%20stroke-width%3D%222.1%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20d%3D%22M48%20392%20C86%20324%20102%20248%20112%20172%20C118%20125%20134%2076%20174%2026%22%2F%3E%0A%3Cpath%20d%3D%22M91%20304%20C63%20289%2044%20267%2034%20239%22%2F%3E%0A%3Cpath%20d%3D%22M102%20247%20C135%20233%20158%20211%20174%20180%22%2F%3E%0A%3Cpath%20d%3D%22M108%20199%20C78%20180%2059%20157%2048%20128%22%2F%3E%0A%3Cpath%20d%3D%22M119%20151%20C148%20135%20170%20112%20183%2084%22%2F%3E%0A%3Cpath%20d%3D%22M139%20101%20C119%2085%20106%2065%2099%2044%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23BD612E%22%20fill-opacity%3D%22.23%22%3E%0A%3Cpath%20d%3D%22M34%20239%20C47%20241%2065%20255%2091%20304%20C67%20297%2045%20280%2034%20239Z%22%2F%3E%0A%3Cpath%20d%3D%22M174%20180%20C159%20185%20141%20202%20102%20247%20C134%20240%20160%20216%20174%20180Z%22%2F%3E%0A%3Cpath%20d%3D%22M48%20128%20C60%20131%2078%20146%20108%20199%20C80%20190%2057%20166%2048%20128Z%22%2F%3E%0A%3Cpath%20d%3D%22M183%2084%20C166%2090%20148%20105%20119%20151%20C150%20140%20172%20116%20183%2084Z%22%2F%3E%0A%3Cpath%20d%3D%22M99%2044%20C109%2048%20123%2061%20139%20101%20C119%2092%20105%2073%2099%2044Z%22%2F%3E%0A%3Cpath%20d%3D%22M174%2026%20C160%2035%20151%2050%20143%2070%20C160%2062%20174%2046%20174%2026Z%22%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;opacity:.95;transform:rotate(8deg);transform-origin:50% 88%;pointer-events:none;z-index:0}
.legal-page .page-hero:after{content:"";position:absolute;right:.7vw;top:48px;width:150px;height:300px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20220%20420%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%23FFFDF8%22%20stroke-width%3D%222.1%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20d%3D%22M48%20392%20C86%20324%20102%20248%20112%20172%20C118%20125%20134%2076%20174%2026%22%2F%3E%0A%3Cpath%20d%3D%22M91%20304%20C63%20289%2044%20267%2034%20239%22%2F%3E%0A%3Cpath%20d%3D%22M102%20247%20C135%20233%20158%20211%20174%20180%22%2F%3E%0A%3Cpath%20d%3D%22M108%20199%20C78%20180%2059%20157%2048%20128%22%2F%3E%0A%3Cpath%20d%3D%22M119%20151%20C148%20135%20170%20112%20183%2084%22%2F%3E%0A%3Cpath%20d%3D%22M139%20101%20C119%2085%20106%2065%2099%2044%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23FFFDF8%22%20fill-opacity%3D%22.80%22%3E%0A%3Cpath%20d%3D%22M34%20239%20C47%20241%2065%20255%2091%20304%20C67%20297%2045%20280%2034%20239Z%22%2F%3E%0A%3Cpath%20d%3D%22M174%20180%20C159%20185%20141%20202%20102%20247%20C134%20240%20160%20216%20174%20180Z%22%2F%3E%0A%3Cpath%20d%3D%22M48%20128%20C60%20131%2078%20146%20108%20199%20C80%20190%2057%20166%2048%20128Z%22%2F%3E%0A%3Cpath%20d%3D%22M183%2084%20C166%2090%20148%20105%20119%20151%20C150%20140%20172%20116%20183%2084Z%22%2F%3E%0A%3Cpath%20d%3D%22M99%2044%20C109%2048%20123%2061%20139%20101%20C119%2092%20105%2073%2099%2044Z%22%2F%3E%0A%3Cpath%20d%3D%22M174%2026%20C160%2035%20151%2050%20143%2070%20C160%2062%20174%2046%20174%2026Z%22%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;opacity:.97;transform:rotate(-8deg);transform-origin:50% 88%;pointer-events:none;z-index:0}.legal-page .page-hero .container{position:relative;z-index:1}.legal-page .page-hero h1{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(4rem,7vw,7rem);line-height:.9;font-weight:500;letter-spacing:-.04em;color:var(--green)}.legal-page .hero-intro{max-width:760px;margin:25px 0 0;line-height:1.8;color:#4f584b}.legal-page .last-update{margin-top:18px;color:#777d73;font-size:.7rem}.legal-main{padding:0 0 110px}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.legal-card{background:#fbf8f2;border:1px solid rgba(48,66,41,.13);border-radius:3px;padding:30px 31px;box-shadow:0 12px 35px rgba(39,45,34,.035)}.legal-card.full,.legal-card.commitment{grid-column:1/-1}.legal-card h2{margin:0 0 20px;font-family:"Cormorant Garamond",serif;font-size:2rem;line-height:1;font-weight:600;display:flex;align-items:center;gap:14px;color:var(--green)}.legal-card h3{margin:24px 0 10px}.legal-card p{margin:0 0 13px;line-height:1.75;color:#4b5148}.legal-card p:last-child{margin-bottom:0}.legal-card ul{padding-left:20px;color:#4b5148}.legal-card a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.legal-card .icon-wrap{width:40px;height:40px;border:1px solid rgba(48,66,41,.22);border-radius:50%;display:inline-grid;place-items:center;flex:0 0 auto}.legal-card .icon-wrap svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.info-list{display:grid;gap:0;margin:0}.info-row{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:12px 0;border-bottom:1px solid rgba(48,66,41,.1)}.info-row:last-child{border-bottom:0}.info-row dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#777d73;font-weight:600}.info-row dd{margin:0}.legal-card.mediation{background:var(--green);border-color:var(--green);color:#fff}.legal-card.mediation h2,.legal-card.mediation .icon-wrap,.legal-card.mediation a{color:#fff}.legal-card.mediation .icon-wrap{border-color:rgba(255,255,255,.35)}.legal-card.mediation p{color:rgba(255,255,255,.88)}.legal-card.commitment{background:#e9e5d8}.form-privacy-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.footer-legal-inline{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.footer-legal-inline a{display:inline!important;margin:0!important;color:inherit;text-decoration:none}.footer-legal-inline a:hover{color:var(--orange)}
@media(max-width:760px){.legal-page .page-hero{padding:58px 0 42px}.legal-page .page-hero:after{font-size:8rem;right:-8vw;top:15px}.legal-page .page-hero h1{font-size:clamp(3.25rem,15vw,4.8rem)}.legal-grid{grid-template-columns:1fr;gap:14px}.legal-card.full,.legal-card.commitment{grid-column:auto}.legal-card{padding:24px 20px}.legal-card h2{font-size:1.75rem}.info-row{grid-template-columns:1fr;gap:4px}.legal-main{padding-bottom:85px}.footer-legal-inline{gap:5px;font-size:.68rem}}

@media(max-width:760px){.legal-page .page-hero:before{right:-38px;top:10px;width:132px;height:250px;opacity:.78}.legal-page .page-hero:after{right:-6px;top:48px;width:104px;height:220px;opacity:.92}}
