﻿:root {
  --ink: #151821;
  --muted: #5f6572;
  --line: #d9dde4;
  --paper: #fbfaf7;
  --white: #ffffff;
  --navy: #14243a;
  --navy-2: #203553;
  --gold: #a77a32;
  --gold-soft: #eee4d4;
  --gold-wash: #f8ecd0;
  --gold-accent: #e7c77f;
  --pill-bg: #14243a;
  --pill-border: rgba(241, 216, 164, 0.42);
  --glass-light: #14243a;
  --glass-dark: #14243a;
  --stone: #f1efe9;
  --max: 1560px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--gold-wash);
  line-height: 1.55;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(248, 236, 208, 0.94);
  border-bottom: 1px solid rgba(20, 36, 58, 0.16);
  backdrop-filter: blur(16px);
}

.nav {
  max-width: var(--max);
  margin: 0 auto;
  padding: 14px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.brand {
  text-decoration: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  letter-spacing: 0;
  color: var(--navy);
  white-space: nowrap;
}

.navlinks {
  display: flex;
  align-items: center;
  gap: 22px;
  font-size: 15px;
  color: var(--navy);
  font-weight: 750;
}

.navlinks a {
  text-decoration: none;
}

.navlinks a:hover {
  color: var(--navy);
}

.button,
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid var(--navy);
  background: var(--navy);
  color: var(--white);
  text-decoration: none;
  font-weight: 750;
  font-size: 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.button:hover,
button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(20, 36, 58, 0.14);
}

.button.secondary {
  border-color: rgba(20, 36, 58, 0.28);
  background: var(--glass-light);
  color: var(--navy);
}

.button.light {
  border-color: var(--pill-border);
  color: #f1d8a4;
  background: var(--pill-bg);
}

.hero {
  min-height: 560px;
  background:
    linear-gradient(90deg, rgba(20, 36, 58, 0.94) 0%, rgba(20, 36, 58, 0.76) 42%, rgba(20, 36, 58, 0.03) 100%),
    url("assets/hero-documents.png") center / cover no-repeat;
  color: var(--white);
  display: flex;
  align-items: center;
}

.hero-inner {
  max-width: none;
  width: 100%;
  margin: 0 auto;
  padding: 48px clamp(24px, 5vw, 92px);
  display: grid;
  grid-template-columns: minmax(380px, 0.37fr) minmax(760px, 0.63fr);
  gap: clamp(30px, 4vw, 76px);
  align-items: center;
}

.hero-copy {
  min-width: 0;
}

.eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  border: 1px solid var(--pill-border);
  border-radius: 999px;
  background: var(--pill-bg);
  color: #f1d8a4;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.12em;
  margin: 0 0 18px;
}

h1,
h2,
h3 {
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
}

h1 {
  max-width: 680px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 4.6vw, 62px);
  font-weight: 500;
}

.hero p {
  max-width: 680px;
  margin: 24px 0 0;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.88);
}

.hero p.hero-proof {
  margin-top: 18px;
  font-size: 15px;
  color: var(--white);
}

.hero-actions {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.hero-recovery {
  max-width: 680px;
  margin: 0 0 22px;
  padding: 14px 16px;
  border-left: 3px solid var(--gold);
  background: rgba(255, 255, 255, 0.12);
}

.hero-recovery strong,
.hero-recovery span {
  display: block;
}

.hero-recovery strong {
  color: var(--white);
  font-size: 17px;
}

.hero-recovery span {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
}

.intake-panel {
  max-width: none;
  width: 100%;
  margin-top: 0;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.16);
  color: var(--ink);
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.intake-chat {
  display: grid;
  grid-template-columns: minmax(260px, 0.38fr) minmax(440px, 0.62fr);
  gap: 0;
  border-radius: 8px;
  overflow: hidden;
  background: var(--gold-wash);
}

.intake-head {
  grid-column: 1 / -1;
  padding: 14px 18px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--navy);
  color: var(--white);
}

.intake-head span,
.intake-head strong,
.intake-head p {
  display: block;
}

.intake-head span {
  color: var(--gold-soft);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.intake-head strong {
  margin-top: 6px;
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.12;
}

.intake-head p {
  margin: 6px 0 0;
  color: var(--white);
  font-size: 13px;
  line-height: 1.38;
}

.intake-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 16px;
}

.intake-progress span {
  min-height: 28px;
  padding: 6px 8px;
  border: 1px solid rgba(241, 216, 164, 0.24);
  border-radius: 999px;
  background: var(--pill-bg);
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.intake-progress span.is-active {
  border-color: var(--pill-border);
  background: rgba(241, 216, 164, 0.14);
  color: #f1d8a4;
}

.chatbot-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  margin-right: 8px;
  border-radius: 999px;
  background: #39d98a;
  box-shadow: 0 0 0 4px rgba(57, 217, 138, 0.16);
}

.intake-options,
.chat-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 18px;
  background: var(--gold-wash);
}

.intake-options button,
.chat-options button {
  min-height: 46px;
  padding: 10px 12px;
  border-color: rgba(167, 122, 50, 0.24);
  background: var(--glass-light);
  color: var(--navy);
  justify-content: flex-start;
  text-align: left;
  font-size: 13px;
}

.intake-options button.is-selected,
.chat-options button:hover {
  background: var(--pill-bg);
  border-color: var(--pill-border);
  color: #f1d8a4;
}

