@font-face{ font-family: 'Archivo'; font-style: normal; font-weight: 600 800; font-display: swap; src: url('../fonts/archivo-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family: 'Archivo'; font-style: normal; font-weight: 600 800; font-display: swap; src: url('../fonts/archivo-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
:root{--green: #098609;
    --green-btn: #06701C;
    --green-hover: #0F5C22;
    --navy: #141B38;
    --chalk: #F1F2EF;
    --ink: #16202B;
    --muted: #4A5A6E;
    --soft: #E6F4EA;
    --border: #E3E9EE;
    --alert: #C21F1F;
    --amber: #FFB020;
    --red: #F01F1F;
    --sand: #F5EFE3;}
:root *:where(:not(.elementor-element-overlay)){box-sizing: border-box; margin: 0; padding: 0;}
@media (prefers-reduced-motion: no-preference){
html:root{scroll-behavior: smooth;}
}
:root body{font-family: 'Inter', system-ui, sans-serif;
    color: var(--ink);
    background: var(--chalk);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;}
:root img{display: block; max-width: 100%;}
:root a{color: inherit; text-decoration: none;}
:root h1,:root h2,:root h3{font-family: 'Archivo', system-ui, sans-serif;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.01em;}
:root .container{max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);}
:root :focus-visible{outline: 2px solid var(--green);
    outline-offset: 2px;}
@media (prefers-reduced-motion: reduce){
:root *:where(:not(.elementor-element-overlay)){animation: none !important; transition: none !important;}
}
:root .utility-bar{background: var(--navy);
    color: #C9D3E0;
    font-size: 0.8125rem;}
:root .utility-bar .container{display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-height: 36px;
    gap: 8px 20px;
    padding-top: 6px;
    padding-bottom: 6px;}
:root .utility-bar span,:root .utility-bar a{white-space: nowrap;}
:root .utility-bar a{color: #fff;}
:root .utility-bar .sep{color: #5B6B84;}
@media (max-width: 640px){
:root .utility-bar .u-hide-mobile{display: none;}
:root .utility-bar .container{gap: 6px 12px;}
}
:root header.site-header{background: var(--navy);
    border-top: 1px solid rgba(255,255,255,0.08);}
:root header.site-header .container{display: flex;
    align-items: center;
    justify-content: space-between;
    height: 76px;
    gap: 24px;}
:root .logo{display: inline-flex;
    align-items: center;
    background: #fff;
    padding: 8px 16px;
    border-radius: 6px;}
:root .logo img{height: 42px; width: auto; display: block;}
:root nav.main-nav{display: flex; align-items: center; gap: clamp(12px, 1.4vw, 22px); flex-wrap: nowrap;}
:root nav.main-nav a{color: #E3E7EE;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 6px 0;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    transition: border-color 200ms ease, color 200ms ease;}
:root nav.main-nav a:hover{color: #fff; border-color: var(--green);}
:root nav.main-nav a.active{color: #fff; border-color: var(--green);}
:root .header-actions{display: flex; align-items: center; gap: 14px;}
:root .btn,:root .btn .elementor-button{display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.9375rem;
    cursor: pointer;
    transition: background-color 200ms ease, transform 200ms ease, border-color 200ms ease;
    white-space: nowrap;}
:root .btn-primary,:root .btn-primary .elementor-button{background: var(--green-btn); color: #fff; border: 2px solid var(--green-btn);}
:root .btn-primary:hover,:root .btn-primary .elementor-button:hover{background: var(--green-hover); border-color: var(--green-hover); transform: translateY(-1px);}
:root .btn-secondary,:root .btn-secondary .elementor-button{background: transparent; color: #fff; border: 2px solid rgba(255,255,255,0.4);}
:root .btn-secondary:hover,:root .btn-secondary .elementor-button:hover{border-color: #fff;}
:root .btn-secondary-light{background: transparent; color: var(--navy); border: 2px solid var(--navy);}
:root .btn-secondary-light:hover{background: var(--navy); color: #fff;}
:root .mobile-menu-toggle{display: none;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 8px;}
:root .mobile-menu-toggle svg{width: 26px; height: 26px;}
@media (max-width: 1180px){
:root nav.main-nav{display: none;}
:root .header-actions .btn-secondary,:root .header-actions .btn-secondary .elementor-button{display: none;}
:root .mobile-menu-toggle{display: flex;}
}
@media (max-width: 640px){
:root .header-actions .btn-primary,:root .header-actions .btn-primary .elementor-button{display: none;}
}
:root .mobile-nav{position: fixed;
    inset: 0;
    background: var(--navy);
    z-index: 100;
    display: none;
    flex-direction: column;
    padding: 24px clamp(20px, 4vw, 40px) 32px;}
:root .mobile-nav.open{display: flex;}
:root .mobile-nav-top{display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px;}
:root .mobile-nav-close{background: none; border: none; color: #fff; cursor: pointer;}
:root .mobile-nav a{color: #fff;
    font-family: 'Archivo', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);}
:root .mobile-nav-footer{margin-top: auto; padding-top: 24px; color: #C9D3E0; font-size: 0.9375rem;}
:root .mobile-nav-footer a{color: var(--amber); font-weight: 600;}
:root .hero{position: relative;
    background: var(--navy);
    color: #fff;
    overflow: hidden;
    min-height: clamp(360px, 42vw, 460px);
    display: flex;
    align-items: flex-end;}
:root .hero-bg{position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;}
:root .hero-scrim{position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.80) 0%, rgba(0,0,0,.76) 50%, rgba(0,0,0,.64) 72%, rgba(0,0,0,.60) 100%);}
@media (max-width: 860px){
:root .hero-scrim{background: rgba(0,0,0,.76);}
}
:root .hero-content{position: relative;
    z-index: 1;
    width: 100%; 
    padding-top: 48px;
    padding-bottom: clamp(36px, 5vw, 64px);}
:root .hero-content h1{max-width: 22ch;
    font-size: clamp(1.875rem, 3.4vw, 2.75rem);
    margin-bottom: 16px;
    text-shadow: 0 2px 6px rgba(0,0,0,.45);}
:root .hero-content p{font-size: clamp(1.0625rem, 1.4vw, 1.125rem);
    color: #F1F4F8;
    text-shadow: 0 1px 3px rgba(0,0,0,.55);
    max-width: 52ch;
    margin-bottom: 24px;}
:root .hero-ctas{display: flex; flex-wrap: wrap; gap: 14px; align-items: center;}
:root .hero-ctas .btn-primary,:root .hero-ctas .btn-primary .elementor-button{padding: 15px 28px; font-size: 1rem;}
:root .hero-ctas .btn-secondary,:root .hero-ctas .btn-secondary .elementor-button{padding: 15px 28px; font-size: 1rem;}
:root .route-section{background: var(--navy);
    color: #fff;
    border-top: 1px solid rgba(255,255,255,0.08);}
:root .route-rail{display: flex;
    align-items: center;
    justify-content: flex-start;
    justify-content: safe center;
    padding: 22px 0;
    gap: 0;
    overflow-x: auto;}
:root .route-rail .stop{display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;}
:root .route-rail .dot{width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--green);
    flex-shrink: 0;}
:root .route-rail .dot.hub{width: 13px; height: 13px; background: var(--amber);}
:root .route-rail{--rute-rod: #F01F1F; --rute-oransje: #F7871E; --rute-gul: #FFC629; --rute-gronn: #2BA84A;}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .stop:nth-child(1), .elementor-widget:nth-child(1) > .stop) .dot,:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .stop:nth-child(1), .elementor-widget:nth-child(1) > .stop) .dot{background: var(--rute-rod);}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .stop:nth-child(3), .elementor-widget:nth-child(3) > .stop) .dot,:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .stop:nth-child(3), .elementor-widget:nth-child(3) > .stop) .dot{background: var(--rute-oransje);}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .stop:nth-child(5), .elementor-widget:nth-child(5) > .stop) .dot,:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .stop:nth-child(5), .elementor-widget:nth-child(5) > .stop) .dot{background: var(--rute-gul);}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .stop:nth-child(7), .elementor-widget:nth-child(7) > .stop) .dot,:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .stop:nth-child(7), .elementor-widget:nth-child(7) > .stop) .dot,:root .route-rail > :is(:where(:not(.elementor-widget)) > .stop:nth-child(9), .elementor-widget:nth-child(9) > .stop) .dot,:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .stop:nth-child(9), .elementor-widget:nth-child(9) > .stop) .dot{background: var(--rute-gronn);}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .line:nth-child(2), .elementor-widget:nth-child(2) > .line),:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .line:nth-child(2), .elementor-widget:nth-child(2) > .line){background: linear-gradient(90deg, var(--rute-rod), var(--rute-oransje));}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .line:nth-child(4), .elementor-widget:nth-child(4) > .line),:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .line:nth-child(4), .elementor-widget:nth-child(4) > .line){background: linear-gradient(90deg, var(--rute-oransje), var(--rute-gul));}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .line:nth-child(6), .elementor-widget:nth-child(6) > .line),:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .line:nth-child(6), .elementor-widget:nth-child(6) > .line){background: linear-gradient(90deg, var(--rute-gul), var(--rute-gronn));}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .line:nth-child(8), .elementor-widget:nth-child(8) > .line),:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .line:nth-child(8), .elementor-widget:nth-child(8) > .line){background: var(--rute-gronn);}
:root .route-rail > :is(:where(:not(.elementor-widget)) > .line:nth-child(10), .elementor-widget:nth-child(10) > .line),:root .route-rail > .elementor-widget > :is(:where(:not(.elementor-widget)) > .line:nth-child(10), .elementor-widget:nth-child(10) > .line){background: linear-gradient(90deg, var(--rute-gronn), rgba(43,168,74,0));}
:root .route-rail .city{font-weight: 600; font-size: 0.9375rem; white-space: nowrap; color: #EDF1F6;}
:root .route-rail .stop-rest .city{font-style: italic; font-weight: 500; color: #B7C1D1;}
:root .route-rail .line{width: clamp(28px, 4vw, 64px);
    height: 2px;
    background: rgba(255,255,255,0.25);
    flex-shrink: 0;
    margin: 0 12px;}
@media (max-width: 899px){
:root .route-rail{flex-wrap: wrap; justify-content: center; gap: 12px 22px; overflow: visible; padding: 20px 0 16px;}
:root .route-rail .line{display: none;}
}
:root .route-caption{padding: 0 0 24px;
    color: #B7C1D1;
    font-size: 0.9375rem;
    max-width: 60ch;
    margin: 0 auto;
    text-align: center;}
:root .stats-strip{background: var(--soft);
    border-bottom: 1px solid var(--border);}
:root .stats-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 32px;
    padding-top: clamp(32px, 5vw, 48px);
    padding-bottom: clamp(32px, 5vw, 48px);}
:root .stat{text-align: center;}
:root .stat .num{font-family: 'Archivo', sans-serif;
    font-weight: 800;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    color: var(--green-btn);
    font-feature-settings: "tnum" 1;}
:root .stat .label{color: var(--muted); font-size: 0.9375rem; margin-top: 4px;}
:root .stat .nff-merke,:root .stat .nff-merke img{display: block; margin: 0 auto; height: clamp(44px, 5vw, 56px); width: auto; border-radius: 4px;}
:root .volume-teaser{background: var(--soft);}
:root .volume-teaser-widget{display: grid;
    grid-template-columns: minmax(220px, 320px) 1fr;
    gap: clamp(28px, 4vw, 48px);
    align-items: center;}
:root .truck-gauge-wrap{display: flex; flex-direction: column; align-items: center; gap: 16px;}
:root .truck-gauge{position: relative;
    width: 100%;
    max-width: 280px;
    aspect-ratio: 16 / 9;}
:root .truck-gauge svg{width: 100%; height: 100%; display: block;}
:root .truck-fill{position: absolute;
    left: 8.5%;
    bottom: 21%;
    width: 62%;
    transform: scaleX(0); transform-origin: left center;
    height: 58%;
    background: linear-gradient(180deg, var(--green) 0%, var(--green-btn) 100%);
    border-radius: 2px;
    transition: transform 300ms ease;}
:root .volume-readout{text-align: center;}
:root .volume-readout .num{font-family: 'Archivo', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 2.75rem);
    color: var(--green-btn);
    font-feature-settings: "tnum" 1;}
:root .volume-readout .unit{font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 1.125rem; color: var(--muted); margin-left: 4px;}
:root .volume-readout .label{color: var(--muted); font-size: 0.875rem; margin-top: 2px;}
:root .volume-reset{background: none; border: none; color: var(--green-btn); font-weight: 600;
    font-size: 0.875rem; text-decoration: underline; cursor: pointer; padding: 4px;}
:root .item-buttons{display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 16px;}
:root .item-btn{display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 12px 14px;
    cursor: pointer;
    text-align: left;
    transition: border-color 200ms ease, transform 150ms ease;
    min-height: 44px;}
:root .item-btn:hover{border-color: var(--green); transform: translateY(-1px);}
:root .item{position: relative; display: flex; min-width: 0;}
:root .item .item-btn{flex: 1; min-width: 0; width: 100%;}
:root .item-minus{position: absolute; bottom: -9px; right: -9px; width: 28px; height: 28px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
    background: #fff; color: var(--navy); border: 1.5px solid var(--border); box-shadow: 0 1px 3px rgba(20,27,56,.12);}
:root .item-minus[hidden]{display: none;}
:root .item-minus:hover{border-color: var(--navy);}
:root .item-minus:focus-visible{outline: 3px solid var(--green-btn); outline-offset: 2px;}
:root .item-btn.has-count{border-color: var(--green);}
:root .teaser-maks{font-size: .875rem; color: var(--ink); background: var(--soft); border-radius: 6px; padding: 8px 12px; margin: 0;}
:root .teaser-maks[hidden]{display: none;}
:root .item-btn svg{flex-shrink: 0; color: #F01F1F;}
@media (min-width: 600px) and (max-width: 800px), (min-width: 1000px){
:root .item-buttons{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
:root .item-btn > span:not(.item-count),:root .item-btn > .elementor-widget > span:not(.item-count){min-width: 0;}
:root .item-btn .item-name{font-weight: 600; font-size: 0.9375rem; display: block; hyphens: auto;}
:root .item-btn .item-count{flex-shrink: 0;}
:root .item-btn .item-vol{color: var(--muted); font-size: 0.8125rem; font-feature-settings: "tnum" 1;}
:root .item-btn .item-count{position: absolute; top: -9px; right: -9px; box-shadow: 0 0 0 2px #fff;
    background: var(--soft);
    color: var(--green-btn);
    font-weight: 700;
    font-size: 0.8125rem;
    min-width: 24px;
    height: 24px;
    border-radius: 12px;
    display: none;
    align-items: center;
    justify-content: center;
    font-feature-settings: "tnum" 1;
    padding: 0 6px;}
:root .item-btn.has-count .item-count{display: inline-flex;}
:root .volume-teaser-cta{margin-top: 20px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap;}
:root #tilKalkulator{background: var(--red-text); border-color: var(--red-text); color: #fff;}
:root #tilKalkulator:hover{background: #A51218; border-color: #A51218;}
:root #tilKalkulator:focus-visible{outline: 3px solid #A51218; outline-offset: 3px;}
@media (max-width: 800px){
:root .volume-teaser-widget{grid-template-columns: 1fr;}
}
:root section{padding: clamp(56px, 8vw, 112px) 0;}
:root .section-head{max-width: 640px; margin-bottom: clamp(32px, 4vw, 48px);}
:root .section-head h2{font-size: clamp(1.625rem, 3vw, 2.5rem); margin-bottom: 14px;}
:root .section-head p{color: var(--muted); font-size: 1.0625rem;}
:root .services-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;}
:root .service-card{background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 200ms ease, transform 200ms ease;}
:root .service-card:hover{box-shadow: 0 10px 24px rgba(20,27,56,0.09); transform: translateY(-2px);}
:root .service-card .thumb{aspect-ratio: 4/3; overflow: hidden; background: var(--navy);}
:root .service-card .thumb img{width: 100%; height: 100%; object-fit: cover;}
:root .service-card .body{padding: 22px 22px 24px;}
:root .service-card h3{font-size: 1.25rem; margin-bottom: 8px;}
:root .service-card p{color: var(--muted); font-size: 0.9375rem; margin-bottom: 14px;}
:root .service-card .link{color: var(--green-btn); font-weight: 600; font-size: 0.9375rem;}
:root .service-card .badge{display: inline-block;
    background: var(--amber);
    color: var(--navy);
    font-weight: 700;
    font-size: 0.75rem;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 10px;}
:root .service-card .badge.badge-tips{background: var(--soft);
    color: var(--green-btn);}
:root .testimonials{background: var(--navy); color: #fff;}
:root .testi-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;}
:root .testi-card{background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 24px;}
:root .testi-card .stars{color: var(--amber); font-size: 0.9375rem; margin-bottom: 12px; letter-spacing: 2px;}
:root .testi-card p.quote{color: #E3E7EE; font-size: 1rem; margin-bottom: 16px;}
:root .testi-card .who{font-weight: 600; font-size: 0.9375rem; margin-top: auto;}
:root .testi-card{display: flex; flex-direction: column;}
:root .testi-hoved{margin: 0; grid-column: 1 / -1; padding: 32px 36px;}
:root .testi-hoved blockquote{margin: 0;}
:root .testi-hoved p.quote{font-family: 'Archivo', system-ui, sans-serif; font-weight: 600; font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.35; color: #fff; max-width: 40ch; margin-bottom: 18px;}
:root .rating-summary{max-width: 70ch;}
@media (min-width: 600px){
:root .testi-grid:has(> .testi-hoved){grid-template-columns: repeat(2, minmax(0, 1fr));}
:root .testi-grid:has(> .testi-hoved) > :is(:where(:not(.elementor-widget)) > .testi-card:last-child, .elementor-widget:last-child > .testi-card),:root .testi-grid:has(> .testi-hoved) > .elementor-widget > :is(:where(:not(.elementor-widget)) > .testi-card:last-child, .elementor-widget:last-child > .testi-card){grid-column: auto;}
}
:root .testimonials .section-head h2,:root .testimonials .section-head p{color: #fff;}
:root .testimonials .section-head p{color: #B7C1D1;}
:root .rating-summary{margin-top: 24px; color: #DCE3EC; font-size: 0.9375rem;}
:root .rating-summary strong{color: #fff; font-weight: 700;}
:root .rating-summary a{color: #fff; text-decoration: underline; text-underline-offset: 3px; margin-left: 4px;}
:root .faq-teaser-list{max-width: 760px;}
@media (min-width: 1100px){
:root .faq-forside .container{display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 64px; align-items: start;}
:root .faq-forside .section-head{grid-column: 1; grid-row: 1; margin-bottom: 0;}
:root .faq-forside .faq-teaser-list{grid-column: 2; grid-row: 1 / span 2; max-width: none;}
:root .faq-forside .faq-teaser-more{grid-column: 1; grid-row: 2; align-self: start;}
}
:root .faq-teaser-item{border-bottom: 1px solid var(--border);}
:root :is(:where(:not(.elementor-widget)) > .faq-teaser-item:first-child, .elementor-widget:first-child > .faq-teaser-item){border-top: 1px solid var(--border);}
:root .faq-teaser-q{width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: none;
    border: none;
    text-align: left;
    padding: 18px 4px;
    font-family: 'Archivo', sans-serif;
    font-weight: 700;
    font-size: 1.0625rem;
    color: var(--ink);
    cursor: pointer;}
:root .faq-teaser-q svg{flex-shrink: 0; transition: transform 200ms ease;}
:root .faq-teaser-item[data-open="true"] .faq-teaser-q svg{transform: rotate(45deg);}
:root .faq-teaser-a{padding: 0 4px 18px; color: var(--muted); font-size: 0.9375rem; max-width: 62ch;}
:root .faq-teaser-a a{color: var(--green-btn); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}
:root .faq-teaser-more{margin-top: 20px; font-weight: 600; color: var(--green-btn);}
:root .cta-banner{background: var(--green-btn);
    color: #fff;
    text-align: left;
    padding: clamp(28px, 4vw, 40px) 0;}
:root .cta-banner .container{display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;}
:root .cta-banner h2{font-size: clamp(1.25rem, 1.8vw, 1.625rem); color: #fff; max-width: 34ch;}
:root .videre{flex: 1 1 480px; min-width: 0;}
:root .videre h2{margin-bottom: 14px;}
:root .videre-steg{list-style: none; margin: 0; padding: 0; counter-reset: v; display: grid; gap: 10px; max-width: 62ch;}
:root .videre-steg li{counter-increment: v; position: relative; padding-left: 40px; color: #E6F2EA; line-height: 1.5;}
:root .videre-steg li b{color: #fff;}
:root .videre-steg li::before{content: counter(v); position: absolute; left: 0; top: -1px; width: 28px; height: 28px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .875rem;
    background: #fff; color: var(--green-btn);}
:root .cta-banner .btn-primary,:root .cta-banner .btn-primary .elementor-button{background: #fff; color: var(--green-btn); border-color: #fff;}
:root .cta-banner .btn-primary:hover,:root .cta-banner .btn-primary .elementor-button:hover{background: var(--soft);}
:root footer.site-footer{background: var(--ink); color: #C9D3E0;}
:root .footer-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    padding-top: clamp(48px, 6vw, 72px);
    padding-bottom: 40px;}
:root .footer-grid .logo{margin-bottom: 16px;}
:root .footer-grid .logo img{height: 28px; width: auto; display: block;}
:root .footer-grid p.tagline{color: #8894A6; font-size: 0.9375rem; max-width: 32ch;}
:root .footer-col h3{line-height: normal;
    letter-spacing: normal;
    font-family: 'Archivo', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;}
:root .footer-col a,:root .footer-col p{display: block; color: #A9B3C4; font-size: 0.9375rem; margin-bottom: 10px;}
:root .footer-col a:hover{color: #fff;}
:root .footer-social{display: flex; gap: 12px; margin-top: 6px;}
:root .footer-social a{width: 36px; height: 36px; border-radius: 4px;
    background: rgba(255,255,255,0.06);
    display: flex; align-items: center; justify-content: center;}
:root .footer-social a:hover{background: rgba(255,255,255,0.14);}
:root .footer-bottom{border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.8125rem;
    color: #7C8797;}
:root .footer-bottom a{color: #7C8797;}
:root .footer-bottom a:hover{color: #fff;}
:root .footer-legal{display: flex; gap: 20px; flex-wrap: wrap;}
:root .mobile-sticky-cta{display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fff;
    border-top: 1px solid var(--border);
    box-shadow: 0 -4px 16px rgba(20,27,56,0.08);
    padding: 10px 16px;
    gap: 10px;
    z-index: 50;}
@media (max-width: 640px){
:root .mobile-sticky-cta{display: flex;}
:root .hero{padding-bottom: 76px;}
:root body{padding-bottom: 0;}
:root section:last-of-type{padding-bottom: calc(56px + 64px);}
}
:root .mobile-sticky-cta .btn-primary,:root .mobile-sticky-cta .btn-primary .elementor-button{flex: 2;}
:root .mobile-sticky-cta.venter{transform: translateY(110%); visibility: hidden;}
:root .mobile-sticky-cta{transition: transform .25s ease, visibility 0s linear 0s;}
:root .mobile-sticky-cta.venter{transition: transform .25s ease, visibility 0s linear .25s;}
:root .mobile-sticky-cta a.tel-btn,:root .mobile-sticky-cta .tel-btn .elementor-button{flex: 1;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--border);
    border-radius: 4px;
    color: var(--navy);}
:root .ordknapp{font: inherit;
    color: inherit;
    background: none;
    border: 0;
    padding: 0;
    cursor: help;
    border-bottom: 2px dotted var(--green-btn);
    line-height: inherit;}
:root .ordknapp::after{content: "?";
    font-family: 'Archivo', system-ui, sans-serif;
    font-size: .62em;
    font-weight: 700;
    line-height: 1;
    display: inline-grid;
    place-items: center;
    width: 1.3em;
    height: 1.3em;
    margin-left: .22em;
    vertical-align: .42em;
    border-radius: 999px;
    background: var(--green-btn);
    color: #fff;}
:root .ordknapp:hover{border-bottom-color: var(--ink);}
:root .ordknapp:hover::after{background: var(--ink);}
:root .ordboks{position: fixed;
    margin: 0;
    inset: auto;
    width: min(28rem, calc(100vw - 2rem));
    max-height: min(70vh, 34rem);
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    padding: 1.25rem 1.35rem 1.35rem;
    box-shadow: 0 22px 58px rgba(20,27,56,.22);
    font-size: 1rem;
    line-height: 1.55;}
:root .ordboks h2{font-family: 'Archivo', system-ui, sans-serif; font-size: 1.15rem; margin: 0 0 .5rem; padding-right: 2.5rem;}
:root .ordboks p{margin: 0 0 .75rem; color: var(--muted);}
:root .ordboks :is(:where(:not(.elementor-widget)) > p:last-child, :where(.elementor-widget:last-child) > p:last-child){margin-bottom: 0;}
:root .ordboks .ex{background: var(--soft); border-radius: 8px; padding: .8rem .95rem; color: var(--ink); font-size: .97rem;}
:root .ordboks .ex b{display: block; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--green-btn); margin-bottom: .3rem;}
:root .ordboks .lukk{position: absolute;
    top: .6rem;
    right: .6rem;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    color: var(--ink);}
@media (max-width: 35em){
:root .ordboks[popover]{left: 1rem !important; right: 1rem; bottom: 1rem; top: auto !important; width: auto;}
}
:root .tjenester-hvit{background: #fff;}
:root .restplass-forside{background: var(--sand, #F5EFE3);}
:root .restplass-forside .rp-topp{display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 32px; flex-wrap: wrap; margin-bottom: clamp(24px, 3vw, 36px);}
:root .restplass-forside .rp-topp .section-head{margin-bottom: 0;}
:root .restplass-forside .rp-alle{color: var(--green-btn); font-weight: 600; text-decoration: underline; white-space: nowrap;}
:root .listings-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 24px;}
:root .listing-card{display: flex;
    flex-direction: column;
    gap: 14px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    transition: box-shadow 200ms ease, transform 200ms ease;}
:root .listing-card.is-bookable{cursor: pointer;}
:root .listing-card.is-bookable:hover{box-shadow: 0 10px 24px rgba(20,27,56,0.09);
    transform: translateY(-2px);}
:root .listing-card.is-dark{background: var(--navy);
    border-color: var(--navy);
    color: #fff;}
:root .listing-card.is-dark .listing-date{color: #C9D3E0;}
:root .listing-card.is-dark .listing-desc{color: #B7C1D1;}
:root .listing-card.is-full:hover{box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    transform: none;}
:root .status-badge{display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    font-weight: 700;
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 4px;}
:root .status-badge.ledig{background: var(--soft); color: var(--green-btn);}
:root .status-badge.few{background: var(--amber); color: var(--navy);}
:root .status-badge.full{background: rgba(22,32,43,0.08); color: var(--muted);}
:root .listing-card.is-dark .status-badge.full{background: rgba(255,255,255,0.1); color: #C9D3E0;}
:root .listing-route{font-size: 1.0625rem;}
:root .listing-date{font-size: 0.875rem;
    color: var(--muted);
    font-feature-settings: "tnum" 1;
    font-variant-numeric: tabular-nums;}
:root .listing-desc{font-size: 0.9375rem; color: var(--muted); flex: 1;}
:root .listing-action{font-weight: 600;
    font-size: 0.9375rem;
    color: var(--green-btn);}
:root .listing-card.is-dark .listing-action{color: #fff;}
:root .listing-action.is-inert{color: var(--muted);
    cursor: not-allowed;}
:root .listing-card.is-dark .listing-action.is-inert{color: #8895AA;}
:root .tj-ekstra{margin-top: 24px; padding: 16px 20px; background: var(--chalk); border-left: 4px solid var(--green-btn); border-radius: 6px; max-width: 64ch;}
:root .tj-ekstra a{color: var(--green-btn); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}
:root .esker-tips{margin-top: 12px; font-size: .9375rem; color: var(--muted); max-width: 70ch;}
:root .esker-tips strong{color: var(--ink);}
:root .esker-tips a{color: var(--green-btn); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}
:root{--chalk: #F5EFE3;      
    --sand: #F5EFE3;
    --red: #F01F1F;        
    --red-text: #C8161D;   
    --deep: #0D3B22;       
    --deep-text: #CFE3D5;  
    --lift-skygge: 0 18px 40px rgba(20, 27, 56, .14), 0 3px 8px rgba(20, 27, 56, .06);}
:root .section-head h2{position: relative; padding-bottom: 14px;}
:root .section-head h2::after{content: ""; position: absolute; left: 0; bottom: 0;
    width: 56px; height: 4px; border-radius: 2px; background: var(--red);}
:root .stats-strip,:root .volume-teaser{background: #fff;}
:root .stats-strip{border-color: #EBE3D3;}
:root .stat .num{color: var(--red-text);}
:root .testimonials,:root .vision-section,:root .faq-mini{background: var(--deep);}
:root .testimonials .section-head p{color: var(--deep-text);}
:root .listing-card.is-dark{background: var(--deep); border-color: var(--deep);}
:root .listing-card.is-dark .listing-date,:root .listing-card.is-dark .listing-desc{color: var(--deep-text);}
:root .quote-banner,:root .steps-preview-section{background: var(--deep); border-color: var(--deep); color: #fff;}
:root .quote-banner h2,:root .steps-preview-section .section-head h2{color: #fff;}
:root .quote-banner p,:root .steps-preview-section .section-head p{color: var(--deep-text);}
:root .quote-banner .btn-primary,:root .quote-banner .btn-primary .elementor-button{background: #fff; color: var(--deep); border-color: #fff;}
:root .quote-banner .btn-primary:hover,:root .quote-banner .btn-primary .elementor-button:hover{background: var(--sand); border-color: var(--sand); color: var(--deep);}
:root .utility-bar .sep{color: #8D9BB5;}
:root .testi-card-light .stars{color: #9A6700;}
:root .diff-card .icon,:root .advice-icon,:root .include-card .icon,:root .contact-info-panel .info-card svg{color: var(--red);}
:root .testimonials,:root .vision-section,:root .steps-section,:root .steps-preview-section,:root .quote-banner,:root .tf-steg,:root .faq-mini,:root .cta-banner,:root .restplass-forside{position: relative;}
:root .testimonials::before,:root .vision-section::before,:root .steps-section::before,:root .steps-preview-section::before,:root .quote-banner::before,:root .tf-steg::before,:root .faq-mini::before,:root .cta-banner::before,:root .restplass-forside::before,:root .testimonials::after,:root .vision-section::after,:root .steps-section::after,:root .steps-preview-section::after,:root .quote-banner::after,:root .tf-steg::after,:root .faq-mini::after{content: ""; position: absolute; left: 0; right: 0; height: var(--kile); pointer-events: none; z-index: 1;}
:root{--kile: clamp(24px, 3.6vw, 56px);}
:root .testimonials::before,:root .vision-section::before,:root .steps-section::before,:root .steps-preview-section::before,:root .quote-banner::before,:root .tf-steg::before,:root .faq-mini::before{top: calc(-1 * var(--kile) + 1px); background: var(--deep); clip-path: polygon(0 100%, 100% 0, 100% 100%);}
:root .testimonials::after,:root .vision-section::after,:root .steps-section::after,:root .steps-preview-section::after,:root .quote-banner::after,:root .tf-steg::after,:root .faq-mini::after{bottom: calc(-1 * var(--kile) + 1px); background: var(--deep); clip-path: polygon(0 0, 100% 0, 0 100%);}
:root .cta-banner::before{top: calc(-1 * var(--kile) + 1px); background: var(--green-btn); clip-path: polygon(0 0, 100% 100%, 0 100%);}
:root .restplass-forside::before{top: calc(-1 * var(--kile) + 1px); background: var(--sand); clip-path: polygon(0 100%, 100% 0, 100% 100%);}
:root .ordknapp{font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: help;
    border-bottom: 2px dotted var(--green-btn); line-height: inherit;}
:root .ordknapp::after{content: "?"; font-family: 'Archivo', system-ui, sans-serif; font-size: .62em; font-weight: 700; line-height: 1;
    display: inline-grid; place-items: center; width: 1.3em; height: 1.3em; margin-left: .22em; vertical-align: .42em;
    border-radius: 999px; background: var(--green-btn); color: #fff;}
:root .ordknapp:hover{border-bottom-color: var(--ink);}
:root .ordknapp:hover::after{background: var(--ink);}
:root .testimonials .ordknapp,:root .vision-section .ordknapp,:root .steps-section .ordknapp,:root .steps-preview-section .ordknapp,:root .quote-banner .ordknapp,:root .tf-steg .ordknapp,:root .faq-mini .ordknapp,:root .curiosity-box .ordknapp,:root .ex-usikker .ordknapp{border-bottom-color: rgba(255,255,255,.75);}
:root .testimonials .ordknapp::after,:root .vision-section .ordknapp::after,:root .steps-section .ordknapp::after,:root .steps-preview-section .ordknapp::after,:root .quote-banner .ordknapp::after,:root .tf-steg .ordknapp::after,:root .faq-mini .ordknapp::after,:root .curiosity-box .ordknapp::after,:root .ex-usikker .ordknapp::after{background: #fff; color: var(--deep);}
:root .ordboks{position: fixed; margin: 0; inset: auto; width: min(28rem, calc(100vw - 2rem)); max-height: min(70vh, 34rem); overflow: auto;
    border: 1px solid var(--border); border-radius: 12px; background: #fff; color: var(--ink);
    padding: 1.25rem 1.35rem 1.35rem; box-shadow: 0 22px 58px rgba(20,27,56,.22); font-size: 1rem; line-height: 1.55; text-align: left;}
:root .ordboks h2{font-family: 'Archivo', system-ui, sans-serif; font-size: 1.15rem; margin: 0 0 .5rem; padding-right: 2.5rem; color: var(--ink);}
:root .ordboks p{margin: 0 0 .75rem; color: var(--muted);}
:root .ordboks :is(:where(:not(.elementor-widget)) > p:last-child, :where(.elementor-widget:last-child) > p:last-child){margin-bottom: 0;}
:root .ordboks .ex{background: var(--soft); border-radius: 8px; padding: .8rem .95rem; color: var(--ink); font-size: .97rem;}
:root .ordboks .ex b{display: block; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--green-btn); margin-bottom: .3rem;}
:root .ordboks .ex a{color: var(--green-btn); text-decoration: underline;}
:root .ordboks .lukk{position: absolute; top: .6rem; right: .6rem; width: 40px; height: 40px; border-radius: 999px;
    border: 1px solid var(--border); background: #fff; font-size: 1.2rem; line-height: 1; cursor: pointer; color: var(--ink);}
@media (max-width: 35em){
:root .ordboks[popover]{left: 1rem !important; right: 1rem; bottom: 1rem; top: auto !important; width: auto;}
}
:root .utility-bar a{display: inline-block; padding-block: 4px;}
:root .footer-col a{width: fit-content; padding-block: 3px;}
:root .footer-legal a{display: inline-block; padding-block: 3px;}
:root a.link,:root .rp-alle,:root .faq-teaser-more,:root .contact-info-panel .info-card a{display: inline-block; padding-block: 3px;}
:root .listing-card.is-full{opacity: 1; background: #FAF8F4; border: 1px dashed #B9B2A3; box-shadow: none;}
:root .listing-card.is-full .listing-date,:root .listing-card.is-full .listing-desc,:root .listing-card.is-full .listing-action{color: #4A5568;}
:root .listing-card.is-full .status-badge.full{background: #E6E2D9; color: #3F4654;}
:root section.quote-hero,:root section.faq-hero,:root section.advice-hero,:root section.contact-hero,:root section.restplass-hero,:root section.service-hero,:root section.hero.about-hero{padding-top: 0; padding-bottom: 0;}
:root .quote-hero > .container,:root .quote-hero > .elementor-widget > .container,:root .faq-hero > .container,:root .faq-hero > .elementor-widget > .container,:root .advice-hero > .container,:root .advice-hero > .elementor-widget > .container,:root .contact-hero > .container,:root .contact-hero > .elementor-widget > .container,:root .restplass-hero > .container,:root .restplass-hero > .elementor-widget > .container,:root .service-hero > .container,:root .service-hero > .elementor-widget > .container,:root .about-hero > .container,:root .about-hero > .elementor-widget > .container{width: 100%; max-width: 1200px;
    padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 64px);}
:root .quote-hero h1,:root .faq-hero h1,:root .advice-hero h1,:root .contact-hero h1,:root .restplass-hero h1,:root .service-hero h1,:root .about-hero h1{font-size: clamp(1.75rem, 3.6vw, 2.75rem); max-width: 22ch;}
:root .hero.about-hero .hero-content{padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 64px);}
:root .hero.about-hero .hero-content h1{font-size: clamp(1.75rem, 3.6vw, 2.75rem);}
:root .quote-hero,:root .restplass-hero,:root .service-hero,:root .hero.about-hero{min-height: 0;}
:root .service-hero,:root .hero.about-hero{min-height: clamp(280px, 32vw, 380px);}
@media (min-width: 600px) and (max-width: 1023px){
:root .footer-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
:root .stats-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
@media (min-width: 900px){
:root .stats-grid{grid-template-columns: repeat(4, minmax(0, 1fr));}
}
:root .services-grid,:root .testi-grid,:root .restplass-forside .listings-grid,:root .storage-tips-grid{grid-template-columns: 1fr;}
@media (min-width: 600px) and (max-width: 899px){
:root .services-grid,:root .testi-grid,:root .restplass-forside .listings-grid,:root .storage-tips-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
:root .services-grid > :last-child:nth-child(odd),:root .services-grid > .elementor-widget > :last-child:nth-child(odd),:root .testi-grid > :last-child:nth-child(odd),:root .testi-grid > .elementor-widget > :last-child:nth-child(odd),:root .restplass-forside .listings-grid > :last-child:nth-child(odd),:root .restplass-forside .listings-grid > .elementor-widget > :last-child:nth-child(odd),:root .storage-tips-grid > :last-child:nth-child(odd),:root .storage-tips-grid > .elementor-widget > :last-child:nth-child(odd){grid-column: 1 / -1;}
:root .services-grid > :is(:where(:not(.elementor-widget)) > .service-card:last-child:nth-child(odd), .elementor-widget:last-child:nth-child(odd) > .service-card),:root .services-grid > .elementor-widget > :is(:where(:not(.elementor-widget)) > .service-card:last-child:nth-child(odd), .elementor-widget:last-child:nth-child(odd) > .service-card){display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);}
:root .services-grid > :is(:where(:not(.elementor-widget)) > .service-card:last-child:nth-child(odd), .elementor-widget:last-child:nth-child(odd) > .service-card) .thumb,:root .services-grid > .elementor-widget > :is(:where(:not(.elementor-widget)) > .service-card:last-child:nth-child(odd), .elementor-widget:last-child:nth-child(odd) > .service-card) .thumb{aspect-ratio: auto; height: 100%;}
}
@media (min-width: 900px){
:root .services-grid,:root .testi-grid,:root .restplass-forside .listings-grid,:root .storage-tips-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (min-width: 600px){
:root .includes-grid,:root .diff-grid,:root .tf-kort-grid,:root .step-preview-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (min-width: 1180px){
:root .includes-grid,:root .diff-grid,:root .step-preview-grid{grid-template-columns: repeat(4, minmax(0, 1fr));}
}
:root .tf-steg ol{grid-template-columns: 1fr;}
@media (min-width: 700px){
:root .tf-steg ol{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (min-width: 1280px){
:root .tf-steg ol{grid-template-columns: repeat(5, minmax(0, 1fr));}
}
@media (min-width: 700px){
:root .advice-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
:root .advice-grid > .advice-card.featured,:root .advice-grid > .elementor-widget > .advice-card.featured{grid-column: 1 / -1;}
}
@media (min-width: 1024px){
:root .advice-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
:root .advice-grid > :is(:where(:not(.elementor-widget)) > .advice-card:last-child, .elementor-widget:last-child > .advice-card):not(.featured),:root .advice-grid > .elementor-widget > :is(:where(:not(.elementor-widget)) > .advice-card:last-child, .elementor-widget:last-child > .advice-card):not(.featured){grid-column: span 2;}
}
@media (min-width: 700px) and (max-width: 1023px){
:root .advice-grid > :is(:where(:not(.elementor-widget)) > .advice-card:last-child, .elementor-widget:last-child > .advice-card):not(.featured),:root .advice-grid > .elementor-widget > :is(:where(:not(.elementor-widget)) > .advice-card:last-child, .elementor-widget:last-child > .advice-card):not(.featured){grid-column: 1 / -1;}
}
:root .mobile-menu-toggle{min-width: 44px; min-height: 44px;}
:root .volume-reset{min-height: 44px; padding-inline: 12px;}
:root .filter-chip,:root .filter-select{min-height: 44px;}
@media (max-width: 1024px){
:root .ra-hoved .handling .btn,:root .ra-hoved .handling .btn .elementor-button{min-height: 44px;}
}
:root .accordion-panel p,:root .faq-item p,:root .calc-intro p.hk-express,:root .form-note,:root .advice-note,:root .ra-hoved > .ra-mockup-merke,:root .ra-hoved > .elementor-widget > .ra-mockup-merke,:root .ra-kort > .ingress,:root .ra-kort > .elementor-widget > .ingress,:root .advice-card .summary{max-width: 68ch;}
:root .hk-hint{hyphens: auto;}
:root .vis-feil .input[aria-invalid="true"]{border-color: var(--red-text); box-shadow: 0 0 0 1px var(--red-text);}
:root .footer-kart{margin-top: 14px;}
:root .footer-kart .footer-kart-knapp{display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; margin: 0 12px 6px 0; background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.45); border-radius: 6px; font-weight: 600; font-size: .875rem; cursor: pointer;}
:root .footer-kart .footer-kart-knapp:hover{border-color: #fff;}
:root .footer-kart a{display: inline-block; color: #CFE3D5; text-decoration: underline; text-underline-offset: 3px;}
:root .footer-kart .footer-kart-merk{margin: 4px 0 0; font-size: .8125rem; color: #A9B3C4;}
:root .kart-ramme{display: block; width: 100%; border: 0; border-radius: 8px;}
:root .footer-kart .kart-ramme{height: 180px;}
:root .map-placeholder.har-kart{padding: 0; overflow: hidden;}
:root .map-placeholder .kart-ramme{height: 320px; border-radius: 0;}
:root .listing-card .listing-route{font-family: 'Archivo', system-ui, sans-serif; font-weight: 700; font-size: 1.125rem; line-height: 1.3;}
:root .rating-summary a{display: inline-block; padding-block: 3px; margin-left: 0;}
:root .footer-bottom{border-top: 0; background: linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)) top / 100% 1px no-repeat; background-origin: content-box;}
:root :where(button, input, select, textarea){font-family: inherit;}
@media (max-width: 640px){
:root body:has(.mobile-sticky-cta) .footer-bottom{padding-bottom: 96px;}
}
:root .service-card,:root .listing-card,:root .testi-card,:root .testi-card-light,:root .diff-card,:root .advice-card,:root .storage-tip,:root .curiosity-box,:root .include-card,:root .price-card,:root .related-card,:root .step-preview-card,:root .help-card,:root .contact-info-panel .info-card,:root .notify-panel,:root .tf-kort,:root .tf-fakta,:root .ex-usikker,:root .hk-ting,:root .item-btn{transition: transform .24s cubic-bezier(.2,.7,.3,1), box-shadow .24s ease, border-color .24s ease, background-color .24s ease;}
:root .service-card .thumb img{transition: transform .5s cubic-bezier(.2,.7,.3,1);}
:root .diff-card .icon,:root .advice-icon,:root .include-card .icon,:root .tip-ikon,:root .tf-ikon{transition: transform .3s cubic-bezier(.2,.7,.3,1), background-color .24s ease, color .24s ease;}
:root .service-card,:root .listing-card.is-bookable,:root .related-card,:root .advice-card,:root .tf-kort,:root .storage-tip{position: relative;}
:root .service-card::after,:root .listing-card.is-bookable::after,:root .related-card::after{content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
    background: var(--red); transform: scaleX(0); transform-origin: left;
    transition: transform .35s cubic-bezier(.2,.7,.3,1);
    border-radius: 0 0 8px 8px; pointer-events: none;}
@media (hover: hover) and (pointer: fine){
:root .service-card:hover,:root .listing-card.is-bookable:hover,:root .testi-card:hover,:root .testi-card-light:hover,:root .diff-card:hover,:root .advice-card:hover,:root .storage-tip:hover,:root .curiosity-box:hover,:root .include-card:hover,:root .price-card:hover,:root .related-card:hover,:root .step-preview-card:hover,:root .help-card:hover,:root .contact-info-panel .info-card:hover,:root .notify-panel:hover,:root .tf-kort:hover,:root .tf-fakta:hover,:root .ex-usikker:hover{transform: translateY(-4px);
      box-shadow: var(--lift-skygge);}
:root .hk-ting:hover,:root .item-btn:hover{transform: translateY(-2px); box-shadow: 0 10px 24px rgba(20,27,56,.12);}
:root .hk-ting:not(.har-antall):hover{border-color: #C9BFAE;}
:root .hk-ting.har-antall:hover{box-shadow: inset 0 0 0 1px var(--green), 0 10px 24px rgba(20,27,56,.12);}
:root .service-card:hover .thumb img{transform: scale(1.06);}
:root .service-card:hover::after,:root .listing-card.is-bookable:hover::after,:root .related-card:hover::after{transform: scaleX(1);}
:root .diff-card:hover .icon,:root .advice-card:hover .advice-icon,:root .include-card:hover .icon,:root .storage-tip:hover .tip-ikon,:root .tf-kort:hover .tf-ikon{background: var(--red); color: #fff; transform: rotate(-8deg) scale(1.08);}
:root .step:hover .step-num{background: var(--red); border-color: var(--red); color: #fff;}
:root .tf-steg li:hover::before{background: var(--red); border-color: var(--red);}
:root .step .step-num,:root .tf-steg li::before{transition: background-color .24s ease, border-color .24s ease, color .24s ease, transform .3s cubic-bezier(.2,.7,.3,1);}
:root .step:hover .step-num,:root .tf-steg li:hover::before{transform: scale(1.08);}
:root .curiosity-box .stort{transition: border-color .24s ease;}
:root .curiosity-box:hover .stort{border-bottom-color: #fff;}
}
:root nav.main-nav{gap: clamp(14px, 1.6vw, 26px);}
:root .nav-gruppe{position: relative;}
:root .nav-knapp{display: inline-flex; align-items: center; gap: 6px;
    background: none; border: 0; border-bottom: 2px solid transparent; padding: 6px 0;
    color: #E3E7EE; font: inherit; font-size: 0.875rem; font-weight: 500; cursor: pointer; white-space: nowrap;
    transition: border-color 200ms ease, color 200ms ease;}
:root .nav-knapp:hover,:root .nav-gruppe.apen .nav-knapp{color: #fff;}
:root .nav-knapp.active{color: #fff; border-color: var(--green);}
:root .nav-pil{transition: transform .2s ease;}
:root .nav-gruppe.apen .nav-pil{transform: rotate(180deg);}
:root .nav-meny{position: absolute; top: calc(100% + 12px); left: -18px; min-width: 250px; z-index: 60;
    display: flex; flex-direction: column; padding: 8px;
    background: #fff; border-radius: 12px; box-shadow: 0 18px 44px rgba(20,27,56,.22);
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;}
:root .nav-meny::before{content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px;}
:root .nav-gruppe.apen .nav-meny{opacity: 1; visibility: visible; transform: none; transition: opacity .18s ease, transform .18s ease;}
:root nav.main-nav .nav-meny a{color: var(--ink); font-size: 0.9375rem; font-weight: 600; padding: 10px 12px; border-radius: 8px;
    border-bottom: 0; white-space: nowrap; position: relative;}
:root nav.main-nav .nav-meny a:hover,:root nav.main-nav .nav-meny a:focus-visible{background: var(--sand); color: var(--ink);}
:root nav.main-nav .nav-meny a.active{color: var(--red-text); background: #FBF4F2;}
:root nav.main-nav .nav-meny a.active::before{content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 2px; background: var(--red);}
@media (prefers-reduced-motion: reduce){
:root .nav-meny{transform: none !important;}
}
:root .mobile-nav{overflow-y: auto;}
:root .mobile-nav .mobil-gruppe{margin: 18px 0 2px; color: #CFE3D5; font-size: 0.8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;}
:root .mobile-nav a[data-under]{font-size: 1.125rem; font-weight: 600; padding: 10px 0 10px 14px; border-left: 3px solid rgba(255,255,255,.15); border-bottom: 0;}
:root .mobile-nav a.active{color: #fff;}
:root .mobile-nav a[data-under].active{border-left-color: var(--red);}
@media (prefers-reduced-motion: reduce){
:root .service-card,:root .listing-card,:root .testi-card,:root .testi-card-light,:root .diff-card,:root .advice-card,:root .storage-tip,:root .curiosity-box,:root .include-card,:root .price-card,:root .related-card,:root .step-preview-card,:root .help-card,:root .contact-info-panel .info-card,:root .notify-panel,:root .tf-kort,:root .tf-fakta,:root .ex-usikker,:root .hk-ting,:root .item-btn,:root .service-card .thumb img,:root .diff-card .icon,:root .advice-icon,:root .include-card .icon,:root .tip-ikon,:root .tf-ikon,:root .step .step-num{transform: none !important;}
}
:root{--mint: #E7F3EA; --mint-kant: #CFE3D5; --skog: #1A5E36;}
html:root :is(.ex-panel, .quote-banner, .ex-usikker, .ex-kort legend .nr){--deep: var(--skog); --deep-text: #E6F2EA;}
html:root :is(.testimonials, .listing-card.is-dark, .tf-fakta, .tf-steg, .steps-section, .curiosity-box, .faq-mini, .vision-section){background: var(--mint); color: var(--ink);}
html:root :is(.testimonials, .tf-steg, .steps-section, .faq-mini, .vision-section)::before,html:root :is(.testimonials, .tf-steg, .steps-section, .faq-mini, .vision-section)::after{background: var(--mint);}
html:root :is(.listing-card.is-dark, .tf-fakta, .curiosity-box){border: 1px solid var(--mint-kant);}
html:root :is(.testimonials, .tf-steg, .steps-section, .faq-mini) :is(h2, h3),html:root .testimonials .section-head h2,html:root .faq-mini .section-head h2,html:root .curiosity-box h3{color: var(--ink);}
html:root :is(.testimonials, .faq-mini) .section-head p,html:root .tf-steg .lede,html:root .tf-steg p,html:root .steps-section p,html:root .curiosity-box p,html:root .vision-section p.support{color: var(--muted);}
html:root :is(.steps-section, .tf-steg, .vision-section) .section-head h2{color: var(--ink);}
html:root :is(.steps-section, .tf-steg, .vision-section) .section-head p,html:root .steps-section .step p{color: var(--muted);}
html:root .steps-section .step h3{color: var(--ink);}
html:root :is(.testimonials, .tf-steg, .steps-section, .faq-mini, .vision-section, .curiosity-box) .ordknapp{border-bottom-color: var(--green-btn);}
html:root :is(.testimonials, .tf-steg, .steps-section, .faq-mini, .vision-section, .curiosity-box) .ordknapp::after{background: var(--green-btn); color: #fff;}
html:root .testi-card{background: #fff; border-color: var(--mint-kant);}
html:root .testi-card p.quote,html:root .testi-card .who{color: var(--ink);}
html:root .testi-hoved p.quote{color: var(--deep);}
html:root .rating-summary{color: var(--muted);}
html:root .rating-summary strong{color: var(--ink);}
html:root .rating-summary a{color: var(--green-btn);}
html:root .listing-card.is-dark .listing-route{color: var(--ink);}
html:root .listing-card.is-dark .listing-date,html:root .listing-card.is-dark .listing-desc{color: var(--muted);}
html:root .listing-card.is-dark .listing-action{color: var(--green-btn);}
html:root .listing-card.is-dark .listing-action.is-inert{color: var(--muted);}
html:root .listing-card.is-dark .status-badge.full{background: rgba(22,32,43,.08); color: var(--muted);}
html:root .tf-fakta li{color: var(--muted);}
html:root .tf-fakta li strong{color: var(--ink);}
html:root .tf-steg li::before{border-color: var(--deep); color: var(--deep);}
html:root .tf-steg li:first-child::before{color: #fff;}
html:root .step .step-num{background: var(--deep); border-color: var(--deep); color: #fff;}
html:root :is(:where(:not(.elementor-widget)) > .step:first-child, .elementor-widget:first-child > .step) .step-num{background: var(--red); border-color: var(--red);}
html:root :is(:where(:not(.elementor-widget)) > .step:last-child, .elementor-widget:last-child > .step) .step-num{background: #fff; border-color: var(--mint-kant); color: var(--deep);}
html:root .curiosity-box .stort{color: var(--deep);}
html:root .faq-mini .faq-item{background: #fff; border-color: var(--mint-kant);}
html:root .faq-mini .faq-item h3{color: var(--ink);}
html:root .faq-mini .faq-item p{color: var(--muted);}
html:root .faq-mini a,html:root .faq-mini .faq-item a,html:root .faq-mini-footer a{color: var(--green-btn);}
html:root .faq-mini-footer{color: var(--muted);}
html:root .vision-section blockquote{color: var(--deep);}
@media (hover: hover){
html:root .curiosity-box:hover .stort{border-bottom-color: var(--deep);}
html:root .step:hover .step-num{background: var(--red); border-color: var(--red); color: #fff;}
}
:root{--topp: #0D3B22;}
html:root :is(.utility-bar, header.site-header, .route-section, .mobile-nav, .hero, .quote-hero, .faq-hero, .contact-hero, .restplass-hero, .advice-hero),html:root footer.site-footer{background-color: var(--topp);}
html:root .utility-bar .sep{color: #CFE3D5;}
html:root footer.site-footer{color: #CFE3D5;}
html:root .footer-grid p.tagline,html:root .footer-col a,html:root .footer-col p,html:root .footer-kart .footer-kart-merk,html:root .footer-bottom,html:root .footer-bottom a{color: #CFE3D5;}
html:root .footer-col a:hover,html:root .footer-bottom a:hover{color: #fff;}
html:root .footer-bottom{background-image: linear-gradient(rgba(255,255,255,.18), rgba(255,255,255,.18));}
html:root .cta-banner,html:root .cta-banner::before{background: var(--mint);}
html:root .cta-banner h2,html:root .videre-steg li b{color: var(--ink);}
html:root .cta-banner p,html:root .videre-steg li{color: var(--muted);}
html:root .videre-steg li::before{background: var(--green-btn); color: #fff;}
html:root .cta-banner .btn-primary,html:root .cta-banner .btn-primary .elementor-button{background: var(--green-btn); color: #fff; border-color: var(--green-btn);}
html:root .cta-banner .btn-primary:hover,html:root .cta-banner .btn-primary .elementor-button:hover{background: var(--green-hover); border-color: var(--green-hover);}
html:root .cta-banner .tel-link{color: var(--green-btn);}
html:root .cta-banner .tel-link:hover{color: var(--green-hover);}
html:root .cta-banner .ordknapp{border-bottom-color: var(--green-btn);}
html:root .cta-banner .ordknapp::after{background: var(--green-btn); color: #fff;}
:root .listings-tom a{color: var(--green-btn); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}
:root .listing-date .rp-uke,:root .listing-date .rp-dato{display: block;}
:root .listing-date .rp-sep{display: none;}
:root .listing-date .rp-uke{font-weight: 600; color: var(--ink);}
@media (max-width: 480px){
:root .btn,:root .btn .elementor-button{max-width: 100%; white-space: normal; text-align: center;}
:root h1,:root h2,:root h3{overflow-wrap: break-word;}
}
:root .teaser-hoyre{display: flex; flex-direction: column; gap: 18px; min-width: 0;}
:root .item-buttons.dempet .item-btn{opacity: .45;}
:root .ex-panel{margin-top: clamp(32px, 4vw, 48px);
    display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, 1fr); gap: clamp(24px, 4vw, 48px); align-items: center;
    background: var(--deep); color: #fff; border-radius: 16px; padding: clamp(24px, 4vw, 44px);
    position: relative; overflow: hidden;}
:root .ex-panel::after{content: ""; position: absolute; right: -40px; top: -30px; width: 260px; height: 260px; pointer-events: none; opacity: .07;
    background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z' fill='%23fff'/%3E%3C/svg%3E");}
:root .ex-merke{display: inline-flex; align-items: center; gap: 6px;
    background: rgba(255,255,255,.12); color: #fff; font-family: 'Archivo', sans-serif; font-weight: 800;
    font-size: .875rem; letter-spacing: .02em; padding: 6px 12px; border-radius: 999px; margin-bottom: 14px;}
:root .ex-panel h3{font-size: clamp(1.5rem, 2.6vw, 2rem); color: #fff; margin-bottom: 10px; line-height: 1.15;}
:root .ex-panel p{color: var(--deep-text); font-size: 1.0625rem; max-width: 52ch;}
:root .ex-panel .ordknapp{border-bottom-color: rgba(255,255,255,.75);}
:root .ex-panel .ordknapp::after{background: #fff; color: var(--deep);}
:root .ex-steg{list-style: none; display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px;}
:root .ex-steg li{display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; font-size: .9375rem;}
:root .ex-steg span{width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%;
    border: 2px solid rgba(255,255,255,.5); font-family: 'Archivo', sans-serif; font-size: .8125rem;}
:root .ex-steg li:first-child span{background: var(--red-text); border-color: var(--red-text);}
:root .ex-snarvei{position: relative; z-index: 1; background: #fff; color: var(--ink); border-radius: 12px; padding: 22px;
    display: flex; flex-direction: column; gap: 12px; border: 3px solid transparent; transition: border-color .2s ease;}
:root .ex-snarvei.aktiv{border-color: var(--red);}
:root .ex-snarvei label{font-weight: 700; font-size: .9375rem; color: var(--ink);}
:root .ex-felt-m3{display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #7B8898; border-radius: 8px; padding-right: 14px;}
:root .ex-felt-m3:focus-within{border-color: var(--green); box-shadow: 0 0 0 3px rgba(9,134,9,.2);}
:root .ex-felt-m3 input{flex: 1; min-width: 0; border: 0; background: transparent; padding: 10px 14px; min-height: 64px;
    font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 2.25rem; color: var(--ink);}
:root .ex-felt-m3 input:focus{outline: none;}
:root .ex-felt-m3 input{min-width: 0; flex: 1;}
:root .vis-feil .ex-felt-m3:has(input[aria-invalid="true"]){border-color: var(--red-text); box-shadow: 0 0 0 1px var(--red-text);}
:root .ex-felt-m3 input::placeholder{font-family: 'Inter', sans-serif; font-weight: 500; font-size: 1.0625rem; color: #7B8898;}
:root .ex-felt-m3 > span,:root .ex-felt-m3 > .elementor-widget > span{font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 1.5rem; color: var(--muted);}
:root .ex-knapp{width: 100%; gap: 8px; min-height: 52px; font-size: 1rem;
    background: var(--green-btn); color: #fff; border: 2px solid var(--green-btn);}
:root .ex-knapp:hover{background: var(--green-hover); border-color: var(--green-hover);}
:root .ex-panel .ex-snarvei-hjelp{font-size: .8125rem; color: var(--muted); max-width: none;}
:root .ex-panel .ex-snarvei-hjelp.feil{color: var(--red-text); font-weight: 600;}
:root .hero-express{display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: #fff; font-weight: 600; font-size: .9375rem;
    text-decoration: underline; text-underline-offset: 3px; text-shadow: 0 1px 3px rgba(0,0,0,.55);}
:root .hero-express svg{color: #FF8A80;}
:root .hero-express:hover{text-decoration-thickness: 2px;}
@media (max-width: 860px){
:root .ex-panel{grid-template-columns: minmax(0, 1fr);}
}
