:root{
  --is-black:#070707;
  --is-white:#f7f7f5;
  --is-gray:#b7b7b0;
  --is-line:rgba(255,255,255,.22);
}

/* Le site prend toute la largeur même lorsqu'un thème WordPress impose une colonne étroite. */
html{overflow-x:clip}
.iserte-site{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  font-family:Arial,Helvetica,sans-serif;
  background:var(--is-black);
  color:var(--is-white);
  line-height:1.55;
  overflow:hidden;
}
.iserte-site *{box-sizing:border-box}
.iserte-site a{color:inherit}

.iserte-header{
  min-height:104px;
  padding:24px clamp(28px,5vw,80px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--is-line);
  position:relative;
  z-index:2;
}
.iserte-brand{text-decoration:none;display:inline-flex;align-items:center;width:220px;max-width:28vw}
.iserte-logo-image{display:block;width:100%;height:auto;background:var(--is-black);}
.iserte-nav{display:flex;gap:clamp(22px,3vw,44px);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.iserte-nav a{text-decoration:none;opacity:.8;transition:opacity .2s ease}
.iserte-nav a:hover{opacity:1}

.iserte-hero{
  min-height:min(820px,82vh);
  padding:clamp(90px,11vw,150px) clamp(28px,7vw,110px) clamp(85px,10vw,130px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:1500px;
  margin:0 auto;
}
.iserte-kicker,.iserte-section-intro>span,.iserte-about span,.iserte-contact-heading>span{
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:.65
}
.iserte-hero h1,.iserte-section h2,.iserte-about h2,.iserte-contact h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:.005em;
}
.iserte-hero h1{
  font-size:clamp(3.6rem,6.1vw,7.2rem);
  line-height:.88;
  max-width:1120px;
  margin:24px 0 28px;
  overflow-wrap:normal;
}
.iserte-hero p{max-width:760px;font-size:clamp(1rem,1.4vw,1.18rem);color:#d1d1cc;margin:0}
.iserte-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin-top:32px;
  padding:15px 22px;
  background:#fff;
  color:#000!important;
  text-decoration:none;
  border:1px solid #fff;
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:.2s ease;
}
.iserte-button:hover{background:transparent;color:#fff!important}

.iserte-section{background:var(--is-black);color:var(--is-white);padding:clamp(80px,10vw,150px) clamp(28px,7vw,110px)}
.iserte-section-intro{max-width:1100px;margin:0 auto 75px}
.iserte-section h2{font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:.98;margin:20px 0}
.iserte-services{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.iserte-service{background:var(--is-black);min-height:560px;border:0;display:flex;flex-direction:column}
.iserte-photo{min-height:350px;background:#161616 center/cover no-repeat;position:relative}
.iserte-photo-placeholder:before{
  content:"ISERTE";
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:clamp(2rem,6vw,5rem);letter-spacing:.12em;color:#fff;opacity:.18
}
.iserte-photo-placeholder span{position:absolute;bottom:18px;left:20px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.55}
.iserte-service-copy{padding:30px 34px 40px;display:flex;flex-direction:column;flex:1}
.iserte-service-copy>span{font-size:.7rem;opacity:.5;letter-spacing:.14em}
.iserte-service h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(1.7rem,2.3vw,2.15rem);margin:16px 0 12px;line-height:1.05}
.iserte-service p{max-width:600px;margin-top:auto;color:#c9c9c2}

.iserte-about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:clamp(90px,11vw,160px) clamp(28px,7vw,110px);border-top:1px solid var(--is-line);max-width:1500px;margin:0 auto}
.iserte-about h2{font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:.98;margin:20px 0}
.iserte-about p{font-size:clamp(1.05rem,1.5vw,1.2rem);max-width:650px;align-self:end;color:#d0d0ca}

.iserte-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:clamp(90px,11vw,160px) clamp(28px,7vw,110px);background:var(--is-black);color:#fff;border-top:1px solid var(--is-line)}
.iserte-contact-heading{max-width:600px}
.iserte-contact h2{font-size:clamp(2.8rem,5vw,5.8rem);line-height:.9;margin:20px 0 30px}
.iserte-contact-heading p{margin:7px 0;color:#c9c9c2}
.iserte-contact-heading a{text-decoration:underline;text-underline-offset:4px}
.iserte-form{max-width:720px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;align-content:start}
.iserte-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#d0d0ca}
.iserte-form label:nth-of-type(1),.iserte-form label:nth-of-type(5),.iserte-form .iserte-consent{grid-column:1/-1}
.iserte-form input[type=text],.iserte-form input[type=email],.iserte-form input[type=tel],.iserte-form textarea{width:100%;margin-top:8px;border:0;border-bottom:1px solid #777;background:transparent;color:#fff;padding:12px 0;border-radius:0;outline:none;font:inherit}
.iserte-form textarea{resize:vertical;min-height:130px}
.iserte-form input:focus,.iserte-form textarea:focus{border-bottom-color:#fff}
.iserte-consent{display:flex;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:.7rem!important;color:#aaa!important}
.iserte-consent input{margin-top:2px}
.iserte-form .iserte-button{grid-column:1/-1}
.iserte-form-success,.iserte-form-error{grid-column:1/-1;padding:16px;border:1px solid #777;margin-bottom:5px}
.iserte-form-error{border-color:#b58a8a}
.iserte-hp{position:absolute;left:-9999px}
.iserte-footer{padding:35px clamp(28px,7vw,110px);display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--is-line);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.iserte-footer strong{font-family:Georgia,serif;font-size:1.3rem;letter-spacing:.08em}
.iserte-footer span{font-size:.55rem}

@media(max-width:900px){
  .iserte-header{padding:22px 24px}
  .iserte-nav{gap:18px;font-size:.68rem}
  .iserte-hero{min-height:680px;padding:90px 28px}
  .iserte-hero h1{font-size:clamp(3.3rem,10vw,6rem);max-width:900px}
  .iserte-services,.iserte-about,.iserte-contact{grid-template-columns:1fr}
  .iserte-service{min-height:0}
  .iserte-photo{min-height:320px}
  .iserte-about p{align-self:auto}
  .iserte-contact-heading{max-width:none}
  .iserte-form{max-width:none}
}

@media(max-width:650px){
  .iserte-header{min-height:88px;padding:20px 20px}
  .iserte-brand{width:145px;max-width:42vw}
  .iserte-nav{display:none}
  .iserte-hero{min-height:620px;padding:78px 22px 70px}
  .iserte-hero h1{font-size:clamp(3rem,14vw,5rem);line-height:.9;margin:20px 0 25px}
  .iserte-hero p{font-size:1rem}
  .iserte-button{width:100%;text-align:center}
  .iserte-section,.iserte-about,.iserte-contact{padding-left:22px;padding-right:22px}
  .iserte-section-intro{margin-bottom:50px}
  .iserte-photo{min-height:260px}
  .iserte-service-copy{padding:25px 22px 32px}
  .iserte-form{grid-template-columns:1fr}
  .iserte-form label:nth-of-type(1),.iserte-form label:nth-of-type(5),.iserte-form .iserte-consent{grid-column:auto}
  .iserte-form .iserte-button{grid-column:auto;width:100%}
  .iserte-footer{padding:30px 22px;flex-direction:column}
}

/* ISERTE v4 — strict black/white palette and no theme colour bleed */
.iserte-site .iserte-hero h1,
.iserte-site .iserte-section h2,
.iserte-site .iserte-about h2,
.iserte-site .iserte-contact h2,
.iserte-site .iserte-service h3 { color:#f7f7f5 !important; }
.iserte-site .iserte-section-intro > span,
.iserte-site .iserte-about > div > span,
.iserte-site .iserte-contact-heading > span,
.iserte-site .iserte-kicker { color:#d0d0ca !important; }
.iserte-site .iserte-section { border-top:1px solid rgba(255,255,255,.16); }
.iserte-site .iserte-service-copy p { color:#c9c9c2 !important; }
.iserte-site .iserte-header,
.iserte-site .iserte-about,
.iserte-site .iserte-contact,
.iserte-site .iserte-footer { background:#070707 !important; }


/* ISERTE v5 — proportions plus compactes et présentation entreprise */
.iserte-site { background:#070707 !important; color:#f7f7f5 !important; }
.iserte-site .iserte-header,
.iserte-site .iserte-hero,
.iserte-site .iserte-section,
.iserte-site .iserte-about,
.iserte-site .iserte-contact,
.iserte-site .iserte-footer { background:#070707 !important; }
.iserte-site .iserte-logo-image { background:#070707 !important; display:block; }
.iserte-site .iserte-brand { width:190px; max-width:24vw; }
.iserte-site .iserte-header { min-height:88px; padding:18px clamp(24px,5vw,70px); }
.iserte-site .iserte-nav { font-size:.68rem; gap:clamp(20px,2.6vw,38px); }
.iserte-site .iserte-hero { min-height:620px; padding:clamp(70px,8vw,105px) clamp(24px,7vw,100px) clamp(65px,8vw,100px); }
.iserte-site .iserte-hero h1 { color:#f7f7f5 !important; font-size:clamp(3rem,5vw,5.7rem) !important; line-height:.92 !important; max-width:1000px !important; margin:18px 0 24px !important; }
.iserte-site .iserte-hero p { max-width:700px; font-size:1rem; color:#d4d4ce !important; }
.iserte-site .iserte-button { margin-top:26px; padding:13px 19px; font-size:.68rem; }
.iserte-site .iserte-section { padding:clamp(65px,8vw,105px) clamp(24px,6vw,90px); }
.iserte-site .iserte-section-intro { max-width:1050px; margin:0 auto 50px; }
.iserte-site .iserte-section h2 { font-size:clamp(2rem,3.5vw,3.7rem) !important; line-height:1 !important; color:#f7f7f5 !important; }
.iserte-site .iserte-services { max-width:1200px; }
.iserte-site .iserte-service { min-height:450px; }
.iserte-site .iserte-photo { min-height:270px; }
.iserte-site .iserte-service-copy { padding:24px 28px 30px; }
.iserte-site .iserte-service h3 { font-size:clamp(1.35rem,1.8vw,1.8rem); }
.iserte-site .iserte-service p { font-size:.92rem; }
.iserte-site .iserte-about { max-width:1500px; padding:clamp(70px,8vw,115px) clamp(24px,6vw,90px); gap:7vw; }
.iserte-site .iserte-about h2 { font-size:clamp(2rem,3.5vw,3.8rem) !important; line-height:1 !important; color:#f7f7f5 !important; }
.iserte-site .iserte-about p { font-size:1rem; color:#d4d4ce !important; }
.iserte-site .iserte-contact { padding:clamp(70px,8vw,115px) clamp(24px,6vw,90px); gap:7vw; }
.iserte-site .iserte-contact h2 { font-size:clamp(2.3rem,4vw,4.5rem) !important; line-height:.95 !important; color:#f7f7f5 !important; }
.iserte-site .iserte-form { gap:18px 22px; }
@media(max-width:900px){
  .iserte-site .iserte-brand { width:165px; max-width:30vw; }
  .iserte-site .iserte-hero { min-height:560px; }
  .iserte-site .iserte-service { min-height:0; }
}
@media(max-width:650px){
  .iserte-site .iserte-brand { width:145px; max-width:45vw; }
  .iserte-site .iserte-header { min-height:78px; padding:17px 20px; }
  .iserte-site .iserte-hero { min-height:540px; padding:68px 22px 60px; }
  .iserte-site .iserte-hero h1 { font-size:clamp(2.65rem,12vw,4.3rem) !important; }
  .iserte-site .iserte-section h2,
  .iserte-site .iserte-about h2 { font-size:clamp(1.9rem,9vw,3rem) !important; }
  .iserte-site .iserte-contact h2 { font-size:clamp(2.2rem,10vw,3.5rem) !important; }
}


/* ISERTE v6 — typographie éditoriale plus fine, titres compacts, palette uniforme */
.iserte-site,
.iserte-site .iserte-header,
.iserte-site .iserte-hero,
.iserte-site .iserte-section,
.iserte-site .iserte-about,
.iserte-site .iserte-contact,
.iserte-site .iserte-footer { background:#070707 !important; }

.iserte-site .iserte-hero h1,
.iserte-site .iserte-section h2,
.iserte-site .iserte-about h2,
.iserte-site .iserte-contact h2,
.iserte-site .iserte-service h3 {
  color:#f5f3ee !important;
  font-family:"Bodoni 72","Bodoni MT","Didot","Iowan Old Style",Georgia,"Times New Roman",serif !important;
  font-weight:400 !important;
}

.iserte-site .iserte-hero h1{
  font-size:clamp(2.65rem,4.1vw,4.9rem) !important;
  line-height:.94 !important;
  letter-spacing:-.018em !important;
  max-width:900px !important;
  margin:16px 0 22px !important;
}

.iserte-site .iserte-hero p{
  max-width:690px !important;
  font-size:1rem !important;
  line-height:1.65 !important;
  color:#d2d0ca !important;
}

.iserte-site .iserte-section h2,
.iserte-site .iserte-about h2{
  font-size:clamp(1.65rem,2.4vw,2.75rem) !important;
  line-height:1.03 !important;
  letter-spacing:-.012em !important;
}

.iserte-site .iserte-contact h2{
  font-size:clamp(1.65rem,2.2vw,2.55rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.012em !important;
  margin:14px 0 22px !important;
}

.iserte-site .iserte-about p{
  font-size:.98rem !important;
  line-height:1.75 !important;
  color:#d2d0ca !important;
  white-space:pre-line;
}

.iserte-site .iserte-contact-heading p{
  font-size:.88rem !important;
  line-height:1.6 !important;
}

.iserte-site .iserte-kicker,
.iserte-site .iserte-section-intro > span,
.iserte-site .iserte-about > div > span,
.iserte-site .iserte-contact-heading > span{
  color:#bdbab3 !important;
  font-size:.66rem !important;
  letter-spacing:.2em !important;
}

.iserte-site .iserte-service h3{font-size:clamp(1.25rem,1.6vw,1.6rem) !important;}
.iserte-site .iserte-service p{font-size:.88rem !important;line-height:1.55 !important;}

.iserte-site .iserte-header{min-height:82px !important;padding:16px clamp(24px,5vw,70px) !important;}
.iserte-site .iserte-brand{width:175px !important;max-width:22vw !important;background:#070707 !important;}
.iserte-site .iserte-logo-image{background:#070707 !important;}

@media(max-width:650px){
  .iserte-site .iserte-brand{width:140px !important;max-width:45vw !important;}
  .iserte-site .iserte-hero h1{font-size:clamp(2.35rem,10.5vw,3.6rem) !important;}
  .iserte-site .iserte-contact h2{font-size:clamp(1.8rem,8vw,2.6rem) !important;}
  .iserte-site .iserte-about h2{font-size:clamp(1.7rem,7.5vw,2.45rem) !important;}
}