.chat-window {
  grid-column: 1;
  grid-row: 2 / span 2;
  min-height: 204px;
  max-height: none;
  overflow-y: auto;
  padding: 18px 18px 14px;
  background: var(--gold-wash);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.chat-message {
  max-width: 88%;
  padding: 11px 13px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.35;
}

.chat-message.assistant {
  background: var(--glass-light);
  border: 1px solid rgba(167, 122, 50, 0.24);
  color: var(--navy);
  align-self: flex-start;
  border-bottom-left-radius: 8px;
}

.chat-message.user {
  background: var(--navy);
  color: var(--white);
  align-self: flex-end;
  border-bottom-right-radius: 8px;
}

.domain-search {
  grid-column: 2;
  display: grid;
  gap: 8px;
  padding: 14px 18px 0;
  background: var(--gold-wash);
}

.domain-search label {
  color: var(--navy);
  font-size: 13px;
  font-weight: 750;
}

.domain-search input {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  font: inherit;
  background: var(--glass-light);
  color: var(--ink);
}

.intake-options.compact {
  grid-column: 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 12px 18px 16px;
}

.intake-followup {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 1fr);
  gap: 12px;
  padding: 16px 18px 18px;
  background: var(--gold-wash);
  border-top: 1px solid rgba(167, 122, 50, 0.24);
}

.intake-followup label {
  grid-column: 1;
  font-weight: 700;
  color: var(--navy);
}

.intake-followup textarea,
.intake-followup input,
.intake-followup select {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  font: inherit;
  background: var(--glass-light);
  color: var(--ink);
}

.intake-followup textarea {
  grid-column: 1;
  grid-row: span 3;
  min-height: 96px;
  resize: vertical;
}

.intake-meta {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.intake-meta label {
  grid-column: auto;
  font-size: 13px;
  margin: 0;
}

.rdv-choice {
  grid-column: 2;
  padding: 12px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  background: var(--glass-light);
}

.rdv-choice span {
  display: block;
  color: var(--navy);
  font-weight: 750;
  font-size: 13px;
}

.rdv-choice div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 8px;
}

.rdv-choice label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}

.rdv-choice input {
  width: auto;
  margin: 0;
}

.privacy-consent {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid rgba(20, 36, 58, 0.12);
  border-radius: 8px;
  background: var(--glass-light);
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

.privacy-consent input {
  width: auto;
  margin: 3px 0 0;
}

.privacy-consent a {
  color: var(--navy);
  font-weight: 800;
}

.intake-row {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.intake-row:last-of-type {
  grid-template-columns: minmax(0, 1fr) auto;
}

.intake-followup p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.chat-entry {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 14px 18px 10px;
  border-top: 1px solid rgba(167, 122, 50, 0.24);
  background: var(--gold-wash);
}

.chat-label {
  grid-column: 1 / -1;
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
}

.chat-entry textarea {
  width: 100%;
  min-height: 46px;
  padding: 12px;
  border: 2px solid rgba(20, 36, 58, 0.24);
  border-radius: 999px;
  font: inherit;
  background: var(--glass-light);
  color: var(--ink);
  resize: none;
}

.chat-entry textarea.is-large {
  border-radius: 14px;
  min-height: 104px;
  resize: vertical;
}

.chat-entry textarea:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(167, 122, 50, 0.16);
}

.chat-status {
  margin: 0;
  padding: 0 18px 16px;
  background: var(--gold-wash);
  color: var(--muted);
  font-size: 13px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.trustline {
  max-width: var(--max);
  margin: 0 auto;
  padding: 16px 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  border-bottom: 1px solid rgba(167, 122, 50, 0.22);
  background: var(--gold-wash);
  color: var(--muted);
  font-size: 14px;
}

.trustline strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.section {
  padding: 46px 28px;
  background: var(--gold-wash);
}

.section.alt {
  background:
    radial-gradient(circle at 88% 10%, rgba(167, 122, 50, 0.16), transparent 28%),
    var(--gold-wash);
}

.section.marine {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 16%, rgba(241, 216, 164, 0.16), transparent 28%),
    linear-gradient(135deg, #101c2e, #172844);
  color: var(--white);
}

.section.marine::before {
  content: "";
  position: absolute;
  inset: -40% auto -40% -22%;
  width: 30%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06), transparent);
  transform: skewX(-14deg);
  animation: console-sweep 10s ease-in-out infinite;
  pointer-events: none;
}

.section.marine .wrap {
  position: relative;
  z-index: 1;
}

.section.marine .eyebrow {
  border: 1px solid rgba(241, 216, 164, 0.42);
  background: var(--pill-bg);
  color: #f1d8a4;
}

.section.marine h2,
.section.marine h3,
.section.marine .list-item strong,
.section.marine .card h3 {
  color: var(--white);
}

.section.marine .section-title p,
.section.marine .list-item span,
.section.marine .card p,
.section.marine li,
.section.marine p {
  color: var(--white);
}

.section.marine .card,
.section.marine .conversion-card,
.section.marine .conversion-strip,
.section.marine .before-after > div,
.section.marine .list-item {
  border-radius: 8px;
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--glass-dark);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(8px);
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.section.marine .card::before,
.section.marine .conversion-card::before {
  background: transparent;
}

.section.marine .card:hover,
.section.marine .conversion-card:hover,
.section.marine .conversion-strip:hover,
.section.marine .before-after > div:hover,
.section.marine .list-item:hover {
  transform: translateX(6px);
  border-color: rgba(241, 216, 164, 0.42);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
}

.section.marine a {
  color: inherit;
}

.privacy-priority {
  padding-top: 24px;
  background: #f8ecd0;
}

.confidentiality-page .topbar,
.confidentiality-page .privacy-priority.section.alt {
  background: var(--gold-wash);
}

.confidentiality-page .topbar {
  border-bottom-color: rgba(20, 36, 58, 0.16);
}

.confidentiality-page .navlinks {
  color: var(--navy);
  font-size: 15px;
  font-weight: 750;
}

.confidentiality-page .navlinks a:hover {
  color: var(--navy);
}

.privacy-priority .section-title {
  max-width: 980px;
}

