:root{
  /* Light corporate theme. Variable names kept from the dark version
     for minimal diff — --cream/--cream-dim are now the dark text
     colors, --bg is now white, --panel is a light card surface. */
  --bg:#FEFDFB; --bg-deep:#14201B; --panel:#FFFFFF; --panel-2:#F6F4EE;
  --gold:#A6721E; --gold-bright:#8A5A14;
  --cream:#1A2420; --cream-dim:#5E655F; --sage:#4F8F6C;
  --line:rgba(20,24,21,0.10); --line-strong:rgba(20,24,21,0.18);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--cream);font-family:'Schibsted Grotesk',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--gold);color:var(--bg-deep);}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px;}
em{font-style:italic;color:var(--gold-bright);}

/* Accessibility: visible keyboard focus everywhere, respecting reduced motion */
a:focus-visible, button:focus-visible{outline:2px solid var(--gold); outline-offset:2px; border-radius:2px;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

.skip-link{
  position:absolute; left:12px; top:-48px; z-index:100;
  background:var(--gold); color:#fff; font-weight:600; font-size:14px;
  padding:10px 16px; border-radius:4px; transition:top .15s ease;
}
.skip-link:focus{top:12px;}

header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;background:rgba(254,253,251,0.9);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(20,24,21,0.03);}
.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;max-width:1080px;margin:0 auto;}
.mark{font-family:'Schibsted Grotesk',sans-serif;font-weight:800;font-size:22px;letter-spacing:-0.02em;display:inline-flex;align-items:baseline;gap:8px;}
.mark span:not(.mark-inc){color:var(--gold);}
.mark-inc{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--cream-dim);border:1px solid var(--line-strong);padding:3px 7px;border-radius:3px;}
.navlinks{display:flex;gap:28px;align-items:center;font-size:13.5px;color:var(--cream-dim);}
.navlinks a:hover{color:var(--gold);}
.navlinks .cta-btn{border:1px solid var(--line-strong);color:var(--gold);padding:8px 16px;border-radius:3px;transition:all .15s ease;}
.navlinks .cta-btn:hover{background:var(--gold);color:var(--bg-deep);border-color:var(--gold);}

/* Mobile hamburger button — hidden on desktop */
.menu-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; background:none; border:1px solid var(--line-strong);
  border-radius:4px; cursor:pointer; padding:0;
}
.menu-bar{display:block; width:20px; height:2px; background:var(--cream); margin:0 auto; transition:transform .2s ease, opacity .2s ease;}
.menu-toggle[aria-expanded="true"] .menu-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-bar:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] .menu-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile drawer menu — hidden until opened, hidden entirely on desktop */
.mobile-menu{
  display:none; flex-direction:column; gap:2px;
  max-height:0; overflow:hidden; border-top:0 solid var(--line);
  transition:max-height .25s ease;
}
.mobile-menu.open{max-height:260px; border-top-width:1px;}
.mobile-menu a{
  padding:16px 32px; font-size:15px; color:var(--cream); border-bottom:1px solid var(--line);
}
.mobile-menu a.cta-btn{color:var(--gold); font-weight:600;}

@media(max-width:700px){
  .navlinks{display:none;}
  .menu-toggle{display:flex;}
  .mobile-menu{display:flex;}
}
@media(max-width:480px){
  .wrap{padding:0 20px;}
  .hero{padding:56px 20px 44px;}
  .about{padding:44px 20px;}
  .bridge{padding:36px 20px;}
  .bridge p{padding:18px 20px;}
  .cta-band{padding:52px 20px;}
  .dir{padding-left:20px;padding-right:20px;}
  .dir-head{padding-left:20px;padding-right:20px;}
  footer{padding:40px 20px 28px;}
}

/* HERO */
.hero{padding:88px 32px 60px;}
.eyebrow{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
h1.display{font-family:'Schibsted Grotesk',sans-serif;font-weight:500;font-size:clamp(28px,4.4vw,44px);line-height:1.28;max-width:800px;margin-bottom:22px;}
.lede{max-width:560px;color:var(--cream-dim);font-size:16px;line-height:1.7;margin-bottom:18px;}

/* ABOUT / OPERATE / CUSTOM - shared two-column layout */
.about{padding:60px 32px;border-top:1px solid var(--line);}
.about-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:start;}
.about-label{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:16px;}
.about-grid h2{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:26px;line-height:1.32;color:var(--cream);max-width:320px;}
.about-copy p{font-size:15px;color:var(--cream-dim);line-height:1.8;margin-bottom:18px;}
.about-copy p:last-child{margin-bottom:0;}
@media(max-width:820px){.about-grid{grid-template-columns:1fr;gap:28px;}.about-grid h2{max-width:100%;}}

