@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,200;0,300;0,400;0,500;0,600;1,300;1,400&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=Schibsted+Grotesk:wght@400;500;600&display=swap');

:root{
  --bg:#FCFBF9;
  --bg-2:#F4F0EA;
  --ink:#241F2E;
  --muted:#6B6577;
  --muted-2:#9C95A6;
  --purple:#4A2E82;
  --purple2:#6A45C0;
  --gold:#B8935A;
  --line:#E8E3DB;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Schibsted Grotesk',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6;}
a{color:inherit;}

/* NAV — recolored to match the dark navy #nav used on the rest of the site
   (#050B22); this component's own structure/classnames are unchanged, only
   its colors, and link/logo text is flipped light-on-dark for contrast. */
#navbar{position:sticky;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:1.7rem 4rem;background:#050B22;border-bottom:1px solid rgba(255,255,255,.1);transition:padding 0.3s,box-shadow 0.3s;}
#navbar.scrolled{padding:1.15rem 4rem;box-shadow:0 4px 16px -4px rgba(5,11,34,.35);}
.nav-logo{font-family:'Poppins',sans-serif;font-size:1.5rem;font-weight:500;color:#fff;text-decoration:none;white-space:nowrap;}
.nav-logo em{font-style:italic;color:#8B8CF0;}
.nav-links{display:flex;gap:2.6rem;list-style:none;align-items:center;}
.nav-links a{font-size:0.92rem;font-weight:500;color:rgba(255,255,255,.75);text-decoration:none;position:relative;transition:color 0.2s;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:#8B8CF0;transition:width 0.25s;}
.nav-links a:hover,.nav-links a.active{color:#fff;}
.nav-links a.active::after,.nav-links a:hover::after{width:100%;}
.nav-cta{font-size:0.86rem;font-weight:500;color:#fff;background:var(--purple);padding:0.72rem 1.7rem;border-radius:999px;text-decoration:none;transition:background 0.2s,transform 0.2s;white-space:nowrap;}
.nav-cta:hover{background:var(--purple2);transform:translateY(-1px);}
.nav-right{display:flex;align-items:center;gap:0.6rem;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px;margin-left:0.4rem;}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;transition:0.3s;}

/* HERO (home) */
.hero{position:relative;padding:12rem 4rem 6rem;text-align:center;overflow:hidden;}
.hero-orb{position:absolute;top:-25%;left:50%;width:70vw;height:70vw;max-width:820px;max-height:820px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(106,69,192,0.10),transparent 62%);will-change:transform;pointer-events:none;}
.hero-eyebrow{font-size:0.74rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--purple2);margin-bottom:1.8rem;position:relative;opacity:0;animation:fade 0.9s 0.1s forwards;}
.hero-title{font-family:'Poppins',sans-serif;font-weight:300;font-size:clamp(3rem,7.5vw,7rem);line-height:1;letter-spacing:-0.02em;position:relative;}
.line{display:block;overflow:hidden;}
.line>span{display:block;transform:translateY(110%);animation:lineUp 1s cubic-bezier(.16,1,.3,1) forwards;}
.line:nth-child(1)>span{animation-delay:0.25s;}
.line:nth-child(2)>span{animation-delay:0.42s;}
.hero-title em{font-style:italic;color:var(--purple2);font-weight:400;}
.hero-sub{font-size:1.1rem;line-height:1.7;color:var(--muted);max-width:560px;margin:2rem auto 0;position:relative;opacity:0;animation:fade 1s 0.7s forwards;}
.hero-stats{display:flex;justify-content:center;gap:4rem;margin-top:4rem;flex-wrap:wrap;position:relative;opacity:0;animation:fade 1s 0.85s forwards;}
.stat-num{font-family:'Poppins',sans-serif;font-weight:300;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;letter-spacing:-.01em;}
.stat-num em{font-style:normal;color:var(--purple2);}
.stat-label{font-size:0.74rem;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted-2);margin-top:0.5rem;}
@keyframes fade{to{opacity:1;}}
@keyframes lineUp{to{transform:translateY(0);}}

/* VIDEO BANNER */
.banner{position:relative;height:88vh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:#1c1230;}
.banner video,.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,18,48,0.25) 0%,rgba(28,18,48,0.20) 45%,rgba(28,18,48,0.82) 100%);}
.banner-inner{position:relative;z-index:2;padding:0 4rem 5rem;color:#fff;max-width:1180px;width:100%;margin:0 auto;}
.banner-eyebrow{font-size:0.74rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:#E9DEC8;margin-bottom:1.2rem;}
.banner-title{font-family:'Poppins',sans-serif;font-weight:300;font-size:clamp(2.6rem,6vw,5.4rem);line-height:1.02;letter-spacing:-0.02em;max-width:900px;}
.banner-title em{font-style:italic;color:#E9DEC8;font-weight:400;}
.banner-sub{font-size:1.05rem;line-height:1.6;color:rgba(255,255,255,0.78);max-width:560px;margin-top:1.4rem;}
.banner-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,#3a2566,#1c1230);}
.banner-placeholder span{font-family:'Sora',sans-serif;font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.35);}

/* PAGE HERO (inner pages) */
.page-hero{position:relative;padding:1.75rem 4rem 4rem;overflow:hidden;}
.page-hero .hero-orb{display:none;}
.page-eyebrow{font-family:'Poppins',sans-serif;font-size:0.74rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--purple2);margin-bottom:1.2rem;position:relative;}
/* Newsreader/400, matching the home page's heading system (its h2 and every other
   page's own hero title) -- was Poppins/300, the one page family that didn't match. */
.page-title{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(2.6rem,6vw,5rem);line-height:1.04;letter-spacing:-0.02em;position:relative;}
.page-title em{font-style:italic;color:var(--purple2);font-weight:400;}
.page-sub{font-size:1.08rem;line-height:1.7;color:var(--muted);max-width:620px;margin-top:1.4rem;position:relative;}

/* SECTIONS */
.sec{padding:6rem 4rem;max-width:1180px;margin:0 auto;}
.sec-tight{padding-top:2rem;}
.sec-bg{background:var(--bg-2);max-width:none;}
.sec-bg .sec-inner{max-width:1180px;margin:0 auto;}
.sec-head{text-align:center;margin-bottom:4rem;}
.sec-head.left{text-align:left;}
.sec-label{font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--purple2);margin-bottom:1rem;}
.sec-title{font-family:'Poppins',sans-serif;font-weight:300;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-0.02em;}
.sec-title em{font-style:italic;color:var(--purple2);font-weight:400;}

