/* Contact V5: the illustrated introduction and the form share one compact stage.
   Scoped rules deliberately leave the other first-release pages untouched. */
body.p1-contact-page {
  --contact-ink:#102b36;
  --contact-copy:#426184;
  --contact-line:#e2ded5;
  --contact-paper:#faf8f5;
  background:#fcfaf6;
  overflow-x:clip;
  color:var(--contact-ink);
}
body.p1-contact-page .p1-main {max-width:1280px;padding:22px 36px 76px;position:relative;isolation:isolate;}
body.p1-contact-page .m-breadcrumb {display:none;}
body.p1-contact-page .p1-contact-flow {position:relative;}
body.p1-contact-page .p1-contact-flow::before,
body.p1-contact-page .p1-contact-flow::after {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  background:url('/vendor/lfc/arc-en-ciel/images/hero-arc-peint-desktop-v10.webp') center/contain no-repeat;
}
body.p1-contact-page .p1-contact-flow::before {width:260px;height:350px;left:-180px;bottom:-75px;transform:rotate(-42deg);opacity:.58;}
body.p1-contact-page .p1-contact-flow::after {width:270px;height:440px;right:-230px;top:60px;transform:rotate(-8deg);opacity:.7;}
body.p1-contact-page .p1-demo {font-size:11px;line-height:1.6;background:none;padding:0;margin:0 0 20px;text-align:right;color:#787c77;}
body.p1-contact-page .p1-contact-layout {max-width:none;grid-template-columns:320px minmax(0,1fr);gap:48px;align-items:start;}
body.p1-contact-page .p1-contact-aside {padding:18px 0 0;position:sticky;top:122px;}
body.p1-contact-page .p1-contact-aside .p1-intro-step {font-size:15px;color:var(--contact-copy);margin:0 0 17px;}
body.p1-contact-page .p1-contact-aside h2 {font-family:'LFC Baloo',sans-serif;font-size:42px;font-weight:500;line-height:1.12;letter-spacing:-.7px;color:#103e45;margin:0 0 19px;position:relative;}
body.p1-contact-page .p1-contact-aside h2::after {content:"";position:absolute;width:48px;height:52px;right:5px;top:-15px;background:url('/vendor/lfc/arc-en-ciel/svg/traits.svg') center/contain no-repeat;}
body.p1-contact-page .p1-contact-aside .p1-intro-copy {font-size:17px;line-height:1.65;max-width:none;margin:0;color:var(--contact-copy);}
body.p1-contact-page .p1-intro-art {position:relative;height:295px;margin:24px -12px 0;}
body.p1-contact-page .p1-intro-art img {display:block;width:310px;height:310px;object-fit:contain;}
body.p1-contact-page .p1-spark {display:block;width:27px;height:31px;background:center/contain no-repeat url('/vendor/lfc/arc-en-ciel/svg/etoile-beurre.svg');}
body.p1-contact-page .p1-spark-blue {background-image:url('/vendor/lfc/arc-en-ciel/svg/etoile-bleu.svg');}
body.p1-contact-page .p1-heart {font-size:31px;line-height:1;color:#ee9dcc;transform:rotate(-14deg);}
body.p1-contact-page .p1-intro-art .p1-spark-gold {position:absolute;right:0;top:-10px;transform:rotate(10deg);}
body.p1-contact-page .p1-intro-art .p1-spark-blue {position:absolute;right:-7px;bottom:14px;}
body.p1-contact-page .p1-intro-art .p1-heart {position:absolute;left:-8px;top:35px;}
body.p1-contact-page .p1-intro-bubble {position:relative;margin:-22px -4px 0 auto;width:190px;padding:26px 10px 15px;border-radius:50%;background:#f0f3e8;text-align:center;}
body.p1-contact-page .p1-intro-bubble p {font-size:13px;line-height:1.65;color:var(--contact-copy);margin:0 0 8px;max-width:none;}
body.p1-contact-page .p1-intro-bubble>span {color:#ee9dcc;font-size:21px;line-height:1;}
body.p1-contact-page [data-active-step="1"] .p1-intro-bubble,
body.p1-contact-page [data-active-step="2"] .p1-intro-bubble {width:230px;margin:-12px -4px 0 auto;padding:30px 16px 20px;}
body.p1-contact-page [data-active-step="1"] .p1-intro-bubble {background:#f9e7f2;}
body.p1-contact-page [data-active-step="2"] .p1-intro-bubble {background:#e8f1f6;}
body.p1-contact-page [data-active-step="1"] .p1-intro-bubble p,
body.p1-contact-page [data-active-step="2"] .p1-intro-bubble p {font-size:16px;}
body.p1-contact-page .p1-form-card {padding:28px 34px 30px;border-radius:20px;border:1px solid #f2f0ec;background:white;box-shadow:0 9px 32px #493d2b07;}
body.p1-contact-page .p1-form-sheet {min-width:0;}
body.p1-contact-page .p1-mobile-intro {display:none;}
body.p1-contact-page .p1-progress ol {display:flex;gap:20px;margin:0 0 28px;padding:0;}
body.p1-contact-page .p1-progress li {position:relative;flex:1;}
body.p1-contact-page .p1-progress li:not(:last-child)::after {content:"";height:1px;background:#d0dfe9;position:absolute;top:21px;left:calc(100% - 18px);width:32px;}
body.p1-contact-page .p1-progress button {font-size:12px;gap:10px;line-height:1.4;color:#547196;min-height:44px;}
body.p1-contact-page .p1-progress button>span {font-size:14px;width:34px;height:34px;color:#294965;border:1px solid #bcd0e6;}
body.p1-contact-page .p1-progress [aria-current] {color:#507b27;}
body.p1-contact-page .p1-progress [aria-current]>span {color:white;background:linear-gradient(140deg,#a5c96d,#7dac40);border-color:#91b857;}
body.p1-contact-page .p1-progress .is-complete>span {background:#c4dda1;color:#23451b;border-color:#abc879;font-size:19px;}
body.p1-contact-page .p1-required {border:0;padding:0;font-size:10px;line-height:1.6;margin:0 0 16px;color:#526b8c;}
body.p1-contact-page .p1-step h2 {font-family:'LFC Inter',Arial,sans-serif;font-size:27px;font-weight:600;line-height:1.3;letter-spacing:-.7px;color:#102539;margin:0 0 24px;text-wrap:initial;}
body.p1-contact-page .p1-fields {gap:19px 24px;align-items:start;}
body.p1-contact-page .p1-field>label,
body.p1-contact-page .p1-days legend,
body.p1-contact-page .p1-born legend,
body.p1-contact-page .p1-sex legend {font-size:14px;font-weight:500;line-height:1.5;color:#173f61;margin:0 0 7px;}
body.p1-contact-page .p1-field small {float:right;color:#526b8c;font-size:11px;line-height:21px;}
body.p1-contact-page .p1-field input,
body.p1-contact-page .p1-field select,
body.p1-contact-page .p1-field textarea {font-family:'LFC Inter',Arial,sans-serif;background:var(--contact-paper);min-height:46px;padding:10px 13px;border:1px solid var(--contact-line);border-radius:8px;font-size:15px;line-height:1.5;color:#173653;box-shadow:0 1px 2px #30261203;}
body.p1-contact-page .p1-field input::placeholder {color:#526b8c;opacity:1;}
body.p1-contact-page .p1-field input:focus,
body.p1-contact-page .p1-field select:focus,
body.p1-contact-page .p1-field textarea:focus {border-color:#84a958;}
body.p1-contact-page .p1-hint {font-size:11px;line-height:1.5;color:#526b8c;margin:7px 0 0;}
body.p1-contact-page .p1-date {position:relative;}
body.p1-contact-page .p1-date>span {display:none;pointer-events:none;position:absolute;left:14px;top:12px;color:#526b8c;font-size:14px;line-height:22px;}
body.p1-contact-page .p1-date[data-empty=true]:not(:focus-within)>span {display:block;}
body.p1-contact-page .p1-date[data-empty=true]:not(:focus-within) input::-webkit-datetime-edit {color:transparent;}
body.p1-contact-page .p1-days {margin:28px 0 0;}
body.p1-contact-page .p1-days>div {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
body.p1-contact-page .p1-days label>span:not(.p1-sr) {text-align:center;background:var(--contact-paper);padding:11px 4px;border-color:var(--contact-line);border-radius:8px;font-size:14px;min-height:46px;}
body.p1-contact-page .p1-days label>.p1-sr {border:0;padding:0;min-height:0;}
body.p1-contact-page .p1-days .p1-hint {margin:10px 0 0;}
body.p1-contact-page .p1-born {margin:0 0 23px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
body.p1-contact-page .p1-born legend {float:left;margin:0 24px 0 0;padding:11px 0;}
body.p1-contact-page .p1-born>.p1-error {width:100%;}
body.p1-contact-page .p1-choices {gap:16px;flex-wrap:nowrap;}
body.p1-contact-page .p1-choices span {border:0;background:none;display:flex;align-items:center;gap:7px;padding:10px 0;font-size:13px;min-height:44px;white-space:nowrap;}
body.p1-contact-page .p1-choices span::before {content:"";width:21px;height:21px;flex:none;border-radius:50%;border:1px solid #a1b9d2;background:white;box-shadow:inset 0 0 0 3px white;}
body.p1-contact-page .p1-choices input:checked+span {color:#23411b;background:none;}
body.p1-contact-page .p1-choices input:checked+span::before {background:#86ad4f;border-color:#789d41;}
body.p1-contact-page .p1-days input:checked+span {background:#edf3e2;border-color:#8ead5b;color:#29451d;}
body.p1-contact-page .p1-sex {padding:0;margin:0;border:0;}
body.p1-contact-page .p1-sex .p1-choices {gap:11px;}
body.p1-contact-page .p1-sex .p1-choices span {font-size:12px;gap:5px;}
body.p1-contact-page .p1-phone {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
body.p1-contact-page .p1-phone select,body.p1-contact-page .p1-phone input {width:100%;}
body.p1-contact-page .p1-phone select {font-size:13px;}
body.p1-contact-page .p1-parent2,
body.p1-contact-page .p1-message {background:#f3f6ee;border:1px solid #e4e9db;padding:0;border-radius:9px;margin:22px 0 0;}
body.p1-contact-page .p1-message {background:transparent;border-color:#efeee9;margin-top:12px;}
body.p1-contact-page .p1-parent2 summary,
body.p1-contact-page .p1-message summary {display:flex;align-items:center;gap:9px;list-style:none;padding:12px 14px;font:500 12px/1.5 'LFC Inter',Arial,sans-serif;min-height:46px;}
body.p1-contact-page .p1-parent2 summary::-webkit-details-marker,
body.p1-contact-page .p1-message summary::-webkit-details-marker {display:none;}
body.p1-contact-page .p1-parent2 summary::before,
body.p1-contact-page .p1-message summary::before {content:"+";font-size:21px;line-height:1;color:#759943;}
body.p1-contact-page .p1-parent2[open]>summary::before,
body.p1-contact-page .p1-message[open]>summary::before {content:"−";}
body.p1-contact-page .p1-parent2 summary span,
body.p1-contact-page .p1-message summary span {margin-left:auto;color:#526b8c;font-size:11px;font-weight:400;}
body.p1-contact-page .p1-parent2>p {font-size:12px;line-height:1.7;padding:0 16px;margin:0 0 18px;}
body.p1-contact-page .p1-parent2>.p1-fields {padding:0 16px 18px;}
body.p1-contact-page .p1-message>.p1-field {padding:0 14px 16px;}
body.p1-contact-page .p1-data-note {font-size:11px;line-height:1.5;color:#526b8c;margin:12px 0 15px;}
body.p1-contact-page .p1-privacy {background:none;padding:0;margin:0;}
body.p1-contact-page .p1-privacy label {font-size:13px;line-height:1.65;gap:10px;color:#294f78;}
body.p1-contact-page .p1-privacy input {width:20px;height:20px;margin-top:1px;accent-color:#83a953;}
body.p1-contact-page .p1-privacy a {color:inherit;}
body.p1-contact-page .p1-actions {border:0;padding:0;margin:30px 0 0;gap:16px;}
body.p1-contact-page [data-active-step="0"] .p1-actions {margin-top:40px;}
body.p1-contact-page .p1-button {min-width:235px;min-height:50px;border:0;border-radius:10px;padding:13px 24px;background:linear-gradient(110deg,#b4d191,#aaca7f);color:#142e30;font:500 15px/1.5 'LFC Inter',Arial,sans-serif;gap:18px;box-shadow:none;}
body.p1-contact-page .p1-button:hover {background:#a2c576;}
body.p1-contact-page .p1-back {font-size:13px;color:#294a63;min-height:46px;}
body.p1-contact-page .p1-submit-note {margin:8px 0 0;text-align:right;font-size:11px;color:#526b8c;}
body.p1-contact-page .p1-call-option {text-align:center;font-size:13px;color:#526b8c;border-top:1px solid #d6e1e9;margin-top:25px;padding-top:18px;}
body.p1-contact-page .p1-call-option a {font-weight:600;color:#132f49;white-space:nowrap;}
body.p1-contact-page [data-active-step="1"] .p1-call-option,
body.p1-contact-page [data-active-step="2"] .p1-call-option {display:none;}
body.p1-contact-page .p1-field [aria-invalid=true] {border-color:#ba4848;background:#fff7f5;}
body.p1-contact-page .has-error.p1-born .p1-choices span::before {border-color:#ba4848;}
body.p1-contact-page .p1-error-summary {margin-bottom:22px;}
body.p1-contact-page .p1-privacy.has-error {padding:10px;border-radius:8px;}
@media(max-width:1100px) and (min-width:761px) {
  body.p1-contact-page .p1-main {padding-inline:26px;}
  body.p1-contact-page .p1-contact-layout {grid-template-columns:240px minmax(0,1fr);gap:30px;}
  body.p1-contact-page .p1-contact-aside h2 {font-size:36px;}
  body.p1-contact-page .p1-intro-art {height:245px;}
  body.p1-contact-page .p1-intro-art img {width:260px;height:260px;}
  body.p1-contact-page .p1-form-card {padding:24px;}
  body.p1-contact-page .p1-progress ol {gap:12px;}
  body.p1-contact-page .p1-progress button {flex-direction:column;font-size:11px;gap:6px;}
  body.p1-contact-page .p1-progress li:not(:last-child)::after {left:65%;width:75%;top:17px;}
  body.p1-contact-page .p1-fields {column-gap:14px;}
  body.p1-contact-page .p1-sex {grid-column:1/-1;}
  body.p1-contact-page .p1-intro-bubble {max-width:100%;}
}
@media(max-width:760px) {
  body.p1-contact-page {background:#fff;}
  body.p1-contact-page .p1-main {padding:8px 12px 40px;overflow:hidden;}
  body.p1-contact-page .p1-demo {font-size:9px;line-height:1.6;text-align:center;margin:7px 7px 18px;}
  body.p1-contact-page .p1-contact-layout {display:block;}
  body.p1-contact-page .p1-contact-aside {display:none;}
  body.p1-contact-page .p1-contact-flow::before,body.p1-contact-page .p1-contact-flow::after {display:none;}
  body.p1-contact-page .p1-form-card {padding:0;border:0;background:none;border-radius:0;box-shadow:none;}
  body.p1-contact-page .p1-progress ol {margin:0 6px 25px;gap:8px;}
  body.p1-contact-page .p1-progress button {flex-direction:column;gap:10px;width:100%;font-size:12px;line-height:1.5;}
  body.p1-contact-page .p1-progress button>span {width:34px;height:34px;font-size:16px;}
  body.p1-contact-page .p1-progress li:not(:last-child)::after {top:17px;left:calc(50% + 24px);width:calc(100% - 40px);}
  body.p1-contact-page .p1-form-sheet {padding:22px 22px 78px;border:1px solid #eeede8;border-radius:22px;box-shadow:0 4px 18px #483b2703;position:relative;isolation:isolate;overflow:hidden;background:#fff;}
  body.p1-contact-page .p1-form-sheet::before {content:"";position:absolute;z-index:-1;pointer-events:none;bottom:-136px;left:-115px;width:220px;height:290px;transform:rotate(-34deg);opacity:.55;background:url('/vendor/lfc/arc-en-ciel/images/hero-arc-peint-mobile-v10.webp') center/contain no-repeat;}
  body.p1-contact-page .p1-form-sheet::after {content:"♥     ✦     ★";white-space:pre;position:absolute;pointer-events:none;bottom:19px;right:28px;letter-spacing:8px;color:#edb2d3;font-size:24px;}
  body.p1-contact-page .p1-mobile-intro {display:block;text-align:center;position:relative;padding:0 12px 22px;margin-bottom:23px;border-bottom:1px solid #f1f0eb;}
  body.p1-contact-page .p1-mobile-intro h2 {font:600 26px/1.25 'LFC Inter',Arial,sans-serif;letter-spacing:-.7px;color:#152445;margin:0 0 13px;text-wrap:balance;}
  body.p1-contact-page .p1-mobile-intro p {font-size:14px;line-height:1.7;color:#526b8c;margin:0;}
  body.p1-contact-page .p1-mobile-intro .p1-heart {position:absolute;left:-6px;top:3px;font-size:24px;}
  body.p1-contact-page .p1-mobile-intro .p1-spark {position:absolute;right:-11px;top:0;width:21px;height:26px;}
  body.p1-contact-page [data-active-step="1"] .p1-mobile-intro,
  body.p1-contact-page [data-active-step="2"] .p1-mobile-intro {display:none;}
  body.p1-contact-page .p1-required {font-size:9px;line-height:1.5;margin:0 0 16px;}
  body.p1-contact-page .p1-step h2 {font-size:24px;line-height:1.3;margin:0 0 21px;color:#152445;}
  body.p1-contact-page [data-active-step="1"] .p1-step h2,
  body.p1-contact-page [data-active-step="2"] .p1-step h2 {text-align:center;font-size:26px;margin-bottom:24px;}
  body.p1-contact-page .p1-fields {grid-template-columns:1fr;gap:21px;}
  body.p1-contact-page .p1-field>label,body.p1-contact-page .p1-days legend,body.p1-contact-page .p1-born legend,body.p1-contact-page .p1-sex legend {font-size:14px;color:#182840;margin-bottom:8px;}
  body.p1-contact-page .p1-field input,body.p1-contact-page .p1-field select,body.p1-contact-page .p1-field textarea {min-height:46px;font-size:16px;}
  body.p1-contact-page .p1-date>span {font-size:16px;}
  body.p1-contact-page .p1-days {margin-top:29px;}
  body.p1-contact-page .p1-days>div {gap:7px;}
  body.p1-contact-page .p1-days label>span:not(.p1-sr) {font-size:12px;padding-inline:2px;}
  body.p1-contact-page .p1-days .p1-hint {font-style:italic;font-size:12px;margin-top:9px;}
  body.p1-contact-page .p1-born {display:block;margin:0 0 22px;}
  body.p1-contact-page .p1-born legend {float:none;margin:0 0 8px;padding:0;}
  body.p1-contact-page .p1-choices {display:grid;grid-template-columns:1fr 1fr;gap:9px;}
  body.p1-contact-page .p1-choices span {border:1px solid var(--contact-line);background:var(--contact-paper);border-radius:8px;justify-content:flex-start;padding:10px 11px;font-size:14px;min-height:46px;}
  body.p1-contact-page .p1-choices input:checked+span {background:#f4f7ec;border-color:#a0b777;}
  body.p1-contact-page .p1-sex .p1-choices {grid-template-columns:auto auto 1fr;gap:6px;}
  body.p1-contact-page .p1-sex .p1-choices span {font-size:12px;padding:10px 5px;gap:4px;}
  body.p1-contact-page .p1-sex .p1-choices span::before {width:17px;height:17px;}
  body.p1-contact-page .p1-phone {grid-template-columns:1fr;gap:7px;}
  body.p1-contact-page .p1-phone select {font-size:14px;}
  body.p1-contact-page .p1-hint {font-size:11px;}
  body.p1-contact-page .p1-parent2 summary,body.p1-contact-page .p1-message summary {padding:10px;font-size:11px;gap:7px;}
  body.p1-contact-page .p1-parent2 summary span,body.p1-contact-page .p1-message summary span {font-size:10px;margin:0 0 0 auto;}
  body.p1-contact-page .p1-privacy label {font-size:12px;line-height:1.6;color:#223650;}
  body.p1-contact-page .p1-actions {flex-wrap:nowrap;margin-top:27px;gap:12px;}
  body.p1-contact-page .p1-button {min-width:0;min-height:49px;font-size:14px;gap:10px;padding:12px 17px;}
  body.p1-contact-page [data-active-step="0"] .p1-button {width:100%;font-size:17px;}
  body.p1-contact-page [data-active-step="0"] .p1-actions {margin-top:34px;}
  body.p1-contact-page .p1-back {font-size:12px;white-space:nowrap;}
  body.p1-contact-page .p1-actions #form-submit {width:auto;order:initial;flex:1;padding-inline:10px;font-size:12px;}
  body.p1-contact-page .p1-actions:has(#form-submit:not([hidden])) #form-back {order:initial;}
  body.p1-contact-page .p1-call-option {border:0;margin-top:24px;padding:0;}
  body.p1-contact-page .p1-call-option span {display:flex;align-items:center;gap:12px;font-size:13px;}
  body.p1-contact-page .p1-call-option span::before,body.p1-contact-page .p1-call-option span::after {content:"";height:1px;background:#cfdae8;flex:1;}
  body.p1-contact-page .p1-call-option a {display:block;font-size:22px;margin:12px 0 0;text-decoration:none;}
  body.p1-contact-page .p1-submit-note {font-size:10px;margin-top:9px;text-align:center;}
}
@media(max-width:350px) {
  body.p1-contact-page .p1-main {padding-inline:8px;}
  body.p1-contact-page .p1-form-sheet {padding-inline:15px;}
  body.p1-contact-page .p1-mobile-intro h2 {font-size:24px;}
}
/* Clip only decorative overflow, outside the fully padded interaction area. */
body.p1-contact-page .p1-main {overflow:clip;}
body.p1-contact-page .p1-form-sheet {overflow:clip;}
body.p1-contact-page .p1-parent2,body.p1-contact-page .p1-message {overflow:clip;}
body.p1-contact-page .p1-progress button>span,
body.p1-contact-page .p1-days label>span:not(.p1-sr),
body.p1-contact-page .p1-choices span,
body.p1-contact-page .p1-choices span::before {transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;}
body.p1-contact-page .p1-button {transition:background-color .2s ease,box-shadow .2s ease,transform .18s ease;}
body.p1-contact-page .p1-button:hover {transform:translateY(-1px);box-shadow:0 5px 12px #6d8f3020;}
body.p1-contact-page .p1-button:active {transform:translateY(0);box-shadow:none;}
@media(prefers-reduced-motion:reduce) {
  body.p1-contact-page .p1-button:hover {transform:none;}
}
/* Tom #1886 and capture of 2026-10-10: remove useless desktop margins (review note row, gaps around the stepper and actions, empty space under the card). */
@media(min-width:761px) {
  body.p1-contact-page .p1-main {max-width:1400px;padding:30px 48px 44px;}
  body.p1-contact-page .p1-demo {position:absolute;top:-26px;right:4px;margin:0;}
  body.p1-contact-page .p1-contact-aside {padding-top:10px;}
  body.p1-contact-page .p1-progress ol {margin-bottom:20px;}
  body.p1-contact-page .p1-required {margin-bottom:10px;}
  body.p1-contact-page .p1-step h2 {margin-bottom:20px;}
  body.p1-contact-page [data-active-step="0"] .p1-actions {margin-top:26px;}
  body.p1-contact-page .p1-call-option {margin-top:20px;padding-top:14px;}
  body.p1-contact-page .p1-intro-art {height:250px;margin-top:18px;}
  body.p1-contact-page .p1-intro-art img {width:270px;height:270px;}
  body.p1-contact-page .p1-intro-bubble {margin-top:-46px;}
}
