/* First three home sections only. Historical sections keep their stylesheet. */
.lot1 {
  --lot1-accent: var(--cta-primary);
  color: var(--ink);
  padding-block: clamp(38px, 6vw, 76px);
}
.lot1 p { line-height: 1.75; }
.lot1 .section-title { max-width: 960px; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.16; }
.lot1 .lot1-intro { max-width: 900px; color: var(--ink2); }
.lot1-intro p { margin: 0 0 20px; }
#accueil.lot1-hero { padding-block: clamp(46px, 7vw, 88px) clamp(38px, 5vw, 64px); }
.lot1-hero-copy { max-width: 980px; }
.lot1-hero .kicker { color: #694e41; letter-spacing: .12em; }
.lot1-hero h1 { font-size: clamp(36px, 4.7vw, 64px); line-height: 1.08; letter-spacing: -.035em; margin: 22px 0; max-width: 950px; text-wrap: balance; }
.lot1-hero .lead { max-width: 820px; margin-bottom: 22px; }
.lot1-local { color: #694e41; font-size: 14px; margin: 0 0 26px; }
.lot1-actions { display: flex; align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.lot1-booking p { font-size: 12px; color: #694e41; margin: 9px 0 0; max-width: 310px; }
.lot1-situation {
  position: relative;
  isolation: isolate;
  border-block: 1px solid var(--cta-light);
  background-color: var(--beige);
  background-image: linear-gradient(rgba(219,158,125,.20), rgba(219,158,125,.20)), repeating-linear-gradient(115deg, transparent 0 47px, rgba(185,98,64,.035) 47px 48px);
}
.lot1-situation::before { content: ""; position: absolute; top: 0; left: max(var(--pad), calc((100% - var(--max)) / 2 + var(--pad))); width: 80px; height: 3px; background: var(--cta-primary); }
.lot1-situation .section-title { max-width: 820px; }
.lot1-situation .lot1-situations li { border-color: var(--cta-light); }
@media (min-width: 740px) {
  .lot1-situation .lot1-situations li:nth-child(even) { padding-top: 32px; }
  .lot1-situation .lot1-situations li:nth-child(even)::before { top: 42px; }
}
.lot1-situations { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 42px; padding: 0; margin: 28px 0; }
.lot1-situations li { position: relative; padding: 20px 0 20px 24px; border-top: 1px solid var(--border); line-height: 1.65; }
.lot1-situations li::before { content: ""; position: absolute; top: 30px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--lot1-accent); }
.lot1-text-link { color: var(--lot1-accent); text-decoration: underline; text-underline-offset: 5px; font-weight: 650; line-height: 1.6; display: inline-block; }
.lot1-phases { list-style: none; margin: 36px 0; padding: 0; }
.lot1-phases > li { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 30px; padding: 0 0 32px; }
.lot1-phases > li:not(:last-child)::before { content: ""; position: absolute; left: 25px; top: 52px; bottom: 0; border-left: 1px solid var(--sand); }
.lot1-step { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--taupe); color: var(--lot1-accent); font-size: 18px; font-weight: 700; }
.lot1-phase-copy { max-width: 850px; }
.lot1 h3 { font-size: clamp(21px, 2.2vw, 28px); line-height: 1.25; margin: 8px 0 14px; letter-spacing: -.02em; }
.lot1-phase-copy p { margin: 0 0 14px; color: var(--ink2); }
.lot1-after { max-width: 950px; border: 1px solid var(--border); border-left: 4px solid var(--lot1-accent); border-radius: var(--radius); padding: clamp(20px, 3vw, 32px); background: rgba(246,243,238,.8); }
.lot1-after h3 { margin-top: 0; }
.lot1-after p { margin-bottom: 0; color: var(--ink2); }
.lot1-anchor { display: block; height: 0; scroll-margin-top: 96px; }
.lot1-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.lot1 a:focus-visible, .navdot:focus-visible { outline: 3px solid var(--cta-primary); outline-offset: 5px; }
.navdot:focus-visible .tooltip { opacity: 1; }
@media (max-width: 1100px) {
  .lot1 > .wrap { padding-right: calc(var(--pad) + 40px); }
}
@media (max-width: 739px) {
  .lot1 > .wrap { padding-right: calc(var(--pad) + 26px); }
  .lot1-situations { grid-template-columns: 1fr; }
  .lot1-actions { flex-direction: column; align-items: stretch; }
  .lot1-actions .btn { width: 100%; justify-content: center; }
  .lot1-booking p { max-width: none; }
  .lot1-phases > li { grid-template-columns: 42px 1fr; gap: 14px; }
  .lot1-step { width: 40px; height: 40px; font-size: 15px; }
  .lot1-phases > li:not(:last-child)::before { left: 19px; top: 40px; }
  .lot1 h3 { margin-top: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Validated illustration: blended into the hero, with all copy in HTML. */
#accueil.lot1-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--beige); }
.lot1-hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; 
  object-position: right center; z-index: -2; }
#accueil.lot1-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(to right, var(--beige) 0%, var(--beige) 40%, rgba(255,250,243,.96) 48%, rgba(255,250,243,.70) 58%, rgba(255,250,243,.08) 78%); }
.lot1-hero-copy { max-width: 640px; position: relative; }
.lot1-hero h1 { font-size: clamp(36px, 4vw, 58px); text-wrap: initial; }
.lot1-highlight { display: inline-block; position: relative; isolation: isolate; white-space: nowrap; }
.lot1-highlight::after { content: ""; position: absolute; z-index: -1; left: .015em; right: .22em; bottom: .035em; height: .16em; border-radius: 48% 35% 55% 38% / 35% 45% 50% 40%; transform: rotate(-.5deg); background: linear-gradient(105deg, rgba(219,158,125,.58), rgba(219,158,125,.68) 48%, rgba(219,158,125,.46)); box-shadow: inset 0 1px 0 rgba(255,250,243,.65); pointer-events: none; }
.lot1-method { background: radial-gradient(ellipse at 85% 35%, rgba(219,158,125,.16), transparent 65%); }
.lot1-phases { padding: clamp(20px, 3vw, 36px); background: var(--surface-glass); border: var(--surface-edge); border-radius: var(--radius2); box-shadow: var(--surface-depth); }
.lot1-step { background: linear-gradient(145deg, #fff, var(--taupe)); border-color: rgba(255,255,255,.9); box-shadow: 0 7px 18px rgba(185,98,64,.12); }
.lot1-after { background: var(--surface-glass); box-shadow: var(--surface-depth); }
@media (min-width: 1101px) {
  #accueil.lot1-hero::before { background: linear-gradient(to right, var(--beige) calc((100% - var(--max)) / 2 + var(--pad) + 550px), rgba(255,250,243,.92) calc((100% - var(--max)) / 2 + var(--pad) + 640px), rgba(255,250,243,.10) calc((100% - var(--max)) / 2 + var(--pad) + 850px)); }
  .lot1-hero .lot1-actions { flex-wrap: nowrap; gap: 12px; }
  .lot1-hero .lot1-actions .btn { white-space: nowrap; }
}

/* Fine hero-only adjustment; header and following sections stay untouched. */
#accueil.lot1-hero { padding-block: clamp(40px, 4vw, 58px); }
.lot1-hero .lot1-actions .btn { box-shadow: 0 7px 19px rgba(185,98,64,.13), inset 0 1px 0 rgba(255,255,255,.5); }

.lot1-hero .lot1-actions .btn:hover { box-shadow: 0 10px 24px rgba(185,98,64,.17), inset 0 1px 0 rgba(255,255,255,.6); }
.lot1-hero-art { inset: 0; width: 100%; height: 100%; }
@media (max-width: 739px) {
  #accueil.lot1-hero { padding-top: 36px; padding-bottom: 190px; }
  .lot1-hero-art { inset: auto 0 0 auto; width: 100%; height: 200px; }
}
@media (min-width: 740px) and (max-width: 1100px) {
  .lot1-hero-copy { max-width: 580px; }
  .lot1-hero-art { object-position: right center; }
  #accueil.lot1-hero::before { background: linear-gradient(to right, var(--beige) 15%, rgba(255,250,243,.98) 45%, rgba(255,250,243,.87) 65%, rgba(255,250,243,.15)); }
}
@media (max-width: 739px) {
  #accueil.lot1-hero { padding-bottom: 190px; }
  .lot1-hero-art { top: auto; bottom: 0; height: 180px; object-position: right center; }
  #accueil.lot1-hero::before { background: linear-gradient(to bottom, var(--beige) 0, var(--beige) calc(100% - 190px), rgba(255,250,243,.90) calc(100% - 170px), rgba(255,250,243,.12) calc(100% - 110px)); }
  .lot1-phases { padding: 20px 14px; }
}
