/* ===================================================================
   Homepage-only overrides. Scoped under body.home so nano-immersion.html,
   technology.html, science-validation.html, applications.html and
   company.html are completely unaffected by this file.
   =================================================================== */
:root{
  --hm-bg:#0A1626;
  --hm-bg-alt:#0D2038;
  --hm-graphite:#1B2531;
  --hm-light:#FAF9F5;
  --hm-white:#FFFFFF;
  --hm-ink:#F4F6F9;
  --hm-ink-soft:#B7C3D1;
  --hm-ink-dim:#7C8CA6;
  --hm-line:#1F3049;
  --hm-dark:#1C2430;
  --hm-dark-soft:#525E6E;
  --hm-blue:#2E67E8;
  --hm-blue-deep:#1E4FC7;
  --hm-link-dark:#122F80;
  /* Accessible variant for small blue eyebrow/label text sitting on this
     page's dark sections (opening, facility, invite). */
  --hm-blue-on-dark:#6FA8FF;
}

body.home{
  font-family:'Helvetica Neue',Arial,sans-serif;
  background:var(--hm-bg);
  color:var(--hm-ink);
  font-size:18px;
}
body.home p{line-height:1.6;}

/* Header / nav */
body.home header.site-header{background:rgba(10,22,38,0.92);border-bottom:1px solid var(--hm-line);}
body.home .nav-brand{color:var(--hm-ink);}
body.home .nav-brand span{color:var(--hm-blue);}
body.home .nav-links a{color:var(--hm-ink-soft);}
body.home .nav-links a:hover,body.home .nav-links a.active{color:var(--hm-ink);border-color:var(--hm-blue);}
body.home .nav-cta{background:var(--hm-blue);color:#fff;}
body.home .nav-cta:hover{background:var(--hm-blue-deep);}
body.home .menu-toggle{color:var(--hm-ink);}

/* Shared button treatment */
body.home .btn{font-family:'Helvetica Neue',Arial,sans-serif;}
body.home .btn-primary{background:var(--hm-blue);color:#fff;}
body.home .btn-primary:hover{background:var(--hm-blue-deep);}
body.home .btn-ghost{border:1px solid var(--hm-line);color:var(--hm-ink);}
body.home .btn-ghost:hover{border-color:var(--hm-blue);color:var(--hm-blue);}
body.home .btn-text{
  display:inline-block;font-size:15px;font-weight:600;color:var(--hm-ink-soft);
  border-bottom:1px solid var(--hm-line);padding-bottom:2px;
}
body.home .btn-text:hover,
body.home .btn-text:focus-visible{color:var(--hm-blue);border-color:var(--hm-blue);}
body.home .btn-text:focus-visible{outline:2px solid var(--hm-blue);outline-offset:3px;}

/* ---------- Section 1 — Opening ---------- */
.opening{padding:104px 0 80px;border-bottom:1px solid var(--hm-line);}
.opening .wrap{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  column-gap:56px;
  grid-template-areas:
    "eyebrow media"
    "h1 media"
    "sub media"
    "body media"
    "actions media"
    "tag media";
}
.op-eyebrow{grid-area:eyebrow;font-size:13px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--hm-blue-on-dark);}
.op-h1{grid-area:h1;margin-top:18px;font-size:52px;line-height:1.14;font-weight:600;letter-spacing:-0.015em;color:var(--hm-ink);max-width:540px;}
.op-sub{grid-area:sub;margin-top:22px;font-size:19px;font-weight:400;color:var(--hm-ink-soft);max-width:480px;}
.op-body{grid-area:body;margin-top:10px;font-size:17px;color:var(--hm-ink-soft);max-width:480px;}
.op-actions{grid-area:actions;margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
.op-tag{grid-area:tag;margin-top:20px;font-size:14px;color:var(--hm-ink-dim);letter-spacing:0.02em;}
.op-media{grid-area:media;align-self:center;}
.op-media-frame{border-radius:10px;overflow:hidden;aspect-ratio:14/15;box-shadow:0 30px 70px -24px rgba(0,0,0,0.55);}
.op-media-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.op-caption{margin-top:10px;font-size:13px;font-style:italic;color:var(--hm-ink-dim);}

/* ---------- Section 2 — Athlete Experience ---------- */
.athlete{padding:84px 0;background:var(--hm-light);color:var(--hm-dark);border-bottom:1px solid #E5E1D6;}
.athlete .wrap{display:grid;grid-template-columns:0.95fr 1.05fr;gap:56px;align-items:center;}
.athlete-eyebrow{font-size:13px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--hm-blue);}
.athlete h2{margin-top:14px;font-size:29px;font-weight:500;line-height:1.28;color:var(--hm-dark);max-width:440px;}
.athlete p{margin-top:16px;font-size:17px;color:var(--hm-dark-soft);max-width:460px;}
.athlete .btn-text.athlete-link{margin-top:22px;color:#0B2560;font-weight:700;border-bottom:1.5px solid #0B2560;}
.athlete .btn-text.athlete-link:hover,
.athlete .btn-text.athlete-link:focus-visible{color:var(--hm-blue);border-color:var(--hm-blue);}
.athlete-media{border-radius:10px;overflow:hidden;aspect-ratio:3/2;box-shadow:0 20px 50px -20px rgba(28,36,48,0.25);}
.athlete-media img{width:100%;height:100%;object-fit:cover;display:block;}
.athlete-caption{margin-top:10px;font-size:13px;font-style:italic;color:#767F8C;}

/* ---------- Section 3 — Facility Value ---------- */
.facility{padding:88px 0;background:var(--hm-graphite);border-bottom:1px solid var(--hm-line);}
.facility .section-eyebrow{font-size:13px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--hm-blue-on-dark);}
.facility h2{margin-top:14px;font-size:29px;font-weight:500;line-height:1.28;color:var(--hm-ink);max-width:600px;}
.facility-cols{
  margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,0.14);
}
.facility-col{padding:32px 34px 6px 0;border-right:1px solid rgba(255,255,255,0.14);}
.facility-col + .facility-col{padding-left:34px;}
.facility-col:last-child{border-right:none;}
.facility-col h3{font-size:20px;font-weight:700;color:var(--hm-white);margin-bottom:12px;line-height:1.25;}
.facility-col p{font-size:15px;line-height:1.6;color:var(--hm-ink-soft);max-width:300px;}
.facility-note{margin-top:40px;font-size:15px;color:var(--hm-ink-soft);max-width:640px;}
.facility-cta{margin-top:26px;}

/* ---------- Section 4 — Measured Water ---------- */
.measure{padding:88px 0;background:var(--hm-light);color:var(--hm-dark);border-bottom:1px solid #E5E1D6;}
.measure-eyebrow{font-size:13px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--hm-blue);}
.measure h2{margin-top:14px;font-size:30px;font-weight:500;line-height:1.28;color:var(--hm-dark);max-width:600px;}
.measure-intro{margin-top:16px;font-size:17px;line-height:1.6;color:var(--hm-dark-soft);max-width:620px;}

.measure-body{
  margin-top:44px;display:grid;grid-template-columns:1.5fr 1fr;column-gap:56px;align-items:start;
}

.measure-graph{margin:0;}
.measure-graph-card{
  border-radius:10px;background:#FFFFFF;border:1px solid #DAD5C8;
  padding:26px 28px 20px;box-shadow:0 20px 50px -26px rgba(28,36,48,0.22);
}
.measure-graph-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;}
.measure-graph-label{font-size:12.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--hm-blue);}
.measure-graph-sub{margin-top:6px;font-size:14px;color:var(--hm-dark-soft);}
.measure-graph-brand{
  flex:none;white-space:nowrap;
}
.measure-graph-brand-img{height:20px;width:auto;display:block;}
.measure-graph-frame{
  border-radius:6px;overflow:hidden;background:#FFFFFF;
}
.measure-graph-frame img{width:100%;height:auto;display:block;}

