
:root{
  --ink:#17130f;
  --ink-soft:#2d2721;
  --ivory:#f7f2e9;
  --ivory-2:#eee4d6;
  --paper:#fffdf8;
  --gold:#c69745;
  --gold-light:#efd58d;
  --gold-dark:#7f561f;
  --muted:#746b60;
  --line:rgba(57,45,31,.14);
  --line-dark:rgba(255,255,255,.11);
  --shadow:0 26px 80px rgba(39,29,17,.12);
  --shadow-soft:0 16px 50px rgba(39,29,17,.08);
  --radius:30px;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 86% 5%,rgba(210,167,87,.105),transparent 30rem),
    var(--ivory);
  font-family:var(--sans);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.is-locked,
body.menu-open{overflow:hidden}
a{color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:rgba(198,151,69,.27)}
.site-shell{min-height:100vh}
.container{width:min(1280px,calc(100% - 56px));margin-inline:auto}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--gold-dark);
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background:currentColor;
}
.display{
  margin:0;
  font-family:var(--serif);
  font-weight:500;
  line-height:.96;
  letter-spacing:-.045em;
}
.display em{
  color:var(--gold-dark);
  font-style:normal;
  font-weight:400;
}
.section-title{font-size:clamp(3rem,5.4vw,5.65rem)}
.lead{
  max-width:65ch;
  color:var(--muted);
  font-size:clamp(1rem,1.35vw,1.17rem);
  line-height:1.75;
}

.btn{
  min-height:52px;
  padding:0 24px;
  border:1px solid transparent;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-decoration:none;
  font-size:.82rem;
  font-weight:820;
  letter-spacing:.005em;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-large{min-height:58px;padding-inline:28px}
.btn-gold{
  color:#1b150d;
  background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dark));
  box-shadow:0 14px 32px rgba(153,104,36,.2);
}
.btn-gold:hover{box-shadow:0 19px 42px rgba(153,104,36,.28)}
.btn-dark{color:white;background:var(--ink)}
.btn-dark:hover{box-shadow:0 16px 35px rgba(23,19,15,.2)}
.btn-outline{
  border-color:rgba(24,19,15,.2);
  color:var(--ink);
  background:rgba(255,255,255,.34);
  backdrop-filter:blur(8px);
}
.btn-outline:hover{border-color:rgba(127,86,31,.4);background:rgba(255,255,255,.58)}
.btn-arrow{font-size:1rem;line-height:1}
.text-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  color:var(--ink);
  text-decoration:none;
  font-size:.8rem;
  font-weight:850;
}
.text-cta span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  transition:.25s ease;
}
.text-cta:hover span{
  transform:translateX(3px);
  border-color:var(--gold);
  background:#f2e7d4;
}

/* Loader */
.site-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(198,151,69,.12),transparent 25rem),
    #120f0c;
  transition:opacity .6s ease,visibility .6s ease;
}
.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.site-loader.is-instant{transition:none}
.loader-glow{
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(198,151,69,.1);
  filter:blur(120px);
}
.loader-inner{
  position:relative;
  width:min(390px,76vw);
  text-align:center;
  color:white;
}
.loader-logo{
  width:min(230px,55vw);
  max-height:320px;
  object-fit:contain;
  margin:0 auto 24px;
  filter:
    drop-shadow(0 18px 42px rgba(0,0,0,.35))
    drop-shadow(0 0 16px rgba(239,213,141,.12));
  animation:loaderFloat 1.4s ease-in-out infinite alternate;
}
.loader-track{
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.13);
}
.loader-progress{
  height:100%;
  width:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,transparent,var(--gold-light),transparent);
  animation:loading 1.2s cubic-bezier(.2,.7,.2,1) forwards;
}
.loader-label{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  margin-top:14px;
  color:rgba(255,255,255,.47);
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.loader-label i{
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--gold);
}
@keyframes loading{to{transform:scaleX(1)}}
@keyframes loaderFloat{to{transform:translateY(-4px)}}

/* Header */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  height:90px;
  transition:
    height .3s ease,
    background .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}
.site-header.is-scrolled{
  height:76px;
  border-bottom:1px solid var(--line);
  background:rgba(247,242,233,.9);
  backdrop-filter:blur(20px) saturate(1.1);
  box-shadow:0 10px 32px rgba(43,31,18,.04);
}
.header-progress{
  position:absolute;
  inset:auto 0 0;
  height:1px;
  overflow:hidden;
  background:transparent;
}
.header-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));
}
.header-inner{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
}
.brand img,
.brand .custom-logo{
  width:128px;
  max-height:72px;
  object-fit:contain;
  object-position:center;
  transition:width .3s ease;
}
.site-header.is-scrolled .brand img,
.site-header.is-scrolled .brand .custom-logo{width:112px}
.site-nav{
  display:flex;
  align-items:center;
  gap:26px;
}
.site-nav a{
  position:relative;
  color:rgba(23,19,15,.77);
  text-decoration:none;
  font-size:.78rem;
  font-weight:760;
  transition:color .25s ease;
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:4px;
  height:4px;
  border-radius:50%;
  transform:translateX(-50%) scale(0);
  background:var(--gold);
  transition:transform .25s ease;
}
.site-nav a:hover,
.site-nav a.is-active{color:var(--ink)}
.site-nav a:hover::after,
.site-nav a.is-active::after{transform:translateX(-50%) scale(1)}
.header-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.cart-pill{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  background:rgba(255,255,255,.42);
}
.cart-label{font-size:.72rem;font-weight:750}
.cart-count{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:white;
  background:var(--ink);
  font-size:.67rem;
}
.cart-total{font-size:.75rem}
.header-booking{min-height:46px;padding-inline:18px}
.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.62);
}
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after{
  width:18px;
  height:1px;
  display:block;
  position:relative;
  background:var(--ink);
  transition:.25s ease;
}
.menu-toggle span::before,
.menu-toggle span::after{
  content:"";
  position:absolute;
  left:0;
}
.menu-toggle span::before{top:-6px}
.menu-toggle span::after{top:6px}
.menu-open .menu-toggle span{background:transparent}
.menu-open .menu-toggle span::before{top:0;transform:rotate(45deg)}
.menu-open .menu-toggle span::after{top:0;transform:rotate(-45deg)}

/* Hero */
.hero{
  position:relative;
  min-height:100svh;
  display:grid;
  align-items:center;
  overflow:hidden;
  padding:138px 0 82px;
  background:
    linear-gradient(100deg,rgba(247,242,233,.99) 0%,rgba(247,242,233,.94) 44%,rgba(247,242,233,.28) 76%),
    radial-gradient(circle at 78% 43%,rgba(226,188,110,.44),transparent 23rem),
    linear-gradient(140deg,#f8f3ea,#deccb1);
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.14;
  background-image:
    linear-gradient(rgba(42,33,23,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(42,33,23,.09) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to right,transparent 20%,#000 68%,transparent 100%);
}
.hero::after{
  content:"";
  position:absolute;
  width:44vw;
  height:44vw;
  min-width:540px;
  min-height:540px;
  right:-9vw;
  top:20%;
  border:1px solid rgba(127,86,31,.12);
  border-radius:50%;
  pointer-events:none;
}
.hero-noise{
  position:absolute;
  inset:0;
  opacity:.055;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  gap:42px;
}
.hero-copy{
  max-width:760px;
  padding-bottom:18px;
}
.hero-location{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  color:var(--gold-dark);
  font-size:.68rem;
  font-weight:820;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-location-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 6px rgba(198,151,69,.12);
}
.hero h1{
  max-width:10.4ch;
  font-size:clamp(4.25rem,7.65vw,8.2rem);
}
.hero h1 em{display:block}
.hero-lead{max-width:650px;margin:28px 0 31px}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.hero-direct-booking{
  width:max-content;
  max-width:100%;
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  gap:8px;
  margin-top:18px;
  color:var(--muted);
  text-decoration:none;
  font-size:.72rem;
}
.hero-direct-booking strong{
  color:var(--ink);
  font-size:.72rem;
}
.hero-direct-booking span{
  transition:transform .25s ease;
}
.hero-direct-booking:hover span{transform:translate(2px,-2px)}
.hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-top:34px;
}
.hero-meta-item{
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:600;
}
.hero-meta-item i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 5px rgba(198,151,69,.1);
}
.hero-art{
  --hero-x:0px;
  --hero-y:0px;
  position:relative;
  min-height:670px;
  display:grid;
  place-items:center;
}
.hero-emblem-wrap{
  position:relative;
  z-index:3;
  transform:translate(var(--hero-x),var(--hero-y));
  transition:transform .22s ease-out;
}
.hero-emblem{
  width:min(445px,72vw);
  filter:
    drop-shadow(0 35px 55px rgba(103,67,21,.22))
    drop-shadow(0 0 16px rgba(239,213,141,.11));
}
.hero-emblem-halo{
  position:absolute;
  inset:10% 15%;
  z-index:-1;
  border-radius:50%;
  background:rgba(221,178,94,.2);
  filter:blur(68px);
}
.hero-orbit{
  position:absolute;
  border:1px solid rgba(130,89,32,.18);
  border-radius:50%;
}
.hero-orbit-main{
  width:min(590px,82vw);
  aspect-ratio:1;
  animation:orbit 24s linear infinite;
}
.hero-orbit-main::before,
.hero-orbit-main::after{
  content:"";
  position:absolute;
  border:1px solid rgba(130,89,32,.12);
  border-radius:50%;
}
.hero-orbit-main::before{inset:9%}
.hero-orbit-main::after{inset:22%}
.hero-orbit-small{
  width:min(420px,65vw);
  aspect-ratio:1;
  transform:rotate(16deg);
  border-style:dashed;
  opacity:.48;
}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero-light{
  position:absolute;
  z-index:1;
  left:5%;
  right:5%;
  top:49%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-light),transparent);
  transform:rotate(-8deg);
  animation:scan 5.3s ease-in-out infinite;
}
@keyframes scan{
  0%,100%{opacity:.08;transform:translateY(-88px) rotate(-8deg)}
  48%{opacity:.8;transform:translateY(80px) rotate(-8deg)}
}
.hero-chip{
  position:absolute;
  z-index:4;
  min-width:142px;
  display:grid;
  grid-template-columns:30px 1fr;
  grid-template-rows:auto auto;
  column-gap:8px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:17px;
  background:rgba(255,253,248,.68);
  backdrop-filter:blur(16px);
  box-shadow:0 16px 44px rgba(65,44,20,.1);
}
.hero-chip>span{
  grid-row:1/3;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--gold-dark);
  background:#efe3cf;
  font-family:var(--serif);
  font-size:.8rem;
}
.hero-chip strong{font-size:.71rem}
.hero-chip small{color:var(--muted);font-size:.64rem}
.hero-chip-one{left:3%;top:19%}
.hero-chip-two{right:0;top:39%}
.hero-chip-three{left:8%;bottom:18%}
.scroll-hint{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:3;
  display:grid;
  place-items:center;
  gap:7px;
  transform:translateX(-50%);
  color:var(--muted);
  text-decoration:none;
  font-size:.61rem;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.scroll-hint::after{
  content:"";
  width:1px;
  height:40px;
  background:linear-gradient(var(--gold),transparent);
}

/* Trust strip */
.trust-strip{
  position:relative;
  z-index:7;
  margin-top:-38px;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border-radius:25px;
  color:white;
  background:#17130f;
  box-shadow:0 24px 70px rgba(24,18,12,.21);
}
.trust-item{
  min-height:112px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:center;
  padding:24px 25px;
  border-right:1px solid rgba(255,255,255,.09);
}
.trust-item:last-child{border-right:0}
.trust-number{
  color:var(--gold-light);
  font-family:var(--serif);
  font-size:1rem;
}
.trust-item strong{
  display:block;
  margin-bottom:3px;
  font-family:var(--serif);
  font-size:1.13rem;
  font-weight:500;
  line-height:1.1;
}
.trust-item div>span{
  display:block;
  color:rgba(255,255,255,.48);
  font-size:.69rem;
  line-height:1.45;
}

/* Sections */
.section{padding:118px 0}
.section-head{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:72px;
  align-items:end;
  margin-bottom:60px;
}
.section-head-wide{grid-template-columns:1fr .82fr}
.section-head .lead{margin:0}
.section-side .lead{margin:0}
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .72s ease var(--reveal-delay,0ms),
    transform .72s ease var(--reveal-delay,0ms);
}
.reveal.is-visible{opacity:1;transform:none}

/* Prestations */
.service-section{padding-top:126px}
.service-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:13px;
}
.service-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:25px;
  border:1px solid var(--line);
  border-radius:25px;
  color:var(--ink);
  text-decoration:none;
  background:
    radial-gradient(circle at 90% 0%,rgba(198,151,69,.12),transparent 12rem),
    rgba(255,253,248,.76);
  transition:
    transform .3s ease,
    background .3s ease,
    box-shadow .3s ease,
    color .3s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  right:-105px;
  bottom:-125px;
  border:1px solid rgba(127,86,31,.15);
  border-radius:50%;
  transition:.35s ease;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-soft);
}
.service-card:hover::before{transform:scale(1.15)}
.service-card-featured{
  color:white;
  background:
    radial-gradient(circle at 78% 18%,rgba(239,213,141,.16),transparent 13rem),
    #17130f;
}
.service-card-featured::before{border-color:rgba(239,213,141,.18)}
.service-index{
  position:relative;
  z-index:2;
  color:var(--gold);
  font-family:var(--serif);
  font-size:1rem;
}
.service-card-copy{
  position:relative;
  z-index:2;
  margin-top:auto;
}
.service-card-copy>span{
  color:var(--gold-dark);
  font-size:.64rem;
  font-weight:820;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.service-card-featured .service-card-copy>span{color:var(--gold-light)}
.service-card h3{
  margin:7px 0 10px;
  font-family:var(--serif);
  font-size:2rem;
  font-weight:500;
  line-height:1;
}
.service-card p{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
.service-card-featured p{color:rgba(255,255,255,.5)}
.service-arrow{
  position:absolute;
  right:20px;
  top:19px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  transition:.25s ease;
}
.service-card-featured .service-arrow{border-color:rgba(255,255,255,.13)}
.service-card:hover .service-arrow{transform:translate(2px,2px);background:#efe3cf;color:var(--ink)}

/* Configurator */
.config-section{
  position:relative;
  overflow:hidden;
  padding:126px 0;
  color:white;
  background:#16120f;
}
.config-section::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.07;
  background-image:
    linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);
  background-size:74px 74px;
}
.config-glow{
  position:absolute;
  width:680px;
  height:680px;
  right:-180px;
  top:-180px;
  border-radius:50%;
  background:rgba(195,144,62,.12);
  filter:blur(110px);
}
.config-section .container{position:relative;z-index:2}
.config-section .eyebrow{color:var(--gold-light)}
.config-section .display em{color:var(--gold-light)}
.config-section .lead{color:rgba(255,255,255,.54)}
.config-head{margin-bottom:30px}
.config-how{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:22px;
}
.config-how div{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.025);
}
.config-how span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#20170b;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  font-family:var(--serif);
  font-size:.82rem;
}
.config-how strong{font-size:.73rem}
.config-missing{
  padding:34px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  background:rgba(255,255,255,.04);
}

/* Compatibility with Configurator plugin */
.config-section .el-config-shell{position:relative;z-index:2}
.config-section .el-planity-section{
  color:var(--ink);
  background:var(--paper);
}

