footer nav{font-size:1.125rem;line-height:1.9;padding:0 1.5rem}
.mobile-extra{display:none}
@media(max-width:639px){
  .dest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}
  .dest-card{aspect-ratio:1/1.15;border-radius:8px;min-width:0}
  .mobile-extra{display:block}
  .dest-card .txt{padding:.75rem}
  .dest-card .tag{display:none}
  .dest-card .name{font-size:1.125rem}
  .dest-card .go{font-size:.7rem;margin-top:.25rem}
  .dest{padding-top:3rem;padding-bottom:3rem}
}
@media(max-width:359px){header .wrap{padding-left:1rem;padding-right:1rem}.logo{font-size:3.15rem}.brand .badge{font-size:.75rem}}

/* Shared compact photographs, contact details and destination cards. */
.brand .gstars{font-size:.6875rem;padding:.25rem .75rem}
.dest-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dest-card{aspect-ratio:1;min-width:0}
.dest-card .txt{padding:1rem}
.dest-card .tag{font-size:.6875rem;letter-spacing:0}
.story img,img[src="images/life.jpg"]{width:100%;height:auto;aspect-ratio:16/9;max-height:22rem;object-fit:cover;object-position:center}
.form-heading{display:flex;align-items:center;gap:1rem}
.form-heading h2{min-width:0}
.form-tel{display:none;white-space:nowrap}
@media(min-width:640px){
  header .wrap{padding-top:4.75rem}
  header .tel{font-size:2rem;line-height:1.2;top:1rem;right:1.5rem;white-space:nowrap}
  .hero-grid{padding-top:21rem}
  .hero>.wrap:not(.hero-grid){padding-top:23rem}
  .final a[href^="tel:"]{font-size:1.75rem}
}
@media(max-width:639px){
  header .tel{display:none}
  .brand .gstars{font-size:.625rem}
  .hero-grid{padding-top:15rem}
  .hero>.wrap:not(.hero-grid){padding-top:17rem}
  .dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dest-card{aspect-ratio:1}
  .desktop-extra{display:none}
  .dest-card .txt{padding:.75rem}
  .form-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:.5rem;align-items:center}
  .form-heading h2{font-size:1.125rem;line-height:1.25;overflow-wrap:break-word}
  .form-tel{display:block;font-size:.875rem;line-height:1.5;font-weight:700;text-align:right;color:var(--primary)}
  .story img,img[src="images/life.jpg"]{aspect-ratio:16/9;max-height:13rem}
}
@media(max-width:359px){.logo{font-size:3.4rem!important}}
@media(max-width:359px){.form-tel{font-size:.75rem}}

/* v9: compact cards, thin life banner, discreet Google line */
.dest-card{aspect-ratio:auto!important;height:180px!important}
.brand .gstars{font-size:10px!important;font-weight:500!important;padding:.1rem .6rem!important;background:transparent!important;backdrop-filter:none!important;margin-top:.25rem}
@media(max-width:639px){
  .dest-card{height:130px!important}
  .brand .gstars{font-size:9px!important}
}

/* Téléphone un peu moins gros. */
header .tel{font-size:1.4rem!important;line-height:1.2}
.final a[href^="tel:"]{font-size:1.3rem!important}

/* v11: desktop photo follows text height; mobile photo fills the screen. */
.story-photo{position:relative;min-width:0;overflow:hidden;border-radius:calc(var(--radius) + 4px)}
.story .story-photo img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1/1!important;object-fit:cover;object-position:center}
@media(min-width:1024px){
  .story .wrap{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .story .story-photo img{position:absolute;inset:0;height:100%!important;aspect-ratio:auto!important}
}
@media(max-width:1023px){
  .story .wrap{padding-left:0;padding-right:0}
  .story-photo{border-radius:0}
  .story-photo + div{padding-left:1.5rem;padding-right:1.5rem;min-width:0}
}
