:root {
  --inmy-night: #070a11;
  --inmy-night-soft: #111722;
  --inmy-ivory: #f7f3eb;
  --inmy-gold: #c9ad70;
  --inmy-gold-soft: rgba(201, 173, 112, .38);
  --inmy-premium-shadow: 0 30px 80px rgba(7, 10, 17, .16), 0 6px 20px rgba(7, 10, 17, .08);
}

.section-tone-dark,
.section-tone-light,
.inmy-headquarters { position: relative; isolation: isolate; overflow: hidden; }
.section-tone-dark { color: #fff; background: var(--inmy-night); }
.section-tone-light { color: #0b0e15; background: var(--inmy-ivory); }
.inmy-video-section > :not(.inmy-section-media) { position: relative; z-index: 2; }
.inmy-section-media { position: absolute; z-index: 0; inset: 0; pointer-events: none; overflow: hidden; }
.inmy-section-media video,
.inmy-section-media img { width: 100%; height: 100%; object-fit: cover; }
.inmy-section-media video { filter: saturate(.84) contrast(1.05); }
.inmy-section-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to left, rgba(5, 7, 12, .2) 0%, rgba(5, 7, 12, .72) 52%, rgba(5, 7, 12, .96) 100%), linear-gradient(to bottom, rgba(5, 7, 12, .35), rgba(5, 7, 12, .72)); }