.privacy-priority .privacy-console {
  margin-top: 18px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 30px max(28px, calc((100vw - var(--max)) / 2));
  border-radius: 0;
}

.privacy-priority .privacy-console-main {
  padding-left: 0;
}

.confidentiality-page .privacy-guarantees,
.confidentiality-page .privacy-rgpd {
  background: var(--gold-wash);
}

.confidentiality-page .privacy-guarantees {
  padding-top: 38px;
}

.confidentiality-page .privacy-responsibility {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 16%, rgba(241, 216, 164, 0.18), transparent 28%),
    linear-gradient(135deg, #101c2e, #172844);
  color: var(--white);
}

.confidentiality-page .privacy-responsibility::before {
  content: "";
  position: absolute;
  inset: -40% auto -40% -22%;
  width: 30%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06), transparent);
  transform: skewX(-14deg);
  animation: console-sweep 10s ease-in-out infinite;
  pointer-events: none;
}

.confidentiality-page .privacy-responsibility .wrap {
  position: relative;
  z-index: 1;
}

.confidentiality-page .privacy-responsibility .eyebrow,
.confidentiality-hero .eyebrow,
.console-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  border: 1px solid rgba(241, 216, 164, 0.42);
  border-radius: 999px;
  background: var(--pill-bg);
  color: #f1d8a4;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.12em;
}

.confidentiality-page .privacy-responsibility h2,
.confidentiality-page .privacy-responsibility .list-item strong {
  color: var(--white);
}

.confidentiality-page .privacy-responsibility p,
.confidentiality-page .privacy-responsibility .list-item span {
  color: var(--white);
}

.confidentiality-page .privacy-responsibility .list {
  gap: 12px;
}

.confidentiality-page .privacy-responsibility .list-item {
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: var(--pill-bg);
  backdrop-filter: blur(8px);
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.confidentiality-page .privacy-responsibility .list-item:hover {
  transform: translateX(6px);
  border-color: rgba(241, 216, 164, 0.42);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
}

.confidentiality-page .band {
  position: relative;
  overflow: hidden;
}

.confidentiality-page .band::before {
  content: "";
  position: absolute;
  inset: -45% auto -45% -26%;
  width: 32%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.07), transparent);
  transform: skewX(-14deg);
  animation: console-sweep 10s ease-in-out infinite;
  pointer-events: none;
}

.confidentiality-page .band .wrap {
  position: relative;
  z-index: 1;
}

.wrap {
  max-width: var(--max);
  margin: 0 auto;
}

.split {
  display: grid;
  grid-template-columns: minmax(360px, 0.72fr) minmax(620px, 1.28fr);
  gap: 42px;
  align-items: start;
}

.section-title {
  max-width: 760px;
}

.section-title h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 42px);
  color: var(--navy);
  font-weight: 500;
}

.section-title p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 17px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}

.grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.service-filters button {
  min-height: 38px;
  padding: 8px 13px;
  border-color: rgba(20, 36, 58, 0.28);
  border-radius: 999px;
  background: var(--glass-light);
  color: var(--navy);
}

.service-filters button.is-active {
  border-color: var(--pill-border);
  background: var(--pill-bg);
  color: #f1d8a4;
}

.service-results .card[hidden] {
  display: none;
}

.deliverables-title {
  margin-top: 42px;
}

.deliverables-grid .card {
  min-height: 190px;
}

.deliverables-grid .card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
}

.conversion-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}

.conversion-card {
  position: relative;
  overflow: hidden;
  background: var(--glass-light);
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  padding: 22px;
  box-shadow: 0 18px 45px rgba(20, 36, 58, 0.08);
  backdrop-filter: blur(8px);
}

.conversion-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--gold), var(--gold-accent));
}

.conversion-card span {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--navy);
  color: var(--white);
  font-weight: 750;
  margin-bottom: 12px;
}

.conversion-card h3 {
  color: var(--navy);
  font-size: 21px;
}

.conversion-card p {
  color: var(--muted);
  margin: 12px 0 0;
}

.conversion-strip {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(167, 122, 50, 0.42);
  background: var(--glass-light);
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
}

.conversion-strip strong,
.conversion-strip span {
  display: block;
}

.conversion-strip strong {
  color: var(--navy);
}

.conversion-strip span {
  color: var(--muted);
  margin-top: 4px;
}

.card {
  position: relative;
  overflow: hidden;
  background: var(--glass-light);
  border: 1px solid rgba(167, 122, 50, 0.36);
  border-radius: 8px;
  padding: 22px;
  box-shadow: 0 20px 48px rgba(20, 36, 58, 0.1);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--gold), var(--gold-accent));
}

.card:hover {
  transform: translateY(-3px);
  border-color: rgba(167, 122, 50, 0.46);
  box-shadow: 0 22px 48px rgba(20, 36, 58, 0.11);
}

.card h3 {
  font-size: 20px;
  color: var(--navy);
}

.card p {
  color: var(--muted);
  margin: 8px 0 0;
}

.before-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.before-after > div {
  padding: 22px;
  border: 1px solid rgba(167, 122, 50, 0.24);
  border-radius: 8px;
  background: var(--glass-light);
  box-shadow: 0 16px 40px rgba(20, 36, 58, 0.07);
}

.before-after h3 {
  color: var(--navy);
  font-size: 22px;
}

