:root{
  --navy:#041C4A;
  --navy-deep:#031333;
  --gold:#D4A63A;
  --white:#F8F8F8;
  --muted:rgba(248,248,248,.84);
  --line:rgba(212,166,58,.38);
  --panel:rgba(3,19,51,.72);
  --radius:22px;
  --shadow:0 22px 55px rgba(0,0,0,.34);
  --maxw:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--white);
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 72%,#010817 100%);
  background-attachment:fixed;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 18% 8%,rgba(248,248,248,.035),transparent 32%),
    radial-gradient(circle at 82% 18%,rgba(212,166,58,.045),transparent 34%);
  opacity:.65;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:24px;top:16px;width:auto;height:auto;padding:10px 14px;background:var(--white);color:var(--navy);border-radius:12px;z-index:1000}

header,main,footer{position:relative;z-index:1}
header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(4,28,74,.97);
  border-bottom:1px solid var(--line);
}
.container{max-width:var(--maxw);margin:auto;padding:0 24px}
.nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  min-height:112px;
  padding:14px 0;
}
.brand{display:flex;align-items:center;min-width:190px}
.brand img{
  width:170px;
  height:96px;
  object-fit:cover;
  object-position:center;
  border-radius:0;
  background:var(--navy);
  box-shadow:none;
  filter:drop-shadow(0 0 22px rgba(46,168,255,.22));
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);
}
nav ul{display:flex;list-style:none;gap:8px;padding:0;margin:0;flex-wrap:wrap;justify-content:center}
nav a{
  font-weight:800;
  font-size:13px;
  padding:8px 10px;
  border-radius:12px;
  transition:.25s ease;
  color:var(--white);
  text-transform:uppercase;
  letter-spacing:.08em;
}
nav a:hover,nav a.active{border:1px solid var(--gold);color:var(--gold)}
.nav-cta{display:flex;align-items:center}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px;
  border-radius:10px;
  border:2px solid var(--gold);
  font-weight:800;
  cursor:pointer;
  background:var(--gold);
  color:var(--navy);
  box-shadow:0 10px 25px rgba(0,0,0,.16);
  transition:.25s ease;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.btn:hover{transform:translateY(-2px)}
.header-btn{background:transparent;color:var(--white);box-shadow:none}
.header-btn:hover{color:var(--gold)}

.home-hero-image,
.operations-image-section{
  background:var(--navy);
  overflow:hidden;
}
.home-hero-image{
  border-bottom:1px solid var(--line);
}
.operations-image-section{
  border-top:1px solid rgba(212,166,58,.18);
  border-bottom:1px solid var(--line);
}
.home-hero-image img,
.operations-image-section img{
  width:100%;
  height:auto;
  display:block;
}

.service-strip{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:22px 0;
  background:rgba(3,19,51,.86);
}
.strip-label{
  text-align:center;
  color:var(--gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin:0 0 14px;
}
.strip-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
}
.strip-grid div{
  border-left:1px solid rgba(212,166,58,.26);
  padding:12px;
  text-align:center;
  font-size:13px;
  font-weight:800;
  color:var(--white);
}

.section{padding:34px 0 64px}
.quick-impact{padding-top:28px}
.impact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.impact-grid div{
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  background:var(--panel);
}
.impact-grid strong{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
}
.impact-grid span{
  display:block;
  color:var(--muted);
  font-size:14px;
  margin-top:8px;
}

