/* Adhika Park Ballainvilliers : page de commercialisation (reprise de la page Lamorlaye, octobre 2026)
   Aucune dépendance. Tokens, typographie, layout, composants, responsive. */

@font-face { font-family: "Montserrat"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/montserrat-700.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 800; font-style: normal; font-display: swap; src: url("../fonts/montserrat-800.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/roboto-400.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/roboto-500.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/roboto-700.woff2") format("woff2"); }

:root {
  --navy: #181851;
  --navy-deep: #10103A;
  --ink: #181851;
  --muted: #5A6478;
  --zinc: #EEF0F3;
  --zinc-2: #D9DEE6;
  --white: #FFFFFF;
  --lime: #82BE00;
  --lime-ink: #5B8500;
  --orange: #F4711F;
  --orange-ink: #C94F00;
  --radius: 0;
  --wrap: 1180px;
  --gutter: 20px;
  --font: "Roboto", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-titre: "Montserrat", "Roboto", "Segoe UI", Helvetica, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
main [id] { scroll-margin-top: 88px; }  /* en-tête collant de 64 px + respiration */
@media (max-width: 1023px) { main [id] { scroll-margin-top: calc(var(--top-h, 64px) + var(--mbar-h, 70px) + 20px); } }  /* téléphone : en plus, la barre de boutons calée sous l'en-tête */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

body {
  margin: 0;
  font-family: var(--font);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--white);
  font-variant-numeric: tabular-nums;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
a:hover { color: var(--orange-ink); }
h1, h2, h3 { margin: 0; line-height: 1.12; font-family: var(--font-titre); letter-spacing: -0.01em; }
h1 { font-weight: 800; font-size: clamp(2.5rem, 6vw, 4.4rem); line-height: 1.02; letter-spacing: -0.025em; max-width: 14ch; }
h2 { font-weight: 800; font-size: clamp(1.65rem, 3.2vw, 2.45rem); max-width: 22ch; }
h3 { font-weight: 700; font-size: 1.15rem; }
p { margin: 0 0 1em; }
strong { font-weight: 700; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.intro { font-size: 1.1rem; max-width: 64ch; color: var(--ink); margin: 0.8em 0 1.6em; }
.intro-list { font-size: 1.05rem; margin: 0.8em 0 1.6em; max-width: 64ch; }
/* Puces carrées, charte Adhika */
.intro-list, details ul { list-style: none; padding-left: 0; }
.intro-list li, details ul li { position: relative; padding-left: 22px; margin-bottom: 6px; }
.intro-list li::before, details ul li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 9px; height: 9px; background: var(--lime); }
.note { color: var(--muted); font-size: 0.92rem; max-width: 70ch; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.skip { position: absolute; left: -9999px; top: 8px; background: var(--white); color: var(--navy); padding: 8px 12px; z-index: 100; border-radius: var(--radius); }
.skip:focus { left: 8px; }

/* Boutons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 22px; border-radius: var(--radius);
  font: inherit; font-weight: 700; font-size: 1rem; text-decoration: none; cursor: pointer;
  border: 2px solid transparent; white-space: nowrap;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn-orange { background: var(--orange); color: var(--white); border-color: var(--orange); }
.btn-orange:hover { background: var(--orange-ink); border-color: var(--orange-ink); color: var(--white); }
.btn-navy { background: var(--navy); color: var(--white); border-color: var(--navy); }
.btn-navy:hover { background: var(--navy-deep); color: var(--white); }
.btn-lime { background: var(--lime); color: var(--navy); border-color: var(--lime); }
.btn-lime:hover { background: #9dd44f; color: var(--navy); }
.btn-ghost { background: transparent; color: var(--white); border-color: rgba(255,255,255,.7); }
.btn-ghost:hover { background: rgba(255,255,255,.12); color: var(--white); }
.btn-ghost-navy { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn-ghost-navy:hover { background: var(--zinc); color: var(--navy); }
.link-btn { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--navy); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.link-btn:hover { color: var(--orange-ink); }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.btn-orange:focus-visible { outline-color: var(--navy); }

/* En-tête */
.top { position: sticky; top: 0; z-index: 50; background: var(--navy); color: var(--white); }
.top-row { display: flex; align-items: center; gap: 24px; min-height: 64px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--white); text-decoration: none; font-weight: 500; font-size: 1rem; margin-right: auto; }
.brand strong { font-weight: 700; }
.nav { display: none; gap: 22px; }
.nav a { color: rgba(255,255,255,.85); text-decoration: none; font-weight: 700; font-size: .95rem; }
.nav a:hover { color: var(--lime); }
.top-call { min-height: 42px; padding: 0 16px; font-size: .95rem; }

/* Hero */
.hero { position: relative; min-height: 78vh; display: flex; align-items: flex-end; color: var(--white); background: var(--navy); overflow: hidden; }
.hero-bg, .hero-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.hero-bg img { filter: brightness(1.08); }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24,24,81,.04) 0%, rgba(24,24,81,.28) 45%, rgba(22,31,53,.88) 100%); }
.hero-content { position: relative; z-index: 1; padding-top: 150px; padding-bottom: 56px; text-shadow: 0 2px 14px rgba(22,31,53,.55); }
.hero-where { font-weight: 700; color: var(--white); margin: 0 0 14px; padding-left: 14px; border-left: 4px solid var(--lime); line-height: 1.3; }
.hero-lead { font-size: 1.2rem; max-width: 50ch; margin: 22px 0 16px; color: rgba(255,255,255,.92); }
.hero-lead strong { display: block; margin-top: 6px; color: var(--white); font-weight: 700; font-size: 1.2em; white-space: nowrap; }
.hero-proof { text-shadow: none; list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; font-weight: 700; color: rgba(255,255,255,.9); }
.hero-proof li { display: inline-flex; align-items: center; gap: 8px; }
/* Tag (cartouche) : capitales espacées, filet fin, pas de fond plein, pour ne pas ressembler à un bouton */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1; padding: 6px 10px; border: 1.5px solid currentColor; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; text-shadow: none; }


