/* Opale unique. La lumière suit le violet puis le bleu du logo Boréal. */
:root {
  --brand-violet: #6332a2;
  --brand-blue: #5e94c0;
  --blue: #4b62a7;
  --focus: #7960a5;
  --muted: #49415e;
  --surface-shadow: 0 1px 3px rgb(25 26 55 / .035), 0 12px 36px rgb(25 26 55 / .045);
  --control-ease: cubic-bezier(.2, .7, .2, 1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html { scroll-padding-top: 28px; }
.skip { position: fixed; top: -120px; transform: none; }
.skip:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.skip:focus { top: 12px; clip-path: none; opacity: 1; }
body {
  --page-progress: 0;
  position: relative;
  isolation: isolate;
  background: #fdfcff;
}
body::before, body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}
body::before {
  z-index: -3;
  background:
    radial-gradient(ellipse at 100% 12%, rgb(183 157 219 / .12), transparent 60%),
    linear-gradient(120deg, #ffffff 12%, #fcfaff 55%, #f1edfa 100%);
}
body::after {
  z-index: -2;
  opacity: var(--page-progress);
  background:
    radial-gradient(ellipse at 100% 95%, rgb(146 191 228 / .12), transparent 64%),
    linear-gradient(120deg, #ffffff 12%, #f8fbff 55%, #edf5fc 100%);
}
h1, h2, h3 { text-wrap: balance; }
p, li, blockquote, figcaption { text-wrap: pretty; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, input, select, textarea { accent-color: #635180; }
button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}
.button, .header-cta {
  transition: background-color .18s var(--control-ease), box-shadow .18s var(--control-ease), scale .14s var(--control-ease);
}
.button:hover, .header-cta:hover { transform: none; }
.button:active, .header-cta:active { scale: .96; }
button:disabled { cursor: default; }
button:disabled:active { scale: 1; }
.button, .site-field { border-radius: 10px; }
.site-field { border-color: #d7d1e2; background: #fff; }
.site-field input::placeholder { color: #6d6578; opacity: 1; }
.header-cta { min-height: 44px; align-items: center; }
.hero h1 { letter-spacing: -.035em; }
.hero-detail { color: #514b61; }
.hero-assurance { margin-top: 20px; color: #554e63; gap: 10px 18px; }
.hero-assurance i { color: #6f568e; }
.hero-demo .chat-shell { box-shadow: 0 1px 4px rgb(35 23 60 / .06), 0 18px 52px rgb(35 23 60 / .065); }
.demo-tabs button, .qualification-tabs button, .niche-controls button {
  min-height: 44px;
  transition: color .18s var(--control-ease), background-color .18s var(--control-ease), box-shadow .18s var(--control-ease);
}
.niche-controls button { min-width: 44px; }
.demo-tabs .sector-tab.active { background: #665080; color: #fff; }
.qualification-tabs button.active { background: #596c9b; color: #fff; }
.opening, .intent-section, .self-proof, .am13, .qualification-section, .world-section, .offer-section {
  background: transparent;
}
body[data-ambiance="opale"] .opening { background: transparent; }
body[data-ambiance="opale"] .opening::before {
  opacity: .34;
  mix-blend-mode: multiply;
  mask-image: linear-gradient(90deg, transparent 0%, #000 70%), linear-gradient(180deg, transparent 0%, #000 48%, transparent 100%);
  mask-composite: intersect;
}
body[data-ambiance="opale"] .opening > .opale-scene {
  background: transparent;
  mask-image: linear-gradient(90deg, transparent 0%, transparent 34%, #000 64%), linear-gradient(180deg, transparent 0%, #000 18%, #000 76%, transparent 100%);
  mask-composite: intersect;
}
body[data-ambiance="opale"] .opening::after {
  display: none;
}
.intent-section { padding-top: 76px; }
.self-proof { padding-block: 50px; }
.self-proof__preview { background: transparent; box-shadow: none; }
.self-proof__text { max-width: 53ch; }
.channel-v12, .channel-v12.gpt-channel { background: #fff; box-shadow: var(--surface-shadow), 0 0 0 1px rgb(25 26 55 / .06); border-radius: 16px; }
.channel-v12.gpt-channel { box-shadow: var(--surface-shadow), 0 0 0 1px rgb(99 50 162 / .25); }
.qualification-proof { background: #fff; box-shadow: var(--surface-shadow); border-radius: 16px; }
.qualification-section { padding-bottom: 60px; }
.am13 { --am-blue: #5269a5; }
.hero-mobile-intro, .hero-detail, .section-head>p, .world-heading>p:last-child, .qualification-copy>p, .self-proof__text { color: #49415e; }
.am13__acquisition, #pilotage .bid-lab, .acquisition-expansion .ax-config, .acquisition-expansion .ax-formula, .offer-total { background: #fff; box-shadow: var(--surface-shadow); }
.offer-light { display: none; }
.ad-image, .signal-product { outline: 1px solid rgb(0 0 0 / .055); outline-offset: -1px; }
.world-heading>p:last-child { max-width: 45ch; }
.world-stage { align-items: center; }
.globe-origin { display: inline-flex; justify-content: flex-start; align-items: center; color: #536078; font-size: 13px; gap: 8px; margin-left: 20px; }
.globe-origin select { width: auto; min-width: 160px; max-width: 230px; min-height: 44px; background: transparent; border-color: #d8e1ec; border-radius: 8px; }
#acquisition-globe .aq-controls { display: flex; gap: 16px; align-items: center; padding: 0 20px 12px; }
#acquisition-globe .aq-regions { flex: 1; gap: 4px 6px; }
#acquisition-globe .aq-region {
  min-height: 44px;
  border: 0;
  padding: 10px 8px;
  background: transparent;
  color: #536078;
  border-radius: 7px;
  font-size: 13px;
  white-space: nowrap;
  transition: color .18s var(--control-ease), background-color .18s var(--control-ease);
}
#acquisition-globe .aq-region:hover { color: #284d7a; background: #eaf0f8; }
#acquisition-globe .aq-region[aria-pressed="true"] { background: #e5edf8; color: #284d7a; font-weight: 600; }
#acquisition-globe .aq-region:focus-visible { outline: 2px solid #5269a5; outline-offset: 3px; }
.localization { background: #fff; box-shadow: var(--surface-shadow); border-radius: 16px; }
.localization-top { padding-bottom: 20px; }
.localization-details { padding-bottom: 0; gap: 10px 16px; color: #52627a; font-size: 12px; }
.localization-details i { color: #557a9d; }
.offer-section { --blue: #37678f; }
.offer-section::before { opacity: .25; }
.faq summary { min-height: 56px; padding-block: 18px; }
.faq details { border-color: #dce4ee; }
.footer { border-color: #dce4ee; }
.client-app {
  min-height: 100svh;
  background: #fdfcff;
}
.client-app .app-header { background: rgb(255 255 255 / .6); border-color: #ece7f1; }
.client-app .client-pilot { background: transparent; color: #665777; border-bottom: 1px solid #ece7f1; }
.client-app .client-pilot>span { color: #625d70; }
.client-app .client-heading>p { color: #5c5669; }
.client-app .client-auth .auth-panel, .client-app .client-empty, .client-app .client-dossier-form, .client-app .client-summary, .client-app .account-settings {
  border: 1px solid #e6e1ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--surface-shadow);
}
.client-app .client-auth .social-button { border-color: #d4cddd; border-radius: 9px; }
.client-app .client-signin { max-width: 480px; margin-inline: auto; padding-top: 12px; }
.client-app .client-signin>.client-heading { text-align: center; margin-bottom: 26px; }
.client-app .client-signin>.client-heading h1 { font-size: 36px; }
.client-app .client-signin>.client-heading p { font-size: 16px; max-width: 38ch; margin-inline: auto; }
.client-app .client-signin .client-auth { display: block; max-width: none; margin: 0; }
.client-app .button { background: #5d477c; border-radius: 9px; }
.client-app .button:hover { background: #503b6d; }
.client-app .client-link { color: #594376; }
.client-app input:not([type="checkbox"]), .client-app select, .client-app textarea {
  border-color: #d8d2e1;
  border-radius: 8px;
  transition: border-color .18s var(--control-ease), box-shadow .18s var(--control-ease);
}
.client-app input:focus-visible, .client-app select:focus-visible, .client-app textarea:focus-visible { outline-color: var(--focus); }
.client-app .client-auth .auth-story { padding-top: 15px; }
.client-app .client-auth .auth-story li>span { background: #eee9f6; color: #634c85; }
.client-app #client-navigation button { min-height: 44px; }
.client-app .client-status:not(.is-submitted), .client-app .client-info, .client-app .client-submission-box { background: #f0eef8; color: #554d70; }
.client-app .client-footer { border-color: #e3dfeb; color: #625d70; }
.wordmark .brand-logo { width: 260px; height: 50px; overflow: visible; shape-rendering: geometricPrecision; }
.footer .wordmark .brand-logo { width: 208px; height: 40px; }
.client-app .app-header .brand-logo { display: block; width: 234px; height: 45px; overflow: visible; shape-rendering: geometricPrecision; }
@media(max-width:1050px) {
  .wordmark .brand-logo { width: 234px; height: 45px; }
}
@media(max-width:850px) {
  .wordmark .brand-logo, .client-app .app-header .brand-logo { width: 208px; height: 40px; }
  body[data-ambiance="opale"] .opening::before {
    mask-image: linear-gradient(180deg, transparent 0%, transparent 18%, #000 55%, transparent 100%);
    mask-composite: add;
  }
  body[data-ambiance="opale"] .opening > .opale-scene {
    mask-image: linear-gradient(180deg, transparent 0%, transparent 18%, #000 48%, #000 76%, transparent 100%);
    mask-composite: add;
  }
}
@media(max-width:520px) {
  .intent-section { padding-top: 56px; }
  .hero-assurance { font-size: 11px; }
  #acquisition-globe .aq-controls { padding: 0 0 12px; gap: 10px; }
  #acquisition-globe .aq-region { font-size: 12px; padding-inline: 4px; }
  .localization { border-radius: 0; }
  .client-app .client-auth .auth-story { padding-left: 0; }
}
@media(max-width:360px) {
  .wordmark .brand-logo, .client-app .app-header .brand-logo { width: 182px; height: 35px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .button, .header-cta, .demo-tabs button, .qualification-tabs button, .niche-controls button, #acquisition-globe button { transition: none; }
  .button:active, .header-cta:active { scale: 1; transform: none; }
}

/* Lecture : une proposition, une preuve, une action. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.hero { align-items: center; padding-block: 50px 76px; }
.hero-copy { min-width: 0; }
.hero h1 { margin: 24px 0; font-size: clamp(48px, 4.3vw, 66px); font-weight: 650; line-height: 1.04; letter-spacing: -.045em; max-width: none; text-wrap: initial; }
.hero-context { display: block; max-width: 40ch; margin-bottom: 30px; font-size: 24px; font-weight: 400; line-height: 1.4; letter-spacing: -.02em; color: #34415a; text-wrap: pretty; }
.hero-context>span, .hero-context>strong { display: block; text-wrap: balance; }
.hero-context strong { margin-top: .3em; color: #111d38; font-weight: 600; }
.hero-context strong>span { display: inline-block; }
@media(max-width:600px) { .hero-context strong>span { display: block; } }
.hero .site-form { margin-top: 0; }
.hero .hero-assurance { font-size: 13px; margin-top: 18px; gap: 10px 22px; color: #45516a; }
.hero-enterprise { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; padding: 0; margin-top: 12px; color: #55617a; font-size: 13px; text-align: left; background: transparent; }
.hero-enterprise:hover { color: #6332a2; }
.hero-enterprise span { font-size: 20px; }
body[data-ambiance="opale"] .opening[data-opale-ready="true"] > .opale-scene { opacity: .55; }
body[data-ambiance="opale"] .opening::before { opacity: .2; }
body[data-ambiance="opale"] .opening[data-opale-ready="true"]::before { opacity: 0; }
.platform-row .platform-mark.youtube img { width: 28px; height: 28px; top: 0; left: 0; object-fit: contain; }
.self-proof__text { font-size: 18px; line-height: 1.55; max-width: 40ch; }
.self-proof__preview { padding: 0; }
.self-proof__preview .ad-card { padding: 20px; box-shadow: var(--surface-shadow); border-color: #ecebf1; border-radius: 14px; }
@media(max-width:1050px) and (min-width:768px) {
 .hero-context { font-size: 23px; }
 .hero h1 { font-size: 52px; }
}
@media(max-width:767px) {
 .hero { padding-block: 20px 40px; gap: 24px; }
 .hero h1 { margin: 0; font-size: clamp(37px, 10.6vw, 54px); }
 .hero-context { margin: 16px 0 0; font-size: 18px; line-height: 1.4; max-width: 40ch; }
 .hero-copy>.hero-enterprise { display: none; }
 .hero-mobile-reassurance { color: #45516a; font-size: 12px; }
 .hero-mobile-action>.hero-enterprise { justify-content: center; margin-top: 4px; font-size: 12px; }
 .hero .hero-mobile-action>.button { border-radius: 10px; }
 .self-proof__text { font-size: 16px; }
 .self-proof__preview .ad-card { padding: 16px; }
}

.offer-included { margin-top: 20px; font-size: 15px; line-height: 1.55; color: #45516a; }
@media(max-width:767px) {
 .hero-copy>.hero-category { display: flex; margin-bottom: 14px; font-size: 12px; }
 .hero-category img { width: 17px; height: 17px; }
 .hero { padding-top: 16px; }
}

/* Accroche courte, chaque phrase garde son propre rythme. */
.self-proof__text { max-width: 32rem; text-wrap: balance; }
.self-proof__text strong { display: block; font-size: 21px; line-height: 1.3; letter-spacing: -.02em; margin-bottom: 9px; text-wrap: balance; }
.self-proof__text>span { display: block; font-size: 18px; line-height: 1.5; text-wrap: pretty; }
@media(max-width:600px) { .self-proof__text strong { font-size: 20px; } .self-proof__text>span { font-size: 17px; } }
