/* ============================================================
   JARTIT — Gestion Locative (page dédiée)
   Palette : gris clair / sable / noir profond. Aucun doré.
   ============================================================ */

:root{
  --gl-bg:        #F5F4F1;
  --gl-bg-alt:    #F7F4EF;
  --gl-bg-deep:   #EAE7E0;
  --gl-ink:       #1A1A1A;
  --gl-ink-soft:  #5C5A55;
  --gl-ink-mute:  #8A8780;
  --gl-line:      rgba(26,26,26,.14);
  --gl-line-soft: rgba(26,26,26,.08);

  --gl-serif:     "Cormorant Garamond", "Bodoni Moda", serif;
  --gl-sans:      "DM Sans", "Inter", system-ui, sans-serif;

  --gl-ease:      cubic-bezier(.2,.7,.2,1);
  --gl-wrap:      1240px;
}

*, *::before, *::after{ box-sizing:border-box; }

html{ scroll-behavior:auto; } /* let Lenis handle smooth scroll */

body.gl{
  margin:0;
  background:var(--gl-bg);
  color:var(--gl-ink);
  font-family:var(--gl-sans);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.gl img, body.gl video{ display:block; max-width:100%; }
body.gl a{ color:inherit; text-decoration:none; }
body.gl ::selection{ background:var(--gl-ink); color:var(--gl-bg); }

.gl-wrap{
  max-width:var(--gl-wrap);
  margin-inline:auto;
  padding-inline:clamp(20px, 4vw, 56px);
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.gl-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(245,244,241,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gl-line-soft);
  transition:background .3s var(--gl-ease);
}
.gl-nav__row{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.gl-nav__brand{
  display:inline-flex; align-items:center; gap:.55em;
  font-family:var(--gl-serif); font-weight:500;
  font-size:22px; letter-spacing:.38em;
  color:var(--gl-ink);
}
.gl-nav__brand svg{ width:18px; height:auto; fill:var(--gl-ink); }
.gl-nav__links{
  display:flex; gap:clamp(20px, 3vw, 38px);
  list-style:none; margin:0; padding:0;
}
.gl-nav__links a{
  font-family:var(--gl-sans);
  font-size:13px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--gl-ink-soft);
  transition:color .25s var(--gl-ease);
}
.gl-nav__links a:hover{ color:var(--gl-ink); }
.gl-nav__back{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gl-ink); border-bottom:1px solid var(--gl-line);
  padding-bottom:3px;
  transition:gap .25s var(--gl-ease), border-color .25s var(--gl-ease);
}
.gl-nav__back:hover{ gap:12px; border-bottom-color:var(--gl-ink); }
@media (max-width:760px){
  .gl-nav__links{ display:none; }
}

/* ============================================================
   1. HERO
   ============================================================ */
