/* Identité du site gmvt.bzh : SPL, Bricolage Grotesque, Work Sans et terracotta. */
:root {
  --paper: #fbf9f5;
  --paper: oklch(0.98 0.006 75);
  --ink: #29221e;
  --ink: oklch(0.24 0.02 40);
  --muted: #68605a;
  --line: #e4ded7;
  --line: oklch(0.9 0.01 60);
  --rust: #bf522e;
}
body { font-family: 'Work Sans', Arial, sans-serif; }
h1, h2, h3, h4, .price, .gmvt-topbar, .proof strong, .year-stamp strong {
  font-family: 'Bricolage Grotesque', Arial, sans-serif;
}
h1, h2 { font-weight: 700; }
h1 { font-size: clamp(44px, 4.4vw, 66px); letter-spacing: -2px; }
.hero h1.hero-title { font-size: clamp(34px, 3.6vw, 52px); line-height: 1.12; letter-spacing: -1.4px; }
h2 { letter-spacing: -1.2px; }
em { font-family: inherit; font-weight: inherit; font-style: normal; color: var(--rust); }
h1 em, .eyebrow, .number, .hero-note span, .next li:before { color: var(--rust); }
.gmvt-topbar { background: var(--rust); color: white; }
.gmvt-topbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 10px; }
.gmvt-home { font-size: 10px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; text-decoration: none; }
.structures-nav { display: flex; align-items: center; gap: 22px; }
.structures-nav a { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.structures-nav img { border-radius: 50%; background: white; }
.structures-nav a:hover, .gmvt-home:hover { text-decoration: underline; text-underline-offset: 4px; }
.gmvt-topbar a:focus-visible { outline-color: white; }
.header { padding-block: 23px; }
.brand img { width: 240px; height: 64px; }
.button { background: var(--rust); border-radius: 100px; }
.button:hover { background: #9f4022; }
.existing-partner { display:flex; justify-content:flex-end; padding-top:22px; }
.existing-partner-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 22px; border:1px solid #1d3753; border-radius:12px; background:#1d3753; color:#fff; text-decoration:none; font-size:14px; line-height:1.5; text-align:center; transition:background .2s; }
.existing-partner-link:hover { background:#294c70; }
.existing-partner-notice { padding:20px; margin-bottom:24px; border:1px solid #bdcbd7; border-radius:14px; background:#e9eff4; color:#1d3753; }
.existing-partner-notice>strong { display:block; font-size:17px; }
.existing-partner-notice p { margin:8px 0 16px; font-size:14px; line-height:1.6; color:#3c465a; }
@media (max-width:760px) {
  .existing-partner-link { width:100%; padding:13px 16px; font-size:13px; }
}
.hero-actions { flex-wrap:wrap; gap:16px; }
.hero-actions>.button { padding:14px 16px; gap:12px; }
.hero-actions>.text-link { white-space:nowrap; }
.hero-introduction { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:24px; align-items:start; }
.hero-introduction p:last-child { margin-bottom:0; }
.guide-download { display:flex; flex-direction:column; align-items:center; gap:12px; margin:0; padding:12px; color:var(--rust); text-align:center; text-decoration:none; font-size:12px; line-height:1.4; font-weight:600; }
.guide-download>span { display:block; padding:10px 12px; border:1px solid #d99782; border-radius:12px; transition:background .2s; }
.guide-download img { display:block; width:100%; height:auto; object-fit:contain; }
@media (max-width:1100px) and (min-width:761px), (max-width:480px) {
  .hero-introduction { grid-template-columns:minmax(0,1fr); gap:20px; }
  .guide-download { flex-direction:row; justify-self:start; text-align:left; }
  .guide-download img { width:55px; }
}
.guide-download:hover>span { background: #f2dcd5; }
.guide-download svg { flex-shrink: 0; }
.guide-download small { display: block; margin-top: 2px; font-size: 11px; font-weight: 400; color: #3c465a; }
.text-link:hover, .header nav>a:not(.button):hover { color: var(--rust); }
.hero-visual { height:auto; aspect-ratio:1 / 1; border-radius:22px; background:#dbc9bd; }
.hero-visual>img { display:block; }
@media (min-width:761px) {
  .hero { grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
}
.hero-visual:after { background: linear-gradient(transparent 50%, #29221eb3); }
.year-stamp { background: #f1ddd0; color: var(--rust); }
.year-stamp span { line-height: 1.15; text-align: center; }
.year-stamp strong { font-size: 32px; font-weight: 700; }
.proof strong { color: var(--rust); font-weight: 600; }
.benefits article { border-top-color: #dbbdac; }
.offers { background: #f1e9e2; }
.table-scroll { border-color: var(--line); border-radius: 22px; }
.group th { background: #e9dfd5; }
.tone-0 { --tone: #884329; --tint: #faf0e8; --head: #edd7c7; }
.tone-1 { --tone: #365b4c; --tint: #edf2ed; --head: #d6e2d8; }
.tone-2 { --tone: #45465f; --tint: #f0eff5; --head: #dcdbea; }
.pack h4 { font-weight: 700; }
.pack-cta { border-radius: 100px; justify-content: center; }
.next li:before { font-family: 'Bricolage Grotesque', Arial, sans-serif; }
.contact { background: var(--rust); border-radius: 22px; }
.contact .eyebrow, .contact h2 em { color: #ffe3d2; }
.contact p, .contact-action>span { color: #fff2e9; }
.button.light { color: #963c20; background: white; }
.button.light:hover { background: #fff0e6; }
.selected-pack { border-left-color: #ffe3d2; }
@media (max-width: 1200px) {
  .gmvt-topbar-inner { flex-direction: column; gap: 8px; }
  .structures-nav { gap: 24px; }
  .year-stamp { right: 0; }
}
@media (max-width: 760px) {
  .gmvt-topbar-inner { align-items: stretch; padding-block: 12px; gap: 12px; }
  .gmvt-home { text-align: center; font-size: 9px; }
  .structures-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
  .structures-nav a { font-size: 11px; padding-block: 3px; }
  .structures-nav img { width: 22px; height: 22px; }
  .brand img { width: 170px; height: 46px; }
  .header { gap: 12px; }
  .header .button { max-width: 150px; text-align: center; }
  .hero h1 { font-size: clamp(39px, 10.5vw, 51px); }
  .hero-visual { border-radius: 22px; }
  .footer img { width: 170px; height: auto; }
}
@media (max-width: 360px) {
  .brand img { width: 140px; }
  .header .button { padding-inline: 10px; font-size: 10px; }
}