/* GENERIC TEXT / PROSE */
.lead{font-size:1.15rem;line-height:1.7;color:var(--muted);max-width:680px;}
.prose{max-width:720px;margin:0 auto;}
.prose p{font-size:1.02rem;line-height:1.85;color:var(--muted);}
.prose p+p{margin-top:1.3rem;}
.prose p:first-of-type::first-letter{font-family:'Poppins',sans-serif;font-size:3.4rem;font-weight:400;float:left;line-height:0.8;padding:0.3rem 0.6rem 0 0;color:var(--purple2);}
.prose strong{color:var(--ink);font-weight:600;}

/* MISSION / VISION (split) */
.mvv{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.mvv-card{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:2.6rem;}
.mvv-card .ico{font-family:'Poppins',sans-serif;font-style:italic;font-size:2rem;color:var(--gold);margin-bottom:0.8rem;}
.mvv-card h3{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.5rem;margin-bottom:0.7rem;}
.mvv-card p{font-size:0.96rem;line-height:1.7;color:var(--muted);}

/* CLIENTS MARQUEE */
.marquee-wrap{overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.marquee-track{display:flex;width:max-content;animation:scroll 44s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.cli{flex-shrink:0;padding:0 3rem;display:flex;align-items:center;}
.cli span{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.5rem;color:var(--muted-2);white-space:nowrap;transition:color 0.25s;}
.cli:hover span{color:var(--purple2);}

/* LOGO GRID */
.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;}
.logo-cell{background:var(--bg);min-height:108px;display:flex;align-items:center;justify-content:center;padding:1.5rem;font-family:'Poppins',sans-serif;font-size:1.15rem;color:var(--muted-2);text-align:center;transition:color 0.2s,background 0.2s;}
.logo-cell:hover{color:var(--purple2);background:#fff;}

/* CERTS — sticky stacking cards */
.certs-stack{display:flex;flex-direction:column;gap:2rem;}
.cert{position:sticky;top:7rem;background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:2.6rem 3rem;
  display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center;box-shadow:0 20px 50px -30px rgba(36,31,46,0.3);}
.cert:nth-child(1){top:6rem;}.cert:nth-child(2){top:7rem;}.cert:nth-child(3){top:8rem;}.cert:nth-child(4){top:9rem;}
.cert-badge{font-family:'Poppins',sans-serif;font-size:1.6rem;font-weight:500;color:var(--purple2);white-space:nowrap;min-width:120px;}
.cert-name{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:500;margin-bottom:0.5rem;}
.cert-desc{font-size:0.92rem;line-height:1.65;color:var(--muted);max-width:560px;}

/* CARD GRID (products, generic) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.8rem;}
.card{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:2.2rem;transition:transform 0.25s,box-shadow 0.25s;}
.card:hover{transform:translateY(-4px);box-shadow:0 28px 60px -34px rgba(36,31,46,0.35);}
.card-kicker{font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.8rem;}
.card h3{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.4rem;margin-bottom:0.6rem;}
.card p{font-size:0.92rem;line-height:1.65;color:var(--muted);}

/* TIMELINE */
.tl{max-width:760px;margin:0 auto;position:relative;padding-left:0.5rem;}
.tl-track{position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--line);}
.tl-fill{position:absolute;left:0;top:0;width:100%;height:0;background:linear-gradient(var(--purple2),var(--gold));}
.tl-row{position:relative;padding:0 0 3rem 2.6rem;}
.tl-row:last-child{padding-bottom:0;}
.tl-row::before{content:"";position:absolute;left:-5px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--muted-2);transition:border-color 0.3s,background 0.3s,transform 0.3s;}
.tl-row.lit::before{border-color:var(--purple2);background:var(--purple2);transform:scale(1.18);}
.tl-year{font-size:0.78rem;font-weight:600;letter-spacing:0.06em;color:var(--purple2);margin-bottom:0.4rem;}
.tl-head{display:flex;align-items:baseline;gap:0.9rem;flex-wrap:wrap;margin-bottom:0.45rem;}
.tl-title{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.5rem;}
.tl-tag{font-size:0.64rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);}
.tl-desc{font-size:0.92rem;line-height:1.65;color:var(--muted);max-width:600px;}

