[data-oneplugin-package="kvl-bygg"] {
  --kvl-navy: var(--1pcv-primary,#123259);
  --kvl-navy-deep: var(--1pcv-background-dark,#0a2340);
  --kvl-orange: var(--1pcv-secondary,#eb7931);
  --kvl-orange-dark: var(--1pcv-secondary-dark,#d76721);
  --kvl-ink: var(--1pcv-text,#14263c);
  --kvl-muted: var(--1pcv-text-muted,#5e6a78);
  --kvl-line: var(--1pcv-border,#e5e9ed);
  --kvl-soft: var(--1pcv-background-alt,#f7f8f9);
  --kvl-surface: var(--1pcv-surface,#fff);
  --kvl-white: var(--1pcv-text-on-dark,#fff);
  --kvl-wrap: min(1400px,90vw);
  color: var(--kvl-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
[data-oneplugin-package="kvl-bygg"],
[data-oneplugin-package="kvl-bygg"] *,
[data-oneplugin-package="kvl-bygg"] *::before,
[data-oneplugin-package="kvl-bygg"] *::after { box-sizing:border-box; }
[data-oneplugin-package="kvl-bygg"] a { color:inherit; text-decoration:none; }
[data-oneplugin-package="kvl-bygg"] button { font:inherit; }
[data-oneplugin-package="kvl-bygg"] .kvl-shell { width:var(--kvl-wrap); margin:0 auto; }
[data-oneplugin-package="kvl-bygg"] .kvl-section { padding:100px 0; }
[data-oneplugin-package="kvl-bygg"] .kvl-section--soft { background:var(--kvl-soft); }
[data-oneplugin-package="kvl-bygg"] .kvl-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 13px; color:var(--kvl-orange); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
[data-oneplugin-package="kvl-bygg"] .kvl-eyebrow::before { content:""; width:28px; height:2px; background:currentColor; }
[data-oneplugin-package="kvl-bygg"] .kvl-h1,
[data-oneplugin-package="kvl-bygg"] .kvl-h2,
[data-oneplugin-package="kvl-bygg"] .kvl-h3 { margin:0; font-family:"Arial Narrow", Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing:-.035em; line-height:1.05; }
[data-oneplugin-package="kvl-bygg"] .kvl-h1 { max-width:760px; color:#fff; font-size:clamp(48px,6vw,76px); font-weight:700; }
[data-oneplugin-package="kvl-bygg"] .kvl-h2 { font-size:clamp(34px,4vw,48px); font-weight:700; }
[data-oneplugin-package="kvl-bygg"] .kvl-h3 { font-size:clamp(23px,2.5vw,31px); font-weight:700; }
[data-oneplugin-package="kvl-bygg"] .kvl-p { margin:0; color:var(--kvl-muted); line-height:1.65; }
[data-oneplugin-package="kvl-bygg"] .kvl-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:0 18px; border:1px solid transparent; border-radius:6px; font-size:13px; font-weight:700; cursor:pointer; transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease; }
[data-oneplugin-package="kvl-bygg"] .kvl-btn:hover { transform:translateY(-2px); }
[data-oneplugin-package="kvl-bygg"] .kvl-btn:focus-visible,
[data-oneplugin-package="kvl-bygg"] .kvl-service-tab:focus-visible,
[data-oneplugin-package="kvl-bygg"] .kvl-menu-toggle:focus-visible { outline:3px solid color-mix(in srgb,var(--kvl-orange) 75%,white); outline-offset:3px; }
[data-oneplugin-package="kvl-bygg"] .kvl-btn--primary { background:var(--kvl-orange); color:#fff; }
[data-oneplugin-package="kvl-bygg"] .kvl-btn--primary:hover { background:var(--kvl-orange-dark); }
[data-oneplugin-package="kvl-bygg"] .kvl-btn--ghost { color:#fff; border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.05); }
[data-oneplugin-package="kvl-bygg"] .kvl-btn--outline { color:var(--kvl-navy); border-color:var(--kvl-line); background:#fff; }

/* header */
[data-oneplugin-package="kvl-bygg"][data-oneplugin-type="header"] { position:relative; z-index:1000; }
[data-oneplugin-package="kvl-bygg"] .kvl-header { position:fixed; z-index:1000; top:0; left:0; right:0; height:76px; background:transparent; transition:background .28s ease,box-shadow .28s ease,border-color .28s ease; }
[data-oneplugin-package="kvl-bygg"] .kvl-header.is-scrolled { background:rgba(255,255,255,.97); border-bottom:1px solid rgba(18,50,89,.06); box-shadow:0 8px 24px rgba(12,35,59,.06); backdrop-filter:blur(12px); }
[data-oneplugin-package="kvl-bygg"] .kvl-nav { height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
[data-oneplugin-package="kvl-bygg"] .kvl-brand { display:flex; align-items:center; min-width:120px; }
[data-oneplugin-package="kvl-bygg"] .kvl-brand img { width:145px; max-height:56px; object-fit:contain; filter:brightness(0) invert(1); transition:filter .28s ease; }
[data-oneplugin-package="kvl-bygg"] .kvl-header.is-scrolled .kvl-brand img { filter:none; }
[data-oneplugin-package="kvl-bygg"] .kvl-brand-text { color:#fff; font-weight:800; letter-spacing:.02em; transition:color .28s ease; }
[data-oneplugin-package="kvl-bygg"] .kvl-header.is-scrolled .kvl-brand-text { color:var(--kvl-navy); }
[data-oneplugin-package="kvl-bygg"] .kvl-navlinks { display:flex; align-items:center; gap:28px; color:#fff; font-size:12px; font-weight:700; transition:color .28s ease; }
[data-oneplugin-package="kvl-bygg"] .kvl-header.is-scrolled .kvl-navlinks { color:var(--kvl-navy); }
[data-oneplugin-package="kvl-bygg"] .kvl-nav-list,
[data-oneplugin-package="kvl-bygg"] .kvl-submenu { list-style:none; margin:0; padding:0; }
[data-oneplugin-package="kvl-bygg"] .kvl-nav-list { display:flex; align-items:center; gap:28px; }
[data-oneplugin-package="kvl-bygg"] .kvl-nav-item { position:relative; }
[data-oneplugin-package="kvl-bygg"] .kvl-nav-link { position:relative; display:block; padding:28px 0; white-space:nowrap; }
[data-oneplugin-package="kvl-bygg"] .kvl-nav-link::after { content:""; position:absolute; left:0; right:0; bottom:20px; height:2px; background:var(--kvl-orange); transform:scaleX(0); transform-origin:left; transition:.2s; }
[data-oneplugin-package="kvl-bygg"] .kvl-nav-link:hover::after { transform:scaleX(1); }
[data-oneplugin-package="kvl-bygg"] .kvl-submenu { position:absolute; top:100%; left:-16px; min-width:210px; padding:10px; border-radius:8px; background:#fff; color:var(--kvl-navy); box-shadow:0 16px 35px rgba(10,35,64,.14); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s; }
[data-oneplugin-package="kvl-bygg"] .kvl-nav-item:hover > .kvl-submenu { opacity:1; visibility:visible; transform:none; }
[data-oneplugin-package="kvl-bygg"] .kvl-submenu a { display:block; padding:10px 12px; border-radius:5px; }
[data-oneplugin-package="kvl-bygg"] .kvl-submenu a:hover { background:var(--kvl-soft); }
[data-oneplugin-package="kvl-bygg"] .kvl-header-cta { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border-radius:6px; background:var(--kvl-orange); color:#fff!important; }
[data-oneplugin-package="kvl-bygg"] .kvl-menu-toggle { display:none; width:42px; height:42px; padding:8px; border:0; background:transparent; cursor:pointer; }
[data-oneplugin-package="kvl-bygg"] .kvl-menu-toggle span,
[data-oneplugin-package="kvl-bygg"] .kvl-menu-toggle::before,
[data-oneplugin-package="kvl-bygg"] .kvl-menu-toggle::after { content:""; display:block; width:24px; height:2px; background:#fff; margin:5px 0; transition:.25s; }
[data-oneplugin-package="kvl-bygg"] .kvl-header.is-scrolled .kvl-menu-toggle span,
[data-oneplugin-package="kvl-bygg"] .kvl-header.is-scrolled .kvl-menu-toggle::before,
[data-oneplugin-package="kvl-bygg"] .kvl-header.is-scrolled .kvl-menu-toggle::after { background:var(--kvl-navy); }
body.admin-bar [data-oneplugin-package="kvl-bygg"] .kvl-header { top:32px; }

/* hero */
[data-oneplugin-package="kvl-bygg"] .kvl-hero { position:relative; min-height:100svh; height:100svh; display:flex; align-items:center; overflow:hidden; background:var(--kvl-navy-deep); }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-media { position:absolute; inset:0; background:linear-gradient(135deg,#5f6f7b 0%,#263f55 50%,#7a878d 100%); background-size:cover; background-position:center; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,20,36,.82) 0%,rgba(4,20,36,.66) 46%,rgba(4,20,36,.37) 75%,rgba(4,20,36,.48) 100%); }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-content { position:relative; z-index:2; padding:126px 0 170px; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero .kvl-eyebrow { color:#fff; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-copy { max-width:620px; margin-top:22px; color:rgba(255,255,255,.82); font-size:16px; line-height:1.65; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-actions { display:flex; gap:11px; flex-wrap:wrap; margin-top:28px; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-micro { margin-top:27px; color:rgba(255,255,255,.76); font-size:12px; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-services { position:absolute; z-index:3; left:0; right:0; bottom:30px; overflow:hidden; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-marquee { width:min(980px,72vw); margin:0 auto; overflow:hidden; mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%); -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%); }
[data-oneplugin-package="kvl-bygg"] .kvl-service-marquee-track { display:flex; width:max-content; gap:12px; animation:kvlServiceMarquee 28s linear infinite; will-change:transform; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-set { display:flex; gap:12px; flex:none; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-marquee:hover .kvl-service-marquee-track { animation-play-state:paused; }
@keyframes kvlServiceMarquee { from { transform:translateX(0); } to { transform:translateX(calc(-50% - 6px)); } }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-service {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  width:max-content;
  min-width:190px;
  min-height:45px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:5px;
  background:rgba(7,27,46,.14);
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  backdrop-filter:blur(3px);
  transition:background .2s,border-color .2s;
}
[data-oneplugin-package="kvl-bygg"] .kvl-hero-service:hover { background:rgba(255,255,255,.11); border-color:#fff; }
[data-oneplugin-package="kvl-bygg"] .kvl-hero-service-arrow { opacity:.75; font-size:15px; }

/* intro */
[data-oneplugin-package="kvl-bygg"] .kvl-intro-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:72px; align-items:center; }
[data-oneplugin-package="kvl-bygg"] .kvl-intro-copy .kvl-p { margin-top:17px; }
[data-oneplugin-package="kvl-bygg"] .kvl-intro-copy .kvl-btn { margin-top:25px; }
[data-oneplugin-package="kvl-bygg"] .kvl-collage { display:grid; grid-template-columns:1.05fr .95fr; grid-template-rows:180px 180px; gap:9px; }
[data-oneplugin-package="kvl-bygg"] .kvl-media-slot { position:relative; overflow:hidden; border-radius:7px; background:linear-gradient(135deg,#d9dfe3,#8798a5); background-position:center; background-size:cover; }
[data-oneplugin-package="kvl-bygg"] .kvl-media-slot--tall { grid-row:1 / 3; }
[data-oneplugin-package="kvl-bygg"] .kvl-media-slot::before { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(8,31,53,.6),transparent 55%); }
[data-oneplugin-package="kvl-bygg"] .kvl-media-label { position:absolute; left:14px; bottom:12px; z-index:2; color:#fff; font-size:11px; font-weight:700; }
[data-oneplugin-package="kvl-bygg"] .kvl-media-placeholder { position:absolute; right:10px; top:10px; z-index:2; padding:5px 7px; border-radius:999px; background:rgba(255,255,255,.88); color:var(--kvl-navy); font-size:7px; font-weight:800; letter-spacing:.1em; }

/* services */
[data-oneplugin-package="kvl-bygg"] .kvl-section-head { display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:end; margin-bottom:38px; }
[data-oneplugin-package="kvl-bygg"] .kvl-section-head .kvl-p { max-width:460px; }
[data-oneplugin-package="kvl-bygg"] .kvl-services-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:22px; align-items:stretch; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-tabs { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; height:430px; padding:8px; border:1px solid var(--kvl-line); border-radius:8px; background:#fff; gap:8px; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-tab { width:100%; padding:18px 14px; border:1px solid #edf0f2; border-radius:7px; background:#fff; color:#687688; text-align:center; font-size:12px; font-weight:700; line-height:1.35; cursor:pointer; transition:background .18s,border-color .18s,color .18s,transform .18s; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-tab.is-active { background:var(--kvl-orange); border-color:var(--kvl-orange); color:#fff; transform:translateY(-1px); }
[data-oneplugin-package="kvl-bygg"] .kvl-service-tab-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#fff3ea; color:var(--kvl-orange); transition:background .18s,color .18s; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-tab-icon i { font-size:18px; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-tab.is-active .kvl-service-tab-icon { background:rgba(255,255,255,.16); color:#fff; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-panel { height:430px; overflow:hidden; border:1px solid var(--kvl-line); border-radius:8px; background:#fff; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-content { display:none; height:100%; grid-template-columns:1fr 1fr; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-content.is-active { display:grid; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-copy { padding:36px 38px; display:flex; flex-direction:column; min-height:0; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-kicker { color:var(--kvl-orange); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-copy .kvl-h3 { margin:10px 0 14px; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-copy .kvl-p { font-size:14px; min-height:68px; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-list { display:grid; gap:8px; margin:19px 0 0; padding:0; list-style:none; min-height:83px; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-list li { display:flex; gap:9px; align-items:center; color:#536172; font-size:13px; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-list li::before { content:""; width:7px; height:7px; flex:none; border-radius:50%; background:var(--kvl-orange); }
[data-oneplugin-package="kvl-bygg"] .kvl-service-copy .kvl-btn { margin-top:auto; align-self:flex-start; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-visual { position:relative; background:linear-gradient(145deg,#c3ccd2,#718391); background-size:cover; background-position:center; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-visual-label { position:absolute; left:22px; bottom:20px; color:#fff; font-size:27px; font-weight:700; line-height:1.05; }
[data-oneplugin-package="kvl-bygg"] .kvl-service-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(8,31,53,.55),transparent 55%); }
[data-oneplugin-package="kvl-bygg"] .kvl-service-visual-label { z-index:2; }

/* cta */
[data-oneplugin-package="kvl-bygg"] .kvl-cta { position:relative; min-height:430px; display:grid; align-items:center; overflow:hidden; background:var(--kvl-navy); }
[data-oneplugin-package="kvl-bygg"] .kvl-cta-bg { position:absolute; inset:-8%; background:linear-gradient(115deg,#657782,#243e53 55%,#859097); background-position:center; background-size:cover; background-attachment:fixed; transform:scale(1.02); }
[data-oneplugin-package="kvl-bygg"] .kvl-cta-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,24,42,.78) 0%,rgba(5,24,42,.55) 48%,rgba(5,24,42,.35) 100%); }
[data-oneplugin-package="kvl-bygg"] .kvl-cta-inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:50px; }
[data-oneplugin-package="kvl-bygg"] .kvl-cta .kvl-eyebrow { color:#fff; }
[data-oneplugin-package="kvl-bygg"] .kvl-cta .kvl-h2 { max-width:690px; color:#fff; font-size:clamp(42px,5vw,60px); }
[data-oneplugin-package="kvl-bygg"] .kvl-cta .kvl-p { margin-top:12px; color:rgba(255,255,255,.76); font-size:15px; }

/* about */
[data-oneplugin-package="kvl-bygg"] .kvl-about-intro { max-width:720px; margin-bottom:42px; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-intro .kvl-p { margin-top:16px; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-row { display:grid; grid-template-columns:1fr 1.08fr; gap:18px; margin-top:18px; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-row--reverse { grid-template-columns:1.08fr 1fr; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-media { position:relative; min-height:370px; border-radius:8px; overflow:hidden; background:linear-gradient(145deg,#bac5cc,#607686); background-position:center; background-size:cover; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-card { padding:42px; border-radius:8px; background:var(--kvl-soft); }
[data-oneplugin-package="kvl-bygg"] .kvl-about-card .kvl-p { margin-top:15px; font-size:14px; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-list { display:grid; gap:8px; margin-top:22px; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-item { display:flex; align-items:center; gap:11px; padding:12px 13px; border-radius:6px; background:#fff; color:var(--kvl-navy); font-size:12px; font-weight:700; }
[data-oneplugin-package="kvl-bygg"] .kvl-about-dot { width:7px; height:7px; border-radius:50%; background:var(--kvl-orange); }

/* contact */
[data-oneplugin-package="kvl-bygg"] .kvl-contact-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:72px; align-items:start; }
[data-oneplugin-package="kvl-bygg"] .kvl-contact-copy .kvl-p { margin-top:17px; }
[data-oneplugin-package="kvl-bygg"] .kvl-contact-alt { margin-top:28px!important; color:var(--kvl-navy)!important; font-weight:700; }
[data-oneplugin-package="kvl-bygg"] .kvl-contact-details { display:grid; gap:11px; margin-top:17px; }
[data-oneplugin-package="kvl-bygg"] .kvl-detail { display:flex; gap:12px; align-items:center; }
[data-oneplugin-package="kvl-bygg"] .kvl-detail-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#fff2e9; color:var(--kvl-orange); }
[data-oneplugin-package="kvl-bygg"] .kvl-detail strong { display:block; color:var(--kvl-navy); font-size:13px; }
[data-oneplugin-package="kvl-bygg"] .kvl-detail span { display:block; color:#8a95a2; font-size:10px; }
[data-oneplugin-package="kvl-bygg"] .kvl-contact-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:25px; }
[data-oneplugin-package="kvl-bygg"] .kvl-form-shell { min-height:570px; padding:20px; border-radius:8px; background:var(--kvl-navy-deep); }
[data-oneplugin-package="kvl-bygg"] .kvl-form-shell > * { width:100%; }
[data-oneplugin-package="kvl-bygg"] .kvl-form-placeholder { min-height:530px; display:grid; place-items:center; border:1px dashed rgba(255,255,255,.35); border-radius:6px; text-align:center; color:rgba(255,255,255,.8); }
[data-oneplugin-package="kvl-bygg"] .kvl-form-placeholder code { display:block; margin-top:5px; color:#fff; font-size:13px; }

/* footer */
[data-oneplugin-package="kvl-bygg"] .kvl-footer { background:var(--kvl-navy-deep); color:#fff; padding:68px 0 64px; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-grid { display:grid; grid-template-columns:.9fr 1.05fr 1fr 1.35fr; gap:clamp(36px,5vw,68px); align-items:start; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-logo-block { display:flex; flex-direction:column; align-items:flex-start; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-logo { display:block; width:158px; max-width:100%; max-height:92px; object-fit:contain; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-logo--fallback { filter:brightness(0) invert(1); }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-col { min-width:0; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-col h4 { margin:2px 0 18px; color:#fff; font-size:14px; font-weight:700; line-height:1.2; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-col a,
[data-oneplugin-package="kvl-bygg"] .kvl-footer-col span { display:block; width:max-content; max-width:100%; margin:0 0 8px; color:rgba(255,255,255,.72); font-size:12px; font-weight:400; line-height:1.5; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-col a:hover { color:#fff; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-col p { max-width:340px; margin:0; color:rgba(255,255,255,.68); font-size:12px; line-height:1.75; }
[data-oneplugin-package="kvl-bygg"] .kvl-footer-policy { display:inline-block!important; width:max-content; margin-top:12px!important; color:#fff!important; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
[data-oneplugin-package="kvl-bygg"] .kvl-socials { display:flex; gap:10px; margin-top:24px; }
[data-oneplugin-package="kvl-bygg"] .kvl-social { width:40px!important; height:40px; display:grid!important; place-items:center; margin:0!important; border:1px solid rgba(255,255,255,.3); border-radius:10px; color:#fff!important; transition:background .2s,border-color .2s,transform .2s; }
[data-oneplugin-package="kvl-bygg"] .kvl-social:hover { background:var(--kvl-orange); border-color:var(--kvl-orange); transform:translateY(-2px); }
[data-oneplugin-package="kvl-bygg"] .kvl-social i { font-size:18px; }

/* reveal */
[data-oneplugin-package="kvl-bygg"] .kvl-reveal {
  opacity:1;
  transform:none;
  animation:kvlReveal .55s ease both;
}
@keyframes kvlReveal {
  from { opacity:.72; transform:translateY(10px); }
  to { opacity:1; transform:none; }
}

@media (max-width:1100px) {
  [data-oneplugin-package="kvl-bygg"] .kvl-section { padding:88px 0; }
  [data-oneplugin-package="kvl-bygg"] .kvl-intro-grid { gap:52px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-section-head { gap:38px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-services-layout { grid-template-columns:270px minmax(0,1fr); }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-copy { padding:32px 30px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-contact-grid { gap:52px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-footer-grid { grid-template-columns:.9fr 1fr 1fr 1.2fr; gap:34px; }
}

@media (max-width:980px) {
  [data-oneplugin-package="kvl-bygg"] .kvl-menu-toggle { display:block; }
  [data-oneplugin-package="kvl-bygg"] .kvl-navlinks { position:fixed; top:76px; left:0; right:0; display:grid; gap:0; padding:12px 20px 20px; background:#fff; color:var(--kvl-navy); transform:translateY(-130%); opacity:0; pointer-events:none; transition:.25s; }
  [data-oneplugin-package="kvl-bygg"] .kvl-header.is-open .kvl-navlinks { transform:none; opacity:1; pointer-events:auto; box-shadow:0 18px 28px rgba(0,0,0,.08); }
  [data-oneplugin-package="kvl-bygg"] .kvl-nav-list { display:grid; gap:0; }
  [data-oneplugin-package="kvl-bygg"] .kvl-nav-link { padding:14px 5px; color:var(--kvl-navy); }
  [data-oneplugin-package="kvl-bygg"] .kvl-nav-link::after { display:none; }
  [data-oneplugin-package="kvl-bygg"] .kvl-submenu { position:static; display:block; min-width:0; padding:0 0 0 14px; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  [data-oneplugin-package="kvl-bygg"] .kvl-header-cta { margin-top:6px; justify-content:center; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-content { padding:112px 0 180px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-h1 { font-size:clamp(46px,8vw,68px); }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-services { bottom:20px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-marquee { width:min(82vw,760px); }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-marquee-track { animation-duration:25s; }
  [data-oneplugin-package="kvl-bygg"] .kvl-intro-grid,
  [data-oneplugin-package="kvl-bygg"] .kvl-section-head,
  [data-oneplugin-package="kvl-bygg"] .kvl-contact-grid { grid-template-columns:1fr; gap:40px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-intro-copy,
  [data-oneplugin-package="kvl-bygg"] .kvl-contact-copy { max-width:680px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-collage { max-width:720px; width:100%; }
  [data-oneplugin-package="kvl-bygg"] .kvl-services-layout { grid-template-columns:1fr; gap:16px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-tabs { grid-template-columns:repeat(4,1fr); grid-template-rows:1fr; height:auto; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-tab { min-height:132px; padding:16px 12px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-panel { height:430px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-cta { min-height:390px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-cta-inner { gap:30px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-cta-bg { background-attachment:scroll; }
  [data-oneplugin-package="kvl-bygg"] .kvl-about-row,
  [data-oneplugin-package="kvl-bygg"] .kvl-about-row--reverse { grid-template-columns:1fr; }
  [data-oneplugin-package="kvl-bygg"] .kvl-about-media { min-height:330px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-footer-grid { grid-template-columns:1fr 1fr; column-gap:52px; row-gap:44px; }
}

@media (max-width:720px) {
  [data-oneplugin-package="kvl-bygg"] .kvl-section { padding:72px 0; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-content { padding:108px 0 188px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-h1 { font-size:clamp(42px,11vw,58px); }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-copy { font-size:15px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-actions { width:100%; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-actions .kvl-btn { flex:1; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-marquee { width:86vw; }
  [data-oneplugin-package="kvl-bygg"] .kvl-collage { grid-template-columns:1fr 1fr; grid-template-rows:155px 155px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-tabs { grid-template-columns:1fr 1fr; gap:7px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-tab { min-height:116px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-tab-icon { width:38px; height:38px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-panel { height:auto; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-content.is-active { grid-template-columns:1fr; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-copy { min-height:390px; padding:30px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-copy .kvl-p,
  [data-oneplugin-package="kvl-bygg"] .kvl-service-list { min-height:0; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-visual { min-height:270px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-cta { min-height:420px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-cta-inner { display:grid; align-items:end; }
  [data-oneplugin-package="kvl-bygg"] .kvl-about-card { padding:32px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-contact-grid { gap:34px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-form-shell { min-height:540px; padding:16px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-form-placeholder { min-height:506px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-footer { padding:58px 0; }
  [data-oneplugin-package="kvl-bygg"] .kvl-footer-grid { grid-template-columns:1fr 1fr; gap:40px 32px; }
}

@media (max-width:520px) {
  [data-oneplugin-package="kvl-bygg"] .kvl-section { padding:64px 0; }
  [data-oneplugin-package="kvl-bygg"] .kvl-header { height:70px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-navlinks { top:70px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-brand img { width:130px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-content { padding:100px 0 194px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-h1 { font-size:clamp(38px,12vw,52px); }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-copy { font-size:14px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-actions { display:grid; grid-template-columns:1fr; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-actions .kvl-btn { width:100%; }
  [data-oneplugin-package="kvl-bygg"] .kvl-hero-micro { font-size:11px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-marquee { width:88vw; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-marquee-track { animation-duration:23s; }
  [data-oneplugin-package="kvl-bygg"] .kvl-collage { grid-template-columns:1fr; grid-template-rows:210px 150px 150px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-media-slot--tall { grid-row:auto; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-tab { min-height:108px; font-size:11px; padding:14px 9px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-copy,
  [data-oneplugin-package="kvl-bygg"] .kvl-about-card { padding:26px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-copy { min-height:400px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-cta { min-height:430px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-cta .kvl-h2 { font-size:clamp(38px,11vw,50px); }
  [data-oneplugin-package="kvl-bygg"] .kvl-about-media { min-height:270px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-form-shell { min-height:510px; padding:12px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-form-placeholder { min-height:484px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-footer { padding:52px 0 54px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-footer-grid { grid-template-columns:1fr; gap:32px; }
  [data-oneplugin-package="kvl-bygg"] .kvl-footer-logo { width:150px; }
}

@media (max-width:782px) {
  body.admin-bar [data-oneplugin-package="kvl-bygg"] .kvl-header { top:46px; }
}

@media (prefers-reduced-motion:reduce) {
  [data-oneplugin-package="kvl-bygg"] .kvl-reveal { opacity:1; transform:none; transition:none; }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-marquee-track { animation:none; }
  [data-oneplugin-package="kvl-bygg"] .kvl-btn,
  [data-oneplugin-package="kvl-bygg"] .kvl-social { transition:none; }
}


[data-oneplugin-package="kvl-bygg"] .kvl-service-tab-icon svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
[data-oneplugin-package="kvl-bygg"] .kvl-detail-icon svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
[data-oneplugin-package="kvl-bygg"] .kvl-social svg {
  width:18px;
  height:18px;
  fill:currentColor;
}
@media (prefers-reduced-motion: reduce) {
  [data-oneplugin-package="kvl-bygg"] .kvl-reveal {
    animation:none !important;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-service-marquee-track {
    animation-play-state:paused;
  }
}


/* v1.0.4 — approved width + package header */
[data-oneplugin-package="kvl-bygg"] .kvl-media-label,
[data-oneplugin-package="kvl-bygg"] .kvl-media-placeholder {
  display:none !important;
}

/* Package header.
   Desktop: transparent over hero.
   Scroll: white + 1Plugin Sticky logo.
   Tablet/mobile: white in normal flow + Sticky logo. */
[data-oneplugin-package="kvl-bygg"] .kvl-package-header {
  position:absolute;
  z-index:9999;
  top:0;
  left:0;
  right:0;
  width:100%;
  color:#fff;
  background:transparent;
  transition:background-color .22s ease, box-shadow .22s ease, color .22s ease;
}
[data-oneplugin-package="kvl-bygg"] .kvl-package-header.is-scrolled {
  position:fixed;
  color:var(--kvl-navy);
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 30px rgba(10,35,64,.10);
  backdrop-filter:blur(14px);
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__inner {
  width:var(--kvl-wrap);
  min-height:84px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__brand {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  max-width:235px;
  text-decoration:none;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__logo {
  display:block;
  width:auto;
  max-width:180px;
  height:56px;
  object-fit:contain;
  object-position:left center;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__brand-text {
  color:inherit;
  font-size:18px;
  font-weight:800;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__desktop-nav {
  margin-left:auto;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__menu,
[data-oneplugin-package="kvl-bygg"] .kvl-header__submenu,
[data-oneplugin-package="kvl-bygg"] .kvl-header__mobile-nav ul {
  list-style:none;
  margin:0;
  padding:0;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__menu {
  display:flex;
  align-items:center;
  gap:28px;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__item {
  position:relative;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__link {
  position:relative;
  display:block;
  padding:31px 0 27px;
  color:inherit;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__link::after {
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:22px;
  height:2px;
  background:var(--kvl-orange);
  transition:right .2s ease;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__item:hover > .kvl-header__link::after,
[data-oneplugin-package="kvl-bygg"] .kvl-header__item:focus-within > .kvl-header__link::after,
[data-oneplugin-package="kvl-bygg"] .kvl-header__item.is-current > .kvl-header__link::after {
  right:0;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__submenu {
  position:absolute;
  top:calc(100% - 10px);
  left:-18px;
  min-width:210px;
  padding:9px;
  border:1px solid var(--kvl-line);
  border-radius:8px;
  background:#fff;
  color:var(--kvl-navy);
  box-shadow:0 18px 42px rgba(10,35,64,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__item:hover > .kvl-header__submenu,
[data-oneplugin-package="kvl-bygg"] .kvl-header__item:focus-within > .kvl-header__submenu {
  opacity:1;
  visibility:visible;
  transform:none;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__submenu .kvl-header__link {
  padding:10px 12px;
  color:var(--kvl-navy);
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__submenu .kvl-header__link::after {
  display:none;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border-radius:6px;
  background:var(--kvl-orange);
  color:#fff !important;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
[data-oneplugin-package="kvl-bygg"] .kvl-header__toggle,
[data-oneplugin-package="kvl-bygg"] .kvl-header__mobile-panel {
  display:none;
}
body.admin-bar [data-oneplugin-package="kvl-bygg"] .kvl-package-header {
  top:32px;
}

@media (max-width:980px) {
  [data-oneplugin-package="kvl-bygg"] .kvl-package-header,
  [data-oneplugin-package="kvl-bygg"] .kvl-package-header.is-scrolled {
    position:relative;
    top:auto;
    color:var(--kvl-navy);
    background:#fff;
    box-shadow:none;
    backdrop-filter:none;
  }
  body.admin-bar [data-oneplugin-package="kvl-bygg"] .kvl-package-header {
    top:auto;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__inner {
    width:var(--kvl-wrap);
    min-height:82px;
    gap:20px;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__logo {
    max-width:165px;
    height:52px;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__desktop-nav,
  [data-oneplugin-package="kvl-bygg"] .kvl-header__cta {
    display:none;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__toggle {
    display:flex;
    width:48px;
    height:48px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--kvl-navy);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    cursor:pointer;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__toggle span {
    display:block;
    width:30px;
    height:3px;
    border-radius:999px;
    background:currentColor;
    transition:transform .2s ease, opacity .2s ease;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-package-header.is-open .kvl-header__toggle span:nth-child(1) {
    transform:translateY(9px) rotate(45deg);
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-package-header.is-open .kvl-header__toggle span:nth-child(2) {
    opacity:0;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-package-header.is-open .kvl-header__toggle span:nth-child(3) {
    transform:translateY(-9px) rotate(-45deg);
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__mobile-panel {
    display:block;
    max-height:0;
    overflow:hidden;
    background:#fff;
    border-top:1px solid rgba(18,50,89,.09);
    opacity:0;
    transition:max-height .28s ease, opacity .2s ease;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-package-header.is-open .kvl-header__mobile-panel {
    max-height:75vh;
    overflow:auto;
    opacity:1;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__mobile-nav {
    width:var(--kvl-wrap);
    margin:0 auto;
    padding:10px 0 22px;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__mobile-item > a {
    display:flex;
    align-items:center;
    min-height:50px;
    border-bottom:1px solid rgba(18,50,89,.09);
    color:var(--kvl-navy);
    font-size:15px;
    font-weight:700;
    text-decoration:none;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__mobile-item.is-child > a {
    min-height:42px;
    padding-left:18px;
    font-size:13px;
    font-weight:600;
  }
}

@media (max-width:520px) {
  [data-oneplugin-package="kvl-bygg"] .kvl-header__inner {
    min-height:74px;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__logo {
    max-width:145px;
    height:47px;
  }
  [data-oneplugin-package="kvl-bygg"] .kvl-header__toggle {
    width:44px;
    height:44px;
  }
}


/* v1.0.5 — Hero content centered */
[data-oneplugin-package="kvl-bygg"] .kvl-hero-content {
  text-align:center;
}
[data-oneplugin-package="kvl-bygg"] .kvl-hero-content > .kvl-reveal {
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}
[data-oneplugin-package="kvl-bygg"] .kvl-hero .kvl-eyebrow {
  justify-content:center;
}
[data-oneplugin-package="kvl-bygg"] .kvl-hero .kvl-h1 {
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
[data-oneplugin-package="kvl-bygg"] .kvl-hero-copy {
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
[data-oneplugin-package="kvl-bygg"] .kvl-hero-actions {
  justify-content:center;
}
[data-oneplugin-package="kvl-bygg"] .kvl-hero-micro {
  width:100%;
  text-align:center;
}
