.skip-link{position:fixed;z-index:100;top:0.75rem;left:0.75rem;padding:0.65rem 0.85rem;transform:translateY(-150%);border-radius:var(--radius);color:var(--paper);background:var(--ink);font-size:0.75rem;text-decoration:none;transition:transform var(--transition-fast)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;z-index:10;inset:0 0 auto;transition:background-color 320ms ease;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;padding:var(--content-gutter) var(--content-gutter) 0}
.site-header--solid{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;padding:var(--content-gutter) var(--content-gutter) 0}
.site-header.is-scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;padding:var(--content-gutter) var(--content-gutter) 0}
.site-nav{align-items:center;display:grid;grid-template-columns:auto 1fr auto;padding:0;gap:var(--surface-gap);min-height:2.45rem}
.site-nav a{color:var(--ink);font-size:clamp(0.65rem, 0.85vw, 0.82rem);font-weight:400;line-height:1;text-decoration:none;letter-spacing:-0.015em;text-transform:none;position:relative}
.site-nav > a[aria-current="page"]{font-weight:650}
.language-switcher{display:flex;align-items:center;pointer-events:auto;margin:0;border:0;background:rgb(27 23 20 / 82%);backdrop-filter:blur(16px);box-shadow:0 0.2rem 0.8rem rgb(27 23 20 / 8%);gap:0.1rem;padding:0.2rem;border-radius:var(--pill-radius)}
.language-switcher a{letter-spacing:0.08em;display:grid;min-width:2rem;min-height:2.1rem;place-items:center;color:var(--paper);opacity:0.62;font-size:0.64rem;border-radius:var(--pill-radius)}
.language-switcher a[aria-current="page"]{font-weight:650;color:var(--ink);background:var(--paper);opacity:1}
.site-footer{display:grid;grid-template-columns:minmax(15rem, 1fr) minmax(18rem, 0.72fr);gap:clamp(3rem, 5vw, 5rem) clamp(3rem, 7vw, 8rem);min-height:clamp(42rem, 75svh, 56rem);margin:0;padding:clamp(2.5rem, 4vw, 4rem) var(--wide-gutter);border-radius:0;align-content:start;align-items:start;color:#fff;background:#000}
.footer-brand{max-width:22rem}
.footer-logo{display:inline-flex;align-items:center;gap:0.75rem;color:inherit;text-decoration:none}
.footer-logo__mark{display:grid;grid-template-columns:repeat(3, 0.42rem);grid-template-rows:repeat(3, 0.42rem);width:1.26rem;height:1.26rem}
.footer-logo__mark i{display:block;background:currentColor;transition:opacity 300ms ease, transform 520ms var(--ease-out-expo)}
.footer-logo__mark i:nth-child(1){grid-column:3;grid-row:1}
.footer-logo__mark i:nth-child(2){grid-column:2;grid-row:2}
.footer-logo__mark i:nth-child(3){grid-column:1;grid-row:3}
.footer-logo__mark i:nth-child(4){grid-column:3;grid-row:3}
.footer-logo__name{font-size:clamp(1.1rem, 1.4vw, 1.4rem);font-weight:500;letter-spacing:-0.06em}
.footer-tagline{max-width:17rem;margin:1.15rem 0 0;font-size:clamp(0.78rem, 0.9vw, 0.9rem);font-weight:350;letter-spacing:-0.02em;line-height:1.25;color:inherit}
.footer-links{display:grid;grid-template-columns:repeat(3, minmax(7rem, 1fr));gap:clamp(1.5rem, 3vw, 3rem)}
.footer-link-group{display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem}
.footer-link-group__label{margin:0 0 0.55rem;font-size:clamp(0.78rem, 0.9vw, 0.9rem);font-weight:400;letter-spacing:-0.035em;line-height:1;color:inherit;opacity:0.5;margin-bottom:0.35rem}
.footer-link-group a{font-size:clamp(0.78rem, 0.9vw, 0.9rem);font-weight:400;letter-spacing:-0.035em;line-height:1.1;text-decoration:none;transition:opacity var(--transition-fast);color:inherit;position:relative}
.footer-link-group a:hover{opacity:0.58}
.footer-link-group a:focus-visible{opacity:0.58}
.footer-logo:hover{opacity:0.58}
.footer-logo:focus-visible{opacity:0.58}
.footer-legal{grid-column:1 / -1;display:flex;justify-content:flex-end;align-items:flex-end;color:var(--text-on-dark);font-size:0.68rem;line-height:1.45;margin-top:0}
.footer-privacy-button{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;font:inherit;cursor:pointer;color:inherit}
.cookie-banner{position:fixed;z-index:1000;right:clamp(1rem, 3vw, 2rem);bottom:clamp(1rem, 3vw, 2rem);display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:1.5rem 2rem;width:min(calc(100% - 2rem), 58rem);padding:clamp(1.35rem, 3vw, 2rem);border:1px solid rgb(255 255 255 / 18%);border-radius:0.35rem;background:rgb(27 23 20 / 97%);box-shadow:0 1.5rem 5rem rgb(0 0 0 / 28%);color:#fff}
.cookie-banner[hidden]{display:none}
.cookie-banner__eyebrow{margin:0 0 0.55rem;color:rgb(255 255 255 / 58%);font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase}
.cookie-banner h2{margin:0;font-size:clamp(1.3rem, 2vw, 1.8rem);font-weight:420;letter-spacing:-0.05em}
.cookie-dialog h2{margin:0;font-size:clamp(1.3rem, 2vw, 1.8rem);font-weight:420;letter-spacing:-0.05em}
.cookie-banner__copy > p:last-child{max-width:42rem;margin:0.7rem 0 0;color:rgb(255 255 255 / 72%);font-size:0.84rem;line-height:1.5}
.cookie-dialog > form > p{max-width:42rem;margin:0.7rem 0 0;color:rgb(255 255 255 / 72%);font-size:0.84rem;line-height:1.5}
.cookie-banner a{color:inherit}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:0.65rem;align-self:end;justify-content:flex-end}
.cookie-banner__actions .button{min-height:2.7rem;padding:0.65rem 0.9rem;border-radius:0.2rem;font-size:0.72rem;cursor:pointer}
.cookie-dialog__actions .button{min-height:2.7rem;padding:0.65rem 0.9rem;border-radius:0.2rem;font-size:0.72rem;cursor:pointer}
.cookie-banner__close{position:absolute;top:0.75rem;right:0.8rem;width:2rem;height:2rem;border:0;background:transparent;color:inherit;font-size:1.3rem;cursor:pointer}
.cookie-dialog__close{position:absolute;width:2rem;height:2rem;border:0;background:transparent;color:inherit;font-size:1.3rem;cursor:pointer;top:-0.5rem;right:-0.5rem}
.cookie-dialog{width:min(calc(100% - 2rem), 38rem);padding:0;border:1px solid rgb(255 255 255 / 18%);border-radius:0.35rem;background:var(--ink);box-shadow:0 1.5rem 6rem rgb(0 0 0 / 42%);color:#fff}
.cookie-dialog::backdrop{background:rgb(27 23 20 / 60%);backdrop-filter:blur(4px)}
.cookie-dialog form{padding:clamp(1.35rem, 4vw, 2.25rem)}
.cookie-dialog__header{position:relative;padding-right:2rem}
.cookie-choice{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgb(255 255 255 / 16%)}
.cookie-choice div{display:grid;gap:0.35rem}
.cookie-choice strong{font-size:0.9rem;font-weight:520}
.cookie-choice span{color:rgb(255 255 255 / 64%);font-size:0.76rem;line-height:1.4}
.cookie-choice input{width:1.15rem;height:1.15rem;accent-color:#fff}
.cookie-dialog__actions{display:flex;justify-content:flex-end;margin-top:1.75rem}
.site-brand{pointer-events:auto;display:inline-flex;align-items:center;gap:0.65rem;color:var(--paper) !important;border-radius:var(--pill-radius);width:var(--header-brand-size);height:var(--header-brand-size);min-height:0;padding:0;justify-content:center;background:transparent;box-shadow:none}
.nav-primary{pointer-events:auto;display:flex;justify-self:start;background:var(--ink);box-shadow:0 0.2rem 0.8rem rgb(27 23 20 / 8%);gap:0.1rem;padding:0.2rem;border-radius:var(--pill-radius)}
.nav-meta{pointer-events:auto;display:flex;gap:0.35rem}
.nav-contact{pointer-events:auto}
.site-brand__mark{display:grid;color:var(--ink);grid-template-columns:repeat(3, 0.25rem);grid-template-rows:repeat(3, 0.25rem);width:0.75rem;height:0.75rem;transition:color 260ms ease, transform 260ms var(--ease-out-expo)}
.site-brand__mark i{background:currentColor;transition:opacity 300ms ease, transform 520ms var(--ease-out-expo)}
.site-brand__mark i:nth-child(1){grid-area:1 / 3}
.site-brand__mark i:nth-child(2){grid-area:2 / 2}
.site-brand__mark i:nth-child(3){grid-area:3 / 1}
.site-brand__mark i:nth-child(4){grid-area:3 / 3}
.nav-primary a{display:inline-flex;align-items:center;color:var(--paper);font-size:clamp(0.72rem, 0.85vw, 0.82rem);transition:background-color var(--transition-fast), color var(--transition-fast);min-height:2.05rem;padding:0.52rem 0.7rem;border-radius:var(--pill-radius)}
.site-nav .nav-contact{display:inline-flex;align-items:center;color:var(--paper);font-size:clamp(0.72rem, 0.85vw, 0.82rem);transition:background-color var(--transition-fast), color var(--transition-fast);gap:0.55rem;background:var(--ink);box-shadow:0 0.2rem 0.8rem rgb(27 23 20 / 8%);min-height:2.05rem;padding:0.52rem 0.7rem;border-radius:var(--pill-radius)}
.nav-primary a:hover{color:var(--ink);background:var(--paper)}
.nav-primary a:focus-visible{color:var(--ink);background:var(--paper)}
.nav-primary a[aria-current="page"]{color:var(--ink);background:var(--paper)}
.nav-contact span{font-size:1.05em}
.language-switcher a:hover{color:var(--ink);background:var(--paper);opacity:1}
.language-switcher a:focus-visible{color:var(--ink);background:var(--paper);opacity:1}
.site-footer:has(.footer-legal){align-content:start}
:is(.site-brand, .footer-logo, .section-meta__label):hover :is(.site-brand__mark, .footer-logo__mark, .section-mark) i:nth-child(1){transform:translate(100%, 100%)}
:is(.site-brand, .footer-logo, .section-meta__label):hover :is(.site-brand__mark, .footer-logo__mark, .section-mark) i:nth-child(2){transform:translate(-100%, 0)}
:is(.site-brand, .footer-logo, .section-meta__label):hover :is(.site-brand__mark, .footer-logo__mark, .section-mark) i:nth-child(3){transform:translate(0, -100%)}
:is(.site-brand, .footer-logo, .section-meta__label):hover :is(.site-brand__mark, .footer-logo__mark, .section-mark) i:nth-child(4){transform:translate(100%, 0)}
.site-footer .footer-link-group__label{color:rgb(255 255 255 / 78%)}
.site-footer .footer-tagline{color:rgb(255 255 255 / 78%)}
.site-footer .footer-link-group a{color:rgb(255 255 255 / 78%)}
.site-footer .footer-logo{color:#fff}
.site-footer .footer-link-group a:hover{color:#fff}
.site-footer .footer-link-group a:focus-visible{color:#fff}
@media(min-width: 701px){
.site-header:not(.is-scrolled) .site-nav{grid-template-columns:auto auto auto;justify-content:center}
.site-header:not(.is-scrolled) :is(.site-brand, .nav-primary, .site-nav .nav-contact, .language-switcher){color:var(--ink) !important;background:transparent;box-shadow:none;backdrop-filter:none}
.site-header:not(.is-scrolled) :is(.nav-primary a, .site-nav .nav-contact, .language-switcher a){color:var(--ink)}
.site-header:not(.is-scrolled) .language-switcher a{opacity:0.58}
.site-header:not(.is-scrolled) :is(.nav-primary a, .language-switcher a):hover{color:var(--ink);background:rgb(27 23 20 / 7%)}
.site-header:not(.is-scrolled) :is(.nav-primary a, .language-switcher a):focus-visible{color:var(--ink);background:rgb(27 23 20 / 7%)}
.site-header:not(.is-scrolled) :is(.nav-primary a, .language-switcher a)[aria-current="page"]{color:var(--ink);background:rgb(27 23 20 / 7%)}
.site-header :is(.site-brand, .nav-primary, .site-nav .nav-contact, .language-switcher){transition:color 260ms ease, background-color 260ms ease, box-shadow 260ms ease}
.site-header:not(.is-scrolled) .site-brand__mark{transform:scale(1.35)}
.site-header.is-scrolled .site-brand{color:var(--paper) !important;background:var(--ink);box-shadow:0 0.2rem 0.8rem rgb(27 23 20 / 8%)}
.site-header.is-scrolled .site-brand__mark{color:var(--paper);transform:scale(1)}
}
@media(max-width: 900px){
.site-footer{grid-template-columns:minmax(0, 1fr);gap:4rem}
.footer-links{grid-template-columns:repeat(3, minmax(0, 1fr))}
}
@media(max-width: 700px){
.nav-primary a{letter-spacing:0;flex:0 0 auto;white-space:nowrap;padding:0.45rem clamp(0.38rem, 2.25vw, 0.7rem);color:var(--ink);background:transparent;box-shadow:none;min-height:2.5rem;padding-inline:clamp(0.3rem, 1.8vw, 0.55rem);font-size:clamp(0.92rem, 4vw, 1rem);font-weight:450}
.site-nav .nav-contact{letter-spacing:0;padding:0.45rem clamp(0.38rem, 2.25vw, 0.7rem);color:var(--ink);background:transparent;box-shadow:none;white-space:nowrap;min-height:2.5rem;padding-inline:clamp(0.3rem, 1.8vw, 0.55rem);font-size:clamp(0.92rem, 4vw, 1rem);font-weight:450}
.site-footer{display:block;gap:3rem;margin:0;min-height:44rem;padding:3.25rem 1.25rem}
.footer-links{grid-template-columns:1fr;gap:2.25rem;margin-top:3rem}
.footer-legal{display:grid;align-items:start}
.cookie-banner{grid-template-columns:1fr}
.cookie-banner__actions{justify-content:stretch}
.cookie-banner__actions .button{flex:1 1 8rem}
.site-nav{grid-template-columns:2.5rem repeat(4, minmax(0, 1fr));justify-content:stretch;overflow:visible;display:grid;align-items:center;width:100%;min-height:2.5rem;gap:0}
.site-brand{min-height:2.25rem;padding:0;flex:0 0 2.25rem;box-shadow:none;flex-basis:2.5rem;width:2.5rem;height:2.5rem;color:var(--ink) !important;background:transparent}
.nav-primary{display:contents}
.nav-meta{display:contents}
.nav-primary a{justify-content:center;width:100%}
.site-nav .nav-contact{justify-content:center;width:100%}
.language-switcher{display:none}
.site-brand__mark{flex:0 0 auto;grid-template-columns:repeat(3, 0.3rem);grid-template-rows:repeat(3, 0.3rem);width:0.9rem;height:0.9rem}
.site-header{padding:0.45rem 0.55rem;background:#fff;box-shadow:none;pointer-events:auto;padding-top:var(--content-gutter)}
.site-header--solid{padding:0.45rem 0.55rem;background:#fff;box-shadow:none;pointer-events:auto;padding-top:var(--content-gutter)}
.site-header.is-scrolled{padding:0.45rem 0.55rem;background:#fff;box-shadow:none;pointer-events:auto;padding-top:var(--content-gutter)}
.nav-primary a:hover{color:var(--ink);background:var(--mist)}
.nav-primary a:focus-visible{color:var(--ink);background:var(--mist)}
.nav-primary a[aria-current="page"]{color:var(--ink);background:var(--mist)}
.site-nav .nav-contact span{display:none}
}
@media(max-width: 420px){
.site-nav{grid-template-columns:2.25rem repeat(4, minmax(0, 1fr));gap:0}
.site-brand{width:2.25rem;height:2.25rem;min-height:2.25rem}
.nav-primary a{font-size:0.92rem;padding-inline:0.36rem}
.site-nav .nav-contact{font-size:0.92rem;padding-inline:0.36rem}
.language-switcher a{font-size:0.56rem}
}
@media(max-width: 390px){
.nav-primary a{padding-inline:0.28rem;font-size:0.88rem}
.site-nav .nav-contact{padding-inline:0.28rem;font-size:0.88rem}
}
@media(max-width: 360px){
.nav-primary a{padding-inline:0.2rem;font-size:0.82rem}
.site-nav .nav-contact{padding-inline:0.2rem;font-size:0.82rem}
}