/* Hero cinématique : la vidéo reste plus lisible à droite, le texte est protégé à gauche. */
.hero.section-tone-dark { background: #05070c; }
.hero.section-tone-dark .hero-glow { z-index: 1; opacity: .55; }
.hero.section-tone-dark .hero-visual { display: none; }
.hero.section-tone-dark .hero-content { width: min(820px, 66vw); }
.hero.section-tone-dark .inmy-section-media::after { background: linear-gradient(to left, rgba(4, 6, 10, .08) 0%, rgba(4, 6, 10, .45) 42%, rgba(4, 6, 10, .95) 82%, #04060a 100%), linear-gradient(to top, rgba(4, 6, 10, .68), transparent 46%, rgba(4, 6, 10, .2)); }

/* Alternance : clair / cinématique / clair / cinématique. */
.services.section-tone-dark,
.offers.section-tone-dark { background: var(--inmy-night); }
.services.section-tone-dark .section-heading,
.offers.section-tone-dark .section-heading { position: relative; z-index: 2; }
.services.section-tone-dark .eyebrow-dark,
.offers.section-tone-dark .eyebrow-dark,
.private-preview.section-tone-dark .eyebrow-dark { color: #e2ca91; }
.services.section-tone-dark .section-label,
.offers.section-tone-dark .section-label { color: rgba(255, 255, 255, .58); }
.services.section-tone-dark .section-label span,
.offers.section-tone-dark .section-label span { color: var(--inmy-gold); }
.services.section-tone-dark .section-heading > p,
.offers.section-tone-dark .section-heading > p { color: rgba(255, 255, 255, .68); }

.rotation.section-tone-light { color: #0b0e15; background: linear-gradient(145deg, #fbf9f4, #eee7da); }
.rotation.section-tone-light::before { opacity: .055; filter: invert(1); }
.rotation.section-tone-light .section-label-light,
.rotation.section-tone-light .rotation-copy > p:not(.eyebrow) { color: #645f56; }
.rotation.section-tone-light .eyebrow { color: #957743; }
.rotation.section-tone-light .rotation-steps article { color: #0b0e15; background: rgba(255, 255, 255, .82); border: 1px solid rgba(108, 86, 49, .16); border-radius: 22px; box-shadow: var(--inmy-premium-shadow); }
.rotation.section-tone-light .rotation-steps article p { color: #6c665d; }
.rotation.section-tone-light .rotation-orbit { border-color: rgba(139, 108, 52, .13); }

/* Toutes les cartes gagnent un relief cohérent, sans modifier leur emplacement. */
.service-card,
.offer-card,
.inmy-dynamic-card,
.white-option,
.private-modules span { border: 1px solid rgba(201, 173, 112, .26); border-radius: 22px; box-shadow: var(--inmy-premium-shadow); }
.service-card,
.offer-card,
.white-option { overflow: hidden; }
.service-card { color: #fff; background: rgba(8, 12, 20, .58); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); transition: transform .55s cubic-bezier(.2,.8,.2,1), border-color .35s, background .35s, box-shadow .55s; }
.service-card::before { border-radius: inherit; }
.service-card:hover { color: #fff; background: rgba(18, 24, 35, .82); border-color: rgba(224, 202, 152, .64); transform: translateY(-9px); box-shadow: 0 38px 100px rgba(0, 0, 0, .34); }
.service-card > div:last-child > p:last-child,
.service-card:hover > div:last-child > p { color: rgba(255, 255, 255, .7); }
.offer-card { color: #fff; background: rgba(8, 12, 20, .67); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.offer-card-light { color: #fff; background: rgba(20, 26, 37, .76); }
.offer-card p,
.offer-card li,
.offer-card summary { color: rgba(255, 255, 255, .7); }
.offer-card details div { border-color: rgba(255,255,255,.12); }
.offers .white-option { position: relative; z-index: 2; color: #fff; background: rgba(8, 12, 20, .7); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.offers .white-option p { color: rgba(255,255,255,.7); }

.inmy-dynamic-collection.section-tone-light { background: #f7f3eb; }
.inmy-dynamic-card { background: rgba(255, 255, 255, .82); overflow: hidden; transition: transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s, border-color .35s; }
.inmy-dynamic-card:hover { transform: translateY(-10px); border-color: rgba(166, 128, 61, .48); box-shadow: 0 38px 90px rgba(37, 29, 18, .18); }
.inmy-dynamic-visual { border-radius: 21px 21px 0 0; }
.inmy-dynamic-copy { padding: 1.5rem 1.6rem 1.7rem; border: 0; }
.inmy-dynamic-copy div { padding-top: 1rem; border-top: 1px solid rgba(72, 61, 43, .12); }

.quote-section.section-tone-dark { background: linear-gradient(to left, rgba(5,7,12,.38), rgba(5,7,12,.93)), url('/media/site/images/domaine-chenaie-night.webp') center 62% / cover fixed; }
.quote-section.section-tone-dark::after { background: radial-gradient(circle, rgba(201,173,112,.16), transparent 60%); }

.inmy-headquarters { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: stretch; gap: clamp(2rem, 6vw, 7rem); min-height: 760px; padding-block: clamp(100px, 10vw, 160px); background: #f7f3eb; }
.inmy-headquarters-media { position: relative; min-height: 560px; overflow: hidden; border: 1px solid rgba(126, 98, 49, .22); border-radius: 26px; box-shadow: var(--inmy-premium-shadow); }
.inmy-headquarters-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.inmy-headquarters-media:hover img { transform: scale(1.025); }
.inmy-headquarters-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5,7,12,.72), transparent 50%); }
.inmy-headquarters-media span { position: absolute; z-index: 2; left: 2rem; bottom: 1.8rem; color: #fff; font-size: .6rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.inmy-headquarters-copy { align-self: center; }
.inmy-headquarters-copy .section-label { margin-bottom: 4rem; }
.inmy-headquarters-copy h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.3rem, 5.2vw, 6.4rem); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.inmy-headquarters-copy h2 em { color: #9b7c43; font-weight: 400; }
.inmy-headquarters-copy > p { max-width: 590px; margin: 2.3rem 0 0; color: #625e56; font-family: Georgia, "Times New Roman", serif; line-height: 1.8; }

.private-preview.section-tone-dark { color: #fff; background: linear-gradient(to left, rgba(5,7,12,.32), rgba(5,7,12,.94)), url('/media/site/images/domaine-chenaie-day.webp') center / cover; }
.private-preview.section-tone-dark > p { color: rgba(255,255,255,.7); }
.private-preview.section-tone-dark .private-modules span { color: #fff; background: rgba(7,10,17,.58); border-color: rgba(224,202,152,.28); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }

.contact.section-tone-light { color: #0b0e15; background: radial-gradient(circle at 86%, rgba(201,173,112,.2), transparent 34%), linear-gradient(140deg, #fbf9f4, #eee6d8); }
.contact.section-tone-light::before { opacity: .05; filter: invert(1); }
.contact.section-tone-light .eyebrow { color: #94743d; }
.contact.section-tone-light .contact-lead,
.contact.section-tone-light .privacy-note { color: #6c665d; }
.contact.section-tone-light .contact-form label > span { color: #635c51; }
.contact.section-tone-light .contact-form input,
.contact.section-tone-light .contact-form select { color: #11151d; background: rgba(255,255,255,.76); border: 1px solid rgba(87,72,47,.25); border-radius: 14px; box-shadow: 0 12px 35px rgba(46,36,20,.07); color-scheme: light; }
.contact.section-tone-light .contact-form input::placeholder { color: #918a7e; }
.contact.section-tone-light .contact-form input:focus,
.contact.section-tone-light .contact-form select:focus { border-color: #a88649; background: #fff; box-shadow: 0 0 0 4px rgba(168,134,73,.1), 0 16px 40px rgba(46,36,20,.1); }
.inmy-contact-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.inmy-contact-status { min-height: 1.5rem; margin: 1rem 0 0; color: #625c51; font-size: .875rem; text-align: center; }
.inmy-contact-status.is-success { color: #2f6a46; }
.inmy-contact-status.is-error { color: #a33b35; }
.contact-form button:disabled { cursor: wait; opacity: .68; transform: none; }

/* Apparitions franches mais lentes : mouvement, flou et profondeur. */
.inmy-reveal { opacity: 0; filter: blur(10px); transform: translateY(56px) scale(.985); transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform 1s cubic-bezier(.2,.8,.2,1), filter .9s; transition-delay: var(--inmy-reveal-delay, 0ms); }
.inmy-reveal.inmy-revealed { opacity: 1; filter: none; transform: none; }

@media (max-width: 900px) {
  .hero.section-tone-dark .hero-content { width: 100%; }
  .hero.section-tone-dark .inmy-section-media::after { background: linear-gradient(to bottom, rgba(4,6,10,.38), rgba(4,6,10,.92) 78%), linear-gradient(to left, rgba(4,6,10,.12), rgba(4,6,10,.8)); }
  .inmy-headquarters { grid-template-columns: 1fr; min-height: auto; }
  .inmy-headquarters-media { min-height: 62vw; }
}

@media (max-width: 640px) {
  .brand { min-height: 44px; }
  .service-card,
  .offer-card,
  .inmy-dynamic-card,
  .white-option { border-radius: 17px; }
  .inmy-headquarters { padding-inline: 20px; }
  .inmy-headquarters-media { min-height: 72vw; border-radius: 18px; }
  .inmy-headquarters-copy .section-label { margin-bottom: 2.4rem; }
  .inmy-headquarters-copy h2 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .quote-section.section-tone-dark { background-attachment: scroll; }
  .mobile-menu summary { min-width: 44px; min-height: 44px; }
  .mobile-menu nav a, .footer-links a { display: flex; align-items: center; min-height: 44px; }
  .eyebrow, .section-label, .service-tag, .card-topline, .offer-top p, .offer-top span,
  .offer-price small, .offer-price span, .white-option > div:nth-child(2) p,
  .white-option-copy strong, .quote-section > span, .private-modules span,
  .contact-form label > span, .privacy-note, .signature-copy small { font-size: .75rem; }
  .contact-form input, .contact-form select { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .inmy-section-media video { display: none; }
  .inmy-reveal { opacity: 1; filter: none; transform: none; transition: none; }
  .service-card,
  .inmy-dynamic-card,
  .inmy-headquarters-media img { transition: none; }
}
