/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5
 * genre: modern-minimal · macrostructure: Catalogue · tone: technical premium
 * theme: studied-DNA (source: user-supplied image) · paper: cool light · accent: cobalt
 * fonts: Geist + Instrument Serif · enrichment: existing text-free automotive photography
 * nav: N9 edge-aligned minimal · footer: Ft1 mast-headed · studied: yes
 */
html,body{overflow-x:clip}
body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.55}
body.menu-open{overflow:hidden}
img{max-width:100%}
a,button,input,select{font:inherit}
a,button{white-space:nowrap}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
button:disabled,input:disabled,select:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.55}
.skip-link{position:fixed;inset-block-start:var(--space-md);inset-inline-start:var(--space-md);z-index:var(--z-toast);transform:translateY(-180%);padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:var(--color-accent-ink)}
.skip-link:focus{transform:none}

.site-header{position:absolute;inset:0 0 auto;z-index:var(--z-sticky);color:var(--color-on-hero)}
.nav-shell{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:4.5rem;padding-inline:var(--page-gutter);border-block-end:var(--rule-hair) solid color-mix(in oklch,var(--color-on-hero) 25%,transparent)}
.wordmark{grid-column:2;display:block;width:clamp(8.75rem,16vw,12rem);justify-self:center}
.wordmark img{display:block;width:100%;height:auto}
.menu-toggle{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center;gap:var(--space-xs);min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.menu-toggle i{display:block;width:.875rem;height:1px;background:currentColor;transition:transform var(--dur-short) var(--ease-out)}
.menu-toggle i+ i{margin-inline-start:-1.375rem;transform:translateY(5px)}
.menu-toggle[aria-expanded=true] i{transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] i+ i{transform:rotate(-45deg)}
.menu-toggle span,.theme-toggle span{font-size:var(--text-sm)}
.nav-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:var(--space-sm)}
.theme-toggle{display:none;min-height:44px;padding-inline:var(--space-sm);border:0;background:transparent;color:inherit;cursor:pointer}
.nav-book{display:inline-grid;place-items:center;min-height:44px;padding-inline:var(--space-md);border:var(--rule-hair) solid color-mix(in oklch,var(--color-on-hero) 45%,transparent);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-weight:600}
.nav-book:active,.finder button:active,.booking-inline button:active{transform:translateY(1px)}

/* Hallmark · component: mobile mega menu · genre: modern-minimal · theme: studied-DNA
 * pre-emit critique: P5 H5 E5 S5 R5 V5
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass (40–41) · responsive: pass (34,49,50–57) · icons: pass (30)
 */
.mega-menu{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:var(--color-graphite);color:var(--color-on-graphite);overflow:auto}
.mega-menu[open]{display:block;animation:mega-menu-enter var(--dur-short) var(--ease-out) both}
.mega-menu::backdrop{background:color-mix(in oklch,var(--color-graphite) 78%,transparent)}
.mega-menu [hidden]{display:none}
.mega-menu__frame{display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--space-lg);min-height:100%;padding:max(var(--space-sm),env(safe-area-inset-top)) max(var(--space-md),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-md),env(safe-area-inset-left))}
.mega-menu__head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-md);min-height:3.5rem;padding-block-end:var(--space-sm);border-block-end:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 20%,transparent)}
.mega-menu__brand{display:block;width:min(9.25rem,100%)}
.mega-menu__brand img{display:block;width:100%;height:auto}
.mega-menu__head p{margin:0;color:color-mix(in oklch,var(--color-on-graphite) 68%,transparent);font-size:var(--text-sm)}
.mega-menu__close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 28%,transparent);border-radius:var(--radius-input);background:transparent;color:var(--color-on-graphite);cursor:pointer}
.mega-menu svg{display:block;width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.menu-search{position:relative;display:grid;gap:var(--space-xs)}
.menu-search>label{font-size:var(--text-sm);font-weight:600}
.menu-search__control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:3.5rem;padding-inline:var(--space-md) var(--space-xs);border:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 28%,transparent);border-radius:var(--radius-input);background:var(--color-graphite-2);color:var(--color-on-graphite)}
.menu-search__control input{width:100%;min-width:0;height:3.375rem;padding:0;border:0;outline:2px solid transparent;outline-offset:1px;background:transparent;color:inherit;font-size:var(--text-base)}
.menu-search__control input::placeholder{color:color-mix(in oklch,var(--color-on-graphite) 56%,transparent)}
.menu-search__control input:focus-visible{outline-color:var(--color-focus)}
.menu-search__control button{min-width:44px;height:3.375rem;min-height:3.375rem;padding-inline:var(--space-sm);border:0;background:transparent;color:inherit;font-size:var(--text-sm);cursor:pointer}
.menu-search__status{min-height:1lh;margin:0;color:color-mix(in oklch,var(--color-on-graphite) 68%,transparent);font-size:var(--text-sm)}
.menu-search[data-state=loading]::after{content:"";position:absolute;inset:auto 0 0;height:var(--rule-hair);background:var(--color-accent);transform-origin:left;animation:menu-search-progress var(--dur-long) var(--ease-in-out) infinite}
.menu-search[data-state=error] .menu-search__control{border-color:var(--color-danger)}
.menu-search[data-state=error] .menu-search__status{color:var(--color-on-graphite)}
.menu-search[data-state=success] .menu-search__status::before{content:"✓ ";color:var(--color-accent-2)}

