/*
Theme Name: NorthQ Corporate 2026 Review 2.3
Theme URI: https://www.northq.no/
Author: NorthQ AS / Custom Design
Description: Bespoke responsive corporate theme for NorthQ specialist services. Site content editable through WordPress pages.
Version: 2.3.0
Requires PHP: 7.4
Text Domain: northq
*/
:root{--navy:#061d30;--navy2:#102e43;--blue:#00b5d2;--orange:#f3a42c;--ink:#123044;--muted:#647989;--light:#f2f6f8;--line:#dce5ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}a:hover{color:#007e9a}.wrap{max-width:1180px;margin:auto;padding:0 28px}.top{background:#051523;color:#a7bfce;font-size:12px;letter-spacing:.06em}.top .wrap{display:flex;justify-content:flex-end;gap:22px;padding-top:8px;padding-bottom:8px}.nav{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 16px #001a2b18}.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:22px}.brand{font-size:33px;font-weight:800;letter-spacing:2px;color:#07344f;line-height:1}.brand span{color:#00a5cb}.menu{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.menu a:hover,.menu .current-menu-item a{color:#008fb5}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);padding:13px 20px;color:#082034!important;font-weight:800;font-size:13px;letter-spacing:.035em;border-radius:2px;transition:.2s}.btn:hover{background:#ffc268;transform:translateY(-2px)}.btn.outline{background:transparent;color:#fff!important;border:1px solid #91b2c2}.hero{min-height:620px;background:linear-gradient(90deg,#041827f2 0%,#061d30de 43%,#061d307d 100%),url('assets/hero.webp') center/cover;display:flex;align-items:center;color:#fff}.hero-content{max-width:820px;padding-top:65px;padding-bottom:75px}.eyebrow{font-size:12px;color:var(--blue);font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero h1{font-size:clamp(42px,5.5vw,76px);line-height:1.07;letter-spacing:-.035em;margin:19px 0 20px}.hero p{font-size:20px;line-height:1.6;color:#d3e0e8;max-width:670px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.metrics{background:var(--navy);color:#fff}.metrics .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.metric{padding:30px 22px;border-right:1px solid #365368}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric strong{display:block;font-size:15px}.metric small{color:#9bb4c4;text-transform:uppercase;letter-spacing:.07em;font-size:11px}.section{padding:90px 0}.section.alt{background:var(--light)}.section.dark{background:var(--navy);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}.section h2,.page-intro h1{font-size:clamp(30px,3.8vw,49px);line-height:1.17;letter-spacing:-.028em;margin:10px 0 14px}.section-lead{color:var(--muted);max-width:700px;font-size:17px}.dark .section-lead{color:#b2c7d2}.rule{width:60px;height:5px;background:var(--orange);margin:22px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);padding:30px;box-shadow:0 8px 25px #112b3a0a;display:flex;flex-direction:column;min-height:286px}.card.highlight{background:var(--navy2);color:#fff;border-color:var(--navy2)}.card .num{font-weight:900;color:#e2a045;font-size:14px}.card h3{font-size:23px;line-height:1.25;margin:14px 0}.card p{color:#647989;font-size:15px;flex:1}.card.highlight p{color:#b7cfda}.more{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#0086a4}.card.highlight .more{color:#5dd4e5}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split img{width:100%;height:490px;object-fit:cover}.checks{padding:0;list-style:none}.checks li{padding:11px 0 11px 28px;border-bottom:1px solid #dbe4e9;position:relative}.checks li:before{content:'✓';position:absolute;left:0;color:#009dc5;font-weight:900}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{border-top:3px solid var(--orange);padding-top:16px}.step b{display:block;color:var(--orange);font-size:15px}.step strong{font-size:23px}.step p{font-size:14px;color:#b2c6d3}.banner{background:linear-gradient(90deg,#0d3046f5,#0d3046d0),url('assets/platform.webp') center/cover;padding:78px 0;color:#fff}.banner .wrap{display:flex;gap:30px;justify-content:space-between;align-items:center}.banner h2{font-size:36px;line-height:1.2;margin:0}.footer{background:#041725;color:#fff;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer p,.footer a{color:#a7bdca;font-size:14px}.footer h4{font-size:12px;color:var(--blue);letter-spacing:.13em;text-transform:uppercase}.footnote{border-top:1px solid #355061;margin-top:45px;padding-top:20px;font-size:12px;color:#8099a8}.page-intro{background:linear-gradient(90deg,#061d30f0,#061d30c9),url('assets/hero.webp') center/cover;color:#fff;padding:92px 0}.page-intro p{color:#c8dce7;font-size:19px;max-width:740px}.page-body{padding:70px 0 100px}.copy{max-width:920px}.copy h2{font-size:30px;margin:34px 0 12px;line-height:1.25}.copy h3{font-size:21px;margin:25px 0 5px}.copy p,.copy li{color:#435d6d}.copy li{margin-bottom:8px}.copy ul{padding-left:24px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin:40px 0}.service-box{padding:25px;background:#f2f6f8;border-left:4px solid var(--orange)}.service-box h3{margin-top:0}.cta-strip{margin-top:60px;background:var(--navy);color:white;padding:35px;display:flex;gap:20px;align-items:center;justify-content:space-between}.cta-strip strong{font-size:23px}.contact-list a{color:#007e9a;text-decoration:underline}.mobile-trigger{display:none;background:none;border:1px solid #cad8df;padding:8px 12px;font-size:24px;color:var(--navy)}@media(max-width:900px){.mobile-trigger{display:block}.menu{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:22px 28px;flex-direction:column;align-items:flex-start;box-shadow:0 12px 20px #0002}.menu.open{display:flex}.cards,.steps{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:30px}.metrics .wrap{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:550px}}@media(max-width:600px){.wrap{padding:0 19px}.hero h1{font-size:43px}.hero p{font-size:17px}.section{padding:60px 0}.section-head,.banner .wrap,.cta-strip{display:block}.cards,.steps,.service-grid,.footer-grid{grid-template-columns:1fr}.metric{padding:17px!important}.top .wrap{justify-content:center}.split img{height:300px}.banner .btn,.cta-strip .btn{margin-top:18px}.brand{font-size:28px}}
.blh-cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.blh-cards{grid-template-columns:1fr}}

