
:root{--fjord:#0b3a5d;--fjord2:#155b84;--snow:#f6f8fa;--ice:#e7eef3;--red:#c92b32;--ink:#15232d;--muted:#667783;--line:#d6dfe5;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
a{color:inherit}
.norge-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.norge-skip{position:absolute;left:-9999px}
.norge-skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}

.norge-header{background:var(--fjord);color:#fff;border-bottom:4px solid var(--red)}
.norge-header__row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.norge-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.norge-logo__icon{width:52px;height:52px;background:#fff;color:var(--fjord);display:grid;place-items:center;position:relative;clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%)}
.norge-logo__icon b{font-size:24px}
.norge-logo__icon i{position:absolute;right:3px;bottom:3px;font-size:9px;font-style:normal;color:var(--red);font-weight:900}
.norge-logo__text strong,.norge-logo__text small{display:block}
.norge-logo__text strong{font-size:20px;letter-spacing:-.02em}
.norge-logo__text small{font-size:11px;color:#c9d8e2}
.norge-menu{display:flex;align-items:center;gap:4px}
.norge-menu a{text-decoration:none;font-weight:800;padding:10px 13px;border-bottom:2px solid transparent}
.norge-menu a:hover{border-color:#fff}
.norge-menu-toggle{display:none}

.norge-hero{background:linear-gradient(110deg,var(--snow) 0 63%,var(--ice) 63% 100%);border-bottom:1px solid var(--line)}
.norge-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:stretch;padding-block:58px}
.norge-hero__intro{padding:22px 0}
.norge-hero__intro>span,.norge-sectionhead span{font-size:11px;letter-spacing:.15em;font-weight:900;color:var(--red)}
.norge-hero h1{margin:10px 0 16px;font-size:clamp(44px,6.2vw,72px);line-height:.98;letter-spacing:-.05em;color:var(--fjord)}
.norge-hero p{font-size:19px;max-width:700px;color:var(--muted)}
.norge-actions{display:flex;gap:18px;align-items:center;margin-top:26px}
.norge-btn{text-decoration:none;font-weight:900}
.norge-btn--primary{background:var(--fjord);color:#fff;padding:12px 18px}
.norge-btn--text{padding:10px 0;border-bottom:3px solid var(--red)}
.norge-status{background:var(--white);border-top:5px solid var(--red);display:grid;grid-template-columns:1fr 145px;padding:22px 24px;box-shadow:0 12px 32px #0b3a5d12}
.norge-status small{display:block;font-size:10px;letter-spacing:.13em;font-weight:900;color:var(--muted)}
.norge-status strong{display:block;color:var(--fjord)}
.norge-status__date{grid-row:span 2;border-right:1px solid var(--line);padding-right:22px}
.norge-status__date strong{font-size:34px;line-height:1.1;margin:6px 0}
.norge-status__date span{color:var(--muted);font-size:17px}
.norge-status__week,.norge-status__holiday{padding-left:22px}
.norge-status__week strong{font-size:24px}
.norge-status__holiday{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}
.norge-status__holiday strong{font-size:13px}

.norge-quick{border-bottom:1px solid var(--line)}
.norge-quick__grid{display:grid;grid-template-columns:1fr 1fr 1fr}
.norge-quick__grid>div{padding:17px 24px;border-right:1px solid var(--line)}
.norge-quick__grid>div:first-child{padding-left:0}
.norge-quick small{display:block;font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:900}
.norge-quick strong{display:block;color:var(--fjord);margin-top:2px}

.norge-calendar-block,.norge-upcoming,.norge-content,.norge-faq,.norge-pagebody,.norge-holiday-list{padding:46px 0}
.norge-sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.norge-sectionhead h2{margin:2px 0 0;font-size:29px;letter-spacing:-.025em;color:var(--fjord)}
.norge-sectionhead a{font-weight:900;color:var(--fjord)}
.norge-calendar-year{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.norge-calendar-single{max-width:100%}

.norge-month{border:1px solid var(--line);background:#fff}
.norge-month__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--fjord);color:#fff;border-left:5px solid var(--red)}
.norge-month__head h3{margin:0;font-size:17px}
.norge-month__head span{font-size:12px;color:#d7e4ec}
.norge-weekbar,.norge-weekrow{display:grid;grid-template-columns:42px repeat(7,minmax(0,1fr))}
.norge-weekbar span{background:var(--snow);border-bottom:1px solid var(--line);padding:7px 2px;text-align:center;font-size:10px;font-weight:900}
.norge-weekbar__nr{color:var(--muted)}
.norge-weekrow>*{min-height:45px;border:0;border-right:1px solid #edf1f3;border-bottom:1px solid #edf1f3;display:grid;place-items:center;background:#fff}
.norge-weeknr{font-size:10px;color:#81919b;background:var(--snow)}
.norge-weekrow button{font:inherit;position:relative;cursor:pointer;color:var(--ink)}
.norge-weekrow .is-weekend{background:#f5f7f8}
.norge-weekrow .is-holiday{background:#fff2f2;color:#9f1f24}
.norge-weekrow .is-holiday i{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--red)}
.norge-weekrow .is-today{outline:2px solid var(--fjord2);outline-offset:-2px}
.norge-legend{display:flex;gap:18px;margin-top:13px;font-size:12px;color:var(--muted)}
.norge-legend span{display:flex;align-items:center;gap:6px}
.norge-legend i{width:11px;height:11px;border:1px solid var(--line)}
.norge-legend i.today{border:2px solid var(--fjord2)}
.norge-legend i.holiday{background:#fff2f2}
.norge-legend i.weekend{background:#f5f7f8}

.norge-upcoming{background:var(--snow);border-block:1px solid var(--line)}
.norge-upcoming__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.norge-upcoming__list article{padding:16px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.norge-upcoming time{font-weight:900;color:var(--red);display:block}
.norge-upcoming strong{display:block;color:var(--fjord);margin:3px 0}
.norge-upcoming small{color:var(--muted)}

.norge-reading{max-width:860px}
.norge-reading h2{margin:31px 0 8px;font-size:25px;line-height:1.25;color:var(--fjord)}
.norge-reading h3{color:var(--fjord)}
.norge-reading p{color:#4c5f6c}
.norge-reading a{color:var(--fjord2);font-weight:700}
.norge-faq__list{max-width:900px;border-top:1px solid var(--line)}
.norge-faq details,.norge-faqbox details{border-bottom:1px solid var(--line);padding:14px 4px}
.norge-faq summary,.norge-faqbox summary{font-weight:900;color:var(--fjord);cursor:pointer}
.norge-faq p,.norge-faqbox p{color:var(--muted)}

.norge-pagehero{background:var(--snow);border-bottom:1px solid var(--line);padding:42px 0}
.norge-breadcrumb{display:flex;gap:7px;font-size:12px;color:var(--muted)}
.norge-breadcrumb a{color:var(--fjord2)}
.norge-pagehero h1{font-size:clamp(36px,5vw,52px);line-height:1.05;letter-spacing:-.04em;color:var(--fjord);margin:13px 0}
.norge-pagehero p{font-size:18px;color:var(--muted);max-width:820px}
.norge-pagebody__grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:52px;align-items:start}
.norge-faqbox{border-left:3px solid var(--red);padding-left:20px}
.norge-faqbox h2{font-size:20px;color:var(--fjord)}
.norge-monthnav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:17px}
.norge-monthnav a{color:var(--fjord);font-weight:900;text-decoration:none}
.norge-monthnav a:last-child{text-align:right}

.norge-holiday-list{background:#fff}
.norge-holiday-list h2{color:var(--fjord)}
.norge-tablewrap{overflow:auto;border:1px solid var(--line)}
.norge-tablewrap table{border-collapse:collapse;width:100%}
.norge-tablewrap th,.norge-tablewrap td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.norge-tablewrap th{background:var(--fjord);color:#fff}
.norge-tablewrap tr:nth-child(even) td{background:var(--snow)}

.norge-contact{display:grid;gap:13px;margin-top:20px}
.norge-contact input,.norge-contact textarea{display:block;width:100%;border:1px solid var(--line);padding:11px;margin-top:5px;font:inherit}
.norge-contact button{justify-self:start;border:0;background:var(--fjord);color:#fff;font-weight:900;padding:12px 17px;cursor:pointer}
.norge-hp{position:absolute;left:-9999px}
.norge-flash{padding:10px 12px;background:var(--snow);border-left:4px solid var(--red)}

.norge-dialog{width:min(410px,calc(100% - 30px));border:0;border-top:5px solid var(--red);padding:22px;box-shadow:0 24px 70px #0b3a5d40}
.norge-dialog::backdrop{background:#06223988}
.norge-dialog button{float:right}
.norge-dialog small{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:900}
.norge-dialog strong{display:block;font-size:24px;color:var(--fjord);margin:6px 0}

.norge-footer{background:#092d47;color:#fff;margin-top:30px;border-top:5px solid var(--red)}
.norge-footer__top{display:flex;justify-content:space-between;gap:30px;padding:34px 0}
.norge-footer p{color:#b9cad6}
.norge-footer nav{display:flex;gap:16px;flex-wrap:wrap}
.norge-footer__bottom{border-top:1px solid #ffffff20;padding:12px 0;color:#a8bcc9;font-size:12px}

@media(max-width:900px){
  .norge-shell{width:min(100% - 24px,1180px)}
  .norge-menu-toggle{display:flex;align-items:center;gap:9px;background:transparent;color:#fff;border:1px solid #ffffff55;padding:9px 11px;font-weight:800}
  .norge-menu-toggle i,.norge-menu-toggle i::before,.norge-menu-toggle i::after{width:15px;height:2px;background:#fff;display:block;content:"";position:relative}
  .norge-menu-toggle i::before{position:absolute;top:-5px}.norge-menu-toggle i::after{position:absolute;top:5px}
  .norge-menu{display:none;position:absolute;left:12px;right:12px;top:78px;background:#fff;color:var(--ink);z-index:30;border:1px solid var(--line);padding:8px;flex-direction:column;align-items:stretch;box-shadow:0 18px 40px #0b3a5d30}
  .norge-menu.is-open{display:flex}
  .norge-menu a{padding:11px 12px;border-bottom:1px solid var(--line)}
  .norge-hero{background:var(--snow)}
  .norge-hero__grid{grid-template-columns:1fr;gap:25px;padding-block:36px}
  .norge-status{grid-template-columns:1fr 130px}
  .norge-quick__grid{grid-template-columns:1fr}
  .norge-quick__grid>div,.norge-quick__grid>div:first-child{padding:13px 0;border-right:0;border-bottom:1px solid var(--line)}
  .norge-calendar-year{grid-template-columns:1fr}
  .norge-upcoming__list{grid-template-columns:1fr 1fr}
  .norge-pagebody__grid{grid-template-columns:1fr}
  .norge-faqbox{border-left:0;border-top:3px solid var(--red);padding:18px 0 0}
  .norge-footer__top{flex-direction:column}
}
@media(max-width:560px){
  .norge-logo__text small{display:none}
  .norge-logo__text strong{font-size:18px}
  .norge-status{display:block}
  .norge-status__date{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}
  .norge-status__week,.norge-status__holiday{padding-left:0;margin-top:14px}
  .norge-upcoming__list{grid-template-columns:1fr}
  .norge-weekbar,.norge-weekrow{grid-template-columns:32px repeat(7,minmax(0,1fr))}
  .norge-weekrow>*{min-height:41px}
  .norge-monthnav{grid-template-columns:1fr 1fr}
  .norge-monthnav a:nth-child(2){grid-column:1/-1;grid-row:1;text-align:center}
}