.mega-menu__body{display:grid;align-content:start;gap:var(--space-lg);min-width:0}
.mega-menu__destinations{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}
.menu-destination{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:space-between;align-items:start;gap:var(--space-md);min-width:0;min-height:6.5rem;padding:var(--space-md);border:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 18%,transparent);border-radius:var(--radius-card);background:var(--color-graphite-2);color:var(--color-on-graphite);transition:transform var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}
.menu-destination>svg{margin-block-start:var(--space-3xs);color:var(--color-accent-2)}
.menu-destination>span{display:grid;align-content:start;gap:var(--space-2xs);min-width:0}
.menu-destination strong{display:block;min-width:0;font-family:var(--font-display);font-size:clamp(.875rem,3.9vw,1.125rem);font-weight:600;line-height:1.1;overflow-wrap:normal;white-space:nowrap}
.menu-destination small{display:none;color:color-mix(in oklch,var(--color-on-graphite) 66%,transparent);font-size:var(--text-sm);white-space:normal}
.menu-destination>i{position:absolute;inset:auto var(--space-sm) var(--space-sm) auto;color:color-mix(in oklch,var(--color-on-graphite) 38%,transparent);font-size:var(--text-xs);font-style:normal;font-variant-numeric:tabular-nums}
.menu-destination mark,.mega-menu__utility mark{padding:0;background:var(--color-accent);color:var(--color-accent-ink)}
.menu-destination:active,.mega-menu__utility a:active,.mega-menu__quick a:active,.mega-menu__close:active{transform:translateY(1px)}
.menu-destination[aria-disabled=true],.mega-menu__utility a[aria-disabled=true]{pointer-events:none;opacity:.5}

.mega-menu__utility{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 18%,transparent)}
.mega-menu__utility a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:0;min-height:44px;padding-inline:var(--space-xs);color:var(--color-on-graphite);font-size:var(--text-sm)}
.mega-menu__utility a+a{border-inline-start:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 18%,transparent)}
.menu-empty{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-md);padding:var(--space-lg);border:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 18%,transparent);border-radius:var(--radius-card);background:var(--color-graphite-2);color:var(--color-on-graphite)}
.menu-empty p{margin:0;white-space:normal}
.menu-empty strong{display:block}
.menu-empty button{grid-column:1/-1;justify-self:start;min-height:44px;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-accent-2);border-radius:var(--radius-input);background:transparent;color:var(--color-on-graphite);cursor:pointer}