/* Expertise */
.expertise-section{background:linear-gradient(180deg,var(--ivory),#f3ebdf)}
.expertise-layout{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:78px;
  align-items:center;
}
.expertise-visual{
  position:relative;
  min-height:650px;
  overflow:hidden;
  border-radius:36px;
  background:
    radial-gradient(circle at 50% 35%,rgba(238,211,149,.55),transparent 18rem),
    linear-gradient(145deg,#211b15,#0f0c0a);
  box-shadow:var(--shadow);
}
.expertise-visual::before{
  content:"";
  position:absolute;
  inset:30px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
}
.expertise-visual img{
  position:absolute;
  z-index:2;
  width:72%;
  left:14%;
  top:12%;
  filter:
    drop-shadow(0 30px 45px rgba(0,0,0,.34))
    drop-shadow(0 0 18px rgba(239,213,141,.1));
}
.expertise-ring{
  position:absolute;
  width:430px;
  height:430px;
  left:50%;
  top:42%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(239,213,141,.14);
  border-radius:50%;
}
.expertise-ring::before{
  content:"";
  position:absolute;
  inset:45px;
  border:1px solid rgba(239,213,141,.09);
  border-radius:50%;
}
.expertise-beam{
  position:absolute;
  z-index:1;
  left:5%;
  right:5%;
  top:44%;
  height:1px;
  transform:rotate(-10deg);
  background:linear-gradient(90deg,transparent,var(--gold-light),transparent);
  opacity:.55;
}
.expertise-signature{
  position:absolute;
  z-index:3;
  left:38px;
  right:38px;
  bottom:34px;
  color:white;
}
.expertise-signature>span{
  color:var(--gold-light);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.expertise-signature strong{
  display:block;
  max-width:13ch;
  margin-top:7px;
  font-family:var(--serif);
  font-size:2.4rem;
  font-weight:500;
  line-height:1;
}
.expertise-signature p{
  max-width:43ch;
  margin:12px 0 0;
  color:rgba(255,255,255,.5);
  font-size:.8rem;
}
.expertise-copy .lead{margin:24px 0 0}
.feature-list{display:grid;gap:0;margin-top:34px}
.feature{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:17px;
  padding:20px 0;
  border-top:1px solid var(--line);
}
.feature-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--gold-dark);
  background:#eee2cf;
  font-family:var(--serif);
}
.feature h3{
  margin:0;
  font-family:var(--serif);
  font-size:1.36rem;
  font-weight:600;
}
.feature p{
  max-width:52ch;
  margin:5px 0 0;
  color:var(--muted);
  font-size:.82rem;
}

/* Protocol */
.protocol{
  background:
    radial-gradient(circle at 10% 85%,rgba(198,151,69,.1),transparent 22rem),
    #eae0d2;
}
.protocol-track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.protocol-track::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:69px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(127,86,31,.2),transparent);
}
.protocol-card{
  position:relative;
  z-index:2;
  min-height:320px;
  padding:29px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:24px;
  background:rgba(255,255,255,.5);
  backdrop-filter:blur(8px);
  transition:.3s ease;
}
.protocol-card:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-soft);
}
.protocol-step{
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  margin-bottom:44px;
  border:1px solid rgba(127,86,31,.14);
  border-radius:50%;
  color:var(--gold-dark);
  background:#f3eadf;
  font-family:var(--serif);
  font-size:2.35rem;
  line-height:1;
}
.protocol-kicker{
  color:var(--gold-dark);
  font-size:.61rem;
  font-weight:820;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.protocol-card h3{
  margin:7px 0 9px;
  font-family:var(--serif);
  font-size:1.65rem;
  font-weight:600;
}
.protocol-card p{
  margin:0;
  color:var(--muted);
  font-size:.81rem;
}

/* Statement */
.statement{
  position:relative;
  overflow:hidden;
  padding:126px 0;
  color:white;
  text-align:center;
  background:#15110e;
}
.statement::before{
  content:"";
  position:absolute;
  width:600px;
  height:600px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(198,151,69,.08);
  filter:blur(90px);
}
.statement-orbit{
  position:absolute;
  width:720px;
  height:720px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(239,213,141,.08);
  border-radius:50%;
}
.statement-orbit::before,
.statement-orbit::after{
  content:"";
  position:absolute;
  border:1px solid rgba(239,213,141,.06);
  border-radius:50%;
}
.statement-orbit::before{inset:11%}
.statement-orbit::after{inset:25%}
.statement .container{position:relative;z-index:2}
.statement-kicker{
  display:block;
  margin-bottom:18px;
  color:var(--gold-light);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.statement p{
  max-width:1080px;
  margin:0 auto;
  font-family:var(--serif);
  font-size:clamp(3.1rem,6.7vw,7rem);
  font-weight:500;
  line-height:.95;
  letter-spacing:-.04em;
}
.statement em{color:var(--gold-light);font-style:normal}
.statement-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:30px;
  color:rgba(255,255,255,.66);
  text-decoration:none;
  font-size:.74rem;
  font-weight:800;
}
.statement-link span{color:var(--gold-light)}

/* Products */
.products-section{background:var(--ivory)}
.product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.product-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:white;
  transition:transform .3s ease,box-shadow .3s ease;
}
.product-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-soft);
}
.product-visual{
  position:relative;
  height:285px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,#f2eadf,#ddd0bd);
}
.product-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.product-card:hover .product-visual img{transform:scale(1.035)}
.product-tag{
  position:absolute;
  left:15px;
  top:15px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(9px);
  font-size:.58rem;
  font-weight:820;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.product-copy{padding:21px}
.product-copy h3{
  margin:0 0 7px;
  font-family:var(--serif);
  font-size:1.32rem;
  line-height:1.08;
}
.product-copy h3 a{text-decoration:none}
.product-copy p{
  min-height:39px;
  margin:0;
  color:var(--muted);
  font-size:.75rem;
}
.product-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.product-price{font-weight:900;font-size:.84rem}
.product-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--gold-dark);
  text-decoration:none;
  font-size:.69rem;
  font-weight:850;
}
.shop-coming{
  min-height:260px;
  display:grid;
  grid-template-columns:100px 1fr auto;
  gap:28px;
  align-items:center;
  padding:34px;
  border:1px solid var(--line);
  border-radius:28px;
  background:
    radial-gradient(circle at 87% 30%,rgba(198,151,69,.12),transparent 15rem),
    rgba(255,253,248,.78);
  box-shadow:var(--shadow-soft);
}
.shop-coming-icon{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--gold-dark);
  background:#efe3cf;
  font-family:var(--serif);
  font-size:1.5rem;
}
.shop-coming h3{
  margin:5px 0 7px;
  font-family:var(--serif);
  font-size:2.25rem;
  font-weight:500;
}
.shop-coming p{
  max-width:60ch;
  margin:0;
  color:var(--muted);
  font-size:.8rem;
}

/* FAQ */
.faq-section{background:#f3eadf}
.faq-layout{
  display:grid;
  grid-template-columns:.76fr 1.24fr;
  gap:78px;
}
.faq-intro{position:sticky;top:120px;align-self:start}
.faq-intro .lead{margin-top:22px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{
  width:100%;
  display:flex;
  justify-content:space-between;
  gap:22px;
  padding:24px 0;
  border:0;
  color:var(--ink);
  background:transparent;
  text-align:left;
  font-family:var(--serif);
  font-size:1.31rem;
  font-weight:600;
}
.faq-question span:last-child{
  flex:0 0 auto;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--gold-dark);
  font-family:var(--sans);
  font-size:1.15rem;
  font-weight:400;
  transition:.25s ease;
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .38s ease;
}
.faq-answer p{
  max-width:67ch;
  margin:0 0 24px;
  color:var(--muted);
  font-size:.86rem;
}
.faq-item.is-open .faq-answer{max-height:260px}
.faq-item.is-open .faq-question span:last-child{
  transform:rotate(45deg);
  border-color:rgba(198,151,69,.35);
  background:#eadcc5;
}

/* Location */
.location{
  background:
    radial-gradient(circle at 8% 20%,rgba(198,151,69,.09),transparent 22rem),
    #e6dbcc;
}
.location-grid{
  display:grid;
  grid-template-columns:1.04fr .96fr;
  overflow:hidden;
  border-radius:32px;
  background:white;
  box-shadow:var(--shadow);
}
.map-card{
  position:relative;
  min-height:610px;
  overflow:hidden;
  display:block;
  color:var(--ink);
  text-decoration:none;
  background:
    radial-gradient(circle at 50% 46%,rgba(198,151,69,.14),transparent 13rem),
    linear-gradient(145deg,#e8e1d6,#f3eee7);
}
.map-card::before,
.map-card::after{
  content:"";
  position:absolute;
  border:1px solid rgba(85,66,43,.08);
  border-radius:50%;
}
.map-card::before{width:420px;height:420px;left:-100px;top:-100px}
.map-card::after{width:330px;height:330px;right:-100px;bottom:-90px}
.map-road{
  position:absolute;
  height:10px;
  border-top:1px solid rgba(86,70,50,.17);
  border-bottom:1px solid rgba(255,255,255,.55);
  transform-origin:center;
}
.map-road-one{width:125%;left:-15%;top:38%;transform:rotate(-18deg)}
.map-road-two{width:120%;left:-8%;top:64%;transform:rotate(23deg)}
.map-road-three{width:90%;left:26%;top:49%;transform:rotate(78deg)}
.map-pin{
  position:absolute;
  left:52%;
  top:47%;
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%) rotate(-45deg);
  border-radius:50% 50% 50% 0;
  color:#21170b;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  box-shadow:0 20px 45px rgba(80,53,20,.24);
}
.map-pin span{
  transform:rotate(45deg);
  font-family:var(--serif);
  font-size:1.3rem;
}
.map-address-chip{
  position:absolute;
  z-index:3;
  left:28px;
  top:28px;
  max-width:310px;
  padding:14px 17px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:16px;
  background:rgba(255,253,248,.75);
  backdrop-filter:blur(12px);
  box-shadow:0 14px 36px rgba(52,39,24,.09);
}
.map-address-chip span{
  display:block;
  color:var(--gold-dark);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.map-address-chip strong{
  display:block;
  margin-top:3px;
  font-family:var(--serif);
  font-size:1rem;
  font-weight:600;
}
.map-cta{
  position:absolute;
  z-index:3;
  left:28px;
  bottom:28px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border-radius:999px;
  background:#17130f;
  color:white;
  font-size:.68rem;
  font-weight:780;
}
.map-cta b{color:var(--gold-light)}
.location-copy{padding:58px}
.location-copy h2{
  margin-top:10px;
  font-size:clamp(2.9rem,4.5vw,4.8rem);
}
.location-copy h2 em{color:var(--gold-dark);font-style:normal;font-weight:400}
.address{
  margin:22px 0 16px;
  font-family:var(--serif);
  font-size:1.33rem;
}
.location-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.location-badges span{
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:#faf6f0;
  font-size:.66rem;
  font-weight:750;
}
.hours{
  display:grid;
  gap:0;
  margin:26px 0 28px;
  border-top:1px solid var(--line);
}
.hour-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:8px 0;
  border-bottom:1px solid var(--line);
  font-size:.76rem;
}
.hour-row span{color:var(--muted)}
.hour-row strong{font-weight:800}
.hour-row strong.is-closed{color:#8b493e}

/* Contact */
.contact-section{background:var(--paper)}
.contact-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:76px;
}
.contact-copy .lead{margin-top:23px}
.contact-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  margin-top:31px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.contact-note-index{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--gold-dark);
  background:#efe3cf;
  font-family:var(--serif);
}
.contact-note p{
  max-width:42ch;
  margin:0;
  color:var(--muted);
  font-size:.77rem;
}
.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:27px;
  background:#faf6ef;
}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{
  color:var(--ink-soft);
  font-size:.68rem;
  font-weight:820;
}
.field input,
.field textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  outline:none;
  color:var(--ink);
  background:white;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.field input{min-height:50px}
.field input:focus,
.field textarea:focus{
  border-color:rgba(198,151,69,.65);
  box-shadow:0 0 0 4px rgba(198,151,69,.08);
}
.field textarea{min-height:140px;resize:vertical}
.form-submit{padding-top:5px}
.form-submit .btn{width:100%}
.form-feedback{
  margin-bottom:12px;
  padding:13px 16px;
  border-radius:13px;
  font-size:.78rem;
  font-weight:750;
}
.form-feedback.is-success{color:#365b36;background:#e6f0e4}
.form-feedback.is-error{color:#7b372d;background:#f3e1dc}

/* Footer */
.site-footer{
  padding:56px 0 22px;
  color:white;
  background:#12100d;
}
.footer-topline{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.38);
  font-size:.61rem;
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.footer-topline strong{
  color:var(--gold-light);
  font-weight:750;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.45fr .7fr .7fr .8fr;
  gap:50px;
  padding-top:43px;
}
.footer-brand{max-width:420px}
.footer-logo{
  width:178px;
  max-height:285px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.2));
}
.footer-copy{
  max-width:47ch;
  margin:16px 0 0;
  color:rgba(255,255,255,.47);
  font-size:.77rem;
}
.footer-booking{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:18px;
  color:var(--gold-light);
  text-decoration:none;
  font-size:.72rem;
  font-weight:820;
}
.footer-title{
  color:var(--gold-light);
  font-size:.61rem;
  font-weight:820;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.footer-links{
  display:grid;
  gap:9px;
  margin-top:15px;
}
.footer-links a{
  width:max-content;
  color:rgba(255,255,255,.58);
  text-decoration:none;
  font-size:.75rem;
  transition:.2s ease;
}
.footer-links a:hover{color:white;transform:translateX(2px)}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:42px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.3);
  font-size:.62rem;
}

/* Cart drawer */
.cart-drawer{
  position:fixed;
  inset:0;
  z-index:2000;
  visibility:hidden;
}
.cart-drawer.is-open{visibility:visible}
.cart-overlay{
  position:absolute;
  inset:0;
  opacity:0;
  background:rgba(12,9,6,.56);
  backdrop-filter:blur(3px);
  transition:.3s;
}
.cart-drawer.is-open .cart-overlay{opacity:1}
.cart-panel{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:min(440px,94vw);
  display:flex;
  flex-direction:column;
  padding:27px;
  transform:translateX(100%);
  background:#fffdf8;
  transition:.36s cubic-bezier(.2,.7,.2,1);
}
.cart-drawer.is-open .cart-panel{transform:none}
.cart-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.cart-eyebrow{
  color:var(--gold-dark);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.cart-head h3{
  margin:3px 0 0;
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:500;
}
.close-cart{
  width:40px;
  height:40px;
  border:1px solid var(--line);
  border-radius:50%;
  background:white;
  font-size:1.35rem;
}
.cart-list{
  display:grid;
  gap:10px;
  padding:21px 0;
  overflow:auto;
}
.cart-entry{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:12px;
  align-items:center;
  padding:11px;
  border:1px solid var(--line);
  border-radius:15px;
}
.cart-entry-image img{
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:10px;
  background:#eee5d8;
}
.cart-entry strong{
  display:block;
  font-family:var(--serif);
  font-size:1rem;
}
.cart-entry small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.68rem;
}
.cart-footer{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.cart-total-row{
  display:flex;
  justify-content:space-between;
  margin-bottom:14px;
  font-size:1rem;
}
.cart-footer .btn{width:100%}
.empty-cart{
  display:grid;
  gap:4px;
  padding:42px 12px;
  color:var(--muted);
  text-align:center;
}
.empty-cart span{
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.2rem;
}
.empty-cart small{font-size:.7rem}

/* Cookies */
.cookie-banner{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:1900;
  max-width:390px;
  display:none;
  padding:16px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  color:white;
  background:#17130f;
  box-shadow:var(--shadow);
}
.cookie-banner.is-visible{display:block}
.cookie-banner p{
  margin:0 0 11px;
  color:rgba(255,255,255,.58);
  font-size:.7rem;
}
.cookie-actions{display:flex;gap:7px}
.cookie-actions button{
  padding:8px 12px;
  border:0;
  border-radius:999px;
  color:white;
  background:rgba(255,255,255,.08);
  font-size:.65rem;
  font-weight:800;
}
.cookie-actions .btn-gold{color:#1b150d}

/* Mobile conversion bar */
.mobile-action-bar{display:none}

/* WooCommerce general integration */
.woocommerce-page .site-shell main,
.woocommerce .site-shell main{min-height:60vh}
.woocommerce-page main>.woocommerce,
.woocommerce main>.woocommerce{
  width:min(1280px,calc(100% - 56px));
  margin:120px auto 90px;
}

/* Tablet */
@media(max-width:1100px){
  .site-nav{
    display:none;
    position:fixed;
    inset:82px 18px auto;
    max-height:calc(100vh - 105px);
    overflow:auto;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:15px;
    border:1px solid var(--line);
    border-radius:22px;
    background:rgba(255,253,248,.96);
    backdrop-filter:blur(20px);
    box-shadow:var(--shadow);
  }
  .site-nav.is-open{display:flex}
  .site-nav a{
    padding:15px 10px;
    border-bottom:1px solid var(--line);
    font-family:var(--serif);
    font-size:1.2rem;
    font-weight:600;
  }
  .site-nav a:last-child{border-bottom:0}
  .site-nav a::after{display:none}
  .menu-toggle{display:grid}
  .header-booking{display:none}

  .hero-grid,
  .section-head,
  .expertise-layout,
  .faq-layout,
  .contact-grid{grid-template-columns:1fr}

  .hero-copy{padding-top:42px}
  .hero-art{min-height:520px}
  .hero h1{max-width:11ch}
  .hero-chip-one{left:7%}
  .hero-chip-two{right:5%}
  .hero-chip-three{left:12%}

  .trust-grid,
  .service-grid,
  .protocol-track,
  .product-grid{grid-template-columns:repeat(2,1fr)}

  .trust-item:nth-child(2){border-right:0}
  .trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.09)}

  .section-head{gap:22px}
  .section-head .lead{max-width:760px}
  .faq-intro{position:static}
  .expertise-visual{min-height:560px}
  .location-grid{grid-template-columns:1fr}
  .map-card{min-height:430px}

  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
  .footer-grid>div:last-child{grid-column:2}
}