.gl-hero{
  position:relative;
  min-height:100svh;
  display:flex; align-items:flex-end;
  overflow:hidden;
  background:var(--gl-ink);
  isolation:isolate;
}
.gl-hero__video{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(1.05);
  will-change:transform;
}
.gl-hero__fallback{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(120deg,#1c2836,#34506a);
}
.gl-hero__video + .gl-hero__fallback{ z-index:-1; }
.gl-hero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.78) 100%);
  pointer-events:none;
}
.gl-hero__media{
  position:absolute; inset:0; z-index:0;
  /* legacy image hero kept for fallback support */
  background-size:cover; background-position:center;
  transform:scale(1.05);
  will-change:transform;
}
.gl-hero__media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.78) 100%);
}
.gl-hero__body{
  position:relative; z-index:2;
  width:100%;
  padding-block:clamp(80px, 12vw, 160px) clamp(60px, 8vw, 110px);
  color:#fff;
}
.gl-hero__sup{
  font-family:var(--gl-sans);
  font-size:12px; font-weight:500;
  letter-spacing:.42em; text-transform:uppercase;
  color:rgba(255,255,255,.78);
  display:inline-flex; align-items:center; gap:14px;
  margin-bottom:26px;
}
.gl-hero__sup::before, .gl-hero__sup::after{
  content:""; width:36px; height:1px;
  background:rgba(255,255,255,.4);
}
.gl-hero__title{
  font-family:var(--gl-serif); font-weight:300;
  font-size:clamp(40px, 5.4vw, 78px);
  line-height:1.04; letter-spacing:-.01em;
  max-width:18ch;
  margin:0 0 22px;
  text-wrap:balance;
}
.gl-hero__title em{ font-style:italic; font-weight:400; }
.gl-hero__sub{
  font-family:var(--gl-serif); font-style:italic;
  font-size:clamp(20px, 1.9vw, 24px);
  line-height:1.42;
  color:rgba(255,255,255,.86);
  max-width:38ch;
  margin:0 0 38px;
}
.gl-hero__cta{
  display:flex; flex-wrap:wrap; gap:14px;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.gl-btn{
  position:relative;
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--gl-sans);
  font-size:11.5px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  padding:13px 24px;
  border:1px solid currentColor;
  background:transparent;
  cursor:pointer;
  overflow:hidden;
  transition:color .35s var(--gl-ease);
}
.gl-btn::before{
  content:""; position:absolute; inset:0;
  background:currentColor;
  transform:translateY(101%);
  transition:transform .45s var(--gl-ease);
  z-index:0;
}
.gl-btn > *{ position:relative; z-index:1; transition:color .35s var(--gl-ease); }
.gl-btn:hover::before{ transform:translateY(0); }

