/* === Fonts locales (dossier /fnt) === */
@font-face {
  font-family: "Caviar Dreams";
  src: url("../fnt/CaviarDreams.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Caviar Dreams";
  src: url("../fnt/CaviarDreams_Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Caviar Dreams";
  src: url("../fnt/CaviarDreams_Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Caviar Dreams";
  src: url("../fnt/CaviarDreams_BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Chopin Script";
  src: url("../fnt/ChopinScript.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-ExtraLightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fnt/Montserrat-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
/* === CHOPIN THIN === */
@font-face {
  font-family: "Chopin";
  src: url("../fnt/Chopin-Thin.woff2") format("woff2"),
       url("../fnt/Chopin-Thin.woff") format("woff"),
       url("../fnt/chopin-thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Chopin";
  src: url("../fnt/Chopin-Thin-italic.woff2") format("woff2"),
       url("../fnt/Chopin-Thin-italic.woff") format("woff"),
       url("../fnt/chopin-thin-italic.otf") format("opentype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* === CHOPIN LIGHT === */
@font-face {
  font-family: "Chopin";
  src: url("../fnt/Chopin-Light.woff2") format("woff2"),
       url("../fnt/Chopin-Light.woff") format("woff"),
       url("../fnt/chopin-light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Chopin";
  src: url("../fnt/Chopin-Light-italic.woff2") format("woff2"),
       url("../fnt/Chopin-Light-italic.woff") format("woff"),
       url("../fnt/chopin-light-italic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* === CHOPIN REGULAR === */
@font-face {
  font-family: "Chopin";
  src: url("../fnt/Chopin-Regular.woff2") format("woff2"),
       url("../fnt/Chopin-Regular.woff") format("woff"),
       url("../fnt/chopin-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Chopin";
  src: url("../fnt/chopin-Regular-italic.woff2") format("woff2"),
       url("../fnt/chopin-Regular-italic.woff") format("woff"),
       url("../fnt/chopin-regular-italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* === CHOPIN MEDIUM === */
@font-face {
  font-family: "Chopin";
  src: url("../fnt/Chopin-Medium.woff2") format("woff2"),
       url("../fnt/Chopin-Medium.woff") format("woff"),
       url("../fnt/chopin-medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Chopin";
  src: url("../fnt/Chopin-Medium-italic.woff2") format("woff2"),
       url("../fnt/Chopin-Medium-italic.woff") format("woff"),
       url("../fnt/chopin-medium-italic.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "FeelingPassionate";
  src: url("../fnt/FeelingPassionate.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root{
  /* Couleurs charte (CMYK -> HEX approx) */
  /* --barkus-900:#1A7D4D; */
  /* --barkus-700:#46B98B; */
  /* --barkus-400:#70E0BF; */
  /* --barkus-300:#85E0D4; */
  
  --barkus-900:#136B62;
  --barkus-700:#479593;
  --barkus-400:#70B4BC;
  --barkus-300:#84BAC9;
  
  --color_0: 255, 255, 255;
  --color_1: 255, 255, 255;
  --color_2: 0, 0, 0;
  --color_3: 237, 28, 36;
  --color_4: 0, 136, 203;
  --color_5: 255, 203, 5;
  --color_6: 114, 114, 114;
  --color_7: 176, 176, 176;
  --color_8: 255, 255, 255;
  --color_9: 114, 114, 114;
  --color_10: 176, 176, 176;
  --color_11: 255, 255, 255;
  --color_12: 167, 214, 230;
  --color_13: 128, 128, 128;
  --color_14: 0, 0, 0;
  --color_15: 0, 0, 0;
  --color_16: 246, 169, 168;
  --color_17: 249, 111, 108;
  --color_18: 70, 93, 85;
  --color_19: 153, 9, 7;
  --color_20: 76, 5, 4;
  --color_21: 228, 236, 242;
  --color_22: 137, 189, 203;
  --color_23: 77, 102, 133;
  --color_24: 167, 214, 230;
  --color_25: 70, 93, 85;
  --color_26: 184, 227, 249;
  --color_27: 148, 210, 243;
  --color_28: 52, 173, 237;
  --color_29: 35, 115, 158;
  --color_30: 17, 58, 79;
  --color_31: 198, 239, 217;
  --color_32: 166, 223, 192;
  --color_33: 101, 207, 149;
  --color_34: 67, 138, 99;
  --color_35: 34, 69, 50;
  --color_36: 255, 255, 255;
  --color_37: 0, 0, 0;
  --color_38: 191, 191, 191;
  --color_39: 128, 128, 128;
  --color_40: 64, 64, 64;
  --color_41: 51, 131, 128;
  --color_42: 137, 189, 203;
  --color_43: 70, 93, 85;
  --color_44: 167, 214, 230;
  --color_45: 0, 0, 0;
  --color_46: 0, 0, 0;
  --color_47: 51, 131, 128;
  --color_48: 51, 131, 128;
  --color_49: 51, 131, 128;
  --color_50: 0, 0, 0;
  --color_51: 0, 0, 0;
  --color_52: 51, 131, 128;
  --color_53: 51, 131, 128;
  --color_54: 128, 128, 128;
  --color_55: 128, 128, 128;
  --color_56: 255, 255, 255;
  --color_57: 0, 0, 0;
  --color_58: 51, 131, 128;
  --color_59: 51, 131, 128;
  --color_60: 51, 131, 128;
  --color_61: 51, 131, 128;
  --color_62: 0, 0, 0;
  --color_63: 255, 255, 255;
  --color_64: 128, 128, 128;
  --color_65: 128, 128, 128;

  --txt:250,250,250;
  --fill-layer-image-opacity: 0.7;
  --bg-overlay-color: rgba(var(--color_41), 0.91);

  /* Neutres */
  --ink:#1f2a2e;
  --muted:var(--barkus-700);
  --bg:#ffffff;
  --panel:#f2f6f6;
  --line:rgba(0,0,0,.08);
  --shadow: 0 18px 45px rgba(0,0,0,.10);
  --radius: 14px;
  --max: 1200px;
  --nav: 1600px;

  /* Typo */
  --font-body: "Caviar Dreams", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-brand:"Chopin", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-Montserrat:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --fnt: normal 300 normal 17px / 1.4em var(--font-brand);

  --font_0: normal 300 normal 72px/1.4em var(--font-brand);   /* Light */
  --font_1: normal 300 normal 16px/1.4em var(--font-brand);   /* Light */
  --font_2: normal 300 normal 40px/1.4em var(--font-brand);   /* Light */
  --font_3: normal 300 normal 26px/1.4em var(--font-brand);   /* Light */
  --font_4: normal 300 normal 19px/1.4em var(--font-brand);   /* Light */
  --font_5: normal 300 normal 18px/1.4em var(--font-brand);   /* Light */
  
  --font_6: normal 500 normal 14px/1.4em var(--font-brand);   /* Medium */
  --font_7: normal 500 normal 18px/1.4em var(--font-brand);   /* Medium */
  --font_8: normal 500 normal 16px/1.4em var(--font-brand);   /* Medium */
  
  --font_9: normal 400 normal 14px/1.4em var(--font-brand);   /* Regular */
  --font_10: normal 400 normal 12px/1.4em var(--font-brand);  /* Regular */
  
  --font_11: normal normal bold 38px/1.4em Arial;                   /* Arial */
  --font_12: normal normal 600 18px/1.4em var(--font-Montserrat);   /* Montserrat */
  
  
  
  
  
  /* Transition */
  --trans1: border-color 0.4s ease 0s, background-color 0.4s ease 0s;
  --trans2: color 0.4s ease 0s;

  --textTransform: uppercase;
}

*{ box-sizing:border-box; }

html,body{ margin:0; padding:0; }

body{
  font-family:var(--font-brand);
  color:var(--ink);
  /* background:var(--bg); */
  line-height:1.5;
  background-image: url("../img/background_01.avif");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed; /* l’image ne bouge pas */


/* background: linear-gradient( rgba(var(--color_41), 0.4), /* couleur du voile + transparence */ rgba(0, 0, 0, 0.4) ), url("../img/background_01.avif"); */
}

a{ color:inherit; text-decoration:none; }

/* img{ max-width:100%; display:block; } */

.container.nav img {
  width: clamp(80px, 10vw, 150px);
  height: auto;
  display:block;
}

.container {
  width:min(var(--max), calc(100% - 2.2rem));
  margin-inline:auto;
  /* border: 1px dashed green; */
}
.container.nav {
  width:min(var(--nav), calc(100% - 2.2rem));
  margin-inline:auto;
  /* border: 1px dashed red; */
}

/* Header / Nav */
header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}


.brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width: 220px;
}
.brand img{ width:46px; height:46px; object-fit:contain; }

.name{
  font: var(--fnt);
  font-size: clamp(1rem, 4.2vw, 4.2rem);
  white-space:nowrap;
  color: rgb(var(--color_41));
  width: 390px;
}

.name-central{
  display: none;
  font: var(--fnt);
  font-size: clamp(1rem, 7.2vw, 8.2rem);
  white-space:nowrap;
  color: rgb(var(--color_41));
}

.nav{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.9rem 0;
  gap:1rem;
}

.container.nav {
  display: flex;
  align-items: center;      /* aligne verticalement */
  justify-content: space-between; /* espace entre les éléments */
  gap: 20px;                /* optionnel : espace entre les blocs */
}

#mainnav{
  font: var(--fnt);
  width: 390px;
}

#mainnav ul {
  display: flex;
  list-style: none;
  gap: 20px;                /* espace entre les liens */
  margin: 0;
  padding: 0;
  margin-left: 50px;
}

nav ul{
  list-style:none;
  display:flex;
  gap:1.25rem;
  align-items:center;
  margin:0;
  padding:0;
}


nav a {
  font-family: var(--font-brand);
  /* font-weight: 600; */
  letter-spacing: .10em;
  color: var(--muted);
  padding: 0 .25rem;
  border-bottom: 2px solid transparent;
  transition: border-color .25s ease, color .25s ease;
}

nav a:hover {
  color: var(--barkus-900);
  border-bottom-color: var(--color_41);
}

nav a.active {
  color: var(--barkus-900);
  border-bottom-color: var(--barkus-700);
}


.nav-right{ display:flex; align-items:center; gap:.75rem; }
.logoMark{ width:42px; height:42px; opacity:.9; }

.burger{
  display:none;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:.55rem .65rem;
  cursor:pointer;
}
.burger span{
  display:block;
  width:22px; height:2px;
  background:rgba(0,0,0,.55);
  margin:4px 0;
  border-radius:2px;
}

/* Hero */
.hero{
  position: relative;
  min-height: 64vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: transparent;
}

.hero::before {
  content: none;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.hero-inner{ position:relative; text-align:center; padding: 5.5rem 0 5rem; }

.hero-title{
  font-family:var(--font-brand);
  font-weight:300;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#ffffff;
  font-size: clamp(4rem, 9vw, 10rem);
  margin:0 0 .65rem 0;
  text-shadow: 0 10px 30px rgba(0,0,0,.20);
}

.hero-sub {
  font-family: var(--font-brand);
  font-weight: 300;
  letter-spacing: .3em;
  /* text-transform: uppercase; */
  /* color: rgba(255,255,255,.90); */
  color: rgb(var(--color_11));
  font-size: 1.21rem;
  margin: 0 0 1.25rem 0;
  text-shadow: 0 10px 30px rgba(0,0,0,.18);
}


/*
     .btn{
      border: 0;
      border-radius: 999px;
      padding: 10px 18px;
      cursor: pointer;
      font: inherit;
      background: rgba(18,120,120,.95);
      color: #fff;
    }
    .btn:hover{ filter: brightness(.96); } 
*/

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  border:1px solid rgba(var(--color_42),.65);
  /* background: rgba(26,125,77,.85); */
  /* background: #398784; */
  background:rgba(var(--color_41),.65);
  color:#fff;
  padding: .45rem 0.85rem;
  border-radius:999px;
  font-family:var(--font_5);
  font-weight:200;
  letter-spacing:.08em;
  /* text-transform:uppercase; */
  /* transition: transform .15s ease, background .15s ease, border-color .15s ease; */
  transition: var(--trans1);
  box-shadow: 0 14px 28px rgba(0,0,0,.14);
  cursor: pointer!important;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  /* border: 1px solid rgba(var(--color_42),.65); */
  /* background: rgba(26,125,77,.85); */
  /* background: #398784; */
  background: rgba(var(--color_41),.65);
  color: #fff;
  padding: .4rem 0.95rem;
  border-radius: 18px;
  /* font-size: var(--font_5); */
  font: var(--font_5);
  /* font-weight: 200; */
  font-size: 16px;
  letter-spacing: .068em;
  /* text-transform: uppercase; */
  /* transition: transform .15s ease, background .15s ease, border-color .15s ease; */
  transition: var(--trans1);
  box-shadow: 0 14px 28px rgba(0,0,0,.14);
  cursor: pointer!important;
  margin: 0 10px;
  width: 175px;
}


.btn:hover {
    background: #2d6f6c;
}





.section-title{
  text-align:center;
  padding: 3.2rem 0 1.4rem;
  font-family:var(--font-brand);
  font-weight:200;
  letter-spacing:.00em;
  /* color:var(--barkus-900); */
  color: rgb(var(--color_41));
  font-size: clamp(1.8rem, 3.6vw, 3.6rem);
  margin:0;
  background: #f7fafb;
}

/* =========================
   SERVICES
========================= */

.services {
  position: relative;
   padding: 10rem 0 8rem;
  overflow: hidden;
}

.services::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(
      0deg,
      rgba(var(--color_41), 0.72),
      rgba(var(--color_41), 0.72)
    ),
    url("../img/background_03.avif") center/cover no-repeat;
  transform: scale(1.02);
}

.services-boxed {
  position: relative;
  z-index: 1;
  padding: 0 20px;
}

.services-box {
  max-width: 920px;
  margin: 0 auto;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.services-box__header {
  text-align: center;
  margin: 0 0 2.5rem;
}

.services-box__title {
  position: relative;
  z-index: 2;
  display: block;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 2.4vw, 2.8rem);
  font-weight: 300;
  line-height: 1.1;
  opacity: 1;
}

/* grille */
.cards {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 1.4rem;
  margin-top: 0;
  margin-bottom: 1rem;
  align-items: stretch;
}

/* wrappers simplifiés */
.service-card-wrap {
  min-height: unset;
  display: block;
  padding-top: 0;
}

.card-link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.card {
  background: rgba(255,255,255,.96);
  border-radius: 20px;
   padding: 1.5rem 1.25rem 1.25rem;
  min-height: 215px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  transition: transform .22s ease, box-shadow .22s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 30px rgba(0,0,0,.12);
}

/* neutralise les anciennes règles de hauteur */
.cards > div,
.cards > div article,
.card-link .card {
  height: auto;
  min-height: unset;
  margin-top: 0;
}

/* titres */
.services-box .card h3.service-title-marker {
  font-family: "FeelingPassionate", cursive !important;
  font-size: 2.1rem !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgb(var(--color_41)) !important;
  text-align: center !important;
  margin: 0 0 0.8rem !important;
  display: block !important;
  min-height: auto !important;
}

.service-title-marker--small {
  font-size: 1.8rem !important;
  line-height: 1 !important;
}

/* rotations plus discrètes */
.services-box .service-card-wrap:nth-child(1) .card h3.service-title-marker {
  transform: rotate(-2deg) !important;
}
.services-box .service-card-wrap:nth-child(2) .card h3.service-title-marker {
  transform: rotate(2deg) !important;
}
.services-box .service-card-wrap:nth-child(3) .card h3.service-title-marker {
  transform: rotate(-1deg) !important;
}
.services-box .service-card-wrap:nth-child(4) .card h3.service-title-marker {
  transform: rotate(1deg) !important;
}

/* texte */
.card p {
  margin: 0.4rem 0 0;
  text-align: center;
  color: rgb(var(--color_15));
  font-weight: 500;
  line-height: 1.65;
  font-size: 1rem;
}



@media (max-width: 900px) {
  .services-box {
    max-width: 760px;
    padding: 1.6rem;
  }

  .cards {
    grid-template-columns: 1fr;
  }

  .card {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .services {
    padding: 3.5rem 0 2.5rem;
  }

  .services-boxed {
    padding: 0;
  }

  .services-box {
  max-width: 100%;
  padding: 1.2rem 0;
  border-radius: 20px;
  overflow: hidden;
}

  .services-box__header {
    margin: 0 0 1rem;
    text-align: center;
  }

 .cards {
  display: flex !important;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 14px;
  padding: 0 0 0 12px;
  margin: 0;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  align-items: stretch;
}

  .cards::-webkit-scrollbar {
    display: none;
  }

 .service-card-wrap {
  flex: 0 0 80%;
  min-width: 80%;
  max-width: 80%;
  width: 80%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
  margin: 0;
  scroll-snap-align: start;
  box-sizing: border-box;
  min-height: 240px;
  max-height: 240px;
}

.card-link {
  display: flex;
  width: 100%;
  height: 240px;
  min-height: 240px;
  max-height: 240px;
}

 .card {
  width: 100%;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  margin: 0;
  padding: 14px 10px !important;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  border-radius: 20px;
  overflow: hidden;
}

  .services-box .card h3.service-title-marker,
  .service-title-marker--small {
    font-size: 1.65rem !important;
    line-height: 1 !important;
    margin: 0 0 0.7rem !important;
    min-height: 60px !important;
    max-height: 60px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: none !important;
  }

 .card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.38;
  text-align: center;
  overflow: hidden;
}
}












/* === TILES === */

.tiles {
  background: transparent;
}
.tiles .container {
  padding: 2.6rem 0 3.0rem;
}
.tiles-head {
  text-align: center;
  letter-spacing: 0.3em;
  margin: 0 0 1.25rem;
  color: rgba(var(--color_15),.85);
  font: var(--fnt,var(--font_5));
  font-weight: 400;
  transition: var(--trans,color .4s ease 0s);
  white-space: nowrap;
  text-transform: var(--textTransform,"none");
}

/* Grille des tiles */
.tile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 420px));
  gap: 2rem;
  justify-content: center;
  width: 100%;
}


/* Une tile */
.tile {
  width: 100%;
  position: relative;
  aspect-ratio: 14.6 / 9;
  overflow: hidden;
  box-shadow: var(--shadow);
  display: grid;
  place-items: center;
  text-decoration: none;
  z-index: 0;
}


/* Image de fond + overlay */
.tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Overlay supplémentaire (optionnel) */
.tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: transparent;
  transition: background .15s ease;
}


.tile h2{
  margin:0;
  font-family:var(--font-brand);
  font-weight:300;
  letter-spacing:.10em;
  transition: color .75s ease;
  color: rgba(255,255,255,.94);
  font-size: clamp(1.5rem, 4.5vw, 4.5rem);
  text-shadow: 0 14px 28px rgba(0,0,0,.18);
}

.tile h2:hover{
  color: var(--corvid-hover-color, rgb(var(--txth, var(--color_15, color_15))));
}


/* === TILE ACHAT === */

/* Image de fond */
/* .tile--achat::before { */
  /* content: ""; */
  /* position: absolute; */
  /* inset: 0; */
  /* background-image: url("../img/image_01.avif"); */
  /* background-size: cover; */
  /* background-position: center; */
  /* background-repeat: no-repeat; */
  /* z-index: 0; */
/* } */
.tile--achat::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/image_01.avif");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* background: linear-gradient( rgba(var(--color_41), 0.4)), url(../img/image_01.avif); */
    z-index: 0;
}

/* Voile semi-transparent */
.tile--achat::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(var(--color_42), var(--fill-layer-image-opacity));
  z-index: 1;
}



/* === TILE LOCATION === */

.tile--location::before{ background-image:url("../img/image_02.avif"); }

/* Contenu au-dessus */
.tile > * {
  position: relative;
  z-index: 2;
}




/* Footer */
footer{ background: #eaf1f2; border-top: 1px solid var(--line); }
.footer-top{ padding: 2.2rem 0 1.2rem; text-align:center; }

.footer-tag {
    font-family: var(--font-brand);
    /* font-weight: 400; */
    /* letter-spacing: .18em; */
    /* text-transform: uppercase; */
    /* font-size: .78rem; */
    color: rgba(0,0,0,.65);
    margin: 0 auto 1.8rem;
    letter-spacing: 0.3em;
    width: 60%;
}

.footer-tag span {
  font-weight: 900;
}

.footer-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:1.2rem;
  padding-bottom: 1.2rem;
  align-items:start;
}

/* .footer-grid { */
  /* justify-content: center; */
  /* align-items: flex-start; */
  /* gap: 40px; */
  /* flex-wrap: nowrap; */
  /* text-align: center; */
/* } */


.foot-item{ display:grid; justify-items:center; gap:.65rem; color:#3e5157; }
.foot-item .label{ font-family:var(--font-brand); font-weight:700; /* text-transform:uppercase; */ letter-spacing:.06em; }
.foot-item .val a,
.foot-item .val .footer-text{
  font-size: inherit;
  line-height: 1.4;
  color: inherit;
  text-decoration: none;
}

.foot-item .val{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  min-height:44px;
}

.foot-item .val a,
.foot-item .val .footer-text{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}






.foot-item{
  display:grid;
  justify-items:center;
  align-content:start;
  gap:.65rem;
  color:#3e5157;
}

.foot-item .val{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
}

.foot-item .val a,
.foot-item .val .footer-text{
  display:block;
  line-height:1.4;
}

.footer-text--social{
  display: inline-block;
  position: relative;
  top: 7px;
}











.icon{ width:46px; height:46px; color:var(--barkus-900); opacity:.9; }

.footer-bottom{
  background: rgb(var(--color_44));
  padding: 1.05rem 0;
}

.footer-top-wrap {
  background: #ffffff;
}

.footer-top {
  background: #ffffff;
}





.bottom-row {
    display: grid;
    grid-template-columns:  1fr;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}


.bottom-row .mini{ display:flex; gap:1.4rem; align-items:center; color:rgba(0,0,0,.45); font-size:.95rem; }


/* .bottom-row .center{ */
  /* display:flex; align-items:center; gap:.6rem; */
  /* color:rgba(0,0,0,.50); */
  /* font-family:var(--font-brand); */
  /* letter-spacing:.14em; */
  /* font-weight:300; */
  /* text-transform:uppercase; */
  /* font-size:.95rem; */
/* } */

.bottom-row .center {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: rgba(0,0,0,.50);
    font-family: var(--font-brand);
    letter-spacing: .14em;
    font-weight: 300;
    text-transform: uppercase;
    font-size: .95rem;
    flex-direction: column;
    flex-wrap: nowrap;
}


.bottom-row .center img {
    width: 25%;
    opacity: .9;
}

.center span {
  font: var(--font_3);
  color: var(--color_7);
}

.social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
}

.social a{
  width:46px;
  height:46px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: transform .15s ease, background .15s ease;
}

.social .icon{
  width:46px;
  height:46px;
  display:block;
}
.social-instagram .icon{
  width: 44px;
  height: 38px;
}



.footer-bottom .bottom-row {
    display: flex;
    /* justify-content: space-between; */
    /* align-items: center; */
    /* position: relative; */
    flex-direction: column;
}

.footer-bottom .legal-link a {
  font-size: 0.9rem;
  color: #000; /* noir pour cohérence */
  text-decoration: none;
  opacity: 0.8;
}

.footer-bottom .legal-link a:hover {
  opacity: 1;
  text-decoration: underline;
}


/* === PAGE CONTACT === */

main { display:block; }

.page-hero{
  position: relative;
  min-height: 170px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    linear-gradient(90deg, rgba(15,33,38,.75), rgba(15,33,38,.35)),
    url("../img/background_04.avif");
  /* background: url("../img/background_04.avif"); */
  opacity: var(--fill-layer-image-opacity);
  background-size: cover;
  background-position: center;
  color: #fff;
  background-color: rgba(var(--color_42), var(--fill-layer-image-opacity));
}


.page-hero{
    /* --fill-layer-image-opacity: 0.31; */
    /* --bg-overlay-color: rgba(var(--color_41), 0.73); */
    /* --bg-gradient: none; */
/*     min-width: 980px */;

    background-color: rgba(var(--color_42), var(--fill-layer-image-opacity));
}

.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--color_41), 0.45);
    pointer-events: none;
}

/* .page-hero h1{ */
  /* margin: 0; */
  /* padding: 56px 16px; */
  /* letter-spacing: .35em; */
  /* text-transform: uppercase; */
  /* font-weight: 300; */
  /* font-size: clamp(22px, 3.2vw, 36px); */
/* } */


.page-hero h1 {
    margin: 0;
    font-family: var(--font-brand);
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: .10em;
    transition: color .75s ease;
    color: rgba(255,255,255,.94);
    font-size: clamp(1.5rem, 3.2vw, 4.5rem);
    text-shadow: 0 14px 28px rgba(0,0,0,.18);
    z-index: 2;
}

.contact-wrap{ padding: 56px 0; }
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 44px;
  align-items:start;
}
.contact-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 22px;
  background: rgba(255,255,255,.9);
}
.contact-list {
    font: var(--font_3);
    display: grid;
    color: var(--barkus-900);
    /* font-size: 24px; */
    font-size: clamp(1.2rem, 1.4vw, 1.4rem);
    gap: 40px;
    font-weight: 400;
}
.contact-item {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 18px;
  align-items: center;
}

.contact-item .icon {
  width: 32px;
  height: 32px;
  display: block;
}

.contact-item .muted {
  opacity: .75;
  font-size: .95rem;
}

.contact-item a {
  text-decoration: none;
}

.contact-item svg[aria-hidden="true"] {
  overflow: visible;
}

.contact-item a[aria-label="Facebook"] .icon {
  width: 38px;
  height: 38px;
  margin-left: -3px;
}

.contact-form .row2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.estimation-wrap{ padding: 56px 0; }
.estimation-grid {
    display: grid;
    grid-template-columns: .5fr;
    gap: 44px;
    align-items: start;
    justify-content: center;
}
.estimation-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 22px;
  background: rgba(255,255,255,.9);
}
.estimation-list {
    font: var(--font_3);
    display: grid;
    color: var(--barkus-900);
    /* font-size: 24px; */
    font-size: clamp(1.2rem, 1.4vw, 1.4rem);
    gap: 40px;
    font-weight: 400;
}
.estimation-item{ display:grid; grid-template-columns: 22px 1fr; gap: 32px; align-items:center; }
.estimation-item .muted{ opacity:.75; font-size: .95rem; }
.estimation-item a{ text-decoration: none; }