/* Mobile */
@media(max-width:720px){
  html{scroll-padding-top:82px}
  body{padding-bottom:70px}
  .container{width:min(100% - 28px,1280px)}

  .site-header{height:74px}
  .site-header.is-scrolled{height:70px}
  .brand img,
  .brand .custom-logo,
  .site-header.is-scrolled .brand img,
  .site-header.is-scrolled .brand .custom-logo{width:96px}
  .site-nav{inset:74px 12px auto}
  .cart-label,
  .cart-total{display:none}
  .cart-pill{width:42px;min-height:42px;padding:0;justify-content:center}
  .cart-count{width:24px;height:24px}
  .menu-toggle{width:42px;height:42px}

  .hero{
    min-height:auto;
    padding:112px 0 68px;
    background:
      radial-gradient(circle at 70% 58%,rgba(226,188,110,.33),transparent 16rem),
      linear-gradient(145deg,#f8f3ea,#e6d8c4);
  }
  .hero::after{min-width:390px;min-height:390px;right:-220px;top:38%}
  .hero-grid{gap:0}
  .hero-location{font-size:.59rem;letter-spacing:.13em}
  .hero h1{
    max-width:10ch;
    font-size:clamp(3.5rem,17vw,5.3rem);
  }
  .hero-lead{
    margin:22px 0 25px;
    font-size:.94rem;
    line-height:1.65;
  }
  .hero-actions{display:grid}
  .hero-actions .btn{width:100%}
  .hero-direct-booking{
    width:100%;
    grid-template-columns:auto 1fr auto;
    margin-top:15px;
    padding:12px 1px;
    border-bottom:1px solid var(--line);
  }
  .hero-meta{gap:11px 16px;margin-top:24px}
  .hero-meta-item{font-size:.7rem}

  .hero-art{min-height:400px;margin-top:8px}
  .hero-emblem{width:min(330px,82vw)}
  .hero-orbit-main{width:min(410px,105vw)}
  .hero-orbit-small{width:min(310px,78vw)}
  .hero-chip{
    min-width:120px;
    padding:10px 11px;
  }
  .hero-chip-one{left:0;top:15%}
  .hero-chip-two{right:0;top:40%}
  .hero-chip-three{left:4%;bottom:13%}
  .scroll-hint{display:none}

  .trust-strip{margin-top:-22px}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-item{
    min-height:106px;
    grid-template-columns:30px 1fr;
    padding:18px 15px;
  }
  .trust-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.09)}
  .trust-item:nth-child(even){border-right:0}
  .trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.09)}
  .trust-item strong{font-size:1rem}
  .trust-item div>span{font-size:.6rem}

  .section,
  .config-section{padding:82px 0}
  .section-title{font-size:clamp(2.9rem,13.5vw,4.25rem)}
  .section-head{gap:18px;margin-bottom:36px}
  .section-head-wide{grid-template-columns:1fr}
  .lead{font-size:.92rem;line-height:1.65}

  .service-grid,
  .protocol-track,
  .product-grid{grid-template-columns:1fr}
  .service-card{min-height:250px}
  .service-card h3{font-size:1.8rem}

  .config-head{margin-bottom:22px}
  .config-how{grid-template-columns:1fr;gap:7px}
  .config-how div{min-height:50px}
  .config-section .el-planity-section{
    margin-left:-4px;
    margin-right:-4px;
  }

  .expertise-layout{gap:38px}
  .expertise-visual{min-height:490px;border-radius:26px}
  .expertise-visual::before{inset:18px;border-radius:20px}
  .expertise-signature{left:26px;right:26px;bottom:26px}
  .expertise-signature strong{font-size:2rem}

  .protocol-track::before{display:none}
  .protocol-card{min-height:250px}
  .protocol-step{
    width:62px;
    height:62px;
    margin-bottom:26px;
    font-size:1.9rem;
  }

  .statement{padding:92px 0}
  .statement p{font-size:clamp(3rem,15vw,4.8rem)}
  .statement-orbit{width:430px;height:430px}

  .shop-coming{
    grid-template-columns:70px 1fr;
    gap:17px;
    padding:23px;
  }
  .shop-coming-icon{width:65px;height:65px;font-size:1.1rem}
  .shop-coming .btn{grid-column:1/-1;width:100%}
  .shop-coming h3{font-size:1.85rem}

  .faq-layout{gap:32px}
  .faq-question{font-size:1.15rem;padding:20px 0}

  .location-grid{border-radius:24px}
  .map-card{min-height:360px}
  .map-address-chip{left:18px;right:18px;top:18px}
  .map-cta{left:18px;bottom:18px}
  .map-pin{width:70px;height:70px}
  .location-copy{padding:32px 22px}
  .location-copy h2{font-size:3rem}
  .location-copy .hero-actions{display:grid}

  .contact-grid{gap:34px}
  .contact-form{
    grid-template-columns:1fr;
    padding:20px 17px;
    border-radius:21px;
  }
  .field.full{grid-column:auto}

  .footer-topline{flex-direction:column;gap:5px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
  .footer-brand{grid-column:1/-1}
  .footer-grid>div:last-child{grid-column:auto}
  .footer-logo{width:150px}
  .footer-bottom{flex-direction:column;gap:5px}

  .cookie-banner{
    left:12px;
    right:12px;
    bottom:82px;
    max-width:none;
  }

  .mobile-action-bar{
    position:fixed;
    z-index:1200;
    left:8px;
    right:8px;
    bottom:8px;
    height:60px;
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:7px;
    padding:6px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:19px;
    background:rgba(255,253,248,.91);
    backdrop-filter:blur(18px);
    box-shadow:0 14px 36px rgba(33,24,15,.16);
  }
  .mobile-action-bar a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    color:var(--ink);
    text-decoration:none;
    font-size:.57rem;
    line-height:1.15;
  }
  .mobile-action-bar a strong{font-size:.7rem}
  .mobile-action-bar a.is-primary{
    color:#21170b;
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
  }

  .woocommerce-page main>.woocommerce,
  .woocommerce main>.woocommerce{
    width:min(100% - 28px,1280px);
    margin-top:100px;
  }
}

@media(max-width:420px){
  .trust-grid{grid-template-columns:1fr}
  .trust-item{
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }
  .trust-item:last-child{border-bottom:0!important}
  .hero-chip{min-width:108px}
  .hero-chip strong{font-size:.64rem}
  .hero-chip small{font-size:.57rem}
  .footer-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}


/* ==========================================================
   V4.4 — HERO SIGNATURE
   Direction : luxe éditorial + précision technologique.
   Rien hors hero n'est modifié.
   ========================================================== */

.hero-signature{
  --hs-ink:#17130f;
  --hs-cream:#f7f1e8;
  --hs-gold:#b57b31;
  --hs-gold-soft:#e3c17d;
  position:relative;
  min-height:100svh;
  overflow:hidden;
  padding:116px 0 74px;
  background:#f7f1e8;
}

.hero-signature-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 3% 0%,rgba(255,255,255,.95),transparent 27rem),
    radial-gradient(circle at 59% 43%,rgba(204,158,85,.12),transparent 28rem),
    linear-gradient(112deg,#fbf7f1 0%,#f7f1e8 56%,#eee1cf 100%);
}

.hero-signature-bg::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(107,77,39,.15),transparent);
}

.hero-signature-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(470px,.96fr);
  gap:clamp(36px,5vw,76px);
  align-items:center;
}

.hero-signature-copy{
  max-width:790px;
}

.hero-signature-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
  color:#7b5a33;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.hero-signature-eyebrow-line{
  width:36px;
  height:1px;
  background:#b57b31;
}

.hero-signature-title{
  margin:0;
  color:var(--hs-ink);
  font-family:var(--serif);
  font-size:clamp(4rem,6.65vw,7.15rem);
  line-height:.91;
  letter-spacing:-.055em;
  font-weight:500;
}

.hero-signature-title span,
.hero-signature-title em,
.hero-signature-title strong{
  display:block;
}

.hero-signature-title em{
  color:var(--hs-gold);
  font-style:italic;
  font-weight:500;
}

.hero-signature-title strong{
  max-width:12ch;
  margin-top:7px;
  color:#2c241d;
  font-size:.43em;
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:540;
}

.hero-signature-lead{
  max-width:610px;
  margin:26px 0 28px;
  color:rgba(35,28,22,.62);
  font-size:clamp(.98rem,1.15vw,1.1rem);
  line-height:1.68;
}

.hero-signature-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:11px;
  max-width:650px;
}

.hero-signature-primary{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 15px 13px 21px;
  border-radius:18px;
  color:#1c150d;
  background:
    linear-gradient(135deg,#f0d591 0%,#d4a54f 52%,#bd812e 100%);
  box-shadow:
    0 20px 48px rgba(125,82,27,.19),
    inset 0 1px 0 rgba(255,255,255,.44);
  text-decoration:none;
  transition:transform .22s ease,box-shadow .22s ease;
}

.hero-signature-primary:hover{
  transform:translateY(-2px);
  box-shadow:
    0 25px 56px rgba(125,82,27,.24),
    inset 0 1px 0 rgba(255,255,255,.48);
}

.hero-signature-primary-copy{
  display:grid;
  gap:3px;
}

.hero-signature-primary-copy small{
  opacity:.58;
  font-size:.57rem;
  font-weight:760;
  letter-spacing:.06em;
}

.hero-signature-primary-copy strong{
  font-size:.88rem;
  font-weight:860;
}

.hero-signature-primary-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.27);
  font-size:1.05rem;
  transition:transform .2s ease;
}

.hero-signature-primary:hover .hero-signature-primary-icon{
  transform:translateX(3px);
}

.hero-signature-secondary{
  min-height:76px;
  display:grid;
  align-content:center;
  gap:3px;
  padding:13px 20px;
  border:1px solid rgba(41,31,21,.13);
  border-radius:18px;
  color:#2c231b;
  background:rgba(255,255,255,.38);
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.hero-signature-secondary:hover{
  transform:translateY(-2px);
  border-color:rgba(181,123,49,.34);
  background:rgba(255,255,255,.62);
}

.hero-signature-secondary span{
  color:rgba(44,35,27,.48);
  font-size:.57rem;
  font-weight:730;
  letter-spacing:.04em;
}

.hero-signature-secondary strong{
  font-size:.81rem;
  font-weight:820;
}

.hero-signature-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:690px;
  margin-top:29px;
  padding-top:20px;
  border-top:1px solid rgba(49,37,25,.09);
}

.hero-signature-trust>div{
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:start;
  gap:8px;
  min-width:0;
}

.hero-signature-trust>div+div{
  padding-left:14px;
  border-left:1px solid rgba(49,37,25,.08);
}

.hero-signature-trust>div>span{
  color:#b57b31;
  font-family:var(--serif);
  font-size:.72rem;
}

.hero-signature-trust p{
  margin:0;
  display:grid;
  gap:2px;
}

.hero-signature-trust strong{
  color:#2e241b;
  font-size:.67rem;
  font-weight:800;
}

.hero-signature-trust small{
  color:rgba(46,36,27,.43);
  font-size:.56rem;
}

/* Visual signature */
.hero-signature-visual{
  position:relative;
  min-height:640px;
  display:grid;
  place-items:center;
}

