/*html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}*/


/*a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

a {
    color: #0077cc;
}*/

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0,0,0,.05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* Layout */
html,
body {
    height: 100%;
    margin: 0;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
   /* padding-top: 120px;*/
}

footer {
    flex-shrink: 0;
}

/* Le conteneur du footer gère déjà son espacement avec la classe Bootstrap py-5. */
.footer {
    padding-top: 0;
    padding-bottom: 0;
}

.footer-credit {
    margin-top: 2rem;
    padding-top: 1rem;
    color: rgba(255, 255, 255, .65);
    border-top: 1px solid rgba(255, 255, 255, .16);
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.footer-credit span {
    color: #C9A86A;
    font-weight: 700;
}

.masthead {
    /*    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;*/

    min-height: 90vh;
    background-image: url('/assets/img/Back-voiture3.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*.navbar-logo {
    height: 115px;
    width: auto;
    display: block;
}*/

.navbar-logo {
    width: 180px;
    height: auto;
    display: block;
}

#mainNav .nav-link:hover,
#mainNav .navbar-brand:hover {
    color: #b0b0b0 !important;
}

#mainNav .btn:hover {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    color: white !important;
}





/*.btn-commander {
    padding: 14px 32px;
}*/

.btn-commander {
    background: transparent;
    color: #C9A86A !important;
    border: 2px solid #C9A86A;
    border-radius: 8px;
    padding: 10px 20px;
    font-weight: 600;
    text-transform: uppercase;
    transition: all .3s ease;
}

    .btn-commander:hover {
        background: #C9A86A;
        color: #2c3e50 !important;
    }

.btn-commander-in-page {
    background-color: #2c3e50;
    border: 2px solid #C9A86A;
    /*color: gray !important;*/
    color:white;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all .3s ease;
}

    .btn-commander-in-page:hover {
        background-color: #C9A86A;
       /* border-color: #C9A86A;*/
      /*  color: #2c3e50 !important;*/
    }

/* Mobile */
@media (max-width: 991.98px) {
    #mainNav .container-fluid {
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }

    /* Conserve une hiérarchie légère entre le logo et le bouton sur mobile. */
    .navbar-logo {
        width: 155px;
    }

    .btn-commander {
        padding: 10px 18px;
        font-size: 0.95rem;
    }

/*    #mainNav .navbar-toggler {
        background-color: #C9A86A !important;
        border: 1px solid #C9A86A !important;
        color: #2c3e50 !important;
    }*/

    #mainNav .navbar-toggler {
        background-color: transparent !important;
        border: 2px solid #C9A86A !important;
        color: #C9A86A !important;
        border-radius: 8px;
        padding: 0.65rem;
        font-size: 0.75rem;
    }

        #mainNav .navbar-toggler[aria-expanded="true"] {
            background-color: #C9A86A !important;
            color: #2c3e50 !important;
        }

}


/* ===========================
   Navbar
=========================== */

#mainNav .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar-brand {
    flex-shrink: 0;
}

#navbarResponsive {
    justify-content: flex-end;
}

#mainNav #navbarResponsive .nav-link.active,
#mainNav #navbarResponsive .nav-link.active:hover,
#mainNav #navbarResponsive .nav-link.active:focus {
    color: #b0b0b0;
    background: transparent;
}

.btn-commander {
    white-space: nowrap;
}

/* Sélecteur international du formulaire de contact */
.phone-field {
    display: flex;
    align-items: stretch;
}

.phone-country-picker {
    position: relative;
    flex: 0 0 auto;
}

.phone-country-button {
    display: flex;
    align-items: center;
    gap: .45rem;
    height: 100%;
    min-width: 10.75rem;
    flex: 0 0 auto;
    padding: .375rem 1.75rem .375rem .75rem;
    color: #212529;
    background-color: #f8f9fa;
    border: 1px solid #ced4da;
    border-right: 0;
    border-radius: .375rem 0 0 .375rem;
    cursor: pointer;
}

.phone-country-button::after {
    position: absolute;
    right: .7rem;
    width: .5rem;
    height: .5rem;
    content: "";
    border-right: 2px solid #536273;
    border-bottom: 2px solid #536273;
    transform: translateY(-.15rem) rotate(45deg);
    transition: transform .2s ease, border-color .2s ease;
}