/* BRIDGE STATEMENT */
.bridge{padding:48px 32px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.bridge p{font-family:'Schibsted Grotesk',sans-serif;font-size:clamp(18px,2.4vw,24px);color:var(--cream);max-width:680px;margin:0 auto;line-height:1.5;border:1px solid var(--line-strong);border-radius:6px;padding:22px 30px;}

/* PORTFOLIO INTRO */
.dir-head{padding:56px 32px 0;max-width:760px;margin:0 auto;}
.dir-head h2{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:clamp(24px,3.4vw,32px);color:var(--cream);margin:14px 0 18px;}
.dir-head p{color:var(--cream-dim);font-size:14.5px;line-height:1.75;margin-bottom:14px;}
.dir-head p:last-child{margin-bottom:0;}

/* PORTFOLIO CARDS - fancier treatment */
.dir{padding:44px 32px 100px;}
.cards{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.card{
  position:relative;background:var(--panel);border:1px solid var(--line-strong);border-radius:16px;
  padding:30px 28px 26px;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb, var(--accent) 55%, var(--line-strong));
  box-shadow:0 20px 38px -22px rgba(20,24,21,0.18), 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent) inset;
}
.card-top{position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0.7;transition:opacity .25s ease, height .25s ease;}
.card:hover .card-top{opacity:1;height:4px;}
.card-head{display:flex;justify-content:flex-end;margin-bottom:16px;}
.card-head.with-logo{justify-content:space-between;align-items:center;}
.card-logo{height:30px;width:auto;display:block;}
.card h3{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:23px;margin-bottom:3px;}
.sector{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:10.5px;text-transform:uppercase;color:var(--accent);letter-spacing:0.06em;display:block;margin-bottom:14px;}
.tag{font-style:italic;color:var(--cream);font-size:14.5px;margin-bottom:10px;}
.desc{font-size:13.5px;color:var(--cream-dim);line-height:1.65;margin-bottom:22px;min-height:78px;}
.card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;}
.status5{font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:9.5px;text-transform:uppercase;letter-spacing:0.04em;padding:4px 10px;border-radius:100px;}
.status5.live{color:#0F1D19;background:var(--sage);}
.status5.beta{color:#0F1D19;background:var(--gold);}
.status5.wait{color:var(--cream-dim);background:rgba(238,230,211,0.08);border:1px solid var(--line-strong);}
.visit{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:12.5px;color:var(--cream);border-bottom:1px solid var(--accent);display:inline-flex;align-items:center;gap:5px;transition:color .2s ease;}
.visit:hover{color:var(--accent);}
.visit .a{transition:transform .2s ease;}
.visit:hover .a{transform:translateX(3px);}
@media(max-width:760px){.cards{grid-template-columns:1fr;}}
.card:last-child{grid-column:1 / -1;}
.card:last-child .desc{max-width:640px;}

/* CTA */
.cta-band{padding:72px 32px;border-top:1px solid var(--line);max-width:1080px;margin:0 auto;}
.cta-band h3{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:clamp(24px,3.4vw,32px);max-width:600px;margin:12px 0 16px;}
.cta-band p{max-width:520px;color:var(--cream-dim);font-size:14.5px;line-height:1.7;margin-bottom:26px;}
.cta-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.btn-gold{background:var(--gold);color:var(--bg-deep);padding:12px 24px;border-radius:3px;font-size:13.5px;font-weight:600;transition:background .15s ease;}
.btn-gold:hover{background:var(--gold-bright);}
.btn-outline{border:1px solid var(--line-strong);color:var(--cream);padding:12px 24px;border-radius:3px;font-size:13.5px;transition:all .15s ease;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}

footer{padding:44px 32px 36px;border-top:1px solid var(--line);}
.f-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.3fr 0.7fr 0.7fr;gap:40px;padding-bottom:26px;border-bottom:1px solid var(--line);}
.f-mark{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:18px;margin-bottom:10px;}
.f-mark span{color:var(--gold);}
.f-inner p.desc-f{font-size:12.5px;color:var(--cream-dim);max-width:300px;line-height:1.65;}
.f-col h5{font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gold);margin-bottom:12px;}
.f-col a{display:block;font-size:12.5px;color:var(--cream-dim);margin-bottom:8px;}
.f-col a:hover{color:var(--gold);}
.f-bottom{max-width:1080px;margin:20px auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;color:#5A6158;}
@media(max-width:760px){.f-inner{grid-template-columns:1fr;gap:24px;}}

.signatory{
  max-width:1080px;margin:28px auto 0;padding-top:20px;border-top:1px solid var(--line);
  text-align:center;
}
.signatory-line{font-family:'Schibsted Grotesk',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:0.03em;color:#8A9088;}