.before-after ul {
  margin: 14px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.before-after li + li {
  margin-top: 7px;
}

.number {
  width: 34px;
  height: 34px;
  border: 1px solid var(--gold);
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 700;
  margin-bottom: 12px;
}

.list {
  display: grid;
  gap: 12px;
}

.list-item {
  padding: 18px 20px;
  border: 1px solid rgba(167, 122, 50, 0.24);
  border-radius: 8px;
  background: var(--glass-light);
  box-shadow: 0 14px 34px rgba(20, 36, 58, 0.06);
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.list-item:hover {
  transform: translateX(6px);
  border-color: rgba(167, 122, 50, 0.42);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 18px 42px rgba(20, 36, 58, 0.09);
}

.list-item strong {
  display: block;
  color: var(--navy);
}

.list-item span {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}

.band {
  position: relative;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
  padding: 42px 28px;
}

.band::before {
  content: "";
  position: absolute;
  inset: -45% auto -45% -26%;
  width: 32%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.07), transparent);
  transform: skewX(-14deg);
  animation: console-sweep 10s ease-in-out infinite;
  pointer-events: none;
}

.band .wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 36px;
  align-items: center;
}

.band h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 500;
}

.band p {
  color: var(--white);
  max-width: 760px;
  margin: 14px 0 0;
}

.page-hero {
  position: relative;
  overflow: hidden;
  padding: 38px 28px 34px;
  background: var(--navy);
  color: var(--white);
}

.page-hero:not(.confidentiality-hero)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -34%;
  width: 32%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
  transform: skewX(-14deg);
  animation: hero-veil 9s ease-in-out infinite;
  pointer-events: none;
}

.page-hero .wrap {
  position: relative;
  z-index: 1;
}

.confidentiality-hero {
  position: relative;
  overflow: hidden;
  padding-top: 30px;
  padding-bottom: 28px;
}

.confidentiality-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -34%;
  width: 32%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
  transform: skewX(-14deg);
  animation: hero-veil 9s ease-in-out infinite;
  pointer-events: none;
}

.confidentiality-hero .eyebrow {
  justify-self: start;
}

.confidentiality-hero h1 {
  font-size: clamp(38px, 4.2vw, 58px);
  line-height: 1.04;
}

.page-hero .wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}

.page-hero .eyebrow {
  grid-column: 1;
  margin-bottom: 0;
}

.page-hero h1 {
  grid-column: 1;
  max-width: 820px;
  font-size: clamp(38px, 4.2vw, 58px);
  line-height: 1.04;
}

.page-hero p {
  grid-column: 1;
  max-width: 820px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 18px;
}

.service-list {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.service-row {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(240px, 0.35fr) minmax(520px, 0.65fr);
  gap: 26px;
  padding: 20px;
  border: 1px solid rgba(167, 122, 50, 0.36);
  background: var(--glass-light);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(20, 36, 58, 0.09);
}

.service-row::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--gold), var(--gold-accent));
}

.service-row h3 {
  color: var(--navy);
  font-size: 20px;
}

.service-row p {
  margin: 0;
  color: var(--muted);
}

.form {
  background: var(--glass-light);
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  padding: 22px;
  box-shadow: 0 18px 45px rgba(20, 36, 58, 0.08);
  backdrop-filter: blur(8px);
}

.hidden-field {
  display: none;
}

.form label {
  display: block;
  font-weight: 650;
  margin-top: 12px;
}

.form input,
.form textarea,
.form select {
  width: 100%;
  margin-top: 6px;
  padding: 11px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  font: inherit;
  background: var(--glass-light);
}

.form textarea {
  min-height: 110px;
  resize: vertical;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

.form-grid label,
.form-grid .form-note,
.form-grid .privacy-consent,
.form-grid button {
  margin-top: 0;
}

.form-grid .full {
  grid-column: 1 / -1;
}

.estimate-result {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-left: 5px solid var(--gold);
  border-radius: 8px;
  background: var(--glass-light);
  color: #4a3516;
}

.estimate-result strong,
.estimate-result span {
  display: block;
}

.estimate-result span {
  margin-top: 6px;
}

.form-note {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.notice {
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-left: 5px solid var(--gold);
  border-radius: 8px;
  padding: 14px 16px;
  background: var(--glass-light);
  color: #4a3516;
  margin: 16px 0;
}

.privacy-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}

.privacy-cards article {
  padding: 20px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  background: var(--glass-light);
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}

.privacy-cards article:hover {
  transform: translateY(-4px);
  border-color: rgba(167, 122, 50, 0.52);
  box-shadow: 0 14px 34px rgba(20, 36, 58, 0.1);
}

.privacy-cards span,
.privacy-timeline span {
  color: var(--gold);
  font-weight: 850;
  font-size: 13px;
}

.privacy-cards strong,
.privacy-cards p,
.privacy-timeline strong,
.privacy-timeline p {
  display: block;
}

.privacy-cards strong {
  margin-top: 24px;
  color: var(--navy);
  font-size: 18px;
}

.privacy-cards p {
  margin: 10px 0 0;
  color: var(--muted);
}

.confidentiality-page .privacy-cards article {
  position: relative;
  overflow: hidden;
  min-height: 190px;
  padding: 24px;
  border-color: rgba(167, 122, 50, 0.28);
  background: var(--pill-bg);
  box-shadow: 0 18px 45px rgba(20, 36, 58, 0.08);
  backdrop-filter: blur(8px);
}

.confidentiality-page .privacy-cards article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--gold), var(--gold-accent));
}

.confidentiality-page .privacy-cards span {
  color: rgba(20, 36, 58, 0.22);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  line-height: 1;
}

.confidentiality-page .privacy-cards strong {
  margin-top: 18px;
}

.confidentiality-page .privacy-rgpd .button.secondary {
  border-color: rgba(20, 36, 58, 0.22);
  background: var(--navy);
  color: var(--white);
}

.privacy-timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
}

.privacy-timeline div {
  position: relative;
  padding: 18px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  background: var(--glass-light);
  overflow: hidden;
}

.privacy-timeline div::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 260ms ease;
}

.privacy-timeline div.is-active::after {
  transform: scaleX(1);
}