.estimation-form .row2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.estimation-title{
  font: var(--fnt, var(--font_5));
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.3em;
  color: #007b8b;
  transition: var(--trans, color .4s ease 0s);
  text-transform: var(--textTransform, none);
  display: block;
  margin-bottom: 10px;
  font-size: 36px !important;
  line-height: 1.2;
}

.estimation-intro{
	text-align: center;
  line-height: 1.6;
    width: 100%;
}





.field{ display:grid; gap: 6px; margin-bottom: 14px; }
.field label{ font-size: .92rem; opacity:.85; }
.field input, .field textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,.25);
  border-radius: 6px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
  outline: none;
}
.field textarea{ min-height: 140px; resize: vertical; }

.form-actions{
  display:flex;
  justify-content:flex-end;
  gap: 12px;
  align-items:center;
  margin-top: 6px;
}

.field input:not([type="checkbox"]):not([type="radio"]),
.field textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,.25);
  border-radius: 6px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
  outline: none;
}

.consent-line {
  display: flex;
  align-items: center;
  gap: 10px;
}

.consent-line input[type="checkbox"] {
  margin: 0;
  width: auto;
  height: auto;
  flex: 0 0 auto;
}

.consent-line label {
  margin: 0;
  cursor: pointer;
}


.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.map-section{ 
   
    background-color: #007b8ba6;
    padding: 40px 0;
} 
 .map-wrap{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  min-height: 100%;
}