/* VALUES */
.values-wrap{max-width:1040px;margin:0 auto;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;}
.val{text-align:center;}
.val-num{font-family:'Poppins',sans-serif;font-style:italic;font-weight:400;font-size:2.6rem;color:var(--gold);line-height:1;margin-bottom:1rem;}
.val-name{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.3rem;margin-bottom:0.6rem;}
.val-desc{font-size:0.86rem;line-height:1.6;color:var(--muted);}

/* LEADERSHIP NOTE */
.note{max-width:980px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:start;}
.note+.note{margin-top:5rem;padding-top:5rem;border-top:1px solid var(--line);}
.note-photo{aspect-ratio:3/4;border-radius:18px;background:linear-gradient(160deg,var(--bg-2),#e6dccd);display:flex;align-items:center;justify-content:center;color:var(--muted-2);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;}
.note-role{font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--purple2);margin-bottom:0.6rem;}
.note-name{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.7rem;margin-bottom:1.4rem;}
.note-body p{font-size:0.98rem;line-height:1.85;color:var(--muted);}
.note-body p+p{margin-top:1rem;}

/* MAP / CONTACT */
.map{width:100%;height:340px;border-radius:18px;border:1px solid var(--line);background:repeating-linear-gradient(45deg,var(--bg-2),var(--bg-2) 14px,#efe9e0 14px,#efe9e0 28px);display:flex;align-items:center;justify-content:center;color:var(--muted-2);font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;}
.socials{display:flex;gap:1rem;margin-top:1.6rem;}
.social{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:rgba(252,251,249,0.85);text-decoration:none;border:1px solid rgba(255,255,255,0.2);border-radius:999px;padding:0.5rem 1rem;transition:border-color 0.2s,color 0.2s;}
.social:hover{color:var(--gold);border-color:var(--gold);}

/* CTA + FORM */
.cta{padding:7rem 4rem;background:#241640;color:var(--bg);position:relative;overflow:hidden;}
.cta-glow{position:absolute;bottom:-40%;right:-10%;width:60vw;height:60vw;max-width:700px;max-height:700px;background:radial-gradient(circle,rgba(184,147,90,0.16),transparent 60%);pointer-events:none;will-change:transform;}
.cta-inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;position:relative;}
.cta-title{font-family:'Poppins',sans-serif;font-weight:300;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-0.02em;}
.cta-title em{font-style:italic;color:var(--gold);font-weight:400;}
.cta-sub{font-size:1rem;line-height:1.6;color:rgba(252,251,249,0.6);margin-top:1.4rem;max-width:380px;}
.cta-contacts{margin-top:2.6rem;display:flex;flex-direction:column;gap:1.1rem;}
.cta-ci{display:flex;align-items:center;gap:0.9rem;color:rgba(252,251,249,0.85);text-decoration:none;font-size:0.92rem;transition:color 0.2s;}
.cta-ci:hover{color:var(--gold);}
.form{background:var(--bg);color:var(--ink);border-radius:22px;padding:2.6rem;box-shadow:0 40px 80px -30px rgba(0,0,0,0.5);}
.form-title{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.6rem;margin-bottom:1.7rem;}
.frow{display:flex;gap:1rem;}
.fg{margin-bottom:1.2rem;flex:1;}
.fg label{display:block;font-size:0.72rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);margin-bottom:0.45rem;}
.fg label .req{color:var(--purple2);}
.fg input,.fg textarea{width:100%;background:var(--bg-2);border:1px solid transparent;border-radius:12px;padding:0.8rem 0.95rem;font-family:'Inter',sans-serif;font-size:0.92rem;color:var(--ink);outline:none;transition:border-color 0.2s,background 0.2s,box-shadow 0.2s;}
.fg input:focus,.fg textarea:focus{background:#fff;border-color:var(--purple2);box-shadow:0 0 0 3px rgba(106,69,192,0.12);}
.fg textarea{resize:vertical;min-height:92px;}
.fsubmit{width:100%;font-size:0.88rem;font-weight:600;color:#fff;background:var(--purple);border:none;border-radius:999px;padding:1rem;cursor:pointer;transition:background 0.2s,transform 0.2s;margin-top:0.4rem;}
.fsubmit:hover{background:var(--purple2);transform:translateY(-1px);}
.form-success{display:none;text-align:center;padding:2rem 0;}
.form-success .chk{width:58px;height:58px;border-radius:50%;background:var(--purple);display:flex;align-items:center;justify-content:center;margin:0 auto 1.3rem;}
.form-success h3{font-family:'Poppins',sans-serif;font-weight:500;font-size:1.7rem;margin-bottom:0.5rem;}
.form-success p{font-size:0.9rem;line-height:1.55;color:var(--muted);}

/* WORK-IN-PROGRESS NOTE (placeholder content marker) */
.wip{max-width:640px;margin:2.5rem auto 0;border:1px dashed var(--muted-2);border-radius:14px;padding:1.2rem 1.4rem;background:rgba(184,147,90,0.06);}
.wip b{color:var(--purple2);}
.wip span{font-size:0.86rem;line-height:1.6;color:var(--muted);}

/* FOOTER */
footer{padding:2.4rem 4rem;background:#241640;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,0.05);flex-wrap:wrap;gap:0.8rem;}
.footer-logo{font-family:'Poppins',sans-serif;font-size:1.2rem;color:rgba(252,251,249,0.9);}
.footer-logo em{font-style:italic;color:var(--gold);}
.footer-tag{font-family:'Poppins',sans-serif;font-style:italic;font-size:0.95rem;color:rgba(252,251,249,0.65);}
.footer-copy{font-size:0.75rem;color:rgba(252,251,249,0.55);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 0.8s cubic-bezier(.16,1,.3,1),transform 0.8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:none;}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .line>span{transform:none;animation:none;}
  .hero-eyebrow,.hero-sub,.hero-stats{opacity:1;animation:none;}
  .marquee-track{animation:none;}
  .hero-orb,.cta-glow{transform:none!important;}
  .cert{position:static;}
}

@media(min-width:1700px){#navbar,.hero,.page-hero,.sec,.cta,.banner-inner{padding-left:8rem;padding-right:8rem;}}
@media(max-width:1024px){
  #navbar,#navbar.scrolled{padding-left:2rem;padding-right:2rem;}
  .nav-links{gap:1.3rem;}
  .hero{padding:9rem 2rem 4rem;}
  .page-hero{padding:1.5rem 2rem 3rem;}
  .sec,.cta{padding:5rem 2rem;}
  .banner-inner{padding:0 2rem 4rem;}
  
  .mvv{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:repeat(2,1fr);gap:3rem 2rem;}
  .cta-inner{grid-template-columns:1fr;gap:3rem;}
  .note{grid-template-columns:160px 1fr;gap:2rem;}
}
@media(max-width:768px){
  .nav-toggle{display:flex;}
  .nav-links{display:none;}
  .nav-links.open{transform:none;}
  .nav-links a{font-size:1.1rem;}
  #navbar,#navbar.scrolled{padding:1rem 1.3rem;}
  .hero{padding:8rem 1.3rem 3.5rem;}
  .page-hero{padding:1.25rem 1.3rem 2.5rem;}
  .sec,.cta{padding:4rem 1.3rem;}
  .banner{height:78vh;}
  .banner-inner{padding:0 1.3rem 3rem;}
  
  .hero-stats{gap:2rem;}
  .cert{position:static;grid-template-columns:1fr;gap:1rem;padding:2rem 1.6rem;}
  .values-grid{grid-template-columns:1fr;gap:2.5rem;}
  .note{grid-template-columns:1fr;gap:1.4rem;}
  .note-photo{max-width:200px;}
  .frow{flex-direction:column;gap:0;}
  footer{flex-direction:column;text-align:center;gap:0.6rem;}
}


nav .nav-logo{color:#fff!important;}
nav .nav-links a{color:rgba(255,255,255,.75)!important;}




/* FOOTER — now a shared component; see footer.css and footer.js. Nothing
   footer-related should be styled here. */