.hero,.oz-hero{padding:70px 0 40px}
.inner-hero{position:relative;overflow:hidden}
.hero-split,.grid,.cap-grid,.statements,.contact-layout,.footer-grid{display:grid;gap:18px}
.hero-split{grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.grid-2{grid-template-columns:repeat(2,1fr)}
.cap-grid{grid-template-columns:repeat(3,1fr)}
.statements{grid-template-columns:1fr 1fr}
.contact-layout{grid-template-columns:.9fr 1.1fr}
.footer-grid{grid-template-columns:2fr 1fr 1fr}

.hero-card,.panel,.card,.statement,.placeholder-panel,.email-card{
  padding:34px;
  border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(3,19,51,.80),rgba(4,28,74,.68));
  border:2px solid var(--line);
  box-shadow:var(--shadow);
}
.oz-hero-card{background:linear-gradient(135deg,rgba(3,19,51,.72),rgba(4,28,74,.56))}
.logo-stage{padding:0;border-radius:0;border:none;background:transparent;box-shadow:none;overflow:visible}
.logo-stage img{width:100%;height:auto;border-radius:0;background:var(--navy);box-shadow:none;filter:drop-shadow(0 0 45px rgba(46,168,255,.28))}
.kicker{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.h1{font-size:clamp(2.35rem,5vw,3.5rem);line-height:1.06;margin:10px 0 16px;color:var(--white)}
.lead,.sub{font-size:18px;line-height:1.72;color:var(--muted);margin:0 0 18px}
.sub{font-size:17px}
.strong-line{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.six-grid .card{text-align:center}
.capability-card .icon-dot{margin:0 auto 14px;width:48px;height:48px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;border-radius:16px;font-weight:900}
.card h3,.panel h2,.statement h3{margin:0 0 12px;line-height:1.25;color:var(--white)}
.card p,.panel p,.statement p{color:var(--muted)}
.center{text-align:center}
.placeholder-panel{min-height:260px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,rgba(212,166,58,.12),rgba(4,28,74,.62))}
.placeholder-panel.large{min-height:340px}
.photo-placeholder{height:180px;border-radius:16px;margin-bottom:18px;border:1px dashed rgba(248,248,248,.35);display:grid;place-items:center;text-align:center;color:var(--gold);font-size:13px;background:rgba(3,19,51,.52);padding:18px}
.contact-lines p{font-weight:800;color:var(--white)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,textarea{width:100%;margin-bottom:12px;padding:14px 15px;border-radius:12px;border:1px solid rgba(248,248,248,.22);background:rgba(3,19,51,.72);color:var(--white);font:inherit}
textarea{min-height:150px;resize:vertical}
footer{border-top:1px solid var(--line);padding:38px 0 40px;background:rgba(3,19,51,.90)}
.small{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 14px}
.sep{border:none;border-top:1px solid rgba(248,248,248,.14);margin:24px 0}

@media (max-width:980px){
  .grid-2,.cap-grid,.footer-grid,.statements,.hero-split,.contact-layout{grid-template-columns:1fr}
  .strip-grid,.impact-grid{grid-template-columns:repeat(2,1fr)}
  .brand img{width:132px;height:76px}
  .nav{align-items:flex-start}
}
@media (max-width:760px){
  .container{padding:0 18px}
  .nav{padding:10px 0;flex-direction:column;align-items:flex-start}
  .nav-cta{display:none}
  .hero-card,.panel,.card,.statement,.placeholder-panel{padding:24px}
  .strip-grid,.impact-grid,.form-grid{grid-template-columns:1fr}
}

/* Contact page New York skyline */
.city-skyline-section{
  width:100%;
  overflow:hidden;
  background:var(--navy);
  border-top:1px solid rgba(212,166,58,.25);
  border-bottom:1px solid var(--line);
}

.city-skyline-section img{
  width:100%;
  height:auto;
  display:block;
}

.contact-skyline{
  margin-top:12px;
}




/* CONTACT PAGE HEADER ADJUSTMENTS */
.contact-page header{
  min-height:132px;
}

.contact-page .nav{
  min-height:132px;
  padding:20px 0 10px;
}

.contact-page .brand img{
  width:210px;
  height:118px;
}

.contact-page .city-skyline-section{
  margin-top:0;
}

.contact-page main{
  padding-top:0;
}


/* CAREERS PAGE HEADER ADJUSTMENTS */
.careers-page header{
  min-height:132px;
}

.careers-page .nav{
  min-height:132px;
  padding:20px 0 10px;
}

.careers-page .brand img{
  width:210px;
  height:118px;
}

.careers-page .city-skyline-section{
  margin-top:0;
}

.careers-page main{
  padding-top:0;
}

/* OZ HOMEPAGE CORRECTIONS — COMPLETE OVERRIDE */

header{
  position:sticky;
  top:0;
  z-index:50;
  min-height:90px !important;
  backdrop-filter:blur(14px);
  background:rgba(4,28,74,.97) !important;
  border-bottom:1px solid var(--line);
}

.nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  min-height:90px !important;
  padding:2px 0 !important;
  flex-wrap:nowrap;
}

.brand{
  min-width:240px !important;
  width:240px !important;
  display:flex !important;
  align-items:center !important;
  flex-shrink:0;
}

.brand img{
  width:220px !important;
  height:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

nav{
  flex:1;
  min-width:0;
}

nav ul{
  display:flex;
  list-style:none;
  gap:6px;
  padding:0;
  margin:0;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  justify-content:center;
}

nav a{
  font-size:12px;
  padding:8px 8px;
}

.nav-cta{
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.header-btn{
  font-size:12px;
  padding:11px 13px;
  background:transparent !important;
  color:var(--white) !important;
  box-shadow:none !important;
}

.home-page main{
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  max-width:none !important;
  overflow-x:hidden !important;
}

.home-main-artwork-section{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
  background:var(--navy-deep);
  border:0 !important;
}

.home-main-artwork-section img{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.home-page footer{
  margin-top:0 !important;
  border-top:1px solid var(--line);
  padding:18px 0 !important;
  background:rgba(3,19,51,.90) !important;
  text-align:center;
}

.home-page footer .container{
  padding:0 24px;
}

.home-page footer p{
  margin:0;
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--white);
}

@media (max-width:980px){
  .brand{
    min-width:220px !important;
    width:220px !important;
  }

  .brand img{
    width:205px !important;
  }

  nav a{
    font-size:11px;
    padding:7px 6px;
  }

  .header-btn{
    font-size:11px;
    padding:10px 10px;
  }
}

@media (max-width:760px){
  .nav{
    flex-direction:column;
    align-items:flex-start;
    min-height:auto !important;
    padding:10px 0 !important;
  }

  nav ul{
    flex-wrap:wrap !important;
    white-space:normal !important;
    justify-content:flex-start;
  }

  .nav-cta{
    display:none;
  }
}

/* OZ ABOUT PAGE FIXES */

.about-page main{
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
  max-width:none !important;
  overflow-x:hidden !important;
}

.about-main-artwork-section{
  width:100vw !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
  background:var(--navy-deep);
  border:0 !important;
}

.about-main-artwork-section img{
  width:100vw !important;
  max-width:none !important;
  height:auto !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.about-page footer{
  margin-top:0 !important;
  border-top:1px solid var(--line);
  padding:18px 0 !important;
  background:rgba(3,19,51,.90) !important;
  text-align:center;
}

.about-page footer .container{
  padding:0 24px;
}

.about-page footer p{
  margin:0;
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--white);
}


/* OZ CAREERS PAGE FINAL */
.careers-artwork-section{width:100%;background:var(--navy);}
.careers-artwork-wrap{position:relative;width:100%;line-height:0;}
.careers-artwork-wrap img{width:100%;display:block;height:auto;}
.careers-real-button{
position:absolute;

/* New artwork button location: left-side gold button under "Ready To Make A Difference?" */
left:17.75%;
top:70.85%;
transform:translate(-50%,-50%);

width:30%;
height:7%;

display:block !important;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
padding:0 !important;
margin:0 !important;
font-size:0 !important;
color:transparent !important;
text-indent:-9999px;
overflow:hidden;
cursor:pointer !important;
z-index:9999;
pointer-events:auto !important;
}
.careers-page footer{margin-top:0!important;padding:18px 0!important;text-align:center;}
.careers-page footer p{margin:0;font-weight:800;text-transform:uppercase;}


/* OZ CONTACT PAGE FINAL */

.contact-page main{
    padding:0 !important;
    margin:0 !important;
    width:100% !important;
    max-width:none !important;
    overflow-x:hidden !important;
}

.contact-artwork-section{
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    line-height:0 !important;
    background:var(--navy-deep);
    border:0 !important;
}

.contact-artwork-section img{
    width:100vw !important;
    max-width:none !important;
    height:auto !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
}

.contact-page footer{
    margin-top:0 !important;
    border-top:1px solid var(--line);
    padding:18px 0 !important;
    background:rgba(3,19,51,.90) !important;
    text-align:center;
}

.contact-page footer p{
    margin:0;
    font-size:14px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--white);
}
