@font-face{font-family:'Bebas Neue';src:url(fonts/bebas.woff2) format('woff2');font-display:block}
.cms-selected-menu h1{font:400 clamp(2rem,4vw,3rem)/1 var(--display);margin:0 0 12px}
.cms-menu-intro.cms-block{padding-bottom:42px}.cms-menu-intro .cms-copy{max-width:none}.cms-type-menu-content{background:var(--block-bg);color:var(--block-ink);scroll-margin-top:90px}.cms-menu-first{padding-top:145px}.cms-selected-menu{text-align:center;padding:0 var(--pad) 28px}.cms-selected-menu h2{font:400 clamp(2rem,4vw,3rem)/1 var(--display);margin:0 0 12px}.cms-selected-menu p{margin:0;color:var(--muted)}.cms-type-menu-content .menu-switcher{flex-wrap:wrap}.cms-type-menu-content .category-nav{background:var(--block-bg)}.cms-type-menu-content .menu-section h2{color:inherit}.cms-type-menu-content .menu-section header{border-color:currentColor}.cms-type-menu-content .print-cta h2{font-family:var(--display);font-weight:400}.cms-type-menu-content .print-cta{color:var(--ink)}
@media(min-width:1051px){.cms-home .site-header{background:rgba(246,243,238,.97);color:var(--muted);box-shadow:0 1px 0 var(--line);height:74px}.cms-home .brand img{filter:none}}
.header-solid .site-header{background:rgba(246,243,238,.97);color:var(--muted);box-shadow:0 1px 0 var(--line);height:74px}.header-solid .brand img{filter:none}.cms-main{overflow:clip}.cms-block{position:relative;color:var(--block-ink);background:var(--block-bg);font-family:var(--block-font);text-align:var(--block-align);padding:clamp(60px,8vw,120px) var(--pad)}.cms-block.cms-first{padding-top:calc(var(--header) + 70px)}.cms-block-inner{position:relative;max-width:1380px;margin:auto;z-index:1}.cms-copy{max-width:850px}.cms-block[style*="--block-align:center"] .cms-copy{margin-inline:auto}.cms-block[style*="--block-align:right"] .cms-copy{margin-left:auto}.cms-block h1,.cms-block h2,.cms-block h3{font-family:var(--block-heading);font-weight:400;letter-spacing:.015em;line-height:1.02;margin:0 0 28px;color:inherit}.cms-block h1{font-size:clamp(3.5rem,7.5vw,7rem)}.cms-block h2{font-size:clamp(2.7rem,5.5vw,5.4rem)}.cms-block h3{font-size:2rem}.cms-block .eyebrow{color:inherit}.cms-prose{font-family:inherit;line-height:1.7;font-size:1.1rem;overflow-wrap:anywhere}.cms-prose p{margin:0 0 1em}.cms-prose h2{font-size:2.4rem}.cms-prose h3{font-size:1.8rem}.cms-prose a{text-decoration:underline}.cms-prose ul,.cms-prose ol{padding-left:1.4em}.cms-text-columns{columns:2;column-gap:48px}.cms-button{display:inline-flex;margin-top:16px;align-items:center;gap:14px;border-bottom:1px solid currentColor;padding:6px 0;font-family:var(--block-heading);font-size:1.2rem}.cms-background{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cms-background>img{width:100%;height:100%;object-fit:cover;object-position:var(--focus)}.cms-background>div{position:absolute;inset:0}.cms-type-hero{min-height:90svh;display:flex;align-items:center}.cms-type-hero .cms-block-inner{width:100%}.cms-type-hero .cms-copy{max-width:820px}.cms-type-hero .cms-prose{max-width:600px}.cms-type-hero .cms-button{background:var(--block-ink);color:var(--block-bg);padding:12px 24px;border:none}.cms-type-image .cms-block-inner,.cms-type-announcement .cms-block-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}.cms-photo{margin:0;min-width:0;overflow:hidden}.cms-photo img{width:100%;height:clamp(340px,42vw,650px);object-fit:cover;object-position:var(--focus);transition:transform .7s}.cms-photo:hover img{transform:scale(1.035)}.cms-image-left .cms-photo{grid-column:1;grid-row:1}.cms-image-left .cms-copy{grid-column:2;grid-row:1}.cms-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:24px;margin-top:42px}.cms-grid figure{margin:0;overflow:hidden}.cms-grid figure img{width:100%;height:clamp(260px,34vw,500px);object-fit:cover;object-position:var(--focus);transition:transform .7s}.cms-grid figure:hover img{transform:scale(1.035)}.cms-card{background:rgba(255,255,255,.7);color:var(--ink)}.cms-card>img{width:100%;height:280px;object-fit:cover;object-position:var(--focus)}.cms-card>div{padding:28px}.cms-contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:42px}.cms-contact p{font-size:1.1rem}.cms-preview-banner{position:fixed;bottom:20px;right:20px;z-index:110;background:#252526;color:white;padding:12px 20px;border:1px solid white;font-size:14px;box-shadow:0 4px 25px #0003}.cms-preview-banner a{text-decoration:underline;margin-left:15px}.cms-language-selector{position:relative;font-family:var(--display)}.cms-language-selector summary{cursor:pointer;list-style:none}.cms-language-selector>div{position:absolute;top:100%;right:0;background:var(--paper);color:var(--muted);padding:10px;box-shadow:0 6px 20px #0002;min-width:140px}.cms-language-selector a{display:block;padding:8px;white-space:nowrap}.cms-language-selector a[aria-current]{background:#e4dfd6}
@media(max-width:1100px){.site-header{grid-template-columns:170px 1fr auto}.site-nav{gap:18px;font-size:1rem}.header-tools{gap:12px}.brand{width:150px}}@media(max-width:850px){.cms-type-image .cms-block-inner,.cms-type-announcement .cms-block-inner{grid-template-columns:1fr}.cms-image-left .cms-photo,.cms-image-left .cms-copy{grid-column:auto;grid-row:auto}.cms-grid{grid-template-columns:repeat(min(var(--columns),2),minmax(0,1fr))}.cms-text-columns{columns:1}.cms-contact{grid-template-columns:1fr;gap:24px}.cms-first{padding-top:135px!important}.cms-type-hero{min-height:85svh}.cms-preview-banner{bottom:76px;left:12px;right:12px}.cms-preview-banner a{display:block;margin:4px 0}.cms-block h1{font-size:clamp(3.5rem,11vw,6rem)}}@media(max-width:550px){.cms-grid{grid-template-columns:1fr}.cms-photo img{height:360px}.cms-block{padding-inline:22px}.cms-block h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.cms-photo img,.cms-grid img{transition:none}}
.cms-type-image:not(.has-photo) .cms-block-inner,.cms-type-announcement:not(.has-photo) .cms-block-inner{display:block}.cms-type-image:not(.has-photo) .cms-copy,.cms-type-announcement:not(.has-photo) .cms-copy{grid-column:auto;grid-row:auto}.cms-mobile-languages{display:none}
@media(max-width:1050px){.cms-mobile-languages{display:flex;gap:14px;font:16px Arial,sans-serif;border-top:1px solid var(--line);padding-top:18px}.cms-mobile-languages a[aria-current]{text-decoration:underline}}
@media print{.site-header,.site-footer,.mobile-dock,.layout-note,.cms-preview-banner{display:none!important}.announcement-wrap{padding:0!important}.announcement-card{box-shadow:none;max-width:none;margin:0;min-height:0;height:140mm;grid-template-columns:1fr 1fr!important}.announcement-copy{padding:8mm;min-height:0}.announcement-copy>img{width:45mm;margin-bottom:5mm}.announcement-copy h1{font-size:23pt}.announcement-copy h2{font-size:15pt;margin-bottom:5mm}.announcement-body{font-size:9pt}.announcement-image{height:auto}.announcement-card.reveal{opacity:1;transform:none}.announcement-copy footer{padding-top:4mm}.announcement-page{padding:0}}
.cms-type-hero .cms-background>img{position:relative;top:-5%;height:110%;transform:translate3d(0,var(--hero-y,0),0) scale(1.015);will-change:transform}
.cms-type-hero .cms-button{color:var(--button-ink)}
.cms-block-actions{display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:var(--block-align)}
.cms-type-hero .cms-button-secondary{background:transparent;color:var(--block-ink);box-shadow:inset 0 0 0 1px currentColor}
/* Keep the open mobile navigation and its header on the same translucent surface. */
@media(max-width:1050px){
    .cms-page .site-header{--mobile-header-bg:rgba(246,243,238,.97);background:var(--mobile-header-bg);backdrop-filter:blur(15px)}
    .cms-page .site-header .site-nav{background:var(--mobile-header-bg);backdrop-filter:blur(15px)}
}
@media(prefers-reduced-motion:reduce){.cms-type-hero .cms-background>img{top:0;transform:none;height:100%;will-change:auto}}
/* Fill the viewport at every breakpoint; allow extra height for longer content. */
/* Stable small viewport: browser address bars must not resize the opening photo. */
.cms-type-hero{min-height:100vh;min-height:100svh}
/* Keep a nonempty observed rectangle while the photo fades into view. */
.cms-photo.image-reveal{clip-path:none;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.75,.25,1)}
.cms-photo.image-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.cms-photo.image-reveal{clip-path:none;opacity:1;transform:none;transition:none}}
.ui-icon{width:20px;height:20px;flex-shrink:0}.ui-flag{width:25px;height:15px;flex-shrink:0;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #0002}.header-tools{justify-self:end}.cms-language-selector summary{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 12px;border:1px solid var(--muted);border-radius:21px;font:16px var(--display);transition:background .2s}.cms-language-selector summary::-webkit-details-marker{display:none}.cms-language-selector summary:hover{background:#ffffff18}.cms-language-selector summary .ui-icon{width:16px;height:16px;transition:transform .2s}.cms-language-selector[open] summary .ui-icon{transform:rotate(180deg)}.cms-language-selector>div{top:calc(100% + 10px);min-width:180px;padding:6px;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 32px #0002}.cms-language-selector>div>a{display:flex;align-items:center;gap:12px;font:18px var(--display);padding:12px;border-radius:3px}.cms-language-selector>div>a:hover{background:#eae5dc}.cms-language-selector>div>a[aria-current]{background:#e4dfd6}.cms-mobile-languages{flex-wrap:wrap}.cms-mobile-languages a{display:flex;align-items:center;gap:8px}.cms-language-selector summary:focus-visible,.cms-language-selector a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.cms-block .menu-card-copy h3{margin:0;font-size:2.3rem;line-height:1.05}
/* Menu cards follow their CMS grid, independently of the mobile-header breakpoint. */
.cms-type-menus .cms-grid>.menu-card{grid-column:auto}
@media(max-width:950px){.cms-type-menus .cms-grid{grid-template-columns:repeat(min(var(--columns),2),minmax(0,1fr))}.cms-type-menus .cms-grid>.menu-card:last-child:nth-child(3){grid-column:1/-1}}
@media(max-width:720px){.cms-type-menus .cms-grid{grid-template-columns:1fr}}
.cms-photo.cms-labeled-photo,.cms-grid figure.cms-labeled-photo{overflow:visible}
.cms-photo-media{overflow:hidden}
/* Only the image moves: its frame, caption and existing focus stay independent. */
.cms-block .cms-parallax-image,.cms-type-hero .cms-background>img{top:0;height:100%;transform:translate3d(0,var(--parallax-y,0px),0) scale(var(--parallax-scale,1))!important;transition:none;will-change:transform}
.cms-photo-media>.cms-parallax-image{height:clamp(340px,42vw,650px)}
.cms-grid .cms-photo-media>.cms-parallax-image{height:clamp(260px,34vw,500px)}
@media(max-width:550px){.cms-photo-media>.cms-parallax-image{height:360px}}
@media(prefers-reduced-motion:reduce){.cms-block .cms-parallax-image,.cms-type-hero .cms-background>img{transform:none!important;will-change:auto}}
@media print{.cms-block .cms-parallax-image{transform:none!important;will-change:auto}}
.cms-labeled-photo .photo-label{color:var(--muted);font-family:var(--body);text-align:center;align-items:center}
.cms-labeled-photo .photo-label::before{content:"";position:absolute;inset:10px;border:3px solid var(--muted);pointer-events:none}
.cms-labeled-photo .photo-label h3{font-family:var(--display);color:var(--muted)}
.cms-labeled-photo .photo-label p{overflow-wrap:anywhere;color:var(--muted)}
/* Brand frame around the language list; keep the header control minimal. */
.cms-language-selector summary{border:0;border-radius:0;box-shadow:none;text-decoration:none;min-width:44px;justify-content:center}
.cms-language-selector summary>span{display:none}
.cms-language-selector summary::after{display:none}
.cms-language-selector>div{top:calc(100% + 16px);padding:16px 32px;border:0;border-radius:0;background:rgba(246,243,238,.97);color:var(--muted);transform-origin:right top}
.cms-language-selector>div::before{content:"";position:absolute;inset:8px;border:3px solid var(--muted);pointer-events:none}
.cms-language-selector>div>a{border-radius:0;justify-content:flex-start;text-align:left}
.cms-language-selector>div>a:hover,.cms-language-selector>div>a[aria-current]{background:transparent}
.cms-language-selector>div>a>span{position:relative}
.cms-language-selector>div>a>span::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:currentColor;transition:right .25s}
.cms-language-selector>div>a:hover>span::after,.cms-language-selector>div>a:focus-visible>span::after,.cms-language-selector>div>a[aria-current]>span::after{right:0}
.cms-language-selector[open]>div{animation:cms-language-unfold .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes cms-language-unfold{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
.cms-language-selector[open].is-closing>div{animation:cms-language-fold .25s cubic-bezier(.2,.7,.2,1) both}
.cms-language-selector[open].is-closing summary .ui-icon{transform:rotate(0deg)}
@keyframes cms-language-fold{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.2)}}
@media(prefers-reduced-motion:reduce){.cms-language-selector[open]>div{animation:none}.cms-language-selector>div>a>span::after{transition:none}}
/* Match the fixed header edge and avoid backdrop repainting while scrolling. */
.category-nav{top:74px;background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
.mobile-dock>a>span{display:flex;align-items:center;justify-content:center;height:26px}
/* Opt-in layout controls; blocks without these classes retain their original geometry. */
.cms-block.cms-block-height-content{min-height:0}
.cms-block.cms-block-height-screen{min-height:100svh;display:flex;align-items:center}
.cms-block-height-screen>.cms-block-inner{width:100%}
.cms-block.cms-space-top-compact{padding-top:24px}
.cms-block.cms-space-bottom-compact{padding-bottom:24px}
.cms-block.cms-space-top-none{padding-top:0}
.cms-block.cms-space-bottom-none{padding-bottom:0}
.cms-block.cms-first.cms-space-top-compact{padding-top:calc(var(--header) + 24px)!important}
.cms-block.cms-first.cms-space-top-none{padding-top:var(--header)!important}
.cms-column-gap-compact>.cms-block-inner{gap:24px}
.cms-no-copy.cms-block-height-content .cms-grid{margin-top:0}
.cms-no-copy.cms-block-height-content>.cms-block-inner>.cms-copy{display:none}
@keyframes cms-mobile-menu-unfold{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-12px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@keyframes cms-mobile-menu-fold{from{opacity:1;clip-path:inset(0);transform:translateY(0)}to{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-12px)}}
@keyframes cms-mobile-menu-content-in{from{opacity:0}to{opacity:1}}
@keyframes cms-mobile-menu-content-out{from{opacity:1}to{opacity:0}}
@media(max-width:1050px){
    .site-header .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;z-index:3;transition:top .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1)}
    .site-header .nav-toggle{position:absolute;left:var(--pad);right:auto;top:50%;transform:translateY(-50%);z-index:3;cursor:pointer;width:44px;min-height:44px;padding:0}
    .site-header .header-tools{display:flex;position:absolute;right:var(--pad);top:0;bottom:0;transform:none;z-index:4}
    .site-header .cms-language-selector{position:static}
    .site-header .cms-language-selector summary{min-height:44px;padding:8px 4px}
    .site-header .cms-language-selector>div{top:100%;width:max-content;min-width:0;max-width:calc(100vw - 2*var(--pad));max-height:calc(100svh - 105px);overflow:auto}
    .site-header.is-mobile-menu-open .brand{top:98px;transform:translate(-50%,0)}
    .site-header.is-mobile-menu-closing .brand{top:50%;transform:translate(-50%,-50%);transition-delay:.08s}
    .site-nav.is-open{transform-origin:center top;animation:cms-mobile-menu-unfold .22s cubic-bezier(.2,.7,.2,1) both}
    .site-nav.is-open.is-closing{animation-name:cms-mobile-menu-fold;animation-delay:.08s}
    .site-nav.is-open .cms-mobile-menu-card::before,.site-nav.is-open .cms-nav-pages::before,.site-nav.is-open .cms-mobile-languages::before{animation:cms-mobile-menu-content-in .24s ease-in-out .12s both}
    .site-nav.is-open .cms-nav-pages>a,.site-nav.is-open .cms-mobile-languages>a{animation:cms-mobile-menu-content-in .26s ease-in-out .22s both}
    .site-nav.is-open.is-closing .cms-mobile-menu-card::before,.site-nav.is-open.is-closing .cms-nav-pages::before,.site-nav.is-open.is-closing .cms-mobile-languages::before{animation:cms-mobile-menu-content-out .14s ease-in both}
    .site-nav.is-open.is-closing .cms-nav-pages>a,.site-nav.is-open.is-closing .cms-mobile-languages>a{animation:cms-mobile-menu-content-out .12s ease-in both}
}
@media(max-width:1050px) and (prefers-reduced-motion:reduce){.site-nav.is-open,.site-nav.is-open.is-closing{animation:none}}
.cms-mobile-menu-card,.cms-nav-pages{display:contents}
@media(max-width:1050px){
    .site-nav{align-items:center;gap:0;padding:6px var(--pad) 20px;max-height:calc(100dvh - 74px);overflow-y:auto}
    .site-nav .cms-mobile-menu-card{display:flex;flex-direction:column;position:relative;width:100%;padding:16px 19px 10px}
    .site-nav .cms-mobile-menu-card::before{content:"";position:absolute;inset:0;border:3px solid var(--muted);pointer-events:none}
    .site-nav .cms-nav-pages{display:flex;flex-direction:column;align-items:center;position:relative;width:100%;border:0;padding:56px 0 8px;gap:0}
    .site-nav .cms-nav-pages::before{content:"";position:absolute;top:52px;left:0;right:0;height:1px;background:var(--muted);pointer-events:none}
    .site-nav .cms-nav-pages>a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:6px 0;font:1.45rem/1.15 var(--display);text-align:center;max-width:100%;overflow-wrap:anywhere}
    .site-nav .cms-nav-pages>a::after{bottom:3px}
    .site-nav .cms-mobile-languages{position:relative;flex-wrap:nowrap;justify-content:safe center;align-items:center;gap:10px;width:100%;border:0;overflow-x:auto;overflow-y:hidden;padding:5px 0 4px;scrollbar-width:thin}
    .site-nav .cms-mobile-languages::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--muted);pointer-events:none}
    .site-nav .cms-mobile-languages a{flex:0 0 auto;gap:6px;padding:8px 4px;min-height:44px;font:14px Arial,sans-serif;white-space:nowrap}
    .site-nav .cms-mobile-languages a::after{bottom:4px}
}
@media(max-width:380px){
    .site-header .brand{width:130px}
    .site-nav .cms-mobile-languages{gap:6px}
    .site-nav .cms-mobile-languages a{gap:4px;padding:8px 2px;font-size:13px}
    .site-nav .cms-mobile-languages .ui-flag{width:22px}
}
@media(max-width:1050px) and (prefers-reduced-motion:reduce){
    .site-header .brand{transition:none!important}
    .site-nav .cms-nav-pages>a,.site-nav .cms-mobile-languages>a{animation:none!important}
    .site-nav .cms-mobile-menu-card::before,.site-nav .cms-nav-pages::before,.site-nav .cms-mobile-languages::before{animation:none!important}
}