.hero-signature-panel{
  position:relative;
  width:min(570px,43vw);
  aspect-ratio:.88;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:34px;
  background:
    radial-gradient(circle at 56% 43%,rgba(197,145,67,.16),transparent 18rem),
    linear-gradient(145deg,#241e17 0%,#15110d 67%,#2b2015 100%);
  box-shadow:
    0 42px 95px rgba(64,43,23,.22),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.hero-signature-panel::before{
  content:"";
  position:absolute;
  inset:17px;
  border:1px solid rgba(227,193,125,.075);
  border-radius:23px;
  pointer-events:none;
}

.hero-signature-panel-noise{
  position:absolute;
  inset:0;
  opacity:.045;
  background-image:
    linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,#000,transparent 85%);
}

.hero-signature-panel-label{
  position:absolute;
  z-index:5;
  left:29px;
  top:27px;
  display:grid;
  gap:1px;
  color:#e7cf9e;
  letter-spacing:.16em;
}

.hero-signature-panel-label span{
  font-family:var(--serif);
  font-size:.82rem;
}

.hero-signature-panel-label small{
  color:rgba(231,207,158,.42);
  font-size:.48rem;
  font-weight:800;
}

.hero-signature-radar{
  position:absolute;
  left:50%;
  top:49%;
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border:1px solid rgba(230,198,134,.09);
  border-radius:50%;
}

.hero-signature-radar-a{width:84%}
.hero-signature-radar-b{width:61%;border-color:rgba(230,198,134,.13)}
.hero-signature-radar-c{width:38%;border-color:rgba(230,198,134,.17)}

.hero-signature-emblem{
  position:absolute;
  z-index:4;
  left:50%;
  top:48%;
  width:58%;
  transform:translate(-50%,-50%);
}

.hero-signature-emblem-aura{
  position:absolute;
  inset:1%;
  border-radius:50%;
  background:rgba(214,165,77,.24);
  filter:blur(48px);
}

.hero-signature-emblem img{
  position:relative;
  z-index:2;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:
    drop-shadow(0 28px 48px rgba(0,0,0,.32))
    drop-shadow(0 0 18px rgba(231,196,124,.13));
}

.hero-signature-beam{
  position:absolute;
  z-index:3;
  left:-14%;
  top:61%;
  width:132%;
  height:1px;
  transform:rotate(-11deg);
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(214,165,77,.18) 18%,
    rgba(242,208,139,.94) 53%,
    rgba(214,165,77,.21) 75%,
    transparent 100%
  );
  box-shadow:0 0 15px rgba(226,184,101,.21);
}

.hero-signature-beam-dot{
  position:absolute;
  z-index:5;
  right:18%;
  top:47%;
  width:10px;
  height:10px;
  border:1px solid rgba(255,230,175,.85);
  border-radius:50%;
  background:#c98c37;
  box-shadow:
    0 0 0 7px rgba(201,140,55,.10),
    0 0 22px rgba(240,202,127,.55);
}

.hero-signature-panel-note{
  position:absolute;
  z-index:6;
  left:28px;
  right:28px;
  bottom:26px;
  display:flex;
  align-items:center;
  gap:11px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#fff;
}

.hero-signature-live{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#d6a54f;
  box-shadow:0 0 0 5px rgba(214,165,79,.11);
}

.hero-signature-panel-note div{
  display:grid;
  gap:2px;
}

.hero-signature-panel-note small{
  color:rgba(255,255,255,.4);
  font-size:.53rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.hero-signature-panel-note strong{
  color:rgba(255,255,255,.85);
  font-size:.65rem;
}

.hero-signature-coord{
  position:absolute;
  z-index:5;
  right:27px;
  color:rgba(231,207,158,.28);
  font-size:.48rem;
  font-weight:800;
  letter-spacing:.12em;
}

.hero-signature-coord-top{top:29px}
.hero-signature-coord-bottom{bottom:68px}

.hero-signature-float{
  position:absolute;
  z-index:8;
  left:-20px;
  bottom:84px;
  max-width:215px;
  padding:14px 16px;
  border:1px solid rgba(92,66,35,.09);
  border-radius:17px;
  color:#33271c;
  background:rgba(255,250,243,.89);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 42px rgba(62,42,22,.12);
}

.hero-signature-float span{
  display:block;
  margin-bottom:4px;
  color:#a4712e;
  font-size:.55rem;
  font-weight:820;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hero-signature-float strong{
  display:block;
  font-size:.72rem;
  line-height:1.38;
}

.hero-signature-bottom{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
}

.hero-signature-bottom .container{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(50,38,25,.08);
}

.hero-signature-bottom a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#604722;
  font-size:.61rem;
  font-weight:800;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.hero-signature-bottom p{
  margin:0;
  color:rgba(44,35,27,.38);
  font-size:.57rem;
  letter-spacing:.04em;
}

/* Desktop with shorter height */
@media(min-width:741px) and (max-height:850px){
  .hero-signature{
    padding-top:92px;
    padding-bottom:58px;
  }

  .hero-signature-title{
    font-size:clamp(3.65rem,5.75vw,6.15rem);
  }

  .hero-signature-eyebrow{
    margin-bottom:17px;
  }

  .hero-signature-lead{
    margin:19px 0 20px;
  }

  .hero-signature-actions a{
    min-height:66px;
  }

  .hero-signature-trust{
    margin-top:20px;
    padding-top:15px;
  }

  .hero-signature-visual{
    min-height:535px;
  }

  .hero-signature-panel{
    width:min(500px,40vw);
  }
}

/* Tablet */
@media(max-width:1024px){
  .hero-signature{
    padding-top:104px;
  }

  .hero-signature-grid{
    grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);
    gap:26px;
  }

  .hero-signature-title{
    font-size:clamp(3.45rem,6vw,5.1rem);
  }

  .hero-signature-visual{
    min-height:530px;
  }

  .hero-signature-panel{
    width:min(470px,45vw);
  }

  .hero-signature-float{
    left:-8px;
  }
}

/* Mobile */
@media(max-width:740px){
  .hero-signature{
    min-height:auto;
    padding:98px 0 42px;
  }

  .hero-signature-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .hero-signature-eyebrow{
    margin-bottom:16px;
    font-size:.56rem;
  }

  .hero-signature-title{
    font-size:clamp(3.25rem,13.8vw,4.45rem);
    line-height:.92;
  }

  .hero-signature-title strong{
    max-width:14ch;
    margin-top:8px;
    font-size:.39em;
  }

  .hero-signature-lead{
    margin:19px 0 21px;
    font-size:.92rem;
    line-height:1.58;
  }

  .hero-signature-actions{
    grid-template-columns:1fr;
  }

  .hero-signature-primary,
  .hero-signature-secondary{
    min-height:64px;
  }

  .hero-signature-trust{
    grid-template-columns:1fr;
    gap:0;
    margin-top:18px;
    padding-top:8px;
  }

  .hero-signature-trust>div{
    grid-template-columns:26px 1fr;
    padding:9px 0!important;
    border-left:0!important;
    border-bottom:1px solid rgba(49,37,25,.06);
  }

  .hero-signature-visual{
    min-height:400px;
  }

  .hero-signature-panel{
    width:min(430px,94vw);
    border-radius:27px;
  }

  .hero-signature-float{
    left:6px;
    bottom:54px;
    max-width:190px;
    padding:11px 13px;
  }

  .hero-signature-bottom{
    position:relative;
    margin-top:20px;
  }

  .hero-signature-bottom .container{
    min-height:44px;
  }

  .hero-signature-bottom p{
    display:none;
  }
}

@media(max-width:420px){
  .hero-signature-title{
    font-size:3.12rem;
  }

  .hero-signature-panel{
    width:94vw;
  }

  .hero-signature-float{
    display:none;
  }
}


/* ==========================================================
   V4.4.1 — HERO SIGNATURE FINAL
   Dernière passe de finition, hero uniquement.
   ========================================================== */

.hero-signature{
  padding-top:102px;
  padding-bottom:66px;
}

.hero-signature-grid{
  gap:clamp(34px,4.4vw,64px);
}

.hero-signature-copy{
  transform:translateY(-8px);
}

/* Titre verrouillé visuellement sur 2 lignes */
.hero-signature-title-final{
  width:max-content;
  max-width:none;
  font-size:clamp(4.25rem,6.15vw,6.7rem);
  line-height:.89;
}

.hero-signature-title-final span,
.hero-signature-title-final em{
  display:block;
  white-space:nowrap;
}

.hero-signature-subtitle{
  margin:10px 0 0;
  color:#2d251e;
  font-family:var(--serif);
  font-size:clamp(1.85rem,2.55vw,2.9rem);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:500;
}

.hero-signature-lead{
  max-width:585px;
  margin:22px 0 22px;
  font-size:clamp(.96rem,1.08vw,1.06rem);
  line-height:1.6;
}

.hero-signature-actions{
  max-width:625px;
}

.hero-signature-primary,
.hero-signature-secondary{
  min-height:68px;
}

.hero-signature-trust{
  margin-top:21px;
  padding-top:16px;
}

/* Panneau légèrement plus dominant, sans carte flottante */
.hero-signature-visual{
  min-height:605px;
}

.hero-signature-panel{
  width:min(590px,44vw);
  aspect-ratio:.92;
}

.hero-signature-emblem{
  top:46%;
  width:60%;
}

.hero-signature-radar-a{width:82%}
.hero-signature-radar-b{width:59%}
.hero-signature-radar-c{width:36%}

.hero-signature-beam{
  top:59%;
}

.hero-signature-beam-dot{
  right:17%;
  top:45%;
}

/* Footer intégré du panneau */
.hero-signature-panel-note-final{
  left:27px;
  right:27px;
  bottom:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.hero-signature-panel-note-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.hero-signature-panel-note-left>div{
  display:grid;
  gap:2px;
}

.hero-signature-panel-note-right{
  display:grid;
  gap:2px;
  text-align:right;
}

.hero-signature-panel-note-final small{
  color:rgba(255,255,255,.37);
  font-size:.49rem;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.hero-signature-panel-note-final strong{
  color:rgba(255,255,255,.84);
  font-size:.59rem;
  font-weight:720;
  white-space:nowrap;
}

/* Obsolete floating card from V4.4 must never appear */
.hero-signature-float{
  display:none!important;
}

/* Common desktop heights: keep full hero visible without crowding */
@media(min-width:1025px) and (max-height:900px){
  .hero-signature{
    padding-top:86px;
    padding-bottom:58px;
  }

  .hero-signature-copy{
    transform:translateY(-11px);
  }

  .hero-signature-eyebrow{
    margin-bottom:17px;
  }

  .hero-signature-title-final{
    font-size:clamp(3.8rem,5.55vw,5.95rem);
  }

  .hero-signature-subtitle{
    margin-top:7px;
    font-size:clamp(1.65rem,2.15vw,2.35rem);
  }

  .hero-signature-lead{
    margin:17px 0 18px;
    line-height:1.53;
  }

  .hero-signature-primary,
  .hero-signature-secondary{
    min-height:62px;
  }

  .hero-signature-trust{
    margin-top:17px;
    padding-top:13px;
  }

  .hero-signature-visual{
    min-height:525px;
  }

  .hero-signature-panel{
    width:min(510px,40vw);
  }
}

/* Tablet */
@media(max-width:1024px){
  .hero-signature{
    padding-top:98px;
  }

  .hero-signature-copy{
    transform:none;
  }

  .hero-signature-title-final{
    width:auto;
    font-size:clamp(3.45rem,5.7vw,4.85rem);
  }

  .hero-signature-subtitle{
    font-size:clamp(1.55rem,2.6vw,2.15rem);
  }

  .hero-signature-visual{
    min-height:505px;
  }

  .hero-signature-panel{
    width:min(475px,45vw);
  }

  .hero-signature-panel-note-final{
    gap:12px;
  }

  .hero-signature-panel-note-right{
    display:none;
  }
}

/* Mobile */
@media(max-width:740px){
  .hero-signature{
    padding:92px 0 38px;
  }

  .hero-signature-title-final{
    width:auto;
    font-size:clamp(3.15rem,13.2vw,4.25rem);
    line-height:.91;
  }

  .hero-signature-title-final span,
  .hero-signature-title-final em{
    white-space:normal;
  }

  .hero-signature-subtitle{
    margin-top:7px;
    font-size:clamp(1.45rem,6.2vw,2rem);
  }

  .hero-signature-lead{
    margin:17px 0 19px;
  }

  .hero-signature-primary,
  .hero-signature-secondary{
    min-height:62px;
  }

  .hero-signature-trust{
    margin-top:15px;
  }

  .hero-signature-visual{
    min-height:370px;
  }

  .hero-signature-panel{
    width:min(430px,94vw);
  }

  .hero-signature-emblem{
    width:63%;
  }

  .hero-signature-panel-note-final{
    left:20px;
    right:20px;
    bottom:19px;
  }

  .hero-signature-panel-note-final strong{
    white-space:normal;
  }
}

@media(max-width:420px){
  .hero-signature-title-final{
    font-size:3rem;
  }

  .hero-signature-subtitle{
    font-size:1.45rem;
  }
}


/* ==========================================================
   V4.6 — PRESTATIONS ATLAS
   Editorial, premium, sans cartes.
   ========================================================== */

.zone-atlas{
  position:relative;
  overflow:hidden;
  padding:122px 0 112px;
  background:
    radial-gradient(circle at 100% 0%,rgba(192,143,65,.11),transparent 30rem),
    #f8f3eb;
}

.zone-atlas::before{
  content:"";
  position:absolute;
  top:-280px;
  right:-280px;
  width:720px;
  height:720px;
  border:1px solid rgba(132,91,38,.055);
  border-radius:50%;
  pointer-events:none;
}

.zone-atlas::after{
  content:"";
  position:absolute;
  top:-180px;
  right:-180px;
  width:520px;
  height:520px;
  border:1px solid rgba(132,91,38,.04);
  border-radius:50%;
  pointer-events:none;
}

.zone-atlas-shell{
  position:relative;
  z-index:2;
}

.zone-atlas-intro{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.72fr);
  gap:70px;
  align-items:end;
  margin-bottom:58px;
}

.zone-atlas-title{
  max-width:11ch;
  margin:12px 0 0;
  color:#18130f;
  font-family:var(--serif);
  font-size:clamp(3.6rem,5.8vw,6.25rem);
  line-height:.91;
  letter-spacing:-.052em;
  font-weight:500;
}

.zone-atlas-title em{
  display:block;
  color:#ad742e;
  font-style:italic;
  font-weight:500;
}

.zone-atlas-intro-copy{
  max-width:480px;
  justify-self:end;
}

.zone-atlas-intro-copy>p{
  margin:0 0 19px;
  color:rgba(42,33,25,.57);
  font-size:.94rem;
  line-height:1.68;
}

.zone-atlas-quick{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:2px 18px;
  min-height:69px;
  padding:13px 14px 13px 17px;
  border:1px solid rgba(54,40,25,.10);
  border-radius:17px;
  color:#251d16;
  background:rgba(255,255,255,.48);
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.zone-atlas-quick:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:rgba(173,116,46,.27);
}

.zone-atlas-quick span{
  grid-column:1;
  color:#a47031;
  font-size:.55rem;
  font-weight:820;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.zone-atlas-quick strong{
  grid-column:1;
  font-size:.75rem;
  font-weight:820;
}

.zone-atlas-quick i{
  grid-column:2;
  grid-row:1 / span 2;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#1b1611;
  font-style:normal;
}

/* Rows */
.zone-atlas-list{
  border-top:1px solid rgba(48,36,25,.11);
}

.zone-atlas-row{
  --row-accent:#ae752f;
  position:relative;
  display:grid;
  grid-template-columns:66px minmax(250px,.95fr) minmax(330px,1.15fr) 100px;
  gap:26px;
  align-items:center;
  min-height:144px;
  overflow:hidden;
  padding:22px 8px;
  border-bottom:1px solid rgba(48,36,25,.105);
  color:#201912;
  text-decoration:none;
  isolation:isolate;
  transition:padding .28s ease,color .28s ease;
}

.zone-atlas-row::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  transform:translateX(-102%);
  background:
    linear-gradient(90deg,#211a14 0%,#17120e 74%,#2b2015 100%);
  transition:transform .48s cubic-bezier(.22,.8,.22,1);
}

.zone-atlas-row::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-15%;
  top:58%;
  width:130%;
  height:1px;
  opacity:0;
  transform:rotate(-3deg) scaleX(.4);
  transform-origin:left center;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(226,187,111,.08) 10%,
    rgba(235,199,127,.82) 54%,
    rgba(226,187,111,.08) 88%,
    transparent
  );
  box-shadow:0 0 18px rgba(224,181,96,.20);
  transition:opacity .3s ease,transform .55s cubic-bezier(.22,.8,.22,1);
}

.zone-atlas-row:hover{
  color:#fff;
  padding-left:19px;
  padding-right:19px;
}

.zone-atlas-row:hover::before{
  transform:translateX(0);
}

.zone-atlas-row:hover::after{
  opacity:1;
  transform:rotate(-3deg) scaleX(1);
}

.zone-atlas-row-dark{
  color:#fff;
  background:
    radial-gradient(circle at 80% 50%,rgba(198,151,69,.13),transparent 22rem),
    #1b1611;
}

.zone-atlas-row-dark::before{
  background:
    linear-gradient(90deg,#302318 0%,#211811 65%,#382719 100%);
}

.zone-atlas-index{
  color:var(--row-accent);
  font-family:var(--serif);
  font-size:.86rem;
  transition:color .28s ease;
}

.zone-atlas-row:hover .zone-atlas-index,
.zone-atlas-row-dark .zone-atlas-index{
  color:#e1bd75;
}

.zone-atlas-main{
  min-width:0;
}

.zone-atlas-overline{
  display:block;
  margin-bottom:5px;
  color:#9e6d31;
  font-size:.53rem;
  font-weight:820;
  text-transform:uppercase;
  letter-spacing:.11em;
  transition:color .28s ease;
}

.zone-atlas-row:hover .zone-atlas-overline,
.zone-atlas-row-dark .zone-atlas-overline{
  color:#d5b06b;
}

.zone-atlas-main h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(2rem,3vw,3.35rem);
  line-height:.96;
  letter-spacing:-.03em;
  font-weight:500;
}

.zone-atlas-details{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.zone-atlas-details span{
  padding:6px 9px;
  border:1px solid rgba(45,34,24,.085);
  border-radius:999px;
  color:rgba(39,30,22,.52);
  background:rgba(255,255,255,.38);
  font-size:.57rem;
  font-weight:680;
  transition:
    color .28s ease,
    border-color .28s ease,
    background .28s ease;
}

.zone-atlas-row:hover .zone-atlas-details span,
.zone-atlas-row-dark .zone-atlas-details span{
  color:rgba(255,255,255,.58);
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}

.zone-atlas-action{
  justify-self:end;
  display:grid;
  justify-items:center;
  gap:6px;
}

.zone-atlas-action small{
  color:rgba(42,33,25,.42);
  font-size:.49rem;
  font-weight:780;
  text-transform:uppercase;
  letter-spacing:.08em;
  transition:color .28s ease;
}

.zone-atlas-action i{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border:1px solid rgba(53,39,25,.11);
  border-radius:50%;
  color:#a8712f;
  background:rgba(255,255,255,.45);
  font-style:normal;
  transition:
    transform .28s ease,
    background .28s ease,
    color .28s ease,
    border-color .28s ease;
}

.zone-atlas-row:hover .zone-atlas-action small,
.zone-atlas-row-dark .zone-atlas-action small{
  color:rgba(255,255,255,.43);
}

.zone-atlas-row:hover .zone-atlas-action i,
.zone-atlas-row-dark .zone-atlas-action i{
  color:#17120e;
  border-color:transparent;
  background:#e0bb73;
}

.zone-atlas-row:hover .zone-atlas-action i{
  transform:translate(3px,-3px);
}

/* Signature CTA */
.zone-atlas-signature{
  display:grid;
  grid-template-columns:48px 1fr auto;
  align-items:center;
  gap:18px;
  margin-top:31px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:21px;
  color:#fff;
  background:
    radial-gradient(circle at 72% 10%,rgba(204,157,77,.16),transparent 17rem),
    linear-gradient(105deg,#231b14,#16110d);
  box-shadow:0 22px 55px rgba(65,43,22,.10);
}

.zone-atlas-signature-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(227,193,124,.15);
  border-radius:50%;
}

.zone-atlas-signature-mark span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d5a54e;
  box-shadow:
    0 0 0 7px rgba(213,165,78,.10),
    0 0 20px rgba(213,165,78,.20);
}

.zone-atlas-signature-copy{
  display:grid;
  gap:2px;
}

.zone-atlas-signature-copy small{
  color:rgba(255,255,255,.39);
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.zone-atlas-signature-copy strong{
  color:#e7d1a4;
  font-family:var(--serif);
  font-size:1.22rem;
  font-weight:500;
}

.zone-atlas-signature>a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.045);
  font-size:.62rem;
  font-weight:790;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease;
}

.zone-atlas-signature>a:hover{
  transform:translateX(3px);
  background:rgba(255,255,255,.08);
}

.zone-atlas-signature>a span{
  color:#dfbb72;
}

/* Tablet */
@media(max-width:1024px){
  .zone-atlas{
    padding:94px 0 88px;
  }

  .zone-atlas-intro{
    grid-template-columns:1fr .8fr;
    gap:34px;
  }

  .zone-atlas-row{
    grid-template-columns:52px minmax(220px,.9fr) minmax(260px,1fr) 72px;
    gap:18px;
  }

  .zone-atlas-details{
    gap:5px;
  }

  .zone-atlas-details span{
    padding:5px 7px;
  }
}

/* Mobile */
@media(max-width:740px){
  .zone-atlas{
    padding:76px 0 68px;
  }

  .zone-atlas-intro{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:34px;
  }

  .zone-atlas-title{
    max-width:11.5ch;
    font-size:clamp(3rem,12vw,4.25rem);
  }

  .zone-atlas-intro-copy{
    max-width:none;
    justify-self:stretch;
  }

  .zone-atlas-row{
    grid-template-columns:40px 1fr 42px;
    grid-template-areas:
      "idx main action"
      ". details details";
    gap:12px 9px;
    min-height:auto;
    padding:20px 4px;
  }

  .zone-atlas-row:hover{
    padding-left:11px;
    padding-right:11px;
  }

  .zone-atlas-index{
    grid-area:idx;
  }

  .zone-atlas-main{
    grid-area:main;
  }

  .zone-atlas-main h3{
    font-size:2.15rem;
  }

  .zone-atlas-details{
    grid-area:details;
    margin-top:4px;
  }

  .zone-atlas-action{
    grid-area:action;
  }

  .zone-atlas-action small{
    display:none;
  }

  .zone-atlas-action i{
    width:36px;
    height:36px;
  }

  .zone-atlas-signature{
    grid-template-columns:42px 1fr;
    gap:13px;
    padding:17px;
  }

  .zone-atlas-signature>a{
    grid-column:1 / span 2;
    justify-content:center;
    margin-top:2px;
  }

  .zone-atlas-signature-copy strong{
    font-size:1.05rem;
  }
}

@media(max-width:420px){
  .zone-atlas-main h3{
    font-size:1.92rem;
  }

  .zone-atlas-details span{
    font-size:.53rem;
  }
}


/* ==========================================================
   V4.7 — QA FINALE
   Nettoyage de détails sans changer la direction visuelle.
   ========================================================== */

.skip-link{
  position:fixed;
  z-index:10000;
  left:14px;
  top:14px;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:10px;
  color:#fff;
  background:#17130f;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
  transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0)}

