/*
Theme Name: Northvaren Corporate Advisory
Theme URI: https://northvaren.com
Author: Northvaren Corporate Advisory LLC
Description: Private corporate theme for Northvaren Corporate Advisory LLC.
Version: 2.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: northvaren
*/

:root { --navy:#0a1d34; --steel:#3b5b6e; --gold:#c8a15a; --paper:#f3efe6; --mist:#dfe7ea; --white:#fff; --ink:#13283b; --muted:#63717b; --line:rgba(10,29,52,.18); --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; }
a { color:inherit; } img { max-width:100%; height:auto; }
.nv-container { width:min(calc(100% - 64px),var(--max)); margin-inline:auto; }
.nv-skip { position:absolute; left:-9999px; }
.nv-skip:focus { left:20px; top:20px; z-index:999; background:#fff; padding:12px 16px; }

.nv-header { position:sticky; top:0; z-index:50; background:rgba(243,239,230,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.nv-header__inner { min-height:92px; display:flex; align-items:center; gap:42px; }
.nv-brand { display:flex; align-items:center; text-decoration:none; }
.nv-brand img { width:218px; display:block; mix-blend-mode:multiply; }
.nv-nav { margin-left:auto; display:flex; align-items:center; gap:28px; }
.nv-nav > a { position:relative; color:var(--navy); text-decoration:none; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.nv-nav > a::after { content:""; position:absolute; left:0; right:100%; bottom:-11px; height:2px; background:var(--gold); transition:right .2s ease; }
.nv-nav > a:hover::after,.nv-nav > a:focus::after { right:0; }
.nv-lang { display:flex; gap:7px; margin-left:7px; padding-left:18px; border-left:1px solid var(--line); }
.nv-lang a { color:var(--muted); text-decoration:none; font-size:.7rem; font-weight:700; }
.nv-lang a.is-active { color:var(--gold); }
.nv-menu-toggle { display:none; margin-left:auto; border:0; background:transparent; color:var(--navy); font-size:1.5rem; }

.nv-hero { position:relative; min-height:720px; display:grid; align-items:center; overflow:hidden; color:var(--navy); background:var(--paper); }
.nv-hero::before { content:"N"; position:absolute; right:-2vw; top:40px; color:rgba(59,85,110,.075); font-size:min(56vw,700px); line-height:.9; font-weight:800; letter-spacing:-.12em; }
.nv-hero::after { content:""; position:absolute; left:0; top:0; bottom:0; width:18px; background:var(--gold); }
.nv-hero__inner { position:relative; z-index:1; padding-block:105px 70px; }
.nv-kicker { display:flex; align-items:center; gap:16px; color:var(--steel); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:800; }
.nv-kicker::before { content:""; width:48px; height:2px; background:var(--gold); }
.nv-hero h1 { max-width:930px; margin:28px 0; font-size:clamp(3.2rem,7vw,6.7rem); line-height:.94; letter-spacing:-.065em; font-weight:600; }
.nv-hero__copy { max-width:640px; margin-left:24%; color:var(--steel); font-size:clamp(1rem,1.7vw,1.28rem); }
.nv-actions { display:flex; flex-wrap:wrap; gap:22px; margin:38px 0 0 24%; }
.nv-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 4px; border:0; border-bottom:2px solid var(--gold); background:transparent; color:var(--navy); text-decoration:none; font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nv-btn::after { content:"↗"; margin-left:18px; font-size:1rem; }
.nv-btn:hover,.nv-btn:focus { color:var(--gold); }
.nv-btn--ghost { border-bottom-color:var(--navy); }
.nv-principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:85px; border-top:1px solid var(--line); }
.nv-principles > div { padding:22px 24px 0 0; border-right:1px solid var(--line); }
.nv-principles > div + div { padding-left:24px; }
.nv-principles > div:last-child { border-right:0; }
.nv-principles strong { display:block; color:var(--navy); font-size:.8rem; letter-spacing:.05em; text-transform:uppercase; }
.nv-principles span { color:var(--muted); font-size:.82rem; }

.nv-section { padding-block:120px; }
.nv-section--soft { background:var(--white); }
.nv-section--navy { background:var(--mist); color:var(--navy); }
.nv-section-head { display:grid; grid-template-columns:1.05fr .95fr; gap:110px; align-items:start; margin-bottom:70px; }
.nv-section-head h2 { max-width:660px; margin:18px 0 0; font-size:clamp(2.6rem,5vw,5.2rem); line-height:.98; letter-spacing:-.055em; font-weight:500; }
.nv-section-head p { margin:38px 0 0; color:var(--muted); font-size:1rem; }
.nv-section--navy .nv-section-head p { color:var(--steel); }

.nv-grid { display:block; border-top:1px solid var(--line); }
.nv-card { min-height:0; display:grid; grid-template-columns:90px minmax(230px,360px) 1fr; gap:28px; align-items:center; padding:31px 0; border:0; border-bottom:1px solid var(--line); background:transparent; }
.nv-card:hover { background:linear-gradient(90deg,transparent 0,rgba(200,161,90,.08) 35%,transparent 100%); }
.nv-card__num { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.16em; }
.nv-card h3 { margin:0; font-size:1.38rem; line-height:1.2; font-weight:600; }
.nv-card p { margin:0; max-width:620px; color:var(--muted); font-size:.94rem; }

.nv-sector-grid { display:grid; grid-template-columns:1fr; border-top:1px solid rgba(10,29,52,.25); }
.nv-sector { min-height:0; display:grid; grid-template-columns:52% 48%; align-items:center; padding:44px 0; border-bottom:1px solid rgba(10,29,52,.25); background:transparent; }
.nv-sector::before { display:none; }
.nv-sector h3 { margin:0; font-size:clamp(2rem,4vw,4rem); line-height:1; letter-spacing:-.04em; font-weight:500; }
.nv-sector p { margin:0; max-width:500px; color:var(--steel); font-size:.96rem; }

.nv-process { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; border:0; }
.nv-step { min-height:320px; margin:0; padding:34px 28px; border:1px solid var(--line); background:transparent; }
.nv-step:nth-child(even) { transform:translateY(54px); background:rgba(255,255,255,.45); }
.nv-step b { color:var(--gold); letter-spacing:.15em; }
.nv-step h3 { margin:120px 0 12px; font-size:1.14rem; text-transform:uppercase; letter-spacing:.08em; }
.nv-step p { margin:0; color:var(--muted); font-size:.9rem; }

#firm { background:var(--steel); color:#fff; }
.nv-about { display:grid; grid-template-columns:1.2fr .8fr; gap:90px; align-items:stretch; }
#firm .nv-kicker { color:#dce4e7; }
.nv-about h2 { margin:22px 0 30px; max-width:750px; font-size:clamp(2.6rem,5vw,5rem); line-height:.98; letter-spacing:-.05em; font-weight:500; }
.nv-about p { max-width:750px; color:rgba(255,255,255,.72); }
.nv-about__panel { display:flex; align-items:flex-end; padding:0 0 8px 42px; border-left:1px solid rgba(255,255,255,.3); background:transparent; }
.nv-about__panel ul { width:100%; padding:0; margin:0; list-style:none; }
.nv-about__panel li { padding:22px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.nv-about__panel span { display:block; margin-bottom:6px; color:#ead2a3; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; }

#contact { background:var(--gold); color:var(--navy); }
.nv-contact { display:grid; grid-template-columns:.82fr 1.18fr; gap:100px; }
.nv-contact .nv-kicker { color:var(--navy); }
.nv-contact .nv-kicker::before { background:var(--navy); }
.nv-contact h2 { margin:24px 0 22px; font-size:clamp(2.8rem,5.3vw,5.7rem); line-height:.94; letter-spacing:-.055em; font-weight:600; }
.nv-contact__details { margin-top:42px; }
.nv-contact__details a { display:block; margin:8px 0; color:var(--navy); text-decoration:none; font-weight:700; }
.nv-form { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.nv-field { display:grid; gap:8px; }
.nv-field--wide { grid-column:1/-1; }
.nv-field label { color:var(--navy); font-size:.7rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.nv-field input,.nv-field textarea { width:100%; border:0; border-bottom:1px solid rgba(10,29,52,.55); background:transparent; color:var(--navy); padding:13px 2px; font:inherit; }
.nv-field input:focus,.nv-field textarea:focus { outline:0; border-bottom-width:3px; }
.nv-field textarea { min-height:135px; resize:vertical; }
.nv-form .nv-btn { width:fit-content; border-bottom-color:var(--navy); }
.nv-notice { grid-column:1/-1; color:rgba(10,29,52,.68); font-size:.76rem; }
.nv-alert { margin-bottom:24px; padding:14px 16px; border-left:4px solid var(--navy); background:rgba(255,255,255,.35); }
.nv-hp { position:absolute!important; left:-9999px!important; }

.nv-footer { background:var(--paper); color:var(--muted); padding:64px 0 32px; }
.nv-footer__top { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }
.nv-footer__brand { color:var(--navy); font-size:1.05rem; font-weight:800; letter-spacing:.25em; }
.nv-footer__tag { color:var(--gold); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.nv-legal details { border-top:1px solid var(--line); padding:14px 0; }
.nv-legal summary { color:var(--navy); cursor:pointer; font-size:.84rem; font-weight:700; }
.nv-legal p { font-size:.76rem; line-height:1.6; }
.nv-footer__bottom { display:flex; justify-content:space-between; gap:30px; margin-top:46px; padding-top:22px; border-top:1px solid var(--line); font-size:.74rem; }

@media (max-width:980px) {
  .nv-menu-toggle { display:block; }
  .nv-nav { display:none; position:absolute; top:92px; left:0; right:0; padding:28px 32px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; }
  .nv-nav.is-open { display:flex; }
  .nv-lang { border-left:0; padding-left:0; }
  .nv-section-head,.nv-about,.nv-contact,.nv-footer__top { grid-template-columns:1fr; gap:42px; }
  .nv-card { grid-template-columns:70px 1fr; }
  .nv-card p { grid-column:2; }
  .nv-process { grid-template-columns:1fr 1fr; }
  .nv-step:nth-child(even) { transform:none; }
  .nv-about__panel { padding-left:0; border-left:0; }
}
@media (max-width:640px) {
  body { font-size:16px; }
  .nv-container { width:min(calc(100% - 36px),var(--max)); }
  .nv-brand img { width:185px; }
  .nv-hero { min-height:auto; }
  .nv-hero::after { width:7px; }
  .nv-hero__inner { padding-block:80px 55px; }
  .nv-hero__copy,.nv-actions { margin-left:0; }
  .nv-principles,.nv-process,.nv-form { grid-template-columns:1fr; }
  .nv-principles > div,.nv-principles > div + div { padding:17px 0; border-right:0; border-bottom:1px solid var(--line); }
  .nv-section { padding-block:82px; }
  .nv-section-head { margin-bottom:45px; }
  .nv-card { grid-template-columns:48px 1fr; gap:16px; }
  .nv-sector { grid-template-columns:1fr; gap:18px; }
  .nv-step { min-height:240px; }
  .nv-step h3 { margin-top:70px; }
  .nv-field--wide { grid-column:auto; }
  .nv-footer__bottom { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