.phone-country-picker.is-open .phone-country-button::after {
    transform: translateY(.1rem) rotate(225deg);
}

.phone-country-button:hover::after {
    border-color: #2c3e50;
}

.contact-privacy-consent {
    padding: 1rem 1.15rem 1rem 2.75rem;
    color: #4a5563;
    background: #f8f9fa;
    border: 1px solid #e1e6eb;
    border-radius: .5rem;
    line-height: 1.45;
}

.contact-privacy-consent .form-check-input {
    margin-left: -1.65rem;
}

.contact-privacy-consent a {
    color: #2c3e50;
    font-weight: 700;
}

.country-dial-code, .phone-country-option small {
    color: #6c757d;
}

.phone-country-menu {
    position: absolute;
    z-index: 10;
    display: none;
    top: calc(100% + .35rem);
    left: 0;
    width: 15rem;
    max-height: 16rem;
    overflow-y: auto;
    padding: .35rem;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.phone-country-picker.is-open .phone-country-menu { display: block; }

.phone-country-search {
    position: sticky;
    z-index: 1;
    top: -.35rem;
    padding: .35rem 0 .5rem;
    background: #fff;
}

.phone-country-search .form-control {
    font-size: .85rem;
}

.phone-country-option {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    padding: .5rem;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: .25rem;
}

.phone-country-option:hover, .phone-country-option:focus { background: #f1f3f5; }
.phone-country-option small { margin-left: auto; }

.phone-country-empty {
    padding: .75rem .5rem;
    color: #6c757d;
    font-size: .9rem;
    text-align: center;
}

.country-flag {
    display: inline-block;
    flex: 0 0 auto;
    width: 1.45rem;
    height: 1rem;
    border: 1px solid rgba(0, 0, 0, .16);
    border-radius: .12rem;
}
.flag-fr { background: linear-gradient(90deg, #002654 33%, #fff 33% 66%, #ed2939 66%); }
.flag-be { background: linear-gradient(90deg, #1d1d1d 33%, #fdda24 33% 66%, #ef3340 66%); }
.flag-ch { background: linear-gradient(#d52b1e, #d52b1e); }
.flag-lu { background: linear-gradient(#ed2939 33%, #fff 33% 66%, #00a1de 66%); }
.flag-gb { background: linear-gradient(35deg, #012169 42%, #fff 42% 48%, #c8102e 48% 52%, #fff 52% 58%, #012169 58%); }
.flag-de { background: linear-gradient(#000 33%, #dd0000 33% 66%, #ffce00 66%); }
.flag-es { background: linear-gradient(#aa151b 25%, #f1bf00 25% 75%, #aa151b 75%); }
.flag-it { background: linear-gradient(90deg, #009246 33%, #fff 33% 66%, #ce2b37 66%); }
.flag-nl { background: linear-gradient(#ae1c28 33%, #fff 33% 66%, #21468b 66%); }
.flag-pt { background: linear-gradient(90deg, #046a38 40%, #da291c 40%); }
.flag-ca { background: linear-gradient(90deg, #d52b1e 25%, #fff 25% 75%, #d52b1e 75%); }
.flag-us { background: repeating-linear-gradient(#b22234 0 8%, #fff 8% 16%); }

.phone-field .form-control {
    min-width: 0;
    border-radius: 0 .375rem .375rem 0;
}

.phone-country-button:focus {
    position: relative;
    z-index: 2;
    outline: 0;
    border-color: #86b7fe;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
}

@media (max-width: 420px) {
  .phone-country-button {
        min-width: 9rem;
        padding-left: .5rem;
        gap: .3rem;
    }
}

/* Refonte de l'interface publique */
:root {
    --ink: #101a24;
    --ink-soft: #1c2a38;
    --gold: #c9a86a;
    --gold-light: #e4c98f;
    --ivory: #f7f4ee;
    --paper: #ffffff;
    --muted: #66717c;
    --line: rgba(16, 26, 36, .12);
    --shadow: 0 24px 70px rgba(16, 26, 36, .12);
}

html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { color: var(--ink); background: var(--paper); font-family: "Lato", sans-serif; }
h1, h2, h3, h4, .navbar { font-family: "Montserrat", sans-serif; }
h2 { font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.04em; }
a, button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(201, 168, 106, .55); outline-offset: 3px; }
.page-section { padding: clamp(5rem, 9vw, 8rem) 0; }

#mainNav {
    min-height: 84px;
    padding: .7rem 0;
    background: rgba(16, 26, 36, .93);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, .08);
}
#mainNav .container-fluid { max-width: 1440px; }
#mainNav .navbar-brand { padding: 0; }
.navbar-logo { width: 164px; max-height: 62px; object-fit: contain; }
#mainNav .navbar-nav { gap: .25rem; }
#mainNav .nav-link { position: relative; padding: .75rem 1rem; color: rgba(255,255,255,.8) !important; font-size: .78rem; letter-spacing: .1em; }
#mainNav .nav-link::after { position: absolute; right: 1rem; bottom: .42rem; left: 1rem; height: 1px; content: ""; background: var(--gold); transform: scaleX(0); transition: transform .2s ease; }
#mainNav .nav-link:hover, #mainNav .nav-link.active { color: #fff !important; }
#mainNav .nav-link:hover::after, #mainNav .nav-link.active::after { transform: scaleX(1); }
.btn-commander { padding: .7rem 1.2rem; border: 1px solid var(--gold); border-radius: 2px; letter-spacing: .08em; }
#mainNav .btn:hover { color: var(--ink) !important; background: var(--gold) !important; border-color: var(--gold) !important; transform: translateY(-1px); }

.masthead {
    position: relative;
    min-height: min(860px, 94vh);
    padding: 9rem 0 5rem;
    isolation: isolate;
    background-position: 64% center;
}
.masthead::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(8,16,24,.94) 0%, rgba(8,16,24,.75) 43%, rgba(8,16,24,.18) 76%, rgba(8,16,24,.08) 100%); }
.masthead::after { position: absolute; right: 0; bottom: 0; left: 0; height: 120px; content: ""; background: linear-gradient(transparent, rgba(8,16,24,.32)); }
.hero-content { width: 100%; }
.hero-content > * { max-width: 720px; }
.hero-eyebrow, .section-kicker { margin-bottom: 1rem; color: var(--gold-light); font-family: "Montserrat", sans-serif; font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.masthead .masthead-heading { max-width: 760px; font-size: clamp(3rem, 7vw, 6.3rem); line-height: .98; letter-spacing: -.065em; text-transform: none; }
.masthead .masthead-subheading { max-width: 590px; margin: 1.6rem 0 0; color: rgba(255,255,255,.82); font-size: clamp(1.08rem, 2vw, 1.35rem); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 1.6rem; margin-top: 2.25rem; }
.btn-commander-in-page, .btn-light-gold { display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; min-height: 56px; padding: .9rem 1.5rem; border-radius: 2px; font-family: "Montserrat", sans-serif; font-size: .83rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.btn-commander-in-page { color: var(--ink); background: var(--gold); border: 1px solid var(--gold); }
.btn-commander-in-page:hover { color: #fff; background: transparent; border-color: var(--gold); transform: translateY(-2px); }
.hero-secondary-link { color: #fff; font-weight: 700; text-underline-offset: 5px; }
.hero-secondary-link:hover { color: var(--gold-light); }
.hero-reassurance { display: flex; gap: 2rem; margin: 2.5rem 0 0; padding: 1.4rem 0 0; color: rgba(255,255,255,.72); border-top: 1px solid rgba(255,255,255,.18); list-style: none; font-size: .9rem; }
.hero-reassurance i { margin-right: .45rem; color: var(--gold); }

.services-section { background: var(--ivory); }
.section-heading { max-width: 700px; margin: 0 auto 3rem; }
.section-heading .section-kicker, .about-section .section-kicker, .contact-section .section-kicker { color: #9b7534; }
.section-heading h2 { margin-bottom: 1rem; }
.section-heading p { color: var(--muted); font-size: 1.1rem; }
.service-card { overflow: hidden; background: var(--paper); border: 1px solid rgba(16, 26, 36, .08); box-shadow: 0 12px 36px rgba(16,26,36,.06); transition: transform .3s ease, box-shadow .3s ease; }
.service-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.service-image { width: 100%; height: 230px; object-fit: cover; transition: transform .5s ease; }
.service-card:hover .service-image { transform: scale(1.035); }
.service-card-body { position: relative; min-height: 210px; padding: 2rem; }
.service-number { position: absolute; top: 1.75rem; right: 1.75rem; color: rgba(16,26,36,.18); font-family: "Montserrat", sans-serif; font-weight: 700; }
.service-card h3 { max-width: 85%; margin-bottom: 1rem; font-size: 1.25rem; line-height: 1.35; }
.service-card p { margin: 0; color: var(--muted); line-height: 1.7; }

.booking-band { padding: 3rem 0; color: #fff; background: var(--ink); }
.booking-band .container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.booking-band .section-kicker { display: block; margin-bottom: .3rem; }
.booking-band h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.btn-light-gold { color: var(--ink); background: var(--ivory); border: 1px solid var(--ivory); white-space: nowrap; }
.btn-light-gold:hover { color: #fff; background: transparent; border-color: var(--gold); transform: translateY(-2px); }

.about-section { position: relative; overflow: hidden; background: #fff; }
.about-section::before { position: absolute; top: 15%; left: -4rem; width: 9rem; height: 9rem; content: ""; border: 1px solid rgba(201,168,106,.35); transform: rotate(45deg); }
.about-section h2 { max-width: 430px; }
.about-section .lead { margin: 0; color: #53606c; font-size: 1.15rem; line-height: 1.9; }

.contact-section { background: var(--ivory); }
.contact-shell { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); overflow: hidden; background: var(--paper); box-shadow: var(--shadow); }
.contact-copy { padding: clamp(2.5rem, 5vw, 4.5rem); color: #fff; background: var(--ink); }
.contact-copy .section-kicker { color: var(--gold-light); }
.contact-copy h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.contact-copy > p { margin: 1.5rem 0 2.5rem; color: rgba(255,255,255,.7); font-size: 1.08rem; line-height: 1.7; }
.contact-direct { display: flex; align-items: center; gap: 1rem; color: #fff; font-family: "Montserrat", sans-serif; font-weight: 700; text-decoration: none; }
.contact-direct i { display: grid; width: 46px; height: 46px; color: var(--ink); background: var(--gold); border-radius: 50%; place-items: center; }
.contact-direct small { display: block; margin-bottom: .2rem; color: rgba(255,255,255,.6); font-family: "Lato", sans-serif; font-weight: 400; }
.contact-direct:hover { color: var(--gold-light); }
.contact-form-card { padding: clamp(2rem, 5vw, 4.5rem); }
.contact-form-card .form-label { margin-bottom: .45rem; font-size: .82rem; font-weight: 700; letter-spacing: .02em; }
.contact-form-card .form-control { min-height: 52px; padding: .75rem 1rem; background: #fbfaf7; border: 1px solid #dfe2e3; border-radius: 2px; }
.contact-form-card textarea.form-control { min-height: 135px; }
.contact-form-card .form-control:focus { background: #fff; border-color: var(--gold); box-shadow: 0 0 0 .2rem rgba(201,168,106,.16); }
.contact-form-card .input-validation-error,
.contact-form-card .input-validation-error:focus,
.contact-form-card [aria-invalid="true"] { border-color: #b94040; background-color: #fff8f8; box-shadow: 0 0 0 .2rem rgba(185,64,64,.1); }
.field-validation-message { display: block; min-height: 1.2rem; margin-top: .35rem; color: #a83232; font-size: .82rem; font-weight: 700; }
.field-validation-valid { visibility: hidden; }
.field-validation-error { visibility: visible; }
.validation-summary { display: none; margin-bottom: 1.25rem; padding: .85rem 1rem; color: #862e2e; background: #fff1f1; border: 1px solid #efc2c2; border-left: 4px solid #b94040; border-radius: 2px; font-size: .88rem; }
.validation-summary.validation-summary-errors { display: block; }
.validation-summary ul { margin: 0; padding-left: 1.2rem; }
.contact-privacy-consent .input-validation-error { border-color: #b94040; }
.contact-form-card .contact-submit { width: 100%; }
.contact-privacy-consent { background: #f7f4ee; border-color: rgba(16,26,36,.1); border-radius: 2px; font-size: .88rem; }
.phone-country-button { min-height: 52px; background: #f2efe9; border-radius: 2px 0 0 2px; }
.phone-field .form-control { border-radius: 0 2px 2px 0; }
.phone-country-menu { width: 17rem; border-radius: 2px; box-shadow: var(--shadow); }

.footer { padding: 0; color: rgba(255,255,255,.68); background: #0b131b; text-align: left !important; }
.footer-container { padding-top: 3.25rem; padding-bottom: 1.4rem; }
.footer-main { padding-bottom: 2.5rem; }
.footer-brand { padding-right: 2rem; }
.footer-logo { width: 145px; margin-bottom: 1.15rem; }
.footer-brand p { margin-bottom: 1.15rem; color: rgba(255,255,255,.55); line-height: 1.65; }
.footer-booking-link { color: var(--gold-light); font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.footer-booking-link span { display: inline-block; margin-left: .35rem; transition: transform .2s ease; }
.footer-booking-link:hover { color: #fff; }
.footer-booking-link:hover span { transform: translateX(4px); }
.footer h4 { margin: .35rem 0 1.15rem; color: var(--gold-light); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.footer-detail { display: flex; gap: .75rem; margin: 0; line-height: 1.75; }
.footer-detail i, .footer-links i { width: 1rem; margin-top: .3rem; color: var(--gold); text-align: center; }
.footer-links { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.footer-links li { display: flex; gap: .75rem; min-width: 0; }
.footer-links a { color: rgba(255,255,255,.72); text-decoration: none; overflow-wrap: anywhere; }
.footer-links a:hover { color: #fff; }
.footer-nav-links { gap: .55rem; }
.footer-nav-links a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; }
.footer-nav-links a:hover { text-decoration-color: var(--gold); }
.footer-admin-access { margin-top: .35rem; padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.08); }
.footer-admin-access a { display: inline-flex; align-items: center; gap: .45rem; color: rgba(255,255,255,.48); font-size: .8rem; }
.footer-admin-access a:hover { color: var(--gold-light); }
.footer-admin-access i { color: var(--gold); font-size: .7rem; }
.footer-credit { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: 1.25rem 0 0; color: rgba(255,255,255,.42); border-top: 1px solid rgba(255,255,255,.1); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.footer-credit strong { color: var(--gold); font-weight: 700; }

@media (max-width: 991.98px) {
    #mainNav .container-fluid { padding-right: 1.25rem !important; padding-left: 1.25rem !important; }
    #navbarResponsive { margin: .7rem -1.25rem -.7rem; padding: 1rem 1.25rem 1.4rem; background: #101a24; border-top: 1px solid rgba(255,255,255,.08); }
    #mainNav .navbar-nav { gap: 0; }
    #mainNav .nav-link { padding: .8rem 0; }
    #mainNav .nav-link::after { right: auto; bottom: .55rem; left: 0; width: 38px; }
    .contact-shell { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .navbar-logo { width: 138px; }
    #mainNav { min-height: 74px; }
    .masthead { min-height: 760px; padding-top: 8rem; background-position: 68% center; }
    .masthead::before { background: linear-gradient(90deg, rgba(8,16,24,.94), rgba(8,16,24,.68)); }
    .hero-actions, .booking-band .container { align-items: stretch; flex-direction: column; }
    .hero-actions { gap: 1rem; }
    .hero-secondary-link { align-self: flex-start; padding: .75rem 0; }
    .hero-reassurance { flex-wrap: wrap; gap: .8rem 1.4rem; }
    .booking-band { text-align: center; }
    .contact-copy, .contact-form-card { padding: 2rem 1.35rem; }
    .footer { text-align: center !important; }
    .footer-brand { padding-right: calc(var(--bs-gutter-x) * .5); }
    .footer-detail, .footer-links li { justify-content: center; }
    .footer-credit { align-items: center; flex-direction: column; }
}

@media (max-width: 420px) {
    .phone-field { display: block; }
    .phone-country-picker, .phone-country-button { width: 100%; }
    .phone-country-button { border-right: 1px solid #ced4da; border-radius: 2px 2px 0 0; }
    .phone-field .form-control { border-radius: 0 0 2px 2px; }
    .phone-country-menu { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; }
}
