:root{
  --bg:#0b0d0d;
  --panel:#121616;
  --panel2:#171c1b;
  --text:#f5f3ed;
  --muted:#b7b9b4;
  --line:#2b3331;
  --accent:#20a7e8;
  --accent2:#dff7ff;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(92%,var(--max));margin:0 auto}
.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--accent2);font-weight:700}
h1,h2,h3{line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(3rem,7vw,6.8rem);max-width:950px}
h2{font-size:clamp(2.2rem,4vw,4.5rem)}
h3{font-size:1.45rem}
p{color:var(--muted);margin:0 0 18px}
.btn{
  display:inline-block;padding:15px 22px;border-radius:999px;
  background:var(--accent);color:#0d0e0e;font-weight:800;margin-right:10px;
}
.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}
header{
  position:sticky;top:0;z-index:20;background:rgba(11,13,13,.9);
  backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)
}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{font-weight:900;letter-spacing:.18em;font-size:.95rem}
.navlinks{display:flex;gap:24px;align-items:center;font-size:.92rem}
.menu{display:none;background:none;border:0;color:white;font-size:1.5rem}
.hero{
  min-height:84vh;display:grid;align-items:end;padding:80px 0;
  background:
    linear-gradient(180deg,rgba(11,13,13,.18),rgba(11,13,13,.92)),
    radial-gradient(circle at 70% 20%,rgba(24,119,201,.18),transparent 35%),
    linear-gradient(135deg,#1e2623 0%,#0b0d0d 60%);
}
.hero p{max-width:760px;font-size:1.15rem}
.hero-actions{margin-top:28px}
.hero-note{margin-top:38px;color:#dfd7ca;font-size:.9rem}
.section{padding:100px 0}
.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.card{
  border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--panel2));
  border-radius:24px;padding:30px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end
}
.card .num{font-size:.78rem;color:var(--accent2);letter-spacing:.12em;margin-bottom:auto}
.card a{margin-top:10px;color:var(--accent2);font-weight:700}
.media{
  min-height:480px;border-radius:28px;border:1px solid var(--line);
  background:
    linear-gradient(180deg,transparent,rgba(0,0,0,.55)),
    radial-gradient(circle at 30% 30%,rgba(24,119,201,.30),transparent 30%),
    linear-gradient(135deg,#35443f,#151918);
  position:relative;overflow:hidden
}
.media:after{
  content:"Replace with your best Onyx project photo/video";
  position:absolute;left:24px;bottom:22px;color:#efe7dc;font-size:.9rem
}
.band{background:#ece7de;color:#101313}
.band p{color:#4d5552}
.band .eyebrow{color:#1767aa}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:34px}
.step{border-top:1px solid #a8bfd1;padding-top:18px}
.step b{display:block;margin-bottom:8px}
.testimonial{
  font-size:clamp(1.5rem,3vw,2.6rem);max-width:900px;color:#f2eee8;
  padding-left:28px;border-left:3px solid var(--accent)
}
.cta{
  border:1px solid var(--line);border-radius:30px;padding:44px;
  background:linear-gradient(135deg,#171d1b,#0e1110)
}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
input,select,textarea{
  width:100%;padding:15px 16px;border-radius:14px;border:1px solid var(--line);
  background:#0f1211;color:white;font:inherit
}
textarea{grid-column:1/-1;min-height:140px}
.full{grid-column:1/-1}
button[type=submit]{border:0;cursor:pointer}
footer{padding:46px 0;border-top:1px solid var(--line);color:var(--muted)}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.page-hero{padding:110px 0 70px;background:linear-gradient(135deg,#1b211f,#0b0d0d)}
.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;margin:26px 0}
.feature-list div{padding:12px 0;border-bottom:1px solid var(--line);color:#ddd8cf}
.small{font-size:.88rem}
@media(max-width:850px){
  .navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:#0b0d0d;padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .navlinks.open{display:flex}.menu{display:block}
  .grid-2,.cards,.process{grid-template-columns:1fr}
  .hero{min-height:72vh}
  form{grid-template-columns:1fr}
  textarea,.full{grid-column:auto}
}
/* Live-water homepage hero */
.hero{position:relative;overflow:hidden;background:#0b0d0d;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,7,.22),rgba(6,8,7,.40) 48%,rgba(6,8,7,.92));z-index:1;}
.hero .container{position:relative;z-index:2;}
.project-photo{width:100%;height:100%;object-fit:cover;border-radius:28px;}
.media.has-photo:after{display:none;}
@media(max-width:850px){.hero-video{object-position:center center;}}


/* --- Full visual build additions --- */
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.hero{position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(5,8,8,.25),rgba(5,8,8,.80) 78%,rgba(5,8,8,.95));
}
.hero .container{position:relative;z-index:2}
.visual-grid{
  display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:38px
}
.visual-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.visual-card{
  position:relative;overflow:hidden;border-radius:24px;min-height:320px;border:1px solid var(--line);background:#111
}
.visual-card.tall{min-height:658px}
.visual-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.visual-card::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.65));
}
.visual-card .caption{position:absolute;left:20px;bottom:16px;z-index:2;font-weight:700}
.project-story{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px
}
.story-card{border-radius:24px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.story-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.story-card div{padding:20px}
.story-card b{display:block;margin-bottom:7px}
.gallery{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px
}
.gallery img{
  width:100%;height:260px;object-fit:cover;border-radius:18px;border:1px solid var(--line)
}
.gallery img:nth-child(3n+1){grid-row:span 2;height:534px}
.media-photo{
  min-height:480px;border-radius:28px;overflow:hidden;border:1px solid var(--line)
}
.media-photo img{width:100%;height:100%;min-height:480px;object-fit:cover}
.proof-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px
}
.proof-strip div{border-top:1px solid var(--line);padding-top:13px;color:#ddd8cf}
@media(max-width:900px){
  .visual-grid,.visual-stack,.project-story,.gallery,.proof-strip{grid-template-columns:1fr 1fr}
  .visual-card.tall{min-height:420px}
  .gallery img,.gallery img:nth-child(3n+1){height:280px;grid-row:auto}
}
@media(max-width:620px){
  .visual-grid,.visual-stack,.project-story,.gallery,.proof-strip{grid-template-columns:1fr}
  .visual-card,.visual-card.tall{min-height:360px}
}


/* Contact / licensing additions */
.topbar{
  background:#090b0b;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-size:.78rem;
  color:#c8c9c5;
}
.topbar-inner{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.topbar a{color:#e6e0d6}
.contact-details{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:18px;
  padding:18px 20px;
  margin:0 0 24px;
}
.contact-details a{color:var(--accent2)}
footer a{color:var(--accent2)}
@media(max-width:700px){
  .topbar-inner{
    flex-direction:column;
    align-items:flex-start;
    padding:8px 0;
    gap:2px;
  }
}


/* --- Onyx logo + blue-to-white brand treatment --- */
:root{
  --onyx-blue:#20a7e8;
  --onyx-blue-deep:#0c6fb8;
  --onyx-ice:#dff7ff;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  letter-spacing:0;
}
.brand img{
  height:48px;
  width:auto;
  object-fit:contain;
  mix-blend-mode:screen;
}
.btn{
  background:linear-gradient(90deg,var(--onyx-blue-deep),var(--onyx-blue),var(--onyx-ice));
  color:#061015;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}
.btn.secondary{
  background:transparent;
  color:var(--onyx-ice);
  border:1px solid var(--onyx-blue);
}
.eyebrow,
.card a,
.contact-details a,
footer a,
.topbar a{
  background:linear-gradient(90deg,var(--onyx-blue),var(--onyx-ice));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
h1 .accent,
h2 .accent{
  background:linear-gradient(90deg,var(--onyx-blue),var(--onyx-ice));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
header{
  border-bottom:1px solid rgba(32,167,232,.18);
}
.card,.cta,.media-photo,.visual-card,.story-card{
  border-color:rgba(32,167,232,.22);
}
footer{
  border-top:1px solid rgba(32,167,232,.25);
}
.topbar{
  border-bottom:1px solid rgba(32,167,232,.15);
}


/* --- Final logo/header treatment --- */
header{
  background:rgba(8,12,15,.96);
}
.brand img{
  height:82px !important;
  width:auto;
  max-width:310px;
  mix-blend-mode:normal !important;
}
.nav{
  min-height:104px;
  height:auto;
}
footer img{
  height:92px !important;
  width:auto !important;
  mix-blend-mode:normal !important;
}
@media(max-width:850px){
  .brand img{height:64px !important;max-width:225px}
  .nav{min-height:82px}
}

/* SEO / AI launch-ready content */
.faq-list{max-width:900px;margin-top:28px}
.faq-list details{border-top:1px solid var(--line);padding:18px 0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font-weight:800;color:var(--text);font-size:1.05rem}
.faq-list details p{padding-top:12px;max-width:800px}
:focus-visible{outline:3px solid var(--onyx-blue,#20a7e8);outline-offset:4px}


/* --- Final larger Onyx logo sizing --- */
.brand img{
  height:118px !important;
  width:auto !important;
  max-width:430px !important;
}
.nav{
  min-height:136px !important;
  height:auto !important;
}
footer img{
  height:125px !important;
  width:auto !important;
}
@media(max-width:850px){
  .brand img{
    height:86px !important;
    max-width:300px !important;
  }
  .nav{min-height:105px !important;}
}
@media(max-width:520px){
  .brand img{
    height:72px !important;
    max-width:235px !important;
  }
}


/* =========================================================
   FINAL DRAFT — EXTRA LARGE ONYX BRAND MARK
   Twice the prior logo size.
   ========================================================= */
.brand img{
  height:236px !important;
  width:auto !important;
  max-width:760px !important;
  object-fit:contain !important;
  mix-blend-mode:normal !important;
}
.nav{
  min-height:250px !important;
  height:auto !important;
  align-items:center !important;
}
footer img{
  height:190px !important;
  width:auto !important;
  max-width:620px !important;
  object-fit:contain !important;
}
@media(max-width:1050px){
  .brand img{
    height:172px !important;
    max-width:520px !important;
  }
  .nav{min-height:185px !important;}
}
@media(max-width:850px){
  .brand img{
    height:172px !important;
    max-width:500px !important;
  }
  .nav{min-height:190px !important;}
}
@media(max-width:520px){
  .brand img{
    height:144px !important;
    max-width:92vw !important;
  }
  .nav{min-height:158px !important;}
  footer img{
    height:120px !important;
    max-width:88vw !important;
  }
}