.gl-btn--solid{ color:#fff; }
.gl-btn--solid::before{ transform:translateY(0); background:#fff; }
.gl-btn--solid > *{ color:var(--gl-ink); }
.gl-btn--solid:hover::before{ background:var(--gl-ink); }
.gl-btn--solid:hover > *{ color:#fff; }

.gl-btn--ghost{ color:#fff; }
.gl-btn--ghost > *{ color:#fff; }
.gl-btn--ghost:hover > *{ color:var(--gl-ink); }

.gl-btn--dark{ color:var(--gl-ink); }
.gl-btn--dark > *{ color:var(--gl-ink); }
.gl-btn--dark:hover > *{ color:var(--gl-bg); }

.gl-btn .gl-btn__arrow{ font-size:14px; transition:transform .35s var(--gl-ease); }
.gl-btn:hover .gl-btn__arrow{ transform:translateX(4px); }

/* ============================================================
   SECTION SCAFFOLDING
   ============================================================ */
.gl-section{
  padding-block:clamp(72px, 9vw, 130px);
  position:relative;
}
.gl-section--alt{ background:var(--gl-bg-alt); }
.gl-section--deep{ background:var(--gl-bg-deep); }

/* ---- Intro on black ---- */
#gl-intro{
  background:var(--gl-ink);
  color:#fff;
}
#gl-intro .gl-h2{ color:#fff; }
#gl-intro .gl-h2 em{ color:#fff; }
#gl-intro .gl-eyebrow{ color:rgba(255,255,255,.55); }
#gl-intro .gl-eyebrow::before{ background:rgba(255,255,255,.45); }
#gl-intro .gl-intro__copy p{ color:rgba(255,255,255,.78) !important; }
#gl-intro .gl-intro__copy strong{ color:#fff; }

.gl-eyebrow{
  font-family:var(--gl-sans);
  font-size:11.5px; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--gl-ink-mute);
  display:inline-flex; align-items:center; gap:14px;
  margin-bottom:24px;
}
.gl-eyebrow::before{
  content:""; width:28px; height:1px;
  background:var(--gl-ink-mute);
}

.gl-h2{
  font-family:var(--gl-serif); font-weight:300;
  font-size:clamp(34px, 4vw, 58px);
  line-height:1.06; letter-spacing:-.01em;
  color:var(--gl-ink);
  margin:0 0 24px;
  text-wrap:balance;
}
.gl-h2 em{ font-style:italic; font-weight:400; }

.gl-h3{
  font-family:var(--gl-serif); font-weight:400;
  font-size:clamp(22px, 1.9vw, 26px);
  line-height:1.2; letter-spacing:-.005em;
  color:var(--gl-ink);
  margin:0 0 10px;
}

.gl-lead{
  font-size:17px; line-height:1.7;
  color:var(--gl-ink-soft);
  max-width:62ch;
}

/* ============================================================
   2. INTRO BLOCK
   ============================================================ */
.gl-intro__grid{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:clamp(40px, 6vw, 100px);
  align-items:flex-start;
}
.gl-intro__copy p{
  font-size:17.5px; line-height:1.72;
  color:var(--gl-ink-soft);
  margin:0 0 22px;
}
.gl-intro__copy p:last-child{ margin-bottom:0; }
.gl-intro__copy strong{ color:var(--gl-ink); font-weight:500; }
.gl-intro__copy em{ font-family:var(--gl-serif); font-style:italic; font-weight:400; }
@media (max-width:880px){
  .gl-intro__grid{ grid-template-columns:1fr; gap:32px; }
}

/* Centered variant : single column, text-align center */
.gl-intro__grid--center{
  grid-template-columns:1fr;
  max-width:780px;
  margin-inline:auto;
  text-align:center;
  gap:clamp(20px, 2.4vw, 32px);
}
.gl-intro__grid--center .gl-eyebrow{
  display:inline-flex;
  justify-content:center;
}
.gl-intro__grid--center .gl-eyebrow::before{
  display:none;
}
.gl-intro__grid--center .gl-h2{ margin-bottom:0; }
.gl-intro__grid--center .gl-intro__copy{
  margin-top:14px;
}
.gl-intro__grid--center .gl-intro__copy p{
  max-width:64ch;
  margin-inline:auto;
}

/* ============================================================
   3-5. NUMBERED SECTIONS (01 / 02 / 03)
   ============================================================ */
.gl-num-section{
  position:relative;
  padding-block:76px; /* 2cm top/bottom → ~4cm gap between sections */
  overflow:visible; /* CRITICAL: must not be hidden — kills sticky descendants */
}
.gl-num-section + .gl-num-section{ border-top:1px solid var(--gl-line-soft); }

/* Dark variant — sections 01 & 02 on black */
.gl-num-section--dark{
  background:var(--gl-ink);
  color:#fff;
}
.gl-num-section--dark + .gl-num-section--dark{
  border-top:1px solid rgba(255,255,255,.08);
}
.gl-num-section--dark .gl-num-section__watermark{
  color:rgba(255,255,255,.05);
}
.gl-num-section--dark .gl-num-media{
  background:#101010;
}
.gl-num-section--dark .gl-num-media__tag{
  background:#fff;
  color:var(--gl-ink);
}
.gl-num-section--dark .gl-num-body__num{
  color:rgba(255,255,255,.55);
}
.gl-num-section--dark .gl-num-body__title{
  color:#fff;
}
.gl-num-section--dark .gl-sub{
  border-top-color:rgba(255,255,255,.14);
}
.gl-num-section--dark .gl-sub__mark{
  color:rgba(255,255,255,.5);
}
.gl-num-section--dark .gl-sub__h{
  color:#fff;
}
.gl-num-section--dark .gl-sub__p{
  color:rgba(255,255,255,.72);
}

.gl-num-section__watermark{
  position:absolute;
  top:clamp(40px, 6vw, 90px);
  font-family:var(--gl-serif); font-weight:300;
  font-size:clamp(220px, 32vw, 460px);
  line-height:.85; letter-spacing:-.04em;
  color:rgba(26,26,26,.05);
  pointer-events:none;
  user-select:none;
  z-index:0;
  white-space:nowrap;
}
.gl-num-section__watermark{ display:none; } /* hidden 01 / 02 watermarks */
.gl-num-section--right .gl-num-section__watermark{ right:-.05em; }
.gl-num-section--left  .gl-num-section__watermark{ left:-.05em; }

.gl-num-grid{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px, 6vw, 90px);
  align-items:start; /* sticky needs start, not center/stretch */
}
.gl-num-section--right .gl-num-grid > .gl-num-media{ order:1; }
.gl-num-section--right .gl-num-grid > .gl-num-body { order:2; }
.gl-num-section--left  .gl-num-grid > .gl-num-media{ order:2; }
.gl-num-section--left  .gl-num-grid > .gl-num-body { order:1; }

.gl-num-media{
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  align-items:stretch;
  justify-content:center;
  overflow:hidden;
  background:var(--gl-bg-deep);
}
.gl-num-media__img{
  position:relative;
  width:100%;
  height:100%;
  object-fit:cover;
  will-change:transform;
}
.gl-num-media__tag{
  position:absolute;
  left:0; bottom:24px;
  background:var(--gl-bg);
  color:var(--gl-ink);
  padding:11px 22px;
  font-size:11px; font-weight:500;
  letter-spacing:.26em; text-transform:uppercase;
}

.gl-num-body__num{
  font-family:var(--gl-serif); font-style:italic;
  font-weight:300; font-size:18px;
  color:var(--gl-ink-mute);
  letter-spacing:.06em;
  margin:0 0 16px;
}
.gl-num-body__title{
  font-family:var(--gl-serif); font-weight:300;
  font-size:clamp(32px, 3.4vw, 48px);
  line-height:1.08; letter-spacing:-.01em;
  color:var(--gl-ink);
  margin:0 0 36px;
  text-wrap:balance;
}
.gl-num-body__title em{ font-style:italic; font-weight:400; }

.gl-sub-list{ display:grid; gap:0; }
.gl-sub{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  padding-top:24px;
  border-top:1px solid var(--gl-line);
}
.gl-sub:first-child{ border-top:none; padding-top:0; }
.gl-sub__mark{
  font-family:var(--gl-serif); font-style:italic;
  font-size:18px; color:var(--gl-ink-mute);
  margin-top:4px;
}
.gl-sub__h{
  font-family:var(--gl-serif); font-weight:500;
  font-size:20px; line-height:1.2;
  color:var(--gl-ink);
  margin:0 0 8px;
}
.gl-sub__p{
  font-size:15.5px; line-height:1.65;
  color:var(--gl-ink-soft);
  margin:0;
}
.gl-sub__list{
  list-style:none; padding:0;
  margin:12px 0 0;
  display:grid; gap:10px;
}
.gl-sub__list li{
  font-size:14.5px; line-height:1.6;
  color:var(--gl-ink-soft);
  padding-left:18px;
  position:relative;
}
.gl-sub__list li::before{
  content:""; position:absolute;
  left:0; top:.75em;
  width:8px; height:1px;
  background:var(--gl-ink-mute);
}
.gl-sub__list b{
  color:var(--gl-ink); font-weight:500;
  font-family:var(--gl-serif);
  font-style:italic;
}
.gl-num-section--dark .gl-sub__list li{ color:rgba(255,255,255,.7); }
.gl-num-section--dark .gl-sub__list li::before{ background:rgba(255,255,255,.4); }
.gl-num-section--dark .gl-sub__list b{ color:#fff; }

@media (max-width:880px){
  .gl-num-grid{ grid-template-columns:1fr; gap:36px; align-items:start; }
  .gl-num-section--left .gl-num-grid > .gl-num-media,
  .gl-num-section--right .gl-num-grid > .gl-num-media{ order:1; }
  .gl-num-section--left .gl-num-grid > .gl-num-body,
  .gl-num-section--right .gl-num-grid > .gl-num-body{ order:2; }
  /* Disable sticky on small screens for natural mobile flow */
  .gl-num-media{ position:relative; top:auto; height:60vh; }
  .gl-num-media__img{ height:100%; }
}

/* ============================================================
   6. EXPERTISE LOCALE
   ============================================================ */
.gl-expertise{
  background:var(--gl-ink);
  color:#fff;
  padding-block:clamp(80px, 10vw, 130px);
}
.gl-expertise .gl-eyebrow{ color:rgba(255,255,255,.6); }
.gl-expertise .gl-eyebrow::before{ background:rgba(255,255,255,.4); }
.gl-expertise .gl-h2{ color:#fff; }
.gl-expertise__grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:clamp(40px, 6vw, 90px);
  align-items:flex-end;
}
.gl-expertise__copy p{
  font-size:17px; line-height:1.72;
  color:rgba(255,255,255,.78);
  margin:0 0 20px;
  max-width:54ch;
}
.gl-expertise__copy p:last-child{ margin-bottom:0; }
.gl-expertise__side{
  display:flex; flex-direction:column; gap:22px;
}
.gl-pillar{
  padding:24px 26px;
  border:1px solid rgba(255,255,255,.16);
  display:grid; gap:8px;
}
.gl-pillar__h{
  font-family:var(--gl-serif); font-style:italic;
  font-size:22px; font-weight:400;
  color:#fff; margin:0;
}
.gl-pillar__p{
  font-size:14.5px; line-height:1.6;
  color:rgba(255,255,255,.7); margin:0;
}
.gl-expertise__cta{ margin-top:36px; }

@media (max-width:880px){
  .gl-expertise__grid{ grid-template-columns:1fr; }
}

/* ============================================================
   PRICING (Tarification)
   ============================================================ */
.gl-pricing__head{
  text-align:center;
  max-width:640px;
  margin:0 auto clamp(28px, 3.2vw, 44px);
}
.gl-pricing__head .gl-eyebrow{
  display:inline-flex;
  justify-content:center;
}
.gl-pricing__head .gl-eyebrow::before{ display:none; }
.gl-pricing__head .gl-h2{ margin-bottom:14px; font-size:clamp(28px, 3.2vw, 42px); }
.gl-pricing__lead{
  font-size:15px; line-height:1.6;
  color:var(--gl-ink-soft);
  max-width:54ch;
  margin:0 auto;
}

.gl-pricing__card{
  position:relative;
  background:#fff;
  border:1px solid var(--gl-line);
  max-width:820px;
  margin:0 auto;
  padding:clamp(26px, 3.2vw, 44px) clamp(24px, 3.4vw, 48px);
  box-shadow:0 30px 70px -50px rgba(26,26,26,.25);
}
.gl-pricing__card::before{
  content:"";
  position:absolute; inset:8px;
  border:1px solid var(--gl-line-soft);
  pointer-events:none;
}

.gl-pricing__corner{
  position:absolute;
  z-index:2;
  font-family:var(--gl-sans);
  font-size:9.5px; font-weight:500;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--gl-ink-mute);
}
.gl-pricing__corner--tl{
  top:clamp(16px, 2vw, 22px);
  left:clamp(22px, 2.6vw, 32px);
}
.gl-pricing__corner--tr{
  top:clamp(16px, 2vw, 22px);
  right:clamp(22px, 2.6vw, 32px);
}

.gl-pricing__grid{
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:clamp(18px, 2.6vw, 32px);
  margin-top:clamp(20px, 2.4vw, 30px);
  padding-bottom:clamp(22px, 2.8vw, 34px);
  border-bottom:1px solid var(--gl-line);
}
.gl-pricing__grid::before{
  content:"";
  position:absolute;
  top:10%; bottom:20%;
  left:57.5%;
  width:1px;
  background:var(--gl-line);
}

.gl-pricing__hero{
  text-align:center;
  padding-right:clamp(0px, 1vw, 14px);
}
.gl-pricing__kicker{
  font-family:var(--gl-sans);
  font-size:10.5px; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--gl-ink-mute);
  margin:0 0 8px;
}
.gl-pricing__num{
  font-family:var(--gl-serif);
  font-weight:300;
  font-size:clamp(80px, 10vw, 128px);
  line-height:.9;
  letter-spacing:-.03em;
  color:var(--gl-ink);
  margin:0;
  display:inline-flex;
  align-items:flex-start;
  gap:.03em;
}
.gl-pricing__num-pct{
  font-size:.42em;
  font-weight:400;
  color:var(--gl-ink-mute);
  margin-top:.2em;
}
.gl-pricing__foot{
  margin:clamp(8px, 1.1vw, 14px) auto 0;
  font-family:var(--gl-serif);
  font-style:italic;
  font-size:13.5px;
  line-height:1.4;
  color:var(--gl-ink-soft);
  max-width:28ch;
}

.gl-pricing__edito{
  padding-left:clamp(0px, 1vw, 14px);
}
.gl-pricing__edito p{
  font-family:var(--gl-serif);
  font-style:italic;
  font-size:14.5px;
  line-height:1.4;
  color:var(--gl-ink-soft);
  margin:0 0 12px;
  max-width:30ch;
}
.gl-pricing__types{
  list-style:none; padding:0; margin:0;
  display:grid; gap:8px;
}
.gl-pricing__types li{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:12px;
  padding-bottom:7px;
  border-bottom:1px dashed var(--gl-line-soft);
  font-size:13.5px;
}
.gl-pricing__types li:last-child{ border-bottom:none; padding-bottom:0; }
.gl-pricing__types span{
  font-family:var(--gl-sans);
  font-weight:500;
  color:var(--gl-ink);
  letter-spacing:.02em;
}
.gl-pricing__types b{
  font-family:var(--gl-serif);
  font-style:italic; font-weight:400;
  color:var(--gl-ink-soft);
  font-size:13.5px;
}

.gl-pricing__includes{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:flex-start;
  gap:clamp(18px, 2.6vw, 36px);
  padding-block:clamp(18px, 2.4vw, 28px);
  border-bottom:1px solid var(--gl-line);
}
.gl-pricing__inc-label{
  font-family:var(--gl-sans);
  font-size:10.5px; font-weight:500;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--gl-ink-mute);
  margin:0;
  min-width:130px;
}
.gl-pricing__includes ul{
  list-style:none;
  padding:0; margin:0;
  display:grid; gap:6px;
  font-size:13.5px; line-height:1.5;
  color:var(--gl-ink-soft);
}
.gl-pricing__includes li{
  position:relative;
  padding-left:16px;
}
.gl-pricing__includes li::before{
  content:"";
  position:absolute; left:0; top:.65em;
  width:8px; height:1px;
  background:var(--gl-ink-mute);
}