.map-wrap iframe{
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
  display: block;
}

.map-review-grid {
  display: grid;
  grid-template-columns: 1.4fr .95fr;
  gap: 28px;
  align-items: stretch;
}

.google-review-box {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.google-review-head h2 {
  margin: 0 0 8px;
    text-align: center;
    letter-spacing: 0.3em;
    color: #007b8b;
    font: var(--fnt, var(--font_5));
    font-weight: 400;
    transition: var(--trans, color .4s ease 0s);
    white-space: nowrap;
    text-transform: var(--textTransform, "none");
}

.google-review-rating {
  margin: 0 0 18px;
  font-size: .98rem;
  opacity: .85;
}

.google-review-list {
  display: grid;
  gap: 16px;
  margin: 14px 0 20px;
}

.google-review-item {
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.05);
}

.google-review-item p {
  margin: 0 0 8px;
}

.google-review-stars {
  letter-spacing: .12em;
  font-size: 1rem;
}

.google-review-author {
  margin-bottom: 0;
  opacity: .7;
  font-size: .92rem;
}

.google-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.btn-outline {
  background: transparent;
  color: inherit;
  border: 1px solid rgba(0,0,0,.15);
}

@media (max-width: 900px) {
  .map-review-grid {
    grid-template-columns: 1fr;
  }
}