/* NorthQ brand and membership system, v1.2 */
.brand{display:inline-flex;align-items:center;min-width:160px}.brand .nq-logo,.brand img.custom-logo{display:block;width:auto;height:42px;max-width:205px;object-fit:contain}.nq-credentials{background:#f1f5f8;padding:64px 0;color:#0b3046}.nq-credentials h2{margin:9px 0 8px;font-size:clamp(1.6rem,2.7vw,2.4rem)}.nq-credentials p{max-width:670px;color:#56717c;line-height:1.6}.nq-cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px;max-width:760px}.nq-cert{border:1px solid #cbd8e1;background:#fff;padding:24px;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:134px;text-decoration:none;color:#12364a;gap:14px}.nq-cert strong{font-size:22px}.nq-cert-logo{width:auto;max-width:230px;max-height:80px;object-fit:contain}.nq-cert small{color:#47758b}.footer .brand img{max-width:205px}@media(max-width:640px){.nq-cert-grid{grid-template-columns:1fr}.brand .nq-logo{height:35px}}

/* Preserve original NorthQ proportions and colours on white logo panels. */
.brand .nq-logo{width:195px;height:auto;max-width:100%;object-fit:contain;filter:none}
.footer .brand{background:#fff;padding:14px 18px;border-radius:3px;min-width:0}
.footer .brand .nq-logo{width:190px;height:auto}
.nq-cert-logo{max-height:110px;max-width:230px;width:auto;height:auto;filter:none}
.nq-cert a{text-decoration:underline;color:#006982;font-size:14px}
.metrics .wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.menu{gap:13px;font-size:12px;letter-spacing:.02em}
@media(max-width:1100px){.menu{gap:9px;font-size:11px}.brand .nq-logo{width:165px}.nav-inner{gap:14px}}
@media(max-width:900px){.metrics .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.menu{font-size:13px}}
@media(max-width:500px){.metrics .wrap{grid-template-columns:1fr}.brand .nq-logo{width:165px}}

@media(max-width:500px){.hero h1{font-size:clamp(28px,9vw,40px);overflow-wrap:break-word}.page-intro h1{font-size:clamp(28px,9vw,38px);overflow-wrap:break-word}}

.nq-credentials .nq-cert-grid{margin:0 auto}.nq-credentials .nq-cert{align-items:center;justify-content:center;min-height:160px}

/* Bilingual navigation and accessible editorial components. */
.language-switch{display:flex;gap:12px}.language-switch a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:4px}
.top .wrap{flex-wrap:wrap}.skip-link{position:absolute;top:-100px;left:12px;z-index:1000;background:white;color:#061d30;padding:12px}.skip-link:focus{top:8px}
a:focus-visible,button:focus-visible{outline:3px solid #00b5d2;outline-offset:4px}
.breadcrumbs{font-size:13px;margin-bottom:18px}.breadcrumbs a{text-decoration:underline}
.related{border-top:1px solid #dce5ea;margin-top:50px;padding-top:24px}.related h2{font-size:24px}.related-links{display:flex;flex-wrap:wrap;gap:12px}.related-links a{background:#edf4f7;padding:10px 14px;text-decoration:underline}
.footer-heading{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#00b5d2}
.metrics a.metric{display:block;color:white}.metrics a.metric:hover{background:#163b50}
.hero h1{text-transform:uppercase;overflow-wrap:break-word;max-width:900px}
@media(min-width:901px) and (max-width:1180px){.menu{gap:8px;font-size:10px}.brand .nq-logo{width:150px}}
@media(max-width:900px){.menu{font-size:13px}.language-switch{gap:10px}.top .wrap{justify-content:center;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:0s!important;transition-duration:0s!important}}

/* Explicit language flags stay visible outside the mobile menu. */
.nav-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.nav .language-switch{display:flex;gap:4px}.language-option{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:40px;padding:4px 6px;border:1px solid transparent;border-radius:4px;color:#15354b;font-size:12px;letter-spacing:0;text-transform:none;line-height:1.2}.language-option img{display:block;width:28px;height:20px;object-fit:contain;border:1px solid #d0dbe1}.nav .language-option[aria-current]{color:#073650;border-color:#00a6bf;background:#edf8fa;text-decoration:none}.language-option:hover{background:#edf8fa}
.contact-form-section{margin-top:40px;padding:28px;background:#f1f6f8;border:1px solid #dae5eb;border-radius:8px}.nq-demo-form,.wpcf7-form{display:grid;gap:16px}.nq-demo-form label,.wpcf7-form label{display:block;font-weight:700;font-size:14px}.nq-demo-form input,.nq-demo-form select,.nq-demo-form textarea,.wpcf7-form input:not([type=submit]),.wpcf7-form select,.wpcf7-form textarea{display:block;width:100%;max-width:100%;padding:12px;border:1px solid #9db3bf;border-radius:3px;background:#fff;color:#123044;font:inherit;margin-top:5px}.nq-demo-form textarea,.wpcf7-form textarea{min-height:150px;resize:vertical}.form-hint{font-size:13px;color:#456172}.form-demo-notice{background:#fff3da;color:#644508;padding:12px;font-size:13px}.nq-form-feedback{border-left:4px solid #00839b;padding:12px;background:#e7f4f5}.wpcf7 input[type=submit]{cursor:pointer;border:0}.wpcf7 form p{margin:0}
@media(min-width:1181px){.nav-inner{gap:12px}.nav .brand .nq-logo{width:160px}.nav .menu{gap:9px;font-size:10px}.language-label{display:inline;font-size:11px}}
@media(max-width:1180px){.nav .menu{display:none;position:absolute;top:100%;left:0;right:0;width:100%;background:#fff;padding:22px 28px;box-shadow:0 8px 15px #001a2b22}.nav .menu.open{display:flex;flex-direction:column;align-items:stretch;font-size:13px;gap:10px}.nav .mobile-trigger{display:block}.nav-inner{justify-content:space-between}.nav .brand{min-width:0}.nav .brand .nq-logo{width:165px}.language-label{display:inline;font-size:11px}}
@media(max-width:500px){.nav-inner{padding-left:18px;padding-right:18px;gap:8px}.nav .brand .nq-logo{width:112px}.nav-tools{gap:4px}.nav .language-switch{gap:2px}.language-option{min-width:34px;padding:3px}.nav .mobile-trigger{padding:7px 9px;font-size:22px}.contact-form-section{padding:18px}.top .wrap{gap:12px;font-size:11px}}

/* Keep both language names visible, including narrow mobile headers. */
@media(max-width:600px){.nav .brand .nq-logo{width:112px}.nav-inner{gap:6px}.nav-tools{gap:4px}.language-option{flex-direction:column;gap:2px;padding:3px;min-width:42px}.language-label{display:block;font-size:10px;line-height:1.2}.language-switch{gap:2px}.nav .mobile-trigger{padding:5px;min-width:32px}}
