/* Compact interior pages. Load after night.css, only on Agents, Offres, Équipe and Contact. */
:is(.page-agents, .page-offres, .page-equipe, .page-contact) .interior-main {
  padding-block: 58px 60px;
}

.interior-main .page-heading { margin-bottom: 38px; }
.interior-main .page-heading.split { gap: 48px; }
.interior-main .page-title {
  font-size: clamp(42px, 4.1vw, 58px);
  line-height: 1.13;
  margin-top: 18px;
}
.interior-main .lead {
  max-width: 570px;
  margin-top: 19px;
  font-size: 16px;
  line-height: 1.8;
}
.interior-main .page-heading.split .lead { max-width: 410px; }
.interior-main .eyebrow { font-size: 10px; letter-spacing: .13em; }
.interior-main .button { min-height: 49px; }
.interior-main .text-link { font-size: 14px; line-height: 1.5; }

/* Three clear points sit beside the simulation, without additional cards. */
.interior-main .agents-layout {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(38px, 5.2vw, 78px);
  align-items: center;
}
.interior-main .agents-copy { min-width: 0; }
.interior-main .agent-points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 26px;
}
.interior-main .agent-points strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  font-weight: 550;
  line-height: 1.5;
  letter-spacing: -.015em;
}
.interior-main .agent-points span {
  display: block;
  max-width: 405px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}