.gl-pricing__cta{
  display:flex; flex-direction:column;
  align-items:center; text-align:center;
  gap:10px;
  padding-top:clamp(18px, 2.2vw, 28px);
}
.gl-pricing__cta .gl-btn{
  padding:14px 24px;
  font-size:12px;
}
.gl-pricing__note{
  font-family:var(--gl-serif); font-style:italic;
  font-size:13.5px;
  color:var(--gl-ink-mute);
  margin:0; max-width:46ch;
}

@media (max-width:780px){
  .gl-pricing__grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .gl-pricing__grid::before{
    left:15%; right:15%;
    top:auto; bottom:auto;
    width:auto; height:1px;
    background:var(--gl-line);
  }
  .gl-pricing__hero, .gl-pricing__edito{ padding:0; }
  .gl-pricing__edito{ text-align:left; }
  .gl-pricing__includes{
    grid-template-columns:1fr;
    gap:14px;
  }
  .gl-pricing__corner{
    display:none;
  }
}
.gl-faq__head{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(40px, 5vw, 80px);
  align-items:flex-end;
  margin-bottom:clamp(40px, 5vw, 64px);
}
.gl-faq__intro{
  font-size:16.5px; line-height:1.7;
  color:var(--gl-ink-soft); margin:0; max-width:50ch;
}
.gl-faq__list{ display:grid; }