.privacy-timeline strong {
  margin-top: 20px;
  color: var(--navy);
}

.privacy-timeline p {
  margin: 8px 0 0;
  color: var(--muted);
}

.privacy-console {
  position: relative;
  overflow: hidden;
  margin-top: 28px;
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(420px, 1fr);
  gap: 22px;
  padding: 22px;
  border-radius: 12px;
  background:
    radial-gradient(circle at 16% 18%, rgba(167, 122, 50, 0.22), transparent 28%),
    linear-gradient(135deg, #101c2e, #172844);
  color: var(--white);
  box-shadow: 0 24px 70px rgba(20, 36, 58, 0.24);
}

.privacy-console::before {
  content: "";
  position: absolute;
  inset: -40% auto -40% -18%;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.07), transparent);
  transform: skewX(-12deg);
  animation: console-sweep 9s ease-in-out infinite;
  pointer-events: none;
}

.privacy-console::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: 0.45;
  pointer-events: none;
}

.privacy-console-main,
.privacy-console-side {
  position: relative;
  z-index: 1;
  min-height: 330px;
}

.privacy-console-main {
  display: grid;
  align-content: center;
  padding: 24px;
}

.console-detail span {
  color: #f1d8a4;
  font-weight: 850;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.privacy-console h3 {
  max-width: 620px;
  margin: 16px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
  font-weight: 500;
}

.privacy-console-main p {
  max-width: 620px;
  margin: 18px 0 0;
  color: var(--white);
  font-size: 17px;
}

.console-progress {
  margin-top: 30px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  overflow: hidden;
}

.console-progress span {
  position: relative;
  overflow: hidden;
  display: block;
  width: var(--console-progress, 20%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--gold), #f1d8a4);
  transition: width 360ms ease;
}

.console-progress span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  transform: translateX(-100%);
  animation: console-shimmer 4s ease-in-out infinite;
}

.privacy-console-side {
  display: grid;
  grid-template-columns: minmax(230px, 0.34fr) minmax(520px, 0.66fr);
  gap: 22px;
}

.console-steps {
  display: grid;
  gap: 10px;
}

.console-step {
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--white);
  justify-content: flex-start;
  gap: 10px;
}

.console-step span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.06);
}

.console-step.is-active {
  border-color: rgba(241, 216, 164, 0.72);
  background: rgba(241, 216, 164, 0.12);
  color: var(--white);
}

.console-step.is-active span {
  background: #f1d8a4;
  box-shadow: 0 0 0 5px rgba(241, 216, 164, 0.18);
}

.console-step:hover {
  transform: translateX(3px);
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.1);
}

.console-detail {
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
}

.console-detail strong {
  display: block;
  margin-top: 20px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 500;
}

.console-detail p {
  margin: 16px 0 0;
  color: var(--white);
}

@keyframes console-sweep {
  0%,
  54% {
    transform: translateX(0) skewX(-12deg);
    opacity: 0;
  }

  64% {
    opacity: 1;
  }

  100% {
    transform: translateX(390%) skewX(-12deg);
    opacity: 0;
  }
}