.interior-main .agent-points a { color: #c5daff; text-decoration: underline; text-underline-offset: 3px; }
.interior-main .agents-copy .actions { margin-top: 30px; gap: 20px; }
.interior-main .demo {
  min-height: 0;
  width: 100%;
  padding: 25px;
  border-color: #47658e4d;
  box-shadow: inset 0 1px 0 #a7caff09;
}
.interior-main .demo-top { margin-bottom: 17px; font-size: 11px; }
.interior-main .scenario-tab { min-height: 41px; font-size: 12px; }
.interior-main .scenario-panel { margin-top: 20px; }
.interior-main .flow-card { padding: 17px 19px; border-color: #3b567b99; }
.interior-main .flow-card h3 { font-size: 15px; line-height: 1.5; }
.interior-main .flow-card p { font-size: 13px; line-height: 1.75; }
.interior-main .flow-output { border-color: #668ac080; }
.interior-main .flow-connector { height: 73px; }
.interior-main .flow-ready { font-size: 11px; margin-top: 12px; }

/* Native disclosures keep secondary explanations available on demand. */
.interior-main .interior-details {
  margin-top: 45px;
  border-top: 1px solid #314969;
  scroll-margin-top: 30px;
}
.interior-main .interior-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 66px;
  padding-block: 18px;
  list-style: none;
  cursor: pointer;
  color: #d7e5fb;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}
.interior-main .interior-details > summary::-webkit-details-marker { display: none; }
.interior-main .interior-details > summary::marker { content: ''; }
.interior-main .interior-details > summary:hover { color: #fff; }
.interior-main .interior-details > summary > span[aria-hidden] {
  flex: none;
  font-size: 23px;
  line-height: 1;
  color: #adcaff;
  transition: transform .2s var(--ease);
}
.interior-main .interior-details[open] > summary > span[aria-hidden] { transform: rotate(45deg); }
.interior-main .details-content {
  max-width: 1120px;
  padding-block: 5px 15px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}
.interior-main .details-content > p + p { margin-top: 12px; }
.interior-main .details-content a { color: #c5daff; text-decoration: underline; text-underline-offset: 3px; }
.interior-main .details-content strong { color: var(--ink); font-weight: 550; }
.interior-main .journey-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  margin: 0;
  padding-left: 21px;
  list-style-type: decimal-leading-zero;
}
.interior-main .journey-list li { padding-left: 5px; }
.interior-main .journey-list li::marker { color: #9dbbff; font-size: 11px; }
.interior-main .journey-list strong { display: block; font-size: 14px; line-height: 1.6; }
.interior-main .journey-list p { margin-top: 6px; font-size: 13px; line-height: 1.8; }

/* One primary offer; the two complements use open typography. */
.interior-main .offer-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(35px, 5vw, 72px);
  align-items: start;
}
.interior-main .offer-main {
  padding: 31px 34px;
  border-color: #47658e4d;
  box-shadow: inset 0 1px 0 #a7caff09;
}
.interior-main .offer-main::after { display: none; }
.interior-main .offer-main h2 { font-size: 27px; line-height: 1.35; margin-top: 15px; }
.interior-main .offer-price { font-size: 39px; line-height: 1.2; margin-top: 23px; }
.interior-main .offer-price small { display: inline-block; font-size: 12px; line-height: 1.6; letter-spacing: 0; }
.interior-main .offer-main .offer-summary {
  max-width: 410px;
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.8;
}
.interior-main .offer-includes {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 24px 0 28px;
  padding: 0;
  color: #c2d0e6;
  font-size: 14px;
  line-height: 1.7;
}
.interior-main .offer-includes li { display: flex; align-items: baseline; gap: 11px; }
.interior-main .offer-includes li::before { content: '✓'; flex: none; color: #a9ccff; font-size: 12px; }
.interior-main .offer-side { gap: 25px; min-width: 0; }
.interior-main .support-panel {
  padding: 4px 0 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}
.interior-main .support-panel + .support-panel { padding-top: 26px; border-top: 1px solid #314969; }
.interior-main .support-panel h2 { max-width: 420px; margin-top: 11px; font-size: 22px; line-height: 1.45; }
.interior-main .support-panel p { max-width: 420px; margin-top: 10px; font-size: 14px; line-height: 1.8; }
.interior-main .support-panel .offer-price { font-size: 33px; margin-top: 16px; }
.interior-main .support-panel .text-link { margin-top: 14px; }

/* All four names and full roles stay in the reading flow. */
.interior-main .team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.interior-main .portrait-frame, .interior-main .initial-frame { height: 270px; border-radius: 18px; }
.interior-main .initial-frame { border-color: #47658e4d; box-shadow: none; }
.interior-main .team-person h2 { font-size: 17px; line-height: 1.5; margin-top: 19px; }
.interior-main .team-person .role { max-width: 100%; min-height: 3.5em; font-size: 13px; line-height: 1.75; margin-top: 5px; }
.interior-main .founder-tag { font-size: 10px; padding: 5px 10px; margin-top: 10px; }

/* Short contact form: three required fields, optional fields inside native details. */
.interior-main .contact-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 5vw, 72px);
}
.interior-main .contact-copy .page-title { font-size: clamp(44px, 4.2vw, 60px); }
.interior-main .contact-copy .lead { max-width: 395px; }
.interior-main .contact-email { max-width: 100%; font-size: 16px; line-height: 1.6; gap: 12px; margin-top: 27px; }
.interior-main .contact-email .arrow { flex: none; }
.interior-main .form-panel {
  min-width: 0;
  padding: 27px 29px;
  border-color: #47658e4d;
  box-shadow: inset 0 1px 0 #a7caff09;
}
.interior-main .form-required { color: var(--muted); font-size: 11px; line-height: 1.7; margin-bottom: 19px; }
.interior-main .fields-two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.interior-main .field { margin-bottom: 18px; }
.interior-main .field label { font-size: 12px; line-height: 1.5; margin-bottom: 8px; }
.interior-main .field input, .interior-main .field textarea { padding: 12px 13px; font-size: 14px; line-height: 1.6; }
.interior-main .field textarea { min-height: 128px; }
.interior-main .field-help { font-size: 11px; line-height: 1.7; }
.interior-main .optional-fields { margin: 1px 0 20px; }
.interior-main .optional-fields > summary {
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding-block: 10px;
  cursor: pointer;
  color: #c7d8f1;
  font-size: 12px;
  line-height: 1.8;
}
.interior-main .optional-fields > summary::marker { color: #9dbbff; font-size: 10px; }
.interior-main .optional-fields > summary:hover { color: #fff; }
.interior-main .optional-fields > summary span { color: var(--muted); font-size: 11px; }
.interior-main .optional-fields .fields-two { margin-top: 12px; }
.interior-main .optional-fields .field { margin-bottom: 0; }
.interior-main .form-privacy { font-size: 11px; line-height: 1.8; margin: 0 0 21px; }
.interior-main .form-note { font-size: 11px; line-height: 1.7; margin-top: 13px; }
.interior-main .form-error { font-size: 13px; line-height: 1.75; }

@media (max-width: 1080px) {
  .interior-main .team-grid { gap: 20px; }
  .interior-main .portrait-frame, .interior-main .initial-frame { height: 240px; }
  .interior-main .team-person h2 { font-size: 16px; }
  .interior-main .contact-grid { gap: 36px; }
  .interior-main .form-panel { padding: 25px; }
}

@media (max-width: 900px) {
  .interior-main .agents-layout { grid-template-columns: 1fr; gap: 35px; align-items: start; }
  .interior-main .agent-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
  .interior-main .demo { max-width: 600px; margin-inline: auto; }
  .interior-main .offer-grid { gap: 32px; }
  .interior-main .offer-main { padding: 27px; }
  .interior-main .journey-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 35px; }
  .interior-main .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 31px 26px; }
  .interior-main .portrait-frame, .interior-main .initial-frame { height: 300px; }
  .interior-main .team-person h2 { font-size: 18px; }
  .interior-main .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .interior-main .contact-copy .lead { max-width: 560px; }
  .interior-main .form-panel { width: 100%; max-width: 650px; }
}

@media (max-width: 760px) {
  :is(.page-agents, .page-offres, .page-equipe, .page-contact) .interior-main { padding-block: 34px 41px; }
  .interior-main .page-heading { margin-bottom: 30px; }
  .interior-main .page-heading.split { display: block; }
  .interior-main .page-title, .interior-main .contact-copy .page-title { font-size: clamp(38px, 8.7vw, 54px); }
  .interior-main .lead, .interior-main .page-heading.split .lead { max-width: 570px; font-size: 15px; margin-top: 17px; }
  .interior-main .agent-points { grid-template-columns: 1fr; gap: 22px; }
  .interior-main .agent-points span { max-width: 550px; }
  .interior-main .agents-copy .actions { margin-top: 25px; }
  .interior-main .demo { padding: 22px; }
  .interior-main .interior-details { margin-top: 33px; }
  .interior-main .interior-details > summary { min-height: 64px; font-size: 13px; }
  .interior-main .offer-grid { grid-template-columns: 1fr; gap: 29px; }
  .interior-main .offer-main { padding: 27px; }
  .interior-main .offer-side { gap: 23px; }
  .interior-main .support-panel + .support-panel { padding-top: 23px; }
  .interior-main .support-panel h2, .interior-main .support-panel p { max-width: 560px; }
  .interior-main .team-grid { gap: 30px 20px; }
  .interior-main .portrait-frame, .interior-main .initial-frame { height: 265px; }
  .interior-main .team-person h2 { font-size: 16px; margin-top: 15px; }
  .interior-main .contact-email { font-size: 16px; margin-top: 22px; }
  .interior-main .form-panel { padding: 24px; }
  .interior-main .field input, .interior-main .field textarea { font-size: 16px; }
}

@media (max-width: 520px) {
  .interior-main .page-title, .interior-main .contact-copy .page-title { font-size: clamp(36px, 9.4vw, 47px); }
  .interior-main .demo { padding: 18px; }
  .interior-main .demo-top { gap: 10px; }
  .interior-main .scenario-tabs { gap: 2px; }
  .interior-main .scenario-tab { padding-inline: 6px; font-size: 11px; }
  .interior-main .flow-card { padding: 15px; }
  .interior-main .flow-card h3 { font-size: 14px; }
  .interior-main .flow-card p { font-size: 12px; }
  .interior-main .core-caption { left: calc(50% + 34px); font-size: 9px; letter-spacing: 0; }
  .interior-main .journey-list { grid-template-columns: 1fr; gap: 20px; }
  .interior-main .offer-main { padding: 24px; }
  .interior-main .offer-main h2 { font-size: 24px; }
  .interior-main .offer-price { font-size: 35px; }
  .interior-main .offer-price small { margin-left: 5px; font-size: 11px; }
  .interior-main .offer-main .button { width: 100%; gap: 16px; }
  .interior-main .team-grid { grid-template-columns: 1fr; gap: 28px; }
  .interior-main .team-person { display: grid; grid-template-columns: 104px minmax(0, 1fr); grid-template-rows: auto auto 1fr; gap: 0 18px; align-items: start; max-width: 100%; }
  .interior-main .portrait-frame, .interior-main .initial-frame { grid-column: 1; grid-row: 1 / 4; height: 132px; border-radius: 13px; }
  .interior-main .initials { font-size: 34px; }
  .interior-main .team-person h2 { grid-column: 2; font-size: 16px; margin-top: 3px; }
  .interior-main .team-person .role { grid-column: 2; max-width: 100%; min-height: 0; font-size: 12px; line-height: 1.7; }
  .interior-main .founder-tag { grid-column: 2; width: fit-content; margin-top: 9px; }
  .interior-main .form-panel { padding: 22px; }
  .interior-main .fields-two { grid-template-columns: 1fr; gap: 0; }
  .interior-main .optional-fields .fields-two { gap: 16px; }
  .interior-main .contact-email { font-size: 15px; gap: 9px; }
}

@media (max-width: 390px) {
  .interior-main .demo { padding: 16px; }
  .interior-main .form-panel { padding: 21px 18px; }
  .interior-main .offer-main { padding: 23px 21px; }
  .interior-main .flow-overline { font-size: 9px; gap: 8px; }
  .interior-main .flow-card { padding: 14px; }
  .interior-main .team-person { grid-template-columns: 92px minmax(0, 1fr); column-gap: 16px; }
  .interior-main .portrait-frame, .interior-main .initial-frame { height: 122px; }
}

@media (forced-colors: active) {
  .interior-main .demo, .interior-main .offer-main, .interior-main .form-panel,
  .interior-main .flow-card, .interior-main .flow-output, .interior-main .initial-frame {
    background: Canvas;
    border-color: ButtonText;
    box-shadow: none;
  }
  .interior-main .interior-details, .interior-main .support-panel + .support-panel { border-color: ButtonText; }
  .interior-main .interior-details > summary, .interior-main .optional-fields > summary,
  .interior-main .offer-includes { color: CanvasText; }
  .interior-main .interior-details > summary > span[aria-hidden], .interior-main .journey-list li::marker,
  .interior-main .optional-fields > summary::marker, .interior-main .offer-includes li::before { color: CanvasText; }
  .interior-main .details-content a, .interior-main .agent-points a { color: LinkText; }
}