.gl-faq__item{
  border-top:1px solid var(--gl-line);
}
.gl-faq__item:last-child{ border-bottom:1px solid var(--gl-line); }
.gl-faq__item summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; gap:20px;
  padding-block:clamp(22px, 2.2vw, 30px);
  font-family:var(--gl-serif); font-weight:400;
  font-size:clamp(20px, 2vw, 26px);
  line-height:1.25;
  color:var(--gl-ink);
  transition:color .25s var(--gl-ease);
}
.gl-faq__item summary::-webkit-details-marker{ display:none; }
.gl-faq__item summary::after{
  content:""; flex:0 0 auto;
  width:32px; height:32px;
  margin-left:auto;
  background:
    linear-gradient(currentColor, currentColor) center / 14px 1px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1px 14px no-repeat;
  color:var(--gl-ink);
  transition:transform .4s var(--gl-ease), background .4s var(--gl-ease);
}
.gl-faq__item[open] summary::after{
  background:
    linear-gradient(currentColor, currentColor) center / 14px 1px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1px 0 no-repeat;
  transform:rotate(180deg);
}
.gl-faq__num{
  font-family:var(--gl-serif); font-style:italic;
  font-size:15px; color:var(--gl-ink-mute);
  flex:0 0 auto; min-width:34px;
}
.gl-faq__body{
  overflow:hidden;
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .45s var(--gl-ease);
}
.gl-faq__item[open] .gl-faq__body{ grid-template-rows:1fr; }
.gl-faq__body > div{
  min-height:0; overflow:hidden;
  padding:0 56px clamp(24px, 3vw, 36px) 54px;
}
.gl-faq__body p{
  font-size:16px; line-height:1.7;
  color:var(--gl-ink-soft); margin:0; max-width:62ch;
}