.mega-menu__quick{position:sticky;inset-block-end:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);padding-block-start:var(--space-sm);background:var(--color-graphite);color:var(--color-on-graphite)}
.mega-menu__quick a{display:grid;grid-template-columns:auto auto;place-content:center;align-items:center;gap:var(--space-xs);min-width:0;min-height:48px;padding-inline:var(--space-xs);border:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 24%,transparent);border-radius:var(--radius-input);background:var(--color-graphite-2);color:var(--color-on-graphite);font-size:var(--text-sm);font-weight:600;transition:transform var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}
.mega-menu__quick svg{width:1.125rem;height:1.125rem}
.mega-menu__close:focus-visible,.menu-destination:focus-visible,.mega-menu__utility a:focus-visible,.mega-menu__quick a:focus-visible,.menu-search__control button:focus-visible,.menu-empty button:focus-visible{outline-color:var(--color-focus);outline-offset:2px}
@keyframes mega-menu-enter{from{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:none}}
@keyframes menu-search-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(min-width:28rem){
  .mega-menu__destinations{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.catalogue-home{background:var(--color-paper);color:var(--color-ink)}
.catalog-hero{position:relative;isolation:isolate;min-height:38rem;padding:var(--space-hero-top) var(--page-gutter) var(--space-hero-bottom);overflow:hidden;background:linear-gradient(180deg,var(--color-hero-top),var(--color-hero-bottom));color:var(--color-on-hero)}
.catalog-hero__media{position:absolute;z-index:-1;inset:0;display:block;overflow:hidden}
.catalog-hero__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;filter:saturate(.82) contrast(1.03)}
.catalog-hero__copy{position:relative;z-index:var(--z-base);display:grid;justify-items:center;text-align:center}
.catalog-hero__copy p{margin:0 0 var(--space-md);max-width:32ch;font-size:var(--text-sm)}
.catalog-hero h1{max-width:12ch;margin:0;font-family:var(--font-display);font-size:clamp(2.75rem,7vw,4.75rem);font-style:normal;font-weight:600;letter-spacing:var(--tracking-display);line-height:1;overflow-wrap:anywhere;min-width:0}
.catalog-hero__note{position:absolute;z-index:var(--z-base);inset:auto auto var(--space-xl) var(--page-gutter);max-width:24ch;margin:0;font-size:var(--text-sm)}
.catalog-hero__facts{position:absolute;z-index:var(--z-base);inset:auto var(--page-gutter) var(--space-xl) auto;display:none;margin:0;padding:var(--space-sm);background:color-mix(in oklch,var(--color-hero-top) 72%,transparent);font-size:var(--text-xs)}
.catalog-hero__facts div{display:grid;grid-template-columns:auto 1fr;gap:var(--space-lg);padding-block:var(--space-2xs)}
.catalog-hero__facts dt{color:color-mix(in oklch,var(--color-on-hero) 72%,transparent)}
.catalog-hero__facts dd{margin:0}
.catalog-enter{animation:catalog-enter var(--dur-long) var(--ease-out) both}
.finder-shell.catalog-enter{animation-delay:80ms}
@keyframes catalog-enter{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}

.finder-shell{position:relative;z-index:var(--z-raised);width:min(calc(100% - 2rem),74rem);margin:var(--offset-finder) auto 0;padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-finder)}
.finder-tabs{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-md);margin-block-end:var(--space-md)}
.finder-tabs h2{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-style:normal}
.finder-tabs>div{display:flex;gap:var(--space-md)}
.finder-tabs a{min-height:44px;display:grid;place-items:center;border-block-end:2px solid transparent;font-size:var(--text-sm)}
.finder-tabs a:first-child{border-color:var(--color-accent)}
.finder{display:grid;gap:var(--space-sm)}
.finder label,.booking-inline label{display:grid;gap:var(--space-2xs)}
.finder label span,.booking-inline label span{font-size:var(--text-xs);font-weight:600}
.finder input,.finder select,.booking-inline input,.booking-inline select{width:100%;min-width:0;min-height:48px;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-input);outline:2px solid transparent;outline-offset:1px;background:var(--color-field);color:var(--color-ink)}
.finder input:hover,.finder select:hover,.booking-inline input:hover,.booking-inline select:hover{background:var(--color-paper-2)}
.finder input:focus-visible,.finder select:focus-visible,.booking-inline input:focus-visible,.booking-inline select:focus-visible{outline-color:var(--color-focus)}
.finder input[readonly]{color:var(--color-muted)}
.finder button,.booking-inline button{min-height:48px;padding-inline:var(--space-lg);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-accent-ink);font-weight:600;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out)}
.finder-status,.form-status{grid-column:1/-1;min-height:1lh;margin:0;color:var(--color-danger);font-size:var(--text-sm)}

.discipline-rail{display:flex;gap:var(--space-xl);padding:var(--space-2xl) var(--page-gutter);overflow-x:auto;overscroll-behavior-inline:contain;border-block-end:var(--rule-hair) solid var(--color-rule);scrollbar-width:none}
.discipline-rail::-webkit-scrollbar{display:none}
.discipline-rail a{flex:0 0 auto;display:grid;place-items:center;min-height:44px;color:var(--color-neutral);font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-nav)}

