
/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/generatepress-main.min.css */
blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0;border:0}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}progress{vertical-align:baseline}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;margin:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}body,button,input,select,textarea{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:400;text-transform:none;font-size:17px;line-height:1.5}p{margin-bottom:1.5em}h1,h2,h3,h4,h5,h6{font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit}pre{background:rgba(0,0,0,.05);font-family:inherit;font-size:inherit;line-height:normal;margin-bottom:1.5em;padding:20px;overflow:auto;max-width:100%}blockquote{border-left:5px solid rgba(0,0,0,.05);padding:20px;font-size:1.2em;font-style:italic;margin:0 0 1.5em;position:relative}blockquote p:last-child{margin:0}table,td,th{border:1px solid rgba(0,0,0,.1)}table{border-collapse:separate;border-spacing:0;border-width:1px 0 0 1px;margin:0 0 1.5em;width:100%}td,th{padding:8px}th{border-width:0 1px 1px 0}td{border-width:0 1px 1px 0}hr{background-color:rgba(0,0,0,.1);border:0;height:1px;margin-bottom:40px;margin-top:40px}fieldset{padding:0;border:0;min-width:inherit}fieldset legend{padding:0;margin-bottom:1.5em}h1{font-size:42px;margin-bottom:20px;line-height:1.2em;font-weight:400;text-transform:none}h2{font-size:35px;margin-bottom:20px;line-height:1.2em;font-weight:400;text-transform:none}h3{font-size:29px;margin-bottom:20px;line-height:1.2em;font-weight:400;text-transform:none}h4{font-size:24px}h5{font-size:20px}h4,h5,h6{margin-bottom:20px}ol,ul{margin:0 0 1.5em 3em}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}b,strong{font-weight:700}cite,dfn,em,i{font-style:italic}address{margin:0 0 1.5em}code,kbd,tt,var{font:15px Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{text-decoration:none}sub,sup{font-size:75%;height:0;line-height:0;position:relative;vertical-align:baseline}sup{bottom:1ex}sub{top:.5ex}small{font-size:75%}big{font-size:125%}figure{margin:0}table{margin:0 0 1.5em;width:100%}th{font-weight:700}img{height:auto;max-width:100%}button,input[type=button],input[type=reset],input[type=submit]{background:#55555e;color:#fff;border:1px solid transparent;cursor:pointer;-webkit-appearance:button;padding:10px 20px}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid;border-radius:0;padding:10px 15px;max-width:100%}textarea{width:100%}a,button,input{transition:color .1s ease-in-out,background-color .1s ease-in-out}a{text-decoration:none}.button,.wp-block-button .wp-block-button__link{padding:10px 20px;display:inline-block}.wp-block-button .wp-block-button__link{font-size:inherit;line-height:inherit}.using-mouse :focus{outline:0}.using-mouse ::-moz-focus-inner{border:0}.alignleft{float:left;margin-right:1.5em}.alignright{float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin:0 auto}.size-auto,.size-full,.size-large,.size-medium,.size-thumbnail{max-width:100%;height:auto}.no-sidebar .entry-content .alignfull{margin-left:calc(-100vw / 2 + 100% / 2);margin-right:calc(-100vw / 2 + 100% / 2);max-width:100vw;width:auto}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#primary[tabindex="-1"]:focus{outline:0}.main-navigation{z-index:100;padding:0;clear:both;display:block}.main-navigation a{display:block;text-decoration:none;font-weight:400;text-transform:none;font-size:15px}.main-navigation ul{list-style:none;margin:0;padding-left:0}.main-navigation .main-nav ul li a{padding-left:20px;padding-right:20px;line-height:60px}.inside-navigation{position:relative}.main-navigation .inside-navigation{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}.main-navigation .main-nav>ul{display:flex;flex-wrap:wrap;align-items:center}.main-navigation li{position:relative}.main-navigation .menu-bar-items{display:flex;align-items:center;font-size:15px}.main-navigation .menu-bar-items a{color:inherit}.main-navigation .menu-bar-item{position:relative}.main-navigation .menu-bar-item.search-item{z-index:20}.main-navigation .menu-bar-item>a{padding-left:20px;padding-right:20px;line-height:60px}.sidebar .main-navigation .main-nav{flex-basis:100%}.sidebar .main-navigation .main-nav>ul{flex-direction:column}.sidebar .main-navigation .menu-bar-items{margin:0 auto}.sidebar .main-navigation .menu-bar-items .search-item{order:10}.nav-align-center .inside-navigation{justify-content:center}.nav-align-center .main-nav>ul{justify-content:center}.nav-align-right .inside-navigation{justify-content:flex-end}.main-navigation ul ul{display:block;box-shadow:1px 1px 0 rgba(0,0,0,.1);float:left;position:absolute;left:-99999px;opacity:0;z-index:99999;width:200px;text-align:left;top:auto;transition:opacity 80ms linear;transition-delay:0s;pointer-events:none;height:0;overflow:hidden}.main-navigation ul ul a{display:block}.main-navigation ul ul li{width:100%}.main-navigation .main-nav ul ul li a{line-height:normal;padding:10px 20px;font-size:14px}.main-navigation .main-nav ul li.menu-item-has-children>a{padding-right:0;position:relative}.main-navigation.sub-menu-left ul ul{box-shadow:-1px 1px 0 rgba(0,0,0,.1)}.main-navigation.sub-menu-left .sub-menu{right:0}.main-navigation:not(.toggled) ul li.sfHover>ul,.main-navigation:not(.toggled) ul li:hover>ul{left:auto;opacity:1;transition-delay:150ms;pointer-events:auto;height:auto;overflow:visible}.main-navigation:not(.toggled) ul ul li.sfHover>ul,.main-navigation:not(.toggled) ul ul li:hover>ul{left:100%;top:0}.main-navigation.sub-menu-left:not(.toggled) ul ul li.sfHover>ul,.main-navigation.sub-menu-left:not(.toggled) ul ul li:hover>ul{right:100%;left:auto}.nav-float-right .main-navigation ul ul ul{top:0}.menu-item-has-children .dropdown-menu-toggle{display:inline-block;height:100%;clear:both;padding-right:20px;padding-left:10px}.menu-item-has-children ul .dropdown-menu-toggle{padding-top:10px;padding-bottom:10px;margin-top:-10px}.sidebar .menu-item-has-children .dropdown-menu-toggle,nav ul ul .menu-item-has-children .dropdown-menu-toggle{float:right}.widget-area .main-navigation li{float:none;display:block;width:100%;padding:0;margin:0}.sidebar .main-navigation.sub-menu-right ul li.sfHover ul,.sidebar .main-navigation.sub-menu-right ul li:hover ul{top:0;left:100%}.sidebar .main-navigation.sub-menu-left ul li.sfHover ul,.sidebar .main-navigation.sub-menu-left ul li:hover ul{top:0;right:100%}.site-main .comment-navigation,.site-main .post-navigation,.site-main .posts-navigation{margin:0 0 2em;overflow:hidden}.site-main .post-navigation{margin-bottom:0}.paging-navigation .nav-next,.paging-navigation .nav-previous{display:none}.paging-navigation .nav-links>*{padding:0 5px}.paging-navigation .nav-links .current{font-weight:700}.nav-links>:first-child{padding-left:0}.site-header{position:relative}.inside-header{padding:20px 40px}.main-title{margin:0;font-size:25px;line-height:1.2em;word-wrap:break-word;font-weight:700;text-transform:none}.site-description{margin:0;line-height:1.5;font-weight:400;text-transform:none;font-size:15px}.site-logo{display:inline-block;max-width:100%}.site-header .header-image{vertical-align:middle}.inside-header{display:flex;align-items:center}.header-widget{margin-left:auto}.header-widget p:last-child{margin-bottom:0}.nav-float-right .header-widget{margin-left:20px}.nav-float-right #site-navigation{margin-left:auto}.nav-float-left #site-navigation{margin-right:auto;order:-10}.nav-float-left .header-widget{margin-left:0;margin-right:20px;order:-15}.header-aligned-center:not([class*=nav-float-]) .inside-header{justify-content:center;flex-direction:column;text-align:center}.header-aligned-center:not([class*=nav-float-]) .header-widget{margin-left:auto;margin-right:auto}.header-aligned-center:not([class*=nav-float-]) .inside-header>:not(:first-child){margin-top:1em}.header-aligned-right:not([class*=nav-float-]) .inside-header{justify-content:flex-end}.header-aligned-right:not([class*=nav-float-]) .header-widget{margin-right:auto;margin-left:0;order:-10}.site-branding-container{display:inline-flex;align-items:center;text-align:left;flex-shrink:0}.site-branding-container .site-logo{margin-right:1em}.sticky{display:block}.entry-header .gp-icon,.posted-on .updated{display:none}.byline,.entry-header .cat-links,.entry-header .comments-link,.entry-header .tags-links,.group-blog .byline,.single .byline{display:inline}footer.entry-meta .byline,footer.entry-meta .posted-on{display:block}.entry-content:not(:first-child),.entry-summary:not(:first-child),.page-content:not(:first-child){margin-top:2em}.page-links{clear:both;margin:0 0 1.5em}.archive .format-aside .entry-header,.archive .format-status .entry-header,.archive .format-status .entry-meta,.archive .format-status .entry-title,.blog .format-aside .entry-header,.blog .format-status .entry-header,.blog .format-status .entry-meta,.blog .format-status .entry-title{display:none}.archive .format-aside .entry-content,.archive .format-status .entry-content,.blog .format-aside .entry-content,.blog .format-status .entry-content{margin-top:0}.archive .format-status .entry-content p:last-child,.blog .format-status .entry-content p:last-child{margin-bottom:0}.entry-header,.site-content{word-wrap:break-word}.entry-title{margin-bottom:0}.author .page-header .page-title{display:flex;align-items:center}.author .page-header .avatar{margin-right:20px}.page-header .author-info>:last-child,.page-header>:last-child{margin-bottom:0}.entry-meta{font-size:85%;margin-top:.5em;line-height:1.5}footer.entry-meta{margin-top:2em}.cat-links,.comments-link,.tags-links{display:block}.entry-content>p:last-child,.entry-summary>p:last-child,.page-content>p:last-child,.read-more-container,.taxonomy-description p:last-child{margin-bottom:0}.wp-caption{margin-bottom:1.5em;max-width:100%;position:relative}.wp-caption img[class*=wp-image-]{display:block;margin:0 auto 0;max-width:100%}.wp-caption .wp-caption-text{font-size:75%;padding-top:5px;opacity:.8}.wp-caption img{position:relative;vertical-align:bottom}.wp-block-image figcaption{font-size:13px;text-align:center}.wp-block-gallery,ul.blocks-gallery-grid{margin-left:0}.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{background:rgba(255,255,255,.7);color:#000;padding:10px;box-sizing:border-box}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.site-main .gallery{margin-bottom:1.5em}.gallery-item img{vertical-align:bottom}.gallery-icon{padding:5px}embed,iframe,object{max-width:100%}.wp-block-post-template{margin-left:0}.widget-area .widget{padding:40px}.widget select{max-width:100%}.footer-widgets .widget :last-child,.sidebar .widget :last-child{margin-bottom:0}.widget-title{margin-bottom:30px;font-size:20px;line-height:1.5;font-weight:400;text-transform:none}.widget ol,.widget ul{margin:0}.widget .search-field{width:100%}.widget .search-form{display:flex}.widget .search-form button.search-submit{font-size:15px}.footer-widgets .widget{margin-bottom:30px}.footer-widgets .widget:last-child,.sidebar .widget:last-child{margin-bottom:0}.widget ul li{list-style-type:none;position:relative;margin-bottom:.5em}.widget ul li ul{margin-left:1em;margin-top:.5em}.wp-calendar-table{table-layout:fixed}.site-content{display:flex}.grid-container{margin-left:auto;margin-right:auto;max-width:1200px}.page-header,.sidebar .widget,.site-main>*{margin-bottom:20px}.both-left .inside-left-sidebar,.both-right .inside-left-sidebar{margin-right:10px}.both-left .inside-right-sidebar,.both-right .inside-right-sidebar{margin-left:10px}.one-container.both-right .site-main,.one-container.right-sidebar .site-main{margin-right:40px}.one-container.both-left .site-main,.one-container.left-sidebar .site-main{margin-left:40px}.one-container.both-sidebars .site-main{margin:0 40px 0 40px}.one-container.archive .post:not(:last-child):not(.is-loop-template-item),.one-container.blog .post:not(:last-child):not(.is-loop-template-item){padding-bottom:40px}.one-container .site-content{padding:40px}.separate-containers .comments-area,.separate-containers .inside-article,.separate-containers .page-header,.separate-containers .paging-navigation{padding:40px}.separate-containers .site-main{margin:20px}.separate-containers.no-sidebar .site-main{margin-left:0;margin-right:0}.separate-containers.both-right .site-main,.separate-containers.right-sidebar .site-main{margin-left:0}.separate-containers.both-left .site-main,.separate-containers.left-sidebar .site-main{margin-right:0}.separate-containers .inside-left-sidebar,.separate-containers .inside-right-sidebar{margin-top:20px;margin-bottom:20px}.inside-page-header{padding:40px}.widget-area .main-navigation{margin-bottom:20px}.one-container .site-main>:last-child,.separate-containers .site-main>:last-child{margin-bottom:0}.full-width-content .container.grid-container{max-width:100%}.full-width-content.no-sidebar.separate-containers .site-main{margin:0}.full-width-content.one-container .site-content,.full-width-content.separate-containers .inside-article{padding:0}.full-width-content .entry-content .alignwide{margin-left:0;width:auto;max-width:unset}.contained-content.one-container .site-content,.contained-content.separate-containers .inside-article{padding:0}.sidebar .grid-container{max-width:100%;width:100%}.both-left .is-left-sidebar,.both-sidebars .is-left-sidebar,.left-sidebar .sidebar{order:-10}.both-left .is-right-sidebar{order:-5}.both-right .is-left-sidebar{order:5}.both-right .is-right-sidebar,.both-sidebars .is-right-sidebar{order:10}.inside-site-info{display:flex;align-items:center;justify-content:center;padding:20px 40px}.site-info{text-align:center;font-size:15px}.post-image:not(:first-child){margin-top:2em}.featured-image{line-height:0}.separate-containers .featured-image{margin-top:20px}.separate-containers .inside-article>.featured-image{margin-top:0;margin-bottom:2em}.one-container .inside-article>.featured-image{margin-top:0;margin-bottom:2em}.gp-icon{display:inline-flex;align-self:center}.gp-icon svg{height:1em;width:1em;top:.125em;position:relative;fill:currentColor}.close-search .icon-search svg:first-child,.icon-menu-bars svg:nth-child(2),.icon-search svg:nth-child(2),.toggled .icon-menu-bars svg:first-child{display:none}.close-search .icon-search svg:nth-child(2),.toggled .icon-menu-bars svg:nth-child(2){display:block}.entry-meta .gp-icon{margin-right:.6em;opacity:.7}nav.toggled .icon-arrow-left svg{transform:rotate(-90deg)}nav.toggled .icon-arrow-right svg{transform:rotate(90deg)}nav.toggled .sfHover>a>.dropdown-menu-toggle .gp-icon svg{transform:rotate(180deg)}nav.toggled .sfHover>a>.dropdown-menu-toggle .gp-icon.icon-arrow-left svg{transform:rotate(-270deg)}nav.toggled .sfHover>a>.dropdown-menu-toggle .gp-icon.icon-arrow-right svg{transform:rotate(270deg)}.container.grid-container{width:auto}.menu-toggle,.mobile-bar-items,.sidebar-nav-mobile{display:none}.menu-toggle{padding:0 20px;line-height:60px;margin:0;font-weight:400;text-transform:none;font-size:15px;cursor:pointer}.menu-toggle .mobile-menu{padding-left:3px}.menu-toggle .gp-icon+.mobile-menu{padding-left:9px}.menu-toggle .mobile-menu:empty{display:none}button.menu-toggle{background-color:transparent;flex-grow:1;border:0;text-align:center}button.menu-toggle:active,button.menu-toggle:focus,button.menu-toggle:hover{background-color:transparent}.has-menu-bar-items button.menu-toggle{flex-grow:0}nav.toggled ul ul.sub-menu{width:100%}.toggled .menu-item-has-children .dropdown-menu-toggle{padding-left:20px}.main-navigation.toggled .main-nav{flex-basis:100%;order:3}.main-navigation.toggled .main-nav>ul{display:block}.main-navigation.toggled .main-nav li{width:100%;text-align:left}.main-navigation.toggled .main-nav ul ul{transition:0s;visibility:hidden;box-shadow:none;border-bottom:1px solid rgba(0,0,0,.05)}.main-navigation.toggled .main-nav ul ul li:last-child>ul{border-bottom:0}.main-navigation.toggled .main-nav ul ul.toggled-on{position:relative;top:0;left:auto!important;right:auto!important;width:100%;pointer-events:auto;height:auto;opacity:1;display:block;visibility:visible;float:none}.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle{float:right}.mobile-menu-control-wrapper{display:none;margin-left:auto;align-items:center}.has-inline-mobile-toggle #site-navigation.toggled{margin-top:1.5em}.has-inline-mobile-toggle #site-navigation.has-active-search{margin-top:1.5em}.has-inline-mobile-toggle #site-navigation.has-active-search .nav-search-active{position:relative}.has-inline-mobile-toggle #site-navigation.has-active-search .navigation-search input{outline:auto}.nav-float-left .mobile-menu-control-wrapper{order:-10;margin-left:0;margin-right:auto;flex-direction:row-reverse}@media (max-width:768px){.hide-on-mobile{display:none!important}a,body,button,input,select,textarea{transition:all 0s ease-in-out}.inside-header{flex-direction:column;text-align:center}.site-header .header-widget{margin-top:1.5em;margin-left:auto;margin-right:auto;text-align:center}.site-content{flex-direction:column}.container .site-content .content-area{width:auto}.is-left-sidebar.sidebar,.is-right-sidebar.sidebar{width:auto;order:initial}.is-left-sidebar+.is-right-sidebar .inside-right-sidebar{margin-top:0}.both-left .inside-left-sidebar,.both-left .inside-right-sidebar,.both-right .inside-left-sidebar,.both-right .inside-right-sidebar{margin-right:0;margin-left:0}#main{margin-left:0;margin-right:0}body:not(.no-sidebar) #main{margin-bottom:0}.alignleft,.alignright{float:none;display:block;margin-left:auto;margin-right:auto}.comment .children{padding-left:10px;margin-left:0}.entry-meta{font-size:inherit}.entry-meta a{line-height:1.8em}}@media (min-width:769px) and (max-width:1024px){.hide-on-tablet{display:none!important}}@media (min-width:1025px){.hide-on-desktop{display:none!important}}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/generatepress-child.css */
/*
Theme Name: GeneratePress ISBAT Child
Theme URI: https://www.isbaneteknikk.no/
Description: Isbaneteknikk child theme for stabilized frontend assets and WooCommerce readiness.
Author: Isbaneteknikk AS
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-isbat-child
*/

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/isbat-core.css */
/*!
 * isbat-core.css — ISHELLA V2.5 design system (sv-* components)
 * Auto-generated from WPCode snippet 1009528.
 * NOTE: .sv-* classes are scoped under .elementor-widget-html because legacy content was
 *       authored as HTML widgets under Elementor. Wrapper class persists in post_content.
 */
/* ============================================================
   ISHELLA V2.5 — Core design system (sv-* components)
   Auto-applied to all pages via WPCode site_wide_header
   ============================================================ */

/* Design tokens */
:root {
  --isbat-brand-red: #ff1744;
  --isbat-brand-red-deep: #c4102f;
  --isbat-ice-blue: #2dd4ff;
  --isbat-ice-blue-soft: #7ff0ff;
  --isbat-ice-neon: #00f2ff;
  --isbat-ice-green: #10b981;
  --isbat-bg-deep: #040816;
  --isbat-bg-card: rgba(13, 21, 38, .55);
  --isbat-bg-card-alt: rgba(10, 18, 32, .82);
  --isbat-border-subtle: rgba(255, 255, 255, .08);
  --isbat-border-line: rgba(255, 255, 255, .14);
  --isbat-text-primary: #e2e8f0;
  --isbat-text-secondary: rgba(226, 232, 240, .72);
  --isbat-text-muted: rgba(226, 232, 240, .55);
  --isbat-radius-sm: 10px;
  --isbat-radius-md: 14px;
  --isbat-radius-lg: 20px;
  --isbat-radius-xl: 28px;
  --isbat-font-display: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --isbat-font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --isbat-fs-xxs: .72rem;
  --isbat-fs-xs: .82rem;
  --isbat-fs-sm: .92rem;
  --isbat-fs-md: 1rem;
  --isbat-fs-lg: 1.12rem;
  --isbat-fs-xl: 1.35rem;
  --isbat-fs-2xl: clamp(1.55rem, 2.4vw, 2.2rem);
  --isbat-fs-3xl: clamp(2rem, 3.4vw, 3rem);
  --brand-red: var(--isbat-brand-red);
  --ice-blue: var(--isbat-ice-blue);
  --ice-blue-soft: var(--isbat-ice-blue-soft);
  --text-primary: var(--isbat-text-primary);
  --text-secondary: var(--isbat-text-secondary);
  --text-muted: var(--isbat-text-muted);
  --border-subtle: var(--isbat-border-subtle);
  --turf-green: var(--isbat-ice-green);
  --v24-fs-md: var(--isbat-fs-md);
  --v24-fs-lg: var(--isbat-fs-lg);
  --v24-fs-xl: var(--isbat-fs-xl);
  --v24-fs-2xl: var(--isbat-fs-2xl);
  --v24-fs-3xl: var(--isbat-fs-3xl);
}

/* Container */
.elementor-widget-html .sv-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 28px);
  box-sizing: border-box;
}

/* Section */
.elementor-widget-html .sv-section {
  padding: clamp(48px, 7vw, 96px) 0;
  position: relative;
}
.elementor-widget-html .sv-section--alt {
  background: linear-gradient(180deg, rgba(13, 21, 38, .55), rgba(4, 8, 22, .72));
  border-top: 1px solid var(--isbat-border-subtle);
  border-bottom: 1px solid var(--isbat-border-subtle);
}

.elementor-widget-html .sv-section-header {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}
.elementor-widget-html .sv-label {
  display: inline-block;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: var(--isbat-ice-blue-soft);
  text-transform: uppercase;
  letter-spacing: .18em;
  padding: 6px 14px;
  border: 1px solid rgba(45, 212, 255, .28);
  border-radius: 999px;
  background: rgba(45, 212, 255, .06);
  margin-bottom: 16px;
}
.elementor-widget-html .sv-label--center {
  display: inline-block;
}
.elementor-widget-html .sv-title {
  font-family: var(--isbat-font-display);
  font-size: var(--isbat-fs-3xl);
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.12;
  color: #fff;
  margin: 0 0 16px;
}
.elementor-widget-html .sv-title .accent {
  background: linear-gradient(135deg, var(--isbat-brand-red), var(--isbat-ice-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.elementor-widget-html .sv-desc {
  font-size: var(--isbat-fs-md);
  color: var(--isbat-text-secondary);
  line-height: 1.65;
  margin: 0 auto;
  max-width: 720px;
}

/* Hero */
.elementor-widget-html .sv-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: var(--isbat-ice-blue-soft);
  text-transform: uppercase;
  letter-spacing: .15em;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(45, 212, 255, .3);
  background: rgba(45, 212, 255, .06);
  margin-right: 8px;
}
.elementor-widget-html .sv-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--isbat-ice-blue);
  box-shadow: 0 0 10px var(--isbat-ice-blue);
  animation: isbat-pulse 2s ease-in-out infinite;
}
@keyframes isbat-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .45; }
}
.elementor-widget-html .sv-article-type-badge {
  display: inline-block;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: #ff8fa3;
  text-transform: uppercase;
  letter-spacing: .14em;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 23, 68, .35);
  background: rgba(255, 23, 68, .08);
}

/* Decision cards (used on cc-100-vs-cc-200 and other hub pages) */
.elementor-widget-html .sv-decision {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.elementor-widget-html .sv-decision-card {
  background: linear-gradient(180deg, var(--isbat-bg-card), var(--isbat-bg-card-alt));
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-lg);
  padding: 24px 22px 22px;
  box-shadow: 0 18px 48px rgba(2, 6, 23, .45), inset 0 1px 0 rgba(255, 255, 255, .04);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.elementor-widget-html .sv-decision-card:hover {
  transform: translateY(-3px);
  border-color: rgba(45, 212, 255, .45);
  box-shadow: 0 22px 56px rgba(2, 6, 23, .55), 0 0 0 1px rgba(45, 212, 255, .2);
}
.elementor-widget-html .sv-decision-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(255, 23, 68, .18), rgba(45, 212, 255, .12));
  border: 1px solid rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 14px;
}
.elementor-widget-html .sv-decision-card h3 {
  font-size: var(--isbat-fs-xl);
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
  letter-spacing: -.005em;
}
.elementor-widget-html .sv-decision-answer {
  display: inline-block;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xs);
  font-weight: 800;
  color: var(--isbat-ice-green);
  background: rgba(16, 185, 129, .12);
  border: 1px solid rgba(16, 185, 129, .35);
  padding: 4px 10px;
  border-radius: 8px;
  margin-bottom: 12px;
}
.elementor-widget-html .sv-decision-card p {
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  line-height: 1.62;
  margin: 0;
}

/* FAQ */
.elementor-widget-html .sv-faq-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 900px) {
  .elementor-widget-html .sv-faq-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.elementor-widget-html .sv-faq-sidebar p {
  color: var(--isbat-text-secondary);
  line-height: 1.6;
  font-size: var(--isbat-fs-md);
}
.elementor-widget-html .sv-faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.elementor-widget-html .sv-faq-item {
  background: var(--isbat-bg-card);
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-md);
  overflow: hidden;
  transition: border-color .2s ease;
}
.elementor-widget-html .sv-faq-item.open {
  border-color: rgba(45, 212, 255, .4);
}
.elementor-widget-html .sv-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 18px 20px;
  background: transparent;
  border: 0;
  color: #fff;
  font-family: var(--isbat-font-display);
  font-size: var(--isbat-fs-md);
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  line-height: 1.4;
}
.elementor-widget-html .sv-faq-q:hover {
  color: var(--isbat-ice-blue);
}
.elementor-widget-html .sv-faq-q i {
  transition: transform .2s ease;
  color: var(--isbat-ice-blue-soft);
}
.elementor-widget-html .sv-faq-item.open .sv-faq-q i {
  transform: rotate(180deg);
}
.elementor-widget-html .sv-faq-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height .3s ease;
}
.elementor-widget-html .sv-faq-item.open .sv-faq-body {
  max-height: 2000px;
}
.elementor-widget-html .sv-faq-body-inner {
  padding: 0 20px 20px;
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  line-height: 1.68;
  border-top: 1px solid var(--isbat-border-subtle);
  padding-top: 18px;
}
.elementor-widget-html .sv-faq-body-inner a {
  color: var(--isbat-ice-blue);
}

/* Text link */
.elementor-widget-html .sv-text-link {
  color: var(--isbat-ice-blue);
  border-bottom: 1px solid rgba(45, 212, 255, .4);
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}
.elementor-widget-html .sv-text-link:hover {
  color: var(--isbat-ice-blue-soft);
  border-color: var(--isbat-ice-blue-soft);
}

/* Buttons */
.elementor-widget-html .sv-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-radius: 12px;
  font-family: var(--isbat-font-display);
  font-size: var(--isbat-fs-sm);
  font-weight: 700;
  letter-spacing: .01em;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  line-height: 1.2;
}
.elementor-widget-html .sv-btn--primary {
  background: linear-gradient(135deg, var(--isbat-brand-red), var(--isbat-brand-red-deep));
  color: #fff;
  box-shadow: 0 12px 28px rgba(255, 23, 68, .28);
}
.elementor-widget-html .sv-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(255, 23, 68, .42);
}
.elementor-widget-html .sv-btn--ghost {
  background: rgba(255, 255, 255, .04);
  color: #fff;
  border-color: var(--isbat-border-line);
}
.elementor-widget-html .sv-btn--ghost:hover {
  border-color: var(--isbat-ice-blue);
  color: var(--isbat-ice-blue);
}
.elementor-widget-html .sv-btn--hero-ice {
  background: rgba(45, 212, 255, .08);
  color: var(--isbat-ice-blue);
  border-color: rgba(45, 212, 255, .35);
}
.elementor-widget-html .sv-btn--hero-ice:hover {
  background: rgba(45, 212, 255, .14);
  border-color: var(--isbat-ice-blue);
}
.elementor-widget-html .sv-btn--lg {
  padding: 14px 28px;
  font-size: var(--isbat-fs-md);
  border-radius: 14px;
}

/* Related cards (bottom-of-page "Les videre" grids) */
.elementor-widget-html .sv-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.elementor-widget-html .sv-related-card {
  display: block;
  background: var(--isbat-bg-card);
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-md);
  padding: 22px 20px;
  color: #fff;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.elementor-widget-html .sv-related-card:hover {
  transform: translateY(-3px);
  border-color: rgba(45, 212, 255, .45);
  box-shadow: 0 18px 40px rgba(2, 6, 23, .5);
}
.elementor-widget-html .sv-related-card .icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(45, 212, 255, .1);
  color: var(--isbat-ice-blue);
  margin-bottom: 12px;
}
.elementor-widget-html .sv-related-card h3 {
  font-size: var(--isbat-fs-lg);
  font-weight: 700;
  margin: 0 0 6px;
}
.elementor-widget-html .sv-related-card p {
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  margin: 0 0 14px;
  line-height: 1.55;
}
.elementor-widget-html .sv-related-card .cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--isbat-fs-xs);
  font-family: var(--isbat-font-mono);
  font-weight: 700;
  color: var(--isbat-ice-blue);
  text-transform: uppercase;
  letter-spacing: .12em;
}

/* CTA section */
.elementor-widget-html .sv-cta-section {
  text-align: center;
  padding: clamp(60px, 8vw, 110px) 0;
}
.elementor-widget-html .sv-cta-inner {
  max-width: 720px;
  margin: 0 auto;
}
.elementor-widget-html .sv-cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: var(--isbat-ice-blue-soft);
  text-transform: uppercase;
  letter-spacing: .15em;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid rgba(45, 212, 255, .3);
  background: rgba(45, 212, 255, .06);
  margin-bottom: 16px;
}
.elementor-widget-html .sv-cta-section h2 {
  font-family: var(--isbat-font-display);
  font-size: var(--isbat-fs-2xl);
  font-weight: 800;
  color: #fff;
  margin: 0 0 14px;
  line-height: 1.15;
}
.elementor-widget-html .sv-cta-section p {
  font-size: var(--isbat-fs-md);
  color: var(--isbat-text-secondary);
  line-height: 1.6;
  margin: 0 0 28px;
}
.elementor-widget-html .sv-cta-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Creds bar */
.elementor-widget-html .sv-creds-bar {
  background: rgba(13, 21, 38, .7);
  border-top: 1px solid var(--isbat-border-subtle);
  border-bottom: 1px solid var(--isbat-border-subtle);
  padding: 22px 0;
}
.elementor-widget-html .sv-creds-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.elementor-widget-html .sv-creds-item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  color: rgba(255, 255, 255, .8);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.elementor-widget-html .sv-creds-item img {
  height: 44px;
  width: auto;
  opacity: .9;
}
.elementor-widget-html .sv-creds-logo--miljo {
  height: 52px !important;
}

/* Reveal animation */
.elementor-widget-html .sv-reveal:not(.is-inview) {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity .8s cubic-bezier(.22, .61, .36, 1), transform .8s cubic-bezier(.22, .61, .36, 1);
}
.elementor-widget-html .sv-reveal.is-inview {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .elementor-widget-html .sv-reveal,
  .elementor-widget-html .sv-reveal:not(.is-inview) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Misc utilities */
.elementor-widget-html .sv-divider {
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, transparent, var(--isbat-border-line), transparent);
  margin: 0;
}
/* ============================================================
   ISHELLA V2.5 — Extended components (append to core CSS)
   Hero variants, intro, compare-table, panels, tools, lcc,
   facts, related, process steps, class tables, verdict
   ============================================================ */

/* ===== Hero page variants ===== */
.elementor-widget-html .sv-hero,
.elementor-widget-html .sv-hero--article,
.elementor-widget-html .sv-hero--hub,
.elementor-widget-html .sv-hero--editorial {
  position: relative;
  min-height: min(68vh, 720px);
  padding: clamp(60px, 10vw, 120px) 0;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.elementor-widget-html .sv-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.elementor-widget-html .sv-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.elementor-widget-html .sv-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(4, 8, 22, .85) 0%, rgba(4, 8, 22, .55) 50%, rgba(4, 8, 22, .75) 100%);
}
.elementor-widget-html .sv-hero-content,
.elementor-widget-html .sv-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 860px;
}
.elementor-widget-html .sv-hero-title--article {
  font-family: var(--isbat-font-display);
  font-size: var(--isbat-fs-3xl);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.08;
  color: #fff;
  margin: 16px 0 18px;
}
.elementor-widget-html .sv-gradient {
  background: linear-gradient(135deg, var(--isbat-brand-red), var(--isbat-ice-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.elementor-widget-html .sv-hero-tagline,
.elementor-widget-html .sv-hero-tagline--panel {
  font-size: var(--isbat-fs-lg);
  color: var(--isbat-text-secondary);
  line-height: 1.62;
  margin: 0 0 24px;
  max-width: 720px;
}
.elementor-widget-html .sv-hero-tagline--panel {
  padding: 16px 20px;
  background: rgba(13, 21, 38, .55);
  border-left: 3px solid var(--isbat-ice-blue);
  border-radius: 6px;
}
.elementor-widget-html .sv-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.elementor-widget-html .sv-article-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 20px 0 24px;
}
.elementor-widget-html .sv-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: rgba(255, 255, 255, .82);
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .12);
}
.elementor-widget-html .sv-meta-pill i {
  color: var(--isbat-ice-blue);
}
.elementor-widget-html .sv-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--isbat-brand-red), var(--isbat-ice-blue));
  z-index: 9999;
  transition: width .15s ease-out;
  width: 0;
  pointer-events: none;
}

/* ===== Intro section ===== */
.elementor-widget-html .sv-intro {
  padding: clamp(48px, 7vw, 96px) 0;
}
.elementor-widget-html .sv-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: center;
}
@media (max-width: 880px) {
  .elementor-widget-html .sv-intro-grid {
    grid-template-columns: 1fr;
  }
}
.elementor-widget-html .sv-intro-text {
  font-size: var(--isbat-fs-md);
  color: var(--isbat-text-secondary);
  line-height: 1.72;
}
.elementor-widget-html .sv-intro-img img,
.elementor-widget-html .sv-intro-img {
  border-radius: var(--isbat-radius-lg);
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(2, 6, 23, .5);
}
.elementor-widget-html .sv-intro-cta {
  margin-top: 24px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ===== Facts section ===== */
.elementor-widget-html .sv-facts {
  padding: clamp(48px, 7vw, 96px) 0;
}
.elementor-widget-html .sv-facts-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 36px;
}
.elementor-widget-html .sv-facts-head h2 {
  font-size: var(--isbat-fs-2xl);
  font-weight: 800;
  color: #fff;
  margin: 10px 0 12px;
}
.elementor-widget-html .sv-facts-head p {
  color: var(--isbat-text-secondary);
  line-height: 1.6;
}
.elementor-widget-html .sv-facts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.elementor-widget-html .sv-fact {
  background: var(--isbat-bg-card);
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-md);
  padding: 22px 20px;
}
.elementor-widget-html .sv-fact .icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(45, 212, 255, .12);
  color: var(--isbat-ice-blue);
  margin-bottom: 14px;
}
.elementor-widget-html .sv-fact h3 {
  font-size: var(--isbat-fs-lg);
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
}
.elementor-widget-html .sv-fact p {
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  line-height: 1.6;
  margin: 0;
}
.elementor-widget-html .sv-fact code {
  font-family: var(--isbat-font-mono);
  font-size: .86em;
  padding: 1px 6px;
  background: rgba(45, 212, 255, .1);
  border-radius: 4px;
  color: var(--isbat-ice-blue-soft);
}
.elementor-widget-html .sv-factbox {
  padding: 18px 22px;
  background: linear-gradient(135deg, rgba(45, 212, 255, .05), rgba(16, 185, 129, .03));
  border: 1px solid rgba(45, 212, 255, .2);
  border-radius: var(--isbat-radius-md);
  color: var(--isbat-text-secondary);
  line-height: 1.6;
  font-size: var(--isbat-fs-sm);
  margin: 22px auto 0;
  max-width: 1100px;
}
.elementor-widget-html .sv-factbox strong {
  color: #fff;
}
.elementor-widget-html .sv-factbox i {
  color: var(--isbat-ice-green);
  margin-right: 6px;
}

/* ===== Compare table (cc 100 vs cc 200) ===== */
.elementor-widget-html .sv-compare-table {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 0;
  background: var(--isbat-bg-card);
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-lg);
  overflow: hidden;
  margin-top: 12px;
}
.elementor-widget-html .sv-compare-table > * {
  padding: 14px 16px;
  border-bottom: 1px solid var(--isbat-border-subtle);
  display: flex;
  align-items: center;
}
.elementor-widget-html .sv-compare-row-label {
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xs);
  font-weight: 700;
  color: var(--isbat-text-secondary);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.elementor-widget-html .sv-compare-head {
  background: linear-gradient(180deg, rgba(255, 23, 68, .08), rgba(13, 21, 38, .5));
  font-family: var(--isbat-font-display);
  font-weight: 800;
  color: #fff;
  font-size: var(--isbat-fs-lg);
  flex-direction: column;
  align-items: flex-start;
  padding: 22px 18px;
  border-bottom: 2px solid rgba(255, 255, 255, .1);
}
.elementor-widget-html .sv-compare-head--cc200 {
  background: linear-gradient(180deg, rgba(255, 23, 68, .14), rgba(13, 21, 38, .55));
}
.elementor-widget-html .sv-compare-head--cc100 {
  background: linear-gradient(180deg, rgba(16, 185, 129, .18), rgba(13, 21, 38, .55));
}
.elementor-widget-html .sv-compare-head-sub {
  display: block;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 600;
  color: rgba(255, 255, 255, .6);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-top: 4px;
}
.elementor-widget-html .sv-compare-cell {
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-sm);
  font-weight: 600;
  color: var(--isbat-text-primary);
}
.elementor-widget-html .sv-compare-cell.cc200 {
  color: rgba(255, 255, 255, .75);
}
.elementor-widget-html .sv-compare-cell.winner {
  color: var(--isbat-ice-green);
  font-weight: 700;
  background: rgba(16, 185, 129, .05);
}
.elementor-widget-html .sv-compare-cell.winner-red {
  color: #ff8fa3;
  font-weight: 600;
}
@media (max-width: 780px) {
  .elementor-widget-html .sv-compare-table {
    grid-template-columns: 1fr;
  }
  .elementor-widget-html .sv-compare-table > * {
    border-right: 0;
  }
  .elementor-widget-html .sv-compare-cell::before {
    content: attr(data-label) ' — ';
    font-weight: 700;
    color: var(--isbat-ice-blue-soft);
    margin-right: 6px;
  }
}

/* ===== Panel grid (hydraulics / thermal) ===== */
.elementor-widget-html .sv-panel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}
.elementor-widget-html .sv-panel {
  background: var(--isbat-bg-card);
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-md);
  padding: 24px 22px;
}
.elementor-widget-html .sv-panel h3 {
  font-size: var(--isbat-fs-lg);
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
}
.elementor-widget-html .sv-panel p {
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  line-height: 1.62;
  margin: 0;
}
.elementor-widget-html .sv-panel-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  color: #fff;
  font-size: 1.1rem;
}
.elementor-widget-html .sv-panel-icon--amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.elementor-widget-html .sv-panel-icon--emerald { background: linear-gradient(135deg, #10b981, #047857); }
.elementor-widget-html .sv-panel-icon--red { background: linear-gradient(135deg, var(--isbat-brand-red), var(--isbat-brand-red-deep)); }

/* ===== LCC callout ===== */
.elementor-widget-html .sv-lcc-callout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  padding: 28px 28px;
  background: linear-gradient(135deg, rgba(16, 185, 129, .08), rgba(13, 21, 38, .6));
  border: 1px solid rgba(16, 185, 129, .25);
  border-left: 4px solid var(--isbat-ice-green);
  border-radius: var(--isbat-radius-lg);
  align-items: start;
  margin: 22px 0;
}
.elementor-widget-html .sv-lcc-icon {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(16, 185, 129, .18);
  color: var(--isbat-ice-green);
  font-size: 1.35rem;
}
.elementor-widget-html .sv-lcc-text h3 {
  font-size: var(--isbat-fs-xl);
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
}
.elementor-widget-html .sv-lcc-text p {
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  line-height: 1.62;
  margin: 0;
}

/* ===== Tool grid (undervarme hub) ===== */
.elementor-widget-html .sv-tool-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}
.elementor-widget-html .sv-tool-card {
  display: block;
  background: var(--isbat-bg-card);
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-lg);
  padding: 26px 24px 22px;
  color: #fff;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.elementor-widget-html .sv-tool-card:hover {
  transform: translateY(-4px);
  border-color: rgba(45, 212, 255, .5);
  box-shadow: 0 22px 56px rgba(2, 6, 23, .55), 0 0 0 1px rgba(45, 212, 255, .2);
}
.elementor-widget-html .sv-tool-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(45, 212, 255, .18), rgba(45, 212, 255, .05));
  border: 1px solid rgba(45, 212, 255, .28);
  color: var(--isbat-ice-blue);
  font-size: 1.2rem;
  margin-bottom: 14px;
}
.elementor-widget-html .sv-tool-icon--red { background: linear-gradient(135deg, rgba(255, 23, 68, .2), rgba(255, 23, 68, .06)); border-color: rgba(255, 23, 68, .35); color: #ff8fa3; }
.elementor-widget-html .sv-tool-icon--amber { background: linear-gradient(135deg, rgba(245, 158, 11, .2), rgba(245, 158, 11, .06)); border-color: rgba(245, 158, 11, .35); color: #fbbf24; }
.elementor-widget-html .sv-tool-icon--emerald { background: linear-gradient(135deg, rgba(16, 185, 129, .2), rgba(16, 185, 129, .06)); border-color: rgba(16, 185, 129, .35); color: var(--isbat-ice-green); }
.elementor-widget-html .sv-tool-card h3 {
  font-size: var(--isbat-fs-xl);
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
}
.elementor-widget-html .sv-tool-card p {
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  line-height: 1.6;
  margin: 0 0 16px;
}
.elementor-widget-html .sv-tool-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: var(--isbat-ice-blue);
  text-transform: uppercase;
  letter-spacing: .12em;
}
.elementor-widget-html .sv-tool-tag {
  display: inline-block;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  color: rgba(255, 255, 255, .78);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.elementor-widget-html .sv-tool-tag--ice { background: rgba(45, 212, 255, .1); border-color: rgba(45, 212, 255, .25); color: var(--isbat-ice-blue-soft); }

/* ===== Related section wrapper ===== */
.elementor-widget-html .sv-related {
  padding: clamp(48px, 7vw, 96px) 0;
  border-top: 1px solid var(--isbat-border-subtle);
}

/* ===== Reveal delays ===== */
.elementor-widget-html .sv-d1 { transition-delay: .05s; }
.elementor-widget-html .sv-d2 { transition-delay: .1s; }
.elementor-widget-html .sv-d3 { transition-delay: .15s; }
.elementor-widget-html .sv-d4 { transition-delay: .2s; }
.elementor-widget-html .sv-d5 { transition-delay: .25s; }
.elementor-widget-html .sv-d6 { transition-delay: .3s; }
.elementor-widget-html .sv-d7 { transition-delay: .35s; }

/* ===== Process track (numbered steps) ===== */
.elementor-widget-html .sv-process-track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  position: relative;
}
.elementor-widget-html .sv-process-step {
  display: block;
  padding: 24px 22px;
  background: var(--isbat-bg-card);
  border: 1px solid var(--isbat-border-line);
  border-radius: var(--isbat-radius-md);
  color: #fff;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}
.elementor-widget-html .sv-process-step:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 23, 68, .4);
}
.elementor-widget-html .sv-process-num {
  font-family: var(--isbat-font-mono);
  font-size: 2rem;
  font-weight: 800;
  color: var(--isbat-brand-red);
  line-height: 1;
  margin-bottom: 8px;
}

/* ===== Verdict + gradient accent ===== */
.elementor-widget-html .sv-verdict {
  background: linear-gradient(135deg, rgba(255, 23, 68, .08), rgba(16, 185, 129, .05));
  border-left: 4px solid var(--isbat-brand-red);
  border-radius: var(--isbat-radius-md);
  padding: 24px 26px;
  margin-top: 24px;
}
.elementor-widget-html .sv-verdict h3 {
  font-size: var(--isbat-fs-xl);
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
}
.elementor-widget-html .sv-verdict p {
  font-size: var(--isbat-fs-sm);
  color: var(--isbat-text-secondary);
  line-height: 1.62;
  margin: 0;
}

/* ===== Small helpers ===== */
.elementor-widget-html .sv-eyebrow {
  display: inline-block;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: var(--isbat-ice-blue-soft);
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 10px;
}
.elementor-widget-html .sv-skip-link {
  position: absolute;
  left: -9999px;
  opacity: 0;
}
.elementor-widget-html .sv-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.elementor-widget-html .sv-partners {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 22px 0;
}
.elementor-widget-html .sv-partner-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xs);
  font-weight: 700;
  color: rgba(255, 255, 255, .78);
  text-transform: uppercase;
  letter-spacing: .1em;
}
.elementor-widget-html .sv-partners-eyebrow {
  font-family: var(--isbat-font-mono);
  font-size: var(--isbat-fs-xxs);
  font-weight: 700;
  color: var(--isbat-text-muted);
  text-transform: uppercase;
  letter-spacing: .14em;
}
.elementor-widget-html .sv-partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
  align-items: center;
  padding: 16px 0;
}

/* ===== Responsive ===== */
@media (max-width: 600px) {
  .elementor-widget-html .sv-hero-title--article {
    font-size: clamp(1.65rem, 7vw, 2.2rem);
  }
  .elementor-widget-html .sv-title {
    font-size: clamp(1.55rem, 6.5vw, 2.1rem);
  }
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/isbat-nav.css */
/*!
 * isbat-nav.css — Hide GP default menus (from WPCode 1009478)
 */
/* ISHELLA V2.5 — skjul GeneratePress default menyer (duplikat-stabling-fix) */
.main-navigation#site-navigation,
.main-navigation.mobile-menu-control-wrapper,
#mobile-menu-control-wrapper,
.main-navigation.sub-menu-right,
.gp-has-sticky-navigation .main-navigation,
body .main-navigation:not(.isbat-nav){
  display:none!important;visibility:hidden!important;height:0!important;
  min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;
}
.isbat-nav{z-index:99999!important}
body.gp-sticky-menu-fake{padding-top:0!important}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/isbat-global.css */
/*!
 * isbat-global.css — ISHELLA V2.5 globale overstyringer
 * Konsoliderer: a11y-korrekt skip-link (fra 1009433), global breadcrumb-hide (fra 1009434),
 *               butikk-side header-hide for page-id-1009213 (fra 1009434).
 * Loaded on: alle sider.
 */

/* ============================================================
   SKIP-LINK — a11y-korrekt (skjul visuelt, vis på :focus for keyboard)
   ============================================================ */
a.skip-link,
.skip-link,
.screen-reader-text.skip-link {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
a.skip-link:focus,
.skip-link:focus,
.screen-reader-text.skip-link:focus {
  position: fixed !important;
  left: 16px !important;
  top: 16px !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 20px !important;
  background: #ff1744 !important;
  color: #fff !important;
  z-index: 99999 !important;
  border-radius: 10px !important;
  clip: auto !important;
  clip-path: none !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3) !important;
  overflow: visible !important;
}

/* ============================================================
   GLOBAL BREADCRUMB-HIDE (Woo-sider re-aktiverer i isbat-woo.css)
   ============================================================ */
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb,
.rank-math-breadcrumb,
.rank-math-breadcrumb-list,
.yoast-breadcrumb,
#breadcrumbs,
.breadcrumbs,
.generate-breadcrumb,
.breadcrumb-trail {
  display: none !important;
}
body.page-id-1009213 .site-content,
body.page-id-1009213 #page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ============================================================
   DARK PAGE WRAPPER OVERRIDE (Isbat audit 2026-05-15)
   GeneratePress' inline `.one-container .container { background: var(--base-3) }`
   gir hvit bakgrunn på #page-wrapperen, som overstyrer ISHELLA-mørktemaet og
   gjør lyse tekster (--text-primary: #f8fbff, #f0fdf4, #7dd3fc, osv.) usynlige
   på sider som bruker ISHELLA-tokens uten eksplisitt seksjon-bakgrunn.
   Fiks: gjør alle GeneratePress strukturelle wrappers transparente på non-Woo sider
   (Woo-sider lastes uten denne filen via isbat-css-pipeline.php).
   ============================================================ */
html body #page.site,
html body #page.grid-container,
html body #page.container,
html body #masthead.site-header,
html body .inside-article,
html body .site-content,
html body .content-area,
html body .site-main,
html body article.page,
html body article.post {
  background-color: transparent !important;
  background: transparent !important;
}
/* Sikre mørk fallback på body slik at sider som forventer mørkt tema alltid har det */
html body {
  background-color: #040816;
}

/* ============================================================
   LIGHTBOX OVERLAY — Vanilla version (Isbat audit 2026-05-15 v2)
   Vanilla JS lightbox uten Swiper-avhengighet, for å fungere uavhengig
   av CDN-blokkering, eldre nettlesere og caching-issues.
   ============================================================ */
.sv-lb-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.96);
  z-index: 100000;
  align-items: center;
  justify-content: center;
}
.sv-lb-overlay.is-open {
  display: flex !important;
}
.sv-lb-overlay .isbat-lb-stage {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
  box-sizing: border-box;
}
.sv-lb-overlay .isbat-lb-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}
.sv-lb-overlay .isbat-lb-close {
  position: fixed;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  z-index: 100003;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.sv-lb-overlay .isbat-lb-close:hover {
  background: rgba(255, 0, 51, 0.7);
  border-color: rgba(255, 255, 255, 0.5);
}
.sv-lb-overlay .isbat-lb-counter {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 13px;
  font-weight: 700;
  z-index: 100001;
}
.sv-lb-overlay .isbat-lb-hint {
  position: fixed;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  z-index: 100001;
  pointer-events: none;
  opacity: 0;
  animation: isbat-lb-hint-fade 4.5s ease-out forwards;
}
@keyframes isbat-lb-hint-fade {
  0%   { opacity: 0; transform: translateX(-50%) translateY(-8px); }
  10%  { opacity: 1; transform: translateX(-50%) translateY(0); }
  80%  { opacity: 1; }
  100% { opacity: 0; }
}
.sv-lb-overlay .isbat-lb-img {
  transition: opacity .18s ease-out;
}
@media (max-width: 600px) {
  .sv-lb-overlay .isbat-lb-close { top: 12px; right: 12px; }
  .sv-lb-overlay .isbat-lb-hint { top: 12px; font-size: 11px; padding: 5px 11px; }
  .sv-lb-overlay .isbat-lb-counter { bottom: 12px; }
}

/* Lås body-scroll når lightbox er åpen */
body.isbat-lb-open {
  overflow: hidden;
}
/* Galleri-items skal alltid føles klikkbare */
.sv-gal-item {
  cursor: pointer;
}

/* ============================================================
   GALLERI SCROLL FIX (Isbat audit 2026-05-15 v4)
   Inline-CSS på prosjektsidene gjør to ting som går galt:
     1) `.sv-gal-item:nth-child(n+13){display:none}` skjuler items 13+
     2) `.sv-gal-viewport` har max-height + overflow:auto som lager
        en nested scroll-container som musen "ruller forbi" istedenfor
        inn-i. Dårlig UX.
   Fiks: fjern nested scroll helt. La alle items vises i en vanlig
   grid som følger naturlig side-scroll.
   ============================================================ */
.sv-gal-viewport .sv-gal-item:nth-child(n+13),
.sv-gal-viewport .sv-gal-item {
  display: block !important;
}
.sv-gal-viewport {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  scrollbar-width: auto;
}
/* Behold padding/visuell ramme på viewport, men ingen scroll */
.sv-gal-viewport::-webkit-scrollbar { display: none; }

/* === Legacy Swiper-styling (beholdes hvis Swiper lastes andre steder) === */
.sv-lb-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.96);
  z-index: 10000;
  align-items: center;
  justify-content: center;
}
.sv-lb-overlay.is-open,
.sv-lb-overlay[aria-hidden="false"] {
  display: flex !important;
}
.sv-lb-overlay .sv-lb-swiper,
.sv-lb-overlay .swiper {
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
}
.sv-lb-overlay .swiper-wrapper {
  height: 100vh !important;
}
.sv-lb-overlay .swiper-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100vw !important;
  height: 100vh !important;
}
.sv-lb-overlay .swiper-slide img {
  max-width: 100vw !important;
  max-height: 100vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}
.sv-lb-overlay .sv-lb-close,
.sv-lb-overlay .sv-lb-close-btn {
  position: fixed;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  z-index: 10003;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sv-lb-overlay .swiper-button-prev,
.sv-lb-overlay .swiper-button-next {
  color: #fff !important;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  z-index: 10002;
}
.sv-lb-overlay .swiper-button-prev::after,
.sv-lb-overlay .swiper-button-next::after {
  font-size: 18px;
  font-weight: 900;
}
.sv-lb-overlay .sv-lb-counter {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  padding: 7px 18px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 700;
  z-index: 10001;
}
/* Lås body-scroll når lightbox er åpen */
body.isbat-lb-open {
  overflow: hidden;
}
/* Galleri-items skal alltid føles klikkbare */
.sv-gal-item {
  cursor: pointer;
}

/* ============================================================
   BRAND-LOGO: FJERNET FRA HEADER (audit 2026-05-15 v3)
   Logoen vises bare i banevelger-kalkulator nå — ikke i meny.
   Beholder tekst-wordmark i header som er.
   ============================================================ */
/* (Header bruker default tekst-wordmark uten endring) */

/* ============================================================
   BANEVELGER PROMO (audit 2026-05-15)
   Reklame-seksjon for kalkulator-banevelger øverst før final-CTA
   ============================================================ */
.banevelger-promo {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: 0;
  padding: clamp(80px, 10vw, 140px) clamp(24px, 4vw, 72px);
  background: linear-gradient(180deg, #0a1428 0%, #040816 100%);
  overflow: hidden;
  box-sizing: border-box;
  font-size: 1rem; line-height: 1.5;
}
.banevelger-promo .section-bg {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
}
.banevelger-promo .section-bg img {
  width: 100%; height: 100%; object-fit: cover; opacity: 0.12;
  filter: blur(3px) saturate(1.2);
}
.banevelger-promo .section-bg-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(ellipse 70% 60% at 20% 30%, rgba(45, 212, 255, 0.15), transparent 60%),
    radial-gradient(ellipse 70% 60% at 80% 70%, rgba(22, 163, 74, 0.12), transparent 60%);
}

.banevelger-promo .banevelger-inner {
  position: relative; z-index: 2;
  max-width: 1400px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
}
@media (max-width: 980px) {
  .banevelger-promo .banevelger-inner { grid-template-columns: 1fr; gap: 48px; }
}


/* === COPY-SIDE === */
.banevelger-promo .banevelger-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(45, 212, 255, 0.12);
  border: 1px solid rgba(45, 212, 255, 0.4);
  color: #7be5ff;
  font-family: 'Inter', sans-serif;
  font-weight: 800; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  margin: 0 0 24px;
}
.banevelger-promo .banevelger-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #2dd4ff;
  box-shadow: 0 0 0 0 rgba(45, 212, 255, 0.55);
  animation: banevelgerDot 2.2s infinite;
}
@keyframes banevelgerDot { 0% {box-shadow:0 0 0 0 rgba(45,212,255,.55)} 70% {box-shadow:0 0 0 12px rgba(45,212,255,0)} 100% {box-shadow:0 0 0 0 rgba(45,212,255,0)} }
.banevelger-promo .banevelger-title {
  font-family: 'Inter', sans-serif;
  font-size: clamp(2rem, 4.5vw, 4rem);
  font-weight: 900; line-height: 1.02; letter-spacing: -0.025em;
  color: #f8fbff; margin: 0 0 24px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}
.banevelger-promo .accent-ice {
  background: linear-gradient(135deg, #38bdf8 0%, #0284c7 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.banevelger-promo .accent-grass {
  background: linear-gradient(135deg, #16a34a 0%, #14532d 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.banevelger-promo .banevelger-lead {
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.65;
  color: #d7e2ee;
  margin: 0 0 28px;
  max-width: 56ch;
}
.banevelger-promo .banevelger-features {
  list-style: none; padding: 0; margin: 0 0 32px;
  display: grid; gap: 10px;
}
.banevelger-promo .banevelger-features li {
  display: flex; align-items: center; gap: 12px;
  font-size: 14px; color: #e2e8f0;
  padding: 10px 14px;
  background: rgba(15, 23, 42, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
}
.banevelger-promo .check-ice,
.banevelger-promo .check-grass {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  font-weight: 900; font-size: 12px; color: #fff;
  flex-shrink: 0;
}
.banevelger-promo .check-ice { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.banevelger-promo .check-grass { background: linear-gradient(135deg, #16a34a, #14532d); }

.banevelger-promo .banevelger-cta {
  display: flex; flex-wrap: wrap; gap: 14px;
}
.banevelger-promo .btn--lg {
  padding: 16px 32px; font-size: 15px; font-weight: 800; letter-spacing: 0.02em;
  border-radius: 999px;
  display: inline-flex; align-items: center; gap: 10px;
  transition: transform .25s, box-shadow .25s;
  text-decoration: none;
}
.banevelger-promo .btn--primary {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  color: #fff; border: none;
  box-shadow: 0 14px 32px rgba(2, 132, 199, 0.35);
}
.banevelger-promo .btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(2, 132, 199, 0.5);
}
.banevelger-promo .btn-arrow {
  display: inline-block;
  transition: transform .25s;
}
.banevelger-promo .btn--primary:hover .btn-arrow { transform: translateX(4px); }
.banevelger-promo .btn--ghost {
  background: rgba(255, 255, 255, 0.06);
  color: #f8fbff;
  border: 1px solid rgba(125, 211, 252, 0.4);
}
.banevelger-promo .btn--ghost:hover {
  background: rgba(45, 212, 255, 0.14);
  border-color: rgba(125, 211, 252, 0.7);
  transform: translateY(-3px);
}

/* === PREVIEW-SIDE (mock-up av kalkulatoren) === */
.banevelger-promo .banevelger-preview {
  position: relative;
  perspective: 1200px;
}
.banevelger-promo .banevelger-preview-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 28px;
  backdrop-filter: blur(20px) saturate(1.2);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(45, 212, 255, 0.08) inset,
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transform: rotate3d(1, 1, 0, -3deg);
  transition: transform .5s cubic-bezier(.22,1,.36,1);
}
.banevelger-promo .banevelger-preview-card:hover {
  transform: rotate3d(0, 0, 0, 0deg) scale(1.02);
}
.banevelger-promo .preview-head {
  display: flex; justify-content: space-between; align-items: center;
  margin: 0 0 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.banevelger-promo .preview-badge {
  display: inline-flex; align-items: center;
  padding: 5px 12px;
  background: rgba(2, 132, 199, 0.15);
  border: 1px solid rgba(45, 212, 255, 0.35);
  border-radius: 999px;
  color: #7be5ff;
  font-family: 'Inter', sans-serif;
  font-weight: 800; font-size: 10px; letter-spacing: 0.14em;
}
.banevelger-promo .preview-status {
  display: inline-flex; align-items: center; gap: 6px;
  color: #94a3b8; font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
}
.banevelger-promo .status-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 8px rgba(52, 211, 153, 0.6);
  animation: statusPulse 1.8s infinite;
}
@keyframes statusPulse { 0%,100% {opacity:1} 50% {opacity:0.5} }

.banevelger-promo .preview-tabs {
  display: flex; gap: 8px;
  padding: 6px;
  background: rgba(15, 23, 42, 0.5);
  border-radius: 999px;
  margin: 0 0 20px;
  width: max-content;
}
.banevelger-promo .preview-tab {
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 13px; font-weight: 700;
  color: #94a3b8;
}
.banevelger-promo .preview-tab.is-active {
  background: linear-gradient(135deg, #38bdf8, #0284c7);
  color: #fff;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.banevelger-promo .preview-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
  margin: 0 0 16px;
}
.banevelger-promo .preview-cell {
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  display: flex; flex-direction: column; gap: 4px;
}
.banevelger-promo .preview-label {
  font-size: 10px; color: #94a3b8;
  font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase;
}
.banevelger-promo .preview-value {
  font-size: 15px; color: #f8fbff; font-weight: 700;
}
.banevelger-promo .preview-total {
  padding: 20px 22px;
  background: linear-gradient(135deg, #040816 0%, #0a1428 100%);
  border: 1px solid rgba(45, 212, 255, 0.25);
  border-radius: 16px;
  display: flex; flex-direction: column; gap: 6px;
  position: relative;
  overflow: hidden;
}
.banevelger-promo .preview-total::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #38bdf8, #16a34a);
  border-radius: 16px 16px 0 0;
}
.banevelger-promo .preview-total-label {
  font-size: 10px; color: #94a3b8;
  font-weight: 800; letter-spacing: 0.14em;
}
.banevelger-promo .preview-total-value {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: clamp(22px, 2.6vw, 32px);
  color: #fff; font-weight: 900;
}
.banevelger-promo .preview-disclaimer {
  margin: 14px 0 0;
  font-size: 11px;
  color: #64748b;
  font-style: italic;
}

/* === DESKTOP MEGA-MENU POLISH === */
@media (min-width: 1024px) {
  /* Product-card hover: bedre løft + ramme */
  .isbat-nav .nav-product-card {
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
  }
}


/* === MOBIL DRAWER === */
@media (max-width: 1023px) {
  /* Hamburger større + tydelig */
  .isbat-nav .nav-hamburger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #f1f5f9 !important;
    cursor: pointer !important;
  }
}


/* Tablet: collapse mega-menu kolonner */
@media (min-width: 1024px) and (max-width: 1280px) {
  .isbat-nav .nav-mega--4col {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}


/* === Tablet: 2-kolonne === */
@media (min-width: 1024px) and (max-width: 1280px) {
  .isbat-nav .nav-mega--bento { grid-template-columns: repeat(2, 1fr) !important; }
}


/* === Tablet === */
@media (min-width: 1024px) and (max-width: 1280px) {
  .isbat-nav .nav-mega--bento { grid-template-columns: repeat(2, 1fr) !important; }
}

/* === TABLET === */
@media (min-width: 1024px) and (max-width: 1280px) {
  .isbat-nav .nav-mega--bento { grid-template-columns: repeat(2, 1fr) !important; }
}


/* === MOBIL === */
@media (max-width: 1023px) {
  .isbat-nav .nav-hamburger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--sx-border-strong) !important;
    color: #eef2f8 !important;
    cursor: pointer !important;
  }
}

/* ============================================================
   MEGA-MENU — ENKEL OG REN (audit 2026-05-15)
   Maks enkelhet: mørk bg, hvit tekst, en kolonne med lenker,
   bare en accent-farge på hover. Ingen kort, ingen ikoner, ingen badges.
   ============================================================ */

.isbat-nav .nav-mega {
  background: rgba(10, 15, 25, 0.96) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4) !important;
  padding: 40px clamp(32px, 4vw, 64px) 48px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.isbat-nav .nav-mega--bento {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 48px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Skjul alt som ikke trengs */
.isbat-nav .nav-mega-breadcrumb,
.isbat-nav .nav-mega-stats,
.isbat-nav .nav-mega-hero,
.isbat-nav .nav-product-card__icon,
.isbat-nav .nav-product-card__desc,
.isbat-nav .nav-product-card__sub,
.isbat-nav .nav-product-card p,
.isbat-nav .nav-product-card small,
.isbat-nav .nav-product-card .nav-icon,
.isbat-nav .nav-mega-group-title small,
.isbat-nav .nav-mega-group-title .nav-mega-count,
.isbat-nav .nav-mega-group-meta {
  display: none !important;
}

/* Group: enkel kolonne */
.isbat-nav .nav-mega--bento .nav-mega-group {
  grid-column: span 1 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Group-tittel: liten caps, mute */
.isbat-nav .nav-mega-group-title,
.isbat-nav .nav-group-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  display: block !important;
}

/* Linker: ren tekstliste */
.isbat-nav .nav-product-card,
.isbat-nav .nav-drop-item {
  display: block !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  width: auto !important;
  transition: color 0.2s ease !important;
}
.isbat-nav .nav-product-card:hover,
.isbat-nav .nav-drop-item:hover {
  background: transparent !important;
  transform: none !important;
  box-shadow: none !important;
}
.isbat-nav .nav-product-card__name,
.isbat-nav .nav-product-card__title,
.isbat-nav .nav-product-card strong {
  display: block !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color 0.2s ease !important;
}
.isbat-nav .nav-product-card:hover .nav-product-card__name,
.isbat-nav .nav-product-card:hover .nav-product-card__title,
.isbat-nav .nav-product-card:hover strong {
  color: #2dd4ff !important;
}

/* Skjul badges */
.isbat-nav .nav-product-card .nav-badge,
.isbat-nav .nav-drop-item .nav-badge {
  display: none !important;
}

/* Lukke-knapp */
.isbat-nav .nav-mega-close {
  position: absolute !important;
  top: 16px !important;
  right: 20px !important;
  width: 28px !important;
  height: 28px !important;
  background: transparent !important;
  border: none !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
}
.isbat-nav .nav-mega-close:hover { color: #fff !important; }

/* Tablet: 2 kolonner */
@media (max-width: 1280px) {
  .isbat-nav .nav-mega--bento { grid-template-columns: repeat(2, 1fr) !important; gap: 32px !important; }
}

/* Mobil */
@media (max-width: 1023px) {
  .isbat-nav .nav-menu { display: none !important; }
  .isbat-nav .nav-hamburger { display: flex !important; }
}/* ===== Hub header v2 (Norges mest komplette ismaskin-okosystem) ===== */
.sv-section-header--v2{text-align:center;margin-bottom:36px;}
.sv-label--glow{box-shadow:0 0 24px rgba(56,189,248,.18);}
.sv-title--xl{font-size:clamp(30px,4vw,52px)!important;}
.sv-desc--lg{font-size:var(--v24-fs-md);line-height:1.55;}
.sv-hub-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:760px;margin:0 auto 40px;}
.sv-hub-stat{padding:16px 12px;background:rgba(15,23,42,.45);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center;display:flex;flex-direction:column;gap:4px;}
.sv-hub-stat-num{font-family:var(--font-mono,monospace);font-size:clamp(20px,2.2vw,30px);font-weight:900;color:var(--ice-blue);line-height:1;}
.sv-hub-stat-lbl{font-size:var(--v24-fs-xxs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700;}

@media(max-width:900px){
  .sv-kjop-grid{grid-template-columns:1fr;}
  .sv-kjop-service-grid{grid-template-columns:1fr;}
  .sv-cta-chips{grid-template-columns:repeat(2,1fr);}
  .sv-hub-stats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:520px){
  .sv-cta-chips{grid-template-columns:1fr;}
}
.sv-val-highlight{color:var(--ice-blue);font-weight:700;font-family:var(--font-mono);}
@media(max-width:1100px){.sv-why-grid{grid-template-columns:repeat(2,1fr);}.sv-mx-grid{grid-template-columns:repeat(3,1fr);}.sv-keydata-strip{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){.sv-features-row{grid-template-columns:1fr;max-width:450px;}}
@media(max-width:800px){.sv-mx-grid{grid-template-columns:repeat(2,1fr);}.sv-filter-controls{padding:14px 16px;gap:8px;}.sv-filter-btn{min-height:42px;font-size:10px;padding:8px 12px;letter-spacing:.04em;}.sv-stats-3{grid-template-columns:1fr;}}
@media(max-width:560px){.sv-filter-btn{font-size:9px;padding:7px 10px;letter-spacing:.03em;}}
@media(max-width:768px){.sv-intro-grid{grid-template-columns:1fr;gap:48px;}.sv-why-grid{grid-template-columns:1fr;}.sv-keydata-strip{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.sv-mx-grid{grid-template-columns:1fr;}.sv-keydata-strip{grid-template-columns:1fr;}}

/* IceBear master — hero knapper (samme som icebear-electric.html) */
.sv-hero--mini .sv-hero-bg .sv-hero-slide img{width:100%;height:100%;object-fit:cover;object-position:78% 51%;animation:none;}
.sv-hero--mini .sv-hero-bg .sv-hero-slide.active img{animation:svKenBurnsHero 14s cubic-bezier(.22,.61,.36,1) infinite;}
@keyframes svKenBurnsHero{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.06) translate(-1%,-.6%)}}
.sv-hero--mini h1 .gradient-text{background:none;-webkit-background-clip:initial;-webkit-text-fill-color:inherit;background-clip:border-box;color:#9fdcff;}
.sv-product-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:var(--radius-full);font-size:var(--v24-fs-xxs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;}
.sv-product-badge--hub{background:rgba(56,189,248,.12);color:#e0f2fe;border:1px solid rgba(125,211,252,.35);}
.sv-product-badge--hub .sv-pulse-dot{background:var(--ice-blue);animation:svPulseDotIce 2s infinite;}
@keyframes svPulseDotIce{0%,100%{box-shadow:0 0 0 0 rgba(56,189,248,.45)}50%{box-shadow:0 0 0 8px rgba(56,189,248,0)}}
.sv-hero-actions .sv-btn i{font-size:var(--v24-fs-xs);transition:none;}
.sv-hero-actions .sv-btn:hover i{transform:none;}
.sv-hero-actions .sv-btn--primary{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-deep));color:#fff;border:none;box-shadow:0 4px 22px rgba(255,0,51,.35),0 0 0 1px rgba(255,255,255,.08) inset;}
.sv-hero-actions .sv-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,0,51,.42),0 0 0 1px rgba(255,255,255,.12) inset;}
.sv-hero-actions .sv-btn--primary::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.14) 50%,transparent 80%);transform:translateX(-110%);transition:transform .65s ease;pointer-events:none;border-radius:inherit;}
.sv-hero-actions .sv-btn--primary:hover::after{transform:translateX(110%);}
.sv-hero-actions .sv-btn--ghost{background:rgba(255,255,255,.06);border:1px solid rgba(125,211,252,.35);color:#f0f9ff;backdrop-filter:blur(20px) saturate(1.2);}
.sv-hero-actions .sv-btn--ghost:hover{transform:none;border-color:rgba(125,211,252,.55);background:rgba(56,189,248,.12);color:#fff;box-shadow:0 0 0 1px rgba(125,211,252,.2) inset;}
.sv-hero-actions .sv-btn--outline{background:rgba(255,255,255,.04);color:var(--text-primary);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(16px);}
.sv-hero-actions .sv-btn--outline:hover{transform:none;border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.08);color:#fff;}
.sv-hero-actions .sv-btn{position:relative;overflow:hidden;}
@media(prefers-reduced-motion:reduce){.sv-hero--mini .sv-hero-bg img{animation:none;}.sv-product-badge--hub .sv-pulse-dot{animation:none;}}

/* Innledning — lesbar liste (IceBear-master tekst) */
.sv-intro-prose h3{font-family:var(--font-heading);font-size:var(--v24-fs-xl);font-weight:800;margin:28px 0 12px;color:var(--text-primary);}
.sv-intro-prose ul.sv-prose-list{list-style:disc;padding-left:1.25em;margin:12px 0 20px;color:var(--text-secondary);}
.sv-intro-prose ul.sv-prose-list li{margin-bottom:10px;}
.sv-intro-prose ul.sv-prose-list li::marker{color:var(--ice-blue);}
.sv-intro-prose p{margin-bottom:16px;}
.sv-intro-prose-h3{font-family:var(--font-heading);font-size:var(--v24-fs-xl);font-weight:700;margin:32px 0 12px;color:var(--text-primary);}

/* Bunn-CTA — samme som icebear-electric (glass-boks) */
.sv-final-cta.sv-cta-master{padding:80px 0;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-deep) 100%);}
.sv-cta-box{background:var(--glass-bg);backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:56px 40px;text-align:center;transition:border-color .3s;max-width:900px;margin:0 auto;}
.sv-cta-box:hover{border-color:var(--border-medium);}
.sv-cta-box h2{font-size:var(--v24-fs-2xl);margin-bottom:14px;font-family:var(--font-heading);font-weight:800;}
.sv-cta-box p{font-size:var(--v24-fs-sm);color:var(--text-secondary);max-width:560px;margin:0 auto 28px;line-height:1.75;}
.sv-cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;}
.sv-cta-box .sv-btn{padding:14px 28px;font-size:var(--v24-fs-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-full);position:relative;overflow:hidden;}
.sv-cta-box .sv-btn--primary{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-deep));color:#fff;border:none;box-shadow:0 4px 22px rgba(255,0,51,.32);}
.sv-cta-box .sv-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,0,51,.4);}
.sv-cta-box .sv-btn--ghost{background:rgba(56,189,248,.08);color:var(--text-primary);border:1px solid rgba(125,211,252,.34);backdrop-filter:blur(8px);}
.sv-cta-box .sv-btn--ghost:hover{transform:translateY(-2px);border-color:rgba(125,211,252,.62);box-shadow:0 0 20px rgba(56,189,248,.24);}
.sv-cta-box .sv-btn--outline{background:rgba(15,23,42,.2);color:var(--text-primary);border:1px solid rgba(148,163,184,.36);backdrop-filter:blur(8px);}
.sv-cta-box .sv-btn--outline:hover{transform:translateY(-2px);border-color:rgba(148,163,184,.66);box-shadow:0 0 18px rgba(125,211,252,.2);}
@media(max-width:768px){.sv-cta-box{padding:40px 22px;}.sv-cta-box .sv-btn{width:100%;justify-content:center;}}

/* Galleri — IceBear-paritet: 16/9, 7s autoplay, glass navigasjon, ingen duplikater i liste (håndheves i JS) */
.sv-landing-gallery{padding-top:0;}
.sv-gallery-main{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px;border:1px solid rgba(255,255,255,.2);position:relative;cursor:pointer;aspect-ratio:16/9;background:linear-gradient(135deg,rgba(56,189,248,.08),rgba(15,23,42,.55));box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.05);min-height:240px;touch-action:pan-y;outline:none;}
.sv-gallery-main #svGalleryImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;animation:svGalleryKenBurns 7s cubic-bezier(.22,.61,.36,1) infinite;z-index:1;display:block;opacity:1;}
@keyframes svGalleryKenBurns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.08) translate(-1%,-.6%)}}
.sv-gallery-counter{position:absolute;bottom:14px;right:14px;background:rgba(15,23,42,.5);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);padding:6px 14px;border-radius:var(--radius-full);font-size:var(--v24-fs-xxs);font-weight:600;color:#fff;z-index:3;font-family:var(--font-mono);}
.sv-gallery-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);padding:0;background:rgba(15,23,42,.42);backdrop-filter:blur(12px);color:#fff;font-size:var(--v24-fs-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .25s;}
.sv-gallery-nav:hover{background:rgba(255,0,51,.55);border-color:rgba(255,255,255,.35);transform:translateY(-50%) scale(1.05);}
.sv-gallery-prev{left:14px;}.sv-gallery-next{right:14px;}
.sv-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:100%;}
.sv-gallery-thumb{border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .25s;aspect-ratio:16/10;opacity:.55;}
.sv-gallery-thumb:hover{opacity:.85;}
.sv-gallery-thumb.active{border-color:var(--ice-blue);opacity:1;box-shadow:0 0 0 1px rgba(56,189,248,.4);}
.sv-gallery-thumb img{width:100%;height:100%;object-fit:cover;}
.sv-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(2,6,23,.88);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.sv-lightbox.active{display:flex;opacity:1;}
.sv-lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);}
.sv-lightbox-close{position:absolute;top:22px;right:22px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(15,23,42,.45);backdrop-filter:blur(12px);color:#fff;font-size:var(--v24-fs-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.sv-lightbox-close:hover{background:rgba(255,0,51,.65);}
.sv-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(15,23,42,.45);backdrop-filter:blur(12px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.sv-lightbox-nav:hover{background:rgba(255,255,255,.12);}
.sv-lightbox-prev{left:20px;}.sv-lightbox-next{right:20px;}
@media(max-width:700px){.sv-gallery-thumbs{grid-template-columns:repeat(3,1fr);}}
@media(prefers-reduced-motion:reduce){.sv-gallery-main #svGalleryImg{animation:none;}}

/* Dual CTA strip — Ismaskinvelger + Delelager */
.sv-dual-cta-strip{padding-top:clamp(48px,6vw,72px)!important;padding-bottom:clamp(48px,6vw,72px)!important;}
.sv-dual-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px;margin:0 auto;}
.sv-dual-cta-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 28px 32px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--glass-bg);backdrop-filter:var(--glass-blur);transition:all .3s var(--ease);text-decoration:none;color:inherit;}
.sv-dual-cta-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.35);}
.sv-dual-cta-card--velger{border-color:rgba(255,0,51,.3);}
.sv-dual-cta-card--velger:hover{border-color:rgba(255,0,51,.55);box-shadow:0 20px 48px rgba(255,0,51,.12);}
.sv-dual-cta-card--delelager{border-color:rgba(16,185,129,.3);}
.sv-dual-cta-card--delelager:hover{border-color:rgba(16,185,129,.55);box-shadow:0 20px 48px rgba(16,185,129,.12);}
.sv-dual-cta-icon{font-size:var(--v24-fs-2xl);margin-bottom:16px;}
.sv-dual-cta-card--velger .sv-dual-cta-icon{color:var(--brand-red);}
.sv-dual-cta-card--delelager .sv-dual-cta-icon{color:var(--emerald);}
.sv-dual-cta-title{font-family:var(--font-heading);font-size:var(--v24-fs-lg);font-weight:800;margin:0 0 10px;color:var(--text-primary);}
.sv-dual-cta-desc{font-size:var(--v24-fs-xs);color:var(--text-secondary);line-height:1.6;margin:0 0 18px;max-width:320px;}
.sv-dual-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;font-family:var(--font-heading);font-size:var(--v24-fs-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);transition:all .25s var(--ease);}
.sv-dual-cta-card--velger .sv-dual-cta-btn{border:1px solid rgba(255,0,51,.4);color:var(--brand-red);background:rgba(255,0,51,.08);}
.sv-dual-cta-card--velger:hover .sv-dual-cta-btn{background:rgba(255,0,51,.18);border-color:rgba(255,0,51,.6);}
.sv-dual-cta-card--delelager .sv-dual-cta-btn{border:1px solid rgba(16,185,129,.4);color:var(--emerald);background:rgba(16,185,129,.08);}
.sv-dual-cta-card--delelager:hover .sv-dual-cta-btn{background:rgba(16,185,129,.18);border-color:rgba(16,185,129,.6);}
@media(max-width:700px){.sv-dual-cta-grid{grid-template-columns:1fr;max-width:480px;}}

/* Hub group labels */
.sv-hub-group-label{font-family:var(--font-heading);font-size:var(--v24-fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:10px;margin:clamp(36px,5vw,56px) 0 clamp(16px,2vw,22px);padding-bottom:12px;border-bottom:1px solid var(--border-subtle);}
.sv-hub-group-label i{font-size:var(--v24-fs-sm);color:var(--ice-blue);opacity:.7;}
.sv-hub-grid+.sv-hub-group-label{margin-top:clamp(48px,6vw,72px);}
@media(max-width:375px){
  .sv-container{padding:0 14px;}
  .sv-hero--mini h1{font-size:var(--v24-fs-2xl);}
  .sv-hero-tagline,.sv-hero--mini .sv-hero-tagline{font-size:var(--v24-fs-sm);}
  .sv-hero-meta-item{font-size:var(--v24-fs-xxs);padding:5px 8px;}
  .sv-hero-actions{grid-template-columns:1fr;gap:8px;}
  .sv-hero-actions .sv-btn{font-size:var(--v24-fs-xxs);padding:10px 14px;}
  .sv-title{font-size:var(--v24-fs-2xl);}
  .sv-keydata-grid{grid-template-columns:1fr!important;}
  .sv-hub-grid{grid-template-columns:1fr!important;}
  .sv-faq-q{padding:16px;font-size:var(--v24-fs-xs);}
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/assets/css/isbat-design-system.css */
/* ISBAT design-system migration target. */

/* === Migrated from WPCode 1009947 ISHELLA V2.1 base dark premium CSS === */
/* === BASE === */
/* ==========================================================================
   ISHELLA V2.1 — Dark Premium Design System
   base.css — Design tokens, reset, grid, utilities
   Isbaneteknikk AS · isbaneteknikk.no
   ========================================================================== */

/* ==========================================================================
   SCOPED RESET
   ========================================================================== */
/* Keep the shared nav sticky by preventing page-level inline body styles
   from turning <body> into a scroll container. Exclude known lock states
   that intentionally use overflow to freeze the page. */
body:not(.isbat-simple-nav-menu-open):not(.isbat-kpop-open):not(.isbat-lb-open):not(.wc-modal--open):not(.wc-block-product-gallery-modal-open) {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

.elementor-widget-html *,
.elementor-widget-html *::before,
.elementor-widget-html *::after {
    margin: 0; padding: 0; box-sizing: border-box;
}
.elementor-widget-html {
    color: var(--text-primary);
    background-color: var(--bg-deep);
    font-family: var(--font-body);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x:hidden; max-width:100vw;
}
.elementor-widget-html img { max-width: 100%; height: auto; display: block; }
.elementor-widget-html a { text-decoration: none; color: inherit; transition: all .3s var(--ease); }
.elementor-widget-html ul { list-style: none; }

/* Headings */
.elementor-widget-html h1,
.elementor-widget-html h2,
.elementor-widget-html h3,
.elementor-widget-html h4 {
    font-family: var(--font-heading);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: var(--text-primary);
}

/* ==========================================================================
   SKIP LINK
   ========================================================================== */
.sv-skip-link {
    position: absolute; top: -100%; left: 16px; z-index: 9999;
    padding: 12px 24px; background: var(--brand-red); color: #fff;
    font-weight: 700; border-radius: var(--radius-sm); transition: top .3s;
}
.sv-skip-link:focus { top: 16px; }

/* ==========================================================================
   SCROLL PROGRESS BAR
   ========================================================================== */
.sv-progress {
    position: fixed; top: 0; left: 0; height: 3px; width: 0%;
    background: linear-gradient(90deg, var(--brand-red), var(--ice-blue), var(--emerald));
    z-index: 9999; pointer-events: none; transition: width .1s linear;
}

/* ==========================================================================
   CONTAINER
   ========================================================================== */
.sv-container { max-width: 1440px; margin: 0 auto; padding: 0 24px; }
@media(min-width: 768px)  { .sv-container { padding: 0 48px; } }
@media(min-width: 1200px) { .sv-container { padding: 0 56px; } }

/* ==========================================================================
   AURORA BLOBS (parametric — set opacity per page via inline style or page class)
   ========================================================================== */
.sv-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(140px);opacity:.015}
.sv-orb-1{width:700px;height:700px;background:var(--ice-blue);top:-200px;right:-250px}
.sv-orb-2{width:600px;height:600px;background:var(--ice-blue);bottom:30%;left:-200px}
.sv-aurora-3 {
    width: 400px; height: 400px; background: var(--emerald);
    top: 50%; right: -180px;
    animation: svAuroraFloat 25s ease-in-out infinite alternate;
}

/* ==========================================================================
   FILM GRAIN
   ========================================================================== */
.sv-grain {
    position: absolute; inset: 0; z-index: 9998; pointer-events: none; opacity: .006;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size: 180px;
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.sv-section {
    position: relative; z-index: 1; padding: var(--space-section-y) 0;
}
.sv-section--alt { background: var(--bg-surface); }

/* Section Label */
.sv-label {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--font-body); font-size: var(--v24-fs-xxs); font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    color: var(--brand-red); margin-bottom: 14px;
}
.sv-label::before {
    content: ''; width: 22px; height: 2px; background: var(--brand-red);
    transition: width .5s var(--ease);
}
.sv-label--center { justify-content: center; }

/* Section Title */
.sv-title {
    font-size: var(--v24-fs-3xl);
    margin-bottom: 16px;
}
.sv-title .accent { color: var(--ice-blue); }
.sv-title .accent-red { color: var(--brand-red); }

/* Section Description */
.sv-desc {
    font-size: var(--v24-fs-md); color: var(--text-secondary);
    max-width: 640px; line-height: 1.75;
}

/* Section Header (centered) */
.sv-header { text-align: center; margin-bottom: 60px; }
.sv-header .sv-desc { margin: 0 auto; }
.sv-section-cta { text-align: center; margin-top: 52px; }
.sv-btn-group { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 32px; }

/* ==========================================================================
   DIVIDER
   ========================================================================== */
.sv-divider {
    height: 1px; border: none; margin: 0;
    background: linear-gradient(90deg, transparent, rgba(56,189,248,.12) 20%, rgba(255,0,51,.08) 50%, rgba(56,189,248,.12) 80%, transparent);
}

/* ==========================================================================
   SCROLL REVEAL
   ========================================================================== */
.sv-reveal {
    opacity: 0; transform: translateY(36px);
    transition: opacity .8s var(--ease-expo), transform .8s var(--ease-expo);
}
.sv-reveal.visible { opacity: 1; transform: none; }
.sv-reveal-left {
    opacity: 0; transform: translateX(-36px);
    transition: opacity .8s var(--ease-expo), transform .8s var(--ease-expo);
}
.sv-reveal-left.visible { opacity: 1; transform: none; }
.sv-reveal-right {
    opacity: 0; transform: translateX(36px);
    transition: opacity .8s var(--ease-expo), transform .8s var(--ease-expo);
}
.sv-reveal-right.visible { opacity: 1; transform: none; }
.sv-d1 { transition-delay: .06s; }
.sv-d2 { transition-delay: .12s; }
.sv-d3 { transition-delay: .18s; }
.sv-d4 { transition-delay: .24s; }
.sv-d5 { transition-delay: .30s; }
.sv-d6 { transition-delay: .36s; }

/* ==========================================================================
   SHIMMER (lazy images)
   ========================================================================== */
@keyframes svShimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
.elementor-widget-html img[loading="lazy"] {
    background: linear-gradient(90deg, var(--bg-card) 25%, #1e293b 50%, var(--bg-card) 75%);
    background-size: 200% 100%; animation: svShimmer 1.5s infinite;
}
.elementor-widget-html img[loading="lazy"][src] { animation: none; background: none; }

/* ==========================================================================
   FOCUS STATES
   ========================================================================== */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--ice-blue); outline-offset: 2px;
}

/* ==========================================================================
   UTILITIES
   ========================================================================== */
.sr-only {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media(prefers-reduced-motion: reduce) {
    .sv-reveal, .sv-reveal-left, .sv-reveal-right { opacity: 1; transform: none; transition: none; }
    .elementor-widget-html * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .sv-aurora, .sv-grain { display: none; }
}

/* ==========================================================================
   RESPONSIVE BASE
   ========================================================================== */
@media(max-width: 768px) {
    .sv-section { padding: 72px 0; }
    .sv-header { margin-bottom: 40px; }
    .sv-btn-group { flex-direction: column; }
    .sv-btn-group .sv-btn { width: 100%; max-width: 320px; justify-content: center; text-align: center; }
}

/* === COMPONENTS === */
/* ==========================================================================
   ISHELLA V2.1 — Shared Components
   components.css — Buttons, hero, trust bar, FAQ, CTA, cards, breadcrumb
   Isbaneteknikk AS · isbaneteknikk.no
   ========================================================================== */

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.sv-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 15px 32px; font-family: var(--font-heading); font-size: var(--v24-fs-sm);
    font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
    border-radius: var(--radius-full); border: none; cursor: pointer;
    transition: all .35s var(--ease); position: relative; overflow: hidden;
}
.sv-btn i, .sv-btn svg { font-size: var(--v24-fs-xs); transition: transform .3s var(--ease); }
.sv-btn:hover i, .sv-btn:hover svg { transform: translateX(3px); }

.sv-btn--primary{background:rgba(255,0,51,.14);color:#fff;border:1px solid rgba(255,0,51,.48);backdrop-filter:blur(8px)}
.sv-btn--primary:hover{transform:translateY(-2px);border-color:rgba(255,64,102,.72);box-shadow:0 0 0 1px rgba(255,64,102,.35) inset,0 0 22px rgba(255,0,51,.32)}

.sv-btn--ghost {
    background: transparent; color: var(--text-primary);
    border: 1px solid var(--border-subtle);
}
.sv-btn--ghost:hover {
    border-color: var(--ice-blue); color: var(--ice-blue);
    background: rgba(56,189,248,.05);
}

.sv-btn--hero-ice {
    background: linear-gradient(135deg, rgba(56,189,248,.42) 0%, rgba(0,51,153,.72) 100%);
    color: #fff;
    border: 1px solid rgba(56,189,248,.5);
    box-shadow: 0 4px 24px rgba(56,189,248,.22), 0 0 0 1px rgba(255,255,255,.06);
}
.sv-btn--hero-ice:hover {
    transform: translateY(-3px);
    border-color: var(--ice-blue-light);
    box-shadow: 0 10px 36px rgba(56,189,248,.35), 0 0 0 1px rgba(56,189,248,.2);
    color: #fff;
}
.sv-btn--hero-ice::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.14) 50%, transparent 80%);
    transform: translateX(-110%); transition: transform .65s ease; pointer-events: none;
}
.sv-btn--hero-ice:hover::after { transform: translateX(110%); }

.sv-btn--outline {
    background: rgba(255,255,255,.04); color: var(--text-primary);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.sv-btn--outline:hover {
    border-color: rgba(255,255,255,.35); color: #fff;
    background: rgba(255,255,255,.08);
    transform: translateY(-3px);
}

.sv-btn--ice {
    background: rgba(56,189,248,.1); color: var(--ice-blue);
    border: 1px solid rgba(56,189,248,.2);
}
.sv-btn--ice:hover {
    background: rgba(56,189,248,.18);
    box-shadow: 0 8px 30px rgba(56,189,248,.15);
}

.sv-btn--lg { padding: 20px 48px; font-size: var(--v24-fs-sm); letter-spacing: .06em; }

.sv-btn:focus-visible {
    outline: 2px solid var(--ice-blue); outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(56,189,248,.15);
}

/* ==========================================================================
   BREADCRUMB
   ========================================================================== */
.sv-breadcrumb {
    padding: 20px 0; position: relative; z-index: 2;
    background: rgba(10,15,30,.6);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border-subtle);
}
.sv-breadcrumb-list {
    display: flex; align-items: center; gap: 8px;
    font-size: var(--v24-fs-xs); color: var(--text-muted); flex-wrap: wrap;
}
.sv-breadcrumb-list a:hover { color: var(--ice-blue); }
.sv-breadcrumb-list .sep { opacity: .4; }
.sv-breadcrumb-list .current { color: var(--text-primary); font-weight: 600; }
/* Pill variant (used in godkjenninger hero) */
.sv-breadcrumb--pill {
    display: flex; align-items: center; gap: 8px;
    padding: 14px 20px; background: rgba(10,15,30,.6);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-full);
    font-size: var(--v24-fs-xxs); font-weight: 600; color: var(--text-muted);
    margin-bottom: 24px; width: fit-content;
}
.sv-breadcrumb--pill a:hover { color: var(--ice-blue); }
.sv-breadcrumb--pill .sep { opacity: .4; }

/* ==========================================================================
   CREDENTIALS BAR (trust logos)
   ========================================================================== */
.sv-creds-bar {
    position: relative; z-index: 3; padding: 40px 0;
    background: var(--bg-surface);
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.sv-hero-creds {
    display: flex; align-items: center; justify-content: center;
    gap: clamp(14px, 3vw, 32px); flex-wrap: wrap;
}
.sv-hero-cred {
    width: clamp(68px, 14vw, 88px); height: clamp(68px, 14vw, 88px);
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.95); border-radius: 14px; padding: 10px;
    box-shadow: 0 2px 14px rgba(0,0,0,.2); transition: transform .3s var(--ease);
}
.sv-hero-cred:hover { transform: scale(1.06); }
.sv-hero-cred img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* ==========================================================================
   HERO — Base + variants
   ========================================================================== */
/* Shared hero elements */
.sv-hero-overlay {
    position: absolute; inset: 0; z-index: 1;
    background:
        radial-gradient(ellipse 120% 100% at 50% 45%, rgba(2,6,23,.25) 0%, rgba(2,6,23,.6) 70%, rgba(2,6,23,.85) 100%),
        linear-gradient(180deg, var(--bg-deep) 0%, transparent 14%),
        linear-gradient(0deg, var(--bg-deep) 0%, transparent 40%);
}
.sv-hero-badge {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 16px; background: rgba(255,0,51,.1); border: 1px solid rgba(255,0,51,.2);
    border-radius: var(--radius-full); font-size: var(--v24-fs-xxs); font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; color: var(--brand-red);
    margin-bottom: 24px;
    text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.sv-pulse-dot {
    width: 7px; height: 7px; background: var(--brand-red); border-radius: 50%;
    animation: svPulseDot 2s infinite;
}
@keyframes svPulseDot { 0%,100%{box-shadow:0 0 0 0 rgba(255,0,51,.4)} 50%{box-shadow:0 0 0 8px rgba(255,0,51,0)} }

.sv-hero-subtitle {
    font-size: var(--v24-fs-md); color: var(--text-primary); margin-bottom: 32px;
    max-width: 540px; line-height: 1.85; opacity: .95;
    text-shadow: 0 1px 8px rgba(0,0,0,.6), 0 2px 16px rgba(0,0,0,.3);
}
.sv-hero-text {
    font-size: var(--v24-fs-md); color: #f0f4f8; margin-bottom: 40px;
    max-width: 540px; line-height: 1.85;
    text-shadow: 0 1px 8px rgba(0,0,0,.7), 0 2px 16px rgba(0,0,0,.4);
}
.sv-hero-cta { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; }
.sv-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* Hero slide system (shared by all slider heroes) */
.sv-hero-bg { position: absolute; inset: 0; }
.sv-hero-slide {
    position: absolute; inset: 0;
    opacity: 0; transition: opacity 1.6s ease-in-out;
}
.sv-hero-slide.active { opacity: 1; }
.sv-hero-slide img { width: 100%; height: 100%; object-fit: cover; }

/* Bottom fade */
.sv-hero-fade {
    content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 150px;
    background: linear-gradient(0deg, var(--bg-deep) 0%, transparent 100%);
    pointer-events: none; z-index: 1;
}

/* Hero dots (om-oss style) */
.sv-hero-dots {
    position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
    z-index: 3; display: flex; gap: 8px;
}
.sv-hero-dot {
    width: 28px; height: 3px; border-radius: 2px; border: none; padding: 0;
    background: rgba(255,255,255,.2); cursor: pointer;
    transition: all .5s var(--ease-expo);
}
.sv-hero-dot.active {
    width: 48px; background: var(--brand-red);
    box-shadow: 0 0 12px rgba(255,0,51,.4);
}

/* ==========================================================================
   HERO — Home (100dvh, 8 slides, particles)
   ========================================================================== */
.sv-hero--home {
    position: relative; min-height: 100dvh; display: flex; align-items: center;
    justify-content: center; overflow: hidden; padding: 140px 0 100px;
}
.sv-hero--home::after {
    content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 150px;
    background: linear-gradient(0deg, var(--bg-deep) 0%, transparent 100%);
    pointer-events: none; z-index: 1;
}
.sv-hero--home .sv-hero-content {
    position: relative; z-index: 2; max-width: 780px; text-align: center;
    display: flex; flex-direction: column; align-items: center;
}
.sv-hero--home h1 {
    font-size: var(--v24-fs-4xl); font-weight: 900;
    margin-bottom: 20px; line-height: 1.12; color: #fff; letter-spacing: -.02em;
    text-shadow: 0 2px 16px rgba(0,0,0,.7), 0 6px 32px rgba(0,0,0,.4);
}
@keyframes svFloatBadge { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
.sv-hero--home .sv-hero-badge { animation: svFloatBadge 3s ease-in-out infinite; }

/* Ken Burns — 8 slides (7s = synk med hero-timer) */
.sv-hero-slide.active img                           { animation: svKB1 7s ease forwards; }
.sv-hero-slide:nth-child(2).active img { animation: svKB2 7s ease forwards; }
.sv-hero-slide:nth-child(3).active img { animation: svKB3 7s ease forwards; }
.sv-hero-slide:nth-child(4).active img { animation: svKB4 7s ease forwards; }
.sv-hero-slide:nth-child(5).active img { animation: svKB5 7s ease forwards; }
.sv-hero-slide:nth-child(6).active img { animation: svKB6 7s ease forwards; }
.sv-hero-slide:nth-child(7).active img { animation: svKB7 7s ease forwards; }
.sv-hero-slide:nth-child(8).active img { animation: svKB8 7s ease forwards; }
@keyframes svKB1{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.1) translate(-1.5%,-1%)}}
@keyframes svKB2{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.11) translate(1.5%,-.5%)}}
@keyframes svKB3{0%{transform:scale(1) translate(0,1%)}100%{transform:scale(1.09) translate(0,-1.5%)}}
@keyframes svKB4{0%{transform:scale(1.03) translate(1%,0)}100%{transform:scale(1.1) translate(-1.5%,.5%)}}
@keyframes svKB5{0%{transform:scale(1) translate(-1%,-.5%)}100%{transform:scale(1.1) translate(1%,.5%)}}
@keyframes svKB6{0%{transform:scale(1.05) translate(.5%,.5%)}100%{transform:scale(1.12) translate(-1%,-1.5%)}}
@keyframes svKB7{0%{transform:scale(1.02) translate(-.5%,0)}100%{transform:scale(1.11) translate(1%,-1%)}}
@keyframes svKB8{0%{transform:scale(1) translate(.5%,.5%)}100%{transform:scale(1.09) translate(-1%,-.5%)}}

/* Hero trustbar (index only) */
.hero-banner__trustbar {
    display: inline-flex; align-items: center; gap: 18px; margin-bottom: 52px;
    padding: 16px 36px 16px 20px; position: relative;
    background: rgba(2,6,23,.7);
    backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4);
    border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius-full);
    transition: border-color .4s var(--ease);
}
.hero-banner__trustbar:hover { border-color: rgba(255,255,255,.22); }
.hero-banner__trustbar-stripe {
    position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%);
    width: clamp(340px, 65vw, 680px); height: 5px; border-radius: 3px;
    background: linear-gradient(90deg, #BA0C2F 0%, #BA0C2F 28%, #fff 28%, #fff 36%, #00205B 36%, #00205B 64%, #fff 64%, #fff 72%, #BA0C2F 72%, #BA0C2F 100%);
    opacity: .6;
}
.hero-banner__trustbar-flag {
    flex-shrink: 0; width: 44px; height: 32px; border-radius: 4px; overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.hero-banner__trustbar-flag svg { display: block; width: 100%; height: 100%; }
.hero-banner__trustbar-text {
    font-family: var(--font-body); font-size: var(--v24-fs-xl);
    font-weight: 600; color: #fff; letter-spacing: .01em; line-height: 1.5;
    text-shadow: 0 1px 6px rgba(0,0,0,.4);
}

/* ==========================================================================
   HERO — Standard (5 slides + dots, used on om-oss)
   ========================================================================== */
.sv-hero--standard {
    position: relative; min-height: 80vh; display: flex; align-items: center; overflow: hidden;
}
.sv-hero--standard::after {
    content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 150px;
    background: linear-gradient(0deg, var(--bg-deep) 0%, transparent 100%);
    pointer-events: none; z-index: 1;
}
.sv-hero--standard .sv-hero-content {
    position: relative; z-index: 2; padding: 140px 0 80px; width: 100%;
}
.sv-hero--standard h1 {
    font-size: var(--v24-fs-4xl); font-weight: 900;
    margin-bottom: 16px; color: #fff;
    text-shadow: 0 4px 24px rgba(0,0,0,.8), 0 2px 8px rgba(0,0,0,.6);
}
.sv-hero--standard .sv-hero-tagline {
    font-size: var(--v24-fs-xl); color: var(--text-secondary);
    max-width: 600px; line-height: 1.7; margin-bottom: 32px;
    text-shadow: 0 3px 16px rgba(0,0,0,.8), 0 1px 4px rgba(0,0,0,.5);
}
.sv-hero--standard .sv-hero-sub {
    font-size: var(--v24-fs-xl); color: var(--text-secondary);
    max-width: 600px; line-height: 1.7; margin-bottom: 32px;
    text-shadow: 0 3px 16px rgba(0,0,0,.8), 0 1px 4px rgba(0,0,0,.5);
}

/* ==========================================================================
   HERO — Background (kontakt style, align-items: flex-end)
   ========================================================================== */
.sv-hero--background {
    position: relative; min-height: 60vh; display: flex; align-items: flex-end; overflow: hidden;
}
.sv-hero--background .sv-hero-overlay {
    background:
        linear-gradient(90deg, rgba(10,13,20,.88) 0%, rgba(10,13,20,.72) 35%, rgba(10,13,20,.35) 65%, rgba(10,13,20,.15) 100%),
        linear-gradient(0deg, var(--bg-deep) 0%, rgba(10,13,20,.55) 15%, transparent 50%);
}
.sv-hero--background .sv-hero-content {
    position: relative; z-index: 2; padding: 140px 0 80px; width: 100%;
}
.sv-hero--background .sv-hero-inner { max-width: 680px; }
.sv-hero--background h1 {
    font-size: var(--v24-fs-4xl); font-weight: 900;
    margin-bottom: 24px; color: #fff;
    text-shadow: 0 3px 16px rgba(0,0,0,.8), 0 1px 3px rgba(0,0,0,.6); line-height: 1.08;
}
.sv-hero--background h1 .accent {
    color: var(--brand-red);
    filter: drop-shadow(0 0 20px rgba(255,0,51,.35));
    text-shadow: 0 3px 16px rgba(0,0,0,.8), 0 0 30px rgba(255,0,51,.2);
}
.sv-hero--background .sv-hero-subtitle {
    font-size: var(--v24-fs-xl); color: #e2e8f0;
    max-width: 540px; line-height: 1.85; margin-bottom: 40px;
    text-shadow: 0 2px 8px rgba(0,0,0,.7), 0 1px 2px rgba(0,0,0,.5); font-weight: 500;
}
.sv-hero-trust {
    display: flex; align-items: center; gap: 28px; margin-top: 44px;
    padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); flex-wrap: wrap;
}
.sv-hero-trust-item {
    display: flex; align-items: center; gap: 8px;
    font-size: var(--v24-fs-xs); color: #e2e8f0; font-weight: 600;
    text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.sv-hero-trust-item svg { flex-shrink: 0; }

/* ==========================================================================
   HERO — Mini (45dvh, single bg + badge, for godkj/butikk)
   ========================================================================== */
.sv-hero--mini {
    position: relative; min-height: 45dvh; display: flex; align-items: center;
    justify-content: center; overflow: hidden; padding: 110px 0 80px;
}
.sv-hero--mini .sv-hero-bg img {
    animation: svKBMini 25s ease infinite alternate;
}
@keyframes svKBMini {
    0%   { transform: scale(1) translate(0, 0); }
    100% { transform: scale(1.05) translate(-0.5%, -0.3%); }
}
.sv-hero--mini::after {
    content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 100px;
    background: linear-gradient(0deg, var(--bg-deep) 0%, transparent 100%);
    pointer-events: none; z-index: 1;
}
.sv-hero--mini .sv-hero-content {
    position: relative; z-index: 2; max-width: 780px; text-align: center;
    display: flex; flex-direction: column; align-items: center;
}
.sv-hero--mini h1 {
    font-size: var(--v24-fs-3xl); font-weight: 900;
    margin-bottom: 20px; line-height: 1.12; color: #fff; letter-spacing: -.02em;
    text-shadow: 0 2px 16px rgba(0,0,0,.7), 0 6px 32px rgba(0,0,0,.4);
}

/* ==========================================================================
   HERO — Document (static, for godkjenninger)
   ========================================================================== */
.sv-hero--document {
    position: relative; min-height: 50vh; display: flex; align-items: center;
    overflow: hidden; padding: 120px 0 80px;
}
.sv-hero--document .sv-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.sv-hero--document::after {
    content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 150px;
    background: linear-gradient(0deg, var(--bg-deep) 0%, transparent 100%);
    pointer-events: none; z-index: 1;
}
.sv-hero--document .sv-hero-content {
    position: relative; z-index: 3; max-width: 720px;
}
.sv-hero--document .sv-hero-content::before {
    content: ''; display: block; width: 56px; height: 3px;
    background: linear-gradient(90deg, var(--brand-red), var(--ice-blue));
    border-radius: 2px; margin-bottom: 24px;
}
.sv-hero--document h1 {
    font-size: var(--v24-fs-4xl); font-weight: 900;
    margin-bottom: 24px;
    text-shadow: 0 2px 12px rgba(0,0,0,.7), 0 4px 24px rgba(0,0,0,.4);
}
.sv-hero--document h1 .accent { filter: drop-shadow(0 2px 8px rgba(56,189,248,.3)); }

/* ==========================================================================
   HERO — Editorial (text only, for nyheter)
   ========================================================================== */
.sv-hero--editorial {
    position: relative;
    padding: clamp(72px, 12vw, 140px) 0 clamp(56px, 8vw, 88px);
    text-align: center; overflow: hidden;
    background: var(--bg-deep);
}
.sv-hero--editorial::before {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 50% 40% at 30% 50%, rgba(56,189,248,.08), transparent 60%),
        radial-gradient(ellipse 40% 50% at 70% 60%, rgba(255,0,51,.05), transparent 60%);
    pointer-events: none;
}
.sv-hero--editorial h1:not(.sv-hero-title-stack) {
    font-family: var(--font-heading);
    font-size: var(--v24-fs-4xl);
    font-weight: 800; letter-spacing: -.02em; line-height: 1.12;
    margin: 0 auto clamp(16px, 2.5vw, 22px);
    max-width: min(36rem, 100%);
    position: relative;
}
.sv-hero--editorial h1:not(.sv-hero-title-stack) span { color: var(--ice-blue); }
.sv-hero--editorial h1.sv-hero-title-stack {
    font-family: var(--font-heading);
    font-weight: 800;
    letter-spacing: -0.03em;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(8px, 1.5vw, 14px);
    margin: 0 auto clamp(24px, 3.8vw, 40px);
    max-width: min(44rem, 100%);
    line-height: 1.08;
    position: relative;
}
.sv-hero--editorial .sv-hero-title-line1 {
    font-size: var(--v24-fs-4xl);
    color: var(--text-primary);
    text-shadow: 0 4px 36px rgba(0,0,0,.55), 0 0 48px rgba(56,189,248,.1);
}
.sv-hero--editorial .sv-hero-title-year {
    color: var(--ice-blue);
    text-shadow: 0 0 32px rgba(56,189,248,.4), 0 2px 20px rgba(0,0,0,.35);
}
.sv-hero--editorial .sv-hero-title-line2 {
    display: block;
    font-size: var(--v24-fs-xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgba(241,245,249,.98);
    text-shadow: 0 2px 22px rgba(0,0,0,.5);
}

/* ==========================================================================
   FAQ LAYOUT
   ========================================================================== */
.sv-faq-layout {
    display: grid; grid-template-columns: .38fr 1fr; gap: 80px; align-items: start;
}
.sv-faq-sidebar { position: sticky; top: 100px; }
.sv-faq-sidebar p { color: var(--text-secondary); margin-top: 12px; margin-bottom: 28px; line-height: 1.7; }
.sv-faq-list { display: flex; flex-direction: column; gap: 10px; }
.sv-faq-item {
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); overflow: hidden; transition: border-color .3s;
}
.sv-faq-item:hover { border-color: rgba(255,255,255,.14); }
.sv-faq-item.open { border-color: var(--border-glow); background: rgba(56,189,248,.02); }
.sv-faq-item.open::before {
    content: ''; display: block; height: 2px;
    background: linear-gradient(90deg, var(--brand-red), var(--ice-blue));
}
.sv-faq-q {
    display: flex; align-items: center; justify-content: space-between;
    padding: 22px 24px; cursor: pointer; width: 100%; text-align: left;
    background: none; border: none; gap: 16px;
    font-family: var(--font-heading); font-size: var(--v24-fs-sm);
    font-weight: 700; color: var(--text-primary); transition: color .2s;
    min-height: 48px;
}
.sv-faq-q:hover { color: var(--ice-blue); }
.sv-faq-q i {
    font-size: var(--v24-fs-xxs); color: var(--text-muted);
    transition: transform .35s var(--ease), color .35s; flex-shrink: 0;
    width: 28px; height: 28px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.04); border: 1px solid var(--border-subtle);
}
.sv-faq-item.open .sv-faq-q i {
    transform: rotate(180deg); color: var(--ice-blue);
    background: rgba(56,189,248,.08); border-color: rgba(56,189,248,.2);
}
.sv-faq-body { max-height: 0; overflow: hidden; transition: max-height .5s var(--ease); }
.sv-faq-item.open .sv-faq-body { max-height: 500px; }
.sv-faq-body-inner {
    padding: 0 24px 20px; font-size: var(--v24-fs-sm); color: var(--text-secondary); line-height: 1.85;
}

/* ==========================================================================
   FINAL CTA
   ========================================================================== */
.sv-final-cta {
    position: relative; text-align: center; padding: 100px 0;
    background: linear-gradient(180deg, var(--bg-surface) 0%, var(--bg-deep) 100%);
}
.sv-final-cta .sv-title { margin-bottom: 20px; }
.sv-final-cta .sv-desc { margin: 0 auto 40px; }
.sv-final-cta-actions { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; }

/* Glass CTA box (butikk/godkjenninger style) */
.sv-cta-box {
    text-align: center; max-width: 700px; margin: 0 auto;
    padding: 56px 40px;
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.sv-cta-box h2 { font-size: var(--v24-fs-2xl); margin-bottom: 16px; }
.sv-cta-box p {
    font-size: var(--v24-fs-md); color: var(--text-secondary);
    line-height: 1.75; margin-bottom: 32px; max-width: 520px; margin-left: auto; margin-right: auto;
}
.sv-cta-box .sv-btn-group { justify-content: center; margin-top: 0; }
.sv-cta-phone {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--font-mono); font-size: var(--v24-fs-sm);
    color: var(--ice-blue); margin-top: 20px;
}
.sv-cta-phone i { font-size: var(--v24-fs-xs); }

/* ==========================================================================
   CARD BASE
   ========================================================================== */
.sv-card {
    background: rgba(26,35,50,.65); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
    padding: 28px 24px; transition: all .4s var(--ease); position: relative; overflow: hidden;
}
.sv-card:hover {
    transform: translateY(-6px); border-color: var(--border-glow);
    box-shadow: 0 20px 60px rgba(0,0,0,.3), 0 0 30px rgba(56,189,248,.06);
}

/* ==========================================================================
   CHECK LIST
   ========================================================================== */
.sv-check-list { list-style: none; margin: 28px 0 36px; }
.sv-check-list li {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 12px 0; font-size: var(--v24-fs-sm); color: var(--text-secondary); line-height: 1.6;
    border-bottom: 1px solid var(--border-subtle);
}
.sv-check-list li:last-child { border-bottom: none; }
.sv-check-list li i { color: var(--emerald); flex-shrink: 0; margin-top: 3px; font-size: var(--v24-fs-xs); }

/* ==========================================================================
   CONTENT GRID (2-col split)
   ========================================================================== */
.sv-content-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
@media(min-width: 960px) { .sv-content-grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.sv-content-grid--reverse { direction: rtl; }
.sv-content-grid--reverse > * { direction: ltr; }
@media(max-width: 960px) { .sv-content-grid--reverse { direction: ltr; } }

/* ==========================================================================
   TABLE
   ========================================================================== */
.sv-table-wrapper {
    background: rgba(26,35,50,.65); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
    overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
.sv-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.sv-table tr { transition: background .25s ease; }
.sv-table tr:hover { background: rgba(56,189,248,.03); }
.sv-table td {
    padding: 14px 20px; border-bottom: 1px solid var(--border-subtle);
    font-size: var(--v24-fs-xs); color: #f0f4f8; line-height: 1.5;
}
.sv-table td:first-child { font-weight: 600; color: var(--text-primary); width: 40%; }
.sv-table tr:last-child td { border-bottom: none; }

/* ==========================================================================
   RESPONSIVE — Components
   ========================================================================== */
@media(max-width: 1024px) {
    .sv-faq-layout { grid-template-columns: 1fr; gap: 40px; }
    .sv-faq-sidebar { position: static; }
}
@media(max-width: 768px) {
    .sv-hero-cta { flex-direction: column; align-items: center; }
    .sv-hero-cta .sv-btn { width: 100%; max-width: 340px; justify-content: center; }
    .sv-hero-actions { flex-direction: column; }
    .sv-hero-actions .sv-btn { width: 100%; justify-content: center; }
    .sv-final-cta { padding: 72px 0; }
    .sv-final-cta-actions { flex-direction: column; align-items: center; }
    .sv-final-cta-actions .sv-btn { width: 100%; max-width: 340px; justify-content: center; }
    .sv-cta-box { padding: 40px 24px; }
    .sv-hero--mini { min-height: 45dvh; padding: 100px 0 72px; }
    .sv-hero--mini h1 { font-size: var(--v24-fs-2xl); }
    .sv-hero--document { min-height: 45vh; padding: 100px 0 60px; }
    .sv-hero--document h1 { font-size: var(--v24-fs-3xl); }
    .sv-hero--standard { min-height: 60vh; }
    .sv-hero--standard .sv-hero-content { padding: 120px 0 60px; }
    .sv-hero--standard h1 { font-size: var(--v24-fs-3xl); line-height: 1.15; }
    .sv-hero--standard .sv-hero-cta { flex-direction: column; gap: 12px; }
    .sv-hero--standard .sv-hero-cta > * { width: 100%; text-align: center; justify-content: center; }
    .sv-hero--background .sv-hero-cta { flex-direction: column; }
    .sv-hero--background .sv-hero-cta .sv-btn { width: 100%; max-width: 340px; justify-content: center; }
    .sv-hero-trust { gap: 16px; }
    .sv-content-grid { gap: 28px; }
}
@media(max-width: 600px) {
    .sv-hero--home h1 { font-size: var(--v24-fs-2xl); }
    .sv-hero--home { min-height: 100dvh; padding: 100px 0 72px; }
    .sv-hero--home .sv-hero-content { padding: 0 8px; }
    .hero-banner__trustbar-text { font-size: var(--v24-fs-xxs); }
    .hero-banner__trustbar { gap: 10px; padding: 10px 18px 10px 12px; margin-bottom: 28px; }
    .hero-banner__trustbar-flag { width: 26px; height: 19px; }
    .sv-hero-cta .sv-btn { padding: 16px 32px; font-size: var(--v24-fs-xs); }
    .sv-hero--background h1 { font-size: var(--v24-fs-3xl); }
    .sv-hero--background { min-height: 55vh; }
    .sv-hero-trust-item { font-size: var(--v24-fs-xxs); }
    .sv-faq-q { padding: 20px 20px; min-height: 52px; font-size: var(--v24-fs-sm); }
    .sv-faq-body-inner { padding: 0 20px 18px; }
    .sv-content-grid { grid-template-columns: 1fr; gap: 24px; }
    .sv-content-grid--reverse { direction: ltr; }
}

/* === PAGES === */
/* ==========================================================================
   ISHELLA V2.1 — Page-specific Styles
   pages.css — Styles unique to individual pages
   Isbaneteknikk AS · isbaneteknikk.no
   ========================================================================== */

/* ==========================================================================
   INDEX — Service Cards (mouse glow)
   ========================================================================== */
.sv-svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-svc-card {
    position: relative; border-radius: var(--radius-md); overflow: hidden;
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    transition: all .4s var(--ease), transform .35s var(--ease);
    cursor: pointer; min-height: 380px;
    display: flex; flex-direction: column; justify-content: flex-end;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.sv-svc-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 60px rgba(56,189,248,.08);
    border-color: var(--border-glow);
}
.sv-svc-card::after {
    content: ''; position: absolute; inset: 0; border-radius: inherit;
    opacity: 0; transition: opacity .4s;
    background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(56,189,248,.06), transparent 40%);
    pointer-events: none; z-index: 3;
}
.sv-svc-card:hover::after { opacity: 1; }
.sv-svc-card-bg { position: absolute; inset: 0; }
.sv-svc-card-bg img {
    width: 100%; height: 100%; object-fit: cover; opacity: .45;
    transition: transform .7s var(--ease), opacity .5s;
}
.sv-svc-card:hover .sv-svc-card-bg img { transform: scale(1.06); opacity: .25; }
.sv-svc-badge {
    position: absolute; top: 16px; left: 16px; z-index: 4;
    padding: 5px 12px; border-radius: var(--radius-full);
    font-size: var(--v24-fs-xxs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
    backdrop-filter: blur(8px);
}
.sv-svc-badge--red { background: rgba(255,0,51,.15); border: 1px solid rgba(255,0,51,.25); color: var(--brand-red); }
.sv-svc-badge--ice { background: rgba(56,189,248,.12); border: 1px solid rgba(56,189,248,.2); color: var(--ice-blue); }
.sv-svc-badge--green { background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.15); color: var(--emerald); }
.sv-svc-body {
    position: relative; z-index: 2; padding: 32px 28px;
    background: linear-gradient(0deg, rgba(4,8,22,.98) 50%, rgba(4,8,22,.72) 80%, transparent 100%);
}
.sv-svc-body h3 { font-size: var(--v24-fs-lg); font-weight: 700; margin-bottom: 10px; }
.sv-svc-body p { font-size: var(--v24-fs-xs); color: var(--text-secondary); line-height: 1.65; margin-bottom: 14px; }
.sv-svc-arrow {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: var(--v24-fs-xs); font-weight: 700; color: var(--brand-red);
    opacity: 0; transform: translateY(8px); transition: .35s;
}
.sv-svc-card:hover .sv-svc-arrow { opacity: 1; transform: translateY(0); }

/* ==========================================================================
   INDEX — Intro Grid
   ========================================================================== */
.sv-intro-grid {
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center;
}
.sv-intro-text p {
    font-size: var(--v24-fs-md); color: var(--text-secondary); line-height: 1.85; margin-bottom: 20px;
}
.sv-intro-text blockquote {
    border-left: 3px solid var(--ice-blue);
    padding: 20px 0 20px 28px; margin: 32px 0;
    font-style: italic; color: #f1f5f9; font-weight: 500;
    font-size: var(--v24-fs-md); line-height: 1.6;
    background: linear-gradient(90deg, rgba(56,189,248,.04), transparent);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.sv-intro-visual { position: relative; }
.sv-intro-img-main {
    border-radius: var(--radius-lg); overflow: hidden;
    border: 1px solid var(--border-subtle);
    box-shadow: 0 32px 72px -16px rgba(0,0,0,.6);
}
.sv-intro-img-main img {
    width: 100%; aspect-ratio: 4/5; object-fit: cover;
    transition: transform .8s var(--ease);
}
.sv-intro-img-main:hover img { transform: scale(1.04); }
.sv-intro-img-float {
    position: absolute; bottom: -28px; left: -32px;
    width: 56%; border-radius: var(--radius-md); overflow: hidden;
    border: 2px solid var(--border-glow);
    box-shadow: 0 20px 56px rgba(0,0,0,.5); z-index: 3;
}
.sv-intro-img-float img {
    width: 100%; aspect-ratio: 16/10; object-fit: cover;
    transition: transform .8s var(--ease);
}
.sv-intro-img-float:hover img { transform: scale(1.05); }

/* ==========================================================================
   INDEX — Process Steps
   ========================================================================== */
.sv-process-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; position: relative;
}
.sv-process-grid::before {
    content: ''; position: absolute; top: 44px; left: 10%; right: 10%; height: 2px;
    background: linear-gradient(90deg, var(--brand-red), var(--ice-blue));
    opacity: .25; z-index: 0;
}
.sv-process-step { position: relative; z-index: 1; text-align: center; padding: 0 12px; }
.sv-process-num {
    width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 20px;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-heading); font-size: var(--v24-fs-lg); font-weight: 800;
    background: var(--bg-card); border: 2px solid rgba(255,255,255,.14);
    color: var(--ice-blue-light); transition: all .3s;
}
.sv-process-step:hover .sv-process-num {
    background: linear-gradient(135deg, rgba(255,0,51,.1), rgba(56,189,248,.1));
    border-color: var(--ice-blue-light);
    box-shadow: 0 0 22px rgba(56,189,248,.18), 0 0 42px rgba(255,0,51,.06);
}
.sv-process-step h3 { font-size: var(--v24-fs-sm); font-weight: 700; margin-bottom: 8px; }
.sv-process-step p { font-size: var(--v24-fs-xs); color: var(--text-secondary); line-height: 1.65; }

/* ==========================================================================
   INDEX — Product Cards
   ========================================================================== */
.sv-prod-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-prod-card {
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); overflow: hidden;
    transition: all .4s var(--ease); display: block; color: inherit;
    box-shadow: 0 2px 6px rgba(0,0,0,.15); position: relative;
}
.sv-prod-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(56,189,248,.08);
    border-color: var(--border-glow);
}
.sv-prod-card::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, var(--brand-red), var(--ice-blue));
    opacity: 0; transition: opacity .4s var(--ease);
}
.sv-prod-card:hover::after { opacity: 1; }
.sv-prod-thumb { aspect-ratio: 4/3; overflow: hidden; position: relative; background: var(--bg-card); }
.sv-prod-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.sv-prod-card:hover .sv-prod-thumb img { transform: scale(1.06); }
.sv-prod-tag {
    position: absolute; top: 12px; left: 12px;
    padding: 4px 12px; font-size: var(--v24-fs-xxs); font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em;
    border-radius: var(--radius-full); backdrop-filter: blur(8px);
}
.sv-prod-tag--ice { background: rgba(56,189,248,.12); color: var(--ice-blue); border: 1px solid rgba(56,189,248,.2); }
.sv-prod-tag--red { background: rgba(255,0,51,.12); color: var(--brand-red); border: 1px solid rgba(255,0,51,.15); }
.sv-prod-tag--green { background: rgba(16,185,129,.1); color: var(--emerald); border: 1px solid rgba(16,185,129,.15); }
.sv-prod-info { padding: 22px 20px; }
.sv-prod-info h3 { font-size: var(--v24-fs-md); font-weight: 700; margin-bottom: 6px; }
.sv-prod-info p { font-size: var(--v24-fs-xs); color: var(--text-muted); line-height: 1.6; }
.sv-prod-link {
    display: flex; align-items: center; gap: 6px; margin-top: 12px;
    font-size: var(--v24-fs-xs); font-weight: 700; color: var(--brand-red); transition: gap .3s;
}
.sv-prod-card:hover .sv-prod-link { gap: 10px; }
.sv-prod-link i { font-size: var(--v24-fs-xxs); }

/* ==========================================================================
   INDEX — Project Cards
   ========================================================================== */
.sv-projects-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sv-project-card {
    position: relative; border-radius: var(--radius-md); overflow: hidden;
    aspect-ratio: 4/3; cursor: pointer;
    border: 1px solid var(--border-subtle); transition: all .4s var(--ease);
}
.sv-project-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(0,0,0,.4);
    border-color: var(--border-glow);
}
.sv-project-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.sv-project-card:hover img { transform: scale(1.06); }
.sv-project-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 24px 20px 20px;
    background: linear-gradient(0deg, rgba(2,6,23,.95) 0%, rgba(2,6,23,.6) 60%, transparent 100%);
    transition: padding .3s;
}
.sv-project-card:hover .sv-project-overlay { padding-bottom: 24px; }
.sv-project-overlay h3 { font-size: var(--v24-fs-md); font-weight: 700; margin-bottom: 4px; }
.sv-project-overlay span { font-size: var(--v24-fs-xxs); color: var(--text-muted); }
.sv-project-tag {
    position: absolute; top: 12px; left: 12px; z-index: 4;
    padding: 4px 10px; border-radius: var(--radius-full);
    font-size: var(--v24-fs-xxs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    backdrop-filter: blur(8px); background: rgba(56,189,248,.12);
    border: 1px solid rgba(56,189,248,.2); color: var(--ice-blue);
}

/* ==========================================================================
   INDEX — Feature Section (IceBear)
   ========================================================================== */
.sv-feature-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
}
.sv-feature-img {
    border-radius: var(--radius-lg); overflow: hidden;
    border: 1px solid var(--border-subtle);
    box-shadow: 0 40px 80px -20px rgba(0,0,0,.6);
}
.sv-feature-img img {
    width: 100%; border-radius: var(--radius-lg);
    transition: transform .8s ease;
}
.sv-feature-img:hover img { transform: scale(1.03); }

/* ==========================================================================
   INDEX — Shop Cards (6 small categories, index version)
   ========================================================================== */
.sv-hero--home ~ .sv-section .sv-shop-grid { grid-template-columns: repeat(3, 1fr); }
@media(min-width: 1100px) { .sv-hero--home ~ .sv-section .sv-shop-grid { grid-template-columns: repeat(6, 1fr); } }

/* ==========================================================================
   INDEX — Why Cards (trust badges)
   ========================================================================== */
.sv-why-intro { max-width: 740px; margin: 0 auto 56px; text-align: center; }
.sv-why-intro p { font-size: var(--v24-fs-md); color: var(--text-secondary); line-height: 1.8; }
.sv-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sv-why-card {
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); padding: 36px 24px;
    text-align: center; transition: all .4s var(--ease);
    position: relative; overflow: hidden;
}
.sv-why-card::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, var(--brand-red), var(--ice-blue));
    opacity: 0; transition: opacity .4s var(--ease);
}
.sv-why-card:hover::after { opacity: 1; }
.sv-why-card:hover {
    transform: translateY(-6px);
    border-color: var(--brand-red);
    box-shadow: 0 -2px 0 0 var(--brand-red) inset, 0 20px 60px rgba(0,0,0,.3);
}
/* Badge wrap (logo version) */
.sv-why-badge-wrap {
    width: 96px; height: 96px; margin: 0 auto 22px;
    display: flex; align-items: center; justify-content: center;
    background: #ffffff; border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.1);
    transition: transform .35s var(--spring), box-shadow .4s var(--ease);
    position: relative; overflow: hidden;
}
.sv-why-badge-wrap::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(0,51,153,.04), rgba(255,0,51,.04));
    opacity: 0; transition: opacity .4s;
}
.sv-why-card:hover .sv-why-badge-wrap::before { opacity: 1; }
.sv-why-card:hover .sv-why-badge-wrap {
    transform: scale(1.06) translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,.25), 0 0 0 1px rgba(56,189,248,.15);
}
.sv-why-badge {
    max-height: 64px; max-width: 72px; width: auto; object-fit: contain;
    filter: contrast(1.05) saturate(1.1); transition: filter .3s;
}
.sv-why-card:hover .sv-why-badge { filter: contrast(1.1) saturate(1.2); box-shadow: 0 8px 28px rgba(56,189,248,.15); }
/* Icon wrap variant (FA icons) */
.sv-why-icon-wrap {
    width: 88px; height: 88px; margin: 0 auto 22px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(56,189,248,.08), rgba(255,0,51,.06));
    border: 1px solid var(--border-glow); border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.05);
    transition: transform .35s var(--spring), box-shadow .4s var(--ease);
}
.sv-why-icon-wrap i { font-size: var(--v24-fs-2xl); color: var(--ice-blue); transition: transform .3s var(--ease), color .3s var(--ease); }
.sv-why-card:hover .sv-why-icon-wrap {
    transform: scale(1.06) translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,.25), 0 0 0 1px rgba(56,189,248,.15);
}
.sv-why-card:hover .sv-why-icon-wrap i { color: var(--brand-red); transform: scale(1.1); }
.sv-why-card h3 { font-size: var(--v24-fs-md); font-weight: 800; margin-bottom: 10px; font-family: var(--font-heading); }
.sv-why-card p { font-size: var(--v24-fs-xs); color: var(--text-secondary); line-height: 1.7; }

/* ==========================================================================
   INDEX — Innbytte CTA
   ========================================================================== */
.sv-innbytte-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 48px; }
.sv-innbytte-step {
    background: var(--glass-bg); backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
    padding: 36px 28px; text-align: center; transition: all .4s var(--ease);
    position: relative;
}
.sv-innbytte-step:hover { border-color: var(--ice-blue); transform: translateY(-4px); box-shadow: 0 16px 48px rgba(56,189,248,.1); }
.sv-innbytte-num {
    width: 48px; height: 48px; border-radius: 50%; margin: 0 auto 20px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--brand-red), var(--brand-red-deep));
    font-family: var(--font-heading); font-size: var(--v24-fs-lg); font-weight: 900; color: #fff;
    box-shadow: 0 8px 24px rgba(255,0,51,.25);
}
.sv-innbytte-step h4 { font-family: var(--font-heading); font-size: var(--v24-fs-md); font-weight: 800; margin-bottom: 10px; color: #fff; }
.sv-innbytte-step p { font-size: var(--v24-fs-sm); color: var(--text-muted); line-height: 1.65; }
.sv-innbytte-benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-bottom: 40px; }
.sv-innbytte-benefit {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 20px; border-radius: var(--radius-full);
    background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.2);
    font-size: var(--v24-fs-xs); font-weight: 700; color: var(--emerald);
    text-transform: uppercase; letter-spacing: .04em; transition: all .3s var(--ease);
}
.sv-innbytte-benefit:hover { background: rgba(16,185,129,.14); transform: translateY(-2px); }
.sv-innbytte-benefit i { font-size: var(--v24-fs-sm); }

/* ==========================================================================
   INDEX — Ice Particles Canvas
   ========================================================================== */
#sv-particles {
    position: fixed; inset: 0; z-index: 9997; pointer-events: none;
}

/* ==========================================================================
   INDEX — Project Gallery Cards (pg-card)
   ========================================================================== */
.pg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pg-card {
    display: block; text-decoration: none; color: inherit;
    background: var(--bg-card); border: 1px solid rgba(255,255,255,.09);
    border-radius: var(--radius-lg); overflow: hidden;
    transition: transform .4s var(--ease-expo), border-color .4s, box-shadow .4s;
    position: relative;
}
.pg-card:hover { transform: translateY(-7px); border-color: rgba(56,189,248,.3); box-shadow: 0 28px 64px rgba(0,0,0,.5); }
.pg-card-thumb { position: relative; width: 100%; padding-top: 56.25%; overflow: hidden; background: var(--bg-elevated); }
.pg-card-thumb img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    filter: brightness(.88); transition: transform .65s var(--ease), filter .45s;
}
.pg-card:hover .pg-card-thumb img { transform: scale(1.08); filter: brightness(1); }
.pg-card-overlay {
    position: absolute; inset: 0; z-index: 2;
    background: linear-gradient(0deg, rgba(2,6,23,.6) 0%, rgba(2,6,23,.15) 50%, transparent 100%);
    opacity: 0; transition: opacity .35s var(--ease);
    display: flex; align-items: flex-end; justify-content: center; padding-bottom: 28px;
}
.pg-card:hover .pg-card-overlay { opacity: 1; }
.pg-card-overlay-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--brand-red); color: #fff; padding: 10px 24px;
    border-radius: var(--radius-sm); font-size: var(--v24-fs-xs); font-weight: 700; letter-spacing: .03em;
    transform: translateY(10px); transition: transform .35s var(--ease-expo);
    box-shadow: 0 8px 24px rgba(255,0,51,.45);
}
.pg-card:hover .pg-card-overlay-btn { transform: translateY(0); }
.pg-year-badge {
    position: absolute; top: 14px; right: 14px; z-index: 3;
    background: rgba(2,6,23,.82); backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.14); border-radius: 100px;
    padding: 5px 13px; font-size: var(--v24-fs-xxs); font-weight: 700;
    color: var(--ice-blue); font-family: var(--font-mono); letter-spacing: .04em;
}
.pg-type-badge {
    position: absolute; top: 14px; left: 14px; z-index: 3;
    padding: 5px 12px; border-radius: 100px; font-size: var(--v24-fs-xxs);
    font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
}
.pg-type-badge--ishall { background: rgba(255,0,51,.2); border: 1px solid rgba(255,0,51,.35); color: #f87171; }
.pg-type-badge--utendors { background: rgba(16,185,129,.18); border: 1px solid rgba(16,185,129,.35); color: #34d399; }
.pg-type-badge--sentrumsbane { background: rgba(59,130,246,.18); border: 1px solid rgba(59,130,246,.35); color: #60a5fa; }
.pg-type-badge--kundetilpasset { background: rgba(245,158,11,.18); border: 1px solid rgba(245,158,11,.35); color: #fbbf24; }
.pg-type-badge--undervarme { background: rgba(239,68,68,.18); border: 1px solid rgba(239,68,68,.35); color: #f87171; }
.pg-card-body { padding: 20px 22px 22px; }
.pg-card-title { font-size: var(--v24-fs-md); font-weight: 800; color: var(--text-primary); line-height: 1.25; margin-bottom: 8px; font-family: var(--font-heading); }
.pg-card-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.09); }
.pg-card-loc { font-size: var(--v24-fs-xs); color: var(--text-muted); display: flex; align-items: center; gap: 5px; }
.pg-card-loc i { color: var(--ice-blue); font-size: var(--v24-fs-xxs); }
.pg-card-arrow { font-size: var(--v24-fs-xxs); font-weight: 700; color: var(--text-muted); display: flex; align-items: center; gap: 5px; transition: color .25s; }
.pg-card:hover .pg-card-arrow { color: var(--ice-blue); }
.pg-card-arrow i { transition: transform .25s; }
.pg-card:hover .pg-card-arrow i { transform: translateX(3px); }
.pg-card--hidden { display: none; }
.pg-grid.pg-grid--expanded .pg-card--hidden {
    display: block; opacity: 0; transform: translateY(24px);
    animation: pgRevealCard .5s var(--ease-expo) forwards;
}
@keyframes pgRevealCard { to { opacity: 1; transform: translateY(0); } }
.pg-grid.pg-grid--expanded .pg-card--hidden:nth-child(10) { animation-delay: .06s; }
.pg-grid.pg-grid--expanded .pg-card--hidden:nth-child(11) { animation-delay: .12s; }
.pg-grid.pg-grid--expanded .pg-card--hidden:nth-child(12) { animation-delay: .18s; }
#pg-show-more.pg-hidden { display: none; }

/* ==========================================================================
   BUTIKK — Shop Cards (3-col)
   ========================================================================== */
.sv-shop-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media(min-width: 768px) { .sv-shop-grid { grid-template-columns: repeat(3, 1fr); } }
.sv-shop-card {
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); overflow: hidden;
    transition: all .4s var(--ease); cursor: pointer; text-align: center;
}
.sv-shop-card:hover {
    transform: translateY(-6px); border-color: var(--border-glow);
    box-shadow: 0 12px 36px rgba(56,189,248,.06);
}
.sv-shop-card-img { aspect-ratio: 1; overflow: hidden; background: var(--bg-card); }
.sv-shop-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sv-shop-card:hover .sv-shop-card-img img { transform: scale(1.06); }
.sv-shop-card-body { padding: 18px 16px; }
.sv-shop-card-body h3 { font-size: var(--v24-fs-sm); font-weight: 700; margin-bottom: 6px; }
.sv-shop-card-body p { font-size: var(--v24-fs-xs); color: var(--text-muted); line-height: 1.5; }
.sv-shop-card:focus-visible { outline: 2px solid var(--ice-blue); outline-offset: 2px; }

/* ==========================================================================
   GODKJENNINGER — Cert Logo Cards
   ========================================================================== */
.sv-cert-logo {
    position: relative; display: flex; align-items: center; justify-content: center;
    padding: 40px 44px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02) 40%, rgba(56,189,248,.02)),
        radial-gradient(circle at 50% 42%, rgba(255,255,255,.18), rgba(255,255,255,.04) 34%, rgba(56,189,248,.02) 62%, transparent 78%);
    border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius-lg);
    max-width: 300px; min-height: 220px; margin: 0 auto;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 22px 60px rgba(0,0,0,.24);
    overflow: hidden; transition: all .4s var(--ease);
}
.sv-cert-logo::before {
    content: ''; position: absolute; inset: 12px;
    border-radius: calc(var(--radius-lg) - 10px);
    background: linear-gradient(135deg, rgba(255,255,255,.03), rgba(56,189,248,.015));
    border: 1px solid rgba(255,255,255,.045); pointer-events: none;
}
.sv-cert-logo::after {
    content: ''; position: absolute; width: 180px; height: 180px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,.16), rgba(255,255,255,0) 68%);
    filter: blur(8px); opacity: .9; pointer-events: none;
}
.sv-cert-logo:hover {
    border-color: rgba(137,179,217,.24);
    box-shadow: 0 18px 55px rgba(56,189,248,.14), 0 20px 70px rgba(0,0,0,.28);
    transform: translateY(-4px);
}
.sv-cert-logo img {
    position: relative; z-index: 1; max-width: 178px; max-height: 142px;
    width: auto; height: auto; object-fit: contain;
    filter: brightness(1.14) contrast(1.14) saturate(1.04) drop-shadow(0 8px 24px rgba(10,13,20,.28));
    transition: transform .4s var(--ease), filter .4s var(--ease);
}
.sv-cert-logo:hover img {
    transform: scale(1.045);
    filter: brightness(1.18) contrast(1.16) saturate(1.05) drop-shadow(0 14px 28px rgba(10,13,20,.3));
}
.sv-cert-logo--startbank img { max-width: 188px; filter: brightness(1.22) contrast(1.18) saturate(1.02) drop-shadow(0 10px 28px rgba(10,13,20,.26)); }
.sv-cert-logo--sentral img { max-width: 150px; filter: brightness(1.18) contrast(1.22) saturate(1.02) drop-shadow(0 10px 28px rgba(10,13,20,.28)); }
.sv-cert-logo--mester img { max-width: 182px; background: rgba(255,255,255,.95); border-radius: 10px; padding: 14px 16px; filter: drop-shadow(0 4px 16px rgba(0,0,0,.14)) contrast(1.04); }
.sv-cert-logo--miljo img { max-width: 150px; max-height: 156px; filter: brightness(1.16) contrast(1.1) saturate(1.05) drop-shadow(0 10px 28px rgba(10,13,20,.24)); }
.sv-cert-logo--laerebedrift img { max-width: 176px; background: rgba(255,255,255,.95); border-radius: 10px; padding: 14px 16px; filter: drop-shadow(0 4px 16px rgba(0,0,0,.14)) contrast(1.04); }
@media(min-width: 960px) { .sv-content-grid .sv-cert-logo { margin: 0; } }
@media(max-width: 960px) { .sv-cert-logo { max-width: 260px; min-height: 188px; margin: 0 auto; padding: 34px 32px; } }
@media(max-width: 768px) { .sv-cert-logo { max-width: 250px; min-height: 180px; padding: 28px; } .sv-cert-logo img { max-width: 156px; max-height: 118px; } }

/* ==========================================================================
   KONTAKT — Contact Cards
   ========================================================================== */
.sv-cards-section { padding: 72px 0; background: var(--bg-surface); border-bottom: 1px solid var(--border-subtle); position: relative; z-index: 1; }
.sv-cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-contact-card {
    background: linear-gradient(135deg, rgba(10,15,30,.7) 0%, rgba(26,35,50,.5) 50%, rgba(10,15,30,.65) 100%);
    backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
    padding: 32px 26px; display: flex; flex-direction: column; gap: 14px;
    transition: all .4s var(--ease); position: relative; overflow: hidden;
}
.sv-contact-card::before {
    content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px;
    background: linear-gradient(135deg, rgba(56,189,248,.08), rgba(255,0,51,.04), rgba(56,189,248,.06));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    pointer-events: none; opacity: .5; transition: opacity .4s;
}
.sv-contact-card:hover { transform: translateY(-4px); border-color: rgba(255,0,51,.15); box-shadow: 0 16px 40px rgba(0,0,0,.3); }
.sv-contact-card:hover::before { opacity: 1; }
.sv-card-icon {
    width: 54px; height: 54px; border-radius: 14px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: var(--v24-fs-lg); margin-bottom: 4px; transition: all .35s var(--ease);
}
.sv-card-icon.red { background: linear-gradient(135deg, rgba(255,0,51,.12), rgba(255,0,51,.06)); color: var(--brand-red); border: 1px solid rgba(255,0,51,.15); }
.sv-contact-card:hover .sv-card-icon.red { background: var(--brand-red); color: #fff; box-shadow: 0 4px 16px rgba(255,0,51,.3); }
.sv-card-icon.ice { background: linear-gradient(135deg, rgba(56,189,248,.12), rgba(56,189,248,.05)); color: var(--ice-blue); border: 1px solid rgba(56,189,248,.15); }
.sv-contact-card:hover .sv-card-icon.ice { background: var(--ice-blue); color: #0f1520; box-shadow: 0 4px 16px rgba(56,189,248,.25); }
.sv-card-icon.emerald { background: linear-gradient(135deg, rgba(16,185,129,.12), rgba(16,185,129,.05)); color: var(--emerald); border: 1px solid rgba(16,185,129,.15); }
.sv-contact-card:hover .sv-card-icon.emerald { background: var(--emerald); color: #fff; box-shadow: 0 4px 16px rgba(16,185,129,.25); }
.sv-card-icon.amber { background: linear-gradient(135deg, rgba(245,158,11,.12), rgba(245,158,11,.05)); color: var(--amber); border: 1px solid rgba(245,158,11,.15); }
.sv-contact-card:hover .sv-card-icon.amber { background: var(--amber); color: #0f1520; box-shadow: 0 4px 16px rgba(245,158,11,.25); }
.sv-card-label { font-size: var(--v24-fs-xxs); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--text-muted); }
.sv-card-title { font-family: var(--font-heading); font-size: var(--v24-fs-md); font-weight: 700; color: var(--text-primary); margin-bottom: 2px; }
.sv-card-value { font-size: var(--v24-fs-sm); color: var(--text-primary); line-height: 1.6; }
.sv-card-value a { color: var(--text-primary); font-weight: 600; transition: color .25s; }
.sv-card-value a:hover { color: var(--ice-blue); }
.sv-card-sub { font-size: var(--v24-fs-xs); color: var(--text-secondary); }

/* Kontakt — Main Grid + Form */
.sv-main-section { padding: 88px 0; position: relative; overflow: hidden; }
.sv-main-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 56px; align-items: start; }
.sv-info-col { display: flex; flex-direction: column; gap: 32px; }
.sv-company-block {
    background: linear-gradient(135deg, rgba(10,15,30,.7), rgba(26,35,50,.5), rgba(10,15,30,.65));
    backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
    padding: 36px 30px; position: relative; overflow: hidden;
}
.sv-company-block::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--brand-red), var(--brand-blue)); }
.sv-company-block h3 { font-size: var(--v24-fs-lg); font-weight: 800; margin-bottom: 24px; color: var(--ice-blue); display: flex; align-items: center; gap: 10px; }
.sv-info-row { display: flex; align-items: flex-start; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border-subtle); transition: all .3s var(--ease); }
.sv-info-row:hover { padding-left: 6px; }
.sv-info-row:last-child { border-bottom: none; padding-bottom: 0; }
.sv-info-icon {
    width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; font-size: var(--v24-fs-xs);
    background: linear-gradient(135deg, rgba(255,0,51,.1), rgba(255,0,51,.05));
    color: var(--brand-red); border: 1px solid rgba(255,0,51,.1); transition: all .3s var(--ease);
}
.sv-info-row:hover .sv-info-icon { background: var(--brand-red); color: #fff; box-shadow: 0 4px 12px rgba(255,0,51,.25); }
.sv-info-text { display: flex; flex-direction: column; gap: 2px; }
.sv-info-label { font-size: var(--v24-fs-xxs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); }
.sv-info-value { font-size: var(--v24-fs-sm); font-weight: 600; color: var(--text-primary); }
.sv-info-value a { color: var(--text-primary); }
.sv-info-value a:hover { color: var(--brand-red); }

/* Hours card */
.sv-hours-card {
    background: linear-gradient(135deg, rgba(10,15,30,.7), rgba(26,35,50,.5), rgba(10,15,30,.65));
    backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: 28px 26px;
    position: relative; overflow: hidden;
}
.sv-hours-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--emerald), transparent); }
.sv-hours-header { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.sv-hours-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: rgba(16,185,129,.08); color: var(--emerald); border: 1px solid rgba(16,185,129,.12); font-size: var(--v24-fs-sm); }
.sv-hours-title { font-family: var(--font-heading); font-size: var(--v24-fs-md); font-weight: 700; color: var(--text-primary); }
.sv-hours-list { display: flex; flex-direction: column; gap: 10px; }
.sv-hours-row { display: flex; justify-content: space-between; align-items: center; font-size: var(--v24-fs-xs); padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.sv-hours-row:last-child { border-bottom: none; }
.sv-hours-day { color: var(--text-secondary); font-weight: 500; }
.sv-hours-time { color: var(--text-primary); font-weight: 700; font-size: var(--v24-fs-xs); }
.sv-hours-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--radius-full); font-size: var(--v24-fs-xxs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.sv-hours-badge.emergency { background: rgba(255,0,51,.06); color: #ff3366; border: 1px solid rgba(255,0,51,.12); }

/* Quick links */
.sv-quick-links { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.sv-quick-link {
    display: flex; align-items: center; gap: 12px; padding: 14px 18px;
    background: rgba(10,15,30,.5); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm); font-size: var(--v24-fs-sm); font-weight: 600;
    color: var(--text-primary); transition: all .3s var(--ease);
}
.sv-quick-link:hover { border-color: rgba(56,189,248,.15); background: rgba(15,21,32,.8); transform: translateX(4px); }
.sv-quick-link svg { color: var(--text-muted); transition: color .3s; flex-shrink: 0; }
.sv-quick-link:hover svg { color: var(--ice-blue); }
.sv-quick-link span { margin-left: auto; font-size: var(--v24-fs-xxs); color: var(--text-muted); }

/* Contact Form */
.sv-form-col { display: flex; flex-direction: column; }
.sv-form-col .sv-label { margin-bottom: 14px; }
.sv-form-col .sv-title { margin-bottom: 8px; }
.sv-form-col .sv-desc { margin-bottom: 32px; }
.sv-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.sv-form-group { margin-bottom: 20px; }
.sv-form-label { display: block; margin-bottom: 8px; font-size: var(--v24-fs-xxs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #e2e8f0; }
.sv-form-input, .sv-form-select {
    width: 100%; padding: 16px 20px;
    background: rgba(2,6,23,.78); border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px; color: #fff; font-size: var(--v24-fs-sm); font-family: inherit;
    transition: all .3s var(--ease); outline: none; -webkit-text-fill-color: #fff;
}
.sv-form-input::placeholder { color: rgba(255,255,255,.55); -webkit-text-fill-color: rgba(255,255,255,.55); }
.sv-form-input:hover, .sv-form-select:hover { border-color: rgba(255,255,255,.35); background: rgba(2,6,23,.88); }
.sv-form-input:focus, .sv-form-input:focus-visible, .sv-form-select:focus, .sv-form-select:focus-visible {
    border-color: var(--ice-blue); background: rgba(2,6,23,.94);
    box-shadow: 0 0 0 4px rgba(56,189,248,.15); -webkit-text-fill-color: #fff;
}
.sv-form-select {
    appearance: none; -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 18px center; padding-right: 44px; cursor: pointer;
}
.sv-form-select option { background: #0f172a; color: #fff; }
.sv-form-select:disabled { opacity: .5; cursor: not-allowed; color: rgba(255,255,255,.6); -webkit-text-fill-color: rgba(255,255,255,.6); }
textarea.sv-form-input { min-height: 150px; resize: vertical; line-height: 1.65; }
.sv-form-input:-webkit-autofill, .sv-form-input:-webkit-autofill:hover, .sv-form-input:-webkit-autofill:focus,
.sv-form-select:-webkit-autofill, .sv-form-select:-webkit-autofill:hover, .sv-form-select:-webkit-autofill:focus,
textarea.sv-form-input:-webkit-autofill, textarea.sv-form-input:-webkit-autofill:hover, textarea.sv-form-input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important; caret-color: #fff !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    -webkit-box-shadow: 0 0 0 1000px rgba(2,6,23,.92) inset !important;
    box-shadow: 0 0 0 1000px rgba(2,6,23,.92) inset !important;
    transition: background-color 9999s ease-in-out 0s !important;
}
.sv-form-submit {
    width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    padding: 18px 48px; border-radius: var(--radius-full);
    background: linear-gradient(135deg, var(--brand-red), var(--brand-red-deep));
    color: #fff; font-family: var(--font-heading); font-weight: 800; font-size: var(--v24-fs-md);
    text-transform: uppercase; letter-spacing: .1em; border: none; cursor: pointer;
    box-shadow: 0 8px 24px rgba(255,0,51,.3); transition: all .35s var(--ease);
    position: relative; overflow: hidden;
}
.sv-form-submit:hover:not(:disabled) { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(255,0,51,.4); }
.sv-form-submit::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.15) 50%, transparent 80%);
    transform: translateX(-110%); transition: transform .65s ease; pointer-events: none;
}
.sv-form-submit:hover:not(:disabled)::after { transform: translateX(110%); }
.sv-form-submit:disabled { opacity: .6; cursor: wait; }
.sv-form-response { margin-top: 18px; padding: 16px 22px; border-radius: 10px; font-weight: 600; text-align: center; display: none; font-size: var(--v24-fs-sm); }
.sv-form-response.sv-form-success { display: block; background: rgba(16,185,129,.12); border: 1px solid rgba(16,185,129,.35); color: #34d399; }
.sv-form-response.sv-form-error { display: block; background: rgba(255,0,51,.12); border: 1px solid rgba(255,0,51,.35); color: #fb7185; }

/* ==========================================================================
   OM-OSS — Desc Grid + Sidebar
   ========================================================================== */
.sv-desc-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 64px; align-items: start; }
.sv-desc-text h2 { margin-bottom: 24px; }
.sv-desc-text p { font-size: var(--v24-fs-md); color: var(--text-secondary); line-height: 1.85; margin-bottom: 20px; }
.sv-desc-text blockquote {
    border-left: 3px solid var(--ice-blue); padding: 24px 28px 24px 32px; margin: 32px 0;
    font-style: italic; color: var(--text-primary); font-weight: 500; font-size: var(--v24-fs-md); line-height: 1.7;
    background: linear-gradient(135deg, rgba(56,189,248,.06) 0%, rgba(56,189,248,.02) 60%, transparent 100%);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.sv-desc-sidebar { position: sticky; top: 100px; }
.sv-desc-infobox {
    background: linear-gradient(135deg, rgba(17,24,39,.75), rgba(26,35,50,.55), rgba(17,24,39,.7));
    backdrop-filter: blur(20px) saturate(1.3); -webkit-backdrop-filter: blur(20px) saturate(1.3);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: 32px 28px;
}
.sv-desc-infobox h3 { font-size: var(--v24-fs-md); margin-bottom: 16px; color: var(--ice-blue); }
.sv-desc-infobox ul { list-style: none; }
.sv-desc-infobox li { padding: 10px 0; border-bottom: 1px solid var(--border-subtle); display: flex; justify-content: space-between; font-size: var(--v24-fs-sm); }
.sv-desc-infobox li:last-child { border-bottom: none; }
.sv-desc-infobox li span:first-child { color: var(--text-muted); }
.sv-desc-infobox li span:last-child { color: var(--text-primary); font-weight: 600; }

/* OM-OSS — Key Data */
.sv-keydata-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-keydata-item {
    background: linear-gradient(135deg, rgba(17,24,39,.75), rgba(26,35,50,.55), rgba(17,24,39,.7));
    backdrop-filter: blur(20px) saturate(1.3); -webkit-backdrop-filter: blur(20px) saturate(1.3);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-md);
    padding: 36px 20px; text-align: center; transition: all .4s var(--ease);
}
.sv-keydata-item:hover { border-color: rgba(255,255,255,.14); transform: translateY(-6px); box-shadow: 0 20px 56px rgba(0,0,0,.35); }
.sv-keydata-icon { font-size: var(--v24-fs-xl); color: var(--ice-blue); margin-bottom: 14px; }
.sv-keydata-val { font-size: var(--v24-fs-2xl); font-weight: 700; color: var(--ice-blue); margin-bottom: 6px; }
.sv-keydata-label { font-size: var(--v24-fs-xxs); color: var(--text-muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }

/* OM-OSS — Sert Cards */
.sv-serts-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-sert-card {
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); overflow: hidden;
    display: flex; flex-direction: column; transition: all .5s var(--ease);
}
.sv-sert-card:hover { transform: translateY(-6px); box-shadow: 0 28px 64px rgba(0,0,0,.45), 0 0 40px rgba(56,189,248,.05); border-color: rgba(255,255,255,.14); }
.sv-sert-top {
    background: rgba(255,255,255,.08); padding: 32px 24px;
    display: flex; align-items: center; justify-content: center; min-height: 120px;
    backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); position: relative;
}
.sv-sert-top::after { content: ''; position: absolute; bottom: 0; left: 16px; right: 16px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent); }
.sv-sert-top img { max-height: 64px; max-width: 140px; width: auto; object-fit: contain; display: block; }
.sv-sert-body { padding: 28px 24px 32px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.sv-sert-body h3 { font-size: var(--v24-fs-md); }
.sv-sert-body p { font-size: var(--v24-fs-sm); color: var(--text-secondary); line-height: 1.75; flex: 1; }
.sv-sert-tag {
    display: inline-flex; align-items: center; gap: 6px; font-size: var(--v24-fs-xxs); font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: var(--emerald); margin-top: 4px;
}
.sv-sert-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--emerald); animation: svPulseEmerald 2s ease-in-out infinite; }
@keyframes svPulseEmerald { 0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.4);opacity:1} 50%{box-shadow:0 0 0 4px rgba(16,185,129,0);opacity:.7} }

/* OM-OSS — Values */
.sv-why-icon { width: 72px; height: 72px; border-radius: 18px; background: var(--brand-red-glow); color: var(--brand-red); display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,0,51,.15); margin-bottom: 28px; font-size: var(--v24-fs-xl); box-shadow: 0 0 24px rgba(255,0,51,.08); transition: box-shadow .4s var(--ease); }
.sv-why-card:hover .sv-why-icon { box-shadow: 0 0 32px rgba(255,0,51,.15); }
.sv-why-num { position: absolute; top: 24px; right: 24px; font-size: var(--v24-fs-xxs); color: rgba(255,255,255,.14); font-weight: 600; }

/* OM-OSS — Gallery */
.sv-gal-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 280px 280px; gap: 16px; }
.sv-gal-item { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid rgba(255,255,255,.14); position: relative; box-shadow: 0 8px 32px rgba(0,0,0,.4); transition: box-shadow .4s; }
.sv-gal-item:first-child { grid-row: span 2; }
.sv-gal-item:nth-child(4) { grid-column: span 2; }
.sv-gal-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.sv-gal-item:hover { box-shadow: 0 16px 48px rgba(0,0,0,.6); }
.sv-gal-item:hover img { transform: scale(1.06); }
.sv-gal-cap { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; background: linear-gradient(0deg, rgba(2,6,23,.92) 0%, transparent 100%); font-size: var(--v24-fs-xs); font-weight: 600; color: var(--text-secondary); opacity: 0; transform: translateY(8px); transition: all .4s var(--ease); }
.sv-gal-item:hover .sv-gal-cap { opacity: 1; transform: none; }

/* OM-OSS — Totalentreprise */
.sv-total-grid { display: grid; grid-template-columns: .85fr 1.25fr; gap: 80px; align-items: center; }
.sv-total-text h2 { margin-bottom: 24px; }
.sv-total-text p { color: var(--text-secondary); font-size: var(--v24-fs-md); line-height: 1.9; margin-bottom: 18px; }
.sv-total-links { margin-top: 32px; display: flex; flex-direction: column; gap: 10px; }
.sv-total-link { display: flex; align-items: center; gap: 14px; padding: 16px 22px; border-radius: var(--radius-md); background: var(--bg-card); border: 1px solid var(--border-subtle); transition: all .35s var(--ease); font-weight: 600; font-size: var(--v24-fs-sm); }
.sv-total-link i { color: var(--ice-blue); flex-shrink: 0; }
.sv-total-link:hover { border-color: var(--ice-blue); background: rgba(56,189,248,.06); transform: translateX(6px); }
.sv-mosaic-img { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 8px 32px rgba(0,0,0,.4); transition: box-shadow .4s var(--ease); }
.sv-mosaic-img:hover { box-shadow: 0 16px 48px rgba(0,0,0,.55); }
.sv-total-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sv-mosaic-img:first-child { grid-row: span 2; }
.sv-mosaic-img img { width: 100%; height: 100%; object-fit: cover; min-height: 200px; transition: transform .8s var(--ease); }
.sv-mosaic-img:first-child img { min-height: 420px; }
.sv-mosaic-img:hover img { transform: scale(1.06); }

/* OM-OSS — CTA section */
.sv-cta-section { padding: 96px 0; background: var(--bg-surface); border-top: 1px solid var(--border-subtle); text-align: center; }
.sv-cta-section h2 { font-size: var(--v24-fs-3xl); margin-bottom: 16px; }
.sv-cta-section p { font-size: var(--v24-fs-md); color: var(--text-secondary); max-width: 560px; margin: 0 auto 36px; line-height: 1.8; }
.sv-cta-btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; }

/* ==========================================================================
   NYHETER — Editorial Hero + Cards
   ========================================================================== */
.isbat-nyheter { position: relative; }
.ny-hero-label {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: var(--v24-fs-xxs); font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--brand-red); margin-bottom: 16px; position: relative;
}
.ny-hero-label::before { content: ''; width: 22px; height: 2px; background: var(--brand-red); }
.ny-hero-desc {
    font-size: var(--v24-fs-md); color: var(--text-secondary); max-width: 580px;
    margin: 0 auto 32px; line-height: 1.75; position: relative;
}
.ny-toolbar { display: flex; flex-wrap: wrap; gap: 12px; max-width: 1440px; margin: 0 auto; padding: 32px 0; align-items: center; justify-content: center; }
.ny-search { flex: 1 1 280px; max-width: 420px; position: relative; }
.ny-search input {
    width: 100%; padding: 12px 18px 12px 44px; background: var(--glass-bg);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-sm);
    color: var(--text-primary); font-family: var(--font-body); font-size: var(--v24-fs-sm);
    outline: none; transition: border-color .3s;
}
.ny-search input::placeholder { color: var(--text-muted); }
.ny-search input:focus { border-color: var(--ice-blue); }
.ny-search i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--text-muted); font-size: var(--v24-fs-xs); pointer-events: none; }
.ny-sort {
    padding: 12px 18px; background: var(--glass-bg);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-sm);
    color: var(--text-primary); font-family: var(--font-body); font-size: var(--v24-fs-sm);
    outline: none; cursor: pointer; transition: border-color .3s;
}
.ny-sort:focus { border-color: var(--ice-blue); }
.ny-sort option { background: var(--bg-card); color: var(--text-primary); }
.ny-count { font-size: var(--v24-fs-xs); color: var(--text-muted); font-weight: 600; white-space: nowrap; }
.ny-grid-wrapper { max-width: 1440px; margin: 0 auto; padding: 0 0 60px; }
.ny-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.ny-card {
    display: flex; flex-direction: column; background: var(--glass-bg);
    border: 1px solid var(--glass-border); border-radius: var(--radius-md);
    text-decoration: none; color: inherit;
    transition: transform .35s var(--ease), border-color .35s, box-shadow .35s;
    position: relative; overflow: hidden; cursor: pointer;
}
.ny-card:hover { transform: translateY(-4px); border-color: rgba(56,189,248,.2); box-shadow: 0 12px 40px rgba(0,0,0,.35), 0 0 16px rgba(56,189,248,.06); }
.ny-card:focus-visible { outline: 2px solid var(--ice-blue); outline-offset: 2px; }
.ny-card-thumb { position: relative; width: 100%; height: 180px; overflow: hidden; background: var(--bg-card); }
.ny-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease), filter .5s; filter: brightness(.88); }
.ny-card:hover .ny-card-thumb img { transform: scale(1.04); filter: brightness(1); }
.ny-card-thumb-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,13,20,.5) 0%, transparent 50%); pointer-events: none; }
.ny-card-body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 18px; }
.ny-card-title { font-family: var(--font-heading); font-size: var(--v24-fs-md); font-weight: 700; line-height: 1.35; margin-bottom: 12px; color: var(--text-primary); transition: color .3s; }
.ny-card:hover .ny-card-title { color: var(--ice-blue); }
.ny-card-meta { margin-top: auto; display: flex; align-items: center; gap: 8px; font-size: var(--v24-fs-xs); color: var(--text-muted); }
.ny-card-arrow { margin-left: auto; color: var(--text-muted); font-size: var(--v24-fs-xs); transition: transform .3s, color .3s; }
.ny-card:hover .ny-card-arrow { transform: translateX(4px); color: var(--ice-blue); }
.ny-load-more { display: flex; justify-content: center; margin-top: 40px; }
.ny-no-results { text-align: center; padding: 60px 20px; color: var(--text-muted); font-size: var(--v24-fs-md); grid-column: 1 / -1; }
.ny-cta { text-align: center; padding: 80px 0; position: relative; }
.ny-cta h2 { font-size: var(--v24-fs-3xl); margin-bottom: 14px; }
.ny-cta p { font-size: var(--v24-fs-md); color: var(--text-secondary); max-width: 520px; margin: 0 auto 28px; line-height: 1.7; }
.ny-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ==========================================================================
   MILJØPOLICY — Green accents on standard ISBAT dark theme
   Uses standard bg/fonts, emerald accents for environmental topic
   ========================================================================== */

/* Green accent button */
.sv-btn--green {
    background: linear-gradient(135deg, var(--emerald), #047857); color: #fff;
    box-shadow: 0 4px 24px rgba(16,185,129,.3), 0 0 60px rgba(16,185,129,.12);
}
.sv-btn--green:hover {
    box-shadow: 0 8px 40px rgba(16,185,129,.45), 0 0 80px rgba(16,185,129,.2);
    transform: translateY(-3px);
}

/* Green label variant */
.sv-label--green { color: var(--emerald); }
.sv-label--green::before { background: var(--emerald); }

/* Green hero badge variant */
.sv-hero-badge--green { background: rgba(16,185,129,.1); border-color: rgba(16,185,129,.2); color: var(--emerald); }
.sv-hero-badge--green .sv-pulse-dot { background: var(--emerald); }

/* Stats bar */
.sv-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.sv-stat {
    text-align: center; padding: 32px 16px;
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); transition: all .4s var(--ease);
}
.sv-stat:hover { transform: translateY(-4px); border-color: rgba(56,189,248,.2); box-shadow: 0 12px 40px rgba(0,0,0,.3); }
.sv-stat-num { font-family: var(--font-heading); font-size: var(--v24-fs-3xl); font-weight: 800; color: var(--emerald); line-height: 1; margin-bottom: 8px; }
.sv-stat-label { font-size: var(--v24-fs-xs); color: var(--text-muted); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }

/* Feature text-only (centered) */
.sv-feature-text-only { max-width: 800px; margin: 0 auto; text-align: center; }
.sv-feature-text-only h2 { font-size: var(--v24-fs-3xl); margin-bottom: 20px; }
.sv-feature-text-only p { color: var(--text-secondary); font-size: var(--v24-fs-md); line-height: 1.85; max-width: 720px; margin: 0 auto; }

/* Feature text */
.sv-feature-text h2 { font-size: var(--v24-fs-3xl); margin-bottom: 20px; }
.sv-feature-text p { color: var(--text-secondary); font-size: var(--v24-fs-md); line-height: 1.85; margin-bottom: 18px; }

/* Feature list (checkmarks) */
.sv-feature-list { list-style: none; display: flex; flex-direction: column; gap: 14px; margin: 28px 0; }
.sv-feature-list li { display: flex; align-items: flex-start; gap: 14px; font-size: var(--v24-fs-sm); color: var(--text-secondary); line-height: 1.7; }
.sv-feature-list li svg { width: 20px; height: 20px; color: var(--emerald); flex-shrink: 0; margin-top: 3px; }

/* Card grid (4-col icon cards) */
.sv-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-card-grid .sv-card {
    background: var(--bg-card); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg); overflow: hidden;
    display: flex; flex-direction: column; position: relative;
    transition: all .6s var(--ease-expo);
}
.sv-card-grid .sv-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0;
    height: 2px; background: linear-gradient(90deg, var(--brand-red), var(--ice-blue));
    opacity: 0; transition: opacity .4s;
}
.sv-card-grid .sv-card:hover::before { opacity: 1; }
.sv-card-grid .sv-card:hover { transform: translateY(-8px); border-color: rgba(56,189,248,.2); box-shadow: 0 24px 64px rgba(0,0,0,.4); }
.sv-card-grid .sv-card-body { padding: 28px 24px; display: flex; flex-direction: column; flex: 1; }
.sv-card-grid .sv-card-icon {
    width: 52px; height: 52px; border-radius: var(--radius-sm);
    background: rgba(56,189,248,.08); color: var(--ice-blue);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px; border: 1px solid rgba(56,189,248,.12);
}
.sv-card-grid .sv-card-icon svg { width: 22px; height: 22px; }
.sv-card-grid .sv-card h3 { font-size: var(--v24-fs-lg); font-weight: 700; margin-bottom: 12px; }
.sv-card-grid .sv-card p { font-size: var(--v24-fs-sm); color: var(--text-secondary); line-height: 1.7; }

/* Card logo (cert cards) */
.sv-card-logo {
    width: 100%; max-width: 140px; height: 72px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.92); border-radius: var(--radius-sm);
    padding: 10px 14px; margin-bottom: 20px;
}
.sv-card-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* CTA card (glass) */
.sv-cta-card {
    background: linear-gradient(160deg, rgba(11,17,34,.95), rgba(2,6,23,.98));
    border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
    overflow: hidden; position: relative;
    box-shadow: 0 40px 100px rgba(0,0,0,.5); padding: 64px; text-align: center;
}
.sv-cta-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0;
    height: 3px; background: linear-gradient(90deg, var(--brand-red), var(--ice-blue), var(--emerald));
    box-shadow: 0 0 20px rgba(56,189,248,.2);
}
.sv-cta-card h2 { font-size: var(--v24-fs-3xl); margin-bottom: 16px; }
.sv-cta-card p { color: var(--text-secondary); font-size: var(--v24-fs-md); max-width: 700px; margin: 0 auto 32px; line-height: 1.8; }
.sv-cta-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; }

/* ==========================================================================
   PROJECT DETAIL PAGE  (pg- prefix)
   ========================================================================== */

/* Hero extras */
.pg-hero-meta { display: flex; flex-wrap: wrap; gap: 14px; margin: 24px 0 36px; }
.pg-meta-pill {
    display: flex; align-items: center; gap: 8px;
    background: rgba(10,15,35,.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border); border-radius: var(--radius-full);
    padding: 8px 18px; font-size: var(--v24-fs-xs); font-weight: 600; color: var(--text-secondary);
}
.pg-meta-pill svg { width: 14px; height: 14px; color: var(--ice-blue); flex-shrink: 0; }
.pg-meta-pill strong { color: var(--text-primary); }
.pg-hero-type-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(56,189,248,.1); border: 1px solid rgba(56,189,248,.2);
    border-radius: var(--radius-full); padding: 7px 16px; margin-left: 10px; margin-bottom: 24px;
    font-size: var(--v24-fs-xxs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: var(--ice-blue);
}

/* Trust bar */
.pg-trust-bar {
    padding: 28px 0;
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
    background: linear-gradient(180deg,rgba(10,15,35,.4),transparent);
    position: relative; z-index: 2;
}
.pg-trust-inner {
    max-width: 900px; margin: 0 auto;
    display: flex; justify-content: center; align-items: center;
    gap: clamp(24px,5vw,64px); flex-wrap: wrap; padding: 0 20px;
}
.pg-trust-item { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pg-trust-item img {
    max-height: 60px; width: auto; object-fit: contain;
    background: rgba(255,255,255,.9); border-radius: 8px; padding: 6px 10px;
    transition: transform .3s var(--ease);
}
.pg-trust-item:hover img { transform: scale(1.06); }
.pg-trust-item span {
    font-size: var(--v24-fs-xxs); font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: var(--text-muted);
}

/* Specs section */
.pg-specs-section {
    padding: 80px 0; background: var(--bg-surface); position: relative; overflow: hidden;
}
.pg-specs-section::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse 70% 50% at 80% 50%,rgba(56,189,248,.06),transparent 65%);
    pointer-events: none;
}
.pg-specs-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: 48px; align-items: start; }
.pg-status-badge {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px;
    border-radius: var(--radius-full); font-size: var(--v24-fs-xxs); font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; margin-bottom: 28px;
}
.pg-status-badge::before { content: '●'; font-size: var(--v24-fs-xxs); }
.pg-status-badge.done    { background: rgba(16,185,129,.15); border: 1px solid rgba(16,185,129,.4); color: #10b981; }
.pg-status-badge.ongoing { background: rgba(245,158,11,.15);  border: 1px solid rgba(245,158,11,.4);  color: #f59e0b; }
.pg-status-badge.coming  { background: rgba(56,189,248,.1);   border: 1px solid rgba(56,189,248,.25); color: var(--ice-blue); }
.pg-spec-glass {
    background: var(--glass-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border); border-radius: var(--radius-lg);
    padding: 36px; box-shadow: 0 16px 48px rgba(0,0,0,.3);
}
.pg-specs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.pg-spec-row {
    display: flex; flex-direction: column; gap: 4px; padding: 18px 20px;
    border-radius: var(--radius-sm); background: rgba(255,255,255,.025);
    transition: background .2s var(--ease);
}
.pg-spec-row:hover { background: rgba(255,255,255,.05); }
.pg-spec-row.full-width { grid-column: 1 / -1; }
.pg-spec-key {
    font-size: var(--v24-fs-xxs); font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: var(--text-muted);
}
.pg-spec-val {
    font-size: var(--v24-fs-md); font-weight: 700; color: var(--text-primary);
    font-family: var(--font-heading);
}
.pg-spec-val.highlight { color: var(--ice-blue); }
.pg-spec-intro { font-size: var(--v24-fs-md); color: var(--text-secondary); line-height: 1.85; }
.pg-spec-intro p + p { margin-top: 16px; }

/* Description body */
.pg-desc-body { padding: 80px 0; }
.pg-ingress {
    font-size: var(--v24-fs-xl); color: var(--text-secondary); line-height: 1.8;
    margin-bottom: 36px; font-weight: 500;
    padding-bottom: 32px; border-bottom: 1px solid var(--glass-border);
}
.pg-body-text { font-size: var(--v24-fs-md); color: var(--text-secondary); line-height: 1.9; }
.pg-body-text p + p { margin-top: 20px; }
.pg-body-text h3 {
    font-size: var(--v24-fs-xl); color: var(--text-primary); margin: 36px 0 12px; font-weight: 700;
}
.pg-body-text strong { color: var(--text-primary); }

/* Gallery */
.pg-gallery-section {
    padding: 100px 0; background: var(--bg-surface); position: relative; overflow: hidden;
}
.pg-gallery-section::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse 60% 50% at 20% 50%,rgba(255,0,51,.04),transparent 60%);
    pointer-events: none;
}
.pg-gal-grid {
    display: grid; grid-template-columns: repeat(4,1fr);
    grid-auto-rows: 260px; gap: 10px;
}
.pg-gal-item {
    position: relative; overflow: hidden; border-radius: var(--radius-md);
    cursor: pointer; background: var(--bg-elevated);
}
.pg-gal-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s var(--ease); }
.pg-gal-item:hover img { transform: scale(1.05); }
.pg-gal-item.span-2 { grid-column: span 2; }
.pg-gal-item.span-row { grid-row: span 2; }
.pg-gal-overlay {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(0deg,rgba(2,6,23,.8) 0%,transparent 50%);
    opacity: 0; transition: opacity .3s var(--ease);
    display: flex; align-items: flex-end; padding: 16px;
}
.pg-gal-item:hover .pg-gal-overlay { opacity: 1; }
.pg-gal-caption { font-size: var(--v24-fs-xs); font-weight: 600; color: #fff; }

/* Lightbox */
.pg-lightbox {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(2,6,23,.96); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    display: none; align-items: center; justify-content: center;
}
.pg-lightbox.open { display: flex; }
.pg-lb-img {
    max-width: 90vw; max-height: 90vh; object-fit: contain;
    border-radius: var(--radius-md); box-shadow: 0 32px 80px rgba(0,0,0,.7);
}
.pg-lb-close {
    position: absolute; top: 24px; right: 28px;
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
    color: #fff; border-radius: 50%; width: 44px; height: 44px;
    font-size: var(--v24-fs-lg); cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background .2s var(--ease);
}
.pg-lb-close:hover { background: rgba(255,0,51,.3); }
.pg-lb-nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
    color: #fff; border-radius: 50%; width: 52px; height: 52px;
    font-size: var(--v24-fs-xl); cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: all .2s var(--ease);
}
.pg-lb-nav:hover { background: rgba(255,255,255,.18); }
.pg-lb-prev { left: 24px; }
.pg-lb-next { right: 24px; }
.pg-lb-counter {
    position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
    font-size: var(--v24-fs-xs); color: rgba(255,255,255,.6); font-weight: 600;
}

/* Related section */
.pg-related-section { padding: 80px 0; background: var(--bg-surface); }

/* Category link grid */
.pg-link-grid {
    display: grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
    gap: 14px; margin: 40px 0;
}
.pg-link-item {
    display: flex; align-items: center; gap: 14px; padding: 20px 24px;
    border-radius: var(--radius-md); background: var(--glass-bg);
    backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border); color: var(--text-primary); text-decoration: none;
    transition: all .3s var(--ease);
}
.pg-link-item:hover {
    border-color: rgba(56,189,248,.3); background: rgba(56,189,248,.06);
    transform: translateY(-2px);
}
.pg-link-item svg { color: var(--ice-blue); flex-shrink: 0; }
.pg-link-item span { font-size: var(--v24-fs-sm); font-weight: 600; }

/* ==========================================================================
   RESPONSIVE — Pages
   ========================================================================== */
@media(max-width: 1100px) {
    .sv-svc-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-why-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-serts-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-total-grid { grid-template-columns: 1fr; gap: 56px; }
    .sv-keydata-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 1200px) { .pg-grid { grid-template-columns: repeat(3, 1fr); } }
@media(max-width: 1024px) {
    .sv-intro-grid { grid-template-columns: 1fr; gap: 48px; }
    .sv-intro-img-float { position: relative; bottom: auto; left: auto; width: 100%; margin-top: 16px; }
    .sv-feature-grid { grid-template-columns: 1fr; gap: 48px; }
    .sv-main-grid { grid-template-columns: 1fr; gap: 40px; }
    .sv-feature-grid, .sv-feature-grid--reverse { grid-template-columns: 1fr; gap: 48px; }
    .sv-feature-grid--reverse .sv-feature-visual { order: 0; }
}
@media(max-width: 992px) {
    .sv-prod-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-projects-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 900px) {
    .pg-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-svc-grid { grid-template-columns: 1fr; }
    .sv-svc-card { min-height: 320px; }
    .sv-process-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-process-grid::before { display: none; }
    .sv-desc-grid { grid-template-columns: 1fr; gap: 40px; }
    .sv-desc-sidebar { position: static; }
    .sv-gal-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
    .sv-gal-item:first-child { grid-row: auto; grid-column: auto; }
    .sv-gal-item:nth-child(4) { grid-column: auto; }
}
@media(max-width: 768px) {
    .sv-why-grid { grid-template-columns: 1fr; }
    .sv-serts-grid { grid-template-columns: 1fr; }
    .sv-total-mosaic { grid-template-columns: 1fr; }
    .sv-gal-grid { grid-template-columns: 1fr; }
    .sv-cards-grid { grid-template-columns: 1fr; }
    .sv-innbytte-grid { grid-template-columns: 1fr; }
    .sv-innbytte-benefits { flex-direction: column; align-items: center; }
    .sv-cta-btns { flex-direction: column; align-items: center; }
    .sv-cta-btns > * { width: 100%; text-align: center; justify-content: center; }
    .sv-main-section { padding: 64px 0; }
    .sv-cards-section { padding: 64px 0; }
    .ny-grid { grid-template-columns: 1fr; }
    .ny-toolbar { padding: 24px 0; }
    .ny-grid-wrapper { padding: 0 0 40px; }
    .ny-cta { padding: 60px 0; }
    .sv-cta-card { padding: 40px 24px; }
    .sv-stats { grid-template-columns: repeat(2, 1fr); }
    .sv-card-grid { grid-template-columns: 1fr; }
    .sv-why-card { padding: 36px 28px; }
}
@media(max-width: 640px) {
    .sv-form-row { grid-template-columns: 1fr; gap: 0; }
    .sv-hero-trust-item { font-size: var(--v24-fs-xxs); }
}
@media(max-width: 600px) {
    .pg-grid { grid-template-columns: 1fr; gap: 16px; }
    .sv-projects-grid { grid-template-columns: 1fr; }
    .sv-prod-grid { grid-template-columns: 1fr; }
    .sv-shop-grid { grid-template-columns: repeat(2, 1fr); }
    .sv-process-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media(min-width: 769px) and (max-width: 1024px) {
    .ny-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(min-width: 1025px) and (max-width: 1399px) {
    .ny-grid { grid-template-columns: repeat(3, 1fr); }
}
@media(min-width: 1400px) {
    .ny-grid { grid-template-columns: repeat(4, 1fr); }
}
@media(max-width: 900px) {
    .pg-specs-layout { grid-template-columns: 1fr; }
    .pg-gal-grid { grid-template-columns: repeat(3,1fr); }
}
@media(max-width: 640px) {
    .pg-gal-grid { grid-template-columns: repeat(2,1fr); }
    .pg-gal-item.span-2 { grid-column: auto; }
    .pg-gal-item.span-row { grid-row: auto; }
    .pg-specs-grid { grid-template-columns: 1fr; }
    .pg-hero-type-badge { margin-left: 0; }
}
@media(max-width: 400px) {
    .pg-gal-grid { grid-template-columns: 1fr; grid-auto-rows: 200px; }
    .pg-link-grid { grid-template-columns: 1fr; }
}

/* —— Prosjektartikkel (nyhetsmal) —— */
.sv-hero--editorial.sv-hero--split-sky {
    background: radial-gradient(ellipse 140% 95% at 50% -5%, #0d1a30 0%, #071018 42%, #020617 100%);
}
.sv-hero--editorial.sv-hero--split-sky::before {
    background:
        radial-gradient(ellipse 92% 88% at 22% 46%, rgba(255,0,51,.26), transparent 58%),
        radial-gradient(ellipse 90% 90% at 78% 40%, rgba(56,189,248,.24), transparent 58%),
        radial-gradient(ellipse 110% 58% at 50% 100%, rgba(2,6,23,.9), transparent 62%),
        linear-gradient(180deg, rgba(2,6,23,.42) 0%, transparent 48%);
}
.sv-hero--editorial.sv-hero--split-sky .sv-hero-tagline {
    margin: clamp(10px, 2vw, 18px) auto clamp(26px, 4vw, 40px);
    padding: clamp(4px, 1vw, 12px) 0;
    color: rgba(240,244,248,.92);
}
.sv-hero--editorial.sv-hero--split-sky .sv-meta-pill {
    border-color: rgba(56,189,248,.35);
    background: rgba(10,15,35,.55);
    box-shadow: 0 0 0 1px rgba(56,189,248,.08);
}
.sv-hero--editorial.sv-hero--split-sky .sv-article-type-badge {
    border-color: rgba(56,189,248,.45);
    background: rgba(56,189,248,.08);
}
.sv-hero--editorial.sv-hero--split-sky .sv-hero-badge {
    border-color: rgba(255,0,51,.45);
    background: rgba(255,0,51,.08);
}
/* Editorial + Ken Burns-bakgrunn — kompakt hero */
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns {
    position: relative;
    /* Full viewport — bildefyll, ingen stripe med sidebakgrunn under */
    min-height: 100vh;
    min-height: 100dvh;
    padding-top: clamp(72px, 10vw, 104px);
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
/* Nøytral sot over Ken Burns — kun sort, foto synlig */
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns::before {
    z-index: 1;
    background:
        radial-gradient(ellipse 92% 88% at 50% 48%, rgba(0,0,0,.12) 0%, rgba(0,0,0,.34) 52%, rgba(0,0,0,.54) 100%),
        linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.14) 36%, rgba(0,0,0,.12) 58%, rgba(0,0,0,.42) 100%);
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-container { z-index: 2; }
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-content > div:first-child {
  gap: 4px 6px;
  margin-bottom: clamp(6px, 1.1vw, 11px);
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns h1.sv-hero-title-stack {
  gap: clamp(2px, 0.55vw, 6px);
  margin-bottom: clamp(6px, 1.1vw, 11px);
  line-height: 1.03;
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-title-line1 {
  font-size: var(--v24-fs-3xl);
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-title-line2 {
  font-size: var(--v24-fs-xl);
  margin-top: -0.04em;
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-badge {
  padding: 5px 14px;
  font-size: var(--v24-fs-xxs);
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-pulse-dot { width: 6px; height: 6px; }
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-article-type-badge {
  padding: 5px 12px;
  font-size: var(--v24-fs-xxs);
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-article-meta {
  margin: clamp(4px, 0.9vw, 10px) 0 clamp(10px, 1.6vw, 16px);
  gap: 6px;
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-meta-pill {
  padding: 5px 12px;
  font-size: var(--v24-fs-xs);
  gap: 6px;
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-meta-pill i {
  font-size: var(--v24-fs-xxs);
  line-height: 1;
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-actions {
  gap: 10px;
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-actions .sv-btn {
  padding: 11px 20px;
  font-size: var(--v24-fs-xs);
  gap: 8px;
}
.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-actions .sv-btn i {
  font-size: var(--v24-fs-xxs);
}
/* Lystlunden: episk hero + større artikkeltekst */
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns {
  padding-top: clamp(80px, 12vw, 118px);
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-title-line1 {
  font-size: var(--v24-fs-4xl);
  text-shadow: 0 6px 40px rgba(0,0,0,.75), 0 2px 18px rgba(0,0,0,.45);
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-title-year {
  text-shadow: 0 0 36px rgba(56,189,248,.42), 0 3px 20px rgba(0,0,0,.45);
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-title-line2 {
  font-size: var(--v24-fs-xl);
  font-weight: 800;
  text-shadow: 0 4px 26px rgba(0,0,0,.72);
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-actions .sv-btn {
  padding: 13px 26px;
  font-size: var(--v24-fs-sm);
  font-weight: 700;
  letter-spacing: .03em;
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-content > div:first-child {
  gap: 10px 14px;
  margin-bottom: clamp(12px, 2vw, 20px);
  padding: 6px 10px;
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-hero-badge {
  padding: 9px 20px;
  font-size: var(--v24-fs-xxs);
  letter-spacing: .11em;
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 6px 28px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.08);
  background: rgba(255,0,51,.2);
  border-color: rgba(255,0,51,.58);
  color: #fff;
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-article-type-badge {
  padding: 9px 20px;
  font-size: var(--v24-fs-xxs);
  letter-spacing: .11em;
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 6px 28px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08);
  background: rgba(56,189,248,.18);
  border-color: rgba(56,189,248,.58);
  color: #f0f9ff;
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns .sv-pulse-dot {
  width: 7px;
  height: 7px;
}
.isbat-page--prosjekt .sv-article-section {
  padding: 40px 0 32px;
}
.isbat-page--prosjekt .sv-article-layout {
  gap: 20px 36px;
}
.isbat-page--prosjekt .sv-article-block .sv-label,
.isbat-page--prosjekt .sv-article-block h2.sv-label {
  margin-bottom: 8px;
}
.isbat-page--prosjekt .sv-article-section .sv-article-text {
  font-size: var(--v24-fs-xl);
  line-height: 1.72;
}
.isbat-page--prosjekt .sv-article-section .sv-article-text p + p {
  margin-top: 12px;
}
.isbat-page--prosjekt #sv-galleri.sv-section--article-gal {
  padding-top: clamp(72px, 10vw, 112px);
}
.sv-hero--editorial .sv-container { position: relative; z-index: 1; }
.sv-hero--editorial .sv-hero-content {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center;
  width: 100%; max-width: min(52rem, 100%); margin: 0 auto;
  padding: 0 clamp(4px, 1.5vw, 8px);
  box-sizing: border-box;
}
.sv-hero--editorial .sv-hero-content > div:first-child {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 10px 12px;
  margin-bottom: clamp(18px, 2.8vw, 26px);
}
.sv-hero--editorial .sv-hero-badge { margin-bottom: 0; }
.sv-hero--editorial .sv-article-type-badge { margin-left: 0; margin-bottom: 0; }
.sv-hero--editorial .sv-hero-tagline {
  max-width: min(38rem, 100%); margin: 0 auto;
  font-size: var(--v24-fs-xl); line-height: 1.68;
  color: var(--text-secondary);
}
.sv-hero--editorial .sv-article-meta {
  margin: clamp(22px, 3.2vw, 30px) 0 clamp(24px, 3.8vw, 34px);
  justify-content: center;
}
.sv-hero--editorial .sv-hero-actions {
  justify-content: center; width: 100%;
  gap: clamp(12px, 2vw, 16px);
}
@media (max-width: 600px) {
  .sv-hero--editorial { padding: clamp(52px, 14vw, 84px) 0 clamp(40px, 10vw, 64px); }
  .sv-hero--editorial .sv-hero-content { padding: 0; }
}
.sv-article-type-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(56,189,248,.1); border: 1px solid rgba(56,189,248,.2);
    border-radius: var(--radius-full); padding: 7px 16px; margin-left: 10px;
    font-size: var(--v24-fs-xxs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: var(--ice-blue); vertical-align: middle;
}
.sv-article-meta {
    display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
    margin: 20px 0 28px;
}
.sv-meta-pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(10,15,35,.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border); border-radius: var(--radius-full);
    padding: 8px 18px; font-size: var(--v24-fs-xs); font-weight: 600; color: var(--text-secondary);
}
.sv-meta-pill i { color: var(--ice-blue); }
.sv-article-section { padding: 72px 0 56px; background: var(--bg-deep); }
.sv-article-layout {
    display: grid; grid-template-columns: 1fr 1fr; gap: 48px 56px; align-items: start;
}
@media(max-width: 900px) { .sv-article-layout { grid-template-columns: 1fr; } }
.sv-article-block .sv-label { margin-bottom: 12px; }
/* h2.sv-label: correct outline without overriding .sv-label look */
.elementor-widget-html .sv-article-block h2.sv-label {
    font-family: var(--font-body);
    font-size: var(--v24-fs-xxs);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brand-red);
}
.sv-article-text { font-size: var(--v24-fs-md); color: var(--text-secondary); line-height: 1.85; }
.sv-article-text p + p { margin-top: 16px; }
.sv-article-details {
    background: var(--glass-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--glass-border); border-radius: var(--radius-lg);
    padding: 28px 28px 24px;
}
.sv-article-details h3 {
    font-family: var(--font-heading); font-size: var(--v24-fs-xs); font-weight: 800;
    letter-spacing: .08em; text-transform: uppercase; color: var(--ice-blue);
    margin-bottom: 18px;
}
.sv-fact-row {
    display: grid; grid-template-columns: minmax(120px, 38%) 1fr;
    gap: 12px 20px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: var(--v24-fs-sm);
}
.sv-fact-row:last-child { border-bottom: 0; }
.sv-fact-k { color: var(--text-muted); font-weight: 600; }
.sv-fact-v { color: var(--text-primary); font-weight: 600; }
#sv-galleri.sv-section--article-gal { padding-top: 56px; padding-bottom: 88px; }
/* Prosjekt-galleri: ikke bruk OM-oss-mosaikk (første/fjerde rute) på #svGalGrid */
#sv-galleri #svGalGrid {
    grid-template-rows: none;
    grid-auto-rows: 260px;
    align-content: start;
}
#sv-galleri #svGalGrid > .sv-gal-item:first-child {
    grid-row: auto;
    grid-column: auto;
}
#sv-galleri #svGalGrid > .sv-gal-item:nth-child(4) {
    grid-column: auto;
}
.sv-gal-item { cursor: pointer; }
.sv-gal-item .sv-gal-caption-bar {
    position: absolute; inset: auto 0 0 0; z-index: 2;
    padding: 14px 16px 16px;
    background: linear-gradient(0deg, rgba(2,6,23,.92) 0%, transparent 100%);
    pointer-events: none;
}
.sv-gal-caption { font-size: var(--v24-fs-xs); font-weight: 600; color: #fff; line-height: 1.3; }
.sv-gal-loadmore-wrap { text-align: center; margin-top: 28px; }
.sv-gal-loadmore-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 28px; border-radius: var(--radius-full);
    font-family: var(--font-body); font-size: var(--v24-fs-sm); font-weight: 700;
    background: rgba(56,189,248,.08); border: 1px solid rgba(56,189,248,.25);
    color: var(--ice-blue); cursor: pointer; transition: all .25s var(--ease);
}
.sv-gal-loadmore-btn:hover { background: rgba(56,189,248,.14); border-color: var(--ice-blue); }
.sv-gal-loadmore-btn.sv-is-hidden { display: none; }
.sv-lb-overlay {
    position: fixed; inset: 0; z-index: 100000;
    background: rgba(2,6,23,.94); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s;
    padding: 56px 16px 80px;
}
.sv-lb-overlay.is-active { opacity: 1; visibility: visible; }
.sv-lb-overlay .sv-lb-swiper {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: min(75vh, 720px);
    margin: 0 auto;
}
.sv-lb-overlay .swiper-slide { display: flex; align-items: center; justify-content: center; }
.sv-lb-overlay .swiper-slide img {
    max-width: 100%; max-height: min(75vh, 720px); width: auto; height: auto; object-fit: contain;
    border-radius: var(--radius-md);
}
.sv-lb-close-btn {
    position: absolute; top: 16px; right: 20px; z-index: 5;
    width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08);
    color: #fff; font-size: var(--v24-fs-xl); line-height: 1; cursor: pointer;
    transition: background .2s;
}
.sv-lb-close-btn:hover { background: rgba(255,0,51,.35); }
.sv-lb-counter {
    position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
    font-size: var(--v24-fs-xs); font-weight: 600; color: rgba(255,255,255,.55);
    z-index: 5;
}
.sv-lb-overlay .swiper-button-prev,
.sv-lb-overlay .swiper-button-next {
    width: 48px !important;
    height: 48px !important;
    margin-top: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 12;
    color: #fff !important;
    background: rgba(2, 6, 23, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
}
.sv-lb-overlay .swiper-button-prev { left: 8px !important; }
.sv-lb-overlay .swiper-button-next { right: 8px !important; }
.sv-lb-overlay .swiper-button-prev:after,
.sv-lb-overlay .swiper-button-next:after {
    font-size: var(--v24-fs-md);
    font-weight: 700 !important;
}
.sv-hero--editorial.sv-hero--with-kenburns .sv-hero-kb-nav {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(8px, 2vw, 24px);
}
.sv-hero--editorial.sv-hero--with-kenburns .sv-hero-kb-btn {
    pointer-events: auto;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(2, 6, 23, 0.45);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--v24-fs-md);
    transition: background .2s, border-color .2s;
}
.sv-hero--editorial.sv-hero--with-kenburns .sv-hero-kb-btn:hover {
    background: rgba(255, 0, 51, 0.35);
    border-color: rgba(255, 255, 255, 0.35);
}
@media (max-width: 600px) {
    .sv-hero--editorial.sv-hero--with-kenburns .sv-hero-kb-btn {
        width: 42px;
        height: 42px;
    }
}
.sv-thumb-links {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.sv-thumb-link {
    display: flex; flex-direction: column; text-decoration: none; color: inherit;
    background: var(--glass-bg); border: 1px solid var(--glass-border);
    border-radius: var(--radius-md); overflow: hidden;
    transition: transform .3s var(--ease), border-color .3s, box-shadow .3s;
}
.sv-thumb-link:hover {
    transform: translateY(-4px); border-color: rgba(56,189,248,.28);
    box-shadow: 0 16px 44px rgba(0,0,0,.35);
}
.sv-thumb-link-img { aspect-ratio: 16/10; overflow: hidden; background: var(--bg-card); }
.sv-thumb-link-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sv-thumb-link:hover .sv-thumb-link-img img { transform: scale(1.04); }
.sv-thumb-link-body { padding: 18px 20px 20px; }
.sv-thumb-link-body h3 { font-size: var(--v24-fs-md); font-weight: 800; margin-bottom: 8px; color: var(--text-primary); font-family: var(--font-heading); }
.sv-thumb-link-body span { font-size: var(--v24-fs-xs); color: var(--text-muted); font-weight: 600; }
.sv-nh-controls { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-bottom: 12px; }
.sv-nh-search-wrapper { flex: 1 1 240px; max-width: 420px; }
.sv-nh-search-input {
    width: 100%; padding: 12px 16px; background: var(--glass-bg);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-sm);
    color: var(--text-primary); font-family: var(--font-body); font-size: var(--v24-fs-sm);
}
.sv-nh-search-input:focus { outline: 2px solid rgba(56,189,248,.4); outline-offset: 2px; border-color: var(--ice-blue); }
.sv-nh-sort-wrapper { display: flex; align-items: center; gap: 10px; }
.sv-nh-sort-label { font-size: var(--v24-fs-xs); color: var(--text-muted); font-weight: 600; }
.sv-nh-sort-select {
    padding: 10px 14px; background: var(--glass-bg); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm); color: var(--text-primary); font-size: var(--v24-fs-sm); font-family: var(--font-body);
}
.sv-nh-meta { margin-bottom: 20px; }
.sv-nh-count { font-size: var(--v24-fs-xs); color: var(--text-muted); font-weight: 600; }
.sv-nh-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.sv-nh-card {
    display: flex; flex-direction: column; background: var(--glass-bg);
    border: 1px solid var(--glass-border); border-radius: var(--radius-md);
    text-decoration: none; color: inherit; overflow: hidden;
    transition: transform .3s, border-color .3s, box-shadow .3s;
}
.sv-nh-card:hover { transform: translateY(-3px); border-color: rgba(56,189,248,.22); box-shadow: 0 12px 36px rgba(0,0,0,.32); }
.sv-nh-card-thumb { height: 160px; overflow: hidden; background: var(--bg-card); }
.sv-nh-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sv-nh-card-body { padding: 16px 18px 18px; flex: 1; display: flex; flex-direction: column; }
.sv-nh-card-title { font-family: var(--font-heading); font-size: var(--v24-fs-sm); font-weight: 700; line-height: 1.35; margin-bottom: 10px; color: var(--text-primary); }
.sv-nh-card-meta { margin-top: auto; font-size: var(--v24-fs-xs); color: var(--text-muted); }
.sv-nh-empty { display: none; text-align: center; padding: 48px 20px; color: var(--text-muted); }
.sv-nh-empty.is-visible { display: block; }
.sv-nh-loadmore-wrap { text-align: center; margin-top: 36px; }
.sv-nh-card.is-hidden { display: none; }

/* ── Lystlunden: nyhetsmal-parallell (brødsmule, hero-artikkel, videre lenker, nyhetsgrid, CTA) ── */
.isbat-page--prosjekt .ps-breadcrumb {
  padding: 20px 0;
  border-bottom: 1px solid var(--glass-border);
  background: var(--bg-surface);
}
.isbat-page--prosjekt .ps-breadcrumb-inner {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  font-size: var(--v24-fs-xs); color: var(--text-muted);
}
.isbat-page--prosjekt .ps-breadcrumb-inner a { color: var(--text-muted); transition: color .2s; }
.isbat-page--prosjekt .ps-breadcrumb-inner a:hover { color: var(--ice-blue); }
.isbat-page--prosjekt .ps-breadcrumb-inner .ps-bc-sep { opacity: .4; user-select: none; }
.isbat-page--prosjekt .ps-breadcrumb-inner .ps-bc-current { color: var(--text-secondary); font-weight: 600; }

.isbat-page--prosjekt .sv-article-layout {
  grid-template-columns: 1fr;
  max-width: 860px;
  margin: 0 auto;
  gap: clamp(36px, 5vw, 52px);
}
.isbat-page--prosjekt .sv-article-text .sv-article-lead {
  font-size: var(--v24-fs-xl);
  line-height: 1.75;
  color: var(--text-primary);
}

.isbat-page--prosjekt .sv-hero--ps-article.sv-hero--editorial {
  min-height: min(92vh, 920px);
  padding: 0;
  display: flex;
  flex-direction: column;
}
.isbat-page--prosjekt .sv-hero--ps-article .sv-container {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  align-items: flex-end;
  padding-bottom: clamp(48px, 8vw, 100px);
  padding-top: clamp(72px, 12vw, 120px);
}
.isbat-page--prosjekt .sv-hero--ps-article .sv-hero-content {
  text-align: left;
  align-items: flex-start;
  max-width: 820px;
  margin: 0 auto 0 0;
  width: 100%;
}
.isbat-page--prosjekt .sv-hero--ps-article .sv-hero-content > div:first-child {
  justify-content: flex-start;
}
.isbat-page--prosjekt .sv-hero--ps-article h1.sv-hero-title--article {
  font-family: var(--font-heading);
  font-size: var(--v24-fs-4xl);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: 0 0 clamp(18px, 2.8vw, 26px);
  max-width: min(22ch, 100%);
  text-shadow: 0 4px 36px rgba(0,0,0,.55), 0 0 48px rgba(56,189,248,.08);
}
.isbat-page--prosjekt .sv-hero--ps-article .sv-article-meta { justify-content: flex-start; }
.isbat-page--prosjekt .sv-hero--ps-article .sv-hero-actions { justify-content: flex-start; }
.isbat-page--prosjekt .sv-hero--ps-article.sv-hero--editorial.sv-hero--split-sky.sv-hero--with-kenburns {
  padding-top: 0;
}

#videre-lenker .sv-thumb-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
#videre-lenker .sv-thumb-link {
  display: flex; flex-direction: row; align-items: center; gap: 0;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none; color: inherit;
  transition: transform .3s var(--ease), border-color .3s, box-shadow .3s;
}
#videre-lenker .sv-thumb-link:hover {
  transform: translateY(-3px);
  border-color: var(--border-glow);
  box-shadow: 0 12px 36px rgba(0,0,0,.28);
}
#videre-lenker .sv-thumb-top:not(.sv-thumb-top--icon) {
  display: none;
}

#videre-lenker .sv-thumb-body {
  display: flex; flex-direction: column; gap: 4px;
  padding: 14px 18px 14px 0; flex: 1;
}
#videre-lenker .sv-thumb-body h3 { font-size: var(--v24-fs-sm); line-height: 1.3; margin: 0; font-family: var(--font-heading); font-weight: 700; }
#videre-lenker .sv-thumb-body p {
  margin: 0; font-size: var(--v24-fs-xs); line-height: 1.5;
  color: var(--text-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
#videre-lenker .sv-thumb-arrow {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--v24-fs-xxs); font-weight: 700; color: var(--brand-red); margin-top: 2px;
}
#videre-lenker .sv-thumb-link:hover .sv-thumb-arrow i { transform: translateX(3px); }
@media (max-width: 768px) { #videre-lenker .sv-thumb-links { grid-template-columns: 1fr; } }

.isbat-nyheter-gallery {
  --nh-ice: #6699cc;
  --nh-bg: #0a0f1e;
  --nh-card: #0f172a;
  --nh-border: rgba(255,255,255,.1);
  background: var(--nh-bg);
  padding: 80px 28px;
  font-family:var(--isbat-font-body);
}
.isbat-nyheter-inner { max-width: 1320px; margin: 0 auto; }
.isbat-nyheter-header { margin-bottom: 16px; }
.isbat-nyheter-header h2 {
  font-family:var(--isbat-font-heading); font-size: var(--v24-fs-3xl);
  font-weight: 800; color: #f1f5f9; margin-bottom: 8px;
}
.isbat-nyheter-header h2 span { color: var(--nh-ice); }
.isbat-nyheter-controls {
  display: flex; flex-wrap: wrap; justify-content: space-between;
  align-items: center; gap: 20px; margin-bottom: 24px;
  padding-bottom: 20px; border-bottom: 1px solid var(--nh-border);
}
.isbat-nh-search-wrapper { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 200px; max-width: 400px; }
.isbat-nh-search-input {
  width: 100%; padding: 12px 18px; background: rgba(255,255,255,.05);
  border: 1px solid var(--nh-border); border-radius: 10px;
  color: #fff; font-size: var(--v24-fs-sm); font-family: inherit; transition: .3s;
}
.isbat-nh-search-input::placeholder { color: rgba(184,197,212,.7); }
.isbat-nh-search-input:hover, .isbat-nh-search-input:focus { border-color: var(--nh-ice); outline: none; }
.isbat-nh-sort-wrapper { display: flex; align-items: center; gap: 10px; }
.isbat-nh-sort-label { font-size: var(--v24-fs-xs); color: #b8c5d4; font-weight: 600; }
.isbat-nh-sort-select {
  padding: 10px 16px; background: rgba(255,255,255,.05);
  border: 1px solid var(--nh-border); border-radius: 10px;
  color: #fff; font-size: var(--v24-fs-xs); font-family: inherit; cursor: pointer; transition: .3s;
}
.isbat-nh-sort-select:hover { border-color: var(--nh-ice); }
.isbat-nh-sort-select option { background: #0f172a; color: #fff; }
.isbat-nh-meta {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 14px; margin-bottom: 28px;
}
.isbat-nh-count { font-size: var(--v24-fs-sm); color: #b8c5d4; font-weight: 700; }
.isbat-nh-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 14px; margin-bottom: 28px;
}
@media (max-width: 1000px) { .isbat-nh-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .isbat-nh-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .isbat-nh-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
@media (max-width: 400px) { .isbat-nh-grid { grid-template-columns: 1fr; } }
.isbat-nh-card {
  position: relative; border-radius: 16px; overflow: hidden;
  aspect-ratio: 10/11; display: block; cursor: pointer;
  background: var(--nh-card); border: 1px solid var(--nh-border);
  transition: transform .4s ease, border-color .3s ease, box-shadow .4s ease;
  text-decoration: none; color: inherit;
  contain: layout style paint;
}
.isbat-nh-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; opacity: .8; }
.isbat-nh-card:hover img { transform: scale(1.08); opacity: .4; }
.isbat-nh-card:hover {
  border-color: var(--nh-ice); box-shadow: 0 20px 50px rgba(0,0,0,.5); transform: translateY(-4px);
}
.isbat-nh-overlay {
  position: absolute; bottom: 0; left: 0; width: 100%;
  padding: 30px 14px 14px;
  background: linear-gradient(0deg, rgba(2,6,23,.95) 30%, transparent);
  pointer-events: none;
}
.isbat-nh-card h3 {
  font-family:var(--isbat-font-heading); color: #fff; font-size: var(--v24-fs-sm);
  margin: 0 0 5px 0; line-height: 1.2;
}
.isbat-nh-date { font-size: var(--v24-fs-xxs); color: #b8c5d4; }
.isbat-nh-empty {
  display: none; padding: 24px; color: #b8c5d4; font-weight: 700;
  text-align: center; font-size: var(--v24-fs-lg);
}
.isbat-nh-loadmore-wrap { text-align: center; margin: 32px 0 12px; }
.isbat-nh-loadmore-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 32px; background: rgba(15,23,42,.8);
  border: 1px solid rgba(255,255,255,.15); border-radius: 12px;
  color: #f1f5f9; font-family:var(--isbat-font-heading); font-size: var(--v24-fs-sm); font-weight: 600;
  cursor: pointer; transition: border-color .3s, color .3s, transform .3s, box-shadow .3s;
}
.isbat-nh-loadmore-btn:hover {
  border-color: rgba(102,153,204,.4); color: #6699cc;
  transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0,0,0,.3);
}
.isbat-nh-loadmore-btn svg { width: 18px; height: 18px; transition: transform .3s; }
.isbat-nh-loadmore-btn:hover svg { transform: translateY(3px); }

.isbat-page--prosjekt .ps-cta-section {
  background: linear-gradient(135deg, rgba(0,51,153,.12), rgba(255,0,51,.06));
  padding: 64px 0; position: relative; z-index: 1;
}
.isbat-page--prosjekt .ps-cta-inner {
  max-width: 860px; margin: 0 auto; padding: 0 24px; text-align: center;
}
.isbat-page--prosjekt .ps-cta-desc {
  color: var(--text-secondary); font-size: var(--v24-fs-md); line-height: 1.8;
  max-width: 540px; margin: 0 auto 32px;
}
.isbat-page--prosjekt .ps-cta-buttons {
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: center;
}
.isbat-page--prosjekt .ps-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 34px; border-radius: var(--radius-sm); border: none; cursor: pointer;
  font-family: var(--font-body); font-size: var(--v24-fs-sm); font-weight: 700; letter-spacing: .02em;
  transition: background .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.isbat-page--prosjekt .ps-btn svg { width: 14px; height: 14px; transition: transform .3s; }
.isbat-page--prosjekt .ps-btn:hover svg { transform: translateX(3px); }
.isbat-page--prosjekt .ps-btn--red { background: var(--brand-red); color: #fff; }
.isbat-page--prosjekt .ps-btn--red:hover {
  background: var(--brand-red-deep); box-shadow: 0 8px 30px var(--brand-red-glow); transform: translateY(-2px);
}
.isbat-page--prosjekt .ps-btn--ghost {
  background: rgba(255,255,255,.08); color: var(--text-primary);
  border: 1px solid var(--glass-border);
}
.isbat-page--prosjekt .ps-btn--ghost:hover {
    background: rgba(255,255,255,.14); border-color: var(--ice-blue); color: var(--ice-blue);
}

/* ==========================================================================
   ISHELLA V2.2 — Mappeharmonisering
   Konsistent på tvers av prosjektfiler (klonet med malen)
   ========================================================================== */

/* --- Seksjonsrytme --- */
.pg-specs-section,
.pg-desc-body,
.pg-gallery-section,
.pg-related-section {
    padding-top: var(--space-section-y);
    padding-bottom: var(--space-section-y);
}
.sv-final-cta {
    padding: var(--space-section-y) 0;
}

/* --- Brødsmulesti (bar-variant) --- */
.sv-breadcrumb-bar {
    position: relative;
    z-index: 4;
    padding: 16px 0 18px;
    background: rgba(10, 15, 35, 0.75);
    backdrop-filter: blur(14px) saturate(1.25);
    -webkit-backdrop-filter: blur(14px) saturate(1.25);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.sv-breadcrumb-bar .sv-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--v24-fs-xs);
    font-weight: 600;
    color: var(--text-muted);
}
.sv-breadcrumb-bar .sv-breadcrumb a {
    color: var(--text-muted);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color .2s var(--ease), border-color .2s var(--ease);
}
.sv-breadcrumb-bar .sv-breadcrumb a:hover {
    color: var(--ice-blue);
    border-bottom-color: rgba(56, 189, 248, 0.35);
}
.sv-breadcrumb-bar .sv-breadcrumb li[aria-current="page"] {
    color: var(--text-primary);
    font-weight: 700;
}
.sv-breadcrumb-bar .sv-breadcrumb li:not(:last-child)::after {
    content: "/";
    margin-left: 10px;
    opacity: .35;
    font-weight: 500;
}

/* Klassisk brødsmulesti øverst i main — samme premium stripe */
main#hovedinnhold > nav.sv-breadcrumb:first-of-type,
main#hovedinnhold > nav.sv-breadcrumb-bar:first-of-type {
    padding: 16px 0 18px;
    background: rgba(10, 15, 35, 0.75);
    backdrop-filter: blur(14px) saturate(1.25);
    -webkit-backdrop-filter: blur(14px) saturate(1.25);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* --- Hero: sterkere overlay, subtil ISBAT-blå, bedre kontrast --- */
section.sv-hero--standard .sv-hero-overlay,
.sv-hero.sv-hero--standard .sv-hero-overlay {
    background:
        radial-gradient(ellipse 110% 90% at 50% 100%, rgba(2, 6, 23, 0.9) 0%, transparent 52%),
        linear-gradient(165deg, rgba(0, 51, 153, 0.28) 0%, transparent 38%),
        linear-gradient(0deg, rgba(2, 6, 23, 0.92) 0%, rgba(2, 6, 23, 0.45) 38%, rgba(2, 6, 23, 0.2) 100%);
}

/* --- Prosjekt- og kategorikort --- */
.pg-grid {
    gap: var(--grid-gap, 20px);
}
.pg-card {
    border-color: rgba(255, 255, 255, 0.11);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}
a.pg-card:focus-visible {
    outline: 2px solid var(--ice-blue);
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.12);
}
.pg-link-item:focus-visible {
    outline: 2px solid var(--ice-blue);
    outline-offset: 2px;
}

/* --- Trust / spesifikasjoner --- */
.pg-trust-inner {
    gap: clamp(28px, 5vw, 56px);
}
.pg-spec-glass {
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(56, 189, 248, 0.06);
}

/* --- Seksjonshierarki --- */
main#hovedinnhold .sv-header {
    margin-bottom: clamp(40px, 5vw, 56px);
}
main#hovedinnhold .sv-title + .sv-desc {
    margin-top: 8px;
}

/* --- Tabeller i widget (fallback) --- */
.elementor-widget-html table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--v24-fs-sm);
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}
.elementor-widget-html thead {
    background: rgba(0, 51, 153, 0.15);
}
.elementor-widget-html th,
.elementor-widget-html td {
    padding: 14px 18px;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.elementor-widget-html th {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: var(--v24-fs-xxs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.elementor-widget-html tr:last-child td {
    border-bottom: none;
}

/* --- Mobil: touchmål og CTA-stabling --- */
@media (max-width: 768px) {
    .sv-btn {
        min-height: 48px;
        justify-content: center;
    }
    .sv-hero-actions,
    .sv-final-cta-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .sv-hero-actions .sv-btn,
    .sv-final-cta-actions .sv-btn {
        width: 100%;
        max-width: 100%;
    }
}

/* === Migrated from WPCode 1009732 ishella v25 baseline CSS === */
:root{
--isbat-brand-primary:#ff1744;--isbat-brand-primary-hover:#ff3b61;--isbat-brand-primary-deep:#cc0f35;--isbat-brand-secondary:#2dd4ff;
--isbat-bg-base:#040816;--isbat-bg-surface:#0d1426;--isbat-bg-elevated:#151f34;
--isbat-text-primary:#f8fbff;--isbat-text-secondary:#d7e2ee;--isbat-text-muted:#aebfd1;
--isbat-border-subtle:rgba(255,255,255,.12);
--isbat-radius-sm:12px;--isbat-radius-md:16px;--isbat-radius-lg:22px;--isbat-radius-full:999px;
--isbat-font-heading:'Inter',system-ui,-apple-system,sans-serif;--isbat-font-body:'Inter',system-ui,-apple-system,sans-serif;--isbat-font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
--isbat-fs-xxs:.75rem;--isbat-fs-xs:.8125rem;--isbat-fs-sm:.9375rem;--isbat-fs-md:1rem;--isbat-fs-lg:1.125rem;--isbat-fs-xl:clamp(1.25rem,1.6vw,1.5rem);--isbat-fs-2xl:clamp(1.5rem,2.5vw,2rem);--isbat-fs-3xl:clamp(1.875rem,3.5vw,2.75rem);--isbat-fs-4xl:clamp(2.25rem,5vw,3.5rem);--isbat-fs-hero:clamp(2.5rem,7vw,5rem);
--isbat-lh-tight:1.12;--isbat-lh-body:1.6;--isbat-ls-tight:-.02em;--isbat-ls-label:.08em;
--isbat-s-1:.25rem;--isbat-s-2:.5rem;--isbat-s-3:.75rem;--isbat-s-4:1rem;--isbat-s-5:1.25rem;--isbat-s-6:1.5rem;--isbat-s-7:1.75rem;--isbat-s-8:2rem;--isbat-s-9:2.25rem;--isbat-s-10:2.5rem;--isbat-s-11:2.75rem;--isbat-s-12:3rem;--isbat-s-13:3.25rem;--isbat-s-14:3.5rem;--isbat-s-15:3.75rem;--isbat-s-16:4rem;--isbat-s-17:4.25rem;--isbat-s-18:4.5rem;--isbat-s-19:4.75rem;--isbat-s-20:5rem;--isbat-s-21:5.25rem;--isbat-s-22:5.5rem;--isbat-s-23:5.75rem;--isbat-s-24:6rem;
--v25-brand-primary:var(--isbat-brand-primary);--v25-brand-primary-hover:var(--isbat-brand-primary-hover);--v25-brand-primary-deep:var(--isbat-brand-primary-deep);--v25-brand-secondary:var(--isbat-brand-secondary);
--v25-bg-base:var(--isbat-bg-base);--v25-bg-surface:var(--isbat-bg-surface);--v25-bg-elevated:var(--isbat-bg-elevated);
--v25-text-primary:var(--isbat-text-primary);--v25-text-secondary:var(--isbat-text-secondary);--v25-text-muted:var(--isbat-text-muted);
--v25-border-subtle:var(--isbat-border-subtle);--v25-radius-sm:var(--isbat-radius-sm);--v25-radius-md:var(--isbat-radius-md);--v25-radius-pill:var(--isbat-radius-full);
--v25-font-heading:var(--isbat-font-heading);--v25-font-body:var(--isbat-font-body);
--v25-fs-xxs:var(--isbat-fs-xxs);--v25-fs-xs:var(--isbat-fs-xs);--v25-fs-sm:var(--isbat-fs-sm);--v25-fs-md:var(--isbat-fs-md);--v25-fs-lg:var(--isbat-fs-lg);--v25-fs-xl:var(--isbat-fs-xl);--v25-fs-2xl:var(--isbat-fs-2xl);--v25-fs-3xl:var(--isbat-fs-3xl);--v25-fs-4xl:var(--isbat-fs-4xl);--v25-fs-hero:var(--isbat-fs-hero);
--v24-brand-primary:var(--isbat-brand-primary);--v24-brand-primary-hover:var(--isbat-brand-primary-hover);--v24-brand-primary-deep:var(--isbat-brand-primary-deep);--v24-brand-secondary:var(--isbat-brand-secondary);
--v24-bg-base:var(--isbat-bg-base);--v24-bg-surface:var(--isbat-bg-surface);--v24-bg-elevated:var(--isbat-bg-elevated);
--v24-text-primary:var(--isbat-text-primary);--v24-text-secondary:var(--isbat-text-secondary);--v24-text-muted:var(--isbat-text-muted);
--v24-border-subtle:var(--isbat-border-subtle);--v24-radius-sm:var(--isbat-radius-sm);--v24-radius-md:var(--isbat-radius-md);--v24-radius-pill:var(--isbat-radius-full);
--v24-font-heading:var(--isbat-font-heading);--v24-font-body:var(--isbat-font-body);
--v24-fs-xxs:var(--isbat-fs-xxs);--v24-fs-xs:var(--isbat-fs-xs);--v24-fs-sm:var(--isbat-fs-sm);--v24-fs-md:var(--isbat-fs-md);--v24-fs-lg:var(--isbat-fs-lg);--v24-fs-xl:var(--isbat-fs-xl);--v24-fs-2xl:var(--isbat-fs-2xl);--v24-fs-3xl:var(--isbat-fs-3xl);--v24-fs-4xl:var(--isbat-fs-4xl);--v24-fs-hero:var(--isbat-fs-hero);
--v24-lh-tight:var(--isbat-lh-tight);--v24-lh-body:var(--isbat-lh-body);
--brand-red:var(--isbat-brand-primary);--brand-red-hover:var(--isbat-brand-primary-hover);--brand-red-deep:var(--isbat-brand-primary-deep);
--ice-blue:var(--isbat-brand-secondary);--ice-blue-light:#7be5ff;
--bg-deep:var(--isbat-bg-base);--bg-surface:var(--isbat-bg-surface);--bg-elevated:var(--isbat-bg-elevated);--bg-card:var(--isbat-bg-surface);
--text-primary:var(--isbat-text-primary);--text-secondary:var(--isbat-text-secondary);--text-muted:var(--isbat-text-muted);
--border-subtle:var(--isbat-border-subtle);--font-heading:var(--isbat-font-heading);--font-body:var(--isbat-font-body);--font-mono:var(--isbat-font-mono);
/* Dark glass tokens — define here so dark-theme glass cards (.sv-*, .ny-*, .pg-*) stay readable regardless of top-meny.css light :root. Prevents white-text-on-white-glass. */
--glass-bg:rgba(255,255,255,.04);--glass-bg-strong:rgba(255,255,255,.07);--glass-border:rgba(255,255,255,.12);--glass-blur:blur(20px) saturate(1.4);
--border-medium:rgba(255,255,255,.20);
}.v24-page{background:var(--isbat-bg-base);color:var(--isbat-text-primary);font-family:var(--isbat-font-body);}
.v24-page h1, .v24-page h2, .v24-page h3, .v24-page h4{font-family:var(--isbat-font-heading);line-height:var(--isbat-lh-tight);letter-spacing:var(--isbat-ls-tight);}

/* === Migrated from WPCode 1009736 ishella v26 extensions CSS === */
:root{
  /* Easing curves (used widely as transition timing-function) */
  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-expo: cubic-bezier(.19, 1, .22, 1);

  /* Legacy radius aliases (point at V2.4 tokens) */
  --radius-sm: var(--v24-radius-sm);
  --radius-md: var(--v24-radius-md);
  --radius-lg: 22px;
  --radius-full: var(--v24-radius-pill);

  /* Accent colors */
  --emerald: #34d399;

  /* === V2.6 product colors === */
  --isbat-src-bergvarme: #7be5ff;
  --isbat-src-luftvann: #2dd4ff;
  --isbat-src-fjernvarme: #4ade80;
  --isbat-src-bio: #22c55e;
  --isbat-src-pshi: #ff1744;

  /* === V2.6 responsive grid utility === */
  --isbat-grid-auto-fit: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  --isbat-grid-auto-fit-sm: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  --isbat-grid-auto-fit-lg: repeat(auto-fit, minmax(min(100%, 380px), 1fr));

  /* === Standardiserte breakpoints === */
  --isbat-bp-tablet: 600px;
  --isbat-bp-laptop: 900px;
  --isbat-bp-desktop: 1200px;
  --isbat-bp-wide: 1600px;
}

/* === Migrated from WPCode 1009737 ishella v3 brand overrides CSS === */
/* === Google Fonts: Outfit + Plus Jakarta Sans === */
/* === Token overrides (cascade beats v2.5 baseline) === */
:root {
  --isbat-blue: #003399;
  --isbat-red: #FF0033;
  --bg-deep: #020617;
  --isbat-bg-base: #020617;
  --isbat-brand-primary: #E30613;
  --isbat-brand-primary-hover: #ff1f37;
  --isbat-brand-primary-deep: #b8050f;
  --brand-red: #E30613;
  --brand-red-hover: #ff1f37;
  --brand-red-deep: #b8050f;
  --isbat-font-heading: 'Outfit', system-ui, -apple-system, sans-serif;
  --isbat-font-body: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

/* === Base typography rules === */
html, body {
  font-family: var(--isbat-font-body);
  line-height: 1.7;
  background: var(--isbat-bg-base);
}

h1, h2, h3, h4, h5, h6,
.elementor-widget-html h1,
.elementor-widget-html h2,
.elementor-widget-html h3,
.elementor-widget-html h4,
.elementor-widget-html h5,
.elementor-widget-html h6 {
  font-family: var(--isbat-font-heading);
  font-weight: 800;
  letter-spacing: -0.02em;
}

button,
.sv-btn,
.ps-btn,
[class*="btn--primary"],
[class*="btn--ghost"],
[class*="btn--ice"],
input,
select,
textarea,
label {
  font-family: var(--isbat-font-body);
  font-weight: 500;
}table, code, pre, kbd, samp, .sv-spec, [class*="-table"], [class*="-spec"]{
  font-family: var(--isbat-font-mono);
}

/* === Migrated from WPCode 1009943 ISBAT polish CSS === */
/* ============================================================
   ISBAT POLISH 2026-04-26 — knapper, hero-overlays, kunstgress
   ============================================================ */

/* --------- 1) PRIMARY CTA-knapper: bedre lesbarhet ---------- */
.sv-btn.sv-btn--primary,
.sv-btn--primary,
button.sv-btn--primary,
a.sv-btn--primary {
  font-weight: 700 !important;
  letter-spacing: 0.045em !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
  background: linear-gradient(180deg, #ff1f37 0%, #E30613 50%, #c80512 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 -1px 0 rgba(0, 0, 0, 0.25) inset,
    0 8px 24px rgba(227, 6, 19, 0.32),
    0 2px 6px rgba(0, 0, 0, 0.35) !important;
  transition: transform .18s cubic-bezier(.22,1,.36,1), box-shadow .18s, background .18s !important;
}
.sv-btn.sv-btn--primary:hover,
.sv-btn--primary:hover,
button.sv-btn--primary:hover,
a.sv-btn--primary:hover {
  background: linear-gradient(180deg, #ff3b53 0%, #ff1f37 50%, #d80614 100%) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 -1px 0 rgba(0, 0, 0, 0.30) inset,
    0 12px 32px rgba(227, 6, 19, 0.45),
    0 4px 10px rgba(0, 0, 0, 0.40) !important;
  transform: translateY(-1px);
}
.sv-btn.sv-btn--primary:active,
.sv-btn--primary:active {
  transform: translateY(0);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.10) inset,
    0 4px 12px rgba(227, 6, 19, 0.28) !important;
}

/* Sekundære knapper (sv-btn--ghost / outline) får også bedre kontrast */
.sv-btn.sv-btn--ghost,
.sv-btn--ghost,
.sv-btn--outline {
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  border: 1.5px solid rgba(255, 255, 255, 0.32) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: blur(8px);
  transition: border-color .18s, background .18s, transform .18s;
}
.sv-btn.sv-btn--ghost:hover,
.sv-btn--ghost:hover,
.sv-btn--outline:hover {
  border-color: rgba(45, 212, 255, 0.55) !important;
  background: rgba(45, 212, 255, 0.08) !important;
  color: #c4f3ff !important;
  transform: translateY(-1px);
}

/* --------- 2) HERO-overlays: lysere så bilder ses ---------- */
.sv-hero-bg::after {
  background: linear-gradient(135deg,
    rgba(4, 8, 22, 0.55) 0%,
    rgba(4, 8, 22, 0.30) 50%,
    rgba(4, 8, 22, 0.50) 100%) !important;
}
.sv-hero--editorial::before,
.sv-hero--ps-article::before {
  background:
    radial-gradient(92% 88% at 50% 48%,
      rgba(0, 0, 0, 0.06) 0%,
      rgba(0, 0, 0, 0.18) 52%,
      rgba(0, 0, 0, 0.36) 100%),
    linear-gradient(
      rgba(0, 0, 0, 0.30) 0%,
      rgba(0, 0, 0, 0.08) 36%,
      rgba(0, 0, 0, 0.30) 100%) !important;
}
/* Forbedre tekst-lesbarhet i hero-tittel ved å legge til subtle tekst-skygge */
.sv-hero h1,
.sv-hero-title,
.sv-hero-title--article {
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45), 0 1px 2px rgba(0, 0, 0, 0.30);
}body.page[class*="kunstgressbaner"] .sv-section{
  padding-block: clamp(48px, 6vw, 88px);
}
body.page[class*="kunstgressbaner"] .sv-svc-card{
  padding: clamp(20px, 2.5vw, 32px);
}body.page[class*="kunstgressbaner"] .sv-cards-grid{
  gap: clamp(16px, 2vw, 28px) !important;
}

/* Forbedret accent-farge på 'span.accent' — brúk ISBAT-rød med subtil glow */
.sv-title .accent,
.accent {
  color: #ff3b53;
  text-shadow: 0 0 24px rgba(255, 23, 68, 0.18);
}

/* Pills/labels får mer kontrast */
.sv-label,
.sv-label--center {
  background: rgba(45, 212, 255, 0.10);
  border: 1px solid rgba(45, 212, 255, 0.35);
  color: #c4f3ff;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding: 6px 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* --------- 5) Form-felter på kalkulator: bedre kontrast ---------- */
#gf select,
#gf input,
#gf textarea {
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #f1f5ff !important;
  transition: border-color .18s, background .18s;
}
#gf select:hover,
#gf input:hover,
#gf textarea:hover {
  border-color: rgba(45, 212, 255, 0.32) !important;
}
#gf select:focus,
#gf input:focus,
#gf textarea:focus {
  outline: 2px solid #2dd4ff;
  outline-offset: 2px;
  border-color: rgba(45, 212, 255, 0.55) !important;
  background: rgba(45, 212, 255, 0.06) !important;
}

/* --------- 6) Reduced motion respekt ---------- */
@media (prefers-reduced-motion: reduce) {
.sv-btn--primary, .sv-btn--primary:hover, .sv-btn--primary:active, .sv-btn--ghost:hover{
    transform: none !important;
    transition: none !important;
  }
}

/* === Migrated from WPCode 1009733 button readable override CSS === */
/* Force Dark Premium body font + UI weight on all button variants */
.sv-btn, .sv-btn--primary, .sv-btn--ghost, .sv-btn--outline,
.sv-btn--ice, .sv-btn--hero-ice,
.ps-btn, .ps-btn--red, .ps-btn--ghost,
.sv-split-btn, .sv-split-btn--ice, .sv-split-btn--red,
.sv-show-more-btn, .pg-card-overlay-btn{
  font-family: var(--isbat-font-body, 'Plus Jakarta Sans', system-ui, sans-serif) !important;
  font-weight: 500 !important;
}
.sv-btn--primary{background:#E30613 !important;color:#fff !important;border:1px solid #E30613 !important;backdrop-filter:none !important}
.sv-btn--primary:hover{background:#b8050f !important;border-color:#b8050f !important;box-shadow:0 8px 30px rgba(227,6,19,.4) !important}
.sv-btn--ghost{background:rgba(255,255,255,.12) !important;color:#fff !important;border:1px solid rgba(255,255,255,.42) !important}
.sv-btn--ghost:hover{background:rgba(255,255,255,.22) !important;border-color:#fff !important;color:#fff !important}
.sv-btn--outline{background:rgba(255,255,255,.12) !important;color:#fff !important;border:1px solid rgba(255,255,255,.42) !important}
.sv-btn--outline:hover{background:rgba(255,255,255,.22) !important;border-color:#fff !important;color:#fff !important}
.sv-btn--ice{background:#2dd4ff !important;color:#020617 !important;border:1px solid #2dd4ff !important}
.sv-btn--ice:hover{background:#50e0ff !important;border-color:#50e0ff !important;color:#020617 !important;box-shadow:0 8px 30px rgba(45,212,255,.4) !important}
.sv-btn--hero-ice{color:#fff !important;border:1px solid rgba(56,189,248,.6) !important}
.sv-btn--hero-ice:hover{color:#fff !important;border-color:#2dd4ff !important}
.ps-btn, .isbat-page--prosjekt .ps-btn{color:#fff !important}
.ps-btn--red, .isbat-page--prosjekt .ps-btn--red{background:#E30613 !important;color:#fff !important}
.ps-btn--red:hover, .isbat-page--prosjekt .ps-btn--red:hover{background:#b8050f !important;color:#fff !important}
.ps-btn--ghost, .isbat-page--prosjekt .ps-btn--ghost{background:rgba(255,255,255,.14) !important;color:#fff !important;border:1px solid rgba(255,255,255,.42) !important}
.ps-btn--ghost:hover, .isbat-page--prosjekt .ps-btn--ghost:hover{background:rgba(255,255,255,.24) !important;color:#fff !important;border-color:#fff !important}
.sv-split-btn--ice{background:linear-gradient(135deg,#2dd4ff,#0891b2) !important;color:#0f172a !important}
.sv-split-btn--red{background:linear-gradient(135deg,#E30613,#b8050f) !important;color:#fff !important}
.sv-show-more-btn{background:rgba(56,189,248,.12) !important;color:#2dd4ff !important;border:1px solid rgba(56,189,248,.55) !important}
.sv-show-more-btn:hover{background:rgba(56,189,248,.22) !important;border-color:#2dd4ff !important;color:#fff !important}
.pg-card-overlay-btn{background:rgba(255,255,255,.18) !important;color:#fff !important;border:1px solid rgba(255,255,255,.5) !important}
.pg-card-overlay-btn:hover{background:rgba(255,255,255,.28) !important;border-color:#fff !important}
.sv-btn:focus-visible, .ps-btn:focus-visible, .sv-split-btn:focus-visible, .sv-show-more-btn:focus-visible{outline:3px solid #ffc107 !important;outline-offset:3px !important}

/* Mobile symmetry pass for legacy SV/Elementor pages */
@media (max-width: 700px) {
  body .elementor-widget-html .sv-container,
  body .sv-icebear-page .sv-container,
  body .sv-page .sv-container,
  body .v24-page .sv-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(16px, 5vw, 22px) !important;
    padding-right: clamp(16px, 5vw, 22px) !important;
    box-sizing: border-box !important;
  }

  body .elementor-widget-html .sv-hero-content,
  body .sv-icebear-page .sv-hero-content,
  body .sv-page .sv-hero-content,
  body .v24-page .sv-hero-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .elementor-widget-html .sv-hero-copy,
  body .sv-icebear-page .sv-hero-copy,
  body .sv-page .sv-hero-copy,
  body .v24-page .sv-hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   Lesbarhet-fix 2026-07-25: .isbat-dyn redaksjon-blokk (Referanseanlegg / Siste nytt)
   Den blanke regelen .elementor-widget-html h1..h4{color:var(--text-primary)}
   tvang overskriftene hvite paa den LYSE redaksjon-seksjonen (#f7fbff) -> hvit paa hvit.
   Vi bruker komponentens egen --isbat-text (moerk #0f172a paa lys bg, lys #f8fbff paa
   den moerke editorial-hero-varianten) saa BEGGE kontekster forblir lesbare.
   ========================================================================== */
.isbat-dyn h1,.isbat-dyn h2,.isbat-dyn h3,.isbat-dyn h4,.isbat-dyn h5,.isbat-dyn h6{color:var(--isbat-text)!important;-webkit-text-fill-color:var(--isbat-text)!important;}
.isbat-dyn p,.isbat-dyn li,.isbat-dyn__body span:last-child{color:var(--isbat-muted)!important;-webkit-text-fill-color:var(--isbat-muted)!important;}
.isbat-dyn__body strong{color:var(--isbat-text)!important;-webkit-text-fill-color:var(--isbat-text)!important;}
.isbat-dyn__eyebrow{color:var(--isbat-blue)!important;-webkit-text-fill-color:var(--isbat-blue)!important;}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/assets/css/isbat-navigation-footer.css */
/* ISBAT navigation/footer migration target. */

/* === Migrated from WPCode 1010920 footer typography === */
.isbat-footer .ft-links a,.isbat-footer .ft-contact a{font-size:var(--v24-fs-sm)!important;}.isbat-footer .ft-meta,.isbat-footer .ft-legal{font-size:var(--v24-fs-xs)!important;}

/* === Migrated from WPCode 1010887 nav hamburger mobile CSS === */
/* ISBAT Nav: senter hamburger-ikon på mobil + krymp logo for å unngå kollisjon */
@media (max-width:1024px){
  .isbat-nav .nav-main-bar{position:relative}
  .isbat-nav .nav-hamburger{
    position:absolute;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
    margin:0;
  }
  /* Krymp ordmerket så 'ISBANETEKNIKK AS' ikke kolliderer med sentrert hamburger */
  .isbat-nav .nav-wordmark-main{font-size:clamp(.82rem,2.6vw,1.05rem);letter-spacing:.015em}
  .isbat-nav .nav-wordmark-as{font-size:.72em}
  .isbat-nav .nav-logo{max-width:calc(50% - 32px);min-width:0;overflow:hidden}
  .isbat-nav .nav-wordmark{min-width:0;max-width:100%}
}
@media (max-width:430px){
  .isbat-nav .nav-wordmark-main{font-size:.78rem}
  .isbat-nav .nav-wordmark-as{font-size:.68em}
}

/* === Migrated from WPCode 1010924 mobile footer fix CSS === */
/* =============================================================
   ISBAT Mobile Fix — v3.1, 2026-05-13
   1) .sv-check-list bullet (≤1024)
   2) Footer kompakt 2-kol grid (≤640)
   3) Footer accordion-styles (≤640) — retter h3 (var h4)
   4) Form inputs 16px (prevent iOS zoom) (≤768)
   5) Touch target boost for ft-chip (≤640)
   6) Email/word-wrap på kontakt-info (≤640)
   7) Tighter trust logos & CTA cards (≤640)
   ============================================================= */

/* ===== 1) sv-check-list bullet — uendret ===== */
@media (max-width: 1024px) {
  ul.sv-check-list li,
  .sv-check-list li {
    display: block !important;
    position: relative !important;
    padding-left: 1.75em !important;
    margin-bottom: .55em !important;
    line-height: 1.55 !important;
    gap: 0 !important;
  }
  ul.sv-check-list li i.fa-check,
  .sv-check-list li i.fa-check,
  ul.sv-check-list li i.fa-solid:first-child,
  .sv-check-list li i.fa-solid:first-child {
    position: absolute !important;
    left: 0 !important;
    top: .35em !important;
    margin-top: 0 !important;
    font-size: .95em !important;
    flex: none !important;
  }
  ul.sv-check-list li a,
  .sv-check-list li a {
    display: inline !important;
  }
}

/* ===== 4) Form inputs: 16px font-size for å hindre iOS auto-zoom ===== */
@media (max-width: 768px) {
  .sv-form-input,
  .sv-form-select,
  textarea.sv-form-input,
  input.sv-captcha-input,
  .nav-mega-filter-input,
  .nav-mobile-search-inner input,
  form input[type="text"],
  form input[type="email"],
  form input[type="tel"],
  form input[type="number"],
  form input[type="url"],
  form input[type="search"],
  form input[type="password"],
  form select,
  form textarea {
    font-size: 16px !important;
  }
}

/* ===== 2) Footer hovedlenker → 2-kol grid på mobil ===== */
@media (max-width: 640px) {
  .isbat-footer .ft-main {
    grid-template-columns: 1fr 1fr !important;
    gap: 22px 14px !important;
    padding: 30px 14px 24px !important;
  }
  .isbat-footer .ft-company {
    grid-column: 1 / -1 !important;
    align-items: center !important;
    text-align: center !important;
  }
  .isbat-footer .ft-col {
    text-align: left !important;
  }
  .isbat-footer .ft-col h3,
  .isbat-footer .ft-col h4 {
    font-size: .82rem !important;
    margin: 0 0 .55em !important;
    line-height: 1.2 !important;
    letter-spacing: .02em !important;
    color: #fff !important;
  }
  .isbat-footer .ft-col h3::after,
  .isbat-footer .ft-col h4::after {
    left: 0 !important;
    transform: none !important;
    width: 26px !important;
  }
  .isbat-footer .ft-col ul {
    gap: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .isbat-footer .ft-col a {
    font-size: .76rem !important;
    line-height: 1.4 !important;
    justify-content: flex-start !important;
    padding: 6px 0 !important;
    gap: 5px !important;
    min-height: 32px !important;
  }
  .isbat-footer .ft-col a:hover {
    transform: none !important;
  }
}

/* ===== 3) Footer accordion-styles (aktiveres når JS legger til klasse) ===== */
@media (max-width: 640px) {
  .isbat-footer.ft-accordion-active .ft-col h3,
  .isbat-footer.ft-accordion-active .ft-col h4 {
    cursor: pointer;
    user-select: none;
    padding: 12px 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    background: transparent;
    border: 0;
    color: #fff !important;
    font-family: inherit;
    min-height: 44px;
    font-size: .88rem !important;
  }
  .isbat-footer.ft-accordion-active .ft-col h3::after,
  .isbat-footer.ft-accordion-active .ft-col h4::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    border-left: 0 !important;
    border-top: 0 !important;
    transform: rotate(45deg) translateY(-2px) !important;
    transition: transform .25s ease;
    margin-left: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    position: static !important;
    left: auto !important;
    flex: none !important;
  }
  .isbat-footer.ft-accordion-active .ft-col.ft-open h3::after,
  .isbat-footer.ft-accordion-active .ft-col.ft-open h4::after {
    transform: rotate(-135deg) translateY(2px) !important;
  }
  .isbat-footer.ft-accordion-active .ft-col ul {
    overflow: hidden !important;
    max-height: 0 !important;
    transition: max-height .35s ease, opacity .25s ease;
    opacity: 0 !important;
    margin: 0 !important;
  }
  .isbat-footer.ft-accordion-active .ft-col.ft-open ul {
    max-height: 700px !important;
    opacity: 1 !important;
    padding-bottom: 8px !important;
  }
  /* Accordion stables i én kolonne for å spare høyde */
  .isbat-footer.ft-accordion-active .ft-main {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .isbat-footer.ft-accordion-active .ft-col {
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    padding-bottom: 0 !important;
  }
  .isbat-footer.ft-accordion-active .ft-col:last-of-type {
    border-bottom: 0 !important;
  }
  .isbat-footer.ft-accordion-active .ft-company {
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    padding-bottom: 12px !important;
  }
}

/* ===== 5) Touch target: ft-chip og lignende ===== */
@media (max-width: 640px) {
  .isbat-footer .ft-chip,
  .isbat-footer a.ft-chip {
    min-height: 36px !important;
    padding: 8px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .farena-text-link,
  a.farena-text-link {
    min-height: 36px !important;
    padding: 6px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* ===== 6) E-post/lange ord word-wrap på kontakt-info & footer-contact ===== */
@media (max-width: 640px) {
  .isbat-footer .ft-contact a,
  .isbat-footer .ft-contact-list a,
  .isbat-footer .ft-contact-list span,
  .isbat-footer .ft-contact-info,
  .sv-firma-info,
  .sv-firma-info *,
  .sv-kontaktinfo *,
  [class*="firma-info"] *,
  [class*="kontaktinfo"] * {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
}

/* ===== 7) Trust logos & CTA cards kompakt ===== */
@media (max-width: 640px) {
  .isbat-footer .ft-cta {
    padding: 26px 12px 18px !important;
  }
  .isbat-footer .ft-cta-inner {
    gap: 10px !important;
  }
  .isbat-footer .ft-cta-card {
    padding: 14px 16px !important;
    border-radius: 14px !important;
  }
  .isbat-footer .ft-cta-badge {
    font-size: .6rem !important;
    padding: 3px 7px !important;
  }
  .isbat-footer .ft-cta-title {
    font-size: .98rem !important;
    line-height: 1.22 !important;
  }
  .isbat-footer .ft-cta-desc {
    font-size: .76rem !important;
    line-height: 1.42 !important;
    margin-top: 3px !important;
  }
  .isbat-footer .ft-cta-arrow {
    font-size: .74rem !important;
    margin-top: 8px !important;
  }
  .isbat-footer .ft-certs,
  .isbat-footer .ft-trust-bar {
    padding: 14px 12px !important;
    gap: 10px !important;
  }
  .isbat-footer .ft-certs-grid {
    gap: 8px !important;
  }
  .isbat-footer .ft-cert {
    padding: 4px 8px !important;
    gap: 4px !important;
  }
  .isbat-footer .ft-cert img {
    height: 18px !important;
  }
  .isbat-footer .ft-cert span {
    font-size: .54rem !important;
  }
  .isbat-footer .ft-bottom {
    padding: 16px 12px 18px !important;
  }
  .isbat-footer .ft-bottom-inner {
    gap: 10px !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .isbat-footer .ft-legal,
  .isbat-footer .ft-social {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
}

/* ===== Ekstra kompakt på ≤380px ===== */
@media (max-width: 380px) {
  .isbat-footer .ft-main {
    gap: 18px 10px !important;
    padding: 24px 12px 20px !important;
  }
  .isbat-footer .ft-col h3,
  .isbat-footer .ft-col h4 {
    font-size: .8rem !important;
  }
  .isbat-footer .ft-col a {
    font-size: .72rem !important;
    padding: 5px 0 !important;
  }
}

/* ============================================================
   FIX: hide default GeneratePress text site-title ("Isbaneteknikk AS")
   The custom isbat-simple-nav (injected separately, NOT inside .site-header)
   is the real header with its own logo. The GP .site-branding text was
   bleeding through faintly at the top of every page. Safe to hide:
   the custom nav has its own logo + mobile toggle, and .site-header
   does not contain the custom nav.
   ============================================================ */
.site-header .site-branding,
.site-header .main-title,
.site-header .site-description { 
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/assets/css/isbat-page-specific.css */
/* ISBAT page-specific migration target. */

/* === Migrated from WPCode 1009914 kunstisbaner reveal CSS === */
/* === Kunstisbaner: reveal fallback - aldri skjul innhold permanent === */
.isbat-kunstisbaner-page .kib-reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* === Migrated from WPCode 1009734 global reveal effects CSS === */
::selection{background:var(--isbat-brand-secondary,#2dd4ff);color:var(--isbat-bg-base,#040816)}
:where(a,button,[role="button"],input,select,textarea):focus-visible{outline:2px solid var(--isbat-brand-secondary,#2dd4ff);outline-offset:3px;border-radius:6px}
@keyframes isbat-fade-up{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
@keyframes isbat-float-up{0%{transform:translateY(100vh) translateX(0);opacity:0}10%,90%{opacity:.6}100%{transform:translateY(-10vh) translateX(20px);opacity:0}}
@keyframes isbat-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes isbat-pill-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,23,68,.35)}50%{box-shadow:0 0 0 10px rgba(255,23,68,0)}}
.sv-reveal,.sv-reveal-left,.sv-reveal-right{transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.sv-reveal:not(.is-inview):not(.visible){opacity:0;transform:translate3d(0,24px,0)}
.sv-reveal-left:not(.is-inview):not(.visible){opacity:0;transform:translate3d(-24px,0,0)}
.sv-reveal-right:not(.is-inview):not(.visible){opacity:0;transform:translate3d(24px,0,0)}
.sv-reveal.is-inview,.sv-reveal.visible,.sv-reveal-left.is-inview,.sv-reveal-left.visible,.sv-reveal-right.is-inview,.sv-reveal-right.visible{opacity:1;transform:none}
.sv-d1{transition-delay:.06s}.sv-d2{transition-delay:.12s}.sv-d3{transition-delay:.18s}.sv-d4{transition-delay:.24s}.sv-d5{transition-delay:.30s}.sv-d6{transition-delay:.36s}
@media (prefers-reduced-motion:reduce){
.sv-reveal,.sv-reveal-left,.sv-reveal-right,.sv-reveal:not(.is-inview):not(.visible),.sv-reveal-left:not(.is-inview):not(.visible),.sv-reveal-right:not(.is-inview):not(.visible){opacity:1!important;transform:none!important;transition:none!important}
*{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}
}/* === Migrated from WPCode 1010981 project redesign CSS === */
/* ISBAT prosjekt-redesign — Maier-mal globalt på alle prosjektsider og kategori-oversikter */
/* Selectorer: barn av 4 kategori-sider + de 4 kategori-sidene selv */
.parent-pageid-1009269 .top-bar,.parent-pageid-1009269 #masthead,.parent-pageid-1009270 .top-bar,.parent-pageid-1009270 #masthead,.parent-pageid-1009271 .top-bar,.parent-pageid-1009271 #masthead,.parent-pageid-1009272 .top-bar,.parent-pageid-1009272 #masthead,.page-id-1009269 .top-bar,.page-id-1009269 #masthead,.page-id-1009270 .top-bar,.page-id-1009270 #masthead,.page-id-1009271 .top-bar,.page-id-1009271 #masthead,.page-id-1009272 .top-bar,.page-id-1009272 #masthead{display:none!important;}

/* Wrapper rydding */
.parent-pageid-1009269 .site-content,.parent-pageid-1009269 .content-area,.parent-pageid-1009269 .site-main,.parent-pageid-1009269 article.page,.parent-pageid-1009269 .inside-article,.parent-pageid-1009269 .entry-content,
.parent-pageid-1009270 .site-content,.parent-pageid-1009270 .content-area,.parent-pageid-1009270 .site-main,.parent-pageid-1009270 article.page,.parent-pageid-1009270 .inside-article,.parent-pageid-1009270 .entry-content,
.parent-pageid-1009271 .site-content,.parent-pageid-1009271 .content-area,.parent-pageid-1009271 .site-main,.parent-pageid-1009271 article.page,.parent-pageid-1009271 .inside-article,.parent-pageid-1009271 .entry-content,
.parent-pageid-1009272 .site-content,.parent-pageid-1009272 .content-area,.parent-pageid-1009272 .site-main,.parent-pageid-1009272 article.page,.parent-pageid-1009272 .inside-article,.parent-pageid-1009272 .entry-content,
.page-id-1009269 .entry-content,.page-id-1009270 .entry-content,.page-id-1009271 .entry-content,.page-id-1009272 .entry-content,
.page-id-1009269 .inside-article,.page-id-1009270 .inside-article,.page-id-1009271 .inside-article,.page-id-1009272 .inside-article{
  padding:0!important;margin:0!important;background:transparent!important;max-width:none!important;width:100%!important;
}
.parent-pageid-1009269 .site.grid-container,.parent-pageid-1009270 .site.grid-container,.parent-pageid-1009271 .site.grid-container,.parent-pageid-1009272 .site.grid-container,
.page-id-1009269 .site.grid-container,.page-id-1009270 .site.grid-container,.page-id-1009271 .site.grid-container,.page-id-1009272 .site.grid-container{max-width:none!important;padding:0!important;}

/* Skjul page header bar */
.parent-pageid-1009269 .page-header,.parent-pageid-1009269 .entry-header,
.parent-pageid-1009270 .page-header,.parent-pageid-1009270 .entry-header,
.parent-pageid-1009271 .page-header,.parent-pageid-1009271 .entry-header,
.parent-pageid-1009272 .page-header,.parent-pageid-1009272 .entry-header{display:none!important;}

/* Full-bleed hero — bryt ut av container */
.isbat-page--prosjekt > .sv-hero--editorial.sv-hero--ps-article,
.elementor-widget-html > .isbat-page--prosjekt,
.entry-content > .elementor-widget-html:has(.isbat-page--prosjekt){
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article{
  position:relative;min-height:100vh;min-height:100svh;
  display:flex;align-items:center;overflow:hidden;padding:0;
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-hero-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-hero-slide{position:absolute;inset:0;width:100%;height:100%;}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-hero-slide img{width:100%;height:100%;object-fit:cover;}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,8,22,.35) 0%,rgba(4,8,22,.55) 60%,rgba(4,8,22,.78) 100%);
}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-hero-content,
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-hero-kb-nav,
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-container{position:relative;z-index:2;}
.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-hero-content{
  width:100%;max-width:1200px;margin:0 auto;padding:clamp(48px,9vh,96px) clamp(20px,5vw,48px);
}
@media (max-width:640px){.isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article{min-height:88vh;min-height:88svh;}}

/* Skjul nav-gradient-stripe + hero-piler på prosjektsider */
.parent-pageid-1009269 .isbat-nav::before,.parent-pageid-1009269 .isbat-nav::after,
.parent-pageid-1009270 .isbat-nav::before,.parent-pageid-1009270 .isbat-nav::after,
.parent-pageid-1009271 .isbat-nav::before,.parent-pageid-1009271 .isbat-nav::after,
.parent-pageid-1009272 .isbat-nav::before,.parent-pageid-1009272 .isbat-nav::after{display:none!important;}
.parent-pageid-1009269 .sv-hero-kb-nav,.parent-pageid-1009269 .sv-hero-kb-btn,
.parent-pageid-1009270 .sv-hero-kb-nav,.parent-pageid-1009270 .sv-hero-kb-btn,
.parent-pageid-1009271 .sv-hero-kb-nav,.parent-pageid-1009271 .sv-hero-kb-btn,
.parent-pageid-1009272 .sv-hero-kb-nav,.parent-pageid-1009272 .sv-hero-kb-btn{display:none!important;}

/* Galleri — symmetrisk grid med scroll */
.isbat-page--prosjekt .sv-gal-viewport{
  position:relative!important;max-height:min(82vh,860px)!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  border:1px solid rgba(255,255,255,.08)!important;border-radius:18px!important;
  background:rgba(10,15,30,.55)!important;padding:clamp(14px,2vw,22px)!important;
  scroll-behavior:smooth;scrollbar-width:thin;
  scrollbar-color:rgba(45,212,255,.5) rgba(15,23,42,.4);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 20px 60px rgba(0,0,0,.4);
  max-width:1400px;margin:0 auto;
}
.isbat-page--prosjekt .sv-gal-viewport::-webkit-scrollbar{width:10px;}
.isbat-page--prosjekt .sv-gal-viewport::-webkit-scrollbar-track{background:rgba(15,23,42,.4);border-radius:10px;}
.isbat-page--prosjekt .sv-gal-viewport::-webkit-scrollbar-thumb{background:rgba(45,212,255,.45);border-radius:10px;border:2px solid rgba(15,23,42,.4);}
.isbat-page--prosjekt .sv-gal-viewport::-webkit-scrollbar-thumb:hover{background:rgba(45,212,255,.7);}
.isbat-page--prosjekt .sv-gal-viewport::after{content:"";position:sticky;bottom:0;left:0;right:0;height:60px;display:block;margin-top:-60px;background:linear-gradient(180deg,transparent 0%,rgba(10,15,30,.85) 100%);pointer-events:none;z-index:2;}
.isbat-page--prosjekt .sv-gal-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:clamp(10px,1.2vw,16px)!important;padding:0!important;}
.isbat-page--prosjekt .sv-gal-item{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#0a0f1e;box-shadow:0 2px 8px rgba(0,0,0,.25);outline:1px solid rgba(255,255,255,.06);outline-offset:-1px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,outline-color .2s ease;cursor:zoom-in;}
.isbat-page--prosjekt .sv-gal-item:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.45),0 0 0 1px rgba(45,212,255,.3);outline-color:rgba(45,212,255,.4);}
.isbat-page--prosjekt .sv-gal-item:focus-visible{outline:2px solid #2dd4ff;outline-offset:2px;}
.isbat-page--prosjekt .sv-gal-item img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1);}
.isbat-page--prosjekt .sv-gal-item:hover img{transform:scale(1.05);}
.isbat-page--prosjekt .sv-gal-caption-bar{position:absolute;inset:auto 0 0 0;padding:12px 12px 10px;background:linear-gradient(180deg,transparent 0%,rgba(4,8,22,.82) 100%);opacity:0;transition:opacity .25s ease;pointer-events:none;}
.isbat-page--prosjekt .sv-gal-item:hover .sv-gal-caption-bar,.isbat-page--prosjekt .sv-gal-item:focus-visible .sv-gal-caption-bar{opacity:1;}
.isbat-page--prosjekt .sv-gal-caption{font-size:.74rem;font-weight:600;letter-spacing:.04em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);}
@media(max-width:768px){.isbat-page--prosjekt .sv-gal-grid{grid-template-columns:repeat(2,1fr)!important;}.isbat-page--prosjekt .sv-gal-viewport{max-height:70vh!important;}}
@media(max-width:420px){.isbat-page--prosjekt .sv-gal-grid{grid-template-columns:1fr!important;}.isbat-page--prosjekt .sv-gal-caption-bar{opacity:1;}}
@media(prefers-reduced-motion:reduce){.isbat-page--prosjekt .sv-gal-item,.isbat-page--prosjekt .sv-gal-item img{transition:none;}.isbat-page--prosjekt .sv-gal-item:hover{transform:none;}}

/* Full-bleed på alle sider — fjern .grid-container padding 2026-05-15 */
#page.grid-container,
body .grid-container.container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.inside-article { padding: 0 !important; }

/* Mobile table polish — shared data tables and machine comparison tables */
@media (max-width: 768px) {
  .elementor-widget-html .sv-table-wrapper,
  .elementor-widget-html .sv-compare-scroll {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(79,195,255,.48) rgba(8,15,31,.42);
  }

  .elementor-widget-html .sv-table-wrapper::-webkit-scrollbar,
  .elementor-widget-html .sv-compare-scroll::-webkit-scrollbar {
    height: 7px;
  }

  .elementor-widget-html .sv-table-wrapper::-webkit-scrollbar-track,
  .elementor-widget-html .sv-compare-scroll::-webkit-scrollbar-track {
    background: rgba(8,15,31,.42);
  }

  .elementor-widget-html .sv-table-wrapper::-webkit-scrollbar-thumb,
  .elementor-widget-html .sv-compare-scroll::-webkit-scrollbar-thumb {
    background: rgba(79,195,255,.48);
    border-radius: 999px;
  }

  .elementor-widget-html .sv-table,
  .elementor-widget-html .sv-compare-table {
    width: max-content !important;
    min-width: 100% !important;
  }

  .elementor-widget-html .sv-table td,
  .elementor-widget-html .sv-table th,
  .elementor-widget-html .sv-compare-table td,
  .elementor-widget-html .sv-compare-table th {
    white-space: nowrap !important;
    padding: 13px 14px !important;
  }

  .elementor-widget-html .sv-compare-table {
    min-width: 840px !important;
  }

  .elementor-widget-html .sv-compare-table thead th:first-child,
  .elementor-widget-html .sv-compare-table tbody td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #0b1328 !important;
    box-shadow: 12px 0 24px rgba(5,10,22,.42);
  }

  .elementor-widget-html .sv-compare-table thead th:first-child {
    z-index: 3;
    background: #101935 !important;
  }
}

/* Kunnskapssenter live layout restore */
.sv-kunnskapssenter-page .is25-skip,
.sv-kunnskapssenter-page .screen-reader-text.skip-link {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 10040 !important;
  transform: translateY(-180%) !important;
  padding: 12px 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff0033, #c8002a) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 16px 34px rgba(6, 16, 31, .34) !important;
}

.sv-kunnskapssenter-page .is25-skip:focus,
.sv-kunnskapssenter-page .screen-reader-text.skip-link:focus {
  transform: translateY(0) !important;
}

.sv-kunnskapssenter-page .is25-progress {
  position: fixed !important;
  inset: 0 auto auto 0 !important;
  z-index: 10020 !important;
  width: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #ff0033, #5fd0f5) !important;
  pointer-events: none !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap {
  --ks-shell: min(100% - clamp(24px, 5vw, 72px), 1180px);
  --ks-copy: min(100% - clamp(24px, 5vw, 72px), 880px);
  --ks-surface: rgba(7, 14, 29, .82);
  --ks-panel: rgba(10, 21, 41, .9);
  --ks-panel-soft: rgba(12, 26, 49, .74);
  --ks-border: rgba(125, 211, 252, .16);
  --ks-border-strong: rgba(95, 208, 245, .34);
  --ks-shadow: 0 28px 90px rgba(2, 8, 23, .42);
  --ks-title: #f8fbff;
  --ks-text: #d7e2ee;
  --ks-muted: #96a9bf;
  --ks-accent: #5fd0f5;
  --ks-accent-soft: rgba(95, 208, 245, .18);
  --ks-accent-2: #20d6b2;
  position: relative !important;
  isolation: isolate !important;
  overflow: clip !important;
  color: var(--ks-text) !important;
  background:
    radial-gradient(1200px 560px at 12% 0%, rgba(95, 208, 245, .12), transparent 60%),
    radial-gradient(980px 480px at 88% 16%, rgba(255, 0, 51, .1), transparent 58%),
    linear-gradient(180deg, #08101f 0%, #0a1325 24%, #07111e 100%) !important;
  padding: 0 0 clamp(72px, 8vw, 120px) !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .02), transparent 28%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .02) 0 1px, transparent 1px 120px) !important;
  opacity: .32 !important;
  pointer-events: none !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap > main {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap,
.sv-kunnskapssenter-page .is25-ks-wrap * {
  box-sizing: border-box !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap a {
  color: var(--ks-accent) !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap a:hover {
  color: #cfeefe !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap p,
.sv-kunnskapssenter-page .is25-ks-wrap li {
  color: var(--ks-text) !important;
  font-size: clamp(16px, 1.08vw, 18px) !important;
  line-height: 1.72 !important;
}

.sv-kunnskapssenter-page .is25-ks-wrap h1,
.sv-kunnskapssenter-page .is25-ks-wrap h2,
.sv-kunnskapssenter-page .is25-ks-wrap h3 {
  color: var(--ks-title) !important;
  letter-spacing: -.03em !important;
  text-wrap: balance !important;
  margin: 0 !important;
}

.sv-kunnskapssenter-page .is25-ks-hero,
.sv-kunnskapssenter-page .is25-ks-articles,
.sv-kunnskapssenter-page .is25-ks-faq-section,
.sv-kunnskapssenter-page .is25-ks-cta {
  width: var(--ks-shell) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sv-kunnskapssenter-page .is25-ks-hero {
  position: relative !important;
  overflow: hidden !important;
  margin-top: clamp(28px, 5vw, 56px) !important;
  padding: clamp(28px, 4vw, 46px) !important;
  border: 1px solid var(--ks-border) !important;
  border-radius: 32px !important;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(95, 208, 245, .16), transparent 65%),
    linear-gradient(180deg, rgba(11, 24, 45, .96), rgba(7, 14, 29, .98)) !important;
  box-shadow: var(--ks-shadow) !important;
}

.sv-kunnskapssenter-page .is25-ks-bygg-hero {
  --ks-accent: #8ed0ff;
  --ks-accent-soft: rgba(142, 208, 255, .18);
  --ks-accent-2: #ffb357;
  background:
    radial-gradient(980px 440px at 85% -10%, rgba(255, 179, 87, .14), transparent 62%),
    radial-gradient(880px 380px at 10% 0%, rgba(142, 208, 255, .16), transparent 60%),
    linear-gradient(180deg, rgba(14, 24, 44, .98), rgba(8, 15, 29, .98)) !important;
}

.sv-kunnskapssenter-page .is25-ks-drift-hero {
  background:
    radial-gradient(980px 440px at 82% -12%, rgba(32, 214, 178, .14), transparent 62%),
    radial-gradient(920px 420px at 10% 0%, rgba(95, 208, 245, .18), transparent 60%),
    linear-gradient(180deg, rgba(10, 23, 43, .98), rgba(7, 14, 29, .98)) !important;
}

.sv-kunnskapssenter-page .is25-ks-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), transparent 34%) !important;
  pointer-events: none !important;
}

.sv-kunnskapssenter-page .is25-ks-hero-inner {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  gap: 16px !important;
  max-width: 780px !important;
}

.sv-kunnskapssenter-page .is25-ks-readtime,
.sv-kunnskapssenter-page .is25-ks-hero-label,
.sv-kunnskapssenter-page .is25-ks-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(95, 208, 245, .24) !important;
  border-radius: 999px !important;
  background: rgba(95, 208, 245, .08) !important;
  color: var(--ks-accent) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.sv-kunnskapssenter-page .is25-ks-readtime {
  background: rgba(255, 255, 255, .04) !important;
  border-color: rgba(255, 255, 255, .1) !important;
  color: var(--ks-muted) !important;
}

.sv-kunnskapssenter-page .is25-ks-hero h1 {
  max-width: 14ch !important;
  font-size: clamp(40px, 6vw, 72px) !important;
  line-height: .96 !important;
}

.sv-kunnskapssenter-page .is25-ks-hero-desc {
  max-width: 64ch !important;
  margin: 0 !important;
  color: #e8f1fb !important;
  font-size: clamp(18px, 1.5vw, 23px) !important;
  line-height: 1.68 !important;
}

.sv-kunnskapssenter-page .is25-ks-hero-actions,
.sv-kunnskapssenter-page .is25-ks-btn-group,
.sv-kunnskapssenter-page .is25-ks-hero-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 16px !important;
}

.sv-kunnskapssenter-page .is25-ks-hero-meta {
  color: var(--ks-muted) !important;
  font-size: 14px !important;
}

.sv-kunnskapssenter-page .is25-ks-hero-meta > * {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.sv-kunnskapssenter-page .is25-ks-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 50px !important;
  padding: 14px 20px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease !important;
}

.sv-kunnskapssenter-page .is25-ks-btn:hover {
  transform: translateY(-2px) !important;
}

.sv-kunnskapssenter-page .is25-ks-btn--primary {
  background: linear-gradient(135deg, #ff0033, #c8002a) !important;
  color: #fff !important;
  box-shadow: 0 18px 36px rgba(255, 0, 51, .24) !important;
}

.sv-kunnskapssenter-page .is25-ks-btn--ghost {
  background: rgba(95, 208, 245, .1) !important;
  border: 1px solid rgba(95, 208, 245, .28) !important;
  color: #d8f3ff !important;
}

.sv-kunnskapssenter-page .eh-kpi-strip {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.sv-kunnskapssenter-page .eh-kpi {
  min-width: 0 !important;
  padding: 18px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  backdrop-filter: blur(12px) !important;
}

.sv-kunnskapssenter-page .eh-kpi[class~="--amber"] {
  border-color: rgba(255, 179, 87, .28) !important;
  background: rgba(255, 179, 87, .08) !important;
}

.sv-kunnskapssenter-page .eh-kpi[class~="--green"] {
  border-color: rgba(32, 214, 178, .26) !important;
  background: rgba(32, 214, 178, .08) !important;
}

.sv-kunnskapssenter-page .eh-kpi[class~="--red"] {
  border-color: rgba(255, 0, 51, .24) !important;
  background: rgba(255, 0, 51, .08) !important;
}

.sv-kunnskapssenter-page .eh-kpi-num {
  display: block !important;
  color: var(--ks-title) !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 900 !important;
  line-height: .96 !important;
}

.sv-kunnskapssenter-page .eh-kpi-unit,
.sv-kunnskapssenter-page .eh-kpi-label {
  display: block !important;
}

.sv-kunnskapssenter-page .eh-kpi-unit {
  margin-top: 8px !important;
  color: var(--ks-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.sv-kunnskapssenter-page .eh-kpi-label {
  margin-top: 6px !important;
  color: var(--ks-title) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

.sv-kunnskapssenter-page .is25-ks-toc {
  width: var(--ks-copy) !important;
  max-width: 880px !important;
  margin: 28px auto 0 !important;
  padding: 20px 24px !important;
  border: 1px solid var(--ks-border) !important;
  border-radius: 24px !important;
  background: rgba(6, 14, 28, .8) !important;
  box-shadow: 0 20px 50px rgba(2, 8, 23, .24) !important;
}

.sv-kunnskapssenter-page .is25-ks-toc summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  cursor: pointer !important;
  list-style: none !important;
  color: var(--ks-title) !important;
  font-weight: 800 !important;
}

.sv-kunnskapssenter-page .is25-ks-toc summary::-webkit-details-marker,
.sv-kunnskapssenter-page .is25-ks-faq-item summary::-webkit-details-marker {
  display: none !important;
}

.sv-kunnskapssenter-page .is25-ks-toc-list {
  columns: 2 !important;
  column-gap: 28px !important;
  margin: 18px 0 0 !important;
  padding-left: 22px !important;
}

.sv-kunnskapssenter-page .is25-ks-toc-list li {
  break-inside: avoid !important;
  margin: 0 0 10px !important;
}

.sv-kunnskapssenter-page .is25-ks-articles,
.sv-kunnskapssenter-page .is25-ks-faq-section,
.sv-kunnskapssenter-page .is25-ks-cta {
  padding-top: clamp(26px, 4vw, 44px) !important;
}

.sv-kunnskapssenter-page .is25-ks-articles-inner,
.sv-kunnskapssenter-page .is25-ks-faq-inner,
.sv-kunnskapssenter-page .is25-ks-cta-inner {
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: clamp(26px, 3.6vw, 38px) !important;
  border: 1px solid var(--ks-border) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(10, 20, 38, .88), rgba(7, 14, 28, .92)) !important;
  box-shadow: 0 24px 60px rgba(2, 8, 23, .24) !important;
}

.sv-kunnskapssenter-page .is25-ks-section-head {
  margin-bottom: 18px !important;
}

.sv-kunnskapssenter-page .is25-ks-section-head h2,
.sv-kunnskapssenter-page .is25-ks-cta-title {
  font-size: clamp(28px, 3.2vw, 42px) !important;
  line-height: 1.04 !important;
}

.sv-kunnskapssenter-page .is25-ks-list {
  margin: 0 0 20px !important;
  padding-left: 22px !important;
}

.sv-kunnskapssenter-page .is25-ks-list li::marker {
  color: var(--ks-accent) !important;
}

.sv-kunnskapssenter-page .is25-ks-callout {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 16px !important;
  align-items: start !important;
  margin-top: 24px !important;
  padding: 22px 24px !important;
  border: 1px solid var(--ks-border-strong) !important;
  border-radius: 22px !important;
  background: rgba(95, 208, 245, .08) !important;
}

.sv-kunnskapssenter-page .is25-ks-callout-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 14px !important;
  background: rgba(95, 208, 245, .14) !important;
  color: var(--ks-accent) !important;
  font-size: 18px !important;
}

.sv-kunnskapssenter-page .is25-ks-callout-body strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--ks-title) !important;
}

.sv-kunnskapssenter-page .is25-ks-faq-item + .is25-ks-faq-item {
  margin-top: 14px !important;
}

.sv-kunnskapssenter-page .is25-ks-faq-item details {
  border: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .03) !important;
  overflow: hidden !important;
}

.sv-kunnskapssenter-page .is25-ks-faq-item summary {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 18px 22px !important;
  cursor: pointer !important;
  color: var(--ks-title) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  list-style: none !important;
}

.sv-kunnskapssenter-page .is25-ks-faq-item summary::after {
  content: "+" !important;
  flex: 0 0 auto !important;
  color: var(--ks-accent) !important;
  font-size: 26px !important;
  line-height: 1 !important;
  transition: transform .22s ease !important;
}

.sv-kunnskapssenter-page .is25-ks-faq-item details[open] summary::after {
  transform: rotate(45deg) !important;
}

.sv-kunnskapssenter-page .is25-ks-faq-item details > p {
  margin: 0 !important;
  padding: 0 22px 22px !important;
}

.sv-kunnskapssenter-page .is25-ks-article-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 10px !important;
}

.sv-kunnskapssenter-page .is25-ks-article-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  min-width: 0 !important;
  min-height: 100% !important;
  padding: 22px !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(12, 25, 48, .84), rgba(8, 16, 30, .96)) !important;
  box-shadow: 0 18px 42px rgba(2, 8, 23, .22) !important;
  text-decoration: none !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

.sv-kunnskapssenter-page .is25-ks-article-card:hover {
  transform: translateY(-4px) !important;
  border-color: var(--ks-border-strong) !important;
  box-shadow: 0 28px 54px rgba(2, 8, 23, .32) !important;
}

.sv-kunnskapssenter-page .is25-ks-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.sv-kunnskapssenter-page .is25-ks-card-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 14px !important;
  background: var(--ks-accent-soft) !important;
  color: var(--ks-accent) !important;
  font-size: 18px !important;
}

.sv-kunnskapssenter-page .is25-ks-card-title {
  font-size: clamp(22px, 1.55vw, 28px) !important;
  line-height: 1.08 !important;
}

.sv-kunnskapssenter-page .is25-ks-card-desc {
  margin: 0 !important;
  color: var(--ks-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.sv-kunnskapssenter-page .is25-ks-card-arrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: auto !important;
  color: var(--ks-accent) !important;
  font-weight: 800 !important;
}

.sv-kunnskapssenter-page .is25-ks-cta-inner {
  max-width: 980px !important;
  text-align: center !important;
}

.sv-kunnskapssenter-page .is25-ks-cta-inner > p {
  max-width: 60ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sv-kunnskapssenter-page .is25-ks-btn-group {
  justify-content: center !important;
  margin-top: 24px !important;
}

@media (max-width: 1024px) {
  .sv-kunnskapssenter-page .eh-kpi-strip,
  .sv-kunnskapssenter-page .is25-ks-article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sv-kunnskapssenter-page .is25-ks-toc-list {
    columns: 1 !important;
  }
}

@media (max-width: 768px) {
  .sv-kunnskapssenter-page .is25-ks-wrap {
    --ks-shell: min(100% - 24px, 100%);
    --ks-copy: min(100% - 24px, 100%);
  }

  .sv-kunnskapssenter-page .is25-ks-hero {
    border-radius: 24px !important;
    padding: 24px !important;
  }

  .sv-kunnskapssenter-page .is25-ks-hero h1 {
    max-width: 100% !important;
    font-size: clamp(30px, 9.8vw, 42px) !important;
    line-height: 1.02 !important;
  }

  .sv-kunnskapssenter-page .is25-ks-hero-actions,
  .sv-kunnskapssenter-page .is25-ks-btn-group,
  .sv-kunnskapssenter-page .is25-ks-hero-meta {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .sv-kunnskapssenter-page .is25-ks-btn {
    width: 100% !important;
  }

  .sv-kunnskapssenter-page .is25-ks-toc {
    padding: 18px !important;
  }

  .sv-kunnskapssenter-page .is25-ks-articles-inner,
  .sv-kunnskapssenter-page .is25-ks-faq-inner,
  .sv-kunnskapssenter-page .is25-ks-cta-inner {
    padding: 22px !important;
    border-radius: 22px !important;
  }

  .sv-kunnskapssenter-page .is25-ks-callout {
    grid-template-columns: 1fr !important;
  }

  .sv-kunnskapssenter-page .is25-ks-faq-item summary {
    font-size: 17px !important;
    padding: 16px 18px !important;
  }

  .sv-kunnskapssenter-page .is25-ks-faq-item details > p {
    padding: 0 18px 18px !important;
  }
}

@media (max-width: 560px) {
  .sv-kunnskapssenter-page .eh-kpi-strip,
  .sv-kunnskapssenter-page .is25-ks-article-grid {
    grid-template-columns: 1fr !important;
  }

  .sv-kunnskapssenter-page .is25-ks-hero,
  .sv-kunnskapssenter-page .is25-ks-articles-inner,
  .sv-kunnskapssenter-page .is25-ks-faq-inner,
  .sv-kunnskapssenter-page .is25-ks-cta-inner,
  .sv-kunnskapssenter-page .is25-ks-toc {
    border-radius: 20px !important;
  }

  .sv-kunnskapssenter-page .is25-ks-readtime,
  .sv-kunnskapssenter-page .is25-ks-hero-label,
  .sv-kunnskapssenter-page .is25-ks-tag {
    font-size: 11px !important;
    letter-spacing: .1em !important;
  }
}

/* Sitewide layout audit 2026-06-06 — project hubs and project single mobile */
body.page-id-1009222 .sv-hero--mini .sv-container,
body.page-id-1009269 .sv-hero--mini .sv-container,
body.page-id-1009270 .sv-hero--mini .sv-container,
body.page-id-1009271 .sv-hero--mini .sv-container,
body.page-id-1009272 .sv-hero--mini .sv-container {
  min-width: 0 !important;
}

@media (max-width: 768px) {
  body.page-id-1009222 .sv-hero--mini,
  body.page-id-1009269 .sv-hero--mini,
  body.page-id-1009270 .sv-hero--mini,
  body.page-id-1009271 .sv-hero--mini,
  body.page-id-1009272 .sv-hero--mini {
    min-height: clamp(420px, 78svh, 620px) !important;
  }

  body.page-id-1009222 .sv-hero--mini h1,
  body.page-id-1009269 .sv-hero--mini h1,
  body.page-id-1009270 .sv-hero--mini h1,
  body.page-id-1009271 .sv-hero--mini h1,
  body.page-id-1009272 .sv-hero--mini h1 {
    max-width: 12ch !important;
    margin-inline: auto !important;
    font-size: clamp(1.85rem, 9.2vw, 2.75rem) !important;
    line-height: .96 !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article {
    min-height: 76vh !important;
    min-height: 76svh !important;
    align-items: flex-end !important;
  }

  .isbat-page--prosjekt .sv-hero--editorial.sv-hero--ps-article .sv-hero-content {
    padding: 120px 20px 32px !important;
  }

  .isbat-page--prosjekt .sv-hero-title--article {
    max-width: 12ch !important;
    font-size: clamp(2rem, 10vw, 3.25rem) !important;
    line-height: .96 !important;
  }
}

/* === creds-logo-fix 2026-07: godkjenningslogoer på bygg-sider ===
   Temaets lazy-img-shimmer (.elementor-widget-html img[loading=lazy]) overstyrte
   den kvite plata bak logoane i .sv-creds-bar, så farga/JPG-logoar (Miljøfyrtårn,
   Sentralt godkjent) vart broten på mørk bunn. Tvingar rein, einsarta kvit plate. */
.sv-creds-item img,
.sv-creds-item img[loading="lazy"],
.sv-creds-item img.sv-creds-logo--miljo {
  background: #ffffff !important;
  background-image: none !important;
  animation: none !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.18) !important;
  max-height: 58px !important;
  width: auto !important;
  object-fit: contain !important;
}
@media (max-width: 640px){
  .sv-creds-item img,
  .sv-creds-item img[loading="lazy"],
  .sv-creds-item img.sv-creds-logo--miljo { max-height: 46px !important; padding: 6px 9px !important; }
}

/* === bygg-section-fix 2026-07: kontrast + logo-polaritet på bygg-sider === */
/* Laerebedrift-logoen finst berre i kvit versjon — inverter til mørk så han er
   lesbar på den kvite plata (som dei andre logoane). */
/* Laerebedrift er eit KVITT emblem for mørk bakgrunn — gi det ei subtil
   mørk plate i staden for kvit, så den kvite logoen syner (invert gjorde
   den til ein svart boks). */
.sv-creds-item img[src*="vi-har-laerling"],
.sv-creds-item img[alt*="rebedrift" i] {
  background: #0d1526 !important;
  filter: none !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 2px 10px rgba(0,0,0,.25) !important;
}

/* .sv-infobox / Hurtigfakta / Materialer-panel: var lys glass (rgba(255,255,255,.72))
   med kvit/lysgrå tekst = ulesbart (1.2–1.8:1). Gjør panelet MØRKT så den
   eksisterande lyse teksten blir lesbar (matcher det mørke temaet). */
.sv-infobox,
.sv-desc-grid .sv-infobox,
.sv-hurtigfakta {
  background: rgba(13, 21, 38, .82) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.2) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  border: 1px solid rgba(125, 211, 252, .18) !important;
  box-shadow: 0 18px 46px -28px rgba(0,0,0,.6) !important;
}

/* .sv-gallery-tag (t.d. «Betong»-pille): rød-på-rød var svak. Solid, lesbar. */
.sv-gallery-tag {
  background: rgba(227, 6, 19, .92) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* === pg-card-height-fix 2026-07: jamne korthøgder i prosjekt-grid (kundetilpasset) ===
   align-items:stretch jamnar berre innan rada; siste rad med færre kort vart 26px
   lågare. grid-auto-rows:1fr gir alle rader lik høgd. */
.pg-grid { grid-auto-rows: 1fr; }
.pg-grid .pg-card { height: 100%; }

/* === cta-section-polish 2026-07: bygg kontakt/CTA — balansert layout, jamn spacing === */
.sv-cta-section {
  padding: 88px 0 96px !important;   /* jamnare vertikal rytme */
}
.sv-cta-section .sv-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 820px;
  margin-inline: auto;
  padding-inline: 24px;
}
.sv-cta-section .sv-label { margin-bottom: 18px; }
.sv-cta-section .sv-title { margin: 0 0 18px; }
.sv-cta-text {
  margin: 0 auto 36px !important;
  max-width: 560px !important;
}
.sv-cta-buttons {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  align-items: stretch;
  gap: 14px !important;
  width: 100%;
}
/* Jamne, symmetriske knappar */
.sv-cta-buttons .sv-btn {
  flex: 0 0 auto;
  width: 244px;                 /* lik breidde → symmetrisk 3-knappars rad */
  justify-content: center;
  padding: 15px 18px !important;
  white-space: nowrap;
}
@media (max-width: 720px){
  .sv-cta-section { padding: 56px 0 64px !important; }
  .sv-cta-buttons { flex-direction: column; align-items: center; }
  .sv-cta-buttons .sv-btn { width: 100%; max-width: 340px; min-width: 0; }
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/assets/css/isbat-sitewide-2026.css */
/* ISBAT sitewide page/post experience — base layer. */

body.isbat-content-redesign {
  --red: #e30613;
  --red-glow: rgba(227, 6, 19, .45);
  --bg: #0a0f1a;
  --bg-2: #0e1422;
  --card: #131a2a;
  --text: #ffffff;
  --text-muted: #a8b2c5;
  --border: rgba(255, 255, 255, .08);
  --isbat-ui-cyan: #2dd4ff;
  --isbat-ui-cyan-soft: rgba(45, 212, 255, .12);
  --isbat-ui-white-soft: rgba(255, 255, 255, .06);
  --isbat-ui-shadow: rgba(0, 0, 0, .32);
  --isbat-ui-max: 1320px;
  --isbat-ui-reading: 760px;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  overflow-x: clip;
}

body.isbat-content-redesign :where(h1, h2, h3, h4, h5, h6) {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 800;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body.isbat-content-redesign :where(p, li) {
  text-wrap: pretty;
}

body.isbat-content-redesign :where(a, button, input, select, textarea) {
  font-family: inherit;
}

body.isbat-content-redesign :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--isbat-ui-cyan);
  outline-offset: 3px;
}

body.isbat-content-redesign :where(.site-content, .content-area, .site-main, article.page, article.post, .inside-article, .entry-content) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
}

body.isbat-content-redesign .site.grid-container {
  width: 100%;
  max-width: none;
  padding: 0;
}

body.isbat-content-redesign .entry-content > :where(.elementor-widget-html, main, [data-isbat-content-optimized]) {
  width: 100%;
  max-width: none;
  margin-inline: auto;
}

body.isbat-content-redesign :where(img, video, iframe, svg) {
  max-width: 100%;
}

body.isbat-content-redesign :where(img, video) {
  height: auto;
}

body.isbat-content-redesign :where(iframe) {
  display: block;
  width: 100%;
  border: 0;
}

body.isbat-content-redesign :where(section, [id]) {
  scroll-margin-top: 96px;
}

body.isbat-content-redesign :where(.sv-container, .is25-wrap, .nh-container, .pg-container) {
  width: min(100% - 40px, var(--isbat-ui-max));
  margin-inline: auto;
}

body.isbat-content-redesign :where(.sv-btn, .ps-btn, [class*="btn--"], button:not(.menu-toggle)) {
  min-height: 46px;
  max-width: 100%;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: normal;
  text-align: center;
}

body.isbat-content-redesign :where(.sv-card, .sv-svc-card, .pg-card, .ny-card, .is25-ks-article-card, .nh-card) {
  border-radius: 8px;
  border-color: var(--border);
}

body.isbat-content-redesign :where(.sv-section, .nh-section, .is25-section) {
  padding-block: clamp(56px, 7vw, 104px);
}

body.isbat-content-redesign :where(.sv-title, .sv-section-title, .nh-section h2) {
  max-width: 20ch;
}

body.isbat-content-redesign :where(.sv-desc, .sv-section-desc, .nh-section p) {
  max-width: 68ch;
}

body.isbat-content-redesign .sv-hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.isbat-content-redesign :where(.sv-hero-content, .sv-hero-copy, .nh-hero-content) {
  position: relative;
  z-index: 3;
}

body.isbat-content-redesign :where(.sv-hero-content, .sv-hero-copy) {
  width: min(100% - 40px, 780px);
  max-width: 780px;
}

body.isbat-content-redesign :where(.sv-hero h1, .sv-hero-title, .sv-hero-title--article, .nh-hero h1) {
  color: var(--text);
  text-shadow: 0 2px 18px var(--isbat-ui-shadow);
}

body.isbat-content-redesign :where(.sv-hero p, .nh-hero p) {
  color: var(--text-muted);
}

body.isbat-content-redesign :where(.sv-hero-content, .nh-hero-content).is25-reveal,
body.isbat-content-redesign :where(.sv-hero-content, .nh-hero-content).sv-reveal {
  opacity: 1;
  transform: none;
  transition-duration: 0s;
}

body.isbat-content-redesign .isbat-table-scroll {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--border);
  border-radius: 8px;
  -webkit-overflow-scrolling: touch;
}

body.isbat-content-redesign .isbat-table-scroll table {
  width: 100%;
  min-width: 640px;
  margin: 0;
  border: 0;
}

body.isbat-content-redesign .isbat-gallery-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 20px;
  width: min(100% - 40px, var(--isbat-ui-max));
  margin: 28px auto 0;
}

body.isbat-content-redesign .isbat-gallery-more {
  display: inline-flex;
  align-items: center;
  padding: 12px 22px;
  border: 1px solid var(--isbat-ui-cyan);
  border-radius: 6px;
  background: var(--isbat-ui-cyan-soft);
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
}

body.isbat-content-redesign .isbat-gallery-more:hover {
  background: var(--isbat-ui-cyan);
  color: var(--bg);
}

body.isbat-content-redesign .isbat-gallery-more:disabled {
  cursor: wait;
  opacity: .65;
}

body.isbat-content-redesign .isbat-gallery-status {
  color: var(--text-muted);
  font-size: .9rem;
}

.isbat-lightbox {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: clamp(56px, 7vw, 88px) clamp(16px, 4vw, 64px) 28px;
  border: 0;
  background: var(--bg);
  color: var(--text);
  overflow: hidden;
}

.isbat-lightbox::backdrop {
  background: rgba(0, 0, 0, .86);
}

.isbat-lightbox[data-open="true"] {
  display: block;
  z-index: 999999;
}

.isbat-lightbox__figure {
  display: grid;
  place-items: center;
  width: 100%;
  height: calc(100dvh - 116px);
  margin: 0;
}

.isbat-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: calc(100dvh - 150px);
  object-fit: contain;
}

.isbat-lightbox__caption {
  max-width: 70ch;
  color: var(--text-muted);
  text-align: center;
}

.isbat-lightbox__close,
.isbat-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--card);
  color: var(--text);
  font: inherit;
  font-size: 2rem;
  cursor: pointer;
}

.isbat-lightbox__close {
  top: 14px;
  right: 18px;
}

.isbat-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
}

.isbat-lightbox__nav--prev { left: 18px; }
.isbat-lightbox__nav--next { right: 18px; }

.isbat-lightbox__counter {
  position: absolute;
  top: 20px;
  left: 50%;
  margin: 0;
  color: var(--text-muted);
  transform: translateX(-50%);
}

html.isbat-lightbox-open {
  overflow: hidden;
}

.isbat-back-to-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 999;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  min-height: 46px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--card);
  color: var(--text);
  box-shadow: 0 12px 28px var(--isbat-ui-shadow);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .2s ease, transform .2s ease;
}

.isbat-back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

@media (max-width: 768px) {
  body.isbat-content-redesign :where(.sv-container, .is25-wrap, .nh-container, .pg-container) {
    width: min(100% - 32px, var(--isbat-ui-max));
  }

  body.isbat-content-redesign :where(.sv-section, .nh-section, .is25-section) {
    padding-block: 56px;
  }

  body.isbat-content-redesign :where(.sv-hero-actions, .sv-final-cta-actions, .ps-cta-buttons, .nh-hero-actions) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
  }

  body.isbat-content-redesign :where(.sv-hero-actions, .sv-final-cta-actions, .ps-cta-buttons, .nh-hero-actions) > :where(a, button) {
    width: 100%;
  }

  body.isbat-content-redesign :where(.sv-hero-content, .sv-hero-copy, .nh-hero-content) {
    width: min(100% - 32px, 760px);
    margin-inline: auto;
  }

  body.isbat-content-redesign :where(.sv-title, .sv-section-title, .nh-section h2) {
    max-width: none;
  }

  .isbat-lightbox__nav {
    top: auto;
    bottom: 18px;
    transform: none;
  }

  .isbat-lightbox__figure {
    height: calc(100dvh - 140px);
  }

  .isbat-back-to-top {
    bottom: 14px;
    right: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.isbat-content-redesign *,
  body.isbat-content-redesign *::before,
  body.isbat-content-redesign *::after {
    scroll-behavior: auto;
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/isbat-editorial-hero.css */
/**
 * Project and news story hero correction.
 *
 * GeneratePress' featured-image output is removed in functions.php. The
 * selectors below are a defensive fallback for cached markup and make the
 * purpose-built editorial hero fill the first viewport below the site header.
 */

body.isbat-editorial-story {
    --isbat-editorial-header-height: 79px;
}

body.isbat-editorial-story .featured-image.page-header-image,
body.isbat-editorial-story .featured-image.page-header-image-single {
    display: none !important;
}

@media (min-width: 1025px) {
    body.isbat-project-story .sv-hero--ps-article,
    body.isbat-news-story .nh-hero.is25-hero,
    body.isbat-news-story .sv-hero--ps-article {
        width: 100%;
        height: auto !important;
        min-height: calc(100vh - var(--isbat-editorial-header-height)) !important;
        max-height: none !important;
        box-sizing: border-box;
    }

    body.isbat-news-story .nh-hero.is25-hero .is25-wrap {
        padding-top: clamp(44px, 7vh, 80px);
        padding-bottom: clamp(44px, 7vh, 80px);
    }
}

@media (max-width: 1024px) {
    body.isbat-editorial-story {
        --isbat-editorial-header-height: 72px;
    }

    body.isbat-project-story .sv-hero--ps-article,
    body.isbat-news-story .nh-hero.is25-hero,
    body.isbat-news-story .sv-hero--ps-article {
        width: 100%;
        height: auto !important;
        min-height: calc(100svh - var(--isbat-editorial-header-height)) !important;
        max-height: none !important;
        box-sizing: border-box;
    }

    body.isbat-project-story .sv-hero--ps-article .sv-container {
        align-items: flex-end;
        min-height: inherit;
        padding-top: clamp(88px, 15svh, 136px);
        padding-bottom: clamp(38px, 8svh, 72px);
    }

    body.isbat-project-story .sv-hero--ps-article h1.sv-hero-title--article {
        max-width: 18ch;
        font-size: clamp(2.35rem, 8.5vw, 4.8rem);
        line-height: 1.01;
        text-wrap: balance;
    }

    body.isbat-news-story .nh-hero.is25-hero .is25-wrap {
        width: min(100% - 32px, 760px);
        padding: clamp(78px, 12svh, 112px) 0 clamp(38px, 7svh, 64px);
    }

    body.isbat-news-story .nh-hero-content {
        width: 100%;
        padding: clamp(22px, 5vw, 34px);
        box-sizing: border-box;
    }
}

@media (max-width: 640px) {
    body.isbat-editorial-story {
        --isbat-editorial-header-height: 64px;
    }

    body.isbat-project-story .sv-hero--ps-article .sv-container {
        padding-right: 20px;
        padding-left: 20px;
        padding-top: clamp(84px, 14svh, 120px);
        padding-bottom: 34px;
    }

    body.isbat-project-story .sv-hero--ps-article h1.sv-hero-title--article {
        max-width: 14ch;
        font-size: clamp(2.15rem, 12vw, 3.65rem);
        line-height: 1;
    }

    body.isbat-news-story .nh-hero.is25-hero {
        align-items: flex-end;
    }

    body.isbat-news-story .nh-hero.is25-hero .is25-wrap {
        width: min(100% - 24px, 560px);
        padding: 88px 0 28px;
    }

    body.isbat-news-story .nh-hero-content {
        padding: 22px 18px;
        border-radius: 18px;
        backdrop-filter: blur(8px) saturate(1.08);
        -webkit-backdrop-filter: blur(8px) saturate(1.08);
    }

    body.isbat-news-story .nh-hero h1 {
        margin: 14px 0 12px;
        font-size: clamp(2rem, 10.5vw, 3.25rem);
        line-height: 1.03;
        text-wrap: balance;
    }

    body.isbat-news-story .nh-hero-lede {
        font-size: 1rem;
        line-height: 1.55;
    }

    body.isbat-news-story .nh-hero-meta {
        margin-top: 16px;
        gap: 7px;
    }

    body.isbat-news-story .nh-hero .is25-btns {
        margin-top: 20px;
        gap: 10px;
    }
}

@media (max-width: 390px) {
    body.isbat-project-story .sv-hero--ps-article h1.sv-hero-title--article {
        font-size: clamp(2rem, 11.5vw, 3rem);
    }

    body.isbat-news-story .nh-hero.is25-hero .is25-wrap {
        width: calc(100% - 20px);
        padding-top: 78px;
        padding-bottom: 20px;
    }

    body.isbat-news-story .nh-hero-content {
        padding: 20px 16px;
    }
}

/* Project follow-up sections belong to the dark editorial canvas. */
body.isbat-project-story .isbat-dyn {
    --isbat-bg: #06101f;
    --isbat-text: #f8fbff;
    --isbat-muted: #b8c5d4;
    --isbat-border: rgba(125, 211, 252, 0.16);
    --isbat-blue: #7dd3fc;
    --isbat-cyan: #38bdf8;
    margin: 0;
    background: #06101f !important;
    color: var(--isbat-text) !important;
}

body.isbat-project-story .isbat-related-wrap .isbat-dyn:nth-child(even) {
    background: #08172a !important;
}

body.isbat-project-story .isbat-dyn__head {
    max-width: 760px;
}

body.isbat-project-story .isbat-dyn__eyebrow,
body.isbat-project-story .isbat-dyn__meta {
    color: var(--isbat-cyan) !important;
}

body.isbat-project-story .isbat-dyn h2,
body.isbat-project-story .isbat-dyn__body strong {
    color: var(--isbat-text) !important;
}

body.isbat-project-story .isbat-dyn p,
body.isbat-project-story .isbat-dyn__body span:last-child {
    color: var(--isbat-muted) !important;
}

body.isbat-project-story .isbat-dyn__card {
    background: #0c1a2d;
    color: var(--isbat-text) !important;
    border-color: var(--isbat-border);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

body.isbat-project-story .isbat-dyn__card:hover {
    border-color: rgba(56, 189, 248, 0.48);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.38);
}

/* News contact component, reused as the single project conversion section. */
body.isbat-project-story .isbat-project-news-contact {
    position: relative;
    overflow: hidden;
    padding: clamp(56px, 7vw, 92px) 0;
    background:
        radial-gradient(70% 85% at 15% 30%, rgba(56, 189, 248, 0.08), transparent 70%),
        linear-gradient(180deg, #06101f 0%, #08172a 100%);
    color: #f8fbff;
}

body.isbat-project-story .isbat-project-news-contact > .is25-wrap {
    width: min(1100px, calc(100% - 40px));
    margin: 0 auto;
}

body.isbat-project-story .nh-contact-card {
    position: relative;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 22px;
    background: rgba(8, 14, 28, 0.72);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}

body.isbat-project-story .nh-contact-card::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, #ff0033 0%, #38bdf8 50%, #ff0033 100%);
    background-size: 200% 100%;
    animation: isbatProjectContactStripe 14s linear infinite;
}

@keyframes isbatProjectContactStripe {
    to {
        background-position: 200% 50%;
    }
}

body.isbat-project-story .nh-contact-intro,
body.isbat-project-story .nh-contact-actions {
    padding: clamp(34px, 4vw, 54px);
}

body.isbat-project-story .nh-contact-intro {
    display: flex;
    flex-direction: column;
    gap: 18px;
    background:
        radial-gradient(80% 70% at 0% 0%, rgba(255, 0, 51, 0.1), transparent 60%),
        rgba(12, 18, 30, 0.55);
}

body.isbat-project-story .nh-contact-eyebrow {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 10px;
    padding: 7px 14px;
    border: 1px solid rgba(255, 0, 51, 0.3);
    border-radius: 999px;
    background: rgba(255, 0, 51, 0.18);
    color: #ffb3c0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.isbat-project-story .nh-contact-eyebrow .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff0033;
    animation: isbatProjectContactPulse 2.2s ease-in-out infinite;
}

@keyframes isbatProjectContactPulse {
    50% {
        opacity: 1;
        transform: scale(1.3);
    }
}

body.isbat-project-story .nh-contact-intro h2 {
    margin: 0;
    color: #f8fbff;
    font-size: clamp(1.75rem, 3.2vw, 2.4rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

body.isbat-project-story .nh-contact-intro h2 .accent {
    background: linear-gradient(135deg, #ff0033, #ff5577);
    background-clip: text;
    color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.isbat-project-story .nh-contact-intro p {
    margin: 0;
    color: rgba(215, 226, 238, 0.88);
    font-size: 0.98rem;
    line-height: 1.65;
}

body.isbat-project-story .nh-contact-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

body.isbat-project-story .nh-contact-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 12px;
    border: 1px solid rgba(56, 189, 248, 0.22);
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.08);
    color: rgba(186, 230, 253, 0.92);
    font-size: 12px;
    font-weight: 600;
}

body.isbat-project-story .nh-contact-trust-pill i {
    color: #7dd3fc;
    font-size: 11px;
}

body.isbat-project-story .nh-contact-actions {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    background: rgba(8, 14, 28, 0.42);
}

body.isbat-project-story .nh-contact-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.58);
    color: inherit;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

body.isbat-project-story .nh-contact-row:hover,
body.isbat-project-story .nh-contact-row:focus-visible {
    border-color: #7dd3fc;
    background: rgba(15, 23, 42, 0.78);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    transform: translateY(-2px);
}

body.isbat-project-story .nh-contact-row--primary {
    border-color: transparent;
    background: linear-gradient(135deg, #ff0033 0%, #cc0029 100%);
    box-shadow: 0 8px 26px rgba(255, 0, 51, 0.38);
    color: #fff;
}

body.isbat-project-story .nh-contact-row-icon {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(56, 189, 248, 0.22);
    border-radius: 12px;
    background: rgba(56, 189, 248, 0.12);
    color: #7dd3fc;
    font-size: 18px;
}

body.isbat-project-story .nh-contact-row--primary .nh-contact-row-icon {
    border-color: rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

body.isbat-project-story .nh-contact-row-body {
    flex: 1;
    min-width: 0;
}

body.isbat-project-story .nh-contact-row-label,
body.isbat-project-story .nh-contact-row-value {
    display: block;
}

body.isbat-project-story .nh-contact-row-label {
    margin-bottom: 4px;
    color: rgba(186, 230, 253, 0.78);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.isbat-project-story .nh-contact-row-value {
    color: #f8fbff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

body.isbat-project-story .nh-contact-row-arrow {
    flex: none;
    color: rgba(186, 230, 253, 0.62);
    font-size: 14px;
    transition: transform 0.25s ease, color 0.25s ease;
}

body.isbat-project-story .nh-contact-row:hover .nh-contact-row-arrow,
body.isbat-project-story .nh-contact-row:focus-visible .nh-contact-row-arrow {
    color: #7dd3fc;
    transform: translateX(4px);
}

/* Compact, filterable project gallery shown directly before the site footer. */
body.isbat-project-story .isbat-project-browser {
    --isbat-project-red: #e30613;
    --isbat-project-ink: #0b2d62;
    --isbat-project-copy: #52657d;
    --isbat-project-line: #dbe5f0;
    position: relative;
    padding: clamp(58px, 7vw, 94px) 0;
    background:
        radial-gradient(circle at 82% 8%, rgba(14, 165, 233, 0.08), transparent 26rem),
        #f6f9fc;
    color: var(--isbat-project-ink);
}

body.isbat-project-story .isbat-project-browser__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

body.isbat-project-story .isbat-project-browser__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 30px;
}

body.isbat-project-story .isbat-project-browser__head > div {
    max-width: 720px;
}

body.isbat-project-story .isbat-project-browser__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
    color: #075985;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

body.isbat-project-story .isbat-project-browser__eyebrow::before {
    width: 22px;
    height: 2px;
    background: linear-gradient(90deg, #0ea5e9, var(--isbat-project-red));
    content: "";
}

body.isbat-project-story .isbat-project-browser h2 {
    max-width: 17ch;
    margin: 0 0 10px;
    color: var(--isbat-project-ink);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

body.isbat-project-story .isbat-project-browser__head p {
    max-width: 62ch;
    margin: 0;
    color: var(--isbat-project-copy);
    font-size: 1rem;
    line-height: 1.65;
}

body.isbat-project-story .isbat-project-browser__all-link {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 2px;
    border-bottom: 2px solid rgba(11, 45, 98, 0.22);
    color: var(--isbat-project-ink) !important;
    font-size: 0.92rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: border-color 0.2s ease, color 0.2s ease;
}

body.isbat-project-story .isbat-project-browser__all-link:hover,
body.isbat-project-story .isbat-project-browser__all-link:focus-visible {
    border-color: var(--isbat-project-red);
    color: var(--isbat-project-red) !important;
}

body.isbat-project-story .isbat-project-browser__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 24px;
}

body.isbat-project-story .isbat-project-browser__filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--isbat-project-line);
    border-radius: 999px;
    background: #fff;
    color: var(--isbat-project-ink);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 7px 22px rgba(15, 45, 82, 0.04);
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

body.isbat-project-story .isbat-project-browser__filter:hover {
    transform: translateY(-1px);
    border-color: rgba(11, 45, 98, 0.35);
}

body.isbat-project-story .isbat-project-browser__filter.is-active,
body.isbat-project-story .isbat-project-browser__filter[aria-selected="true"] {
    border-color: var(--isbat-project-red);
    background: var(--isbat-project-red);
    color: #fff;
    box-shadow: 0 10px 24px rgba(227, 6, 19, 0.2);
}

body.isbat-project-story .isbat-project-browser__count {
    display: inline-grid;
    min-width: 22px;
    min-height: 22px;
    place-items: center;
    border-radius: 999px;
    background: #eaf1f8;
    color: #52657d;
    font-size: 0.7rem;
}

body.isbat-project-story .isbat-project-browser__filter.is-active .isbat-project-browser__count,
body.isbat-project-story .isbat-project-browser__filter[aria-selected="true"] .isbat-project-browser__count {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

body.isbat-project-story .isbat-project-browser__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

body.isbat-project-story .isbat-project-browser__card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--isbat-project-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 15px 36px rgba(15, 45, 82, 0.08);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

body.isbat-project-story .isbat-project-browser__card[hidden] {
    display: none !important;
}

body.isbat-project-story .isbat-project-browser__card:hover {
    transform: translateY(-4px);
    border-color: rgba(14, 165, 233, 0.48);
    box-shadow: 0 22px 46px rgba(15, 45, 82, 0.14);
}

body.isbat-project-story .isbat-project-browser__card > a {
    display: flex;
    height: 100%;
    flex-direction: column;
    color: var(--isbat-project-ink) !important;
    text-decoration: none !important;
}

body.isbat-project-story .isbat-project-browser__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e6edf5;
}

body.isbat-project-story .isbat-project-browser__media img,
body.isbat-project-story .isbat-project-browser__media .isbat-dyn__img,
body.isbat-project-story .isbat-project-browser__media .isbat-dyn__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.42s ease;
}

body.isbat-project-story .isbat-project-browser__card:hover .isbat-project-browser__media img {
    transform: scale(1.035);
}

body.isbat-project-story .isbat-project-browser__body {
    display: flex;
    min-height: 142px;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 17px 17px 16px;
}

body.isbat-project-story .isbat-project-browser__meta {
    margin-bottom: 8px;
    color: #087ea4;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.isbat-project-story .isbat-project-browser__body strong {
    color: var(--isbat-project-ink);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.28;
    text-wrap: balance;
}

body.isbat-project-story .isbat-project-browser__open {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 18px;
    color: #315274;
    font-size: 0.78rem;
    font-weight: 800;
}

body.isbat-project-story .isbat-project-browser__more {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13px;
    margin-top: 30px;
}

body.isbat-project-story .isbat-project-browser__status {
    margin: 0;
    color: var(--isbat-project-copy);
    font-size: 0.82rem;
    font-weight: 700;
}

body.isbat-project-story .isbat-project-browser__load {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    margin: 0;
    padding: 0 22px;
    border: 1px solid var(--isbat-project-red);
    border-radius: 9px;
    background: var(--isbat-project-red);
    color: #fff;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(227, 6, 19, 0.2);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

body.isbat-project-story .isbat-project-browser__load:hover,
body.isbat-project-story .isbat-project-browser__load:focus-visible {
    transform: translateY(-2px);
    background: #bd0510;
    box-shadow: 0 16px 30px rgba(227, 6, 19, 0.27);
}

body.isbat-project-story .isbat-project-browser__load[hidden] {
    display: none !important;
}

@media (max-width: 980px) {
    body.isbat-project-story .isbat-project-browser__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    body.isbat-project-story .isbat-project-browser__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.isbat-project-story .isbat-project-news-contact {
        padding: 48px 0;
    }

    body.isbat-project-story .isbat-project-news-contact > .is25-wrap {
        width: min(100% - 24px, 560px);
    }

    body.isbat-project-story .nh-contact-card {
        grid-template-columns: 1fr;
        border-radius: 18px;
    }

    body.isbat-project-story .nh-contact-intro {
        padding: 30px 22px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    body.isbat-project-story .nh-contact-actions {
        padding: 24px 18px 28px;
    }

    body.isbat-project-story .nh-contact-row {
        gap: 12px;
        padding: 14px;
    }

    body.isbat-project-story .isbat-project-browser {
        padding: 50px 0 58px;
    }

    body.isbat-project-story .isbat-project-browser__inner {
        width: min(100% - 24px, 560px);
    }

    body.isbat-project-story .isbat-project-browser__filters {
        flex-wrap: nowrap;
        width: calc(100% + 12px);
        margin-right: -12px;
        padding: 2px 12px 8px 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
    }

    body.isbat-project-story .isbat-project-browser__filter {
        flex: none;
    }
}

@media (max-width: 560px) {
    body.isbat-project-story .isbat-project-browser__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body.isbat-project-story .isbat-project-browser h2 {
        font-size: clamp(2rem, 10vw, 2.75rem);
    }

    body.isbat-project-story .isbat-project-browser__body {
        min-height: 128px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.isbat-editorial-story .is25-kenslide,
    body.isbat-editorial-story .sv-hero-slide img,
    body.isbat-project-story .nh-contact-card::before,
    body.isbat-project-story .nh-contact-eyebrow .dot,
    body.isbat-project-story .isbat-project-browser__card,
    body.isbat-project-story .isbat-project-browser__media img,
    body.isbat-project-story .isbat-project-browser__filter,
    body.isbat-project-story .isbat-project-browser__load {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/top-meny.css */
:root {
  /* Lys ISBAT-blå palett — 1:1 med nettsted-2026/assets/site.css.
     Blå #003399 er hovedfarge/aksent; rød #ff0033 sparsomt — signatur/CTA. */
  --blue: #003399;           /* ISBAT-blå — hovedfarge/aksent */
  --blue-deep: #072a70;
  --blue-darkest: #04205a;   /* dypeste gradient-stopp for rike blå fyll */
  --blue-soft: #2a56c4;      /* lysere blå — gradient-topp / glød */
  --blue-glow: rgba(0,51,153,.45);
  --blue-tint: rgba(0,51,153,.06);   /* subtil hover-bakgrunn */
  --blue-tint-2: rgba(0,51,153,.10); /* badge-fyll / chip */
  --red: #ff0033;            /* ISBAT-rød — signatur/CTA, sparsomt */
  --red-deep: #d4002a;
  --red-glow: rgba(255,0,51,.45);
  --bg: #fbfdff;
  --bg-2: #f1f6fb;
  --card: #ffffff;
  --ice: #f1f6fb;
  --ice-2: #e3edf8;
  --text: #16273d;
  --ink: #0f1f34;            /* dypeste tekstfarge — titler/overskrifter */
  --text-strong: #3a4c63;   /* mørkere «muted» — undertekst med god lesbarhet */
  --text-muted: #55677d;
  --border: #d7e3f0;
  --border-strong: rgba(0,51,153,.18);
  --panel: #ffffff;
  --panel-soft: #f1f6fb;
  /* Glass-tokens fjernet fra :root 2026-07-25: menyen bruker --is-glass, ikke --glass-bg.
     Lys --glass-bg pa :root lekket globalt og gjorde hvit tekst usynlig pa morke
     .sv-tjenester-page glass-kort. Morke --glass-* er na definert i isbat-design-system.css. */
  /* Lagdelte, mykere skygger — premium dybde */
  --shadow: 0 18px 44px -26px rgba(7,42,112,.35);
  --shadow-soft: 0 10px 30px -18px rgba(7,42,112,.28);
  --shadow-sm: 0 2px 8px -4px rgba(7,42,112,.30);
  --shadow-lg:
    0 1px 1px rgba(7,42,112,.04),
    0 8px 20px -12px rgba(7,42,112,.22),
    0 34px 60px -34px rgba(7,42,112,.40);
  --shadow-blue:
    0 1px 1px rgba(7,42,112,.10),
    0 12px 26px -14px rgba(0,51,153,.40),
    0 26px 52px -26px rgba(0,51,153,.42);
  --shadow-red:
    0 10px 26px -14px rgba(255,0,51,.40),
    0 20px 44px -26px rgba(255,0,51,.34);
  /* Signatur-strek: blå → rød → blå (rink-motiv), brukt sparsomt */
  --rink-line: linear-gradient(90deg,
    transparent 0%,
    var(--blue) 22%,
    var(--red) 50%,
    var(--blue) 78%,
    transparent 100%);
  --radius: 12px;
  --radius-sm: 8px;
  --radius-lg: 16px;
  --wrap: 1240px;
  --header: 78px;
  --ease: cubic-bezier(.22,1,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --font: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --disp: "Schibsted Grotesk", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ===== ISHELLA-lag: is-glød / frost-glass / aurora =====
     Is-cyan er en AKSENT/glød-farge oppå den lyse ISBAT-blå basen — blå forblir
     dominerende, rød er signatur. Verdiene er hentet 1:1 fra
     ishella-light-effects-v3 (primærref) og temmet for lys base #fbfdff. */
  --is-cyan-mid: #4fc3ff;    /* primær is-aksent (glød/kant), aldri tekst */
  --is-cyan-deep: #00739d;
  --is-cyan-soft: rgba(79,195,255,.14);
  /* Frost-glass-flater — lysere/hvitere for en renere, mer synlig meny */
  --is-glass: rgba(255,255,255,.90);
  --is-glass-strong: rgba(255,255,255,.95);
  --is-glass-edge: rgba(255,255,255,.92);
  --is-blur: blur(22px) saturate(140%);
  --is-inset-hi: inset 0 1px 0 rgba(255,255,255,.78);
  /* Glød-skygger (is + rød-signatur) */
  --is-glow-blue: 0 0 32px rgba(79,195,255,.34), 0 0 86px rgba(79,195,255,.18);
  --is-glow-mix: 0 0 32px rgba(79,195,255,.24), 0 0 60px rgba(255,0,51,.14);
  --is-ease: cubic-bezier(.22,1,.36,1);
}

/* ===== ISHELLA-animasjoner ===== */
@keyframes is-pulse {
  0%, 100% {
    box-shadow: 0 0 0 6px rgba(255,0,51,.10), 0 0 18px rgba(255,0,51,.34);
  }
  50% {
    transform: scale(1.18);
    box-shadow: 0 0 0 10px rgba(255,0,51,.06), 0 0 28px rgba(255,0,51,.46);
  }
}

@keyframes is-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-9px) rotate(1.5deg); }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(1100px 520px at 85% -6%, rgba(159,193,255,.16), transparent 65%),
    radial-gradient(900px 460px at 0% 12%, rgba(0,51,153,.05), transparent 60%),
    var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body.mobile-menu-open {
  overflow: hidden;
}

img,
svg {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
p {
  margin: 0;
}

:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}

.wrap {
  width: min(100% - 32px, var(--wrap));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border-radius: var(--radius-sm);
  background: var(--blue);
  color: #fff;
  font-weight: 800;
  transform: translateY(-72px);
  transition: transform .2s var(--ease);
}

.skip-link:focus {
  transform: translateY(0);
}

/* Live-robusthet: enkelte sider har en global regel
   «.site-header,.main-navigation,.inside-header,#site-navigation{display:none!important}»
   som skjuler GeneratePress-temaets standard-header. Vår nye meny bruker samme
   .site-header-klasse, så vi må eksplisitt tvinge VÅR header (kjennetegnet av
   [data-header]) synlig igjen med høyere spesifisitet + !important. */
.site-header[data-header] {
  display: block !important;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  overflow: visible;
  /* ISHELLA frost-glass: lys blå topp-glød + subtil is-cyan aurora-hjørne +
     hårfin lys innerkant. Sterkere blur+saturate for is-materialitet. */
  background:
    radial-gradient(circle at 92% 8%, rgba(79,195,255,.06), transparent 26%),
    linear-gradient(180deg, rgba(42,86,196,.02), rgba(255,255,255,0) 62%),
    var(--is-glass);
  border-bottom: 1px solid var(--border);
  box-shadow:
    var(--is-inset-hi),
    0 1px 0 rgba(215,227,240,.6),
    0 18px 46px -32px rgba(7,42,112,.30),
    0 0 34px rgba(79,195,255,.12);
  backdrop-filter: var(--is-blur);
  -webkit-backdrop-filter: var(--is-blur);
  transition: box-shadow .32s var(--ease), background .32s var(--ease),
    transform .34s var(--ease);
  will-change: transform;
}

/* Skjul-på-scroll-ned / vis-på-scroll-opp: menu.js togglar .is-hidden.
   Headeren glir opp av syne (hele si eiga høgd) og kjem tilbake når ein
   scrollar opp. Aldri skjult når ein megameny eller mobil-draweren er open. */
.site-header.is-hidden {
  transform: translateY(-100%);
}

/* Hårfin ISBAT-rink-signatur nederst på headeren: blå–rød–blå gradient-linje */
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1.5px;
  background: var(--rink-line);
  opacity: .55;
  pointer-events: none;
  transition: opacity .32s var(--ease);
}

/* Komprimert, «festet» tilstand når man scroller forbi ~40px (togglet via JS) */
.site-header.is-scrolled {
  --header: 62px;
  background:
    radial-gradient(circle at 92% 8%, rgba(79,195,255,.12), transparent 26%),
    linear-gradient(180deg, rgba(42,86,196,.06), rgba(255,255,255,0) 60%),
    var(--is-glass-strong);
  border-bottom-color: var(--border-strong);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 1px 0 rgba(215,227,240,.7),
    0 22px 54px -30px rgba(7,42,112,.34),
    0 0 40px rgba(79,195,255,.14);
}

.site-header.is-scrolled::after {
  opacity: .8;
}

.main-nav__inner,
.mobile-toggle {
  transition: min-height .28s var(--ease), width .28s var(--ease), height .28s var(--ease);
}

.main-nav {
  position: relative;
}

.main-nav__inner {
  min-height: var(--header);
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Logo til venstre, nav rett etter, verktøy/CTA skyves helt til høyre */
.desktop-nav {
  margin-left: 4px;
}

.nav-actions {
  margin-left: auto;
}

/* Ren tekstlogo — ordmerke + undertekst, ingen grafikk */
.brand {
  flex: none;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 4px 2px;
  line-height: 1;
  /* Hold logoen samlet — aldri bryt ordmerke/undertekst til flere linjer */
  white-space: nowrap;
}

.brand__name {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  font-family: var(--disp);
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -.005em;
  /* Subtil blå dybde-gradient i ordmerket for premium-følelse */
  background: linear-gradient(180deg, var(--blue) 0%, var(--blue-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: font-size .28s var(--ease);
}

/* Hårfin rød ISBAT-signatur-prikk etter ordmerket */
.brand__name::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-left: 2px;
  border-radius: 50%;
  background: var(--red);
  vertical-align: baseline;
  box-shadow: 0 0 0 rgba(255,0,51,.5);
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}

.brand__sub {
  font-family: var(--font);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  /* Tydelig blå slagord — synlig mot den lyse headeren */
  color: var(--blue);
  opacity: .92;
}

.site-header.is-scrolled .brand__name {
  font-size: 1.32rem;
}

.brand:hover .brand__name {
  background: linear-gradient(180deg, var(--blue-deep) 0%, var(--blue-darkest) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.brand:hover .brand__name::after {
  box-shadow: 0 0 8px rgba(255,0,51,.55);
  transform: scale(1.1);
}

.desktop-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: none;
  gap: 0;
}

.nav-trigger,
.nav-link {
  position: relative;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  padding: 0 11px;
  /* Skarpere, mer levende tekst — mot ink/blå, ikke grå */
  color: var(--ink);
  background: transparent;
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: -.005em;
  white-space: nowrap;
  transition: color .2s var(--ease), background .2s var(--ease),
    border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
}

/* Gradient underline-indikator (blå→rød-hint) som glir inn på aktiv trigger */
.desktop-nav .nav-trigger::after {
  content: "";
  position: absolute;
  left: 11px;
  right: 11px;
  bottom: 4px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--blue-soft) 62%, var(--red) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .26s var(--ease-out);
}

.desktop-nav .nav-trigger.is-active::after,
.desktop-nav .nav-trigger[aria-expanded="true"]::after {
  transform: scaleX(1);
  /* Is-cyan glød på aktiv underline */
  box-shadow: 0 0 12px rgba(79,195,255,.32);
}

.nav-trigger svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .7;
  transition: transform .22s var(--ease), opacity .18s var(--ease);
}

.nav-trigger:hover,
.nav-trigger.is-active,
.nav-link:hover {
  color: var(--blue);
  border-color: var(--border-strong);
  /* Myk bakgrunn + subtil løft/skygge + hårfin is-cyan glød på hover */
  background: linear-gradient(180deg, rgba(255,255,255,.9), var(--is-cyan-soft));
  box-shadow:
    var(--shadow-sm),
    inset 0 1px 0 rgba(255,255,255,.6),
    0 0 12px rgba(79,195,255,.20);
  transform: translateY(-1px);
}

.nav-trigger:hover svg,
.nav-trigger.is-active svg,
.nav-trigger[aria-expanded="true"] svg {
  opacity: 1;
}

.nav-trigger.is-active svg,
.nav-trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.nav-link--cta {
  border-color: transparent;
  padding: 0 16px;
  overflow: hidden;
  /* Rikere rød gradient + glans-innerkant for premium-signatur */
  background: linear-gradient(165deg, #ff1f4a 0%, var(--red) 46%, var(--red-deep) 100%);
  color: #fff;
  letter-spacing: .005em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    var(--shadow-red);
}

/* ISHELLA glød-sveip: lyst glimt som glir over knappen på hover */
.nav-link--cta::after {
  content: "";
  position: absolute;
  inset: -60% -30%;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.52), transparent 62%);
  transform: translateX(-78%) rotate(8deg);
  transition: transform .65s var(--is-ease);
  pointer-events: none;
}

.nav-link--cta:hover::after,
.nav-link--cta:focus-visible::after {
  transform: translateX(72%) rotate(8deg);
}

.nav-link--cta:hover,
.nav-link--cta:focus-visible {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(165deg, var(--red) 0%, var(--red-deep) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 14px 30px -14px rgba(255,0,51,.5),
    0 24px 50px -24px rgba(255,0,51,.4);
  transform: translateY(-1px);
}

.mega-root {
  position: relative;
}

.mega-panel {
  position: absolute;
  inset-inline: 0;
  top: 0;
  padding: 18px 0 26px;
  /* ISHELLA frost-glass: is-cyan aurora topp-høyre + blå topp-glød + lys
     innerkant, med is-glød i den lagdelte skyggen. */
  background:
    radial-gradient(circle at 88% -10%, rgba(79,195,255,.10), transparent 30%),
    radial-gradient(120% 140% at 50% -20%, rgba(42,86,196,.05), transparent 55%),
    linear-gradient(180deg, #ffffff, #f7fbff),
    var(--card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border-strong);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    var(--shadow-lg),
    0 0 46px rgba(79,195,255,.10);
  backdrop-filter: var(--is-blur);
  -webkit-backdrop-filter: var(--is-blur);
}

/* Hårfin rink-signatur (blå–rød–blå) langs panelets nederkant */
.mega-panel::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1.5px;
  background: var(--rink-line);
  opacity: .5;
  pointer-events: none;
}

.mega-panel[hidden] {
  display: none;
}

/* Myk åpne-animasjon: fade + slide-down når [hidden] fjernes */
@keyframes mega-panel-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

[data-menu-panel]:not([hidden]) {
  animation: mega-panel-in .22s var(--ease) both;
}

/* Subtil stagger-inntoning av kortene i megamenyen (maks ~8 trinn) */
@keyframes mega-link-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

[data-menu-panel]:not([hidden]) .link-group,
[data-menu-panel]:not([hidden]) .tools-calc {
  animation: mega-link-in .32s var(--ease) both;
}

[data-menu-panel]:not([hidden]) .link-group:nth-child(1),
[data-menu-panel]:not([hidden]) .tools-calc:nth-child(1) { animation-delay: .04s; }
[data-menu-panel]:not([hidden]) .link-group:nth-child(2),
[data-menu-panel]:not([hidden]) .tools-calc:nth-child(2) { animation-delay: .08s; }
[data-menu-panel]:not([hidden]) .link-group:nth-child(3) { animation-delay: .12s; }
[data-menu-panel]:not([hidden]) .link-group:nth-child(4) { animation-delay: .16s; }

.mega-panel__inner {
  display: grid;
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  gap: 24px;
}

.mega-lead {
  position: relative;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(0,51,153,.22);
  border-radius: var(--radius-lg);
  /* ISHELLA aurora-cluster oppå den dype ISBAT-blå: is-cyan glød topp-høyre,
     rød-hint bunn-venstre — blå forblir dominerende. */
  background:
    radial-gradient(circle at 100% 0%, rgba(79,195,255,.28), transparent 42%),
    radial-gradient(circle at 6% 100%, rgba(255,0,51,.14), transparent 46%),
    radial-gradient(130% 100% at 100% 0%, rgba(42,86,196,.55), transparent 58%),
    radial-gradient(120% 120% at 0% 100%, rgba(4,32,90,.5), transparent 60%),
    linear-gradient(158deg, var(--blue) 0%, var(--blue-deep) 55%, var(--blue-darkest) 100%);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    var(--shadow-blue),
    0 0 44px rgba(79,195,255,.16);
}

/* Rink-motiv: myk lys glød-sirkel som antyder en isbane-rink i hjørnet */
.mega-lead::before {
  content: "";
  position: absolute;
  top: -42%;
  right: -28%;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,255,255,.22), transparent 62%);
  pointer-events: none;
}

/* Hårfin rød ISBAT-signatur-strek øverst i lead-kortet */
.mega-lead::after {
  content: "";
  position: absolute;
  left: 24px;
  top: 0;
  width: 52px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--red), rgba(255,0,51,.2));
  pointer-events: none;
}

.mega-lead > * {
  position: relative;
}

.mega-lead span {
  color: rgba(255,255,255,.86);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue);
  font-family: var(--mono);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* ISHELLA kicker-prikk: rød signatur-prikk med is-glød + puls */
.eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 6px rgba(255,0,51,.10), 0 0 18px rgba(255,0,51,.34);
  animation: is-pulse 2.4s ease-in-out infinite;
}

.mega-lead h2 {
  max-width: 15ch;
  font-family: var(--disp);
  font-size: 1.72rem;
  line-height: 1.04;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.018em;
}

.mega-lead p {
  color: rgba(255,255,255,.78);
  font-size: .95rem;
  line-height: 1.5;
}

.mega-lead a {
  width: fit-content;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 0 18px;
  border-radius: var(--radius-sm);
  /* Lys knapp på mørk blå flate — sterk kontrast, premium */
  background: #fff;
  color: var(--blue-deep);
  font-weight: 800;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 12px 26px -14px rgba(4,18,48,.5);
  transition: background .2s var(--ease), box-shadow .2s var(--ease),
    transform .2s var(--ease), color .2s var(--ease);
}

.mega-lead a::after {
  content: "→";
  font-size: 1.05em;
  line-height: 1;
  transform: translateX(-2px);
  transition: transform .2s var(--ease);
}

.mega-lead a:hover,
.mega-lead a:focus-visible {
  background: #fff;
  color: var(--blue);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 18px 34px -16px rgba(4,18,48,.55);
  transform: translateY(-2px);
}

.mega-lead a:hover::after,
.mega-lead a:focus-visible::after {
  transform: translateX(3px);
}

.mega-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.mega-groups--wide {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Verktøy-panel: kalkulatorer får mer vekt (1.35fr) enn PDF-arkiv (1fr) */
.mega-groups--tools {
  grid-template-columns: 1.35fr 1fr;
  align-items: start;
}

/* ===== Kalkulator-CTA (Verktøy-panel) ===== */
.tools-calc {
  min-width: 0;
}

.tools-calc h3,
.link-group--pdf h3 {
  margin: 0 0 12px;
  color: var(--blue-deep);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.link-group--pdf h3 {
  color: var(--text-muted);
}

.calc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

/* Felles CTA-kort: ikon-badge + tekst + handlings-affordans */
.calc-cta {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-left: 3px solid var(--border-strong);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff, rgba(248,251,255,.9));
  color: var(--text);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    var(--shadow-soft);
  transition: border-color .22s var(--ease), background .22s var(--ease),
    box-shadow .22s var(--ease), transform .22s var(--ease);
}

.calc-cta:hover,
.calc-cta:focus-visible {
  border-color: var(--is-cyan-mid);
  border-left-color: var(--blue);
  background: linear-gradient(180deg, #fff, var(--is-cyan-soft));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    var(--shadow),
    0 0 26px rgba(79,195,255,.18);
  transform: translateY(-2px);
}

.calc-cta__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 11px;
  background: linear-gradient(160deg, var(--blue-tint-2), rgba(0,51,153,.06));
  box-shadow: inset 0 0 0 1px rgba(0,51,153,.1);
  color: var(--blue);
  transition: background .22s var(--ease), color .22s var(--ease),
    box-shadow .22s var(--ease);
}

.calc-cta:hover .calc-cta__badge,
.calc-cta:focus-visible .calc-cta__badge {
  /* ISHELLA is-chip: is-cyan → dyp cyan med lys-høylys og is-glød */
  background:
    radial-gradient(circle at 28% 20%, rgba(255,255,255,.56), transparent 28%),
    linear-gradient(135deg, var(--is-cyan-mid), var(--is-cyan-deep));
  box-shadow:
    var(--is-glow-blue),
    inset 0 1px 0 rgba(255,255,255,.42);
  color: #fff;
}

.calc-cta__badge svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.calc-cta__body {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.calc-cta__body b {
  color: var(--ink);
  font-size: .94rem;
  font-weight: 800;
  line-height: 1.15;
}

.calc-cta__body span {
  color: var(--text-strong);
  font-size: .82rem;
  line-height: 1.3;
}

/* Liten pil på de sekundære kortene — glir inn på hover */
.calc-cta__arrow {
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: var(--blue);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .5;
  transform: translateX(-2px);
  transition: transform .2s var(--ease), opacity .2s var(--ease), stroke .2s var(--ease);
}

.calc-cta:hover .calc-cta__arrow,
.calc-cta:focus-visible .calc-cta__arrow {
  stroke: var(--blue);
  opacity: 1;
  transform: translateX(2px);
}

/* Hero-CTA: den viktigste kalkulatoren (Banevelger) — rik blå fyll + stor pil */
.calc-cta--hero {
  position: relative;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 80px;
  overflow: hidden;
  border: 1px solid rgba(0,51,153,.4);
  border-left-width: 3px;
  border-left-color: var(--red);
  /* ISHELLA: dyp blå gradient + is-cyan aurora topp-høyre glød-lag */
  background:
    radial-gradient(circle at 100% 0%, rgba(79,195,255,.3), transparent 40%),
    radial-gradient(120% 140% at 100% 0%, rgba(42,86,196,.6), transparent 55%),
    linear-gradient(150deg, var(--blue) 0%, var(--blue-deep) 60%, var(--blue-darkest) 100%);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    var(--shadow-blue),
    var(--is-glow-mix);
}

/* Hårfin rink-glød i hjørnet av hero-kortet */
.calc-cta--hero::before {
  content: "";
  position: absolute;
  top: -60%;
  right: -12%;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,255,255,.18), transparent 62%);
  pointer-events: none;
}

/* ISHELLA glød-sveip på hero-CTA (glir over på hover) */
.calc-cta--hero::after {
  content: "";
  position: absolute;
  inset: -60% -30%;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.4), transparent 62%);
  transform: translateX(-82%) rotate(8deg);
  transition: transform .65s var(--is-ease);
  pointer-events: none;
  z-index: 0;
}

.calc-cta--hero:hover::after,
.calc-cta--hero:focus-visible::after {
  transform: translateX(72%) rotate(8deg);
}

/* Hold innhold over glød-laget */
.calc-cta--hero > * {
  position: relative;
  z-index: 1;
}

.calc-cta--hero:hover,
.calc-cta--hero:focus-visible {
  border-color: rgba(0,51,153,.5);
  border-left-color: var(--red);
  background:
    radial-gradient(circle at 100% 0%, rgba(79,195,255,.34), transparent 42%),
    radial-gradient(120% 140% at 100% 0%, rgba(42,86,196,.7), transparent 55%),
    linear-gradient(150deg, var(--blue-soft) 0%, var(--blue) 55%, var(--blue-deep) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 16px 32px -16px rgba(0,51,153,.5),
    0 32px 60px -28px rgba(0,51,153,.46),
    0 0 44px rgba(79,195,255,.2);
  transform: translateY(-2px);
}

.calc-cta--hero .calc-cta__badge {
  width: 46px;
  height: 46px;
  background: rgba(255,255,255,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
  color: #fff;
  /* ISHELLA float-animasjon på hero-badge (rolig svev) */
  animation: is-float 5.2s ease-in-out infinite;
}

.calc-cta--hero:hover .calc-cta__badge,
.calc-cta--hero:focus-visible .calc-cta__badge {
  background: rgba(255,255,255,.26);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.3);
  color: #fff;
}

.calc-cta--hero .calc-cta__badge svg {
  width: 26px;
  height: 26px;
}

.calc-cta--hero .calc-cta__body b {
  color: #fff;
  font-size: 1.06rem;
}

.calc-cta--hero .calc-cta__body span {
  color: rgba(255,255,255,.82);
}

/* «Åpne verktøy»-hint med pil på hero-kortet */
.calc-cta__go {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  color: rgba(255,255,255,.9);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .01em;
}

.calc-cta__go svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: translateX(-2px);
  transition: transform .2s var(--ease);
}

.calc-cta--hero:hover .calc-cta__go svg,
.calc-cta--hero:focus-visible .calc-cta__go svg {
  transform: translateX(3px);
}

/* PDF-kolonne: lettere dokumentliste-stil (sekundær) */
.link-group--pdf {
  padding: 0;
  border: 0;
  background: transparent;
}

.link-group--pdf a {
  min-height: 44px;
  padding: 7px 10px 7px 13px;
  border-radius: var(--radius-sm);
}

.link-group--pdf a:hover,
.link-group--pdf a:focus-visible {
  padding-left: 17px;
  box-shadow: none;
}

.link-group {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  /* Lys glass-flate med hårfin lys innerkant og myk lagdelt skygge */
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(241,246,251,.75));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 1px 2px -1px rgba(7,42,112,.10),
    0 12px 30px -22px rgba(7,42,112,.30);
  transition: border-color .22s var(--ease), box-shadow .22s var(--ease),
    transform .22s var(--ease);
}

/* Hover: is-cyan kant/glød som glir inn, subtilt løft */
.link-group:hover {
  border-color: var(--is-cyan-mid);
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 2px 4px -2px rgba(7,42,112,.12),
    0 18px 40px -24px rgba(7,42,112,.34),
    0 0 28px rgba(79,195,255,.18);
}

.link-group h3 {
  margin: 0 0 12px;
  color: var(--blue-deep);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.link-group a {
  position: relative;
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 11px 12px 11px 16px;
  border-radius: var(--radius);
  color: var(--text);
  transition: background .2s var(--ease), color .2s var(--ease),
    padding .2s var(--ease), box-shadow .2s var(--ease);
}

/* Venstre-kant-aksent (blå→rød-hint) som glir inn på hover/fokus */
.link-group a::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 3px;
  /* Is-cyan → blå aksent-strek */
  background: linear-gradient(180deg, var(--is-cyan-mid), var(--blue));
  box-shadow: 0 0 10px rgba(79,195,255,.4);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .24s var(--ease-out);
}

.link-group a + a {
  margin-top: 2px;
}

.link-group a:hover,
.link-group a:focus-visible {
  background: linear-gradient(180deg, rgba(255,255,255,.85), var(--is-cyan-soft));
  color: var(--blue);
  padding-left: 18px;
  box-shadow: var(--shadow-sm);
}

.link-group a:hover::before,
.link-group a:focus-visible::before {
  transform: scaleY(1);
}

.link-group b {
  color: var(--ink);
  font-size: .96rem;
  font-weight: 800;
  letter-spacing: -.005em;
}

.link-group span {
  /* Tydeligere, mørkere undertekst for bedre lesbarhet på hvit bunn */
  color: var(--text-strong);
  font-size: .82rem;
  line-height: 1.35;
}

/* ===== Mobil: hamburger-knapp med morph til X ===== */
.mobile-toggle {
  display: none;
  width: auto;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--panel-soft);
  color: var(--text);
  font-size: .84rem;
  font-weight: 800;
}

.mobile-toggle__bars {
  position: relative;
  width: 18px;
  height: 14px;
  flex: none;
}

.mobile-toggle__bars span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .28s var(--ease), opacity .18s var(--ease), top .28s var(--ease);
}

.mobile-toggle__bars span:nth-child(1) { top: 0; }
.mobile-toggle__bars span:nth-child(2) { top: 6px; }
.mobile-toggle__bars span:nth-child(3) { top: 12px; }

/* Morph: tre streker → kryss når menyen er åpen */
.mobile-toggle[aria-expanded="true"] .mobile-toggle__bars span:nth-child(1) {
  top: 6px;
  transform: rotate(45deg);
}

.mobile-toggle[aria-expanded="true"] .mobile-toggle__bars span:nth-child(2) {
  opacity: 0;
}

.mobile-toggle[aria-expanded="true"] .mobile-toggle__bars span:nth-child(3) {
  top: 6px;
  transform: rotate(-45deg);
}

/* ===== Mobil: mørk backdrop-overlay =====
   Merk: .site-header har backdrop-filter, som gjør den til «containing block»
   for position:fixed-barn. Vi ankrer derfor mot headerens toppkant (top:0,
   som ligger i viewport-topp siden headeren er sticky og body er scroll-låst)
   og gir eksplisitt viewport-høyde i stedet for å stole på bottom/inset. */
.mobile-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 180;
  background: rgba(7,42,112,.42);
  backdrop-filter: blur(6px) saturate(1.1);
  opacity: 0;
  transition: opacity .3s var(--ease);
}

.mobile-backdrop[hidden] {
  display: none;
}

.mobile-backdrop.is-open {
  opacity: 1;
}

/* ===== Mobil: slide-in-drawer fra høyre =====
   Samme containing-block-hensyn som backdrop: eksplisitt viewport-høyde
   (top:0 + height:100dvh) i stedet for bottom:0. */
.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 190;
  width: min(88vw, 380px);
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  /* ISHELLA: is-cyan aurora topp-høyre + blå glød på lys base */
  background:
    radial-gradient(circle at 100% 0%, rgba(79,195,255,.10), transparent 34%),
    radial-gradient(120% 40% at 100% 0%, rgba(42,86,196,.08), transparent 55%),
    var(--bg);
  /* Is-hairline venstre-kant + is-glød i drawer-skyggen */
  border-left: 1px solid var(--border-strong);
  box-shadow:
    -24px 0 70px -34px rgba(7,42,112,.55),
    inset 1px 0 0 rgba(79,195,255,.22);
  transform: translateX(100%);
  transition: transform .34s var(--ease);
  will-change: transform;
}

.mobile-menu[hidden] {
  display: none;
}

.mobile-menu.is-open {
  transform: translateX(0);
}

.mobile-menu__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px;
  border-bottom: 1px solid var(--border);
  /* ISHELLA frost-glass-header: is-cyan aurora topp-høyre + blå topp-glød */
  background:
    radial-gradient(circle at 96% 4%, rgba(79,195,255,.14), transparent 40%),
    linear-gradient(180deg, rgba(42,86,196,.06), rgba(255,255,255,0) 70%),
    var(--is-glass-strong);
  box-shadow: var(--is-inset-hi);
  backdrop-filter: var(--is-blur);
  -webkit-backdrop-filter: var(--is-blur);
}

/* Tynn rink-signatur-strek (blå–rød–blå) under logoen i draweren */
.mobile-menu__header::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--rink-line);
  opacity: .7;
}

.mobile-menu__name {
  background: linear-gradient(180deg, var(--blue) 0%, var(--blue-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.mobile-menu__brand {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1;
}

.mobile-menu__name {
  font-family: var(--disp);
  font-size: 1.24rem;
  font-weight: 800;
  color: var(--blue);
}

.mobile-menu__sub {
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.mobile-close {
  width: 44px;
  height: 44px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--text-muted);
  transition: color .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);
}

.mobile-close:hover {
  color: var(--blue);
  border-color: var(--border-strong);
  background: rgba(0,51,153,.06);
}

.mobile-close svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mobile-menu__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 16px 16px 8px;
}

.mobile-nav {
  display: block;
}

.mobile-section {
  border-bottom: 1px solid rgba(215,227,240,.7);
}

.mobile-section:first-child {
  border-top: 1px solid rgba(215,227,240,.7);
}

.mobile-section summary {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 6px;
  border-radius: var(--radius-sm);
  color: var(--text);
  font-weight: 800;
  font-size: 1rem;
  cursor: pointer;
  list-style: none;
  -webkit-tap-highlight-color: transparent;
  transition: background .16s var(--ease);
}

.mobile-section summary::-webkit-details-marker {
  display: none;
}

/* Tydeligere trykk-tilstand ved tap */
.mobile-section summary:active {
  background: rgba(0,51,153,.08);
}

/* Label = ikon-badge + tekst */
.mobile-section__label {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.mobile-section__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 10px;
  background: linear-gradient(160deg, var(--blue-tint-2), rgba(0,51,153,.05));
  box-shadow: inset 0 0 0 1px rgba(0,51,153,.1);
  color: var(--blue);
  transition: background .2s var(--ease), color .2s var(--ease),
    box-shadow .2s var(--ease);
}

.mobile-section__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mobile-section[open] > summary .mobile-section__icon {
  /* ISHELLA is-chip: is-cyan → dyp cyan med høylys og is-glød */
  background:
    radial-gradient(circle at 28% 20%, rgba(255,255,255,.5), transparent 30%),
    linear-gradient(135deg, var(--is-cyan-mid), var(--is-cyan-deep));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 6px 16px -8px rgba(79,195,255,.5),
    0 0 20px rgba(79,195,255,.28);
  color: #fff;
}

.mobile-section__chevron {
  width: 16px;
  height: 16px;
  flex: none;
  fill: none;
  stroke: var(--text-muted);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .26s var(--ease);
}

.mobile-section[open] > summary .mobile-section__chevron {
  transform: rotate(180deg);
  stroke: var(--blue);
}

.mobile-section[open] > summary {
  color: var(--blue);
}

.mobile-section__links {
  display: flex;
  flex-direction: column;
  padding: 2px 0 12px;
}

.mobile-section__links a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 12px 0 52px;
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  font-weight: 600;
  font-size: .94rem;
  -webkit-tap-highlight-color: transparent;
  transition: background .16s var(--ease), color .16s var(--ease);
}

.mobile-section__links a:hover,
.mobile-section__links a:focus-visible {
  background: rgba(0,51,153,.06);
  color: var(--blue);
}

.mobile-section__links a:active {
  background: rgba(0,51,153,.12);
  color: var(--blue);
}

/* ===== Mobil: kalkulator-CTA-kort ===== */
.mobile-calc {
  gap: 8px;
  padding-top: 4px;
}

.mobile-section__links a.mobile-calc-cta {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-left: 3px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--text);
  box-shadow: var(--shadow-soft);
  font-weight: 600;
  -webkit-tap-highlight-color: transparent;
  transition: border-color .18s var(--ease), background .18s var(--ease),
    box-shadow .18s var(--ease), transform .12s var(--ease);
}

.mobile-section__links a.mobile-calc-cta:active {
  transform: scale(.985);
  border-left-color: var(--blue);
  background: linear-gradient(180deg, #fff, rgba(0,51,153,.05));
}

.mobile-section__links a.mobile-calc-cta--hero {
  min-height: 68px;
  border-color: rgba(0,51,153,.4);
  border-left-color: var(--red);
  /* ISHELLA: blå gradient + is-cyan aurora glød-lag, rød venstre-signatur */
  background:
    radial-gradient(circle at 100% 0%, rgba(79,195,255,.26), transparent 42%),
    radial-gradient(120% 140% at 100% 0%, rgba(42,86,196,.55), transparent 55%),
    linear-gradient(150deg, var(--blue) 0%, var(--blue-deep) 60%, var(--blue-darkest) 100%);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 16px 34px -22px var(--blue-glow),
    var(--is-glow-mix);
}

.mobile-section__links a.mobile-calc-cta--hero:active {
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(42,86,196,.6), transparent 55%),
    linear-gradient(150deg, var(--blue-soft) 0%, var(--blue) 100%);
}

.mobile-calc-cta__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 11px;
  background: linear-gradient(160deg, var(--blue-tint-2), rgba(0,51,153,.05));
  box-shadow: inset 0 0 0 1px rgba(0,51,153,.1);
  color: var(--blue);
}

.mobile-calc-cta__badge svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mobile-calc-cta__body {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.mobile-calc-cta__body b {
  color: var(--text);
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.15;
}

.mobile-calc-cta__body span {
  color: var(--text-muted);
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.3;
}

.mobile-calc-cta__arrow {
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: var(--text-muted);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .55;
}

/* Hero-CTA i mobil (Banevelger): fyll/tekst styres av høyere-spesifikk
   .mobile-section__links a.mobile-calc-cta--hero over; her kun descendant-farger */
.mobile-calc-cta--hero .mobile-calc-cta__badge {
  background: rgba(255,255,255,.16);
  color: #fff;
}

.mobile-calc-cta--hero .mobile-calc-cta__body b {
  color: #fff;
  font-size: 1.02rem;
}

.mobile-calc-cta--hero .mobile-calc-cta__body span {
  color: rgba(255,255,255,.82);
}

.mobile-calc-cta--hero .mobile-calc-cta__arrow {
  stroke: #fff;
  opacity: .9;
}

/* Myk utslå-animasjon for åpnede seksjoner */
@keyframes mobile-section-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.mobile-section[open] > .mobile-section__links {
  animation: mobile-section-in .22s var(--ease) both;
}

.mobile-menu__footer {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--border);
  /* ISHELLA frost-glass-footer: is-cyan aurora bunn-høyre + blå topp-glød */
  background:
    radial-gradient(circle at 96% 100%, rgba(79,195,255,.12), transparent 42%),
    linear-gradient(0deg, rgba(42,86,196,.05), rgba(255,255,255,0) 70%),
    var(--is-glass-strong);
  backdrop-filter: var(--is-blur);
  -webkit-backdrop-filter: var(--is-blur);
}

/* Hårfin rink-signatur-strek langs footer-toppen */
.mobile-menu__footer::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: -1px;
  height: 1.5px;
  border-radius: 2px;
  background: var(--rink-line);
  opacity: .55;
  pointer-events: none;
}

.mobile-footer__call,
.mobile-footer__cta {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--radius);
  font-weight: 800;
  transition: background .2s var(--ease), border-color .2s var(--ease),
    box-shadow .2s var(--ease), transform .2s var(--ease), color .2s var(--ease);
}

.mobile-footer__call {
  border: 1px solid var(--border-strong);
  background: linear-gradient(180deg, #fff, rgba(248,251,255,.9));
  color: var(--blue);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), var(--shadow-sm);
}

.mobile-footer__call:hover,
.mobile-footer__call:focus-visible {
  border-color: var(--blue);
  background: linear-gradient(180deg, #fff, var(--blue-tint));
  transform: translateY(-1px);
}

.mobile-footer__call svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  stroke: none;
}

.mobile-footer__cta {
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  /* Rikere rød gradient + glans, matcher desktop Kontakt-CTA */
  background: linear-gradient(165deg, #ff1f4a 0%, var(--red) 46%, var(--red-deep) 100%);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    var(--shadow-red);
}

/* ISHELLA glød-sveip på mobil «Be om tilbud» */
.mobile-footer__cta::after {
  content: "";
  position: absolute;
  inset: -60% -30%;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.5), transparent 62%);
  transform: translateX(-82%) rotate(8deg);
  transition: transform .65s var(--is-ease);
  pointer-events: none;
}

.mobile-footer__cta:hover::after,
.mobile-footer__cta:focus-visible::after {
  transform: translateX(72%) rotate(8deg);
}

.mobile-footer__cta:hover,
.mobile-footer__cta:focus-visible {
  border-color: transparent;
  background: linear-gradient(165deg, var(--red) 0%, var(--red-deep) 100%);
  transform: translateY(-1px);
}

.hero {
  min-height: calc(100svh - var(--header));
  display: grid;
  align-items: center;
  padding: clamp(54px, 8vw, 96px) 0;
}

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 460px);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
}

.hero__copy {
  max-width: 760px;
}

.hero h1 {
  max-width: 11ch;
  margin-top: 12px;
  font-family: var(--disp);
  font-size: clamp(3.2rem, 8vw, 6.8rem);
  line-height: .9;
  font-weight: 800;
  color: var(--blue-deep);
  letter-spacing: -.02em;
}

.lead {
  max-width: 690px;
  margin-top: 24px;
  color: var(--text-muted);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: var(--radius);
  font-weight: 850;
}

.button--primary {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 18px 40px -22px var(--blue-glow);
}

.button--secondary {
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--blue);
}

.hero__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}

.hero__media img {
  width: 100%;
  aspect-ratio: 5 / 6;
  object-fit: cover;
}

.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,18,48,0) 48%, rgba(4,18,48,.85));
  pointer-events: none;
}

.hero__media figcaption {
  position: absolute;
  inset-inline: 18px;
  bottom: 18px;
  z-index: 2;
  display: grid;
  gap: 4px;
  color: #fff;
}

.hero__media span {
  color: rgba(255,255,255,.82);
  font-size: .82rem;
  font-weight: 800;
}

.hero__media b {
  font-size: 1.1rem;
}

.decision-band {
  padding: 0 0 clamp(52px, 7vw, 90px);
}

.decision-band__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--card);
}

.decision-band a {
  min-height: 150px;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 22px;
  border-right: 1px solid var(--border);
  color: var(--text);
  transition: background .18s var(--ease), transform .18s var(--ease);
}

.decision-band a:last-child {
  border-right: 0;
}

.decision-band a:hover {
  background: rgba(0,51,153,.06);
}

.decision-band span {
  color: var(--blue);
  font-family: var(--mono);
  font-weight: 700;
  letter-spacing: .06em;
}

.decision-band b {
  font-size: 1.12rem;
  font-weight: 900;
}

.decision-band small {
  color: var(--text-muted);
  font-size: .88rem;
}

@media (max-width: 1180px) {
  .main-nav__inner {
    justify-content: space-between;
  }

  .desktop-nav,
  .nav-actions {
    display: none;
  }

  .mobile-toggle {
    display: inline-flex;
    margin-left: auto;
  }

  .mega-root {
    display: none;
  }
}

/* Drawer og backdrop hører kun til mobil-visningen: skjul over breakpointen
   slik at de aldri kan bli synlige på desktop (uansett JS-tilstand). */
@media (min-width: 1181px) {
  .mobile-menu,
  .mobile-backdrop {
    display: none !important;
  }
}

@media (max-width: 980px) {
  .hero__grid {
    grid-template-columns: 1fr;
  }

  .hero h1 {
    max-width: 12ch;
    font-size: clamp(3rem, 13vw, 5.4rem);
  }

  .hero__media {
    max-width: 620px;
  }

  .decision-band__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-band a:nth-child(2) {
    border-right: 0;
  }

  .decision-band a:nth-child(-n + 2) {
    border-bottom: 1px solid var(--border);
  }
}

@media (max-width: 620px) {
  .wrap {
    width: min(100% - 24px, var(--wrap));
  }

  .brand__name {
    font-size: 1.32rem;
  }

  .hero {
    min-height: auto;
    padding-top: 42px;
  }

  .hero h1 {
    max-width: 10ch;
  }

  .hero__actions {
    grid-template-columns: 1fr;
  }

  .button {
    width: 100%;
  }

  .mobile-menu__footer {
    grid-template-columns: 1fr;
  }

  .decision-band__grid {
    grid-template-columns: 1fr;
  }

  .decision-band a {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .decision-band a:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
  }

  /* Sikre at staggede kort ikke blir stående usynlige uten bevegelse */
  [data-menu-panel]:not([hidden]),
  [data-menu-panel]:not([hidden]) .link-group,
  [data-menu-panel]:not([hidden]) .tools-calc {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .mobile-section[open] > .mobile-section__links {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* ISHELLA: nullstill aurora/float/puls/sveip under redusert bevegelse */
  .eyebrow::before,
  .calc-cta--hero .calc-cta__badge {
    animation: none !important;
    transform: none !important;
  }

  .nav-link--cta::after,
  .calc-cta--hero::after,
  .mobile-footer__cta::after {
    transition: none !important;
    transform: translateX(-82%) rotate(8deg) !important;
  }

  /* Drawer: ingen slide — vis/skjul direkte uten bevegelse */
  .mobile-menu {
    transition: none !important;
  }

  .mobile-menu.is-open {
    transform: translateX(0) !important;
  }

  .mobile-backdrop {
    transition: none !important;
  }

  .desktop-nav .nav-trigger::after {
    transition: none !important;
  }
}

/* ===== Site-søk ===== */
.nav-link--search {
  width: 42px;
  padding: 0;
  border-color: var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.9), var(--panel-soft));
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}

.nav-link--search:hover,
.nav-link--search:focus-visible {
  color: var(--blue);
  border-color: var(--border-strong);
  background: linear-gradient(180deg, rgba(255,255,255,.95), var(--blue-tint));
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.6);
  transform: translateY(-1px);
}

.search-glass {
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mobile-search {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 0 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff, rgba(248,251,255,.9));
  color: var(--text-muted);
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), var(--shadow-sm);
  transition: color .18s var(--ease), border-color .18s var(--ease),
    background .18s var(--ease), box-shadow .18s var(--ease);
}

.mobile-search:hover,
.mobile-search:focus-visible {
  color: var(--blue);
  border-color: var(--blue);
  background: linear-gradient(180deg, #fff, var(--blue-tint));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), var(--shadow-soft);
}

.mobile-search .search-glass {
  width: 20px;
  height: 20px;
}

.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(64px, 12vh, 140px) 16px 24px;
  /* ISHELLA aurora-backdrop: is-cyan glød topp-høyre oppå blå-tonet dybde */
  background:
    radial-gradient(circle at 82% 6%, rgba(79,195,255,.18), transparent 30%),
    radial-gradient(120% 80% at 50% 0%, rgba(7,42,112,.38), rgba(7,42,112,.24) 70%);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  animation: search-fade .18s var(--ease);
}

.search-overlay[hidden] {
  display: none;
}

.search-panel {
  position: relative;
  width: min(100%, 640px);
  max-height: min(70vh, 620px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--is-glass-edge);
  border-radius: var(--radius-lg);
  /* ISHELLA frost-glass-panel: is-cyan aurora topp-høyre, lys innerkant,
     rik lagdelt skygge med is-glød. Sterkere blur+saturate. */
  background:
    radial-gradient(circle at 92% -6%, rgba(79,195,255,.12), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.94)),
    var(--card);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    var(--shadow-lg),
    0 0 44px rgba(79,195,255,.14);
  backdrop-filter: var(--is-blur);
  -webkit-backdrop-filter: var(--is-blur);
  animation: search-slide .22s var(--ease);
}

/* Hårfin rink-signatur (blå–rød–blå) langs panelets topp */
.search-panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: var(--rink-line);
  opacity: .6;
  pointer-events: none;
  z-index: 1;
}

.search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 14px;
  border-bottom: 1px solid var(--border);
  background: transparent;
  transition: box-shadow .2s var(--ease), border-color .2s var(--ease);
}

/* ISHELLA is-cyan fokus-ring når søkefeltet er aktivt */
.search-field:focus-within {
  border-bottom-color: var(--is-cyan-mid);
  box-shadow: inset 0 -3px 0 -1px rgba(79,195,255,.35);
}

.search-field .search-glass {
  width: 20px;
  height: 20px;
  color: var(--text-muted);
}

.search-field__input {
  flex: 1;
  min-width: 0;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 1.05rem;
  font-weight: 600;
}

.search-field__input::placeholder {
  color: var(--text-muted);
}

.search-field__input:focus {
  outline: none;
}

.search-close {
  width: 40px;
  height: 40px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: transparent;
  color: var(--text-muted);
  transition: color .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
}

.search-close:hover {
  color: var(--blue);
  border-color: var(--border-strong);
  background: rgba(0,51,153,.06);
}

.search-close svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.search-status {
  margin: 0;
  padding: 16px;
  color: var(--text-muted);
  font-size: .92rem;
}

.search-status[hidden] {
  display: none;
}

.search-results {
  overflow-y: auto;
  padding: 6px;
}

.search-result {
  position: relative;
  display: grid;
  gap: 4px;
  padding: 12px 12px 12px 14px;
  border-radius: var(--radius);
  color: var(--text-muted);
  transition: background .18s var(--ease), transform .18s var(--ease),
    box-shadow .18s var(--ease);
}

/* Venstre-kant-aksent som glir inn på aktivt/hover-resultat */
.search-result::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 3px;
  /* Is-cyan → blå aksent-strek på aktivt resultat */
  background: linear-gradient(180deg, var(--is-cyan-mid), var(--blue));
  box-shadow: 0 0 10px rgba(79,195,255,.4);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .2s var(--ease-out);
}

.search-result + .search-result {
  margin-top: 2px;
}

.search-result:hover,
.search-result.is-active,
.search-result:focus-visible {
  background: linear-gradient(180deg, rgba(255,255,255,.7), var(--is-cyan-soft));
  color: var(--blue);
  box-shadow: var(--shadow-sm), 0 0 20px rgba(79,195,255,.14);
  transform: translateX(2px);
}

.search-result:hover::before,
.search-result.is-active::before,
.search-result:focus-visible::before {
  transform: scaleY(1);
}

.search-result__head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.search-result__title {
  color: var(--text);
  font-size: .96rem;
  font-weight: 800;
  line-height: 1.2;
}

.search-result__chip {
  flex: none;
  margin-left: auto;
  padding: 3px 10px;
  border: 1px solid rgba(0,51,153,.18);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--blue-tint-2), rgba(0,51,153,.06));
  color: var(--blue);
  font-family: var(--mono);
  font-size: .64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  white-space: nowrap;
}

.search-result__desc {
  color: var(--text-muted);
  font-size: .84rem;
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

@keyframes search-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes search-slide {
  from { opacity: 0; transform: translateY(-14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .search-overlay,
  .search-panel {
    animation: none !important;
  }
}


/* =========================================================================
   ISBAT mobil meny 2026-07 (v2) — match desktop-toppmenyen, fjern cyan,
   vis alle ikoner tydeleg. Paletten er re-scopa LOKALT på draweren slik at
   sidenes eigne --text/--text-muted-overstyringar ikkje lek inn.
   Desktop-referanse: lenke-tittel #0f1f34, undertekst #3a4c63,
   gruppe-/seksjonstittel var(--blue-deep) #072a70, rein blå (ingen is-cyan).
   ========================================================================= */
.mobile-menu, .mobile-backdrop {
  --text: #16273d;
  --text-strong: #24374f;
  --text-muted: #3a4c63;
  --blue: #003399;
  --blue-deep: #072a70;
  --border: #d7e3f0;
  --border-strong: rgba(0,51,153,.22);
  --bg: #ffffff;
  --card: #ffffff;
}

/* Rein kvit drawer-bunn som desktop-panelet — fjern is-cyan glód-lag. */
.mobile-menu { background: #ffffff !important; }
.mobile-menu__header,
.mobile-menu__footer { background: #ffffff !important; }

/* Seksjonstittel = som desktop gruppe-tittel-vekt, mørk blå. */
.mobile-section summary {
  font-size: 1.05rem;
  letter-spacing: -.005em;
  color: #0f1f34;
}
.mobile-section[open] > summary { color: var(--blue-deep); }

/* Ikon-badge (lukka): lys blå flate + BLÅ ikon (ikkje kvit) — alltid synleg. */
.mobile-section__icon {
  background: #eaf0fb !important;
  box-shadow: inset 0 0 0 1px rgba(0,51,153,.16) !important;
  color: var(--blue) !important;
}
.mobile-section__icon svg { stroke: var(--blue) !important; }

/* Ikon-badge (open): rein ISBAT-blå fyll + kvitt ikon (som desktop-aksent, ingen cyan). */
.mobile-section[open] > summary .mobile-section__icon {
  background: linear-gradient(160deg, var(--blue) 0%, var(--blue-deep) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 6px 16px -8px rgba(0,51,153,.5) !important;
  color: #fff !important;
}
.mobile-section[open] > summary .mobile-section__icon svg { stroke: #fff !important; }

/* Underlenker = desktop-fargar (tittel #0f1f34 / undertekst #3a4c63). */
.mobile-section__links a:not(.mobile-calc-cta) {
  color: #0f1f34 !important;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -.002em;
}
.mobile-section__links {
  position: relative;
  margin-left: 18px;
  padding-left: 0;
  border-left: 2px solid rgba(0,51,153,.12);
}
.mobile-section__links a:not(.mobile-calc-cta) { padding-left: 34px; }
.mobile-section__links a:not(.mobile-calc-cta):hover,
.mobile-section__links a:not(.mobile-calc-cta):focus-visible {
  color: var(--blue) !important;
  background: rgba(0,51,153,.07);
}
.mobile-calc.mobile-section__links,
.mobile-section__links:has(> .mobile-calc-cta) { margin-left: 0; border-left: 0; }
.mobile-section__links a.mobile-calc-cta { padding-left: 12px; }

/* Skilje mellom seksjonar. */
.mobile-section { border-bottom-color: rgba(0,51,153,.12); }
.mobile-section:first-child { border-top-color: rgba(0,51,153,.12); }

/* Søkefelt + undertittel: lesbar mørk tekst. */
.mobile-search { color: #3a4c63; font-weight: 600; }
.mobile-menu__sub { color: #55677d; }

/* ISBAT søk 2026-07: fjern is-cyan i søk-overlay/-panel, match rein desktop-meny. */
.search-overlay {
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(7,42,112,.42), rgba(7,42,112,.28) 70%) !important;
}
.search-panel {
  background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 30px 70px -30px rgba(7,42,112,.5) !important;
}

/* ISBAT søk-lesbarhet 2026-07: større, tydelegare treff. */
.search-result {
  padding: 12px 14px !important;
  border-radius: 12px;
  gap: 4px 12px;
}
.search-result + .search-result { margin-top: 2px; }
.search-result__title {
  color: #0f1f34 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
.search-result__desc {
  color: #3a4c63 !important;
  font-size: .92rem !important;
  line-height: 1.45 !important;
}
/* Kategori-chip: rein ISBAT-blå, lesbar. */
.search-result__kicker, .search-result .kicker, .search-result [class*='kicker'] {
  background: #eaf0fb !important;
  color: #003399 !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
}
/* Aktivt/hover-treff: tydeleg lys-blå flate. */
.search-result[aria-selected='true'], .search-result:hover {
  background: rgba(0,51,153,.08) !important;
}
.search-field__input { color: #16273d !important; font-size: 1.1rem !important; }
.search-field__input::placeholder { color: #6b7c93 !important; }

/* ISBAT søk-chip synlegheit 2026-07: rett klasse (.search-result__chip),
   solid lys-blå pille som faktisk er lesbar (var 6-10% opacity = usynleg). */
.search-result__chip {
  background: #e6eefb !important;
  border: 1px solid rgba(0,51,153,.24) !important;
  color: #003399 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.search-result[aria-selected='true'] .search-result__chip,
.search-result:hover .search-result__chip {
  background: #003399 !important;
  border-color: #003399 !important;
  color: #ffffff !important;
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/ishella-core.css */
/* ============================================
   ISHELLA 2.5 — CORE
   Delt designsystem for alle ishella-sider
   ISBAT brand-røde + ice-aurora atmosfære
   --------------------------------------------
   Last ALLTID denne FØR sidespesifikk CSS.
   ============================================ */

/* ============================================
   RESET
   ============================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 16.5px; line-height: 1.7;
  color: #e6f1ea;
  background: #03110a;
  min-height: 100dvh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ============================================
   ISHELLA 2.5 DESIGN TOKENS
   Kunstgress green base + ICE accent + ISBAT red
   ============================================ */
:root {
  /* Surfaces */
  --is25-bg-deep:     #03110a;
  --is25-bg-base:     #061a10;
  --is25-bg-surface:  #0a2618;
  --is25-bg-elevated: #0e3322;

  /* Brand greens (kunstgress) */
  --is25-green:        #10b981;
  --is25-green-bright: #34d399;
  --is25-green-deep:   #059669;
  --is25-green-glow:   rgba(52, 211, 153, 0.32);

  /* Ice accents */
  --is25-ice:          #38bdf8;
  --is25-ice-bright:   #7dd3fc;
  --is25-ice-deep:     #0284c7;
  --is25-ice-pale:     #bae6fd;
  --is25-ice-soft:     rgba(56, 189, 248, 0.22);
  --is25-ice-glow:     rgba(125, 211, 252, 0.42);
  --is25-ice-frost:    rgba(186, 230, 253, 0.12);

  /* ISBAT brand — ekte logo-farger */
  --isbat-red:         #FF0033;
  --isbat-red-deep:    #CC0029;
  --isbat-red-soft:    rgba(255, 0, 51, 0.18);
  --isbat-red-glow:    rgba(255, 0, 51, 0.45);
  --isbat-blue:        #003399;
  --isbat-blue-deep:   #002277;

  /* Aliaser (eldre is25-navn beholdt for kompat) */
  --is25-red:          var(--isbat-red);
  --is25-red-deep:     var(--isbat-red-deep);
  --is25-amber:        #f59e0b;

  /* Text */
  --is25-text:        #f0fdf4;
  --is25-text-muted:  #b3cfd9;
  --is25-text-dim:    #6e8a92;

  /* Lines / borders */
  --is25-line:        rgba(186, 230, 253, .08);
  --is25-line-strong: rgba(186, 230, 253, .16);
  --is25-line-glow:   rgba(56, 189, 248, .32);
  --is25-line-red:    rgba(255, 0, 51, .28);

  /* Glass */
  --is25-glass:        rgba(10, 38, 46, 0.48);
  --is25-glass-strong: rgba(10, 38, 46, 0.72);
  --is25-glass-edge:   rgba(186, 230, 253, .14);
  --is25-blur:         blur(28px) saturate(1.7);

  /* Shadows / glows */
  --is25-shadow-sm: 0 4px 16px rgba(0,0,0,.32);
  --is25-shadow-md: 0 18px 48px rgba(0,0,0,.42);
  --is25-shadow-lg: 0 32px 80px rgba(0,0,0,.55);
  --is25-glow-green: 0 0 60px rgba(52,211,153,.22), 0 0 120px rgba(52,211,153,.10);
  --is25-glow-ice:   0 0 64px rgba(56,189,248,.42), 0 0 140px rgba(56,189,248,.18);
  --is25-glow-red:   0 0 60px rgba(255,0,51,.42), 0 0 120px rgba(255,0,51,.18);
  --is25-glow-mix:   0 0 60px rgba(56,189,248,.32), 0 0 120px rgba(255,0,51,.18);

  /* Gradients */
  --is25-grad-ice:    linear-gradient(135deg, var(--is25-ice-bright) 0%, var(--is25-ice) 50%, var(--is25-ice-deep) 100%);
  --is25-grad-mix:    linear-gradient(135deg, var(--is25-green-bright) 0%, var(--is25-ice) 60%, var(--is25-ice-bright) 100%);
  --is25-grad-frost:  linear-gradient(135deg, rgba(125,211,252,.18) 0%, rgba(56,189,248,.10) 50%, rgba(52,211,153,.14) 100%);
  --is25-grad-red:    linear-gradient(135deg, var(--isbat-red) 0%, var(--isbat-red-deep) 100%);
  --is25-grad-fire:   linear-gradient(135deg, var(--is25-ice-bright) 0%, var(--is25-ice) 35%, var(--isbat-red) 100%);

  /* Radii */
  --r-xs: 6px; --r-sm: 10px; --r-md: 16px; --r-lg: 22px; --r-xl: 32px; --r-pill: 999px;

  /* Easing */
  --ease:        cubic-bezier(.22,1,.36,1);
  --ease-spring: cubic-bezier(.34,1.56,.64,1);
  --ease-expo:   cubic-bezier(.16,1,.3,1);

  /* Type */
  --font-display: "Outfit", system-ui, sans-serif;
  --font-body:    "Plus Jakarta Sans", system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", monospace;
}

/* ============================================
   GLOBAL ATMOSPHERE — ICE-aurora + rød tone
   ============================================ */
body::before {
  content: "";
  position: fixed; inset: 0; z-index: -2;
  background:
    radial-gradient(ellipse 70% 55% at 12% 8%,  rgba(56,189,248,.22) 0%, transparent 62%),
    radial-gradient(ellipse 60% 50% at 88% 18%, rgba(125,211,252,.18) 0%, transparent 65%),
    radial-gradient(ellipse 50% 45% at 88% 82%, rgba(255,0,51,.14) 0%, transparent 68%),
    radial-gradient(ellipse 55% 45% at 50% 88%, rgba(52,211,153,.12) 0%, transparent 70%),
    linear-gradient(180deg, #03110a 0%, #061a10 60%, #03110a 100%);
  background-attachment: fixed;
  animation: is25-aurora 26s ease-in-out infinite alternate;
}
body::after {
  content: "";
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  opacity: .32; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.6'/></svg>");
}
@keyframes is25-aurora {
  0%   { background-position: 0% 0%, 100% 0%, 100% 100%, 50% 100%, 0 0; }
  100% { background-position: 6% 9%, 92% 22%, 92% 92%, 55% 92%, 0 0; }
}

/* Floating ice particles overlay (decorative) */
.is25-ice-shimmer {
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(186,230,253,.32) 0, transparent 1px),
    radial-gradient(circle at 72% 38%, rgba(125,211,252,.28) 0, transparent 1px),
    radial-gradient(circle at 42% 78%, rgba(56,189,248,.22) 0, transparent 1px),
    radial-gradient(circle at 88% 88%, rgba(186,230,253,.20) 0, transparent 1px),
    radial-gradient(circle at 12% 62%, rgba(125,211,252,.18) 0, transparent 1px);
  background-size: 240px 240px, 320px 320px, 280px 280px, 360px 360px, 200px 200px;
  animation: is25-shimmer 18s linear infinite;
  opacity: .55;
}
@keyframes is25-shimmer {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-120px); }
}

/* Scroll progress — ICE → RED gradient (ISBAT) */
.is25-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0%;
  background: linear-gradient(90deg, var(--is25-ice-bright), var(--is25-ice), var(--isbat-red));
  z-index: 9999; pointer-events: none;
  box-shadow: 0 0 8px var(--isbat-red-glow);
}

/* Skip link */
.is25-skip {
  position: absolute; top: -100%; left: 16px; z-index: 9999;
  padding: 12px 22px; background: var(--isbat-red);
  color: #fff; font-weight: 700; border-radius: var(--r-sm);
}
.is25-skip:focus { top: 16px; }

/* ============================================
   TYPOGRAPHY
   ============================================ */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 800; line-height: 1.05;
  letter-spacing: -.025em; color: var(--is25-text);
  text-wrap: balance;
}
p { color: var(--is25-text-muted); text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }

/* Container */
.is25-wrap { width: min(1280px, calc(100% - 40px)); margin-inline: auto; }
.is25-wrap--narrow { width: min(960px, calc(100% - 40px)); margin-inline: auto; }

/* ============================================
   EYEBROW PILL — RØD som default (ISBAT brand),
   ice + green som varianter
   ============================================ */
.is25-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 9px 16px;
  background: rgba(255,0,51,.10);
  border: 1px solid rgba(255,0,51,.32);
  backdrop-filter: blur(12px);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .72rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: #ffb8c4;
  box-shadow: 0 0 20px rgba(255,0,51,.18), inset 0 0 12px rgba(255,184,196,.08);
}
.is25-eyebrow .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--isbat-red);
  box-shadow: 0 0 0 4px rgba(255,0,51,.22), 0 0 12px var(--isbat-red-glow);
  animation: is25-pulse 2.4s ease-in-out infinite;
}
.is25-eyebrow--ice {
  background: rgba(56,189,248,.10);
  border-color: rgba(125,211,252,.32);
  color: var(--is25-ice-bright);
  box-shadow: 0 0 20px rgba(56,189,248,.18), inset 0 0 12px rgba(186,230,253,.08);
}
.is25-eyebrow--ice .dot {
  background: var(--is25-ice-bright);
  box-shadow: 0 0 0 4px rgba(56,189,248,.22), 0 0 12px rgba(125,211,252,.55);
}
.is25-eyebrow--green {
  background: rgba(52,211,153,.10);
  border-color: rgba(52,211,153,.32);
  color: var(--is25-green-bright);
  box-shadow: 0 0 20px rgba(52,211,153,.18);
}
.is25-eyebrow--green .dot {
  background: var(--is25-green-bright);
  box-shadow: 0 0 0 4px rgba(52,211,153,.22), 0 0 12px var(--is25-green-glow);
}
@keyframes is25-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%     { opacity: .55; transform: scale(.85); }
}

/* ============================================
   BUTTONS — magnetic hover, ISBAT-rød primær
   ============================================ */
.is25-btns { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.is25-btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 17px 32px;
  font-family: var(--font-display); font-size: 1rem;
  font-weight: 700; letter-spacing: .01em;
  border: 1px solid transparent; border-radius: var(--r-pill);
  cursor: pointer; white-space: nowrap; position: relative;
  transition: transform .35s var(--ease-spring),
              box-shadow .35s var(--ease),
              background .25s, border-color .25s, color .25s;
}
.is25-btn i { font-size: .9rem; transition: transform .3s var(--ease); }
.is25-btn:hover { transform: translateY(-3px); }
.is25-btn:hover i { transform: translateX(4px); }

/* Primær = ISBAT-rød */
.is25-btn--primary {
  background: var(--is25-grad-red);
  color: #fff;
  box-shadow: 0 12px 32px rgba(255,0,51,.45),
              0 0 28px rgba(255,0,51,.22),
              inset 0 1px 0 rgba(255,255,255,.22);
}
.is25-btn--primary:hover {
  box-shadow: 0 18px 56px rgba(255,0,51,.55),
              0 0 56px rgba(255,0,51,.32),
              inset 0 1px 0 rgba(255,255,255,.32);
}

/* Sekundær = is */
.is25-btn--ice {
  background: var(--is25-grad-ice);
  color: #042530;
  box-shadow: 0 12px 32px rgba(56,189,248,.42),
              0 0 28px rgba(125,211,252,.32),
              inset 0 1px 0 rgba(255,255,255,.42);
}
.is25-btn--ice:hover {
  box-shadow: 0 18px 56px rgba(56,189,248,.55),
              0 0 56px rgba(125,211,252,.45),
              inset 0 1px 0 rgba(255,255,255,.55);
}

/* Aksent = grønn */
.is25-btn--accent {
  background: linear-gradient(135deg, var(--is25-green) 0%, var(--is25-green-deep) 100%);
  color: #04140c;
  box-shadow: 0 12px 32px rgba(16,185,129,.32),
              inset 0 1px 0 rgba(255,255,255,.32);
}

/* Ghost = transparent glass */
.is25-btn--ghost {
  background: rgba(186,230,253,.04);
  color: var(--is25-text);
  border-color: var(--is25-line-strong);
  backdrop-filter: blur(10px);
}
.is25-btn--ghost:hover {
  background: rgba(255,0,51,.08);
  border-color: var(--isbat-red);
  color: #ffb8c4;
  box-shadow: 0 0 28px rgba(255,0,51,.28);
}

/* ============================================
   SECTIONS — base padding, alt-bakgrunn, divider
   ============================================ */
.is25-section { padding: clamp(96px, 13vw, 160px) 0; position: relative; }
.is25-section--alt {
  background: linear-gradient(180deg, var(--is25-bg-surface) 0%, #082530 100%);
}
.is25-divider {
  height: 1px; border: none;
  background: linear-gradient(90deg, transparent, var(--isbat-red-glow) 30%, var(--is25-line-glow) 70%, transparent);
}

/* Header rad: tittel + intro */
.is25-header {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr);
  gap: 48px; align-items: end;
  margin-bottom: clamp(48px, 6vw, 72px);
}
@media (max-width: 860px) { .is25-header { grid-template-columns: 1fr; gap: 24px; } }

/* Label = RØD som default (ISBAT brand-vibe) */
.is25-label {
  margin: 0 0 14px;
  color: var(--isbat-red);
  font-family: var(--font-mono);
  font-size: .76rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 10px;
}
.is25-label::before {
  content: ""; width: 22px; height: 2px;
  background: var(--isbat-red);
  box-shadow: 0 0 8px rgba(255,0,51,.55);
}
.is25-label--ice { color: var(--is25-ice-bright); }
.is25-label--ice::before { background: var(--is25-ice-bright); box-shadow: 0 0 8px rgba(125,211,252,.55); }
.is25-label--green { color: var(--is25-green-bright); }
.is25-label--green::before { background: var(--is25-green-bright); box-shadow: 0 0 8px var(--is25-green-glow); }

.is25-title {
  font-size: clamp(2.1rem, 4.4vw, 3.6rem);
  margin: 0; color: var(--is25-text);
}
.is25-title .accent {
  background: var(--is25-grad-fire);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 24px rgba(255,0,51,.32));
}
.is25-title .accent--ice {
  background: var(--is25-grad-ice);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 24px rgba(125,211,252,.32));
}
.is25-title .accent--green {
  background: linear-gradient(135deg, var(--is25-green-bright) 0%, var(--is25-ice) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.is25-title .accent--red {
  background: var(--is25-grad-red);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 24px rgba(255,0,51,.42));
}
.is25-intro {
  margin: 0; color: var(--is25-text-muted);
  font-size: clamp(1rem, 1.2vw, 1.1rem); line-height: 1.7;
}

/* ============================================
   FARENA-GRUPPEN — partner-komponenter.
   Ekte selskaps-logoer på lys bakgrunn.
   --------------------------------------------
   .is25-fagstrip          = horisontal logo-pille (4 logoer)
   .is25-fagkort-grid      = 3-kolonne grid med fagkort
   .is25-fagkort           = enkelt fagkort m/logo + tag + body
   .is25-fagkort--isbat    = rød tag-variant (Isbaneteknikk)
   .is25-fagkort--freberg  = grønn tag-variant (Brødrene Freberg)
   .is25-fagkort--proturf  = grønn tag-variant (ProTurf)
   .is25-deepbox           = CTA-boks ("dyp-link" til Farena-siden)
   ============================================ */

/* Logo-strip — hvit/lys bakgrunn for å løfte fram fargede logoer */
.is25-fagstrip {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: clamp(28px, 5vw, 64px);
  padding: clamp(20px, 2.4vw, 28px) clamp(28px, 4vw, 56px);
  background: linear-gradient(180deg, #fff 0%, #f4f7fa 100%);
  border: 1px solid rgba(186,230,253,.18);
  border-radius: var(--r-pill);
  box-shadow: 0 18px 48px rgba(0,0,0,.32),
              0 0 60px rgba(56,189,248,.10),
              0 0 80px rgba(255,0,51,.06);
}
.is25-fagstrip--rect {
  border-radius: var(--r-xl);
  padding: clamp(28px, 3.5vw, 44px) clamp(36px, 5vw, 64px);
}
.is25-fagstrip img {
  height: clamp(28px, 3vw, 38px);
  width: auto; display: block;
  object-fit: contain;
  transition: transform .35s var(--ease-spring), filter .25s;
}
.is25-fagstrip a:hover img { transform: scale(1.06); }
.is25-fagstrip img.--lg { height: clamp(38px, 4vw, 52px); }

/* Fagkort-grid — kompakt eller full */
.is25-fagkort-grid {
  display: grid; gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}
.is25-fagkort-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) {
  .is25-fagkort-grid,
  .is25-fagkort-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .is25-fagkort-grid,
  .is25-fagkort-grid--4 { grid-template-columns: 1fr; }
}

.is25-fagkort {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column;
  background: var(--is25-glass-strong);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-xl);
  overflow: hidden;
  text-decoration: none; color: inherit;
  transition: transform .4s var(--ease-spring),
              border-color .3s var(--ease),
              box-shadow .4s var(--ease);
}
.is25-fagkort:hover {
  transform: translateY(-6px);
  border-color: rgba(125,211,252,.42);
  box-shadow: var(--is25-shadow-lg), 0 0 60px rgba(56,189,248,.18);
}

/* Logo-felt på toppen — hvitt for å vise fram logoen */
.is25-fagkort-logo {
  display: grid; place-items: center;
  padding: 28px 24px;
  min-height: 130px;
  background: linear-gradient(180deg, #fff 0%, #f4f7fa 100%);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.is25-fagkort-logo img {
  max-height: 72px; max-width: 220px;
  width: auto; height: auto;
  object-fit: contain; display: block;
}

/* Body */
.is25-fagkort-body {
  padding: 24px 26px 26px;
  display: flex; flex-direction: column;
  flex-grow: 1;
}

.is25-fagkort-tag {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px;
  background: rgba(255,0,51,.10);
  border: 1px solid rgba(255,0,51,.32);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .10em; text-transform: uppercase;
  color: #ffb8c4;
  margin-bottom: 14px;
  align-self: flex-start;
}
.is25-fagkort--freberg .is25-fagkort-tag,
.is25-fagkort--proturf .is25-fagkort-tag {
  background: rgba(52,211,153,.10);
  border-color: rgba(52,211,153,.32);
  color: var(--is25-green-bright);
}

.is25-fagkort h3 {
  font-size: 1.18rem; font-weight: 700;
  color: var(--is25-text); margin-bottom: 12px;
}
.is25-fagkort p {
  color: var(--is25-text-muted);
  font-size: .94rem; line-height: 1.6;
  flex-grow: 1; margin-bottom: 18px;
}
.is25-fagkort p strong { color: var(--is25-text); font-weight: 700; }

/* Stats-rad */
.is25-fagkort-stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 14px 0 16px;
  border-top: 1px solid var(--is25-line);
  border-bottom: 1px solid var(--is25-line);
  margin-bottom: 16px;
}
.is25-fagkort-stats .ps {
  text-align: center;
}
.is25-fagkort-stats .ps b {
  display: block;
  font-family: var(--font-display);
  font-size: 1.18rem; font-weight: 800;
  background: var(--is25-grad-red);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.is25-fagkort--freberg .is25-fagkort-stats .ps b,
.is25-fagkort--proturf .is25-fagkort-stats .ps b {
  background: linear-gradient(135deg, var(--is25-green-bright) 0%, var(--is25-ice) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.is25-fagkort-stats .ps span {
  display: block; margin-top: 4px;
  font-family: var(--font-mono);
  font-size: .60rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--is25-text-dim);
}

.is25-fagkort-cta {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-display);
  font-weight: 700; font-size: .92rem;
  color: var(--is25-ice-bright);
  align-self: flex-start;
  transition: gap .25s var(--ease);
}
.is25-fagkort:hover .is25-fagkort-cta { gap: 14px; }

/* Mini-fagkort (hub-versjon — bare logo + navn + tag) */
.is25-fagkort--mini .is25-fagkort-body { padding: 20px 22px 22px; }
.is25-fagkort--mini h3 { font-size: 1.05rem; margin-bottom: 8px; }
.is25-fagkort--mini p { font-size: .88rem; margin-bottom: 14px; }
.is25-fagkort--mini .is25-fagkort-stats { display: none; }

/* ============================================
   DEEP-LINK BOX — CTA mellom hub og Farena-siden
   ============================================ */
.is25-deepbox {
  position: relative; isolation: isolate;
  margin-top: clamp(36px, 5vw, 56px);
  padding: clamp(40px, 6vw, 64px) clamp(28px, 5vw, 56px);
  text-align: center;
  background: linear-gradient(135deg, rgba(10,38,46,.62) 0%, rgba(14,51,34,.72) 100%);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.is25-deepbox::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 50% 70% at 18% 50%, rgba(255,0,51,.18), transparent 60%),
    radial-gradient(ellipse 50% 70% at 82% 50%, rgba(56,189,248,.18), transparent 60%);
}
.is25-deepbox h3 {
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800;
  color: var(--is25-text); margin-bottom: 16px;
}
.is25-deepbox h3 .accent {
  background: linear-gradient(135deg, var(--is25-green-bright) 0%, var(--is25-ice) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.is25-deepbox p {
  color: var(--is25-text-muted);
  font-size: 1rem; line-height: 1.65;
  max-width: 640px; margin: 0 auto 28px;
}
.is25-deepbox .is25-btns { justify-content: center; }

/* ============================================
   STICKY IN-PAGE NAV — for fagguider
   --------------------------------------------
   Plasseres rett under hero. Klistrer seg til
   toppen av viewport ved scroll.
   ============================================ */
.is25-stickynav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(3,17,10,.82);
  backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--is25-line-strong);
  box-shadow: 0 6px 24px rgba(0,0,0,.32);
}
.is25-stickynav-inner {
  display: flex; align-items: center;
  gap: 8px; padding: 12px 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.is25-stickynav-inner::-webkit-scrollbar { display: none; }

.is25-stickynav-label {
  flex-shrink: 0;
  padding: 6px 14px 6px 0;
  font-family: var(--font-mono);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--is25-ice-bright);
  border-right: 1px solid var(--is25-line);
  margin-right: 8px;
}

.is25-stickynav a {
  flex-shrink: 0;
  padding: 8px 16px;
  border-radius: var(--r-pill);
  font-family: var(--font-display);
  font-size: .88rem; font-weight: 600;
  color: var(--is25-text-muted);
  white-space: nowrap;
  transition: background .2s, color .2s, transform .25s var(--ease-spring);
}
.is25-stickynav a:hover {
  background: rgba(56,189,248,.10);
  color: var(--is25-ice-bright);
  transform: translateY(-1px);
}
.is25-stickynav a.active {
  background: var(--is25-ice-soft);
  color: var(--is25-ice-bright);
  border: 1px solid rgba(125,211,252,.32);
}

/* ============================================
   SPEC TABLE — sammenligning av tekniske valg
   ============================================ */
.is25-spectable {
  width: 100%;
  border-collapse: separate; border-spacing: 0;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.is25-spectable thead th {
  padding: 22px 24px;
  text-align: left;
  font-family: var(--font-display);
  font-size: .92rem; font-weight: 700;
  color: var(--is25-text);
  background: rgba(8,42,58,.72);
  border-bottom: 1px solid var(--is25-line-strong);
}
.is25-spectable thead th:first-child {
  font-family: var(--font-mono);
  font-size: .72rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--is25-ice-bright);
}
.is25-spectable thead th.--good {
  color: var(--is25-ice-bright);
  background: linear-gradient(180deg, rgba(56,189,248,.18) 0%, rgba(8,42,58,.72) 100%);
}
.is25-spectable thead th.--bad {
  color: #ffb8c4;
  background: linear-gradient(180deg, rgba(255,0,51,.14) 0%, rgba(8,42,58,.72) 100%);
}
.is25-spectable tbody td {
  padding: 18px 24px;
  font-size: .94rem;
  color: var(--is25-text);
  border-bottom: 1px solid var(--is25-line);
  vertical-align: top;
}
.is25-spectable tbody td:first-child {
  font-family: var(--font-mono);
  font-size: .76rem; font-weight: 600;
  letter-spacing: .06em;
  color: var(--is25-text-muted);
  width: 30%;
}
.is25-spectable tbody td strong {
  color: var(--is25-text);
  font-weight: 700;
}
.is25-spectable tbody td.--good { color: var(--is25-ice-bright); font-weight: 600; }
.is25-spectable tbody td.--bad  { color: #ffb8c4; font-weight: 600; }
.is25-spectable tbody tr:last-child td { border-bottom: none; }
.is25-spectable tbody tr:hover td { background: rgba(56,189,248,.04); }

@media (max-width: 700px) {
  .is25-spectable thead th,
  .is25-spectable tbody td { padding: 14px 14px; font-size: .86rem; }
  .is25-spectable tbody td:first-child { width: 38%; }
}

/* ============================================
   FEAT GRID — 3-kolonne feature-kort (mindre enn .is25-card)
   ============================================ */
.is25-feat-grid {
  display: grid; gap: 22px;
  grid-template-columns: repeat(3, 1fr);
}
.is25-feat-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1000px) {
  .is25-feat-grid,
  .is25-feat-grid--2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .is25-feat-grid,
  .is25-feat-grid--2 { grid-template-columns: 1fr; }
}

.is25-feat {
  position: relative;
  padding: 28px 26px;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-lg);
  transition: transform .35s var(--ease-spring), border-color .3s, box-shadow .35s;
}
.is25-feat:hover {
  transform: translateY(-3px);
  border-color: rgba(125,211,252,.32);
  box-shadow: var(--is25-shadow-md), 0 0 32px rgba(56,189,248,.14);
}
.is25-feat-icon {
  width: 42px; height: 42px;
  display: grid; place-items: center;
  margin-bottom: 18px;
  border-radius: var(--r-sm);
  background: linear-gradient(135deg, rgba(125,211,252,.32) 0%, rgba(56,189,248,.16) 100%);
  border: 1px solid rgba(125,211,252,.32);
  color: var(--is25-ice-bright);
  font-size: 1rem;
  box-shadow: 0 0 14px rgba(56,189,248,.18) inset;
}
.is25-feat h4 {
  font-family: var(--font-display);
  font-size: 1.04rem; font-weight: 700;
  color: var(--is25-text); margin-bottom: 10px;
  line-height: 1.3;
}
.is25-feat p {
  color: var(--is25-text-muted);
  font-size: .92rem; line-height: 1.55;
}

/* ============================================
   LAYERS — nummererte oppbygnings-kort (vertikal stack)
   ============================================ */
.is25-layers {
  display: grid; gap: 14px;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 800px) { .is25-layers { grid-template-columns: 1fr; } }

.is25-layer {
  display: grid; grid-template-columns: 56px 1fr;
  gap: 18px; align-items: start;
  padding: 22px 22px;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-md);
  transition: border-color .3s var(--ease), transform .25s var(--ease-spring);
}
.is25-layer:hover {
  border-color: rgba(125,211,252,.32);
  transform: translateX(3px);
}
.is25-layer-num {
  display: grid; place-items: center;
  width: 56px; height: 56px;
  border-radius: var(--r-sm);
  background: var(--is25-grad-ice);
  color: #042530;
  font-family: var(--font-mono);
  font-size: 1.1rem; font-weight: 700;
  box-shadow: 0 6px 16px rgba(56,189,248,.32),
              inset 0 1px 0 rgba(255,255,255,.42);
}
.is25-layer h4 {
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 700;
  color: var(--is25-text); margin-bottom: 6px;
}
.is25-layer p {
  color: var(--is25-text-muted);
  font-size: .9rem; line-height: 1.5;
}

/* ============================================
   AMBITION CARDS — driftsambisjon-nivåer m/ effekt-tall
   ============================================ */
.is25-amb-grid {
  display: grid; gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1000px) { .is25-amb-grid { grid-template-columns: 1fr; } }

.is25-amb {
  position: relative;
  padding: 30px 28px;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-xl);
  transition: transform .35s var(--ease-spring), border-color .3s, box-shadow .35s;
}
.is25-amb:hover {
  transform: translateY(-4px);
  border-color: rgba(125,211,252,.42);
  box-shadow: var(--is25-shadow-md), 0 0 40px rgba(56,189,248,.18);
}
.is25-amb-tag {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 11px;
  background: rgba(125,211,252,.10);
  border: 1px solid rgba(125,211,252,.28);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .66rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--is25-ice-bright);
  margin-bottom: 16px;
}
.is25-amb h4 {
  font-family: var(--font-display);
  font-size: 1.18rem; font-weight: 700;
  color: var(--is25-text); margin-bottom: 14px;
}
.is25-amb-effekt {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 2.6rem);
  font-weight: 800; line-height: 1;
  background: var(--is25-grad-ice);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-bottom: 14px;
  filter: drop-shadow(0 0 18px rgba(125,211,252,.32));
}
.is25-amb-effekt small {
  display: block; margin-top: 6px;
  font-family: var(--font-mono);
  font-size: .58rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--is25-text-dim);
  background: none;
  -webkit-text-fill-color: var(--is25-text-dim);
}
.is25-amb p {
  color: var(--is25-text-muted);
  font-size: .94rem; line-height: 1.55;
}

/* ============================================
   KEN BURNS HERO SLIDER
   --------------------------------------------
   Krysslappende bakgrunns-slider med Ken Burns
   zoom + pan på hver slide. Driftes av JS-en
   i ishella-core.js (auto-loop, 7s per slide).
   --------------------------------------------
   Bruk:
   <section class="is25-hero is25-kenhero">
     <div class="is25-kenslider" data-is25-kenslider data-interval="7000">
       <div class="is25-kenslide is25-kenslide--active"
            style="background-image: url(...)"></div>
       <div class="is25-kenslide" style="background-image: url(...)"></div>
       ...
     </div>
     <div class="is25-kenhero-overlay"></div>
     <div class="is25-wrap">...content...</div>
   </section>
   ============================================ */
.is25-kenhero {
  position: relative; isolation: isolate;
  overflow: hidden;
}

.is25-kenslider {
  position: absolute; inset: 0; z-index: -2;
  overflow: hidden;
  background: var(--is25-bg-deep);
}

.is25-kenslide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1.08);
  transition: opacity 1.4s var(--ease-expo);
  will-change: transform, opacity;
}

/* Ken Burns: 8s zoom — kjøres når slide blir aktiv */
.is25-kenslide.is25-kenslide--active {
  opacity: 1;
  animation: is25-kenburns 8s linear forwards;
  z-index: 1;
}

/* Pan-varianter for variasjon mellom slides */
.is25-kenslide:nth-child(2n).is25-kenslide--active {
  animation-name: is25-kenburns-r;
}
.is25-kenslide:nth-child(3n).is25-kenslide--active {
  animation-name: is25-kenburns-up;
}

@keyframes is25-kenburns {
  0%   { transform: scale(1.04) translate(0, 0); }
  100% { transform: scale(1.16) translate(-2%, -1.5%); }
}
@keyframes is25-kenburns-r {
  0%   { transform: scale(1.04) translate(0, 0); }
  100% { transform: scale(1.16) translate(2%, -1.5%); }
}
@keyframes is25-kenburns-up {
  0%   { transform: scale(1.04) translate(0, 1%); }
  100% { transform: scale(1.18) translate(0, -2%); }
}

/* Mørk overlay over slider — sikrer tekst-lesbarhet */
.is25-kenhero-overlay {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 55% 65% at 18% 50%, rgba(3,17,10,.85) 0%, transparent 60%),
    radial-gradient(ellipse 60% 65% at 88% 30%, rgba(56,189,248,.32) 0%, transparent 65%),
    linear-gradient(135deg, rgba(3,17,10,.78) 0%, rgba(2,30,42,.42) 60%, rgba(3,17,10,.7) 100%);
}

/* Indikator-prikker (valgfri) */
.is25-kendots {
  position: absolute; bottom: 28px; left: 50%;
  transform: translateX(-50%);
  display: flex; gap: 10px;
  z-index: 5;
}
.is25-kendot {
  width: 28px; height: 4px;
  border-radius: 2px;
  background: rgba(186,230,253,.18);
  border: none;
  cursor: pointer;
  transition: background .3s var(--ease), width .3s var(--ease-spring);
}
.is25-kendot.is25-kendot--active {
  background: var(--is25-ice-bright);
  width: 44px;
  box-shadow: 0 0 12px rgba(125,211,252,.55);
}

@media (prefers-reduced-motion: reduce) {
  .is25-kenslide.is25-kenslide--active { animation: none; transform: none; }
}

/* ============================================
   CARD — generisk klikkbart kort (ice default)
   --------------------------------------------
   Brukes i decision-grids, related-grids, og
   andre steder. Kunstgress-sider kan overstyre
   nth-child for grønn/rød variasjon.
   ============================================ */
.is25-card {
  position: relative; isolation: isolate;
  padding: 36px 32px 30px;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-xl);
  overflow: hidden;
  transition: transform .4s var(--ease-spring),
              border-color .3s var(--ease),
              box-shadow .4s var(--ease);
  display: flex; flex-direction: column;
  cursor: pointer;
  text-decoration: none; color: inherit;
}
.is25-card::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  border-radius: inherit; padding: 1.5px;
  background: linear-gradient(135deg, rgba(125,211,252,.55) 0%, rgba(56,189,248,.22) 50%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .35s var(--ease);
}
.is25-card::after {
  content: ""; position: absolute;
  bottom: -45%; right: -25%;
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(125,211,252,.32) 0%, transparent 70%);
  opacity: 0; transition: opacity .4s var(--ease); z-index: -1;
}
.is25-card:hover {
  transform: translateY(-8px);
  border-color: rgba(125,211,252,.42);
  box-shadow: var(--is25-shadow-lg), 0 0 60px rgba(56,189,248,.22);
}
.is25-card:hover::before { opacity: 1; }
.is25-card:hover::after  { opacity: 1; }

.is25-card-icon {
  width: 56px; height: 56px;
  display: grid; place-items: center;
  margin-bottom: 24px;
  border-radius: var(--r-md);
  font-size: 1.24rem;
  background: linear-gradient(135deg, rgba(125,211,252,.32) 0%, rgba(56,189,248,.18) 100%);
  color: var(--is25-ice-bright);
  border: 1px solid rgba(125,211,252,.32);
  box-shadow: 0 6px 20px rgba(56,189,248,.22),
              inset 0 0 16px rgba(186,230,253,.12);
  transition: transform .35s var(--ease-spring), box-shadow .35s var(--ease);
}
.is25-card:hover .is25-card-icon {
  transform: scale(1.08) rotate(-4deg);
  box-shadow: 0 10px 28px rgba(56,189,248,.42),
              inset 0 0 22px rgba(186,230,253,.22);
}
.is25-card h3 {
  font-size: 1.24rem; line-height: 1.3; font-weight: 700;
  color: var(--is25-text); margin-bottom: 12px;
}
.is25-card p {
  color: var(--is25-text-muted);
  font-size: .96rem; line-height: 1.6;
  flex-grow: 1; margin-bottom: 18px;
}
.is25-card-arrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-display); font-weight: 700;
  font-size: .92rem; color: var(--is25-ice-bright);
  transition: gap .25s var(--ease);
}
.is25-card:hover .is25-card-arrow { gap: 14px; }

/* ============================================
   CTA SECTION — generisk (ice default)
   --------------------------------------------
   Sider som vil ha rød/grønn CTA overstyrer
   .is25-cta, .is25-cta::before, .is25-cta h2 .accent
   i sin sideunike CSS.
   ============================================ */
.is25-cta {
  position: relative; isolation: isolate;
  padding: clamp(80px, 10vw, 120px) 0;
  background: linear-gradient(135deg, #042530 0%, #064a5c 50%, #02323d 100%);
  overflow: hidden;
}
.is25-cta::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 60% at 18% 50%, rgba(125,211,252,.32), transparent 60%),
    radial-gradient(ellipse 50% 70% at 88% 40%, rgba(56,189,248,.32), transparent 65%),
    radial-gradient(ellipse 40% 50% at 50% 100%, rgba(186,230,253,.18), transparent 65%);
}
.is25-cta-inner {
  text-align: center; max-width: 820px; margin-inline: auto;
}
.is25-cta h2 {
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  margin: 18px 0 18px;
  letter-spacing: -.03em;
}
.is25-cta h2 .accent {
  background: var(--is25-grad-ice);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 24px rgba(125,211,252,.45));
}
.is25-cta p {
  color: rgba(229,242,251,.86);
  font-size: 1.08rem; line-height: 1.65;
  max-width: 640px; margin: 0 auto 32px;
}
.is25-cta .is25-btns { justify-content: center; }

/* ============================================
   FOOTER STRIP
   ============================================ */
.is25-footstrip {
  padding: 24px 0;
  background: var(--is25-bg-deep);
  border-top: 1px solid var(--is25-line);
  font-family: var(--font-mono);
  font-size: .76rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--is25-text-dim);
  text-align: center;
}

/* ============================================
   REVEAL ANIMATIONS
   ============================================ */
.is25-reveal {
  opacity: 0; transform: translateY(36px);
  transition: opacity .8s var(--ease-expo), transform .8s var(--ease-expo);
}
.is25-reveal.visible { opacity: 1; transform: none; }
.is25-d1 { transition-delay: .06s; }
.is25-d2 { transition-delay: .12s; }
.is25-d3 { transition-delay: .18s; }
.is25-d4 { transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
  .is25-reveal { opacity: 1; transform: none; transition: none; }
  body::before, .is25-ice-shimmer { animation: none; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Bundled source: /tmp/isbat-sitewide-redesign-20260808/bundle-sources/nyheter-shared-ishella-2.5.css */
/* ============================================
   ISHELLA 2.5 — Nyhetsartikler (delt)
   Forutsetter at ishella-core.css er lastet først.
   --------------------------------------------
   Delt mellom ALLE nyhetssider.
   Brand-vibe: ICE BLUE only — ingen grønn
   (grønn er ikke ISBAT-farge utenfor kunstgress).
   --------------------------------------------
   Komponenter:
   - .nh-hero          — sentrert hero med Ken Burns
   - .nh-hero-content  — sentrert tekstboks i hero
   - .nh-hero-meta     — pills (dato, forfatter, lesetid)
   - .nh-section       — artikkel-seksjon
   - .nh-prose         — readable column for tekst
   - .nh-pull          — pull-quote / highlight
   - .nh-detail-grid   — 2-kolonne kort i flow
   - .nh-detail        — enkelt kort i detail-grid
   - .nh-related-grid  — 4-kolonne related-kort
   ============================================ */

/* ============================================
   GRØNN-OVERRIDES — fjerner ALL grønn på nyheter
   ============================================ */
:root {
  /* Surfaces — bytt fra grønn-tonet til ren mørkblå */
  --is25-bg-deep:     #02141d;
  --is25-bg-base:     #04222d;
  --is25-bg-surface:  #062a37;
  --is25-bg-elevated: #083644;

  /* Text — fjern grønn-tone */
  --is25-text:        #f1f5f9;
  --is25-text-muted:  #b3cfd9;
  --is25-text-dim:    #6e8a92;

  /* Glass — bytt fra grønn-tonet til ice-tonet */
  --is25-glass:        rgba(8, 42, 58, 0.55);
  --is25-glass-strong: rgba(8, 42, 58, 0.78);
  --is25-glass-edge:   rgba(186, 230, 253, .14);

  /* Grønn-tokens aliased til ice */
  --is25-green:        var(--is25-ice);
  --is25-green-bright: var(--is25-ice-bright);
  --is25-green-deep:   var(--is25-ice-deep);
  --is25-green-glow:   var(--is25-ice-glow);
  --is25-grad-mix:     var(--is25-grad-ice);
}

/* Eksplisitte selector-overrides for tilfeller hvor cascade ikke får effekt */
.accent--green {
  background: var(--is25-grad-ice) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  filter: drop-shadow(0 0 24px rgba(125,211,252,.32)) !important;
}
.is25-label--green {
  color: var(--is25-ice-bright) !important;
}
.is25-label--green::before {
  background: var(--is25-ice-bright) !important;
  box-shadow: 0 0 8px rgba(125,211,252,.55) !important;
}
.is25-eyebrow--green {
  background: rgba(56,189,248,.10) !important;
  border-color: rgba(125,211,252,.32) !important;
  color: var(--is25-ice-bright) !important;
}
.is25-eyebrow--green .dot {
  background: var(--is25-ice-bright) !important;
  box-shadow: 0 0 0 4px rgba(56,189,248,.22), 0 0 12px rgba(125,211,252,.55) !important;
}

/* ============================================
   GLOBAL ATMOSPHERE — ren ice, ingen grønn flekk
   ============================================ */
body::before {
  background:
    radial-gradient(ellipse 70% 55% at 12% 8%,  rgba(56,189,248,.26) 0%, transparent 62%),
    radial-gradient(ellipse 60% 50% at 88% 18%, rgba(125,211,252,.22) 0%, transparent 65%),
    radial-gradient(ellipse 55% 45% at 50% 88%, rgba(56,189,248,.16) 0%, transparent 70%),
    radial-gradient(ellipse 40% 35% at 78% 78%, rgba(186,230,253,.12) 0%, transparent 70%),
    linear-gradient(180deg, #02151c 0%, #03222d 60%, #02151c 100%);
}

/* ============================================
   RESET — bryt arv fra gammelt WordPress-tema
   ============================================ */
html, body {
  background: var(--is25-bg-deep) !important;
  margin: 0; padding: 0;
}
body { color: var(--is25-text); }

/* ============================================
   HERO — Ken Burns slider + sentrert tekst
   Symmetrisk layout, innhold får plass innenfor
   skjermhøyden (100dvh) på normale enheter.
   ============================================ */
.nh-hero.is25-hero {
  padding: 0;
  min-height: auto;
  height: 100dvh;
  max-height: 960px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nh-hero.is25-hero .is25-wrap {
  width: min(1200px, calc(100% - 40px));
  padding: clamp(96px, 12vh, 140px) 0 clamp(96px, 12vh, 140px);
}
.nh-hero .is25-btns { justify-content: center; }
.nh-hero .is25-kenhero-overlay {
  background:
    radial-gradient(ellipse 60% 70% at 50% 100%, rgba(2,20,29,.92) 0%, transparent 60%),
    radial-gradient(ellipse 55% 65% at 18% 50%, rgba(2,30,42,.62) 0%, transparent 60%),
    radial-gradient(ellipse 60% 65% at 88% 30%, rgba(56,189,248,.32) 0%, transparent 65%),
    linear-gradient(180deg, rgba(2,20,29,.42) 0%, rgba(2,20,29,.78) 100%);
}

.nh-hero-content {
  position: relative; z-index: 2;
  max-width: 920px; margin: 0 auto;
  padding: clamp(24px, 3.4vh, 40px) clamp(20px, 3vw, 36px);
  text-align: center;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(56,189,248,.10) 0%, transparent 60%),
    rgba(2, 14, 21, .42);
  border: 1px solid rgba(125,211,252,.16);
  border-radius: 22px;
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.nh-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5.4vw, 4.6rem);
  font-weight: 900; letter-spacing: -.035em;
  line-height: 1.05;
  margin: 28px 0 22px; color: #fff;
  text-shadow: 0 8px 32px rgba(0,0,0,.5);
}
.nh-hero h1 .accent {
  background: linear-gradient(135deg, var(--is25-ice-pale) 0%, var(--is25-ice-bright) 50%, var(--is25-ice) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 32px rgba(125,211,252,.55));
}
.nh-hero-lede {
  font-size: clamp(1.05rem, 1.4vw, 1.28rem);
  line-height: 1.6;
  margin: 0 auto;
  max-width: 680px;
  color: rgba(229,242,251,.92);
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
}

.nh-hero-meta {
  display: inline-flex; flex-wrap: wrap; justify-content: center;
  gap: 12px; margin-top: 24px;
}
.nh-hero-meta .pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  background: rgba(8,30,42,.62);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(125,211,252,.22);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .72rem; font-weight: 600;
  letter-spacing: .08em; color: var(--is25-text-muted);
}
.nh-hero-meta .pill i { color: var(--is25-ice-bright); font-size: .82rem; }

.nh-hero .is25-btns { justify-content: center; margin-top: 36px; }

/* ============================================
   ARTICLE BODY
   ============================================ */
.nh-section { padding: clamp(72px, 10vw, 120px) 0; position: relative; }
.nh-section--alt { background: linear-gradient(180deg, #061a23 0%, #082530 100%); }

.nh-prose {
  max-width: 760px; margin: 0 auto;
  color: var(--is25-text-muted);
  font-size: 1.06rem; line-height: 1.75;
}
.nh-prose > p { margin-bottom: 22px; }
.nh-prose > p strong { color: var(--is25-text); font-weight: 700; }
.nh-prose a { color: var(--is25-ice-bright); border-bottom: 1px solid rgba(125,211,252,.32); transition: border-color .2s; }
.nh-prose a:hover { border-color: var(--is25-ice-bright); }
.nh-prose h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  font-weight: 800; letter-spacing: -.02em;
  color: var(--is25-text);
  margin: 48px 0 18px;
  text-wrap: balance;
}
.nh-prose h2 .accent {
  background: var(--is25-grad-ice);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 16px rgba(125,211,252,.32));
}
.nh-prose h3 {
  font-family: var(--font-display);
  font-size: 1.24rem; font-weight: 700;
  color: var(--is25-text);
  margin: 36px 0 12px;
}
.nh-prose ul, .nh-prose ol {
  margin: 0 0 22px 22px;
  color: var(--is25-text-muted);
}
.nh-prose li { margin-bottom: 8px; }

/* Ingress (Kort oppsummert) — løftet typografi og lett ICE-stripe */
.nh-prose-lede {
  position: relative;
  margin: 0 0 26px;
  padding: 4px 0 4px 18px;
  border-left: 3px solid var(--is25-ice-bright);
  font-family: var(--font-display);
  font-size: clamp(1.12rem, 1.4vw, 1.24rem);
  line-height: 1.55;
  color: var(--is25-text);
  font-weight: 600;
  text-wrap: balance;
}
.nh-prose-lede strong { font-weight: 600; }

/* Neste steg — rolig avslutning */
.nh-prose-next {
  margin-top: 32px;
  padding: 18px 22px;
  background: var(--is25-glass);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-md);
  color: var(--is25-text);
  font-size: .98rem;
  line-height: 1.6;
}
.nh-prose-next strong {
  color: var(--is25-ice-bright);
  letter-spacing: .02em;
}

/* Pull-quote / highlight box */
.nh-pull {
  position: relative;
  margin: 36px 0;
  padding: 26px 28px;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-left: 3px solid var(--is25-ice-bright);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-family: var(--font-display);
  font-size: 1.16rem; font-weight: 600; line-height: 1.5;
  color: var(--is25-text);
  text-wrap: balance;
}
.nh-pull::before {
  content: "\201C";
  position: absolute; top: -16px; left: 16px;
  font-family: var(--font-display);
  font-size: 4rem; font-weight: 900; line-height: 1;
  color: var(--is25-ice-bright);
  opacity: .42;
}

/* Inline-bilde i flow */
.nh-prose figure {
  margin: 32px 0;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--is25-shadow-md), 0 0 32px rgba(56,189,248,.10);
  border: 1px solid var(--is25-glass-edge);
}
.nh-prose figure img {
  display: block; width: 100%; height: auto;
}
.nh-prose figcaption {
  padding: 14px 22px;
  background: var(--is25-glass-strong);
  font-family: var(--font-mono);
  font-size: .76rem; font-weight: 600;
  letter-spacing: .08em;
  color: var(--is25-text-muted);
  text-align: center;
}

/* Detail-kort i artikkelflyt */
.nh-detail-grid {
  display: grid; gap: 22px;
  grid-template-columns: repeat(2, 1fr);
  margin: 36px 0;
}
@media (max-width: 760px) { .nh-detail-grid { grid-template-columns: 1fr; } }

.nh-detail {
  position: relative;
  padding: 28px 28px;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-lg);
  transition: border-color .3s, box-shadow .35s, transform .35s var(--ease-spring);
}
.nh-detail:hover {
  transform: translateY(-3px);
  border-color: rgba(125,211,252,.42);
  box-shadow: var(--is25-shadow-md), 0 0 32px rgba(56,189,248,.18);
}
.nh-detail-icon {
  width: 42px; height: 42px;
  display: grid; place-items: center;
  margin-bottom: 16px;
  border-radius: var(--r-sm);
  background: linear-gradient(135deg, rgba(125,211,252,.32) 0%, rgba(56,189,248,.16) 100%);
  border: 1px solid rgba(125,211,252,.32);
  color: var(--is25-ice-bright);
  font-size: 1rem;
  box-shadow: 0 0 14px rgba(56,189,248,.18) inset;
}
.nh-detail h3 {
  font-family: var(--font-display);
  font-size: 1.08rem; font-weight: 700;
  color: var(--is25-text); margin-bottom: 10px;
}
.nh-detail p {
  color: var(--is25-text-muted);
  font-size: .96rem; line-height: 1.6;
}

/* ============================================
   RELATED — 4 ice-kort til andre seksjoner
   ============================================ */
.nh-related-grid {
  display: grid; gap: 22px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1100px) { .nh-related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .nh-related-grid { grid-template-columns: 1fr; } }

/* CTA — overstyrer ikke noe (bruker core ice-default) */

/* ============================================
   NH-GALLERY — bildegalleri i artikkel-flyt
   Klikkbare thumbnails → lightbox via JS.
   ============================================ */
.nh-gallery-grid {
  display: grid; gap: 12px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1100px) { .nh-gallery-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .nh-gallery-grid { grid-template-columns: repeat(2, 1fr); } }

.nh-gallery-item {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--r-md);
  border: 1px solid var(--is25-glass-edge);
  background: var(--is25-bg-base);
  cursor: zoom-in;
  transition: transform .35s var(--ease-spring), border-color .25s, box-shadow .35s;
}
.nh-gallery-item:hover {
  transform: translateY(-3px) scale(1.02);
  border-color: rgba(125,211,252,.42);
  box-shadow: var(--is25-shadow-md), 0 0 32px rgba(56,189,248,.18);
  z-index: 2;
}
.nh-gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .9s var(--ease), filter .25s;
  filter: saturate(1.05);
}
.nh-gallery-item:hover img {
  transform: scale(1.08);
  filter: saturate(1.15);
}
.nh-gallery-item::after {
  content: "\f00e";  /* fa-magnifying-glass-plus */
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(.6);
  width: 44px; height: 44px;
  display: grid; place-items: center;
  background: rgba(8,30,42,.85);
  color: var(--is25-ice-bright);
  border-radius: 50%;
  font-size: 1.04rem;
  opacity: 0;
  transition: opacity .25s, transform .35s var(--ease-spring);
  pointer-events: none;
}
.nh-gallery-item:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.nh-gallery-count {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono);
  font-size: .72rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--is25-text-dim);
  margin-bottom: 18px;
}

/* "Last flere"-paginering — vis 8 først (4×2 perfekt grid), klikk for resten */
.nh-gallery-grid:not(.is-expanded) > .nh-gallery-item:nth-child(n+9) {
  display: none;
}

.nh-gallery-more-wrap {
  display: flex; justify-content: center;
  margin-top: clamp(28px, 4vw, 40px);
}
.nh-gallery-more {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 14px 28px;
  background: var(--is25-glass);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(125,211,252,.32);
  border-radius: var(--r-pill);
  font-family: var(--font-display);
  font-size: .94rem; font-weight: 700;
  color: var(--is25-ice-bright);
  cursor: pointer;
  transition: background .25s, border-color .25s, transform .25s var(--ease-spring), box-shadow .35s;
}
.nh-gallery-more:hover {
  background: rgba(56,189,248,.10);
  border-color: var(--is25-ice-bright);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(56,189,248,.22), 0 0 32px rgba(56,189,248,.18);
}
.nh-gallery-more i {
  font-size: .82rem;
  transition: transform .35s var(--ease-spring);
}
.nh-gallery-more.is-expanded i {
  transform: rotate(180deg);
}
.nh-gallery-more .count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 28px; padding: 2px 10px;
  background: var(--is25-ice-bright);
  color: #042530;
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .76rem; font-weight: 700;
}

/* ============================================
   ANDRE NYHETER — preview av arkivet på artikkel
   Auto-injectet av JS når nyheter-data.js er lastet.
   Bruker .nh-card-styling fra arkiv-grid.
   ============================================ */
.nh-archive-preview {
  display: grid; gap: 22px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1000px) { .nh-archive-preview { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .nh-archive-preview { grid-template-columns: 1fr; } }

.nh-archive-cta-wrap {
  display: flex; justify-content: center;
  margin-top: clamp(28px, 4vw, 40px);
}

/* ============================================
   LIGHTBOX — fullscreen bildevisning
   ============================================ */
.nh-lightbox {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(2, 14, 21, .94);
  backdrop-filter: blur(12px);
  opacity: 0; visibility: hidden;
  transition: opacity .3s var(--ease), visibility 0s linear .3s;
}
.nh-lightbox.is-open {
  opacity: 1; visibility: visible;
  transition: opacity .3s var(--ease), visibility 0s;
}
.nh-lightbox-img {
  max-width: 92vw; max-height: 88vh;
  width: auto; height: auto;
  object-fit: contain;
  border-radius: var(--r-md);
  box-shadow: 0 32px 80px rgba(0,0,0,.7);
  transform: scale(.92);
  transition: transform .35s var(--ease-spring);
}
.nh-lightbox.is-open .nh-lightbox-img { transform: scale(1); }

.nh-lightbox-close,
.nh-lightbox-prev,
.nh-lightbox-next {
  position: absolute;
  display: grid; place-items: center;
  background: rgba(8, 30, 42, .82);
  border: 1px solid rgba(125,211,252,.32);
  color: var(--is25-ice-bright);
  cursor: pointer;
  border-radius: 50%;
  transition: background .25s, border-color .25s, transform .25s var(--ease-spring);
}
.nh-lightbox-close:hover,
.nh-lightbox-prev:hover,
.nh-lightbox-next:hover {
  background: var(--is25-ice-bright);
  color: #042530;
  transform: scale(1.08);
}
.nh-lightbox-close {
  top: 24px; right: 24px;
  width: 48px; height: 48px;
  font-size: 1.2rem;
}
.nh-lightbox-prev,
.nh-lightbox-next {
  top: 50%; transform: translateY(-50%);
  width: 56px; height: 56px;
  font-size: 1.4rem;
}
.nh-lightbox-prev:hover,
.nh-lightbox-next:hover {
  transform: translateY(-50%) scale(1.08);
}
.nh-lightbox-prev { left: 24px; }
.nh-lightbox-next { right: 24px; }

.nh-lightbox-caption {
  position: absolute; bottom: 24px; left: 50%;
  transform: translateX(-50%);
  padding: 10px 22px;
  background: rgba(8, 30, 42, .82);
  border: 1px solid rgba(125,211,252,.22);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .72rem; font-weight: 600;
  letter-spacing: .12em;
  color: var(--is25-text-muted);
}

@media (max-width: 700px) {
  .nh-lightbox-prev,
  .nh-lightbox-next {
    width: 44px; height: 44px;
    font-size: 1.1rem;
  }
  .nh-lightbox-prev { left: 12px; }
  .nh-lightbox-next { right: 12px; }
  .nh-lightbox-close { top: 16px; right: 16px; width: 40px; height: 40px; }
}

/* ============================================
   ARKIV — tabs + gallery for /nyheter/index
   ============================================ */
.nh-tabs {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 10px;
  margin-bottom: clamp(36px, 5vw, 56px);
}
.nh-tab {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px;
  background: var(--is25-glass);
  backdrop-filter: blur(12px);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-pill);
  font-family: var(--font-display);
  font-size: .92rem; font-weight: 600;
  color: var(--is25-text-muted);
  cursor: pointer;
  transition: background .25s, color .25s, border-color .25s, transform .25s var(--ease-spring);
}
.nh-tab:hover {
  background: rgba(56,189,248,.08);
  color: var(--is25-ice-bright);
  transform: translateY(-2px);
}
.nh-tab .count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; padding: 2px 8px;
  background: rgba(186,230,253,.10);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .68rem; font-weight: 700;
  color: var(--is25-text-dim);
}
.nh-tab.is-active {
  background: var(--is25-ice-soft);
  border-color: rgba(125,211,252,.42);
  color: var(--is25-ice-bright);
  box-shadow: 0 0 24px rgba(56,189,248,.22);
}
.nh-tab.is-active .count {
  background: var(--is25-ice-bright);
  color: #042530;
}

/* Gallery — grid med nyhets-kort */
.nh-gallery {
  display: grid; gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1100px) { .nh-gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .nh-gallery { grid-template-columns: 1fr; } }

/* 4-kolonne arkiv-variant: kompaktere kort, brukes i artikler. */
.nh-gallery--4col {
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
/* Smalere variant — for arkiv-grid inni artikler.
   Holder seksjonen ryddig og hindrer kjempemur av kort. */
.nh-gallery--narrow {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1240px) { .nh-gallery--4col { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .nh-gallery--4col { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .nh-gallery--4col { grid-template-columns: 1fr; } }
.nh-gallery--4col .nh-card-body { padding: 18px 18px 20px; }
.nh-gallery--4col .nh-card h3 { font-size: 1rem; margin-bottom: 12px; }
.nh-gallery--4col .nh-card-img { aspect-ratio: 4 / 3; }
.nh-gallery--4col .nh-card-arrow { font-size: .82rem; }

/* Scroll-viewport rundt arkivet: ikke full sidebredde, flytende scroll.
   Brukes med <div class="nh-gallery-scroll"><div class="nh-gallery ..."></div></div> */
.nh-gallery-scroll {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
  max-height: min(78vh, 820px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 18px 18px 28px;
  border: 1px solid rgba(125,211,252,.14);
  border-radius: 22px;
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(56,189,248,.06) 0%, transparent 60%),
    rgba(6, 22, 30, .55);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 22px 60px rgba(0,0,0,.42);
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(56,189,248,.45) rgba(8,30,42,.40);
  overscroll-behavior: contain;
}
.nh-gallery-scroll::-webkit-scrollbar { width: 10px; }
.nh-gallery-scroll::-webkit-scrollbar-track {
  background: rgba(8,30,42,.45); border-radius: 8px;
}
.nh-gallery-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(125,211,252,.55), rgba(56,189,248,.30));
  border-radius: 8px; border: 2px solid rgba(8,30,42,.40);
}
.nh-gallery-scroll::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(125,211,252,.85), rgba(56,189,248,.55));
}
/* Bunn-fade for å antyde mer innhold */
.nh-gallery-scroll::after {
  content: "";
  position: sticky;
  bottom: -28px;
  left: 0; right: 0;
  display: block; height: 44px;
  margin: -44px -18px -28px;
  background: linear-gradient(180deg, transparent, rgba(2,20,29,.92));
  pointer-events: none;
}
@media (max-width: 700px) {
  .nh-gallery-scroll { padding: 12px 12px 22px; max-height: 70vh; border-radius: 18px; }
}

.nh-card {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column;
  background: var(--is25-glass);
  backdrop-filter: var(--is25-blur);
  border: 1px solid var(--is25-glass-edge);
  border-radius: var(--r-xl);
  overflow: hidden;
  text-decoration: none; color: inherit;
  transition: transform .4s var(--ease-spring),
              border-color .3s var(--ease),
              box-shadow .4s var(--ease);
  opacity: 0; transform: translateY(20px);
  animation: nhCardIn .6s var(--ease-expo) forwards;
}
@keyframes nhCardIn { to { opacity: 1; transform: none; } }

.nh-card.is-hidden {
  display: none;
}
.nh-card:hover {
  transform: translateY(-6px);
  border-color: rgba(125,211,252,.42);
  box-shadow: var(--is25-shadow-lg), 0 0 60px rgba(56,189,248,.18);
}
.nh-card:hover .nh-card-img img {
  transform: scale(1.06);
}

.nh-card-img {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--is25-bg-base);
}
.nh-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .9s var(--ease);
}
.nh-card-img::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(2,20,29,.6) 100%);
  pointer-events: none;
}
.nh-card-cat {
  position: absolute; top: 14px; left: 14px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px;
  background: rgba(8,30,42,.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(125,211,252,.32);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-size: .66rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--is25-ice-bright);
  z-index: 2;
}

.nh-card-body {
  padding: 22px 24px 24px;
  display: flex; flex-direction: column;
  flex-grow: 1;
}
.nh-card-date {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono);
  font-size: .68rem; font-weight: 600;
  letter-spacing: .08em;
  color: var(--is25-text-dim);
  margin-bottom: 10px;
}
.nh-card h3 {
  font-family: var(--font-display);
  font-size: 1.08rem; font-weight: 700; line-height: 1.35;
  color: var(--is25-text);
  margin-bottom: 14px;
  text-wrap: balance;
}
.nh-card-arrow {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: auto;
  font-family: var(--font-display);
  font-weight: 700; font-size: .88rem;
  color: var(--is25-ice-bright);
  transition: gap .25s var(--ease);
}
.nh-card:hover .nh-card-arrow { gap: 12px; }

/* Tom state */
.nh-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 80px 24px;
  color: var(--is25-text-dim);
  font-family: var(--font-mono);
  font-size: .92rem;
}

/* ============================================
   HERO — Responsive overrides for short viewports.
   Plassert sist i fila slik at de vinner over default
   .nh-hero-regler høyere opp (samme specificity).
   ============================================ */
@media (max-height: 760px) {
  .nh-hero.is25-hero {
    height: auto;
    min-height: 100dvh;
    max-height: none;
  }
  .nh-hero.is25-hero .is25-wrap {
    padding: clamp(72px, 9vh, 96px) 0 clamp(40px, 6vh, 64px);
  }
  .nh-hero h1 { font-size: clamp(1.85rem, 4vw, 3rem); margin: 14px 0 10px; line-height: 1.08; }
  .nh-hero-lede { font-size: clamp(.95rem, 1.1vw, 1.06rem); line-height: 1.5; max-width: 580px; }
  .nh-hero-meta { margin-top: 14px; gap: 8px; }
  .nh-hero-meta .pill { padding: 6px 11px; font-size: .68rem; }
  .nh-hero .is25-btns { margin-top: 18px; gap: 10px; }
  .nh-hero-content { padding: clamp(16px, 2.4vh, 26px) clamp(16px, 2.6vw, 28px); }
  .nh-hero .is25-eyebrow { padding: 5px 12px; font-size: .68rem; }
}
@media (max-height: 640px) {
  .nh-hero h1 { font-size: clamp(1.6rem, 3.6vw, 2.4rem); margin: 10px 0 8px; }
  .nh-hero-lede { font-size: .92rem; }
  .nh-hero-meta { display: none; }
  .nh-hero.is25-hero .is25-wrap { padding: clamp(64px, 8vh, 84px) 0 clamp(32px, 5vh, 52px); }
}
