@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;}
: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 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 .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 .cta-banner p{color: #DCE3EC; margin-top: 8px; max-width: 48ch;}
: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 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 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 .advice-hero{background: var(--navy);
    color: #fff;
    padding: clamp(44px, 7vw, 80px) 0 clamp(36px, 5vw, 56px);}
:root .advice-hero .container{max-width: 760px;}
:root .advice-hero h1{font-size: clamp(1.75rem, 3.8vw, 2.75rem);
    margin-bottom: 14px;}
:root .advice-hero p{color: #DCE3EC;
    font-size: clamp(1rem, 1.4vw, 1.1875rem);
    max-width: 62ch;}
:root .advice-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;}
:root .advice-card{background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: clamp(22px, 3vw, 28px);
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow 200ms ease, transform 200ms ease;}
:root .advice-card:hover{box-shadow: 0 10px 24px rgba(20,27,56,0.09); transform: translateY(-2px);}
:root .advice-icon{width: 48px;
    height: 48px;
    border-radius: 8px;
    background: var(--soft);
    color: var(--green-btn);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;}
:root .advice-icon svg{width: 24px; height: 24px;}
:root .advice-card h3{font-size: 1.1875rem;}
:root .advice-card p.summary{color: var(--muted); font-size: 0.9375rem; flex: 1;}
:root .advice-card .link{color: var(--green-btn);
    font-weight: 600;
    font-size: 0.9375rem;
    align-self: flex-start;
    cursor: pointer;}
:root .advice-card .link:hover{text-decoration: underline;}
:root .advice-card.featured{grid-column: span 2;
    background: var(--soft);
    border-color: var(--green);
    flex-direction: row;
    align-items: flex-start;
    gap: 28px;}
:root .advice-card.featured .advice-icon{background: #fff;
    width: 56px;
    height: 56px;}
:root .advice-card.featured .advice-icon svg{width: 28px; height: 28px;}
:root .advice-card.featured .advice-body{display: flex; flex-direction: column; gap: 12px; flex: 1;}
:root .advice-tag{display: inline-block;
    background: var(--green-btn);
    color: #fff;
    font-weight: 700;
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    align-self: flex-start;}
:root .timeline-list{list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid rgba(20,27,56,0.12);
    padding-top: 12px;}
:root .timeline-list li{display: flex;
    justify-content: space-between;
    gap: 16px;
    font-size: 0.9375rem;}
:root .timeline-list .tl-label{color: var(--ink); font-weight: 500;}
:root .timeline-list .tl-value{color: var(--green-btn);
    font-weight: 700;
    font-feature-settings: "tnum" 1;
    white-space: nowrap;}
:root .advice-note{background: var(--soft);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 18px 20px;
    color: var(--ink);
    font-size: 0.9375rem;
    max-width: 760px;
    margin-top: clamp(32px, 4vw, 48px);}
:root .advice-note strong{color: var(--ink);}
@media (max-width: 860px){
:root .advice-hero{padding: 36px 0 32px;}
:root .advice-grid{grid-template-columns: 1fr;}
:root .advice-card.featured{grid-column: auto;
      flex-direction: column;}
}
:root .advice-card .summary 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 .juss{padding: clamp(32px, 5vw, 56px) 0 clamp(48px, 7vw, 88px);}
:root .juss .container > *:where(:not(.elementor-element-overlay)),:root .juss .container > .elementor-widget > *:where(:not(.elementor-element-overlay)){max-width: 760px;}
:root .juss h2{font-size: clamp(1.25rem, 2.2vw, 1.5rem); margin: 40px 0 12px; scroll-margin-top: 100px;}
:root .juss h3{font-size: 1.0625rem; margin: 24px 0 8px;}
:root .juss p,:root .juss li{line-height: 1.65;}
:root .juss p + p{margin-top: 12px;}
:root .juss ul{margin: 10px 0 0 1.2em;}
:root .juss li + li{margin-top: 6px;}
:root .juss .juss-dato{color: var(--muted); font-size: 0.9375rem;}
:root .juss .juss-kort{background: var(--mint); border-radius: 12px; padding: 18px 22px; margin: 24px 0 8px;}
:root .juss .juss-kort h2{margin-top: 0; font-size: 1.125rem;}
:root .juss .juss-innhold{margin-top: 24px;}
:root .juss .juss-innhold ol{margin: 8px 0 0 1.4em;}
:root .juss dl{display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 14px 0; padding: 14px 18px; background: #fff; border-radius: 10px; box-shadow: 0 1px 2px rgba(60,40,20,0.08);}
:root .juss dt{font-weight: 600; color: var(--ink);}
:root .juss dd{margin: 0; overflow-wrap: anywhere;}
:root .juss .juss-tabell{width: 100%; max-width: 100%; overflow-x: auto; margin: 14px 0;}
:root .juss table{width: 100%; border-collapse: collapse; font-size: 0.9375rem; background: #fff;}
:root .juss th,:root .juss td{text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: top;}
:root .juss th{font-weight: 700; color: var(--ink);}
:root .juss code{font-size: 0.875em; overflow-wrap: anywhere;}
:root .juss .cmplz-show-banner{margin-top: 12px;}
:root .juss a:not(.btn){color: var(--green-btn); text-decoration: underline; text-underline-offset: 3px;}
:root .juss ul + p,:root .juss dl + p,:root .juss .juss-tabell + p{margin-top: 12px;}
@media (max-width: 640px){
:root .juss table,:root .juss tbody,:root .juss tr,:root .juss td{display: block; width: 100%;}
:root .juss thead{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);}
:root .juss tr{padding: 10px 14px; border-bottom: 1px solid var(--border);}
:root .juss td{border: 0; padding: 3px 0;}
:root .juss td::before{content: attr(data-etikett) ": "; font-weight: 700; color: var(--ink);}
}
@media (max-width: 560px){
:root .juss dl{grid-template-columns: 1fr; gap: 2px;}
:root .juss dd{margin-bottom: 8px;}
}