.measure-results{display:flex;flex-direction:column;padding-top:6px;}
.measure-results-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--hm-blue);margin-bottom:18px;}
.measure-result{padding:16px 0;border-bottom:1px solid #DAD5C8;}
.measure-results .measure-result:first-of-type{padding-top:0;}
.measure-result-do{margin-top:8px;border-top:2px solid #DAD5C8;border-bottom:none;padding-bottom:0;}
.measure-fig{font-size:32px;font-weight:700;color:var(--hm-link-dark);letter-spacing:-0.01em;line-height:1.1;}
.measure-label{margin-top:6px;font-size:15.5px;font-weight:600;color:var(--hm-dark);line-height:1.4;}
.measure-sub{margin-top:8px;font-size:14px;color:var(--hm-dark-soft);line-height:1.5;max-width:320px;}

.measure-note{margin-top:34px;font-size:14px;color:var(--hm-dark-soft);max-width:760px;}
.measure .btn-text.measure-link{margin-top:22px;display:inline-block;color:var(--hm-link-dark);font-weight:700;border-bottom:1.5px solid var(--hm-link-dark);}
.measure .btn-text.measure-link:hover,
.measure .btn-text.measure-link:focus-visible{color:var(--hm-blue);border-color:var(--hm-blue);}

/* ---------- Section 5 — Invitation ---------- */
.invite{padding:92px 0;background:var(--hm-bg);}
.invite .section-eyebrow{font-size:13px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--hm-blue-on-dark);}
.invite h2{margin-top:14px;font-size:32px;font-weight:500;color:var(--hm-ink);max-width:600px;}
.invite p{margin-top:16px;font-size:16.5px;color:var(--hm-ink-soft);max-width:520px;}
.invite-actions{margin-top:32px;display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.invite-note{margin-top:22px;font-size:14px;color:var(--hm-ink-dim);}

/* Footer */
body.home footer{background:var(--hm-bg);border-top:1px solid var(--hm-line);color:var(--hm-ink-dim);}
body.home footer a:hover{color:var(--hm-blue);}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .opening .wrap{
    grid-template-columns:1fr;
    grid-template-areas:
      "eyebrow"
      "h1"
      "sub"
      "media"
      "body"
      "actions"
      "tag";
  }
  .op-media{margin:22px 0;}
  .athlete .wrap{grid-template-columns:1fr;gap:28px;}
  .athlete-media{aspect-ratio:3/2;}
  .facility-cols{grid-template-columns:1fr;}
  .facility-col{border-right:none;border-bottom:1px solid rgba(255,255,255,0.14);padding:26px 0;}
  .facility-col + .facility-col{padding-left:0;}
  .facility-col:last-child{border-bottom:none;}
  .measure-body{grid-template-columns:1fr;row-gap:32px;}
}
@media (max-width:640px){
  body.home{font-size:16px;}
  .opening{padding:52px 0 44px;}
  .op-h1{font-size:32px;}
  .op-sub{font-size:17px;}
  .athlete{padding:56px 0;}
  .athlete h2{font-size:23px;}
  .facility{padding:60px 0;}
  .measure{padding:56px 0;}
  .measure h2{font-size:24px;}
  .measure-fig{font-size:23px;}
  .measure-graph-card{padding:20px 20px 16px;}
  .measure-graph-head{flex-wrap:wrap;gap:10px;}
  .invite{padding:60px 0;}
  .invite h2{font-size:26px;}
  body.home .nav-links{display:none;}
  body.home .menu-toggle{display:block;}
  body.home .nav-cta{display:none;}
}