/* === PAGE VENTE === */

.vente-wrap{
  padding: 46px 0 70px;
}

.vente-intro{
  text-align: center;
  margin-bottom: 34px;
}

.vente-intro p{
  max-width: 900px;
  margin: 0 auto 18px;
  font: var(--font_5);
  color: rgba(var(--color_15), .85);
  line-height: 1.8;
}

.vente-actions{
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.vente-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: -20px;
}

.vente-grid-3{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}

.vente-card,
.vente-block{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
}

.vente-block{
  padding: 28px;
  margin-bottom: 20px;
   margin-top: 20px;
}

.vente-card{
  padding: 26px 22px;
  text-align: center;
}

.vente-block h2,
.vente-card h3{
  color: rgb(var(--color_41));
  margin-top: 0;
}

.vente-block h2{
  font: var(--font_2);
  margin-bottom: 16px;
  text-align: center;
}

.vente-card h3{
  font: var(--font_3);
  margin-bottom: 10px;
}

.vente-block p,
.vente-card p,
.vente-list li,
.vente-faq p{
  font-family: var(--font-Montserrat);
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(var(--color_15), .82);
}

.vente-list{
  margin: 16px 0 0;
  padding-left: 1.2rem;
}

.vente-list li{
  margin-bottom: 8px;
}

.vente-steps{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 22px;
}