@media (max-width:880px){
  .gl-faq__head{ grid-template-columns:1fr; align-items:flex-start; }
  .gl-faq__body > div{ padding:0 0 24px 0; }
}

/* ============================================================
   8. CONCLUSION + CONTACT FORM
   ============================================================ */
.gl-final{
  background:var(--gl-ink); color:#fff;
  padding-block:clamp(80px, 10vw, 140px);
}
.gl-final__grid{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:clamp(48px, 6vw, 96px);
  align-items:flex-start;
}
.gl-final .gl-eyebrow{ color:rgba(255,255,255,.6); }
.gl-final .gl-eyebrow::before{ background:rgba(255,255,255,.4); }
.gl-final__title{
  font-family:var(--gl-serif); font-weight:300;
  font-size:clamp(36px, 4.2vw, 60px);
  line-height:1.06; letter-spacing:-.01em;
  color:#fff; margin:0 0 22px;
  text-wrap:balance;
}
.gl-final__title em{ font-style:italic; font-weight:400; }
.gl-final__copy p{
  font-size:16.5px; line-height:1.72;
  color:rgba(255,255,255,.76);
  margin:0 0 18px; max-width:48ch;
}
.gl-final__copy p:last-child{ margin-bottom:0; }
.gl-final__meta{
  margin-top:36px; padding-top:24px;
  border-top:1px solid rgba(255,255,255,.16);
  display:grid; gap:2px;
  font-size:14.5px;
  color:rgba(255,255,255,.86);
}
.gl-final__meta-row{
  display:grid; grid-template-columns:auto 1fr; gap:14px;
  font-size:14.5px;
  color:rgba(255,255,255,.86);
}
.gl-final__meta-row b{
  font-family:var(--gl-sans); font-weight:500;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  min-width:90px;
}

