/* Shared site-wide styles: cursor, scrollbar, cookie banner (identical across every page) */
@media(hover:hover){
  *{cursor:none!important;}
  input,textarea,select{cursor:text!important;}  body:not(.cur-active) #cur-d,body:not(.cur-active) #cur-r{opacity:0!important;}
  #cur-d{position:fixed;top:0;left:0;width:6px;height:6px;background:#fff;border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:opacity .2s;box-shadow:0 0 0 1.5px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.28);}
  #cur-r{position:fixed;top:0;left:0;width:38px;height:38px;border:1.5px solid rgba(255,255,255,.9);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;transition:width .38s cubic-bezier(.22,1,.36,1),height .38s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s,opacity .2s;box-shadow:0 2px 12px rgba(0,0,0,.22);}
  #cur-l{font-family:'Josefin Sans',sans-serif;font-size:.48rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .25s;white-space:nowrap;text-align:center;}
  body.c-cta #cur-r{width:80px;height:80px;background:#367588;border-color:#367588;}
  body.c-cta #cur-l{opacity:1;}
  body.c-cta #cur-d{opacity:0;transform:translate(-50%,-50%) scale(0);}
  body.c-link #cur-r{width:50px;height:50px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.95);}
}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:#F4F7F9;}
::-webkit-scrollbar-thumb{background:#367588;border-radius:10px;border:2px solid #F4F7F9;}
::-webkit-scrollbar-thumb:hover{background:#06B1F9;}
html{scrollbar-color:#367588 #F4F7F9;scrollbar-width:thin;}
@media(max-width:600px){#ckconsent{padding:.8rem 20px !important;gap:1rem !important;}}

/* Shared design-system rules (nav, footer, mobile menu, buttons, etc. — identical across every page) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
.nlink:hover{color:#fff;}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.hbg span{display:block;width:24px;height:2px;background:#fff;transition:transform .3s,opacity .3s;}
#mmenu.open{opacity:1;pointer-events:auto;transform:none;}
.mlink{font-family:'Josefin Sans',sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);text-decoration:none;opacity:0;transform:translateY(18px);transition:color .2s,opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);}
.mlink:hover{color:var(--teal);}
#mmenu.open .mlink:nth-child(2){opacity:1;transform:none;transition-delay:.07s;}
#mmenu.open .mlink:nth-child(3){opacity:1;transform:none;transition-delay:.13s;}
#mmenu.open .mlink:nth-child(4){opacity:1;transform:none;transition-delay:.19s;}
#mmenu.open .mlink:nth-child(5){opacity:1;transform:none;transition-delay:.25s;}
#mmenu.open .mlink:nth-child(6){opacity:1;transform:none;transition-delay:.31s;}
#mmenu .btn-blue{opacity:0;transform:translateY(18px);transition:background .25s,box-shadow .25s,opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);}
#mmenu.open .btn-blue{opacity:1;transform:none;transition-delay:.37s;}
#mmenu.open #mclose{opacity:1;transform:rotate(0deg);}
.hbg.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hbg.active span:nth-child(2){opacity:0;transform:scaleX(0);}
.hbg.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.ftagline{font-size:.8rem;line-height:1.72;color:rgba(255,255,255,.35);max-width:240px;}
.fctitle{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:1.1rem;}
.flink{display:block;font-size:.82rem;color:rgba(255,255,255,.48);text-decoration:none;margin-bottom:.65rem;transition:color .2s;}
.flink:hover{color:#fff;}
.flink-icon{display:flex;align-items:flex-start;gap:.5rem;}
.flink-icon svg{flex-shrink:0;margin-top:.12rem;opacity:.55;}
.fhours-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem;}
.fhours-day{font-size:.82rem;color:rgba(255,255,255,.48);white-space:nowrap;flex-shrink:0;}
.fhours-time{font-size:.82rem;color:rgba(255,255,255,.48);white-space:nowrap;flex-shrink:0;}
.fcopy{font-size:.73rem;color:rgba(255,255,255,.2);}
.fprivacy{font-size:.73rem;color:rgba(255,255,255,.2);text-decoration:none;transition:color .2s;}
.fprivacy:hover{color:rgba(255,255,255,.5);}
.fbottom-left{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.fsoc{display:flex;gap:.7rem;}
.sbtn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.38);text-decoration:none;transition:border-color .25s,color .25s,background .25s;}
.lang-sw{display:flex;align-items:center;gap:.4rem;margin-left:.6rem;padding-left:.9rem;border-left:1px solid rgba(255,255,255,.18);}
.lang-opt{display:inline-flex;align-items:center;text-decoration:none;opacity:.45;transition:opacity .25s;border-radius:2px;overflow:hidden;line-height:0;}
.lang-opt:hover{opacity:.75;}
.lang-opt img{display:block;width:22px;height:15px;}
.lang-sep{font-size:.65rem;color:rgba(255,255,255,.18);}