.vente-step{
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(0,0,0,.08);
  border-left: 4px solid rgb(var(--color_41));
  border-radius: 16px;
  padding: 20px 20px 18px;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

.vente-step .num{
  display: inline-block;
  margin-bottom: 8px;
  font: var(--font_8);
  color: var(--barkus-700);
  letter-spacing: .08em;
}

.vente-step h3{
  margin: 0 0 8px;
  color: rgb(var(--color_41));
  font: var(--font_3);
}

.vente-highlight{
  text-align: center;
  background: linear-gradient(0deg, rgba(var(--color_41), .90), rgba(var(--color_41), .90));
  color: white;
}

.vente-highlight h2,
.vente-highlight p{
  color: white;
}

.vente-highlight p{
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.vente-faq-item{
  padding: 18px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.vente-faq-item:last-child{
  border-bottom: none;
  padding-bottom: 0;
}

.vente-faq-item h3{
  margin: 0 0 10px;
  color: rgb(var(--color_41));
  font: var(--font_3);
}

.vente-mini-note{
  text-align: center;
  margin-top: 14px;
  color: rgba(var(--color_15), .65);
  font: var(--font_9);
}


.page-back {

  margin: 20px auto 10px;

}

 

.back-btn {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 10px 14px;

  border: 1px solid #d9d9d9;

  border-radius: 22px;

  background: #fff;

  color: #007b8b;

  text-decoration: none;

  font-size: 12px;

  font-weight: 600;

  transition: background 0.2s ease, transform 0.2s ease;

}

 

.back-btn:hover {

  background: #f5f5f5;

  transform: translateX(-2px);

}

 

.back-btn:focus {

  outline: 2px solid #999;

  outline-offset: 2px;

}




/* Page vente */
#etapes-vente {
  margin-bottom: 50px;
}

#etapes-expertise {
  margin-bottom: 50px;
}

#etapes-location {
  margin-bottom: 50px;
}

#etapes-cession {
  margin-bottom: 50px;
}

/* === PAGES A VENDRE  A LOUER === */

.ib-title, .ib-price, .ib-loc, .ib-meta, .ib-btn{
  position:relative;
  text-align:center;
  z-index:1;             /* le texte passe au-dessus */
}

.ib-wrap{max-width:1100px;margin:0 auto;padding:0 16px; color: rgb(var(--color_41));}
.ib-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 26px}
/* .ib-tag{display:inline-flex;align-items:center;gap:8px;padding:2px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;text-decoration:none;color:inherit;font-size:14px} */
.ib-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 15px;
    border-radius: 999px;
    border: 1px solid rgb(96 125 139 / 47%);
    background: #f7f9f9;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    font-size: 20px;
}



/* .ib-tag { */
    /* display: inline-flex; */
    /* align-items: center; */
    /* gap: 8px; */
    /* padding: 6px 15px; */
    /* border-radius: 999px; */
    /* border: 1px solid rgba(0,0,0,.12); */
    /* background: #fff; */
    /* cursor: pointer; */
    /* text-decoration: none; */
    /* color: inherit; */
    /* font-size: 20px; */
/* } */