.catalog-section,.service-catalog,.about-strip,.booking-band{padding-inline:var(--page-gutter)}
.catalog-section--routes{padding-block:var(--space-3xl) var(--space-4xl)}
.catalog-heading{display:grid;gap:var(--space-lg);margin-block-end:var(--space-2xl)}
.catalog-heading h2,.service-catalog__head h2,.about-strip h2,.booking-band h2{margin:0;font-family:var(--font-display);font-size:var(--text-display-s);font-style:normal;font-weight:600;letter-spacing:var(--tracking-display);line-height:1.06;overflow-wrap:anywhere;min-width:0}
.catalog-heading p,.about-strip__copy>p,.booking-band>div>p{max-width:46ch;margin:0;color:var(--color-muted)}
.route-grid{display:grid;gap:var(--space-xl)}
.route-card{display:grid;align-content:start;gap:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule);padding-block-start:var(--space-sm)}
.route-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--color-paper-2)}
.route-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-long) var(--ease-out)}
.route-card>div{display:grid;grid-template-columns:1fr auto;gap:var(--space-xs) var(--space-md);align-items:start}
.route-card h3{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-style:normal}
.route-card p{grid-column:1/-1;margin:0;color:var(--color-muted)}
.route-card>div>a{grid-column:1/-1;justify-self:start;display:flex;align-items:center;gap:var(--space-sm);min-height:44px;border-block-end:var(--rule-hair) solid currentColor;font-weight:600}

.service-catalog{padding-block:0 var(--space-4xl);background:var(--color-paper-2);color:var(--color-ink)}
.service-catalog__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-2xl) var(--space-xl)}
.service-catalog__head h2{font-size:var(--text-2xl)}
.service-catalog__head>a{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;border-block-end:var(--rule-hair) solid currentColor}
.service-products{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl) var(--space-sm)}
.service-products article{min-width:0}
.service-products a{display:grid;grid-template-columns:1fr auto;gap:var(--space-xs) var(--space-sm);align-items:center}
.service-products img{grid-column:1/-1;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--color-paper-3);transition:transform var(--dur-long) var(--ease-out)}
.service-products span{font-weight:600;white-space:nowrap}
.service-products strong{font-variant-numeric:tabular-nums;font-size:var(--text-sm)}

.uppsala-feature{position:relative;isolation:isolate;min-height:34rem;overflow:hidden;background:var(--color-graphite);color:var(--color-on-graphite)}
.uppsala-feature>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}
.uppsala-feature__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--color-graphite),color-mix(in oklch,var(--color-graphite) 10%,transparent))}
.uppsala-feature__copy{position:absolute;inset:auto var(--page-gutter) var(--space-2xl);max-width:34rem}
.uppsala-feature h2{min-width:0;margin:0;font-family:var(--font-display);font-size:var(--text-display-s);font-style:normal;line-height:1.06;overflow-wrap:anywhere}

.finder button:focus-visible,.booking-inline button:focus-visible{outline-color:var(--color-focus-inner);box-shadow:0 0 0 .25rem var(--color-focus)}
.uppsala-feature p{max-width:34ch}
.uppsala-feature a,.about-strip__copy>a{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:44px;border-block-end:var(--rule-hair) solid currentColor;font-weight:600}

.about-strip{display:grid;gap:var(--space-2xl);padding-block:var(--space-4xl)}
.about-strip__copy{display:grid;align-content:center;justify-items:start;gap:var(--space-xl)}
.about-strip__copy h2{font-family:var(--font-outlier);font-weight:400}
.about-strip__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs)}
.about-strip__gallery img{width:100%;aspect-ratio:1;object-fit:cover}

.booking-band{display:grid;gap:var(--space-2xl);padding-block:var(--space-3xl);background:var(--color-graphite);color:var(--color-on-graphite)}
.booking-band>div>p{color:color-mix(in oklch,var(--color-on-graphite) 72%,transparent)}
.booking-inline{display:grid;gap:var(--space-sm)}
.booking-inline input,.booking-inline select{background:var(--color-graphite-2);border-color:color-mix(in oklch,var(--color-on-graphite) 25%,transparent);color:var(--color-on-graphite)}
.booking-inline input:hover,.booking-inline select:hover{background:var(--color-graphite)}
.booking-inline select option{background:var(--color-paper);color:var(--color-ink)}
.button-working{display:none}
.booking-inline.is-loading .button-idle{display:none}
.booking-inline.is-loading .button-working{display:inline}
.booking-inline .form-status{color:var(--color-on-graphite)}

