html[data-profile-questionnaire-open] {overflow:hidden}
dialog.phs-welcome {--welcome-accent:#c60f35;--welcome-ink:#202334;box-sizing:border-box;width:calc(100% - 32px);max-width:620px;max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid #dfe2e8;border-radius:16px;background:#fff;color:var(--welcome-ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 24px 80px #11182735;overflow:auto;text-align:left}
dialog.phs-welcome[data-site="photostation-web"] {--welcome-accent:#e2001a;--welcome-ink:#071b55}
dialog.phs-welcome[data-site="voeux-professionnel"] {--welcome-accent:#b84b00;--welcome-ink:#242832}
dialog.phs-welcome::backdrop {background:#101b3299}
dialog.phs-welcome[open] {display:flex;flex-direction:column}
dialog.phs-welcome>p,dialog.phs-welcome>h2 {flex-shrink:0}
dialog.phs-welcome>form {display:flex;flex-direction:column;min-height:0;margin:0}
dialog.phs-welcome .phs-welcome__fields {min-height:0;overflow:auto;padding:4px;margin:-4px;overscroll-behavior:contain;scrollbar-gutter:stable}
dialog.phs-welcome *,dialog.phs-welcome *::before,dialog.phs-welcome *::after {box-sizing:border-box}
dialog.phs-welcome h2 {font:700 clamp(25px,5vw,32px)/1.2 system-ui,sans-serif;color:var(--welcome-ink);margin:5px 0 12px;letter-spacing:-.6px}
dialog.phs-welcome p {font-size:15px;line-height:1.5;margin:0 0 16px;color:inherit}
dialog.phs-welcome .phs-welcome__eyebrow {font-size:13px;font-weight:650;letter-spacing:.03em;color:var(--welcome-accent);margin:0}
dialog.phs-welcome .phs-welcome__mode {padding:10px 12px;border-radius:8px;background:#f3f5f8;font-size:14px}
dialog.phs-welcome .phs-welcome__field {margin:14px 0}
dialog.phs-welcome .phs-welcome__phone-row {display:grid;grid-template-columns:minmax(145px,.85fr) minmax(0,1.15fr);gap:12px;align-items:end}
dialog.phs-welcome label {display:block;float:none;width:auto;margin:0 0 6px;padding:0;color:inherit;font:600 15px/1.5 system-ui,sans-serif}
dialog.phs-welcome input:not([type=checkbox]),dialog.phs-welcome select {display:block;width:100%;height:auto;min-height:46px;margin:0;padding:10px 12px;border:1px solid #9aa3b2;border-radius:7px;background:#fff;color:var(--welcome-ink);font:400 16px/1.5 system-ui,sans-serif;appearance:auto;box-shadow:none}
dialog.phs-welcome .phs-welcome__hint {font-size:14px;color:#505c70;margin:6px 0 0}
dialog.phs-welcome .phs-welcome__consent {display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;margin:14px 0 0}
dialog.phs-welcome input[type=checkbox] {position:static;display:block;appearance:auto;opacity:1;width:19px;height:19px;min-width:19px;margin:3px 0 0;accent-color:var(--welcome-accent);float:none;clip:auto}
dialog.phs-welcome .phs-welcome__consent::before,dialog.phs-welcome .phs-welcome__consent::after {content:none}
dialog.phs-welcome .phs-welcome__actions {display:grid;grid-template-columns:2fr 1fr;flex-shrink:0;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #e1e5eb;background:white}
dialog.phs-welcome button {appearance:none;display:block;position:static;width:100%;min-height:46px;padding:12px 16px;border:1px solid transparent;border-radius:8px;text-align:center;text-transform:none;cursor:pointer;font:600 16px/1.4 system-ui,sans-serif;letter-spacing:0;box-shadow:none}
dialog.phs-welcome button.phs-welcome__primary {background:var(--welcome-accent);color:#fff}
dialog.phs-welcome button.phs-welcome__secondary {background:#fff;color:var(--welcome-ink);text-decoration:underline;text-underline-offset:3px}
dialog.phs-welcome button:disabled {opacity:.6;cursor:wait}
dialog.phs-welcome :focus-visible {outline:3px solid var(--welcome-ink);outline-offset:3px}
dialog.phs-welcome h2[tabindex]:focus {outline:none}
dialog.phs-welcome a {color:var(--welcome-ink);text-decoration:underline;text-underline-offset:3px}
dialog.phs-welcome .phs-welcome__privacy {font-size:14px;margin:18px 0 0}
dialog.phs-welcome .phs-welcome__error {padding:12px;border-left:3px solid #a31125;background:#fff1f3;color:#8c1524;margin:16px 0}
dialog.phs-welcome .phs-welcome__field-error {color:#a31125;font-size:14px;margin:4px 0 0}
dialog.phs-welcome [aria-invalid=true] {border-color:#a31125!important}
dialog.phs-welcome [hidden] {display:none!important}
@media(max-width:480px){dialog.phs-welcome{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:22px 18px;border-radius:12px}dialog.phs-welcome .phs-welcome__actions{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:no-preference){dialog.phs-welcome[open]{animation:phs-welcome-in .18s ease-out}@keyframes phs-welcome-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