/* Pourquoi maintenant */
.why { padding-top: 48px; padding-bottom: 24px; }
.why h2 { max-width: none; margin-bottom: 28px; text-wrap: balance; }
.why-cols { display: grid; gap: 28px 40px; }
.why-cols h3 { margin-bottom: 8px; max-width: 26ch; }
.why-cols p { margin: 0; color: var(--muted); max-width: 46ch; }

/* Colonnes principale + latérale */
.two-col { display: grid; gap: 48px; padding-top: 24px; }
.main-col > section { padding: 40px 0; border-top: 1px solid var(--zinc-2); }
.main-col > section:first-child { border-top: 0; }
.side { display: none; }

/* Lots */
.plan { margin: 8px 0 32px; }
.plan img { border-radius: var(--radius); border: 1px solid var(--zinc-2); }
.plan figcaption { color: var(--muted); font-size: .92rem; margin-top: 8px; }
.building { margin: 26px 0; }
.building h3 { margin-bottom: 14px; }
.lot-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.lot { position: relative; display: grid; gap: 4px; padding: 14px 14px 16px; border-radius: var(--radius); border: 2px solid var(--zinc-2); background: var(--white); min-height: 150px; }
.lot-name { font-weight: 700; font-size: 1.7rem; line-height: 1; }
.lot-surface { font-weight: 700; font-size: 1.05rem; }
.lot-status { font-weight: 700; font-size: .9rem; }
.lot-detail { font-size: .84rem; color: var(--muted); line-height: 1.3; }
.lot-price { font-size: .84rem; color: var(--muted); margin-top: 2px; line-height: 1.3; }
.lot .sim { margin-top: auto; justify-self: start; font-size: .92rem; }
.lot.is-free { border-color: var(--lime); }
.lot.is-free .lot-status { color: var(--lime-ink); }
.lot.is-sold { background: repeating-linear-gradient(135deg, var(--zinc) 0 10px, #E5E8ED 10px 12px); border-color: var(--zinc-2); color: var(--muted); min-height: 110px; }
.lot.is-sold .lot-status { color: var(--muted); }
.lot.is-sold::after { content: "Réservé"; position: absolute; top: 12px; right: 12px; font-weight: 700; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; line-height: 1; color: var(--muted); border: 1.5px solid var(--muted); padding: 4px 8px; }
.lot.is-sold .lot-status { position: absolute; left: -9999px; }

/* Simulateur */
.sim h2 { max-width: 30ch; }
.lots h2 { max-width: none; }
.sim-form { display: grid; gap: 22px; background: var(--navy); color: var(--white); border-radius: 0; padding: 26px 22px; }
.sim-inputs { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.sim-inputs label { display: grid; gap: 4px; font-size: .86rem; font-weight: 700; }
.sim-inputs label span { font-weight: 500; color: rgba(255,255,255,.72); font-size: .8rem; }
.sim-inputs input { font: inherit; font-weight: 700; font-size: 1.05rem; padding: 10px 12px; border-radius: var(--radius); border: 2px solid transparent; background: var(--white); color: var(--navy); width: 100%; }
.sim-inputs input:focus { outline: none; border-color: var(--lime); }
.sim-out { display: grid; gap: 16px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); }
.sim-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sim-fig { display: grid; gap: 2px; padding: 16px; border-radius: var(--radius); background: rgba(255,255,255,.07); }
.sim-fig-main { background: var(--white); color: var(--navy); }
.sim-label { font-weight: 700; font-size: .92rem; opacity: .85; }
.sim-fig strong { font-weight: 700; font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.05; letter-spacing: -0.02em; white-space: nowrap; }
.sim-fig-main strong { color: var(--orange-ink); }
.sim-unit { font-size: .82rem; opacity: .8; }
.sim-verdict { font-weight: 700; font-size: 1.15rem; color: var(--lime); margin: 4px 0 0; max-width: 46ch; }
.sim-more { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px 20px; margin: 0; }
.sim-more div { display: grid; gap: 2px; }
.sim-more dt { font-size: .82rem; opacity: .8; }
.sim-more dd { margin: 0; font-weight: 700; font-size: 1.05rem; }
.sim-out .btn { justify-self: start; }
.sim-disclaimer { font-size: .8rem; opacity: .7; margin: 0; max-width: 60ch; }

/* Programme */
.gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 8px 0 28px; }
.gallery figure { margin: 0; }
.gallery img { border-radius: var(--radius); aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.gallery figcaption { font-size: .9rem; color: var(--muted); margin-top: 6px; }
.specs details, .faq details { border-top: 1px solid var(--zinc-2); }
.specs details:last-child, .faq details:last-child { border-bottom: 1px solid var(--zinc-2); }
summary { cursor: pointer; list-style: none; padding: 16px 40px 16px 0; font-weight: 700; font-size: 1.05rem; position: relative; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-weight: 500; font-size: 1.5rem; color: var(--lime-ink); line-height: 1; }
details[open] summary::after { content: "–"; }
details ul, details p { margin: 0 0 18px; color: var(--ink); max-width: 66ch; }
details p { padding-left: 0; }
details li { margin-bottom: 4px; }
details ul ul { margin: 6px 0 0; }
details ul ul li::before { width: 6px; height: 6px; top: 0.6em; background: var(--lime-ink); }
.brochure { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; background: var(--zinc); border-radius: var(--radius); padding: 18px 20px; margin: 28px 0; }
.brochure p { margin: 0; flex: 1 1 260px; font-weight: 700; }
.partners p { color: var(--muted); margin: 0 0 12px; }
.partners ul { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 22px 34px; }
.partners img { width: auto; height: 64px; }
.partners-adhika { max-width: 62ch; }


/* Images agrandissables (plan + galerie) */
.plan, .gallery figure { position: relative; }
.zoomable { cursor: zoom-in; }
.plan::after, .gallery figure::after { content: ""; position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; pointer-events: none; background: var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center / 20px no-repeat; }
.lb { width: 100vw; height: 100vh; max-width: 100vw; max-height: 100vh; margin: 0; padding: 0; border: 0; background: transparent; overflow: hidden; }
.lb::backdrop { background: rgba(16,16,58,.94); }
.lb-stage { position: absolute; inset: 60px 64px 64px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.lb-stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; cursor: zoom-in; background: var(--white); }
.lb.is-zoomed .lb-stage { display: block; overflow: auto; }
.lb.is-zoomed .lb-stage img { max-width: none; max-height: none; cursor: zoom-out; }
.lb-cap { position: absolute; left: 64px; right: 64px; bottom: 18px; margin: 0; color: var(--white); text-align: center; font-weight: 500; font-size: .95rem; }
.lb-btn { position: absolute; width: 44px; height: 44px; border: 0; border-radius: 0; background: var(--navy); color: var(--white); font: inherit; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.lb-btn:hover { background: var(--lime); color: var(--navy); }
.lb-close { top: 10px; right: 10px; }
.lb-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 10px; top: 50%; transform: translateY(-50%); }
@media (max-width: 699px) { .lb-stage { inset: 60px 8px 64px; } .lb-prev, .lb-next { top: auto; bottom: 10px; transform: none; } .lb-cap { left: 60px; right: 60px; } }

/* Visite */
.visite-row { display: grid; gap: 32px; }
.conseil { display: grid; gap: 8px; align-content: start; }
.conseil img { width: 120px; }   /* la photo contient déjà son rond, la tête dépasse au-dessus : ne pas la recouper */
.conseil p { margin: 0; }
.conseil-say { color: var(--muted); max-width: 40ch; }
.conseil-contact a { font-weight: 700; }
.lead { display: grid; gap: 14px; background: var(--zinc); padding: 22px; border-radius: 0; align-content: start; }
.lead label { display: block; font-weight: 700; font-size: .92rem; }
.lead label small { font-weight: 500; color: var(--muted); font-size: .85em; }
.lead input, .lead select, .lead textarea { margin-top: 4px; font: inherit; font-weight: 500; font-size: .95rem; padding: 11px 12px; border-radius: var(--radius); border: 2px solid var(--zinc-2); background: var(--white); color: var(--ink); width: 100%; }
.lead input:focus, .lead select:focus, .lead textarea:focus { outline: none; border-color: var(--navy); }
.lead input:user-invalid { border-color: var(--orange-ink); }
.f2 { display: grid; gap: 14px; }
.lead .btn { justify-self: start; }
.form-status { margin: 0; font-weight: 700; color: var(--lime-ink); min-height: 1.4em; }
.form-status.is-error { color: var(--orange-ink); }
.form-legal { margin: 0; font-size: .82rem; color: var(--muted); }

/* Latérale (desktop) */
.side-card { position: sticky; top: 84px; display: grid; gap: 10px; padding: 20px; border-radius: 0; border: 2px solid var(--zinc-2); background: var(--white); box-shadow: 0 10px 30px rgba(24,24,81,.08); }
.side-card img { width: 72px; }
.side-card p { margin: 0; }
.side-card .btn { width: 100%; }
.side-price { font-size: .95rem; line-height: 1.45; color: var(--muted); }
.side-price strong { color: var(--ink); }
.side-link { font-weight: 700; font-size: .95rem; }

/* Pied de page */
.foot { background: var(--navy); color: rgba(255,255,255,.85); margin-top: 48px; padding: 40px 0; font-size: .95rem; }
.foot a { color: var(--white); }
.foot-row { display: grid; gap: 14px; }
.foot-small { color: rgba(255,255,255,.6); font-size: .85rem; margin: 0; }

/* Barre de boutons (téléphone, tablette). Cachée en haut de page pour ne pas doubler les boutons du hero.
   Quand ceux-ci passent sous l'en-tête, js/main.js pose la classe est-visible : la barre se cale sous l'en-tête,
   comme si les boutons du hero y restaient accrochés. --top-h et --mbar-h (hauteurs mesurées) viennent aussi de main.js. */
.mobile-bar { position: fixed; left: 0; right: 0; top: var(--top-h, 64px); z-index: 40; display: grid; grid-template-columns: 1.6fr 1fr; gap: 8px 10px; padding: 10px var(--gutter); background: var(--white); border-bottom: 1px solid var(--zinc-2); box-shadow: 0 6px 16px rgba(24,24,81,.10); transform: translateY(-100%); visibility: hidden; transition: transform .22s ease, visibility 0s linear .22s; }
.mobile-bar.est-visible { transform: none; visibility: visible; transition: transform .22s ease; }
.mobile-bar .btn { min-height: 46px; padding: 0 12px; }

/* FAQ */
.faq details p { max-width: 66ch; }

/* ≥ 700 px */
@media (min-width: 700px) {
  .why-cols { grid-template-columns: repeat(3, 1fr); }
  .visite-row { grid-template-columns: 300px 1fr; }
  .f2 { grid-template-columns: 1fr 1fr; }
  .hero-content { padding-top: 140px; padding-bottom: 64px; }
}

/* ≥ 1024 px : navigation, colonne latérale, plus de barre mobile */
@media (min-width: 1024px) {
  .nav { display: flex; }
  .two-col { grid-template-columns: minmax(0, 1fr) 320px; }
  .side { display: block; }
  .mobile-bar { display: none; }
  .hero { min-height: 82vh; }
  .sim-form { grid-template-columns: 1fr 1.15fr; padding: 30px; }
  .sim-inputs { grid-template-columns: 1fr 1fr; align-content: start; }
  .sim-out { border-top: 0; border-left: 1px solid rgba(255,255,255,.18); padding-top: 0; padding-left: 26px; }
}

/* Ballainvilliers : design de Lamorlaye (texte sur la photo), cadré pour que le texte reste sous le bâtiment, sur la chaussée.
   Le bâtiment occupe le haut de la photo : on la cale vers le haut et le texte reste en bas (demande de Bérénice, 22 octobre 2026). */
/* Téléphone : texte sur la photo comme sur ordinateur, mais hero moins haut (hauteur du texte + une bande de photo au-dessus) */
@media (max-width: 699px) {
  .hero { min-height: 0; }
  .hero-bg img { object-position: 62% 0%; }
  .hero-content { padding-top: 96px; padding-bottom: 28px; }
}
.hero::after { background: linear-gradient(180deg, rgba(24,24,81,0) 0%, rgba(24,24,81,.1) 30%, rgba(22,31,53,.6) 55%, rgba(22,31,53,.92) 100%); }
.hero h1 { font-size: clamp(2.1rem, 4.4vw, 3.6rem); max-width: 22ch; }
.hero-lead { margin: 14px 0 10px; }
.hero-proof { margin-bottom: 18px; }
@media (min-width: 700px) {
  .hero { min-height: 72vh; }
  /* hero moins haut : la photo remonte (on perd du ciel) pour que le bâtiment reste au-dessus du texte */
  .hero-bg { top: -22%; height: 122%; }
  .hero-bg img { object-position: 60% 0%; }
}

/* Maquette 3D : ses boutons (z-index 3000) restent dans leur cadre et ne passent plus par-dessus l'en-tête collant */
.m3d .m3d-cadre { isolation: isolate; }

/* Boutons d'action en vert (demande de Bérénice, 23 octobre 2026) : contour marine au focus, lisible sur le vert */
.btn-lime:focus-visible { outline-color: var(--navy); }

/* Lightbox : glisser du doigt pour changer de photo (js/main.js, 23 octobre 2026) */
.lb:not(.is-zoomed) .lb-stage { touch-action: pan-y pinch-zoom; }

/* Ordinateur : hero moins haut, le début de la section suivante reste visible sous la photo (demande de Bérénice, 23 octobre 2026) */
@media (min-width: 1024px) {
  .hero { min-height: min(62vh, 620px); }
  .hero-content { padding-top: 100px; padding-bottom: 44px; }
}
@media (min-width: 1024px) {
  /* hero plus court : la photo remonte encore pour que le bâtiment reste au-dessus du titre */
  .hero-bg { top: -42%; height: 142%; }
}

/* Ordinateur : même hauteur de photo d'accueil sur les trois pages programme (Lamorlaye, Ballainvilliers, Wissous lot 20B),
   celle de Lamorlaye avec son offre (demande de Bérénice, 23 octobre 2026). Le titre de la section suivante reste visible sur un écran de 900 px. */
@media (min-width: 1024px) {
  .hero { min-height: 680px; }
  .hero-bg { top: -22%; height: 122%; }   /* le bâtiment reste au-dessus du titre */
}

/* Survol des liens en vert, plus d'orange (demande de Bérénice, 23 octobre 2026) : vert foncé sur fond blanc (lisible), vert vif sur fond marine */
a:hover, .link-btn:hover { color: var(--lime-ink); }
.brand:hover, .top a:not(.btn):hover, .foot a:not(.btn):hover, .hero a:not(.btn):hover, .sim a:not(.btn):hover { color: var(--lime); }