/* Form */
.gl-form{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
  padding:clamp(28px, 3vw, 44px);
  display:grid; gap:18px;
}
.gl-form__row{
  display:grid; gap:18px;
  grid-template-columns:1fr 1fr;
}
.gl-field{ display:grid; gap:7px; }
.gl-field--full{ grid-column:1 / -1; }
.gl-field > label{
  font-family:var(--gl-sans);
  font-size:11px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.gl-field input,
.gl-field select,
.gl-field textarea{
  font-family:var(--gl-sans);
  font-size:15px; color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.22);
  padding:13px 14px;
  border-radius:0;
  width:100%;
  appearance:none;
  transition:border-color .25s var(--gl-ease), background .25s var(--gl-ease);
}
.gl-field textarea{ min-height:120px; resize:vertical; line-height:1.55; }
.gl-field input::placeholder,
.gl-field textarea::placeholder{ color:rgba(255,255,255,.4); }
.gl-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:40px;
}
.gl-field select option{ color:var(--gl-ink); background:#fff; }
.gl-field input:focus,
.gl-field select:focus,
.gl-field textarea:focus{
  outline:none;
  border-color:#fff;
  background:rgba(255,255,255,.06);
}
.gl-form__submit{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  margin-top:6px;
  width:100%;
  padding:18px 22px;
  background:#fff; color:var(--gl-ink);
  border:1px solid #fff;
  font-family:var(--gl-sans);
  font-size:13px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  cursor:pointer;
  transition:background .25s var(--gl-ease), color .25s var(--gl-ease);
}
.gl-form__submit:hover{ background:transparent; color:#fff; }

@media (max-width:880px){
  .gl-final__grid{ grid-template-columns:1fr; }
  .gl-form__row{ grid-template-columns:1fr; }
}

/* ============================================================
   FOOTER (mini, propre à la page)
   ============================================================ */
.gl-footer{
  background:var(--gl-bg);
  color:var(--gl-ink-soft);
  padding-block:36px;
  border-top:1px solid var(--gl-line-soft);
}
.gl-footer__row{
  display:flex; flex-wrap:wrap; align-items:center;
  justify-content:space-between; gap:18px;
  font-size:13px; letter-spacing:.04em;
}
.gl-footer__row a{
  border-bottom:1px solid var(--gl-line);
  padding-bottom:2px;
}
.gl-footer__row a:hover{ border-bottom-color:var(--gl-ink); color:var(--gl-ink); }

/* ============================================================
   REVEAL (intersection-observer driven)
   ============================================================ */
.gl-reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .9s var(--gl-ease), transform .9s var(--gl-ease);
}
.gl-reveal.is-visible{
  opacity:1;
  transform:none;
}
.gl-reveal.d1{ transition-delay:.08s; }
.gl-reveal.d2{ transition-delay:.16s; }
.gl-reveal.d3{ transition-delay:.24s; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .gl-reveal{ opacity:1; transform:none; transition:none; }
  .gl-hero__media,
  .gl-num-media__img{ transform:none !important; }
}


/* === MOBILE FIXES (≤430px) === */
@media (max-width:430px){
  html, body{ overflow-x:hidden; max-width:100%; }
  .gl-wrap{ padding-left:20px; padding-right:20px; box-sizing:border-box; }
  /* Hero + section serif titles never clipped */
  .gl-hero__title{ font-size:clamp(30px,8.2vw,42px); line-height:1.1; }
  .gl-hero__sub{ font-size:16px; }
  .gl-h2{ font-size:clamp(26px,7.4vw,34px); line-height:1.14; }
  .gl-pricing__head .gl-h2{ font-size:clamp(24px,7vw,32px); }
  h1,h2,h3,.gl-h2,.gl-h3{ overflow-wrap:break-word; word-break:normal; }
  /* Hero / sticky media stay centered & covering */
  .gl-hero__media{ background-position:center center !important; background-size:cover !important; }
  .gl-hero video, .gl-hero__video, video.gl-hero__media{ object-fit:cover !important; object-position:center center !important; }
  .gl-num-media__img{ object-fit:cover !important; object-position:center center !important; }
}


/* === PARTNERS MOBILE === */
@media (max-width:560px){
  .gl-partners__logos{ display:flex; flex-wrap:nowrap; justify-content:center; align-items:center; gap:16px; }
  .gl-partners__logo{ height:18px; }
  .gl-partners__logo--vrbo, .gl-partners__logo--word{ height:20px; }
}