.ib-tag.is-active{border-color:rgba(0,0,0,.35);font-weight:600}
.ib-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;padding-bottom:26px}
.ib-grid .ib-meta span{margin-left: -15px; }
.ib-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.12);/* max-width: 50% */;margin: auto;}
.ib-media{position:relative;aspect-ratio:4/3;background:#eee}
.ib-media img{width:100%;height:100%;object-fit:cover;display:block}
/* .ib-badge{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700} */
.ib-body{padding:14px 14px 16px; padding-top: 12px;}
/* .ib-body h2{ */
  /* height: 60px; */
/* } */

.ib-title {
  margin: 0 0 8px;
  font-weight: 400;
  /* font-size: 18px; */
  line-height: 1.25;
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* aligne le contenu en bas */
  height: 60px; /* hauteur fixe ou min-height */
  /* border: 1px solid #ccc; */
}

.ib-title--multi {
  /* exemple */
  margin: -15px 0 25px;
}

/* .ib-price{color: rgba(var(--color_15),.5);font-size:28px;font-weight:500;margin:0 0 10px; text-shadow: rgba(0, 0, 0, 0.3) 0px 4px 5px;} */
/* .ib-price { */
  /* color: rgba(var(--color_15),.5); */
  /* margin-top: 10px; */
  /* text-shadow: rgba(0, 0, 0, 0.3) 0px 4px 5px; */
/* } */

.ib-price {color: rgba(var(--color_15),.5);font-size:28px;font-weight:500;margin:0 0 10px; text-shadow: rgba(0, 0, 0, 0.3) 0px 4px 5px;}

.ib-price span {font: var(--font_6); margin-bottom: -12px; text-shadow: none; }

.ib-price p {
  font-size: 30px;
  font-weight: 500;
  margin: 0px 0 15px;
}
.ib-loc {
  opacity: 1.00;
  font-size: 14px;
  margin: 0 0 10px;
  text-align: left;
}
.ib-loc span{
  font-weight: bold;
}
                                    .ib-meta{
                                      display:flex;
                                      gap:24px;
                                      flex-wrap:wrap;
                                      opacity:1.00;
                                      /* font-size:14px; */
                                      margin:0 0 14px;
                                    }

.ib-meta {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    opacity: 1.00;
    /* font-size: 14px; */
    margin: 7px 0 7px 15px;
    align-content: space-between;
    align-items: center;
}



.ib-btn {
  display: inline-block;
  margin-top: 20px;
  padding: 5px 20px;
  border-radius: 999px;
  background: rgba(var(--color_41),.85);
  text-decoration: none;
  color: rgba(var(--color_11), .8);
  font-weight: 400;
  transition: var(--trans1);
}
.ib-btn:hover {
    background: rgb(var(--color_15));
}
.ib-badge-mid {
  width: max-content;
  margin: -18px auto 0;
  padding: 2px 14px;
  background: rgba(255,255,255,.95);
  border: 2px solid rgba(var(--color_41),.452);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  position: relative;
  z-index: 2;
  font: var(--font_1);
  color: rgba(var(--color_15),.5);
  letter-spacing: 0em;
  font-size: 20px;
  font-weight: 500;
  /* letter-spacing: .04em; */
  text-shadow: rgba(0, 0, 0, 0.4) 0px 4px 5px;
}

.ib-row {
  display: grid;
  /* color: rgba(var(--color_15),.8); */
  grid-template-columns: 30% 1fr; /* icône à gauche, texte à droite */ 
  gap: 8px;
  align-items: center;
  margin-bottom: 6px;
  max-height: 46px;
  /* justify-content: end; */ /* aligne toute la ligne à droite */
}
.ib-row.rv {
  align-items: end;
}
.ib-row .icon {
  width: 35px;
  /* height: 25px; */
  /* color: rgba(var(--color_15),.9); */
  opacity: .6;
  justify-self: end;
}

.ib-row p {
  margin-top: 10px;
  line-height: 1.3;
}

.ib-body{ position:relative; text-align: center; }

.ib-peb {
    position: absolute;
    right: 15px;
    bottom: 78px;
    width: 92px;
    height: auto;
    opacity: .80;
    pointer-events: none;
    z-index: 0;
}

.ib-hr {
  border: none;
  height: 1px;
  width: 50%;
  background-color: rgb(var(--color_42));
  margin: 10px auto 0px;
}

.ib-detail-grid .ib-row {
  color: rgba(var(--color_15),.8);
  grid-template-columns: 10% 1fr; /* icône à gauche, texte à droite */ 
}
.ib-detail-grid .ib-row.rv {
  margin: -7px 0;
}
.ib-detail-grid .ib-row .icon {
  height: 25px;
  color: rgba(var(--color_15),.9);
}
.ib-detail-grid .ib-row.rv .icon {
    height: 20px;
}
.ib-detail-grid .ib-row p {
  margin: 10px 0 0px;
}
.ib-detail-grid hr {
  border: none;
  height: 1px;
  width: 93%;
  background-color: rgb(var(--color_42));
  margin: 40px auto 10px;
}

.ib-detail-grid .ib-panel .ib-row span {
  font-weight: 500;
}

.ib-detail-grid .ib-panel .ib-price span {
  font-weight: 500;
}
.ib-detail-grid .ib-panel .ib-meta {
  align-items: end;
  margin-top: 0px;
  gap: 5px;
  line-height: 25px;
}
.ib-detail-grid .ib-panel .ib-meta span {
  font-weight: 400;
  margin-top: -9px;
  margin-right: 20px;
}
.ib-detail-grid .ib-panel .ib-meta svg {
  margin-left: 25px;
}
.ib-detail-grid .ib-panel .ib-loc span {
  font-weight: 500;
}
.ib-detail-grid .ib-price {
  font-weight: 500;
  font-size: 30px;
  line-height: 36px;
  margin: 0px 0 10px;
}

/*  <style>                                                                                                                                                                                                                    */
/*    .ib-wrap{max-width:1100px;margin:0 auto;padding:0 16px}                                                                                                                                                                  */
/*    .ib-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 26px}                                                                                                                                 */
/*    .ib-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;text-decoration:none;color:inherit;font-size:14px}           */
/*    .ib-tag.is-active{border-color:rgba(0,0,0,.35);font-weight:600}                                                                                                                                                          */
/*    .ib-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;padding-bottom:26px}                                                                                                             */
/*    .ib-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.12)}                                                                                                                      */
/*    .ib-media{position:relative;aspect-ratio:4/3;background:#eee}                                                                                                                                                            */
/*    .ib-media img{width:100%;height:100%;object-fit:cover;display:block}                                                                                                                                                     */
/*    .ib-badge{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}                                    */
/*    .ib-body{padding:14px 14px 16px}                                                                                                                                                                                         */
/*    .ib-title{margin:0 0 8px;font-size:18px;line-height:1.25}                                                                                                                                                                */
/*    .ib-price{font-size:20px;font-weight:800;margin:0 0 10px}                                                                                                                                                                */
/*    .ib-loc{opacity:.75;font-size:13px;margin:0 0 10px}                                                                                                                                                                      */
/*    .ib-meta{display:flex;gap:14px;flex-wrap:wrap;opacity:.8;font-size:13px;margin:0 0 14px}                                                                                                                                 */
/*    .ib-btn{display:inline-block;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.06);text-decoration:none;color:inherit;font-weight:600}                                                                        */
/*  </style>                                                                                                                                                                                                                   */


/*     .ib-wrap{max-width:1100px;margin:0 auto;padding:0 16px} */
.ib-detail-title {
  font-size: 44px;
  line-height: 1.05;
  text-align: center;
  margin: 26px 0 18px;
  color: #2a7f7c;
  font-weight: 500;
}
    .ib-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}


    .ib-gallery{background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(0,0,0,.12);padding:14px}
    .ib-main{position:relative;border-radius:14px;overflow:hidden;background:#eee;cursor:pointer}
    .ib-main img{width:100%;height:auto;display:block}
    .ib-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
    .ib-thumbs button{border:0;background:transparent;padding:0;cursor:pointer}
    .ib-thumbs img{width:74px;height:54px;object-fit:cover;border-radius:10px;opacity:.8}
    .ib-thumbs img.is-active{opacity:1;outline:2px solid rgba(0,0,0,.25)}
.ib-panel {
  position: relative;
  background: #fff;
  color: rgba(var(--color_15),.8);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
  padding: 18px;
  overflow: hidden;
}
/*     .ib-price{font-size:34px;font-weight:800;margin:6px 0 14px} */
/*     .ib-loc{opacity:.8;margin:0 0 12px} */
/*     .ib-meta{display:flex;gap:16px;flex-wrap:wrap;opacity:.85;margin:0 0 14px} */
    .ib-desc{background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(0,0,0,.12);padding:18px;margin:18px 0 28px}

    .ib-back{display:inline-block;margin:14px 0 0;text-decoration:none;opacity:.75;color: rgb(var(--color_15));}
    .ib-back:hover{opacity:1}

/* Watermark PEB dans le panneau */
.ib-peb-detail {
    position: absolute!important;
    right: 30px;
    bottom: 103px;
    width: 80px;
    height: auto;
    opacity: .80;
    pointer-events: none;
    z-index: 0;
}
    .ib-panel *{ position:relative; z-index:1; }

    /* Lightbox */
    .ib-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;z-index:9999}
    .ib-lightbox.is-open{display:flex}
    .ib-lightbox-inner{max-width:92vw;max-height:92vh;position:relative}
    .ib-lightbox-inner img{max-width:92vw;max-height:92vh;display:block;border-radius:12px}
    .ib-lb-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.2);color:#fff;
               width:44px;height:44px;border-radius:999px;cursor:pointer;font-size:22px}
    .ib-lb-prev{left:-56px}
    .ib-lb-next{right:-56px}
    .ib-lb-close{top:-56px;right:0;transform:none}



.ib-share {
  position: absolute;
  bottom: 6px;
  right: 12px;
} 
.ib-share img{width:44px;height:44px;}


.ib-estimation-link-wrap{
  text-align:center;
  margin-top: 30px;
}

.ib-estimation-link-wrap.large {
    display: none;
    position: fixed;
    background: #fff;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    padding: 3px 32px;
    z-index: 999;
}

.ib-estimation-link{
  display:inline-block;
  font: var(--fnt);
  font-size: 1.1rem;
  font-weight: 300;
 color: #ffffff;
  background: var(--barkus-700);
  padding: 10px 18px;
  border-radius: 40px;
  text-decoration: none;
  transition: all .25s ease;
}

.ib-estimation-link:hover{
  color: var(--barkus-900);
  border-bottom-color: currentColor;
}



/* Responsive */


.sr-only{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

@media (max-width: 900px){
  /* .contact-grid{ grid-template-columns: 1fr; } */
    
  .contact-grid {
    display: flex;
    flex-direction: column-reverse;
  }
  .contact-form .row2{ grid-template-columns: 1fr; }
  .page-hero h1{ letter-spacing: .25em; }
  .ib-detail-grid{grid-template-columns:1fr} .ib-detail-title{font-size:34px}

  .ib-share img{width:44px;height:44px;}
  .vente-grid,
  .vente-grid-3,
  .vente-steps{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
	
  .burger{ display:inline-block; }

  .name {
    display: none;
  }
  .name-central {
    display:block;
  }
  .btn {
    font-weight: 300;
	margin: 5px;
  }

 /* NAV MOBILE — caché par défaut */
#mainnav {
  position: absolute;
  top: 35px;
  right: 0px;
  width: 160px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
  padding: .35rem 0;
  overflow: hidden;
  z-index: 9999;

  display: none;
}

#mainnav.open {
  display: block;
}

#mainnav ul {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 0;
  gap: 0;
  list-style: none;
}

#mainnav li {
  width: 100%;
  text-align: left;
}

#mainnav a {
  display: block;
  width: 100%;
  padding: .95rem 1.2rem;
  text-decoration: none;
  text-align: left;
  border-bottom: 1px solid rgba(0,0,0,.06);
  background: transparent;
}

#mainnav li:last-child a {
  border-bottom: none;
}

#mainnav a:hover {
  background: rgba(var(--color_41), .06);
}