:where(a,button,input,textarea,select):focus-visible{
  outline:2px solid #c69745;
  outline-offset:3px;
}

/* Hero : petites corrections de lisibilité seulement. */
.hero-signature-trust strong{font-size:.71rem}
.hero-signature-trust small{color:rgba(46,36,27,.52);font-size:.59rem}
.hero-signature-panel-note-final strong{font-size:.62rem}
.hero-signature-panel-note-final small{font-size:.51rem}

/* Le premier bloc de réassurance dupliquait déjà le Hero. */
.trust-strip{display:none!important}

/* Le plugin possède désormais lui-même son indicateur 1/2/3. */
.config-how{display:none!important}

/* Parcours : 3 étapes réelles, plus respirantes. */
.protocol-v47 .protocol-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.protocol-v47 .protocol-card{min-height:292px}
.protocol-v47 .protocol-step{margin-bottom:34px}

/* Le bloc slogan historique est supprimé du HTML. */
.statement{display:none!important}

/* Formulaire final */
.hp-field{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
}
.form-consent label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:rgba(43,34,25,.58);
  font-size:.68rem;
  line-height:1.5;
}
.form-consent input{
  width:17px;
  height:17px;
  flex:0 0 17px;
  margin-top:2px;
  accent-color:#a8712f;
}
.form-consent a{color:#7f561f;text-underline-offset:2px}

/* Panier : discret lorsqu'il est vide sur les pages boutique. */
.cart-pill.is-empty .cart-count{opacity:.58}

/* Transitions atlas : seulement sur appareils avec vrai survol. */
@media(hover:none){
  .zone-atlas-row:not(.zone-atlas-row-dark):hover{
    color:#201912;
    padding-left:8px;
    padding-right:8px;
  }
  .zone-atlas-row:not(.zone-atlas-row-dark):hover::before,
  .zone-atlas-row:not(.zone-atlas-row-dark):hover::after{opacity:0;transform:translateX(-102%)}
  .zone-atlas-row:not(.zone-atlas-row-dark):hover .zone-atlas-overline{color:#9e6d31}
  .zone-atlas-row:not(.zone-atlas-row-dark):hover .zone-atlas-details span{color:rgba(39,30,22,.52);border-color:rgba(45,34,24,.085);background:rgba(255,255,255,.38)}
}

@media(max-width:1100px){
  .protocol-v47 .protocol-track{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:720px){
  .protocol-v47 .protocol-track{grid-template-columns:1fr}
  .protocol-v47 .protocol-card{min-height:auto}
  .protocol-v47 .protocol-track::before{display:none}
}



/* ==========================================================
   V4.7.3 — LOGO CENTRÉ AU MILIEU DES CERCLES / SECTION EXPERTISE
   Repositionnement fin du logo pour l’aligner avec le centre visuel des anneaux.
   ========================================================== */

.expertise-visual img{
  left:50%;
  top:47%;
  transform:translate(-50%,-50%);
}

@media(max-width:1024px){
  .expertise-visual img{
    left:50%;
    top:47%;
    transform:translate(-50%,-50%);
  }
}

@media(max-width:740px){
  .expertise-visual img{
    left:50%;
    top:47%;
    transform:translate(-50%,-50%);
  }
}



/* ==========================================================
   V4.8 — EXPERTISE REDESIGN
   Nouvelle composition complète, sans affiche/logo géant.
   ========================================================== */

.expertise-v48{
  position:relative;
  overflow:hidden;
  padding:118px 0 110px;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,255,255,.88),transparent 27rem),
    linear-gradient(180deg,#f8f3eb 0%,#f3eadf 100%);
}

.expertise-v48::before{
  content:"";
  position:absolute;
  left:-280px;
  bottom:-360px;
  width:720px;
  height:720px;
  border:1px solid rgba(135,91,36,.045);
  border-radius:50%;
  pointer-events:none;
}

.expertise-v48-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.7fr);
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}

.expertise-v48-title{
  max-width:11.5ch;
  margin:12px 0 0;
  color:#18130f;
  font-family:var(--serif);
  font-size:clamp(3.5rem,5.5vw,5.95rem);
  line-height:.92;
  letter-spacing:-.05em;
  font-weight:500;
}

.expertise-v48-title em{
  display:block;
  color:#a9712d;
  font-style:italic;
  font-weight:500;
}

.expertise-v48-intro{
  max-width:480px;
  justify-self:end;
}

.expertise-v48-intro p{
  margin:0 0 18px;
  color:rgba(43,34,25,.58);
  font-size:.94rem;
  line-height:1.7;
}

.expertise-v48-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#765126;
  font-size:.65rem;
  font-weight:820;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.expertise-v48-link span{
  transition:transform .2s ease;
}

.expertise-v48-link:hover span{
  transform:translateX(4px);
}