@keyframes console-shimmer {
  0%,
  42% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

@keyframes hero-veil {
  0%,
  46% {
    transform: translateX(0) skewX(-14deg);
    opacity: 0;
  }

  56% {
    opacity: 1;
  }

  100% {
    transform: translateX(430%) skewX(-14deg);
    opacity: 0;
  }
}

.privacy-accordion {
  display: grid;
  gap: 10px;
}

.privacy-item {
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  background: var(--glass-light);
  overflow: hidden;
}

.privacy-item button {
  width: 100%;
  border: 0;
  border-radius: 0;
  background: var(--glass-light);
  color: var(--navy);
  justify-content: space-between;
  padding: 15px 18px;
}

.privacy-item button::after {
  content: "+";
  font-size: 20px;
}

.privacy-item.is-open button::after {
  content: "-";
}

.privacy-item div {
  display: none;
  padding: 0 18px 16px;
  color: var(--muted);
}

.privacy-item.is-open div {
  display: block;
}

.confidentiality-page .privacy-item {
  border-color: rgba(167, 122, 50, 0.28);
  background: var(--glass-light);
  box-shadow: 0 12px 32px rgba(20, 36, 58, 0.07);
  backdrop-filter: blur(8px);
}

.confidentiality-page .privacy-item button {
  background: var(--glass-light);
}

.confidentiality-page .privacy-item.is-open button {
  background: var(--navy);
  color: var(--white);
}

.contact-direct,
.mini-checklist,
.human-panel {
  margin: 14px 0;
  padding: 15px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  background: var(--glass-light);
}

.contact-direct strong,
.contact-direct a,
.contact-direct span,
.mini-checklist strong,
.mini-checklist span,
.human-panel strong,
.human-panel span {
  display: block;
}

.contact-direct a {
  margin-top: 6px;
  color: var(--navy);
  font-weight: 750;
  text-decoration: none;
}

.contact-direct span,
.mini-checklist span,
.human-panel span {
  margin-top: 6px;
  color: var(--muted);
}

.human-panel {
  border-color: rgba(20, 36, 58, 0.18);
  background: var(--glass-light);
}

.human-panel strong {
  color: var(--navy);
}

.file-flow {
  display: grid;
  gap: 14px;
}

.file-flow.four {
  grid-template-columns: repeat(4, 1fr);
  margin-top: 24px;
}

.flow-step {
  padding: 18px;
  border: 1px solid rgba(167, 122, 50, 0.28);
  border-radius: 8px;
  background: var(--glass-light);
}

.flow-step strong,
.flow-step span {
  display: block;
}

.flow-step strong {
  color: var(--navy);
}

.flow-step span {
  color: var(--muted);
  margin-top: 8px;
}

.footer {
  padding: 36px 28px;
  background: #0f1724;
  color: rgba(255, 255, 255, 0.74);
}

.footer .wrap {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.footer a {
  color: rgba(255, 255, 255, 0.86);
  text-decoration: none;
}

.friendly-chat {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
  width: min(370px, calc(100vw - 28px));
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.friendly-chat-toggle {
  width: 100%;
  min-height: auto;
  padding: 14px 16px;
  border: 1px solid rgba(20, 36, 58, 0.44);
  border-radius: 8px;
  background: var(--gold-accent);
  color: var(--navy);
  box-shadow: 0 18px 42px rgba(20, 36, 58, 0.34);
  display: grid;
  justify-content: start;
  text-align: left;
  gap: 2px;
}

.friendly-chat-toggle span {
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.friendly-chat-toggle strong {
  font-size: 15px;
}

.friendly-chat-panel {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid rgba(241, 216, 164, 0.5);
  border-radius: 8px;
  background: var(--navy);
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.26);
}

.friendly-chat-head {
  padding: 14px 16px;
  background: var(--gold-accent);
  color: var(--navy);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.friendly-chat-head span,
.friendly-chat-head strong {
  display: block;
}

.friendly-chat-head span {
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.friendly-chat-head strong {
  margin-top: 4px;
  font-size: 16px;
}

.friendly-chat-head button {
  min-height: 30px;
  width: 30px;
  padding: 0;
  border-color: rgba(20, 36, 58, 0.34);
  background: transparent;
  color: var(--navy);
  font-size: 20px;
}

.friendly-chat-log {
  max-height: 190px;
  overflow-y: auto;
  padding: 14px;
  background: var(--navy);
  display: grid;
  gap: 10px;
}

.friendly-message {
  max-width: 92%;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.35;
}

.friendly-message.bot {
  background: var(--gold-wash);
  border: 1px solid rgba(241, 216, 164, 0.52);
  color: var(--navy);
}

.friendly-message.user {
  margin-left: auto;
  background: var(--navy);
  color: var(--white);
}

.friendly-chat-actions {
  padding: 12px 14px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.friendly-chat-actions button {
  min-height: 34px;
  padding: 7px 10px;
  border-color: rgba(241, 216, 164, 0.52);
  background: var(--gold-accent);
  color: var(--navy);
  font-size: 13px;
}

.friendly-chat-entry {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 12px 14px 8px;
}

.friendly-chat-entry textarea {
  width: 100%;
  min-height: 74px;
  padding: 10px;
  border: 1px solid rgba(241, 216, 164, 0.52);
  border-radius: 8px;
  background: var(--gold-wash);
  color: var(--navy);
  font: inherit;
  resize: vertical;
}

.friendly-chat-entry button {
  align-self: end;
}

.friendly-chat-note {
  margin: 0;
  padding: 0 14px 14px;
  color: var(--gold-soft);
  font-size: 12px;
}

.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 95;
  width: min(860px, calc(100vw - 36px));
  padding: 10px 12px 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(15, 23, 36, 0.96);
  color: var(--white);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.22);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
}

.cookie-banner strong,
.cookie-banner span {
  display: block;
}

.cookie-banner strong {
  color: var(--white);
  font-size: 13px;
}

.cookie-banner span {
  margin-top: 2px;
  color: var(--white);
  font-size: 12px;
  line-height: 1.35;
}

.cookie-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cookie-actions a {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}

.cookie-actions button {
  min-height: 34px;
  padding: 7px 12px;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: var(--white);
}

.cookie-actions button[data-cookie-choice="analytics"] {
  background: var(--gold);
  border-color: var(--gold);
}

/* Charte stricte : aucun composant ne varie selon la section. */
.button,
button,
.button.secondary,
.button.light,
.form-grid button,
.friendly-chat-actions button,
.cookie-actions button,
.service-filters button,
.service-filters button.is-active {
  border: 1px solid var(--pill-border);
  border-radius: 8px;
  background: var(--pill-bg);
  color: #f1d8a4;
  font-weight: 750;
}

.eyebrow,
.section.marine .eyebrow,
.confidentiality-page .privacy-responsibility .eyebrow,
.confidentiality-hero .eyebrow,
.console-kicker,
.motion-prototype-badge,
.conversion-card span,
.number {
  display: none;
}

.card,
.conversion-card,
.conversion-strip,
.before-after > div,
.list-item,
.service-row,
.form,
.intake-panel,
.chat-message,
.friendly-message,
.privacy-cards article,
.privacy-timeline div,
.privacy-item,
.privacy-console,
.console-detail,
.contact-direct,
.mini-checklist,
.human-panel,
.flow-step,
.notice,
.estimate-result {
  border: 1px solid var(--pill-border);
  border-radius: 8px;
  background: var(--pill-bg);
  color: var(--white);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(8px);
}

.section.alt .list-item,
.section.alt .card,
.section.alt .conversion-card,
.section.alt .conversion-strip,
.section.alt .before-after > div {
  border: 1px solid var(--pill-border);
  border-radius: 8px;
  background: var(--pill-bg);
  color: var(--white);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(8px);
}

.section.alt .list-item strong,
.section.alt .card h3,
.section.alt .conversion-card h3,
.section.alt .conversion-strip strong,
.section.alt .before-after h3 {
  color: var(--white);
}

.section.alt .list-item span,
.section.alt .card p,
.section.alt .conversion-card p,
.section.alt .conversion-strip span,
.section.alt .before-after li {
  color: var(--white);
}

.card::before,
.conversion-card::before,
.service-row::before,
.privacy-cards article::before {
  background: transparent;
}

.card h3,
.conversion-card h3,
.before-after h3,
.list-item strong,
.service-row h3,
.privacy-cards strong,
.privacy-timeline strong,
.contact-direct strong,
.mini-checklist strong,
.human-panel strong,
.flow-step strong,
.estimate-result strong,
.notice strong {
  color: var(--white);
}

.card p,
.conversion-card p,
.conversion-strip span,
.before-after ul,
.before-after li,
.list-item span,
.service-row p,
.privacy-cards p,
.privacy-timeline p,
.contact-direct span,
.mini-checklist span,
.human-panel span,
.flow-step span,
.estimate-result span,
.notice,
.form-note {
  color: var(--white);
}

.card:hover,
.conversion-card:hover,
.conversion-strip:hover,
.before-after > div:hover,
.list-item:hover,
.service-row:hover,
.privacy-cards article:hover,
.privacy-timeline div:hover,
.privacy-item:hover,
.contact-direct:hover,
.mini-checklist:hover,
.human-panel:hover,
.flow-step:hover {
  transform: translateX(6px);
  border-color: var(--pill-border);
  background: rgba(20, 36, 58, 0.86);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
}

.form input,
.form textarea,
.form select,
.domain-search input,
.intake-followup textarea,
.intake-followup input,
.intake-followup select,
.chat-entry textarea,
.chat-entry textarea.is-large,
.friendly-chat-entry textarea {
  border: 1px solid var(--pill-border);
  border-radius: 8px;
  background: var(--gold-wash);
  color: var(--navy);
}

.intake-options button,
.chat-options button,
.intake-options button.is-selected,
.chat-options button:hover,
.console-step,
.console-step.is-active {
  border: 1px solid var(--pill-border);
  border-radius: 8px;
  background: var(--pill-bg);
  color: #f1d8a4;
}

.confidentiality-page .button,
.confidentiality-page button,
.confidentiality-page .button.secondary,
.confidentiality-page .button.light,
.confidentiality-page .console-step,
.confidentiality-page .console-step.is-active,
.confidentiality-page .privacy-item button,
.confidentiality-page .privacy-item.is-open button {
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--pill-border);
  border-radius: 8px;
  background: var(--navy);
  color: var(--white);
  box-shadow: none;
  transform: none;
}

.confidentiality-page .button:hover,
.confidentiality-page button:hover,
.confidentiality-page .button.secondary:hover,
.confidentiality-page .button.light:hover,
.confidentiality-page .console-step:hover,
.confidentiality-page .privacy-item button:hover {
  border-color: var(--pill-border);
  background: var(--navy);
  color: var(--white);
  box-shadow: none;
}

.confidentiality-page .console-step span,
.confidentiality-page .console-step.is-active span {
  background: #f1d8a4;
  box-shadow: 0 0 0 5px rgba(241, 216, 164, 0.18);
}

/* Page confidentialité : aucun gris visible. */
.confidentiality-page,
.confidentiality-page .section-title p,
.confidentiality-page .privacy-priority .section-title p,
.confidentiality-page .privacy-guarantees .section-title p,
.confidentiality-page .privacy-rgpd .section-title p {
  color: var(--navy);
}

.confidentiality-page .page-hero p,
.confidentiality-page .privacy-console p,
.confidentiality-page .console-detail p,
.confidentiality-page .privacy-responsibility p,
.confidentiality-page .privacy-responsibility .list-item span,
.confidentiality-page .band p,
.confidentiality-page .privacy-cards p,
.confidentiality-page .privacy-item div,
.confidentiality-page .privacy-item p {
  color: var(--white);
}

.confidentiality-page .privacy-item button,
.confidentiality-page .privacy-item.is-open button {
  color: #f1d8a4;
}

/* Confidentialité : les pavés reprennent la norme du bloc Responsabilité. */
.confidentiality-page .notice,
.confidentiality-page .privacy-cards article,
.confidentiality-page .privacy-item {
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: var(--pill-bg);
  color: var(--white);
  box-shadow: none;
  backdrop-filter: blur(8px);
  min-height: 0;
  overflow: hidden;
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.confidentiality-page .notice:hover,
.confidentiality-page .privacy-cards article:hover,
.confidentiality-page .privacy-item:hover {
  transform: translateX(6px);
  border-color: rgba(241, 216, 164, 0.42);
  background: var(--pill-bg);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
}

.confidentiality-page .privacy-cards article::before {
  display: none;
}

.confidentiality-page .privacy-cards span {
  display: none;
}

.confidentiality-page .notice,
.confidentiality-page .notice strong,
.confidentiality-page .privacy-cards strong,
.confidentiality-page .privacy-cards p,
.confidentiality-page .privacy-item button,
.confidentiality-page .privacy-item div,
.confidentiality-page .privacy-item p {
  color: var(--white);
}

.confidentiality-page .privacy-cards strong {
  margin: 0;
  font-size: 16px;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.confidentiality-page .privacy-cards p {
  margin: 4px 0 0;
}

.confidentiality-page .privacy-item button,
.confidentiality-page .privacy-item.is-open button {
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: auto;
  padding: 0;
  box-shadow: none;
  transform: none;
  font-size: 16px;
  justify-content: space-between;
}

.confidentiality-page .privacy-item div {
  padding: 8px 0 0;
}

.confidentiality-page .privacy-item div p {
  margin: 0;
}

.confidentiality-page .privacy-cards article:hover {
  background: var(--pill-bg);
  color: var(--white);
}

.confidentiality-page .privacy-cards article:hover strong,
.confidentiality-page .privacy-cards article:hover p {
  color: var(--white);
}

.confidentiality-page .console-step span,
.confidentiality-page .console-step.is-active span,
.confidentiality-page .console-step:hover span {
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  border-radius: 50% !important;
  background: #f1d8a4 !important;
  box-shadow: 0 0 0 5px rgba(241, 216, 164, 0.18) !important;
}

.confidentiality-page button::before,
.confidentiality-page .button::before,
.confidentiality-page .privacy-responsibility .list-item::before,
.confidentiality-page .notice::before,
.confidentiality-page .privacy-cards article::before,
.confidentiality-page .privacy-item::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  min-width: 9px;
  margin-right: 10px;
  border-radius: 50%;
  background: #f1d8a4;
  box-shadow: 0 0 0 5px rgba(241, 216, 164, 0.18);
}

.confidentiality-page .privacy-responsibility .list-item::before,
.confidentiality-page .notice::before,
.confidentiality-page .privacy-cards article::before,
.confidentiality-page .privacy-item::before {
  display: none;
}

.confidentiality-page .privacy-responsibility .list-item strong,
.confidentiality-page .notice strong,
.confidentiality-page .privacy-cards article strong {
  display: flex;
  align-items: center;
  gap: 10px;
}

.confidentiality-page .privacy-responsibility .list-item strong::before,
.confidentiality-page .notice strong::before,
.confidentiality-page .privacy-cards article strong::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  min-width: 9px;
  border-radius: 50%;
  background: #f1d8a4;
  box-shadow: 0 0 0 5px rgba(241, 216, 164, 0.18);
}

.confidentiality-page .console-step::before {
  content: none;
}

@media (max-width: 1120px) {
  .nav {
    align-items: flex-start;
    flex-direction: column;
  }

  .navlinks {
    flex-wrap: wrap;
    gap: 12px 18px;
  }

  .hero {
    min-height: auto;
    background:
      linear-gradient(90deg, rgba(20, 36, 58, 0.93), rgba(20, 36, 58, 0.72)),
      url("assets/hero-documents.png") center / cover no-repeat;
  }

  .trustline,
  .grid,
  .grid.two,
  .conversion-grid,
  .conversion-strip,
  .form-grid,
  .before-after,
  .privacy-cards,
  .privacy-timeline,
  .privacy-console,
  .file-flow.four,
  .hero-inner,
  .page-hero .wrap,
  .split,
  .band .wrap,
  .service-row {
    grid-template-columns: 1fr;
  }

  .page-hero .eyebrow,
  .page-hero h1,
  .page-hero p {
    grid-column: 1;
  }

  .page-hero .eyebrow {
    margin-bottom: 0;
  }

  .intake-panel {
    margin-top: 28px;
  }

  .privacy-console-side {
    grid-template-columns: 1fr;
  }

  .privacy-priority .privacy-console {
    padding-left: 22px;
    padding-right: 22px;
  }

  .console-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .console-step {
    min-height: 56px;
    justify-content: center;
    text-align: center;
  }

  .intake-chat,
  .intake-followup {
    grid-template-columns: 1fr;
  }

  .chat-window,
  .domain-search,
  .intake-options.compact,
  .intake-meta,
  .intake-followup,
  .intake-followup label,
  .intake-followup textarea,
  .rdv-choice,
  .intake-row,
  .intake-followup p {
    grid-column: 1;
  }

  .chat-window {
    grid-row: auto;
    min-height: 150px;
  }

  .intake-meta {
    grid-template-columns: 1fr;
  }

  .section {
    padding: 38px 22px;
  }

  .page-hero,
  .hero-inner {
    padding-left: 22px;
    padding-right: 22px;
  }
}

@media (max-width: 560px) {
  .navlinks .button {
    width: 100%;
  }

  .hero p,
  .page-hero p {
    font-size: 17px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .intake-row {
    grid-template-columns: 1fr;
  }

  .intake-options,
  .chat-options,
  .chat-entry {
    grid-template-columns: 1fr;
  }

  .intake-row button {
    width: 100%;
  }

  .friendly-chat {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
  }

  .friendly-chat-entry {
    grid-template-columns: 1fr;
  }

  .cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 76px;
    transform: none;
    width: auto;
    grid-template-columns: 1fr;
  }

  .cookie-actions {
    justify-content: space-between;
  }

  .privacy-console {
    padding: 16px;
  }

  .privacy-console-main,
  .privacy-console-side {
    min-height: auto;
  }

  .privacy-console-main {
    padding: 10px;
  }

  .privacy-console h3 {
    font-size: 32px;
  }

  .console-steps {
    grid-template-columns: 1fr;
  }

  .console-step {
    justify-content: flex-start;
    text-align: left;
  }

}


/* La ligne qui dit ce que le logiciel est.
   Deux moteurs, pas un seul : la reconnaissance de caracteres est un reseau
   de neurones, l'arbitrage des montants contestes est un modele de vision.
   Les deux tournent sur le poste du cabinet, ce qu'aucun service en ligne ne
   peut offrir. C'est l'argument, il est donc en grand. */
.hero p.hero-ia {
  margin: 22px 0 0;
  max-width: 680px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3.3vw, 46px);
  line-height: 1.08;
  color: var(--white);
}

.hero p.hero-ia span {
  color: var(--gold-accent);
}

.hero p.hero-ia-sous {
  margin-top: 12px;
  max-width: 620px;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 720px) {
  .hero p.hero-ia {
    font-size: clamp(26px, 7.4vw, 34px);
  }
}

/* Le titre porte l'accroche entiere : deux propositions, la seconde qui
   retourne la premiere. Plus long qu'un titre ordinaire, il doit donc etre
   plus petit et plus large, sinon il occupe l'ecran a lui seul et pousse
   l'offre hors de vue. */
.hero h1.h1-refus {
  max-width: 860px;
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.12;
}

.hero h1.h1-refus span {
  color: var(--gold-accent);
}

@media (max-width: 720px) {
  .hero h1.h1-refus {
    font-size: clamp(25px, 6.6vw, 32px);
  }
}