#mainnav a.active {
  background: rgba(var(--color_41), .10);
}







  /* nav{ */
    /* position:fixed; */
    /* inset: 68px 0 auto 0; */
    /* background: rgba(255,255,255,.47); */
    /* border-bottom: 1px solid var(--line); */
    /* transform: translateY(-150%); */
    /* transition: transform .18s ease; */
  /* } */

  nav {
      position: absolute;
      top: 100%;        /* sous le header */
      right: 0;         /* aligné à droite */
      width: 220px;     /* largeur du menu mobile */
      background: rgba(255,255,255,.95);
      border-left: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 1rem 0;
  }

  nav.open{ transform: translateY(25%); }




  /* nav ul{ */
    /* flex-direction:column; */
    /* align-items:flex-start; */
    /* gap:0; */
    /* width:min(var(--max), calc(100% - 2.2rem)); */
    /* margin:0 auto; */
    /* padding: .8rem 0 1rem; */
  /* } */

  /* nav ul { */
      /* flex-direction: column; */
      /* align-items: flex-end; /* aligne à droite */ */
      /* width: 100%; */
  /* } */



  /* nav li{ */
	/* width:100%; */
    /* padding-left: 50%; */
	/* background:rgba(var(--color_41),.9); */
	/* z-index: 1000; */
  /* } */
  /* nav a{ */
	/* display:block; */
    /* width:100%;  */
	/* padding:.85rem .2rem; */
	/* padding-left: 30%; */
	/* border-bottom:1px solid var(--line); */
	/* font-weight: 500; */
	/* color: #eee; */
  /* } */

  /* nav li { */
      /* width: 100%; */
      /* text-align: right; */
      /* background: rgba(var(--color_41), .9); */
  /* } */
  
  /* nav a { */
      /* display: block; */
      /* width: 100%; */
      /* padding: .85rem 1.2rem; /* padding normal */ */
      /* border-bottom: 1px solid var(--line); */
      /* color: #eee; */
  /* } */





  nav a.active{
	/* border-bottom:2px solid var(--barkus-900); */
	 color: rgb(var(--color_41));
    border-bottom: 2px solid rgb(var(--color_41));
    font-weight: 700;
  }



  .nav-right .logoMark{ display:none; }

  .hero-inner{ padding: 4.8rem 0 4.2rem; }

  .cards {
    grid-template-columns: 1fr;
    max-width: 80%;
    margin: auto;
	gap: 50px;
  }
  

  
  
  
  
  

  .tile-grid {
    /* grid-template-columns: 1fr; */
	grid-template-columns: 40% 40%;
    row-gap: 1.2rem;
  }

  .bottom-row{

  }

  .bottom-row{
    display:flex;
    flex-direction: column;
	align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
  }

  .bottom-row .center img {
      width: 20%;
  }


  .ib-lb-prev{left:10px}
  .ib-lb-next{right:10px}


   .ib-nav-block{
    display: block;
  }

 header .ib-estimation-link-wrap{
  display: none !important;
}

.ib-estimation-link-wrap.large{
  display: block !important;
  position: static !important;
  width: 100%;
  max-width: 100%;
  margin: 12px auto 18px;
  padding: 0 14px;
  text-align: center;
  background: transparent;
  z-index: auto;
}

.ib-estimation-link-wrap.large .ib-estimation-link{
  display: inline-block;
  width: auto;
  max-width: 250px;
  padding: 7px 12px;
  font-size: 0.78rem;
  line-height: 1.25;
  border-radius: 22px;
  white-space: normal;
}

  .page-hero{
    margin-top: 0;
    padding-top: 0;
  }
}
 
  
  .estimation-grid {
    grid-template-columns: 1.95fr;
  }
    .vente-wrap{
    padding: 34px 0 50px;
  }

  .vente-block,
  .vente-card{
    padding: 22px 18px;
  }

  .vente-block h2{
    font-size: 2rem;
  }
}






@media (max-width: 420px){
  .ib-peb{ width:76px; opacity:.18; }
}

@media (max-width: 1px){

/* Tiles */
.tiles{  }
.tiles .container{ padding: 2.6rem 0 3.0rem; }
.tiles-head{
  text-align:center;
  /* font-family:var(--font-body); */
  /* font-weight:400; */
  letter-spacing:.28em;
  /* text-transform:uppercase; */
  /* color:rgba(0,0,0,.35); */
  /* font-size:.78rem; */
  margin:0 0 1.25rem;
  font:var(--font_7);
}

.tile-grid {
  display: grid;
  grid-template-columns: 50% 50%;
  column-gap: 5%;
  justify-content: center;
  width: 100%;
}

/* .tile { */
  /* position: relative; */
  /* aspect-ratio: 14.6 / 9; */
  /* border-radius: 18px; */
  /* overflow: hidden; */
  /* box-shadow: var(--shadow); */
  /* display: grid; */
  /* place-items: center; */
/* } */

/* .tile::before { */
  /* content: ""; */
  /* position: absolute; */
  /* inset: 0; */
  /* background-size: cover; */
  /* background-position: center; */
  /* background-repeat: no-repeat; */
  /* z-index: -2; */
/* } */


.tile {
  position: relative;
  aspect-ratio: 14.6 / 9;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--shadow);
  display: grid;
  place-items: center;
  z-index: 1;
}

.tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0; /* important */
}

.tile--achat::before { 
  --fill-layer-image-opacity: 0.29;
  --bg-overlay-color: rgba(var(--color_42), var(--fill-layer-image-opacity));
  --bg-gradient: none;

  background:
    var(--bg-gradient),
    var(--bg-overlay-color),
    url("../img/image_01.avif") center/cover no-repeat;
}

/* .tile-grid{ */
  /* display:grid; */
  /* grid-template-columns: repeat(2, 1fr); */
  /* border-radius: 18px; */
  /* overflow:hidden; */
  /* box-shadow: var(--shadow); */
  /* border:1px solid var(--line); */
  /* background: transparent; */
  /* border: none; /* optionnel */ */
/* } */


/* .tile { */
    /* position: relative; */
    /* min-height: 220px; */
    /* display: grid; */
    /* place-items: center; */
    /* isolation: isolate; */
    /* width: calc(100% - 80px - 80px); */
    /* height: 100%; */
    /* margin: 0 auto; */
/* } */


/* .tile::before{ */
  /* content:""; */
  /* position:absolute; inset:0; */
  /* background: center/cover no-repeat; */
  /* z-index:-2; */
/* } */
.tile::after{
  content:"";
  position:absolute; inset:0;
  /* background: rgba(70,185,139,.55); */
  z-index:-1;
  transition: background .15s ease;
}
.tile h2{
  margin:0;
  font-family:var(--font-brand);
  font-weight:300;
  letter-spacing:.10em;
  text-transform:uppercase;
  color: rgba(255,255,255,.94);
  font-size: clamp(2rem, 3vw, 3rem);
  text-shadow: 0 14px 28px rgba(0,0,0,.18);
}
.tile a{ position:absolute; inset:0; display:block; }

/* .tile--achat::before{  */
  /* --fill-layer-image-opacity: 0.29; */
  /* --bg-overlay-color: rgb(var(--color_42)); */
  /* --bg-gradient: none; */
  /* background: */
    /* var(--bg-gradient), */
    /* var(--bg-overlay-color), */
    /* url("../img/image_01.avif") center/cover no-repeat; */
              /* background-image:url("../img/image_01.avif"); */
  /* background-attachment: fixed; */
/* } */
.tile--location::before{ background-image:url("../img/image_02.avif"); }

/* .tile:hover::after{ background: rgba(26,125,77,.62); } */

}