.expertise-v48-panel{
  position:relative;
  overflow:hidden;
  min-height:540px;
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  grid-template-rows:auto 1fr auto;
  gap:0 46px;
  padding:34px 38px 28px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:32px;
  color:#fff;
  background:
    radial-gradient(circle at 20% 32%,rgba(199,151,67,.18),transparent 20rem),
    radial-gradient(circle at 92% 10%,rgba(199,151,67,.08),transparent 18rem),
    linear-gradient(135deg,#251e17 0%,#15110d 68%,#2b2016 100%);
  box-shadow:
    0 30px 75px rgba(64,43,23,.15),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.expertise-v48-panel::before{
  content:"";
  position:absolute;
  inset:17px;
  border:1px solid rgba(234,201,135,.065);
  border-radius:21px;
  pointer-events:none;
}

.expertise-v48-grid{
  position:absolute;
  inset:0;
  opacity:.035;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg,#000,transparent 85%);
}

.expertise-v48-beam{
  position:absolute;
  left:-8%;
  right:-8%;
  top:54%;
  height:1px;
  opacity:.65;
  transform:rotate(-4deg);
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(230,190,111,.06) 14%,
      rgba(235,199,127,.72) 49%,
      rgba(230,190,111,.06) 84%,
      transparent 100%
    );
  box-shadow:0 0 16px rgba(222,177,92,.12);
}

.expertise-v48-brand{
  position:relative;
  z-index:3;
  grid-column:1;
  grid-row:1;
  height:76px;
  display:flex;
  align-items:center;
}

.expertise-v48-brand img{
  position:static!important;
  width:172px!important;
  height:auto!important;
  max-height:76px;
  object-fit:contain;
  object-position:left center;
  transform:none!important;
  filter:
    drop-shadow(0 12px 24px rgba(0,0,0,.22))
    drop-shadow(0 0 12px rgba(230,190,111,.10));
}

.expertise-v48-statement{
  position:relative;
  z-index:3;
  grid-column:1;
  grid-row:2;
  align-self:center;
  max-width:330px;
  padding-right:14px;
}

.expertise-v48-kicker{
  display:block;
  margin-bottom:12px;
  color:#dbb86f;
  font-size:.58rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.expertise-v48-statement h3{
  max-width:7ch;
  margin:0 0 17px;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(2.7rem,3.6vw,4.1rem);
  line-height:.95;
  letter-spacing:-.035em;
  font-weight:500;
}

.expertise-v48-statement p{
  max-width:32ch;
  margin:0;
  color:rgba(255,255,255,.48);
  font-size:.75rem;
  line-height:1.65;
}

.expertise-v48-values{
  position:relative;
  z-index:3;
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  border-top:1px solid rgba(255,255,255,.08);
}

.expertise-v48-values article{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:18px;
  padding:24px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.expertise-v48-values article>span{
  color:#dcb871;
  font-family:var(--serif);
  font-size:.85rem;
}

.expertise-v48-values article>div{
  display:grid;
  grid-template-columns:minmax(90px,.35fr) minmax(180px,.9fr) minmax(210px,1fr);
  gap:16px 24px;
  align-items:start;
}

.expertise-v48-values small{
  color:rgba(220,184,113,.65);
  font-size:.54rem;
  font-weight:820;
  text-transform:uppercase;
  letter-spacing:.10em;
}

.expertise-v48-values h4{
  margin:0;
  color:rgba(255,255,255,.91);
  font-family:var(--serif);
  font-size:1.2rem;
  line-height:1.15;
  font-weight:500;
}

.expertise-v48-values p{
  margin:0;
  color:rgba(255,255,255,.43);
  font-size:.68rem;
  line-height:1.55;
}

.expertise-v48-footer{
  position:relative;
  z-index:3;
  grid-column:1 / span 2;
  grid-row:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:20px;
  margin-top:24px;
  border-top:1px solid rgba(255,255,255,.07);
}

.expertise-v48-footer>span{
  color:rgba(255,255,255,.33);
  font-size:.53rem;
  font-weight:770;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.expertise-v48-footer a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#dec17e;
  font-size:.61rem;
  font-weight:790;
  text-decoration:none;
}

.expertise-v48-footer i{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(222,193,126,.16);
  border-radius:50%;
  font-style:normal;
}

/* Tablet */
@media(max-width:1024px){
  .expertise-v48{
    padding:94px 0 88px;
  }

  .expertise-v48-head{
    grid-template-columns:1fr .8fr;
    gap:36px;
  }

  .expertise-v48-panel{
    grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);
    gap:0 30px;
    padding:30px 31px 26px;
  }

  .expertise-v48-values article>div{
    grid-template-columns:100px 1fr;
  }

  .expertise-v48-values p{
    grid-column:1 / span 2;
  }
}

/* Mobile */
@media(max-width:740px){
  .expertise-v48{
    padding:76px 0 68px;
  }

  .expertise-v48-head{
    grid-template-columns:1fr;
    gap:19px;
    margin-bottom:30px;
  }

  .expertise-v48-title{
    max-width:11ch;
    font-size:clamp(3rem,12vw,4.2rem);
  }

  .expertise-v48-intro{
    max-width:none;
    justify-self:stretch;
  }

  .expertise-v48-panel{
    min-height:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:0;
    padding:24px 21px 22px;
    border-radius:25px;
  }

  .expertise-v48-panel::before{
    inset:12px;
    border-radius:17px;
  }

  .expertise-v48-brand{
    grid-column:1;
    grid-row:auto;
    height:62px;
    margin-bottom:18px;
  }

  .expertise-v48-brand img{
    width:145px!important;
    max-height:62px;
  }

  .expertise-v48-statement{
    grid-column:1;
    grid-row:auto;
    max-width:none;
    padding:0 0 24px;
  }

  .expertise-v48-statement h3{
    max-width:8ch;
    font-size:2.75rem;
  }

  .expertise-v48-values{
    grid-column:1;
    grid-row:auto;
  }

  .expertise-v48-values article{
    grid-template-columns:40px 1fr;
    gap:11px;
    padding:19px 0;
  }

  .expertise-v48-values article>div{
    grid-template-columns:1fr;
    gap:5px;
  }

  .expertise-v48-values p{
    grid-column:auto;
  }

  .expertise-v48-values h4{
    font-size:1.12rem;
  }

  .expertise-v48-footer{
    grid-column:1;
    grid-row:auto;
    margin-top:16px;
  }

  .expertise-v48-footer>span{
    display:none;
  }

  .expertise-v48-footer a{
    width:100%;
    justify-content:space-between;
  }
}


/* ==========================================================
   V5.0 — SIMPLE / PREMIUM / COMMERCIAL
   Moins de blocs, moins d'effets, plus de lisibilité.
   ========================================================== */

/* Global rhythm */
.simple-zones,
.simple-expertise{
  padding:104px 0;
}

/* Zones — pure editorial rows */
.simple-zones{
  background:#f8f3eb;
}
.simple-zones-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);
  gap:60px;
  align-items:end;
  margin-bottom:42px;
}
.simple-zones-title{
  margin:10px 0 0;
  color:#18130f;
  font-family:var(--serif);
  font-size:clamp(3.4rem,5.2vw,5.7rem);
  line-height:.92;
  letter-spacing:-.05em;
  font-weight:500;
}
.simple-zones-title em{
  color:#a9712d;
  font-style:italic;
  font-weight:500;
}
.simple-zones-head>p{
  max-width:430px;
  margin:0;
  justify-self:end;
  color:rgba(43,34,25,.56);
  font-size:.92rem;
  line-height:1.65;
}
.simple-zones-list{
  border-top:1px solid rgba(48,36,25,.10);
}
.simple-zone-row{
  display:grid;
  grid-template-columns:58px minmax(230px,.85fr) minmax(280px,1fr) 46px;
  gap:24px;
  align-items:center;
  min-height:112px;
  padding:18px 4px;
  border-bottom:1px solid rgba(48,36,25,.10);
  color:#201912;
  text-decoration:none;
  transition:padding .22s ease,background .22s ease,color .22s ease;
}
.simple-zone-row:hover{
  padding-left:14px;
  padding-right:14px;
  color:#fff;
  background:#1b1611;
}
.simple-zone-index{
  color:#ad742e;
  font-family:var(--serif);
  font-size:.8rem;
}
.simple-zone-row:hover .simple-zone-index{color:#e0bd76}
.simple-zone-row h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(1.9rem,2.8vw,3.1rem);
  line-height:1;
  font-weight:500;
  letter-spacing:-.025em;
}
.simple-zone-row p{
  margin:0;
  color:rgba(43,34,25,.48);
  font-size:.72rem;
  line-height:1.5;
  transition:color .22s ease;
}
.simple-zone-row:hover p{color:rgba(255,255,255,.48)}
.simple-zone-arrow{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid rgba(48,36,25,.10);
  border-radius:50%;
  color:#9c682a;
  transition:transform .22s ease,background .22s ease,color .22s ease;
}
.simple-zone-row:hover .simple-zone-arrow{
  transform:translateX(3px);
  color:#17120e;
  border-color:transparent;
  background:#dfbb73;
}
.simple-zones-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:26px;
  padding:20px 22px;
  border-radius:18px;
  color:#fff;
  background:#1b1611;
}
.simple-zones-cta p{
  margin:0;
  color:rgba(255,255,255,.53);
  font-size:.73rem;
}
.simple-zones-cta p strong{color:#e4c98e}
.simple-zones-cta a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:.66rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.simple-zones-cta a span{color:#dfbb73}

/* Configurator — simpler framing */
.config-section{
  padding-top:102px;
  padding-bottom:104px;
}
.config-head{
  margin-bottom:34px;
}
.config-head .section-title{
  max-width:10.5ch;
}

/* Expertise — one strong dark block */
.simple-expertise{
  background:linear-gradient(180deg,#f8f3eb,#f2e8da);
}
.simple-expertise-panel{
  position:relative;
  display:grid;
  grid-template-columns:170px minmax(260px,.9fr) minmax(420px,1.25fr) auto;
  gap:34px;
  align-items:center;
  padding:34px 36px;
  border-radius:28px;
  color:#fff;
  background:linear-gradient(120deg,#251e17,#16110d 70%,#2b2016);
  box-shadow:0 26px 65px rgba(62,42,22,.12);
}
.simple-expertise-brand{
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid rgba(255,255,255,.08);
  padding-right:30px;
}
.simple-expertise-brand img{
  position:static!important;
  width:145px!important;
  max-height:86px!important;
  height:auto!important;
  transform:none!important;
  object-fit:contain;
}
.simple-expertise-copy .eyebrow{color:#d7b36d}
.simple-expertise-copy h2{
  margin:8px 0 10px;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(2rem,2.8vw,3.1rem);
  line-height:1;
  font-weight:500;
}
.simple-expertise-copy p{
  max-width:34ch;
  margin:0;
  color:rgba(255,255,255,.46);
  font-size:.72rem;
  line-height:1.55;
}
.simple-expertise-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-left:1px solid rgba(255,255,255,.08);
}
.simple-expertise-points>div{
  min-width:0;
  padding:5px 20px;
}
.simple-expertise-points>div+div{border-left:1px solid rgba(255,255,255,.08)}
.simple-expertise-points span{
  display:block;
  margin-bottom:8px;
  color:#d8b36d;
  font-family:var(--serif);
  font-size:.7rem;
}
.simple-expertise-points strong{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.9);
  font-size:.69rem;
}
.simple-expertise-points small{
  color:rgba(255,255,255,.38);
  font-size:.55rem;
  line-height:1.35;
}
.simple-expertise-cta{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  color:#e5c77f;
  background:rgba(255,255,255,.035);
  font-size:.61rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

/* Products / FAQ / location: tighter, quieter */
.products-section,
.faq-section,
.location{
  padding-top:96px;
  padding-bottom:96px;
}
.faq-layout{
  gap:70px;
}

/* Hide old sections/components that are no longer part of the simple direction */
.protocol-v47,
.protocol-track,
.expertise-v48,
.zone-atlas,
.service-section-v45,
.contact-section{
  display:none!important;
}

@media(max-width:1024px){
  .simple-zones-head{gap:32px}
  .simple-expertise-panel{
    grid-template-columns:130px 1fr;
    gap:25px;
  }
  .simple-expertise-points{
    grid-column:1 / span 2;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:18px;
  }
  .simple-expertise-cta{
    position:absolute;
    right:28px;
    top:28px;
  }
}

@media(max-width:740px){
  .simple-zones,
  .simple-expertise{
    padding:72px 0;
  }
  .simple-zones-head{
    grid-template-columns:1fr;
    gap:17px;
    margin-bottom:28px;
  }
  .simple-zones-title{
    font-size:clamp(2.9rem,11.5vw,4rem);
  }
  .simple-zones-head>p{
    justify-self:stretch;
  }
  .simple-zone-row{
    grid-template-columns:34px 1fr 38px;
    grid-template-areas:
      "idx title arrow"
      ". copy copy";
    gap:8px 10px;
    min-height:auto;
    padding:18px 3px;
  }
  .simple-zone-index{grid-area:idx}
  .simple-zone-row h3{grid-area:title;font-size:2rem}
  .simple-zone-row p{grid-area:copy}
  .simple-zone-arrow{grid-area:arrow;width:34px;height:34px}
  .simple-zones-cta{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    padding:17px;
  }
  .simple-expertise-panel{
    grid-template-columns:1fr;
    gap:20px;
    padding:24px 21px;
  }
  .simple-expertise-brand{
    height:66px;
    justify-content:flex-start;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:0 0 15px;
  }
  .simple-expertise-brand img{
    width:125px!important;
    max-height:60px!important;
  }
  .simple-expertise-copy h2{font-size:2.4rem}
  .simple-expertise-points{
    grid-column:auto;
    grid-template-columns:1fr;
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:4px;
  }
  .simple-expertise-points>div{
    display:grid;
    grid-template-columns:30px 1fr;
    gap:0 8px;
    padding:12px 0;
  }
  .simple-expertise-points>div+div{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.07);
  }
  .simple-expertise-points span{grid-row:1 / span 2;margin:0}
  .simple-expertise-cta{
    position:static;
    width:max-content;
  }
  .products-section,
  .faq-section,
  .location{
    padding-top:72px;
    padding-bottom:72px;
  }
}


/* ==========================================================
   V5.1 — HEADER PREMIUM
   Simple, équilibré, commercial, sans effet gadget.
   ========================================================== */

.site-header{
  height:84px;
  border-bottom:1px solid rgba(73,51,28,.07);
  background:rgba(249,245,238,.84);
  backdrop-filter:blur(18px) saturate(1.06);
  -webkit-backdrop-filter:blur(18px) saturate(1.06);
}

.site-header.is-scrolled{
  height:70px;
  border-bottom-color:rgba(73,51,28,.10);
  background:rgba(249,245,238,.94);
  box-shadow:0 12px 34px rgba(64,43,22,.055);
}

.header-progress{
  display:none;
}

.site-header .header-inner{
  width:min(100% - 44px,1440px);
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 190px;
  align-items:center;
  gap:20px;
}

.brand{
  width:max-content;
  min-width:0;
  justify-self:start;
}

.brand img,
.brand .custom-logo{
  width:142px;
  max-width:142px;
  max-height:58px;
  object-fit:contain;
  object-position:left center;
  transition:width .24s ease, opacity .24s ease, transform .24s ease;
}

.brand:hover img,
.brand:hover .custom-logo{
  transform:translateY(-1px);
}

.site-header.is-scrolled .brand img,
.site-header.is-scrolled .brand .custom-logo{
  width:126px;
  max-width:126px;
}

.site-nav-premium{
  justify-self:center;
  gap:4px;
  padding:5px;
  border:1px solid rgba(61,43,25,.075);
  border-radius:999px;
  background:rgba(255,255,255,.34);
}

.site-nav-premium a{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  color:rgba(31,24,18,.64);
  font-size:.72rem;
  font-weight:760;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:
    color .2s ease,
    background .2s ease,
    transform .2s ease;
}

.site-nav-premium a::after{
  display:none;
}

.site-nav-premium a:hover{
  color:#211912;
  background:rgba(255,255,255,.72);
  transform:translateY(-1px);
}

.site-nav-premium a.is-active{
  color:#6f4b22;
  background:rgba(203,158,77,.13);
  box-shadow:inset 0 0 0 1px rgba(181,123,49,.10);
}

.header-actions{
  justify-self:end;
  gap:8px;
}

.header-booking{
  min-width:154px;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
  padding:7px 8px 7px 17px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:999px;
  color:#fff;
  background:#18130f;
  box-shadow:0 12px 28px rgba(34,24,15,.10);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.header-booking:hover{
  transform:translateY(-1px);
  background:#241a12;
  box-shadow:0 16px 32px rgba(34,24,15,.15);
}

.header-booking-copy{
  display:grid;
  gap:0;
  text-align:left;
  line-height:1.05;
}

.header-booking-copy small{
  color:rgba(255,255,255,.44);
  font-size:.47rem;
  font-weight:680;
  letter-spacing:.035em;
}

.header-booking-copy strong{
  margin-top:2px;
  color:#fff;
  font-size:.72rem;
  font-weight:820;
}

.header-booking-arrow{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#251a10;
  background:linear-gradient(135deg,#efd48c,#c78e36);
  transition:transform .2s ease;
}

.header-booking:hover .header-booking-arrow{
  transform:translate(2px,-2px);
}

.site-header.is-scrolled .header-booking{
  min-height:44px;
}

.site-header.is-scrolled .header-booking-arrow{
  width:30px!important;
  height:30px!important;
  flex-basis:30px;
}

.cart-pill{
  border-color:rgba(64,46,28,.09);
  background:rgba(255,255,255,.50);
  box-shadow:none;
}

.menu-toggle{
  border-color:rgba(64,46,28,.10);
  background:rgba(255,255,255,.62);
  transition:background .2s ease, border-color .2s ease;
}

.menu-toggle:hover{
  border-color:rgba(174,116,46,.24);
  background:#fff;
}

/* Keep the header balanced when the cart appears. */
.header-actions:has(.cart-pill) .header-booking{
  min-width:142px;
}

@media(max-width:1240px) and (min-width:1101px){
  .site-header .header-inner{
    grid-template-columns:155px minmax(0,1fr) 170px;
    gap:12px;
  }

  .brand img,
  .brand .custom-logo{
    width:124px;
    max-width:124px;
  }

  .site-nav-premium a{
    padding-inline:10px;
    font-size:.68rem;
  }

  .header-booking{
    min-width:148px;
  }
}

/* Tablet / mobile menu becomes a clean premium panel. */
@media(max-width:1100px){
  .site-header{
    height:78px;
  }

  .site-header.is-scrolled{
    height:70px;
  }

  .site-header .header-inner{
    width:min(100% - 32px,1280px);
    display:flex;
    justify-content:space-between;
    gap:14px;
  }

  .site-nav-premium{
    position:fixed;
    inset:88px 16px auto;
    display:none;
    gap:0;
    padding:8px;
    border:1px solid rgba(65,46,27,.10);
    border-radius:22px;
    background:rgba(251,248,242,.98);
    box-shadow:0 24px 60px rgba(63,43,23,.13);
  }

  .site-header.is-scrolled .site-nav-premium{
    top:78px;
  }

  .site-nav-premium.is-open{
    display:flex;
  }

  .site-nav-premium a{
    min-height:50px;
    justify-content:flex-start;
    padding:0 14px;
    border-radius:13px;
    border-bottom:0;
    font-family:var(--serif);
    font-size:1.06rem;
    font-weight:580;
  }

  .site-nav-premium a + a{
    border-top:1px solid rgba(65,46,27,.06);
  }

  .site-nav-premium a:hover,
  .site-nav-premium a.is-active{
    background:rgba(205,160,80,.10);
    transform:none;
  }

  .header-booking{
    display:none;
  }

  .menu-toggle{
    display:grid;
  }
}

@media(max-width:720px){
  .site-header{
    height:72px;
  }

  .site-header.is-scrolled{
    height:66px;
  }

  .site-header .header-inner{
    width:calc(100% - 24px);
  }

  .brand img,
  .brand .custom-logo,
  .site-header.is-scrolled .brand img,
  .site-header.is-scrolled .brand .custom-logo{
    width:112px;
    max-width:112px;
    max-height:48px;
  }

  .site-nav-premium{
    inset:78px 12px auto;
  }

  .site-header.is-scrolled .site-nav-premium{
    inset:72px 12px auto;
  }

  .menu-toggle,
  .cart-pill{
    width:40px;
    height:40px;
    min-height:40px;
  }
}


/* ==========================================================
   V5.1.1 — HEADER / BARRE ADMIN WORDPRESS
   Empêche la barre WordPress de recouvrir le header fixe.
   ========================================================== */

body.admin-bar .site-header{
  top:32px;
}

/* Le panneau de navigation mobile est positionné par rapport à la fenêtre,
   donc il doit lui aussi intégrer la hauteur de la barre d'administration. */
@media(max-width:1100px){
  body.admin-bar .site-nav-premium{
    top:120px;
  }

  body.admin-bar .site-header.is-scrolled .site-nav-premium{
    top:110px;
  }
}

/* WordPress passe sa barre admin à 46px sous 782px. */
@media(max-width:782px){
  body.admin-bar .site-header{
    top:46px;
  }

  body.admin-bar .site-nav-premium{
    top:124px;
  }

  body.admin-bar .site-header.is-scrolled .site-nav-premium{
    top:118px;
  }
}

@media(max-width:720px){
  body.admin-bar .site-nav-premium{
    top:124px;
  }

  body.admin-bar .site-header.is-scrolled .site-nav-premium{
    top:118px;
  }
}


/* ==========================================================
   V5.1.2 — MESSAGE CONFIGURATEUR PREMIUM
   Mise en valeur du texte d'introduction uniquement.
   ========================================================== */

.config-premium-message{
  position:relative;
  max-width:590px;
  justify-self:end;
  align-self:end;
  padding:21px 23px 21px 25px;
  overflow:hidden;
  border:1px solid rgba(232,196,124,.16);
  border-radius:20px;
  background:
    linear-gradient(
      115deg,
      rgba(230,190,111,.10),
      rgba(255,255,255,.035) 52%,
      rgba(255,255,255,.018)
    );
  box-shadow:
    0 18px 46px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.config-premium-message::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(
    to bottom,
    rgba(239,211,149,.18),
    #deb76c 46%,
    rgba(239,211,149,.18)
  );
  box-shadow:0 0 15px rgba(222,183,108,.18);
}

.config-premium-message-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#deb76c;
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.config-premium-message-label::before{
  content:"";
  width:18px;
  height:1px;
  flex:0 0 18px;
  background:currentColor;
  opacity:.8;
}

.config-premium-message p{
  margin:0;
  display:grid;
  gap:7px;
}

.config-premium-message strong{
  max-width:26ch;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(1.55rem,2vw,2.05rem);
  line-height:1.08;
  letter-spacing:-.025em;
  font-weight:500;
}

.config-premium-message p>span{
  max-width:46ch;
  color:rgba(255,255,255,.58);
  font-size:.76rem;
  line-height:1.58;
}

/* La grille du header de section garde une vraie hiérarchie :
   titre fort à gauche, message commercial plus compact à droite. */
.config-head{
  align-items:end;
}

/* Tablet */
@media(max-width:1024px){
  .config-premium-message{
    max-width:500px;
    padding:19px 20px 19px 22px;
  }

  .config-premium-message strong{
    font-size:1.55rem;
  }
}

/* Mobile */
@media(max-width:720px){
  .config-premium-message{
    width:100%;
    max-width:none;
    justify-self:stretch;
    padding:18px 18px 18px 20px;
    border-radius:17px;
  }

  .config-premium-message::before{
    top:15px;
    bottom:15px;
  }

  .config-premium-message-label{
    margin-bottom:8px;
    font-size:.52rem;
  }

  .config-premium-message strong{
    max-width:none;
    font-size:1.42rem;
  }

  .config-premium-message p>span{
    max-width:none;
    font-size:.71rem;
    line-height:1.5;
  }
}


/* ==========================================================
   V5.2 — BOUTIQUE MASQUÉE
   WooCommerce reste installé mais sort du parcours public.
   ========================================================== */

.site-nav{
  gap:clamp(18px,2.2vw,34px);
}

.site-nav a{
  white-space:nowrap;
}

#produits,
.product-section{
  display:none!important;
}


/* ==========================================================
   V5.3 — BOUTIQUE PLANITY INTÉGRÉE
   ========================================================== */

.site-nav-premium{
  gap:clamp(10px,1.35vw,22px);
  padding-left:13px;
  padding-right:13px;
}

.site-nav-premium a{white-space:nowrap}

.planity-shop-page{
  min-height:100vh;
  color:#1a1510;
  background:#f7f1e8;
}

.planity-shop-hero{
  padding:154px 0 72px;
  background:
    radial-gradient(circle at 92% 12%,rgba(192,143,65,.12),transparent 28rem),
    linear-gradient(180deg,#fbf7f1,#f5ede2);
}

.planity-shop-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.72fr);
  gap:70px;
  align-items:end;
}

.planity-shop-hero h1{
  max-width:10.5ch;
  margin:13px 0 0;
  color:#17130f;
  font-family:var(--serif);
  font-size:clamp(3.7rem,5.9vw,6.3rem);
  line-height:.91;
  letter-spacing:-.052em;
  font-weight:500;
}

.planity-shop-hero h1 em{
  display:block;
  color:#a9712d;
  font-style:italic;
  font-weight:500;
}

.planity-shop-hero-copy{
  max-width:470px;
  justify-self:end;
}

.planity-shop-hero-copy p{
  margin:0 0 18px;
  color:rgba(42,33,25,.59);
  font-size:.94rem;
  line-height:1.7;
}

.planity-shop-hero-copy a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#795326;
  font-size:.62rem;
  font-weight:820;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.planity-shop-content{
  padding:0 0 96px;
  background:linear-gradient(180deg,#f5ede2,#faf7f1);
}

.planity-shop-shell{
  overflow:hidden;
  border:1px solid rgba(59,43,27,.09);
  border-radius:28px;
  background:#f6f7f8;
  box-shadow:0 28px 75px rgba(65,43,22,.10);
}

.planity-shop-shell-head{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:13px 18px;
  border-bottom:1px solid rgba(29,23,17,.08);
  background:#fff;
}

.planity-shop-shell-head>div{display:flex;align-items:center;gap:11px}
.planity-shop-shell-head>div>div{display:grid;gap:1px}

.planity-shop-status-dot{
  width:9px;height:9px;flex:0 0 9px;border-radius:50%;
  background:#65a26d;box-shadow:0 0 0 5px rgba(101,162,109,.11);
}

.planity-shop-shell-head small{
  color:#9d6e31;font-size:.53rem;font-weight:830;
  text-transform:uppercase;letter-spacing:.10em;
}

.planity-shop-shell-head strong{color:#221b15;font-size:.75rem;font-weight:830}
.planity-shop-secure{color:rgba(34,27,21,.42);font-size:.58rem;font-weight:690}

.el-planity-shop-container{
  min-height:620px;
  color:#111;
  background:#f6f7f8;
}

.el-planity-shop-container #planitywl{background:#f6f7f8!important}
.el-planity-shop-container #planitywl h2,
.el-planity-shop-container #planitywl h3{color:#17130f!important}
.el-planity-shop-container #planitywl button{border-radius:999px}

.planity-shop-fallback{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:13px 18px 15px;border-top:1px solid rgba(29,23,17,.08);background:#fff;
}

.planity-shop-fallback p{
  max-width:680px;margin:0;color:rgba(34,27,21,.47);font-size:.66rem;line-height:1.5;
}

.planity-shop-fallback a{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  padding:9px 13px;border-radius:999px;color:#fff;background:#1b1611;
  font-size:.61rem;font-weight:800;text-decoration:none;
}

.planity-shop-unavailable{
  min-height:350px;display:grid;place-content:center;gap:6px;padding:30px;text-align:center;
}
.planity-shop-unavailable strong{font-family:var(--serif);font-size:1.7rem;font-weight:500}
.planity-shop-unavailable p{margin:0;color:rgba(34,27,21,.5);font-size:.76rem}

.planity-shop-reassurance{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:22px;padding-top:18px;border-top:1px solid rgba(49,37,25,.08);
}
.planity-shop-reassurance>div{display:grid;grid-template-columns:28px 1fr;gap:9px;padding-right:18px}
.planity-shop-reassurance>div+div{padding-left:18px;border-left:1px solid rgba(49,37,25,.08)}
.planity-shop-reassurance>div>span{color:#af7730;font-family:var(--serif);font-size:.72rem}
.planity-shop-reassurance p{margin:0;display:grid;gap:2px}
.planity-shop-reassurance strong{color:#2d241c;font-size:.67rem}
.planity-shop-reassurance small{color:rgba(45,36,28,.44);font-size:.55rem}

@media(max-width:1100px){
  .site-nav-premium{gap:9px}
  .site-nav-premium a{padding-left:8px;padding-right:8px}
}

@media(max-width:1024px){
  .planity-shop-hero{padding-top:132px}
  .planity-shop-hero-grid{grid-template-columns:1fr .8fr;gap:35px}
}

@media(max-width:720px){
  .planity-shop-hero{padding:112px 0 48px}
  .planity-shop-hero-grid{grid-template-columns:1fr;gap:18px}
  .planity-shop-hero h1{font-size:clamp(3rem,12vw,4.3rem)}
  .planity-shop-hero-copy{max-width:none;justify-self:stretch}
  .planity-shop-content{padding-bottom:72px}
  .planity-shop-shell{border-radius:20px}
  .planity-shop-shell-head{min-height:62px;align-items:flex-start;flex-direction:column;gap:6px}
  .planity-shop-secure{padding-left:20px}
  .el-planity-shop-container{min-height:540px}
  .planity-shop-fallback{align-items:flex-start;flex-direction:column}
  .planity-shop-fallback a{width:100%;justify-content:center}
  .planity-shop-reassurance{grid-template-columns:1fr}
  .planity-shop-reassurance>div{padding:10px 0!important;border-left:0!important;border-bottom:1px solid rgba(49,37,25,.06)}
}


/* V5.3.1 — Boutique/Kits Planity */
.el-planity-shop-container{
  position:relative;
}
.el-planity-shop-container:empty::before{
  content:"Chargement des kits Planity…";
  position:absolute;
  inset:42px 24px auto;
  display:flex;
  justify-content:center;
  color:rgba(34,27,21,.48);
  font-size:.72rem;
  font-weight:650;
}
.el-planity-shop-container #planitywl{
  min-height:460px;
}


/* ==========================================================
   V5.4 — EXPÉRIENCE MOBILE PREMIUM
   Mobile uniquement : centrage, lisibilité, touch targets,
   espacements, menu, Boutique Planity et safe areas.
   Le rendu desktop reste inchangé.
   ========================================================== */

@media(max-width:720px){

  /* ---------- Global / safe areas ---------- */
  html{
    scroll-padding-top:86px;
    -webkit-text-size-adjust:100%;
  }

  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px));
    overflow-x:hidden;
  }

  body.menu-open{
    overflow:hidden;
  }

  body.menu-open::before{
    content:"";
    position:fixed;
    z-index:900;
    inset:0;
    background:rgba(21,16,12,.28);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }

  .container{
    width:min(100% - 28px,1280px);
  }

  /* Centrage cohérent de tous les blocs éditoriaux */
  .eyebrow,
  .hero-signature-copy,
  .simple-zones-head,
  .simple-expertise-copy,
  .faq-intro,
  .location-copy,
  .config-head,
  .planity-shop-hero,
  .planity-shop-hero-copy,
  .footer-brand,
  .footer-topline,
  .footer-bottom{
    text-align:center;
  }

  .eyebrow{
    display:block;
    width:100%;
  }

  /* ---------- Header ---------- */
  .site-header,
  .site-header.is-scrolled{
    height:68px;
  }

  .site-header .header-inner{
    width:calc(100% - 20px);
    min-height:68px;
    gap:10px;
  }

  .brand{
    display:flex;
    align-items:center;
  }

  .brand img,
  .brand .custom-logo,
  .site-header.is-scrolled .brand img,
  .site-header.is-scrolled .brand .custom-logo{
    width:108px;
    max-width:108px;
    max-height:46px;
  }

  .menu-toggle{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    border-radius:14px;
    -webkit-tap-highlight-color:transparent;
  }

  .site-nav-premium,
  .site-header.is-scrolled .site-nav-premium{
    z-index:1100;
    top:76px;
    left:10px;
    right:10px;
    bottom:auto;
    max-height:calc(100dvh - 96px - env(safe-area-inset-bottom, 0px));
    overflow:auto;
    overscroll-behavior:contain;
    padding:8px;
    border-radius:22px;
    box-shadow:0 28px 70px rgba(42,28,17,.20);
  }

  .site-nav-premium a{
    min-height:54px;
    justify-content:center;
    padding:0 14px;
    text-align:center;
    font-size:1.08rem;
  }

  body.admin-bar .site-nav-premium,
  body.admin-bar .site-header.is-scrolled .site-nav-premium{
    top:122px;
  }

  /* ---------- Hero ---------- */
  .hero-signature{
    padding:94px 0 34px;
  }

  .hero-signature-grid{
    gap:26px;
  }

  .hero-signature-copy{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .hero-signature-eyebrow{
    justify-content:center;
    margin-bottom:14px;
  }

  .hero-signature-eyebrow-line{
    display:none;
  }

  .hero-signature-title-final{
    max-width:8.8ch;
    margin-inline:auto;
    font-size:clamp(3rem,13vw,4.1rem);
    line-height:.92;
    text-wrap:balance;
  }

  .hero-signature-subtitle{
    max-width:13ch;
    margin:10px auto 0;
    font-size:clamp(1.45rem,6.4vw,1.95rem);
    line-height:1.04;
    text-wrap:balance;
  }

  .hero-signature-lead{
    max-width:34ch;
    margin:17px auto 20px;
    font-size:.94rem;
    line-height:1.6;
    text-align:center;
  }

  .hero-signature-actions{
    width:100%;
    max-width:420px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-inline:auto;
  }

  .hero-signature-primary,
  .hero-signature-secondary{
    width:100%;
    min-height:62px;
    justify-content:center;
    text-align:center;
    border-radius:18px;
    -webkit-tap-highlight-color:transparent;
  }

  .hero-signature-primary{
    grid-template-columns:1fr 38px;
    padding-left:20px;
  }

  .hero-signature-primary-copy{
    text-align:center;
  }

  .hero-signature-secondary{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .hero-signature-trust{
    width:100%;
    max-width:410px;
    margin:18px auto 0;
    padding-top:10px;
  }

  .hero-signature-trust>div{
    grid-template-columns:32px 1fr 32px;
    padding:10px 0!important;
    text-align:center;
  }

  .hero-signature-trust>div::after{
    content:"";
    width:32px;
  }

  .hero-signature-trust p{
    text-align:center;
  }

  .hero-signature-visual{
    min-height:330px;
    display:grid;
    place-items:center;
  }

  .hero-signature-panel{
    width:min(360px,90vw);
    border-radius:25px;
  }

  .hero-signature-emblem{
    width:66%;
  }

  .hero-signature-panel-label,
  .hero-signature-coord{
    opacity:.72;
  }

  .hero-signature-panel-note-final{
    left:15px;
    right:15px;
    bottom:15px;
    justify-content:center;
    text-align:center;
  }

  .hero-signature-panel-note-left{
    justify-content:center;
  }

  .hero-signature-panel-note-left>div{
    text-align:center;
  }

  .hero-signature-live{
    display:none;
  }

  .hero-signature-bottom{
    margin-top:6px;
  }

  .hero-signature-bottom .container{
    justify-content:center;
    text-align:center;
  }

  /* ---------- Prestations / zones ---------- */
  .simple-zones,
  .simple-expertise,
  .faq-section,
  .location,
  .config-section{
    padding-top:64px;
    padding-bottom:64px;
  }

  .simple-zones-head{
    gap:14px;
    margin-bottom:24px;
  }

  .simple-zones-title,
  .section-title{
    margin-inline:auto;
    text-align:center;
    text-wrap:balance;
  }

  .simple-zones-title{
    max-width:9.5ch;
    font-size:clamp(2.75rem,11.5vw,3.75rem);
  }

  .simple-zones-head>p{
    max-width:34ch;
    margin-inline:auto;
    text-align:center;
    line-height:1.62;
  }

  .simple-zones-list{
    display:grid;
    gap:10px;
    border-top:0;
  }

  .simple-zone-row{
    grid-template-columns:1fr;
    grid-template-areas:
      "idx"
      "title"
      "copy"
      "arrow";
    justify-items:center;
    gap:5px;
    min-height:0;
    padding:18px 16px;
    border:1px solid rgba(49,37,25,.08);
    border-radius:18px;
    background:rgba(255,255,255,.48);
    text-align:center;
    -webkit-tap-highlight-color:transparent;
  }

  .simple-zone-row + .simple-zone-row{
    margin-top:0;
  }

  .simple-zone-index{
    margin-bottom:2px;
    font-size:.68rem;
  }

  .simple-zone-row h3{
    font-size:clamp(1.9rem,8vw,2.3rem);
    line-height:1;
  }

  .simple-zone-row p{
    max-width:30ch;
    margin-inline:auto;
    text-align:center;
    line-height:1.5;
  }

  .simple-zone-arrow{
    width:38px;
    height:38px;
    margin-top:7px;
  }

  .simple-zones-cta{
    align-items:center;
    flex-direction:column;
    gap:12px;
    margin-top:18px;
    padding:18px 16px;
    text-align:center;
    border-radius:18px;
  }

  .simple-zones-cta p{
    max-width:32ch;
    margin-inline:auto;
    text-align:center;
  }

  .simple-zones-cta a{
    min-height:46px;
    justify-content:center;
    padding:0 17px;
  }

  /* ---------- Configurateur intro ---------- */
  .config-head{
    gap:18px;
    margin-bottom:20px;
  }

  .config-head>div:first-child{
    width:100%;
    text-align:center;
  }

  .config-head .section-title{
    max-width:8.5ch;
    margin-inline:auto;
    font-size:clamp(2.8rem,12vw,3.8rem);
  }

  .config-premium-message{
    max-width:430px;
    margin-inline:auto;
    padding:19px 17px;
    text-align:center;
    border-radius:18px;
  }

  .config-premium-message::before{
    left:50%;
    top:0;
    bottom:auto;
    width:54px;
    height:2px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,#deb76c,transparent);
  }

  .config-premium-message-label{
    justify-content:center;
    margin-bottom:9px;
  }

  .config-premium-message-label::before{
    display:none;
  }

  .config-premium-message strong,
  .config-premium-message p>span{
    max-width:none;
    margin-inline:auto;
    text-align:center;
  }

  .config-premium-message strong{
    font-size:1.48rem;
    line-height:1.12;
  }

  .config-premium-message p>span{
    max-width:35ch;
    font-size:.76rem;
    line-height:1.55;
  }

  /* ---------- Expertise ---------- */
  .simple-expertise-panel{
    gap:18px;
    padding:24px 18px;
    text-align:center;
    border-radius:22px;
  }

  .simple-expertise-brand{
    height:auto;
    justify-content:center;
    padding:0 0 17px;
  }

  .simple-expertise-brand img{
    width:138px!important;
    max-height:66px!important;
    margin-inline:auto;
  }

  .simple-expertise-copy{
    text-align:center;
  }

  .simple-expertise-copy h2{
    max-width:11ch;
    margin-inline:auto;
    font-size:clamp(2.2rem,10vw,2.8rem);
    text-wrap:balance;
  }

  .simple-expertise-copy p{
    max-width:35ch;
    margin-inline:auto;
    text-align:center;
  }

  .simple-expertise-points{
    gap:0;
    padding-top:6px;
  }

  .simple-expertise-points>div{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
    padding:14px 4px;
    text-align:center;
  }

  .simple-expertise-points span{
    margin:0 0 3px;
  }

  .simple-expertise-points strong,
  .simple-expertise-points small{
    text-align:center;
  }

  .simple-expertise-cta{
    width:100%;
    max-width:330px;
    min-height:48px;
    justify-content:center;
    margin-inline:auto;
    text-align:center;
  }

  /* ---------- FAQ ---------- */
  .faq-layout{
    gap:24px;
  }

  .faq-intro{
    text-align:center;
  }

  .faq-intro .section-title{
    max-width:9ch;
    margin-inline:auto;
  }

  .faq-intro .lead{
    max-width:34ch;
    margin-inline:auto;
    text-align:center;
  }

  .faq-question{
    min-height:62px;
    display:grid;
    grid-template-columns:1fr 32px;
    gap:6px;
    align-items:center;
    padding:17px 4px;
    text-align:center;
    line-height:1.25;
    -webkit-tap-highlight-color:transparent;
  }

  .faq-question>span:first-child{
    padding-left:32px;
    text-align:center;
  }

  .faq-answer p{
    max-width:36ch;
    margin-inline:auto;
    padding-inline:6px;
    text-align:center;
    line-height:1.6;
  }

  /* ---------- Contact ---------- */
  .location-grid{
    overflow:hidden;
    border-radius:22px;
  }

  .map-card{
    min-height:320px;
  }

  .map-address-chip{
    left:14px;
    right:14px;
    top:14px;
    text-align:center;
  }

  .map-address-chip span,
  .map-address-chip strong{
    display:block;
    text-align:center;
  }

  .map-cta{
    left:50%;
    right:auto;
    bottom:16px;
    transform:translateX(-50%);
    white-space:nowrap;
  }

  .location-copy{
    padding:28px 18px;
    text-align:center;
  }

  .location-copy h2{
    max-width:10ch;
    margin-inline:auto;
    font-size:clamp(2.5rem,11vw,3.15rem);
  }

  .location-copy p,
  .location-copy .lead{
    max-width:35ch;
    margin-inline:auto;
    text-align:center;
  }

  .location-copy .hero-actions{
    width:100%;
    max-width:360px;
    margin-inline:auto;
  }

  .location-copy .btn{
    width:100%;
    justify-content:center;
  }

  /* ---------- Boutique Planity ---------- */
  .planity-shop-hero{
    padding:102px 0 42px;
  }

  .planity-shop-hero-grid{
    gap:16px;
  }

  .planity-shop-hero h1{
    max-width:9ch;
    margin:10px auto 0;
    font-size:clamp(2.9rem,12vw,4rem);
    text-align:center;
    text-wrap:balance;
  }

  .planity-shop-hero-copy{
    text-align:center;
  }

  .planity-shop-hero-copy p{
    max-width:35ch;
    margin:0 auto 16px;
    text-align:center;
    font-size:.9rem;
    line-height:1.62;
  }

  .planity-shop-hero-copy a{
    min-height:44px;
    justify-content:center;
    margin-inline:auto;
  }

  .planity-shop-content{
    padding-bottom:64px;
  }

  .planity-shop-shell{
    border-radius:18px;
    box-shadow:0 20px 55px rgba(65,43,22,.09);
  }

  .planity-shop-shell-head{
    align-items:center;
    min-height:0;
    flex-direction:column;
    gap:7px;
    padding:15px 14px;
    text-align:center;
  }

  .planity-shop-shell-head>div{
    justify-content:center;
  }

  .planity-shop-shell-head>div>div{
    justify-items:center;
    text-align:center;
  }

  .planity-shop-secure{
    padding-left:0;
    text-align:center;
  }

  .el-planity-shop-container{
    min-height:500px;
  }

  .el-planity-shop-container:empty::before{
    inset:32px 16px auto;
    text-align:center;
  }

  .planity-shop-fallback{
    align-items:center;
    flex-direction:column;
    gap:12px;
    padding:15px;
    text-align:center;
  }

  .planity-shop-fallback p{
    max-width:36ch;
    margin-inline:auto;
    text-align:center;
  }

  .planity-shop-fallback a{
    width:100%;
    max-width:340px;
    min-height:46px;
    justify-content:center;
  }

  .planity-shop-reassurance{
    margin-top:18px;
  }

  .planity-shop-reassurance>div{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding:13px 4px!important;
    text-align:center;
  }

  .planity-shop-reassurance p,
  .planity-shop-reassurance strong,
  .planity-shop-reassurance small{
    text-align:center;
  }

  /* ---------- Planity embedded readability ---------- */
  .el-planity-shop-container #planitywl{
    max-width:100%;
    overflow-x:hidden;
  }

  .el-planity-shop-container #planitywl button,
  .el-planity-shop-container #planitywl a{
    min-height:44px;
    -webkit-tap-highlight-color:transparent;
  }

  /* ---------- Footer ---------- */
  .site-footer{
    padding-bottom:26px;
  }

  .footer-topline{
    align-items:center;
    text-align:center;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:28px;
    text-align:center;
  }

  .footer-grid>div,
  .footer-grid>div:last-child,
  .footer-brand{
    grid-column:1;
    text-align:center;
  }

  .footer-logo{
    width:150px;
    margin-inline:auto;
  }

  .footer-copy{
    max-width:34ch;
    margin-inline:auto;
    text-align:center;
  }

  .footer-booking{
    min-height:48px;
    justify-content:center;
    margin-inline:auto;
  }

  .footer-title,
  .footer-links,
  .footer-links a{
    text-align:center;
  }

  .footer-links{
    align-items:center;
  }

  .footer-bottom{
    align-items:center;
    text-align:center;
  }

  /* ---------- Bottom conversion bar ---------- */
  .mobile-action-bar{
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom, 0px));
    height:64px;
    grid-template-columns:1fr 1.15fr;
    gap:7px;
    padding:6px;
    border-radius:20px;
  }

  .mobile-action-bar a{
    min-height:52px;
    border-radius:14px;
    text-align:center;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-action-bar a span,
  .mobile-action-bar a strong{
    text-align:center;
  }

  /* Smooth, but never forced animated scrolling */
  :where(a,button){
    touch-action:manipulation;
  }
}

/* Très petits téléphones */
@media(max-width:390px){
  .hero-signature-title-final{
    font-size:2.78rem;
  }

  .hero-signature-panel{
    width:92vw;
  }

  .simple-zones-title,
  .config-head .section-title{
    font-size:2.62rem;
  }

  .site-nav-premium a{
    min-height:51px;
    font-size:1rem;
  }
}


/* ==========================================================
   V5.4.1 — MOBILE PLACEMENT FIX
   Corrige les superpositions sans changer la DA V5.4.
   ========================================================== */

@media(max-width:720px){

  /* Barre basse : animation propre et possibilité de la retirer
     des zones interactives (configurateur / Planity / footer). */
  .mobile-action-bar{
    transition:
      transform .28s cubic-bezier(.2,.8,.2,1),
      opacity .22s ease,
      visibility .22s ease;
    will-change:transform,opacity;
  }

  body.mobile-focus-mode .mobile-action-bar{
    transform:translateY(calc(100% + 28px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }

  /* Quand la barre disparaît, on n'a plus besoin de réserver
     artificiellement autant d'espace en bas de page. */
  body.mobile-focus-mode{
    padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  }

  /* ---------- Alignement des CTA ---------- */
  .hero-signature-actions,
  .location-copy .hero-actions,
  .simple-zones-cta,
  .simple-expertise-copy,
  .faq-intro,
  .planity-shop-hero-copy{
    margin-left:auto;
    margin-right:auto;
  }

  .simple-zones-cta{
    justify-content:center;
  }

  .simple-zones-cta a,
  .simple-expertise-cta,
  .location-copy .btn,
  .planity-shop-hero-copy a,
  .planity-shop-fallback a{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    margin-left:auto;
    margin-right:auto;
  }

  /* Empêche les anciennes règles desktop de pousser des contenus
     hors centre sur de petits écrans. */
  .config-head>*,
  .simple-zones-head>*,
  .simple-expertise-panel>*,
  .location-copy>*,
  .faq-intro>*{
    justify-self:center;
  }

  .config-premium-message,
  .simple-zones-head>p,
  .simple-expertise-copy p,
  .location-copy p,
  .faq-intro .lead{
    width:100%;
  }

  /* Titres : pas de débordement ni de décalage causé par les italics. */
  .section-title,
  .simple-zones-title,
  .simple-expertise-copy h2,
  .location-copy h2,
  .planity-shop-hero h1{
    padding-left:2px;
    padding-right:2px;
    overflow-wrap:normal;
  }

  /* Le bouton Google Maps reste centré sans sortir de la carte. */
  .map-cta{
    max-width:calc(100% - 28px);
    justify-content:center;
  }

  /* Planity et formulaires : aucune largeur héritée ne doit déborder. */
  .el-planity-shop-container,
  .el-planity-shop-container #planitywl,
  .planity-shop-shell,
  .config-section .el-config-shell{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* Le footer ne passe jamais sous une barre qui se réaffiche. */
  .site-footer{
    scroll-margin-bottom:84px;
  }
}


/* ==========================================================
   V5.4.2 — CONTACT MOBILE AFFINÉ
   Carte adresse recentrée proprement sur mobile.
   ========================================================== */

@media(max-width:720px){
  .map-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:18px;
    padding:18px 14px 96px;
  }

  .map-address-chip{
    position:relative;
    inset:auto;
    width:min(100%, 330px);
    margin:0 auto;
    padding:18px 18px 16px;
    text-align:center;
  }

  .map-address-chip span,
  .map-address-chip strong{
    width:100%;
    text-align:center;
  }

  .map-pin{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    margin:0 auto;
  }

  .map-cta{
    left:50%;
    right:auto;
    bottom:18px;
    transform:translateX(-50%);
    width:max-content;
    max-width:calc(100% - 28px);
  }
}


/* V5.4.3 — pin carte sans monogramme */
.map-pin span{display:none;}


/* V5.4.4 — suppression totale de l'icone carte mobile */
.map-pin{display:none !important;}

/* ==========================================================
   V5.5 — CONSOLIDATION FINALE
   Corrections visuelles intégrées au thème :
   - parcours mobile du hero ;
   - hero Boutique desktop ;
   - lisibilité Planity sur mobile ;
   - Complianz compact sur la Boutique mobile.
   ========================================================== */

/* Parcours Hero V5.5.1 — une seule structure DOM sur PC et mobile. */
.hero-journey{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:4px 8px;
  width:100%;
}

.hero-journey>span{
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  white-space:nowrap;
}

.hero-journey b,
.hero-journey i{
  font:inherit;
  font-style:normal;
}

.hero-journey b{
  color:rgba(255,255,255,.95);
  font-weight:800;
}

.hero-journey i{
  color:rgba(255,255,255,.88);
  font-weight:650;
}

/* Neutralise les anciens mini-correctifs s'ils restent encore en cache/DOM. */
.elmp-fixed-journey,
.elmp-track-v120,
.elmp-track-v130,
.elmp-track-v140{
  display:none!important;
}

/* ---------- Boutique : titre desktop plus ample, grille équilibrée ---------- */
@media(min-width:1100px){
  .planity-shop-hero-grid{
    grid-template-columns:minmax(0,1.34fr) minmax(350px,.66fr);
    gap:46px;
    align-items:end;
  }

  .planity-shop-hero h1{
    max-width:12ch;
    font-size:clamp(4.45rem,6.15vw,6.95rem);
    line-height:.88;
    letter-spacing:-.055em;
  }

  .planity-shop-hero-copy{
    max-width:430px;
  }
}

/* ---------- Hero : parcours premium et stable sur téléphone ---------- */
@media(max-width:720px){
  .hero-signature-panel-note-final{
    left:16px!important;
    right:16px!important;
    bottom:15px!important;
    display:grid!important;
    grid-template-columns:minmax(0,.95fr) minmax(150px,1.05fr)!important;
    align-items:end!important;
    justify-content:stretch!important;
    gap:10px!important;
    text-align:initial!important;
  }

  .hero-signature-panel-note-left{
    min-width:0!important;
    justify-content:flex-start!important;
  }

  .hero-signature-panel-note-left>div{
    min-width:0!important;
    text-align:left!important;
  }

  .hero-signature-panel-note-left strong{
    display:block!important;
    max-width:16ch!important;
    font-size:.54rem!important;
    line-height:1.28!important;
    white-space:normal!important;
  }

  .hero-signature-panel-note-right{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    transform:none!important;
    rotate:0deg!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    text-align:center!important;
  }

  .hero-signature-panel-note-right>small{
    position:static!important;
    display:block!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:0!important;
    transform:none!important;
    rotate:0deg!important;
    writing-mode:horizontal-tb!important;
    text-align:center!important;
    white-space:nowrap!important;
    color:rgba(255,255,255,.48)!important;
    font-size:.46rem!important;
    line-height:1!important;
    letter-spacing:.11em!important;
  }

  .hero-journey{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    margin:0 auto!important;
    padding-top:10px!important;
    gap:0!important;
    text-align:center!important;
  }

  .hero-journey::before{
    content:"";
    position:absolute;
    top:2px;
    left:16.66%;
    right:16.66%;
    height:1px;
    background:rgba(212,169,86,.45);
  }

  .hero-journey>span{
    position:relative!important;
    display:flex!important;
    min-width:0!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:0!important;
    padding:0 1px!important;
    white-space:normal!important;
  }

  .hero-journey>span::before{
    content:"";
    position:absolute;
    top:-10px;
    left:50%;
    width:5px;
    height:5px;
    transform:translateX(-50%);
    border-radius:50%;
    background:#d4a956;
  }

  .hero-journey b{
    display:block!important;
    margin:0 0 2px!important;
    color:#d4a956!important;
    font-size:.44rem!important;
    line-height:1!important;
    font-weight:800!important;
  }

  .hero-journey i{
    display:block!important;
    color:rgba(255,255,255,.92)!important;
    font-size:.43rem!important;
    line-height:1.1!important;
    font-weight:650!important;
    font-style:normal!important;
    white-space:nowrap!important;
  }

  /* ---------- Boutique / Planity : mobile lisible et centré ---------- */
  body.el-boutique-page #el-planity-shop-container,
  body.el-boutique-page #planitywl{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  body.el-boutique-page #planitywl *,
  body.el-boutique-page #el-planity-shop-container *{
    box-sizing:border-box!important;
    max-width:100%;
  }

  body.el-boutique-page .el-planity-mobile-text{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:8px!important;
    padding-right:8px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    text-indent:0!important;
    text-overflow:clip!important;
  }

  body.el-boutique-page #planitywl h1,
  body.el-boutique-page #planitywl h2,
  body.el-boutique-page #planitywl h3,
  body.el-boutique-page #planitywl h4,
  body.el-boutique-page #planitywl h5,
  body.el-boutique-page #planitywl p{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:12px!important;
    padding-right:12px!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  body.el-boutique-page #planitywl p{
    line-height:1.45!important;
  }

  body.el-boutique-page #planitywl [class*="service"],
  body.el-boutique-page #planitywl [class*="appointment"],
  body.el-boutique-page #planitywl [class*="prestation"]{
    min-width:0!important;
    max-width:100%!important;
  }

  /* ---------- Boutique : Complianz compact, boutons Planity dégagés ---------- */
  body.el-boutique-page .cmplz-cookiebanner{
    left:10px!important;
    right:auto!important;
    top:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    width:min(245px,calc(100vw - 150px))!important;
    min-width:210px!important;
    max-width:245px!important;
    margin:0!important;
    padding:12px 14px!important;
    border-radius:18px!important;
    max-height:42vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
    z-index:999999!important;
  }

  body.el-boutique-page .cmplz-cookiebanner .cmplz-title{
    margin:0 0 6px!important;
    font-size:14px!important;
    line-height:1.15!important;
  }

  body.el-boutique-page .cmplz-cookiebanner .cmplz-message{
    margin:0 0 8px!important;
    font-size:11px!important;
    line-height:1.3!important;
  }

  body.el-boutique-page .cmplz-cookiebanner .cmplz-buttons{
    gap:6px!important;
  }

  body.el-boutique-page .cmplz-cookiebanner .cmplz-btn{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:11px!important;
    line-height:1.1!important;
    border-radius:10px!important;
  }

  body.el-boutique-page .cmplz-cookiebanner .cmplz-close{
    width:26px!important;
    height:26px!important;
  }
}

@media(max-width:380px){
  body.el-boutique-page .cmplz-cookiebanner{
    width:220px!important;
    min-width:200px!important;
  }
}


/* ==========================================================
   V5.5.2 — FINITION HERO / PARCOURS
   Refonte propre du footer de la carte signature.
   Objectif : hiérarchie calme, alignement premium, aucun chevauchement.
   ========================================================== */

/* Le repère 03 / BOOK doublonne le parcours : on le retire. */
.hero-signature-coord-bottom{
  display:none!important;
}

/* Desktop / tablette large */
@media(min-width:741px){
  .hero-signature-panel-note-final{
    left:30px!important;
    right:30px!important;
    bottom:26px!important;
    display:grid!important;
    grid-template-columns:minmax(0,.88fr) minmax(250px,1.12fr)!important;
    align-items:end!important;
    gap:28px!important;
    padding-top:17px!important;
    border-top:1px solid rgba(255,255,255,.09)!important;
  }

  .hero-signature-panel-note-left{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
  }

  .hero-signature-panel-note-left>div{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
    min-width:0!important;
    text-align:left!important;
  }

  .hero-signature-panel-note-left small{
    margin:0!important;
    color:rgba(255,255,255,.34)!important;
    font-size:.47rem!important;
    line-height:1!important;
    letter-spacing:.115em!important;
  }

  .hero-signature-panel-note-left strong{
    margin:0!important;
    color:rgba(255,255,255,.82)!important;
    font-size:.57rem!important;
    line-height:1.25!important;
    font-weight:680!important;
    white-space:nowrap!important;
  }

  .hero-signature-panel-note-right{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    text-align:right!important;
  }

  .hero-signature-panel-note-right>small{
    display:block!important;
    margin:0 0 9px!important;
    color:rgba(255,255,255,.34)!important;
    font-size:.46rem!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }

  .hero-journey{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    max-width:300px!important;
    margin-left:auto!important;
    gap:0!important;
    align-items:center!important;
    justify-content:stretch!important;
    padding:0!important;
    text-align:center!important;
  }

  .hero-journey>span{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-width:0!important;
    padding:0 9px!important;
    white-space:nowrap!important;
  }

  .hero-journey>span+span::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:50%!important;
    width:1px!important;
    height:22px!important;
    transform:translateY(-50%)!important;
    background:linear-gradient(to bottom,transparent,rgba(217,177,93,.32),transparent)!important;
  }

  .hero-journey b,
  .hero-journey i{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-style:normal!important;
    white-space:nowrap!important;
  }

  .hero-journey b{
    color:#d9b15d!important;
    font-size:.46rem!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
  }

  .hero-journey i{
    color:rgba(255,255,255,.86)!important;
    font-size:.53rem!important;
    line-height:1.05!important;
    font-weight:650!important;
    letter-spacing:-.01em!important;
  }
}

/* Écrans desktop plus étroits : on garde la finesse sans tasser. */
@media(min-width:741px) and (max-width:1180px){
  .hero-signature-panel-note-final{
    grid-template-columns:minmax(0,.82fr) minmax(225px,1.18fr)!important;
    gap:18px!important;
  }

  .hero-signature-panel-note-left strong{
    white-space:normal!important;
    max-width:18ch!important;
  }

  .hero-journey{
    max-width:265px!important;
  }

  .hero-journey>span{
    padding-inline:6px!important;
  }

  .hero-journey i{
    font-size:.49rem!important;
  }
}

/* Mobile : la même logique, adaptée en mini-timeline nette. */
@media(max-width:740px){
  .hero-signature-panel-note-final{
    left:16px!important;
    right:16px!important;
    bottom:15px!important;
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(150px,1.1fr)!important;
    align-items:end!important;
    gap:12px!important;
    padding-top:12px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }

  .hero-signature-panel-note-right{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
    transform:none!important;
    rotate:0deg!important;
    writing-mode:horizontal-tb!important;
  }

  .hero-signature-panel-note-right>small{
    display:block!important;
    width:100%!important;
    margin:0 0 8px!important;
    color:rgba(255,255,255,.42)!important;
    font-size:.44rem!important;
    line-height:1!important;
    letter-spacing:.115em!important;
    text-align:center!important;
    white-space:nowrap!important;
    transform:none!important;
    rotate:0deg!important;
    writing-mode:horizontal-tb!important;
  }

  .hero-journey{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    max-width:190px!important;
    margin:0 auto!important;
    padding-top:10px!important;
    gap:0!important;
    text-align:center!important;
  }

  .hero-journey::before{
    content:""!important;
    position:absolute!important;
    top:2px!important;
    left:16.66%!important;
    right:16.66%!important;
    height:1px!important;
    background:rgba(212,169,86,.42)!important;
  }

  .hero-journey>span{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:2px!important;
    min-width:0!important;
    padding:0 1px!important;
    white-space:normal!important;
  }

  .hero-journey>span::before{
    content:""!important;
    position:absolute!important;
    top:-10px!important;
    left:50%!important;
    width:5px!important;
    height:5px!important;
    transform:translateX(-50%)!important;
    border-radius:50%!important;
    background:#d4a956!important;
    box-shadow:0 0 0 2px rgba(212,169,86,.10)!important;
  }

  .hero-journey b{
    display:block!important;
    margin:0!important;
    color:#d4a956!important;
    font-size:.43rem!important;
    line-height:1!important;
    font-weight:800!important;
  }

  .hero-journey i{
    display:block!important;
    margin:0!important;
    color:rgba(255,255,255,.9)!important;
    font-size:.42rem!important;
    line-height:1.08!important;
    font-weight:650!important;
    font-style:normal!important;
    white-space:nowrap!important;
  }
}
