/* Enabled by layout.js; media on the link provides a no-JS fallback. */

/* Keep a usable desktop canvas in very narrow windows or an explicit PC mode. */
html, body { min-width:76.8rem; }
html { overflow-x:auto; }
._headr { min-width:76.8rem; }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    ._navxx :is(._navln,._morex):hover ._navtext :is(._lcharin,._lcharout) {
        transition:transform .46s cubic-bezier(.22,1,.36,1);
        transition-delay:calc(var(--li,0) * 18ms);
    }
    ._navxx :is(._navln,._morex):hover ._lcharin { transform:translate3d(0,0,0); }
    ._navxx :is(._navln,._morex):hover ._lcharout { transform:translate3d(110%,0,0); }
}

._fgrid {
        align-items: stretch;
        display: grid;
        grid-template-columns: minmax(30rem,43rem) minmax(0,1fr)
    }

    ._frght {
        min-width: 0
    }

    ._ftopx {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

@media (max-width: 89.999rem) {
    ._fgrid {
        grid-template-columns: minmax(30rem,36rem) minmax(0,1fr)
    }

    ._fleft {
        min-height: 0;
        padding: clamp(2.6rem,2.2vw,3rem)
    }

    ._finfo {
        margin-top: auto
    }

    ._fbtns {
        margin-top: 2.4rem
    }

    ._fcall,
    ._fmenu {
        padding: clamp(2.4rem,2.2vw,3rem)
    }

    ._fmenu {
        min-height: 0
    }
}

@media (max-width: 89.999rem) {
    :root {
        --fs-14: clamp(1.2rem, calc(.2rem + .833333vw), 1.4rem);
        --fs-15: clamp(1.3rem, calc(.3rem + .833333vw), 1.5rem);
        --fs-16: clamp(1.4rem, calc(.4rem + .833333vw), 1.6rem);
        --fs-18: clamp(1.6rem, calc(.6rem + .833333vw), 1.8rem);
        --fs-20: clamp(1.8rem, calc(.8rem + .833333vw), 2rem);
    }
    ._brand { padding-inline: clamp(1rem, 1.05vw, 1.5rem); padding-inline: clamp(1rem, 1.05cqi, 1.5rem); }
    ._navxx {
        gap: var(--gap-md);
        margin-left: clamp(.4rem, .65vw, .9rem); margin-left: clamp(.4rem, .65cqi, .9rem);
    }
    ._navln, ._morex { font-size: var(--fs-14); }
    ._tools { gap: clamp(.5rem, .55vw, .8rem); gap: clamp(.5rem, .55cqi, .8rem); }
    ._place { padding-inline: clamp(1.2rem, 1.15vw, 1.65rem); padding-inline: clamp(1.2rem, 1.15cqi, 1.65rem); }
    [data-city-current] {
        max-inline-size: clamp(8rem, 8.5vw, 11rem); max-inline-size: clamp(8rem, 8.5cqi, 11rem);
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

._pgrid { grid-template-rows:max-content minmax(0,1fr); }

html { scrollbar-gutter:stable; }

html[data-priority-nav] ._hrowx > :is(._brand,._phgrp,._tools) { flex-shrink:0; }
    html[data-priority-nav] ._navxx { flex:1 1 0; min-width:0; }
    html[data-priority-nav] ._navxx > :is(._navln,._menux) { flex:0 0 auto; }
    html[data-priority-nav] ._navxx > ._mobcityslot { display:none; }
    html[data-priority-nav-pending] ._navxx { visibility:hidden; }

main:not([data-inner]) ._qmv8r ._qg2kx { grid-auto-rows:minmax(17.44rem,auto); gap:calc(var(--gap-md) * .8); }
    main:not([data-inner]) ._qmv8r ._qd2fv { min-height:22.4rem; }
    main:not([data-inner]) ._qmv8r :is(._qb4tz,._qc9wm,._qd2fv) { padding:2.4rem; }
    main:not([data-inner]) ._qmv8r ._ql9sx { height:8rem; top:2.4rem; font-size:calc(var(--fs-56) * .8); }
    main:not([data-inner]) ._qmv8r ._qn7tk { width:18rem; height:18rem; top:55%; padding:1.6rem; transform:translate(-50%,-50%); }
    main:not([data-inner]) ._qmv8r ._qb4tz:hover ._qn7tk { padding:2.4rem; transform:translate(-50%,-45%); }
    main:not([data-inner]) ._qmv8r :is(._qm4zr,._qs3nx,._qh2vn) { bottom:2.4rem; }
    main:not([data-inner]) ._qmv8r ._qg7md { bottom:8.16rem; font-size:calc(var(--fs-42) * .8); }
    main:not([data-inner]) ._qmv8r ._qr6vh { font-size:calc(var(--fs-42) * .8); }

._contactwidget[data-contact-visibility="mobile"] { display: none !important; }

html body[data-lock] ._contactwidget,
    html[data-cookie-visible] ._contactwidget { visibility:hidden; pointer-events:none; }

/* Compact desktop: preserve PC navigation and visible controls on small notebooks. */
@media (max-width:74.999rem) {
    :root {
        --page-gap:1.6rem;
        --gap-md:1.6rem;
        --gap-lg:2.4rem;
        --head-size:8rem;
        --header-control-size:4rem;
        --card-radius:2.4rem;
        --section-space:4.8rem;
        --section-title-space:3rem;
        --filter-padding-x:1.4rem;
        --fs-30:2.8rem;
        --fs-42:clamp(2.8rem,3.5vw,4.2rem);
        --fs-56:clamp(3.2rem,4.5vw,5.6rem);
        --fs-82:clamp(4.2rem,5.5vw,6.4rem);
    }
    ._hrowx { gap:.6rem; }
    ._brand { padding-inline:1rem; }
    ._brand ._logox { gap:.6rem; }
    ._phone, ._place { padding-inline:1rem; }
    ._navxx { gap:1.2rem; margin-left:.4rem; }
    ._tools, ._hsocial { gap:.6rem; }
    ._hsocial a { height:3.8rem; width:3.8rem; }
    [data-city-current] { max-inline-size:8rem; }
    ._hero1 { grid-template-columns:minmax(0,55fr) minmax(0,45fr); min-height:48rem; max-height:none; }
    ._small, ._side1, ._wide1 { padding:2rem; }
    ._small ._h2xxx, ._side1 ._h2xxx { font-size:clamp(2rem,2.3vw,2.8rem); }
    ._pgrid { grid-template-columns:minmax(0,1fr) minmax(30rem,36%); column-gap:2rem; }
    ._pview { min-height:46rem; }
    ._pxlay { grid-template-columns:minmax(0,1fr) 30rem; }
    ._wkgrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    ._fgrid { grid-template-columns:minmax(25rem,32%) minmax(0,1fr); }
    ._fleft, ._fcall, ._fmenu { padding:2rem; }
    ._fcols { gap:2rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
    ._contactwidget { left:2rem; bottom:2rem; }
}

@media (max-width:62.499rem) {
    ._filt1 { grid-template-columns:repeat(3,minmax(0,1fr)); }
    ._clist { grid-template-columns:repeat(2,minmax(0,1fr)); }
    ._wkgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    ._pgrid { grid-template-columns:minmax(0,1fr) 30rem; }
}

@media (max-width:47.999rem) {
    /* Let the entire header scroll horizontally with the desktop canvas. */
    ._headr { position:sticky; margin-bottom:calc(0rem - var(--head-size)); }
}
