/* Oslo Ventilasjon: editorial clarity, practical service, one clear action. */
.contact-direct{margin-top:30px;padding-top:25px;border-top:1px solid #ffffff33;display:flex;flex-direction:column;gap:8px;font-size:15px}.contact-direct>span,.contact-direct small{color:#c4d6df}.contact-direct a{width:fit-content;text-underline-offset:5px}.contact-direct a[href^="tel"]{font-size:26px;font-weight:600;text-decoration:none}.contact-direct small{font-size:12px;margin-top:5px}
:root{--ink:#102c3b;--muted:#52616c;--paper:#f3f6f7;--blue:#ad451f;--line:#dce3e7;--radius:18px;--accent:#f9ad79}
html{scroll-padding-top:106px}
body{color:var(--ink);line-height:1.65}
.wrap{max-width:1360px;padding-inline:48px}
header{background:#ffffffed;border-bottom:1px solid #e4e9ec}
.nav{height:88px}.brand{letter-spacing:-.7px;font-size:23px}.brand-location{font-size:12px}
.brand img{width:40px;height:40px}.navlinks{gap:25px;font-size:14px}
.btn{background:var(--ink);border-color:var(--ink);border-radius:9px;font-size:15px;padding:17px 22px;gap:20px;min-height:54px}
.btn:hover{background:#214658;box-shadow:0 8px 24px #102c3b18;transform:translateY(-2px)}
.navlinks .btn{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.navlinks .btn:hover{background:#ffc398;color:var(--ink)}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ad451f;outline-offset:4px}
.eyebrow{font-size:14px;font-weight:650;letter-spacing:0;color:var(--muted)}
.hero{background:var(--ink);padding:0;color:white;overflow:hidden}
.hero-grid{grid-template-columns:1.2fr 1fr;gap:54px;align-items:stretch}
.hero-copy{padding:62px 0 49px;position:relative;z-index:1}
.hero .eyebrow{color:#d4e1e9}
.hero h1{font-size:clamp(46px,4.6vw,67px);letter-spacing:-.047em;line-height:1.1;font-weight:700;margin:23px 0 25px}
.hero h1 em{color:var(--accent)}
.hero .intro{color:#d4e1e9;max-width:510px;font-size:18px;line-height:1.7}
.hero-offer{margin-top:26px;gap:0}.price-prefix{color:#d4e1e9;font-size:14px}
.hero-offer strong{font-size:43px;font-weight:650;letter-spacing:-1.4px;margin:2px 0 5px}
.hero-offer strong span{font-size:22px}.hero-offer small{color:#b7cbd5;font-size:12px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:26px}
.hero-actions .btn{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.hero-actions .btn:hover{background:#ffc398;box-shadow:none}
.hero-secondary{font-size:14px;color:#e1ebf0;text-underline-offset:5px}
.hero-facts{font-size:13px;color:#c4d6df;gap:20px;margin-top:22px}.hero-facts span:before{color:var(--accent)}
.hero-media{min-height:590px;border-radius:0;background:#294553;margin-right:-48px}
.hero-media img{object-position:52% center;filter:brightness(.82);transition:transform 1s}
.photo-caption{background:var(--ink);color:white;border-radius:12px;left:25px;right:30px;bottom:30px;padding:25px 28px;backdrop-filter:none;border:1px solid #49616e}
.photo-caption>span{font-size:12px;color:#c4d6df;letter-spacing:.6px}
.photo-caption strong{font-size:31px;letter-spacing:-.7px;line-height:1.15;margin-top:12px;font-weight:600}
.photo-caption a{display:inline-block;color:var(--accent);font-size:14px;margin-top:17px;text-underline-offset:5px}
.hero-bottom{grid-template-columns:.65fr 1fr 1.2fr;gap:25px;margin-top:0;padding:23px 0;border-top:1px solid #ffffff26;font-size:14px}
.hero-bottom>span{color:#b7cbd5}.hero-bottom a{gap:6px 14px;color:#e1ebf0}.hero-bottom a b{color:var(--accent);font-size:14px}.hero-bottom a:hover{color:var(--accent)}
.section{padding:86px 0}h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-.04em;line-height:1.15;font-weight:650}
.section-top{margin-bottom:36px}.section-top p{max-width:380px;font-size:17px}
.services{gap:20px}.card{min-height:425px;padding:30px;border:1px solid var(--line);background:white;border-radius:16px;box-shadow:none}
.card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #102c3b0a}
.card.featured{background:#edf3f6;border-color:#d5e2e9}
.card .index{font-size:14px;color:#64747e}.service-category{color:var(--ink);font-weight:550;font-size:14px}
.card h3{font-size:26px;font-weight:650;margin:30px 0 14px}.card p{font-size:16px;line-height:1.65}
.price{font-size:28px;letter-spacing:-.8px;font-weight:650}.price small{font-size:12px;margin-top:9px}
.service-cta{margin-top:23px;width:100%;font-size:14px;justify-content:space-between;min-height:50px;padding:14px 17px}
.card-link{font-size:14px;font-weight:500;margin-top:17px;padding-top:16px;border-color:var(--line)}
.dark{background:#edf3f6;color:var(--ink)}.dark .eyebrow,.dark .muted{color:var(--muted)}
.process{gap:80px;grid-template-columns:1fr 1.1fr}.process-intro{max-width:470px}.process-intro p{max-width:400px;font-size:17px}
.dark .btn.light{background:var(--ink);color:white;border-color:var(--ink)}.dark .btn.light:hover{background:#214658}
.steps li{grid-template-columns:44px 1fr;gap:20px;border-bottom:1px solid #cedbe2;padding:25px 0}
.num{display:flex;justify-content:center;align-items:center;background:white;border:1px solid #d8e3e9;color:var(--ink);width:40px;height:40px;border-radius:50%;font-size:13px}
.steps h3{font-size:22px;font-weight:600}.steps p{font-size:16px;color:var(--muted)}
.split{gap:70px}.copy p{font-size:17px}.callout{background:var(--ink);color:white;padding:35px;border-radius:18px}
.callout .eyebrow,.callout p{color:#c4d6df}.callout h3{font-size:33px;font-weight:600;line-height:1.16}
.callout .checklist li{border-color:#ffffff23;font-size:15px}.callout .checklist li:before{color:var(--accent)}
.callout .text-link{color:var(--accent);font-size:15px}.area-list a{border-color:#d2dde3;border-radius:7px;font-size:14px}
.area-list a:hover{background:#edf3f6;border-color:#9bafba}
.faq{gap:80px}.faq-list details{padding:22px 0}.faq-list summary{font-size:17px;font-weight:550}
.faq-list details p{font-size:16px;line-height:1.75}.faq-list details[open]{padding-bottom:25px}
.contact{background:var(--ink);color:white;position:relative}.contact .split{gap:80px;grid-template-columns:.9fr 1.1fr}
.contact .eyebrow{color:var(--accent)}.contact-intro h2{font-size:clamp(38px,4vw,54px);font-weight:650;line-height:1.15}
.contact-intro>p{color:#c4d6df;font-size:17px;max-width:420px}.contact-points li{font-size:15px;color:#d4e1e9;margin:13px 0}
.contact-points li:before{color:var(--accent)}.preview-note{border-color:#ffffff33;color:#c4d6df;font-size:13px;max-width:410px}
.contact form{color:var(--ink);padding:35px;border:0;border-radius:18px;box-shadow:0 24px 60px #00000018}
.form-heading{border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:25px}.form-heading .eyebrow{color:var(--muted);font-size:13px}
.form-title{font-size:26px;line-height:1.2;margin:9px 0 12px;font-weight:650}.form-heading p{font-size:14px;color:var(--muted);margin:0}
.field{font-size:14px;font-weight:550}.fields{gap:19px}input,select,textarea{background:#f9fbfc;border-color:#cbd6dd;border-radius:8px;min-height:51px;padding:12px}
input:hover,select:hover,textarea:hover{border-color:#8fa4af}input:focus,select:focus,textarea:focus{background:white}textarea{min-height:100px;line-height:1.6}
.optional-fields summary{font-size:14px;color:var(--muted)}.form-submit{background:var(--ink);border-color:var(--ink);font-size:15px}
.form-footer{font-size:12px;line-height:1.75}.form-status:not(:empty){border:1px solid #dfbcae;background:#fff1e9;color:#713419;padding:15px;font-size:15px}
.form-status.success{border-color:#bcdecb;background:#e5f5ed;color:#195f3c}
.footer{background:#091e2a;color:#c4d6df;padding-top:60px}.footer .brand{font-size:23px}.footer h3{font-size:15px}.footer a{font-size:14px}
.service-hero{background:#edf3f6;padding:45px 0 64px}.breadcrumb{background:white;font-size:13px;padding-bottom:20px}
.service-hero h1{font-size:clamp(40px,4.8vw,66px);font-weight:650}.service-hero .split{gap:60px}
.service-aside{background:white;border:1px solid #d9e3e9;border-radius:16px;padding:32px;box-shadow:0 12px 35px #102c3b08}.service-aside strong{font-size:38px;font-weight:650}
.service-aside p{font-size:14px}.article-section{background:white}.service-content p,.service-content ul{font-size:17px;line-height:1.85}
.article-nav{background:#f3f6f7;padding:24px;border-radius:12px;font-size:14px}.article-layout{grid-template-columns:240px 1fr;gap:70px}
.service-content h2{font-size:32px;line-height:1.2;margin-top:43px}.pricing-table td{font-size:16px}.pricing-table small{font-size:13px}
.area-card{border-radius:16px;padding:30px}.area-card p{font-size:16px}.area-card .area-index{color:var(--muted);font-size:12px}
.trust-strip p{font-size:16px}.scope-grid article{border-color:var(--ink)}
.mobile-cta{background:var(--accent);border-color:var(--accent);color:var(--ink);border-radius:10px;bottom:calc(12px + env(safe-area-inset-bottom));font-size:15px}
.mobile-cta:hover{background:#ffc398;color:var(--ink)}
@media(min-width:1600px){.hero-media{margin-right:0;border-radius:0 0 18px 18px}}
@media(max-width:1100px){.wrap{padding-inline:30px}.navlinks{gap:16px}.brand{font-size:21px}.hero-grid{gap:30px;grid-template-columns:1.15fr 1fr}.hero-media{margin-right:-30px;min-height:605px}.hero h1{font-size:52px}.hero-copy{padding-top:48px}.hero-actions{gap:17px}.hero-bottom{grid-template-columns:.55fr 1fr 1.1fr;font-size:13px}.process,.contact .split,.split{gap:45px}.card{padding:25px}.card h3{font-size:24px}.contact form{padding:28px}}
@media(max-width:900px){.navlinks>a:not(.btn){display:none}.hero-grid{grid-template-columns:1.2fr 1fr;gap:24px}.hero h1{font-size:44px}.hero .intro{font-size:17px}.hero-actions .btn{font-size:14px;padding:16px 18px}.photo-caption{left:16px;right:20px;padding:21px}.photo-caption strong{font-size:27px}.services{grid-template-columns:1fr}.card{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:28px}.card .index,.card h3,.card p{grid-column:1}.card .index{margin-bottom:10px}.card h3{margin:12px 0}.card p{margin-bottom:0}.card .price{grid-column:2;grid-row:1/3;margin:auto 0 0}.card .service-cta{grid-column:2;grid-row:3;align-self:start;margin-top:14px}.card .card-link{grid-column:1/-1;margin-top:24px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-bottom>span{display:none}.article-layout{grid-template-columns:1fr}.article-nav{display:none}}
@media(max-width:700px){.wrap{padding-inline:22px}.nav{height:74px}.brand{font-size:20px}.brand img{width:35px;height:35px}.navlinks{top:74px;background:white;padding:22px;gap:20px}.navlinks.open>a:not(.btn){display:block}.navlinks .btn{font-size:15px}.hero{padding:0}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:35px 0 32px}.hero .eyebrow{font-size:13px}.hero h1{font-size:clamp(37px,9.2vw,54px);line-height:1.12;margin:20px 0}.hero .intro{font-size:17px;line-height:1.65}.hero-offer{margin-top:24px;flex-direction:row;align-items:center}.hero-offer strong{font-size:39px}.hero-offer small{font-size:12px;max-width:none}.hero-actions{margin-top:22px;gap:17px}.hero-actions .btn{width:100%;justify-content:space-between;font-size:15px;padding:18px 20px}.hero-secondary{font-size:14px}.hero-facts{font-size:12px;gap:17px;margin-top:20px}.hero-media{margin:0 -22px;min-height:275px;height:275px;border-radius:0}.hero-media img{object-position:center 43%}.photo-caption{left:22px;right:auto;bottom:20px;min-width:0;padding:16px 20px;max-width:85%}.photo-caption>span{font-size:11px}.photo-caption strong{font-size:24px;margin-top:8px}.photo-caption a{font-size:13px;margin-top:12px}.hero-bottom{display:grid;grid-template-columns:1fr;margin-top:0;padding:20px 0;gap:16px;font-size:14px}.hero-bottom a{justify-content:space-between;gap:4px 10px}.hero-bottom a b{font-size:13px}.section{padding:58px 0}.section-top p{font-size:16px;max-width:none}.section-top h2{font-size:36px}.card{display:flex;padding:27px;gap:0}.card .index{margin:0}.card h3{margin:25px 0 12px;font-size:25px}.card p{font-size:16px;margin-bottom:22px}.card .price{margin-top:auto;font-size:29px}.card .service-cta{margin-top:22px}.card .card-link{margin-top:17px}.process,.contact .split,.split,.service-hero .split{grid-template-columns:1fr;gap:35px}.process-intro p{font-size:16px;max-width:none}.steps li:first-child{padding-top:0}.steps h3{font-size:21px}.steps p{font-size:16px}.steps li{gap:15px}.copy p{font-size:16px}.callout{padding:28px}.callout h3{font-size:31px}.faq h2{font-size:36px}.faq-list summary{font-size:16px}.faq-list details p{margin-right:0;font-size:16px}.contact-intro h2{font-size:40px}.contact-intro>p{max-width:none;font-size:16px}.contact form{padding:26px 22px;border-radius:15px}.contact .split{gap:26px}.form-title{font-size:24px}.form-heading{margin-bottom:23px}.form-heading p{font-size:14px}.fields{gap:17px}.field{font-size:14px}.field>span{font-size:14px}.form-submit{font-size:14px;padding:17px 14px;gap:10px}.preview-note{font-size:13px}.footer{padding-bottom:105px}.footer-grid{gap:30px}.footer .brand{font-size:22px}.service-hero{padding:30px 0 42px}.service-hero h1{font-size:42px}.service-aside{padding:26px}.service-content p,.service-content ul{font-size:16px;line-height:1.8}.service-content h2{font-size:28px}.pricing-table th,.pricing-table td{padding:20px 6px}.pricing-table td{font-size:14px}.pricing-table small{font-size:12px}.article-layout{gap:30px}.area-card p{font-size:16px}}
@media(max-width:380px){.wrap{padding-inline:18px}.hero-media{margin-inline:-18px}.hero h1{font-size:35px}.hero-facts{font-size:12px;gap:11px}.brand{font-size:18px}.fields{grid-template-columns:1fr}.hero-bottom a b{font-size:12px}.contact form{padding:24px 18px}.form-title{font-size:22px}.mobile-cta{left:18px;right:18px}.photo-caption{left:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* 2026-09-17: new OV identity and a bright architectural composition. */
:root{--ink:#102d46;--blue:#285b63;--accent:#285b63;--paper:#f3f6f6;--muted:#526779;--line:#dce6ee}
.brand{gap:13px;letter-spacing:0}.brand img{width:48px;height:48px;flex-shrink:0}.brand-wordmark{display:flex;flex-direction:column;gap:5px}.brand-oslo{font-size:26px;letter-spacing:.075em;font-weight:800;line-height:1}.brand-ventilasjon{font-size:12px;letter-spacing:.15em;font-weight:650;line-height:1.2}
.btn,.navlinks .btn,.hero-actions .btn,.form-submit,.mobile-cta{background:var(--blue);border-color:var(--blue);color:white}.btn:hover,.navlinks .btn:hover,.hero-actions .btn:hover,.mobile-cta:hover{background:#1e464d;color:white}.btn.outline{background:transparent;color:var(--ink);border-color:#b4c2c8}
.hero{background:var(--paper);color:var(--ink);padding:40px 0 0}.hero-grid{grid-template-columns:1.12fr 1fr;gap:54px;align-items:center}.hero-copy{padding:24px 0 38px}.hero h1{font-size:clamp(44px,4.8vw,68px);line-height:1.08;letter-spacing:-.045em}.hero .eyebrow,.hero .intro,.price-prefix,.hero-offer small,.hero-facts{color:var(--muted)}.hero .intro{font-size:18px;line-height:1.75}.hero-offer{padding-left:18px;border-left:3px solid var(--blue)}.hero-secondary{color:var(--ink)}.hero-media{height:550px;min-height:550px;margin-right:0;border-radius:18px 18px 70px 18px;box-shadow:0 24px 50px #102d4610}.hero-media img{filter:none}.photo-caption{background:#102d46f2;left:24px;right:24px;bottom:24px;padding:24px;border:0}.photo-caption a{color:#c9e0df}.photo-caption>span{font-size:12px}.hero-bottom{margin-top:28px;border-color:#d1e0ec}.hero-bottom>span{color:var(--muted)}.hero-bottom a,.hero-bottom a b{color:var(--ink)}.hero-bottom a:hover{color:var(--blue)}
.card{min-height:440px}.card.featured{background:#eff5f5;border-color:#bdd2d3;border-top:4px solid var(--blue);padding-top:27px}.card h3{overflow-wrap:anywhere}.dark{background:var(--ink);color:white}.dark .eyebrow,.dark .muted,.steps p{color:#bfccd2}.dark .btn.light{background:white;color:var(--ink);border-color:white}.dark .btn.light:hover{background:#e2eded;color:var(--ink)}.steps li{border-color:#ffffff27}.num{background:transparent;border-color:#ffffff40;color:#c9e0df}.callout{background:#eff5f5;color:var(--ink);border:1px solid #d3e1e1}.callout .eyebrow,.callout p{color:var(--muted)}.callout .checklist li{border-color:#d1e0ec}.callout .text-link{color:var(--blue)}
.contact{background:#edf3f3;color:var(--ink);border-block:1px solid #d6e2e2}.contact .eyebrow{color:var(--blue)}.contact-intro>p,.contact-points li,.contact-direct>span,.contact-direct small{color:var(--muted)}.contact-direct{border-color:#c7d8d8}.contact form{border:1px solid #d3e0e0;box-shadow:0 18px 55px #102d4608}.contact-direct small,.hero-offer small,.price small,.form-footer{font-size:13px}.hero-facts{font-size:14px}.fields{gap:20px}.field>span{font-size:14px}.footer{background:#0c2235}.footer .brand-wordmark{display:flex}.footer .brand img{width:48px;height:48px}.footer-bottom{font-size:13px}.service-hero{background:var(--paper)}.service-aside{border-color:#d6e3ed}.area-card .area-index{font-size:13px}
@media(max-width:1100px){.hero-grid{gap:32px}.hero h1{font-size:52px}.hero-media{height:540px;min-height:540px}.navlinks{gap:16px}}
@media(min-width:701px) and (max-width:1000px){.menu{display:block}.navlinks{display:none;position:absolute;top:88px;left:0;right:0;padding:24px 30px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:20px}.navlinks.open{display:flex}.navlinks.open>a:not(.btn){display:block}.navlinks a{font-size:16px}.hero h1{font-size:44px}.hero-media{height:565px;min-height:565px}.contact .split{grid-template-columns:1fr;gap:32px}.contact-intro>p{max-width:650px}}
@media(max-width:700px){.brand{gap:10px}.brand img,.footer .brand img{width:42px;height:42px}.brand-oslo{font-size:23px}.brand-ventilasjon{font-size:12px;letter-spacing:.07em}.hero{padding:12px 0 0}.hero-grid{grid-template-columns:1fr;gap:16px}.hero-copy{padding:22px 0 8px}.hero h1{font-size:clamp(36px,9.6vw,53px);line-height:1.1;letter-spacing:-.04em}.hero .intro{font-size:17px}.hero-media{margin:0;height:280px;min-height:280px;border-radius:14px 14px 42px 14px}.photo-caption{left:16px;right:16px;bottom:16px;padding:18px;max-width:none}.photo-caption>span{font-size:12px}.photo-caption strong{font-size:24px}.photo-caption strong br{display:none}.photo-caption a{font-size:14px}.hero-offer{padding-left:16px}.hero-offer small{font-size:13px}.hero-facts{font-size:13px}.hero-bottom{margin-top:24px}.card{min-height:0}.card.featured{padding-top:24px}.price small,.form-footer{font-size:13px}.contact-direct small{font-size:13px}.contact-intro>p{font-size:16px}.hero-bottom a b{font-size:13px}}
@media(max-width:380px){.hero h1{font-size:35px}.hero-media{margin:0}.hero-facts{font-size:13px;gap:10px}.hero-bottom a{flex-wrap:wrap}.hero-bottom a b{font-size:13px}}

/* Guides follow the existing petrol identity. */
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px}
.guide-card{border:1px solid var(--line);border-radius:16px;padding:32px;max-width:760px;background:#fff}
.guide-card h2{font-size:27px;line-height:1.3;letter-spacing:-.025em;margin:16px 0}.guide-card h2 a{text-decoration:none}.guide-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.guide-card p{font-size:17px;line-height:1.75}.guide-card time{display:block;font-size:14px;color:var(--muted);margin:22px 0 12px}
.guide-hero h1{max-width:1000px;font-size:clamp(34px,4.6vw,62px);line-height:1.14;letter-spacing:-.035em}.guide-hero .intro{max-width:800px}
.guide-meta,.guide-note{font-size:14px!important;color:var(--muted)}.guide-note{border-top:1px solid var(--line);padding-top:20px}
@media(max-width:700px){.guide-card{padding:24px}.guide-card h2{font-size:24px}.guide-hero h1{font-size:clamp(32px,8.6vw,44px)}.guide-meta{line-height:1.7}}

[data-unit-field][hidden]{display:none!important}
[data-unit-field] small{font-size:.875rem;line-height:1.5;color:#53616b}
