:root{
  --ink:#20301f;
  --ink-soft:#4a5a47;
  --paper:#efeee1;
  --paper-alt:#e4e2d2;
  --sage:#5c7a5a;
  --sage-deep:#3f5b3e;
  --clay:#a9633f;
  --line:#cfcbb4;
  --white:#faf9f2;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Public Sans', sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,.serif{
  font-family:'Fraunces', serif;
  font-weight:500;
  color:var(--ink);
  margin:0;
  overflow-wrap:break-word;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
@media(max-width:480px){ .wrap{padding:0 20px;} }

/* header */
header{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 32px;
  max-width:1120px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:14px;}
.brand-logo{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.brand-text .name{font-family:'Fraunces',serif;font-size:18px;letter-spacing:.2px;}
.brand-text .role{font-size:12.5px;color:var(--ink-soft);}
.emdr-badge{height:46px;width:auto;}
nav{display:flex;align-items:center;gap:28px;font-size:14.5px;}
nav a{border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s;}
nav a:hover, nav a.active{border-color:var(--sage);}
@media(max-width:700px){ nav{gap:16px;} .brand-text .role{display:none;} }
@media(max-width:620px){
  header{flex-direction:column;gap:12px;padding:16px 20px;}
  .brand{justify-content:center;}
  nav{justify-content:center;flex-wrap:wrap;row-gap:8px;font-size:13.5px;}
  .emdr-badge{display:none;}
}

/* page hero (non-accueil) */
.page-hero{padding-top:50px;padding-bottom:10px;}
.page-hero h1{font-size:clamp(26px,5.5vw,42px);max-width:20ch;}
.page-hero p{margin-top:14px;color:var(--ink-soft);font-size:16px;max-width:46ch;}

/* accueil hero */
.hero{
  padding:60px 32px 90px;
  max-width:1120px;margin:0 auto;
  display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;
}
.hero h1{font-size:clamp(28px,6vw,50px);line-height:1.15;max-width:14ch;}
.hero .lede{margin-top:22px;font-size:17px;color:var(--ink-soft);max-width:42ch;}
.hero .signature{margin-top:30px;font-size:15px;}
.hero .signature strong{font-family:'Fraunces',serif;font-weight:500;font-size:17px;display:block;}
.cta{
  display:inline-block;margin-top:32px;
  padding:13px 26px;
  background:var(--sage-deep);color:var(--white);
  border-radius:2px;font-size:14.5px;
}
.hero-photo img{border-radius:4px;}
@media(max-width:860px){ .hero{grid-template-columns:1fr;gap:36px;padding:40px 32px 60px;} }
@media(max-width:480px){ .hero{padding:32px 20px 48px;} }

/* bonjour section */
.bonjour{padding:20px 0 70px;}
.bonjour .inner{
  display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center;
}
.bonjour .inner .cta{margin-top:0;justify-self:end;}
.bonjour img{border-radius:4px;}
.bonjour h2{font-size:clamp(24px,3vw,30px);}
.bonjour p{margin-top:18px;color:var(--ink-soft);font-size:16px;max-width:48ch;}
@media(max-width:860px){ .bonjour .inner{grid-template-columns:1fr;gap:24px;} .bonjour .inner .cta{justify-self:start;} }

section{padding:70px 0;}
.section-head{max-width:56ch;margin-bottom:44px;}
.section-head h2{font-size:clamp(26px,3vw,34px);}
.section-head p{margin-top:14px;color:var(--ink-soft);font-size:16px;}

/* public columns */
.public-alt{background:var(--paper-alt);}
.publics{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.public-col img{border-radius:4px;margin-bottom:18px;aspect-ratio:3/4;object-fit:cover;}
.public-col h3{font-size:20px;margin-bottom:6px;}
.public-col .tag{font-size:13px;color:var(--sage-deep);margin-bottom:14px;display:block;}
.public-col ul{list-style:none;margin:0;padding:0;}
.public-col li{
  padding:9px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-soft);
}
@media(max-width:860px){ .publics{grid-template-columns:1fr;gap:44px;} }

/* approche */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.tool img{border-radius:4px;margin-bottom:18px;aspect-ratio:4/3;object-fit:cover;}
.tool h3{font-size:19px;margin-bottom:10px;}
.tool p{font-size:14.5px;color:var(--ink-soft);}
@media(max-width:860px){ .tools{grid-template-columns:1fr;gap:40px;} }

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.contact-block h3{font-size:20px;margin-bottom:12px;}
.contact-block p{color:var(--ink-soft);font-size:15px;margin:0 0 8px;}
.contact-block img{border-radius:4px;margin-top:18px;}
.phone-line{
  display:inline-flex;align-items:center;gap:10px;margin-top:8px;
  font-family:'Fraunces',serif;font-size:18px;color:var(--sage-deep);
}
@media(max-width:860px){ .contact-grid{grid-template-columns:1fr;gap:40px;} }

.map-frame{
  margin-top:24px;border-radius:4px;overflow:hidden;border:1px solid var(--line);
}
.map-frame iframe{width:100%;height:280px;border:0;display:block;}

.tarifs{
  background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:30px 32px;margin-top:54px;
}
.tarifs h3{font-size:19px;margin-bottom:16px;}
.tarif-row{
  display:flex;justify-content:space-between;padding:12px 0;
  border-top:1px solid var(--line);font-size:15.5px;
}
.tarif-row:first-of-type{border-top:none;}
.tarif-row .price{font-family:'Fraunces',serif;color:var(--clay);font-size:17px;}

.fine-print{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.fine-print h4{font-size:15px;margin-bottom:8px;color:var(--ink);}
.fine-print p{font-size:14px;color:var(--ink-soft);margin:0;}
@media(max-width:860px){ .fine-print{grid-template-columns:1fr;} }

footer{
  background:var(--sage-deep);color:var(--white);
  padding:44px 32px;
}
.footer-wrap{
  max-width:1120px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
}
.footer-brand{display:flex;align-items:center;gap:12px;}
.footer-brand img{width:34px;height:34px;border-radius:50%;object-fit:cover;}
footer .name{font-family:'Fraunces',serif;font-size:17px;}
.footer-social{display:flex;gap:14px;align-items:center;}
.footer-social img{width:18px;height:18px;filter:invert(1);opacity:.85;}
@media(max-width:620px){
  footer{padding:36px 20px;}
  .footer-wrap{flex-direction:column;justify-content:center;gap:14px;text-align:center;}
}
/* page hero with CTA on the right */
.page-hero-split{display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:center;}
@media(max-width:860px){ .page-hero-split{grid-template-columns:1fr;gap:24px;} }

/* contact cta */
.contact-cta{text-align:center;}
.contact-cta .big-phone{font-family:'Fraunces',serif;font-size:clamp(32px,4.2vw,42px);color:var(--sage-deep);white-space:nowrap;}

/* highlighted note (e.g. remboursement) */
.highlight-box{
  background:var(--white);border-left:4px solid var(--clay);border-radius:4px;
  padding:24px 28px;margin-top:44px;
}
.highlight-box h4{font-size:16px;margin-bottom:8px;}
.highlight-box p{font-size:14.5px;color:var(--ink-soft);margin:0;}

/* media row: circle photo + cabinet photo, side by side */
.media-stack{margin-top:54px;}
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:620px;margin:0 auto;}
.media-row .circle-photo{
  width:100%;aspect-ratio:1/1;border-radius:50%;object-fit:cover;
}
.media-row .cabinet-photo{
  width:100%;aspect-ratio:1/1;border-radius:12px;object-fit:cover;
}
.media-stack .map-frame{margin-top:32px;}

footer .phone{font-size:14.5px;opacity:.9;}
footer .copy{font-size:13px;opacity:.7;}

/* finitions visuelles sobres */
body{background:#f3f1e7;}
header{border-bottom:1px solid rgba(207,203,180,.72);}
nav a{transition:color .2s ease,border-color .2s ease;}
nav a:hover{color:var(--sage-deep);}

.page-hero{padding-top:64px;padding-bottom:18px;}
.page-hero h1{font-size:clamp(32px,5.5vw,48px);line-height:1.12;letter-spacing:-.02em;}
.page-hero p{line-height:1.75;}

.hero{padding-top:76px;padding-bottom:100px;}
.hero h1{font-size:clamp(36px,5.8vw,56px);line-height:1.1;letter-spacing:-.025em;}
.hero .lede{line-height:1.75;}
.hero-photo img{border-radius:72px 4px 28px 4px;box-shadow:0 24px 56px rgba(32,48,31,.12);}

section{padding:82px 0;}
.section-head{margin-bottom:48px;}
.section-head h2{font-size:clamp(30px,3.5vw,40px);line-height:1.18;}
.public-alt{background:#e7e5d7;}
.publics{gap:28px;}
.public-col{overflow:hidden;background:rgba(250,249,242,.72);border:1px solid rgba(207,203,180,.78);border-radius:14px;transition:transform .2s ease,box-shadow .2s ease;}
.public-col:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(32,48,31,.08);}
.public-col img{margin-bottom:18px;border-radius:0;}
.public-col .tag,.public-col h3{margin-left:22px;margin-right:22px;}
.public-col h3{font-size:23px;}
.public-col ul{padding:0 22px 22px;}

.tools{gap:28px;}
.tool{padding:18px;background:rgba(250,249,242,.68);border:1px solid rgba(207,203,180,.78);border-radius:14px;}
.tool img{border-radius:9px;margin-bottom:22px;}
.tool h3{font-size:22px;}
.tool p{line-height:1.7;}

.page-hero-split{gap:52px;}
.contact-cta{padding:26px;background:rgba(228,226,210,.72);border:1px solid var(--line);border-radius:14px;}
.contact-cta .big-phone{font-size:clamp(30px,4vw,40px);}
.media-row{gap:22px;}
.media-row .circle-photo{box-shadow:0 14px 34px rgba(32,48,31,.09);}
.media-row .cabinet-photo{border-radius:18px;box-shadow:0 14px 34px rgba(32,48,31,.09);}
.map-frame{border-radius:14px;box-shadow:0 12px 30px rgba(32,48,31,.07);}
.tarifs{border-radius:14px;padding:32px 34px;box-shadow:0 14px 34px rgba(32,48,31,.06);}
.tarifs h3{font-size:23px;}
.tarif-row{padding:14px 0;}
.tarif-row .price{font-size:20px;}
.highlight-box{border-radius:4px 14px 14px 4px;}
.fine-print{gap:24px;}
.fine-print > div{padding:22px;background:rgba(250,249,242,.5);border:1px solid rgba(207,203,180,.75);border-radius:10px;}

footer{padding-top:40px;padding-bottom:40px;}

@media(max-width:860px){
  .hero{padding-top:52px;padding-bottom:72px;}
  .publics,.tools{gap:28px;}
  .public-col{max-width:620px;}
  .page-hero-split{gap:28px;}
  .contact-cta{max-width:430px;}
}
@media(max-width:620px){
  header{border-bottom:0;}
  .page-hero{padding-top:42px;}
  section{padding:62px 0;}
  .public-col .tag,.public-col h3{margin-left:18px;margin-right:18px;}
  .public-col ul{padding-left:18px;padding-right:18px;}
  .tool{padding:14px;}
  .contact-cta{padding:22px 18px;}
  .tarifs{padding:25px 22px;}
  .fine-print > div{padding:18px;}
}
@media(prefers-reduced-motion:reduce){
  .public-col{transition:none;}
}

/* navigation vers la page suivante */
.next-page{padding-top:20px;padding-bottom:72px;display:flex;justify-content:flex-end;}
.next-page-button{
  display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;
  min-width:270px;padding:19px 23px;
  border:1px solid var(--sage-deep);border-radius:10px;
  color:var(--sage-deep);background:rgba(250,249,242,.5);
  transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.next-page-button > span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.next-page-button strong{
  display:flex;align-items:center;gap:14px;
  font-family:'Fraunces',serif;font-size:22px;font-weight:500;
}
.next-page-button:hover{
  color:var(--white);background:var(--sage-deep);
  transform:translateY(-2px);box-shadow:0 14px 30px rgba(32,48,31,.12);
}
.next-page-button:focus-visible{outline:3px solid var(--clay);outline-offset:4px;}
@media(max-width:620px){
  .next-page{padding-top:8px;padding-bottom:48px;}
  .next-page-button{width:100%;min-width:0;align-items:center;}
}
@media(prefers-reduced-motion:reduce){
  .next-page-button{transition:none;}
}
