/* ── Fonts ── */
@font-face { font-family:"Sora"; font-weight:400; font-display:swap; src:url("fonts/sora-400.woff2") format("woff2"); }
@font-face { font-family:"Sora"; font-weight:500; font-display:swap; src:url("fonts/sora-500.woff2") format("woff2"); }
@font-face { font-family:"Sora"; font-weight:600; font-display:swap; src:url("fonts/sora-600.woff2") format("woff2"); }
@font-face { font-family:"Sora"; font-weight:700; font-display:swap; src:url("fonts/sora-700.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-weight:400; font-display:swap; src:url("fonts/inter-400.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-weight:500; font-display:swap; src:url("fonts/inter-500.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-weight:600; font-display:swap; src:url("fonts/inter-600.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-weight:700; font-display:swap; src:url("fonts/inter-700.woff2") format("woff2"); }

/* ── Tokens ── */
:root {
  --neutral-darkest:#010807; --neutral-darker:#1a201f; --neutral-dark:#4d5251;
  --neutral:#808383; --neutral-light:#b2b4b4; --neutral-lighter:#d8d9d9;
  --neutral-lightest:#f2f2f2; --white:#fff;
  --azure:#0a74ff; --azure-dark:#085ccc; --azure-darker:#042e66; --azure-darkest:#03224c;
  --azure-lightest:#e6f1ff;
  --border-light:rgba(1,8,7,.15); --border-dark:rgba(255,255,255,.2);
  --font-heading:"Julius Sans One","Sora",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --h1:5.25rem; --h2:3.75rem; --h3:3rem;
}

/* ── Reset ── */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--font-body);color:var(--neutral-darkest);background:var(--white);-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
button{font-family:inherit;}
a{color:inherit;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;letter-spacing:-.01em;margin:0;}

/* ── Schemes ── */
.scheme-1{background:var(--azure-darkest);color:#fff;}
.scheme-2{background:#fff;color:var(--neutral-darkest);}
.scheme-3{background:var(--neutral-lighter);color:var(--neutral-darkest);}
.scheme-4{background:var(--azure-darker);color:#fff;}

/* ── Layout ── */
.nv-container{max-width:80rem;margin-inline:auto;}
.nv-section{padding-block:7rem;padding-inline:5%;}
.nv-eyebrow{font-family:var(--font-body);font-weight:600;font-size:1.125rem;margin:0 0 .75rem;}
.material-symbols-rounded{font-variation-settings:'wght' 500;}

/* ── Page transition ── */
.nv-page{animation:nvfade .45s ease;}
@keyframes nvfade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.nv-page{animation:none;}}

/* ── Fees mobile ── */
.nv-fees-mobile{ display:none; }

/* ── Navbar Contact button ── */
.shadow__btn{padding:10px 20px;border:none;font-size:.95rem;color:#fff;border-radius:7px;letter-spacing:4px;font-weight:700;text-transform:uppercase;cursor:pointer;font-family:var(--font-body);transition:.5s;transition-property:box-shadow;background:rgb(0,140,255);box-shadow:0 0 25px rgb(0,140,255);}
.shadow__btn:hover{box-shadow:0 0 5px rgb(0,140,255),0 0 25px rgb(0,140,255),0 0 50px rgb(0,140,255),0 0 100px rgb(0,140,255);}

/* ── Popup contact form (brutalist, brand colors) ── */
.nv-pop-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(1,8,7,.55);animation:nvpopfade .3s ease;}
@keyframes nvpopfade{from{opacity:0;}to{opacity:1;}}
.nv-pop{--input-focus:var(--azure);--font-color:var(--neutral-darkest);--font-color-sub:var(--neutral-dark);--bg-color:#fff;--main-color:var(--neutral-darkest);
  position:relative;padding:28px;background:var(--azure-lightest);display:flex;flex-direction:column;gap:18px;border-radius:8px;border:2px solid var(--main-color);box-shadow:6px 6px var(--main-color);width:100%;max-width:380px;animation:nvpopin .35s cubic-bezier(.2,.9,.3,1.2);}
@keyframes nvpopin{from{opacity:0;transform:translateY(16px) scale(.96);}to{opacity:1;transform:none;}}
.nv-pop-title{color:var(--font-color);font-family:var(--font-heading);font-weight:600;font-size:1.5rem;line-height:1.15;margin:0;}
.nv-pop-title span{display:block;color:var(--font-color-sub);font-family:var(--font-body);font-weight:600;font-size:1rem;margin-top:6px;}
.nv-pop-input{width:100%;height:42px;border-radius:5px;border:2px solid var(--main-color);background:var(--bg-color);box-shadow:4px 4px var(--main-color);font-size:.95rem;font-weight:500;font-family:var(--font-body);color:var(--font-color);padding:5px 12px;outline:none;transition:border-color .15s;}
.nv-pop-input::placeholder{color:var(--font-color-sub);opacity:.8;}
.nv-pop-input:focus{border-color:var(--input-focus);}
textarea.nv-pop-input{height:auto;min-height:80px;resize:vertical;padding-top:9px;}
.nv-pop-row{display:flex;gap:14px;}
.nv-pop-agree{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--font-color-sub);cursor:pointer;}
.nv-pop-agree input{accent-color:var(--azure);width:16px;height:16px;}
.nv-pop-confirm{margin-top:4px;width:100%;height:44px;border-radius:5px;border:2px solid var(--main-color);background:var(--azure);box-shadow:4px 4px var(--main-color);font-size:1rem;font-weight:700;font-family:var(--font-body);color:#fff;cursor:pointer;transition:.15s;}
.nv-pop-confirm:active{box-shadow:0 0 var(--main-color);transform:translate(4px,4px);}
.nv-pop-confirm:disabled{opacity:.6;cursor:default;}
.nv-pop-close{position:absolute;top:10px;right:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:2px solid var(--main-color);background:var(--bg-color);box-shadow:3px 3px var(--main-color);border-radius:5px;cursor:pointer;color:var(--font-color);}
.nv-pop-close:active{box-shadow:0 0 var(--main-color);transform:translate(3px,3px);}
.nv-pop-error{margin:0;color:#b00020;font-size:.85rem;display:flex;align-items:center;gap:6px;}
.nv-pop-success{text-align:center;padding:18px 4px;}

/* ── Responsive ── */
@media(max-width:991px){
  :root{ --h1:3rem; --h2:2.75rem; --h3:2rem; }
  .nv-section{padding-block:4rem;}
  .nv-hero-grid, .nv-services-grid, .nv-split, .nv-feature-3{ grid-template-columns:1fr !important; }
  .nv-desktop-nav{ display:none !important; }
  .nv-mobile-toggle{ display:inline-flex !important; }
  .nv-footer-top{ grid-template-columns:1fr !important; justify-items:start !important; gap:20px !important; }
  .nv-footer-links{ justify-content:flex-start !important; }
  .nv-footer-socials{ justify-self:start !important; }
  .nv-form-2col{ grid-template-columns:1fr !important; }
  .nv-who-grid{ grid-template-columns:1fr !important; }
  .nv-fees-table-wrap{ display:none; }
  .nv-fees-mobile{ display:block; }
  .nv-hero-illu{ opacity:.22; max-width:80% !important; height:auto !important; width:90% !important; right:5% !important; }
}