@media (max-width: 760px){

  .map-section{
    padding: 24px 0;
  }

  .map-review-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .map-wrap{
    border-radius: 12px;
  }

  .map-wrap iframe{
    width: 100%;
    height: 260px;
    min-height: 260px;
    display: block;
  }

  .google-review-box{
    padding: 18px 14px;
    border-radius: 14px;
  }

  .google-review-head h2{
    white-space: normal;
    letter-spacing: 0.12em;
    font-size: 1.1rem;
    line-height: 1.35;
    text-align: center;
  }

  .google-review-list{
    gap: 12px;
    margin: 12px 0 16px;
  }

  .google-review-item{
    padding: 12px 12px;
  }

  .google-review-item p{
    font-size: 0.95rem;
    line-height: 1.5;
  }

  .google-review-author{
    font-size: 0.88rem;
  }

  .google-review-actions{
    flex-direction: column;
    gap: 10px;
  }

  .google-review-actions .btn,
  .google-review-actions .btn-outline{
    width: 100%;
    max-width: none;
    margin: 0;
    justify-content: center;
  }
}





@media (max-width: 760px){

  .footer-grid{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 26px;
    padding-bottom: 1rem;
  }

  .foot-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
    text-align: center;
    margin: 0;
  }

  .foot-item .icon{
    width: 26px;
    height: 26px;
    margin: 0;
  }

  .foot-item .label{
    display: none;
  }

  .foot-item .val{
    margin: 0;
    line-height: 1.45;
    font-size: 0.98rem;
    text-align: center;
  }
}






.footer-bottom,
.footer-legal,
.legal-links{
  width: 100%;
  text-align: center;

}

.footer-bottom a,
.footer-legal a,
.legal-links a{
  display: inline;
}






.hero-agent-bg {
  background: url("../img/background.avif") center center / cover no-repeat;
}

.home-agent {
  padding: 24px 0 28px;
}

.team-box {
  max-width: 940px;
  margin: 0 auto;
  padding: 18px 18px 14px;
  border-radius: 24px;
  background: rgba(255,255,255,0.40);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

.team-box__header {
  text-align: center;
  margin: 0 0 22px;
}


.team-box__title {
  margin: 0;
  font-family: var(--font-brand);
  font-size: clamp(1.5rem, 2.2vw, 2.3rem);
  font-weight: 300;
  line-height: 1;
  color: rgb(var(--color_41));
  opacity: .78;
}

.home-agent__grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.20);
  border-radius: 20px;
  background: rgba(255,255,255,0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  max-width: 100%;
  margin: 0 auto;
}

.home-agent__photo {
  display: flex;
  justify-content: center;
}

.home-agent__photo-frame {
  width: 100%;
  max-width: 220px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
  position: relative;
}

.home-agent__photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 22px;
  pointer-events: none;
}

.home-agent__photo-frame img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.home-agent__content {
  color: var(--ink);
}

.home-agent__eyebrow {
  margin: 0 0 10px;
  font-family: var(--font-Montserrat);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgb(var(--color_41));
}

.home-agent__name {
  margin: 0 0 6px;
  font-family: var(--font-brand);
  font-weight: 300;
  font-size: clamp(1.9rem, 3.2vw, 3.6rem);
  line-height: 1.05;
  color: rgb(var(--color_41));
}

.home-agent__title {
  margin: 0 0 22px;
  font-family: var(--font-Montserrat);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--muted);
}





.home-agent__text {
  margin: 0;
  max-width: 680px;
  font-family: var(--font-Montserrat);
  font-size: .98rem;
  line-height: 1.65;
  color: var(--ink);
  text-align: justify;
  text-justify: inter-word;
}

.home-agent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}



.home-agent__name--small {
  font-size: clamp(1.8rem, 3vw, 3rem);
}

.team-slider {
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  align-items: center;
  gap: 6px;
}

.team-slider__viewport {
  overflow: hidden;
}

.team-slider__track {
  display: flex;
  transition: transform .45s ease;
  will-change: transform;
}

.team-slide {
  min-width: 100%;
}

.team-slider__arrow {
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 999px;
  background: rgba(255,255,255,0.88);
  color: rgb(var(--color_41));
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.team-slider__arrow:hover {
  transform: scale(1.06);
  background: rgba(255,255,255,1);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.team-slider__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.team-slider__dot {
  width: 10px;
  height: 10px;
  border: none;
  border-radius: 999px;
  background: rgba(51,131,128,.25);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}

.team-slider__dot.is-active {
  background: rgb(var(--color_41));
  transform: scale(1.15);
}




.hero-agent-bg {
  min-height: calc(100vh - 160px);
  display: flex;
  flex-direction: column;
}

.hero {
  flex: 1;
  display: flex;
  align-items: center;
}

.hero-inner {
  width: 100%;
}













.btn-barkus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  padding: 13px 22px;
  border-radius: 999px;
  font-family: var(--font-Montserrat);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .04em;
  transition: .3s ease;
}

.btn-barkus--fill {
  background: rgb(var(--color_41));
  color: #fff;
  border: 1px solid rgb(var(--color_41));
}

.btn-barkus--fill:hover {
  background: var(--barkus-900);
  border-color: var(--barkus-900);
}

.btn-barkus--ghost {
  background: transparent;
  color: rgb(var(--color_41));
  border: 1px solid rgba(51,131,128,.35);
}

.btn-barkus--ghost:hover {
  background: rgba(51,131,128,.08);
  border-color: rgb(var(--color_41));
}

@media (max-width: 980px) {
  .home-agent__grid {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 26px;
  }

  .home-agent__photo-frame img {
    height: 440px;
  }

  .home-agent__content {
    text-align: center;
  }

  .home-agent__actions {
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .home-agent {
    padding: 28px 0 36px;
  }

  .team-box {
    padding: 14px 12px 16px;
    border-radius: 18px;
  }

  .team-box__header {
    margin-bottom: 14px;
  }

  .team-box__title {
    font-size: 2rem;
    line-height: 1.1;
  }

  .team-slider {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .team-slider__arrow {
    display: none;
  }

  .home-agent__grid {
    padding: 16px;
    gap: 18px;
    border-radius: 16px;
  }

  .home-agent__photo-frame {
    max-width: 100%;
    border-radius: 14px;
  }

  .home-agent__photo-frame img {
    height: 250px;
    object-fit: cover;
    object-position: center top;
  }

  .home-agent__content {
    text-align: center;
  }

  .home-agent__name {
    font-size: 2rem;
    line-height: 1.05;
    margin-bottom: 8px;
  }

  .home-agent__title {
    font-size: 0.95rem;
    line-height: 1.45;
    margin-bottom: 14px;
  }

  .home-agent__text {
    font-size: 0.95rem;
    line-height: 1.6;
    text-align: center;
  }

  .team-slider__dots {
    margin-top: 14px;
  }
  

.team-slider__viewport {
  touch-action: pan-y;
}
}










@media (max-width: 768px) {
  .page-hero {
    min-height: 130px;
    padding: 1rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .page-hero h1 {
    margin: 0;
    line-height: 1.1;
  }
}

@media (max-width: 768px) {
  .estimation-title {
  display: block;
  font-size: 1.3rem !important;
  line-height: 1.18 !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 0.45rem !important;
  text-align: center !important;
}

.estimation-subtitle {
  display: block;
}

  .estimation-intro,
  .estimation-card p,
  .estimation-form-card p,
  .estimate-card p {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 1rem !important;
    text-align: center !important;
  }

  .estimation-wrap,
  .estimation-section,
  .estimate-wrap {
    padding-top: 1.2rem !important;
  }

  .estimation-card,
  .estimation-form-card,
  .estimate-card {
    width: calc(100% - 2px) !important;
    margin: 0 auto !important;
    padding: 1.25rem 0.95rem !important;
    border-radius: 18px !important;
  }

  .row2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.8rem !important;
  }

  .field label {
    font-size: 0.95rem !important;
  }

  .field input,
  .field textarea,
  .field select {
    font-size: 0.95rem !important;
  }

  .form-actions {
    justify-content: center !important;
  }

  .btn,
  .form-actions .btn {
    width: 100%;
    max-width: 210px;
  }
  

}