.site-footer{display:grid;gap:var(--space-3xl);padding:var(--space-3xl) var(--page-gutter) var(--space-xl);background:var(--color-graphite);color:var(--color-on-graphite)}
.footer-mast{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-lg);padding-block-end:var(--space-xl);border-block-end:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 20%,transparent)}
.footer-logo{display:block;width:min(26rem,100%)}
.footer-logo img{display:block;width:100%;height:auto}
.footer-mast p{margin:0}
.footer-contact{display:grid;gap:var(--space-lg);font-size:var(--text-sm)}
.footer-contact p{margin:0}
.footer-contact a{display:inline-flex;align-items:center;min-height:44px}

@media(hover:hover) and (pointer:fine){
  .nav-book:hover,.finder button:hover,.booking-inline button:hover{transform:translateY(-1px)}
  .menu-destination:hover{transform:translateY(-1px)}
  .mega-menu__utility a:hover,.mega-menu__quick a:hover,.mega-menu__close:hover{opacity:.72}
  .route-card__media:hover img,.route-card:focus-within .route-card__media img,.service-products a:hover img,.service-products a:focus-visible img{transform:scale(1.02)}
  .discipline-rail a:hover,.service-catalog__head>a:hover,.route-card>div>a:hover,.uppsala-feature a:hover,.about-strip__copy>a:hover{color:var(--color-accent)}
}
@media(min-width:40rem){
  .theme-toggle{display:grid;place-items:center}
  .mega-menu__frame{gap:var(--space-xl);padding-inline:var(--space-xl)}
  .mega-menu__brand{width:11rem}
  .mega-menu__destinations{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}
  .menu-destination{min-height:8.5rem;padding:var(--space-lg)}
  .menu-destination small{display:block}
  .menu-destination>i{inset:auto var(--space-md) var(--space-md) auto}
  .mega-menu__utility a{padding-inline:var(--space-md)}
  .catalog-hero{min-height:44rem;padding-block-start:var(--space-hero-top-wide)}
  .catalog-hero__media{inset:auto 0 0;height:75%;mix-blend-mode:multiply}
  .catalog-hero__media img{object-position:center 55%;filter:saturate(.72) contrast(1.06)}
  .catalog-hero__facts{display:block}
  .finder{grid-template-columns:1.1fr 1fr .75fr auto}
  .finder-status{grid-row:2}
  .discipline-rail{justify-content:center}
  .catalog-heading{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);align-items:end}
  .route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}
  .service-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-products{gap:var(--space-xl) var(--space-lg)}
  .footer-contact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:60rem){
  .mega-menu__frame{width:min(100%,80rem);margin-inline:auto;padding-inline:var(--space-2xl);border-inline:var(--rule-hair) solid color-mix(in oklch,var(--color-on-graphite) 14%,transparent)}
  .menu-search{grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);align-items:end}
  .menu-search>label{align-self:center;font-family:var(--font-display);font-size:var(--text-lg)}
  .menu-search__status{grid-column:2}
  .nav-shell{height:5rem}
  .catalog-hero{min-height:48rem}
  .catalog-hero__copy p{font-size:var(--text-base)}
  .finder-shell{margin-block-start:var(--offset-finder-wide);padding:var(--space-xl)}
  .service-products{grid-template-columns:repeat(4,minmax(0,1fr))}
  .about-strip{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);align-items:center}
  .booking-band{grid-template-columns:minmax(18rem,.65fr) minmax(0,1.35fr);align-items:start}
  .booking-inline{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
  .booking-inline .form-status{grid-row:2}
  .footer-contact{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:90rem){
  .catalog-section,.service-catalog,.about-strip,.booking-band,.site-footer{padding-inline:max(var(--page-gutter),calc((100% - var(--page-max))/2))}
  .catalog-hero__note{inset-inline-start:max(var(--page-gutter),calc((100% - var(--page-max))/2))}
  .catalog-hero__facts{inset-inline-end:max(var(--page-gutter),calc((100% - var(--page-max))/2))}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:var(--dur-none)!important;animation-iteration-count:1!important;transition-duration:var(--dur-none)!important}
  .catalog-enter{opacity:1;transform:none}
}
