.contact-page{padding-bottom:1px;position:relative}.contact-container{width:min(calc(100% - (2 * var(--space-gutter))), var(--space-container-max));margin-inline:auto}.contact-hero{background:var(--color-white) url(/assets/decorations/ruban-clair.svg) no-repeat right top / min(36%, 520px) auto;text-align:center;padding:56px 0 120px;position:relative;overflow:hidden}.contact-hero__content{justify-items:center;max-width:900px;display:grid;position:relative}.contact-chip{border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-ink);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);align-items:center;gap:8px;padding:6px 14px;display:inline-flex;box-shadow:0 2px 10px #0e1b4d0d}.contact-chip>span{background:var(--color-accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #fc740e2e}.contact-hero h1{color:var(--color-ink);font-size:var(--font-size-h1);font-weight:var(--font-weight-light);letter-spacing:var(--letter-spacing-heading);line-height:var(--line-height-heading);margin:20px 0 18px}.contact-hero__lead{max-width:540px;color:var(--color-text);margin:0;font-size:17px}.contact-facts{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.contact-facts>span{border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-ink);align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex}.contact-facts .fs-icon{width:15px;height:15px;color:var(--color-brand)}.contact-hero__wave{width:100%;height:80px;position:absolute;bottom:-1px;left:0;right:0}.contact-main-section{padding:30px 0 var(--space-section-y);background:var(--color-background)}.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:34px;display:grid}.contact-info{gap:14px;display:grid}.contact-line{border-radius:var(--radius-card);background:var(--color-white);min-width:0;box-shadow:0 1px 0 var(--color-line);color:var(--color-ink);align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.contact-line[href]:hover strong{color:var(--color-brand)}.contact-line__icon{background:var(--color-brand);width:42px;height:42px;color:var(--color-white);border-radius:50%;flex:none;place-items:center;display:grid}.contact-line__icon .fs-icon{width:21px;height:21px}.contact-line>span:last-child{min-width:0}.contact-line small{color:var(--color-text);font-size:12px;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;display:block}.contact-line strong{overflow-wrap:anywhere;transition:color var(--motion-hover) var(--motion-easing);font-size:15.5px;display:block}.contact-hours{border-radius:var(--radius-card);background:var(--color-white);box-shadow:0 1px 0 var(--color-line);font-size:var(--font-size-body-sm);padding:18px}.contact-hours h2{color:var(--color-ink);font-size:14px;font-weight:var(--font-weight-bold);line-height:var(--line-height-body);align-items:center;gap:8px;margin:0 0 8px;display:flex}.contact-hours h2 .fs-icon{width:16px;height:16px;color:var(--color-accent)}.contact-hours__row{border-bottom:1px dashed var(--color-line);justify-content:space-between;gap:10px;padding:5px 0;display:flex}.contact-hours__row:last-child{border-bottom:0}.contact-hours__row span{color:var(--color-text)}.contact-hours__row strong{text-align:right;white-space:nowrap}.contact-form{border-radius:var(--radius-media);background:var(--color-white);min-width:0;box-shadow:var(--shadow-card-lg);padding:30px}.contact-form__eyebrow{color:var(--color-brand);font-size:var(--font-size-eyebrow);font-weight:var(--font-weight-black);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase;margin:0}.contact-form h2{color:var(--color-ink);font-size:20px;font-weight:var(--font-weight-bold);letter-spacing:0;line-height:var(--line-height-h2);margin:8px 0 6px}.contact-form__intro{color:var(--color-text);font-size:var(--font-size-body-sm);margin:0 0 18px}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-field{gap:6px;min-width:0;display:grid}.contact-field--full{grid-column:1/-1}.contact-field label{color:var(--color-ink);font-size:12.5px;font-weight:var(--font-weight-bold);letter-spacing:.02em}.contact-field label span{color:var(--color-brand)}.contact-field input,.contact-field textarea{border:1.5px solid var(--color-line);width:100%;min-width:0;color:var(--color-ink);font:inherit;background:#fbfbfc;border-radius:12px;padding:12px 14px;font-size:15px}.contact-field textarea{resize:vertical;min-height:120px}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--color-brand);background:var(--color-white);outline:none;box-shadow:0 0 0 4px #0045cc24}.contact-quick-questions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.contact-quick-questions button{border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-ink);cursor:pointer;text-align:left;padding:7px 12px;font-size:12.5px;font-weight:700}.contact-quick-questions button:hover{border-color:var(--color-brand)}.contact-form__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.contact-form__footer small{color:var(--color-text);font-size:var(--font-size-caption)}.contact-submit{border-radius:var(--radius-pill);background:var(--color-brand);min-height:44px;box-shadow:var(--shadow-primary-button);color:var(--color-white);cursor:pointer;font-size:var(--font-size-button);font-weight:var(--font-weight-bold);transition:transform var(--motion-hover) var(--motion-easing), background-color var(--motion-hover) var(--motion-easing), box-shadow var(--motion-hover) var(--motion-easing);border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 22px;line-height:1;display:inline-flex}.contact-submit:hover{background:var(--color-brand-dark);transform:translateY(-1px)}.contact-submit .fs-icon{width:18px;height:18px}.contact-faq-section{padding:var(--space-section-y) 0;background:var(--color-white)}.contact-faq-heading{text-align:center;max-width:700px;margin:0 auto 40px}.contact-faq-heading h2{color:var(--color-ink);font-size:var(--font-size-h2);font-weight:var(--font-weight-black);line-height:var(--line-height-h2);margin:0}.contact-faq-list{gap:12px;max-width:820px;margin-inline:auto;display:grid}.contact-faq-list details{border-radius:var(--radius-md);background:var(--color-white);box-shadow:0 1px 0 var(--color-line);transition:border-color var(--motion-hover) var(--motion-easing);border:1.5px solid #0000}.contact-faq-list details[open]{border-color:var(--color-brand)}.contact-faq-list summary{min-height:56px;color:var(--color-ink);cursor:pointer;font-size:15.5px;font-weight:var(--font-weight-bold);line-height:var(--line-height-body);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;list-style:none;display:flex}.contact-faq-list summary::-webkit-details-marker{display:none}.contact-faq-list summary .fs-icon{color:var(--color-text);transition:transform var(--motion-hover) var(--motion-easing), color var(--motion-hover) var(--motion-easing);flex:none}.contact-faq-list details[open] summary .fs-icon{color:var(--color-brand);transform:rotate(180deg)}.contact-faq-list details>p{color:var(--color-text);font-size:var(--font-size-body-sm);margin:0;padding:0 22px 20px}.contact-departures{z-index:40;border-radius:var(--radius-md);background:var(--color-ink);max-width:380px;box-shadow:var(--shadow-card-lg);color:var(--color-white);align-items:center;gap:12px;padding:10px 16px 10px 10px;font-size:12px;text-decoration:none;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:22px;right:96px}.contact-departures__icon{border-radius:var(--radius-sm);background:var(--color-accent);width:34px;height:34px;color:var(--color-ink);flex:none;place-items:center;display:grid}.contact-departures__icon .fs-icon{width:var(--icon-size);height:var(--icon-size)}.contact-departures strong,.contact-departures small{display:block}.contact-departures strong{font-size:13px}.contact-departures small{color:var(--color-footer-hours);margin-top:2px;font-size:11.5px}.contact-departures small b{color:var(--color-accent)}.contact-departures__live{background:var(--color-success);border-radius:50%;flex:none;width:8px;height:8px;animation:1.8s infinite contact-pulse;box-shadow:0 0 0 4px #16a34a2e}.contact-help{z-index:41;background:var(--color-accent);width:58px;height:58px;box-shadow:var(--shadow-help-button);color:var(--color-ink);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:22px;right:22px}.contact-help .fs-icon{width:24px;height:24px}.contact-help span{border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-white);font-size:12.5px;font-weight:var(--font-weight-bold);white-space:nowrap;opacity:0;pointer-events:none;padding:7px 12px;transition:opacity .2s,transform .2s;position:absolute;right:68px;transform:translate(6px)}.contact-help:hover span,.contact-help:focus-visible span{opacity:1;transform:none}.contact-motion [data-contact-reveal]{opacity:0;transition:opacity var(--motion-reveal) ease, transform var(--motion-reveal) ease;transform:translateY(18px)}.contact-motion [data-contact-reveal].is-visible{opacity:1;transform:none}@keyframes contact-pulse{50%{box-shadow:0 0 0 7px #16a34a0d}}@media (width<=900px){.contact-hero{background-size:62%}.contact-grid{grid-template-columns:1fr}.contact-departures{display:none}}@media (width<=640px){.contact-container{width:min(calc(100% - 32px), var(--space-container-max))}.contact-hero{background-size:50%;padding-top:56px}.contact-fields{grid-template-columns:1fr}.contact-field--full{grid-column:auto}.contact-form{padding:22px}.contact-hours__row{align-items:flex-start}.contact-hours__row strong{white-space:normal}.contact-faq-section{padding-block:64px}.contact-help{width:52px;height:52px;bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){.contact-motion [data-contact-reveal]{opacity:1;transition:none;transform:none}.contact-departures,.contact-help,.contact-help span,.contact-faq-list details,.contact-submit{transition:none}.contact-departures__live{animation:none}}
