/* ==========================================================================
   ll-home.css — accueil v5 (généré par 04-maquette/build-home.mjs depuis la maquette validée)
   ========================================================================== */
/* Le conteneur AutoRide ne contraint pas l'accueil : les sections gèrent leur largeur */
body.ll5-home .theme-page-content { padding: 0 !important; background: var(--ll5-paper); }
body.ll5-home .theme-page-content > .theme-main { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.llh { color: var(--ll5-ink); }
.llh .wrap { max-width: var(--ll5-wrap); margin: 0 auto; padding: 0 var(--ll5-gut); }
.llh h1, .llh h2, .llh h3, .llh h4 { line-height: 1.08; color: var(--ll5-ink); margin: 0; text-wrap: balance; }
.llh h2 { font-size: clamp(36px, 4vw, 54px); }
.llh h3 { font-size: clamp(26px, 2.4vw, 32px); }
.llh p { max-width: 64ch; margin: 0; }
.llh p + p { margin-top: 1em; }
.llh ul { margin: 0; padding: 0; }
.llh figure { margin: 0; }
.llh img { display: block; max-width: 100%; height: auto; }
.llh a { text-decoration: none; }
.llh .ll5-book__frame { min-height: 430px; }
/* Styles AutoRide neutralisés sur l'accueil */
.llh blockquote { margin: 0; font-style: normal; background-image: none !important; border-left: 0 !important; }
.llh blockquote::after, .llh blockquote p::before, .llh blockquote p::after { content: none !important; display: none !important; }
.llh blockquote p { padding: 0 !important; margin-left: 0 !important; }
/* Éléments en Cormorant dans la maquette qui ne sont pas des titres */
.llh :is(.trust strong, .call b, .tile b, .mosaic figcaption, .quotes blockquote p, .score b):not(#ll5-x) { font-family: var(--ll5-serif) !important; }
.llh cite { text-transform: none !important; letter-spacing: 0 !important; }
.llh .hero p, .llh .final p { color: #F7F1E7; }
.llh .hero h1:not(#ll5-x), .llh .final h2:not(#ll5-x) { color: #fff; }
.llh .bg-wine h2:not(#ll5-x) { color: #fff; }
.llh .bg-wine h3:not(#ll5-x) { color: var(--ll5-patina); }
.llh .bg-wine p { color: var(--ll5-on-dark); }
@media (max-width: 600px) { .llh .hero h1:not(#ll5-x) { color: var(--ll5-ink); } .llh .hero p { color: var(--ll5-muted); } }
@media (max-width: 600px) {
  .llh h2 { font-size: 34px; text-align: center; }
  .llh h3, .llh h4 { text-align: center; }
  .llh p { margin-left: auto; margin-right: auto; }
}
.llh *{box-sizing:border-box;margin:0;padding:0}
.llh .wrap{max-width:var(--ll5-wrap);margin:0 auto;padding:0 var(--ll5-gut)}
.llh .lead{font-size:clamp(18px,1.4vw,20px);color:var(--ll5-muted)}
.llh .bg-champagne{background:var(--ll5-stone)}
.llh .bg-sand{background:var(--ll5-stone-2)}
.llh .bg-brick{background:var(--ll5-blush)}
.llh .link{font-weight:700;font-size:15px;color:var(--ll5-gold-ink);text-decoration:none;border-bottom:1.5px solid var(--ll5-gold-soft);padding-bottom:2px;transition:border-color .2s}
.llh .link:hover{border-color:var(--ll5-gold)}
.llh .hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ll5-stone-2)}
.llh .hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.llh .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--ll5-scrim),.58) 0%,rgba(var(--ll5-scrim),.22) 50%,rgba(var(--ll5-scrim),0) 100%)}
.llh .hero .copy{position:relative;z-index:1;width:100%;padding-top:120px;padding-bottom:clamp(56px,8vw,96px)}
.llh .hero h1{color:#fff;font-size:clamp(46px,5.6vw,82px);max-width:13ch;line-height:1.02}
.llh .hero p{margin-top:24px;font-size:clamp(18px,1.5vw,21px);max-width:44ch;color:#F7F1E7}
.llh .hero .btn-row{margin-top:36px}
.llh .facts{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:38px;font-size:15px;font-weight:600;list-style:none}
.llh .facts li{display:flex;align-items:center;gap:10px}
.llh .facts li::before{content:"";width:15px;height:8px;border-left:2px solid var(--ll5-gold-soft);border-bottom:2px solid var(--ll5-gold-soft);transform:rotate(-45deg) translateY(-3px)}
.llh .book .wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec);align-items:center}
.llh .book h2{font-size:clamp(34px,3.6vw,48px)}
.llh .book p{margin-top:20px}
.llh .call{display:inline-flex;align-items:center;gap:16px;margin-top:32px;text-decoration:none;padding:14px 22px 14px 14px;background:var(--ll5-white);border-left:3px solid var(--ll5-gold);transition:background .2s}
.llh .call:hover{background:var(--ll5-paper)}
.llh .call svg{width:44px;height:44px;padding:11px;background:var(--ll5-gold);color:var(--ll5-white);border-radius:50%}
.llh .call b{display:block;font:700 26px/1 var(--ll5-serif);color:var(--ll5-ink)}
.llh .call small{display:block;font-size:13px;color:var(--ll5-muted);margin-top:4px}
.llh .fb{background:var(--ll5-white);padding:10px;border-top:3px solid var(--ll5-gold)}
.llh .fb iframe{width:100%;border:0;min-height:430px;display:block}
.llh .intro .wrap{padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.llh .intro figure{position:relative;isolation:isolate}
.llh .intro figure img{aspect-ratio:4/5;object-fit:cover;width:100%}
.llh .intro figure::before{content:"";position:absolute;inset:24px -24px -24px 24px;border:2px solid var(--ll5-gold-soft);z-index:-1}
.llh .intro h3,.llh .intro .h3{margin-top:40px}
.llh .h2{font-family:var(--ll5-serif);font-weight:600;line-height:1.08;letter-spacing:-.005em;text-wrap:balance;color:var(--ll5-ink);font-size:clamp(36px,4vw,54px)}
.llh .h3{font-family:var(--ll5-serif);font-weight:600;line-height:1.1;text-wrap:balance;color:var(--ll5-ink);font-size:clamp(26px,2.4vw,32px)}
.llh .book .h2{font-size:clamp(34px,3.6vw,48px)}
.llh .card .h3{font-size:29px}
.llh .trust{list-style:none;margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.llh .trust li{background:var(--ll5-white);padding:16px 18px;border-left:3px solid var(--ll5-gold);font-size:15px;line-height:1.45;color:var(--ll5-muted)}
.llh .trust strong{display:block;font:700 22px/1.1 var(--ll5-serif);color:var(--ll5-ink);margin-bottom:4px}
.llh .ticks{list-style:none;margin-top:22px;display:grid;gap:10px}
.llh .ticks li{display:flex;gap:14px;align-items:baseline;font-weight:500}
.llh .ticks li::before{content:"";flex:none;width:14px;height:7px;border-left:2px solid var(--ll5-gold);border-bottom:2px solid var(--ll5-gold);transform:rotate(-45deg) translateY(-4px)}
.llh .intro .btn-row{margin-top:32px}
.llh .services .wrap{padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec)}
.llh .sec-head{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:52px}
.llh .sec-head p{color:var(--ll5-muted)}
.llh .cards{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.llh .card{grid-column:span 2;background:var(--ll5-white);display:flex;flex-direction:column;text-decoration:none;color:var(--ll5-ink);transition:transform .3s ease,box-shadow .3s ease}
.llh .card:nth-child(4),.llh .card:nth-child(5){grid-column:span 3}
.llh .card:hover{transform:translateY(-4px);box-shadow:0 18px 34px -24px rgba(80,60,20,.55)}
.llh .card figure{overflow:hidden}
.llh .card img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform .6s}
.llh .card:hover img{transform:scale(1.04)}
.llh .card div{padding:24px 26px 28px;display:flex;flex-direction:column;align-items:flex-start;flex:1;border-top:3px solid var(--ll5-gold)}
.llh .card h3{font-size:29px}
.llh .card p{margin-top:8px;color:var(--ll5-muted);font-size:16px}
.llh .card .link{margin-top:auto;padding-top:18px}
.llh .card .link{padding-top:0;margin-top:auto}
.llh .card p + .link{margin-top:18px}
.llh .split .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center;padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec)}
.llh .split--flip figure{order:2}
.llh .split figure img{width:100%;aspect-ratio:5/4;object-fit:cover}
.llh .split h2{font-size:clamp(32px,3.2vw,44px);margin-bottom:22px}
.llh .split .btn-row{margin-top:32px}
.llh .airports{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.llh .airports a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--ll5-white);text-decoration:none;font-weight:600;font-size:15px;color:var(--ll5-ink);border-left:3px solid transparent;transition:border-color .2s,background .2s}
.llh .airports a em{font-style:normal;font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--ll5-gold-ink)}
.llh .airports a:hover{border-color:var(--ll5-gold);background:var(--ll5-stone)}
.llh .business .wrap.pledge-wrap{display:block;padding-top:0}
.llh .pledges{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.llh .pledge{background:var(--ll5-white);padding:30px 26px 28px;border-top:3px solid var(--ll5-gold);text-align:center}
.llh .pledge svg{width:34px;height:40px;color:var(--ll5-gold)}
.llh .pledge h4{font-size:28px;margin-top:12px}
.llh .pledge p{margin:8px auto 0;font-size:16px;line-height:1.6;color:var(--ll5-muted)}
.llh .tour .wrap{padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec)}
.llh .tour-head{display:grid;grid-template-columns:6fr 6fr;gap:clamp(40px,6vw,96px);align-items:end}
.llh .tour h3{color:var(--ll5-gold-ink);font-size:clamp(22px,2vw,28px);margin-top:20px}
.llh .mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px;margin-top:52px}
.llh .mosaic figure{position:relative;overflow:hidden}
.llh .mosaic figure:first-child{grid-row:span 2}
.llh .mosaic figure:nth-child(4){grid-column:span 2}
.llh .mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.llh .mosaic figure:hover img{transform:scale(1.05)}
.llh .mosaic figcaption{position:absolute;left:0;bottom:0;padding:12px 18px;background:var(--ll5-paper);color:var(--ll5-ink);font:600 22px/1.1 var(--ll5-serif);border-top:2px solid var(--ll5-gold)}
.llh .tour .btn-row{margin-top:40px}
.llh .credits{margin-top:20px;font-size:12px;color:var(--ll5-muted);max-width:none}
.llh .concierge .wrap{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,88px);align-items:center;padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec)}
.llh .concierge img{width:100%;aspect-ratio:4/3;object-fit:cover}
.llh .concierge h4{font-size:clamp(30px,3vw,42px)}
.llh .concierge p{margin-top:18px}
.llh .concierge .btn-row{margin-top:30px}
.llh .reviews .wrap{padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec);text-align:center}
.llh .reviews h3{font-size:clamp(36px,4vw,54px)}
.llh .score{display:inline-flex;align-items:center;gap:16px;margin-top:22px;background:var(--ll5-white);padding:12px 22px;border-bottom:3px solid var(--ll5-gold)}
.llh .score b{font:700 30px/1 var(--ll5-serif);color:var(--ll5-ink)}
.llh .stars{color:var(--ll5-gold);letter-spacing:3px;font-size:18px}
.llh .score small{font-size:14px;color:var(--ll5-muted);font-weight:600}
.llh .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;text-align:left}
.llh .quotes blockquote{background:var(--ll5-white);padding:34px 30px 28px;display:flex;flex-direction:column;position:relative;border-top:3px solid var(--ll5-gold)}
.llh .quotes blockquote::before{content:"\201C";position:absolute;top:6px;right:22px;font:700 90px/1 var(--ll5-serif);color:var(--ll5-gold-soft)}
.llh .quotes .stars{font-size:15px}
.llh .quotes blockquote p{margin-top:14px;font:500 21px/1.45 var(--ll5-serif);color:var(--ll5-ink)}
.llh .quotes cite{margin-top:auto;padding-top:22px;font-style:normal;font-weight:700;font-size:15px;color:var(--ll5-ink)}
.llh .quotes cite span{display:block;font-weight:500;color:var(--ll5-muted);font-size:14px}
.llh .contact .wrap{padding-top:var(--ll5-sec);padding-bottom:var(--ll5-sec)}
.llh .contact .sec-head{margin-bottom:44px}
.llh .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.llh .tile{display:flex;flex-direction:column;gap:16px;padding:28px 24px;background:var(--ll5-white);text-decoration:none;color:var(--ll5-ink);border-bottom:3px solid transparent;transition:border-color .25s,transform .25s,box-shadow .25s}
.llh .tile:hover{border-color:var(--ll5-gold);transform:translateY(-3px);box-shadow:0 18px 34px -24px rgba(80,60,20,.55)}
.llh .tile svg{width:48px;height:48px;padding:12px;background:var(--ll5-gold);color:var(--ll5-white);border-radius:50%}
.llh .tile small{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--ll5-gold-ink)}
.llh .tile b{font:700 24px/1.15 var(--ll5-serif);word-break:break-word}
.llh .tile b.mail{font-size:19px}
.llh .tile .link{margin-top:auto;align-self:flex-start;font-size:14px}
.llh .tile--quote{background:var(--ll5-gold)}
.llh .tile--quote svg{background:var(--ll5-white);color:var(--ll5-gold-ink)}
.llh .tile--quote small{color:var(--ll5-ink)}
.llh .tile--quote .link{color:var(--ll5-ink);border-color:rgba(43,37,32,.35)}
.llh .tile--quote:hover{background:var(--ll5-gold-hover)}
.llh .final{position:relative;color:#fff;overflow:hidden;background:var(--ll5-stone-2)}
.llh .final img{width:100%;height:clamp(440px,40vw,560px);object-fit:cover;object-position:55% 50%}
.llh .final::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--ll5-scrim),.66) 0%,rgba(var(--ll5-scrim),.15) 70%)}
.llh .final .wrap{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center}
.llh .final h2{color:#fff;max-width:13ch}
.llh .final p{margin-top:18px;color:#F7F1E7;font-size:19px}
.llh .final .btn-row{margin-top:32px}
@media (max-width:1100px){
.llh .tiles{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
.llh .book .wrap,.llh .intro .wrap,.llh .split .wrap,.llh .tour-head,.llh .concierge .wrap,.llh .sec-head{grid-template-columns:1fr}
.llh .split--flip figure{order:0}
.llh .cards{grid-template-columns:1fr 1fr}
.llh .card,.llh .card:nth-child(4),.llh .card:nth-child(5){grid-column:span 1}
.llh .card:nth-child(5){grid-column:1/-1}
.llh .quotes{grid-template-columns:1fr}
.llh .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}
.llh .mosaic figure,.llh .mosaic figure:first-child,.llh .mosaic figure:nth-child(4){grid-row:auto;grid-column:auto;aspect-ratio:1/1}
.llh .intro figure::before{inset:16px -12px -12px 16px}
}
@media (max-width:600px){
.llh .h2{font-size:34px;text-align:center}
.llh .h3{text-align:center}
.llh .lead{font-size:18px}
.llh .hero{display:block;min-height:0}
.llh .hero picture img{position:static;aspect-ratio:4/3.3;height:auto;object-position:60% 60%}
.llh .hero::after{display:none}
.llh .hero .copy{padding:36px var(--ll5-gut) 44px;background:var(--ll5-stone);text-align:center;color:var(--ll5-ink);border-top:3px solid var(--ll5-gold)}
.llh .hero h1{color:var(--ll5-ink);font-size:40px;margin:0 auto}
.llh .hero p{color:var(--ll5-muted);font-size:18px}
.llh .facts{flex-direction:column;align-items:center;gap:10px;font-size:16px;color:var(--ll5-ink)}
.llh .facts li::before{border-color:var(--ll5-gold)}
.llh .book .wrap>div:first-child{text-align:center}
.llh .intro .wrap > div{text-align:center}
.llh .intro figure::before{display:none}
.llh .trust{grid-template-columns:1fr;text-align:left}
.llh .ticks{width:fit-content;margin-left:auto;margin-right:auto;text-align:left}
.llh .split .wrap > div > p,.llh .intro .wrap > div > p,.llh .concierge p,.llh .tour-head p{text-align:left}
.llh .cards{grid-template-columns:1fr}
.llh .card:nth-child(5){grid-column:auto}
.llh .card div{text-align:center;align-items:center}
.llh .split .wrap > div{text-align:center}
.llh .airports{grid-template-columns:1fr;text-align:left}
.llh .pledges{grid-template-columns:1fr}
.llh .tour-head{text-align:center}
.llh .mosaic{gap:10px}
.llh .mosaic figcaption{font-size:17px;padding:8px 12px}
.llh .concierge .wrap > div{text-align:center}
.llh .tiles{grid-template-columns:1fr}
.llh .tile{align-items:center;text-align:center}
.llh .tile .link{align-self:center}
.llh .final .wrap{text-align:center;align-items:center}
.llh .final::after{background:rgba(var(--ll5-scrim),.5)}
}
.llh .bg-wine{background:var(--ll5-wine);color:var(--ll5-on-dark)}
.llh .bg-wine h2{color:#fff}
.llh .bg-wine h3{color:var(--ll5-patina)}
.llh .bg-wine p,.llh .bg-wine .tour-head p{color:var(--ll5-on-dark)}
.llh .bg-wine .credits{color:var(--ll5-on-dark-muted)}
.llh .bg-wine .mosaic figcaption{background:var(--ll5-wine-2);color:#fff;border-top-color:var(--ll5-patina)}
.llh .pledge{border-top-color:var(--ll5-wine)}
.llh .pledge svg{color:var(--ll5-wine)}
.llh .call svg,.llh .tile svg{background:var(--ll5-wine)}
.llh .tile--quote svg{background:var(--ll5-white);color:var(--ll5-wine)}
.llh .trust li,.llh .card div,.llh .quotes blockquote{border-color:var(--ll5-gold)}
.llh .quotes blockquote{border-top-color:var(--ll5-wine)}
.llh .score{border-bottom-color:var(--ll5-wine)}
@media (max-width:600px){
.llh .hero .copy{border-top-color:var(--ll5-wine)}
}
@media (prefers-reduced-motion:reduce){
.llh *{transition:none!important;scroll-behavior:auto!important}
}
