
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#18242b;background:#f3f5f5}.site-header{height:82px;background:#05080a;display:flex;align-items:center;padding:8px 4vw;position:sticky;top:0;z-index:20;border-bottom:1px solid #27333a}.brand img{height:62px;width:auto}.site-header nav{margin-left:auto;display:flex;gap:28px}.site-header nav a{color:#d9e1e4;text-decoration:none;font-size:13px;font-weight:800}.hero{position:relative;background:#071019;min-height:465px;overflow:hidden}.hero>img{width:100%;height:465px;object-fit:cover;opacity:.84}.hero-overlay{position:absolute;z-index:2;left:6vw;top:50%;transform:translateY(-50%);max-width:650px;color:white;text-shadow:0 2px 18px #000}.hero h1{font-size:58px;line-height:.98;margin:10px 0 18px}.hero h1 span{color:#9ee8ff}.hero p{font-size:20px;line-height:1.5}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:#d7b66d}.red{color:#b7191f}.intro,.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end}.intro{padding:58px 6vw;background:#fff}.intro h2,.section-head h2,.related h2,.dual-cta h2{font-size:40px;line-height:1.08;margin:8px 0}.intro p,.section-head p{max-width:680px;color:#607078;line-height:1.65}.explainer{padding:62px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:#eef1f2;border-top:1px solid #d8dfe2}.explainer:nth-child(even){background:#10181d;color:white}.explainer.reverse .explainer-visual{order:2}.explainer-copy p{font-size:18px;line-height:1.72;color:#5d6d74}.explainer:nth-child(even) .explainer-copy p{color:#cbd4d8}.explainer h2{font-size:38px;margin:8px 0 14px}.chapter-no{font-size:12px;letter-spacing:2px;font-weight:900;color:#b7191f}.explainer-visual{min-height:310px;background:linear-gradient(145deg,#081018,#15242e);border:1px solid #334651;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.diagram{position:relative;width:88%;height:260px;color:#9ee8ff}.head-shape{position:absolute;left:20%;top:18%;width:60%;height:58%;border:3px solid #86dff2;border-radius:48% 38% 42% 35%;transform:skewX(-8deg);box-shadow:inset 0 0 25px rgba(134,223,242,.12)}.axis{position:absolute;background:#d7b66d}.axis.v{width:2px;height:78%;left:50%;top:5%}.axis.h{height:2px;width:76%;left:12%;top:48%}.cg-dot{position:absolute;left:47%;top:43%;width:54px;height:54px;border-radius:50%;background:#b7191f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 0 22px rgba(183,25,31,.7)}.dlabel{position:absolute;font-size:11px;letter-spacing:1px;color:#c7d5da}.dlabel.l1{left:5%;bottom:12%}.dlabel.l2{right:5%;bottom:12%}.impact-dot{position:absolute;left:71%;top:45%;width:14px;height:14px;border-radius:50%;background:#ffcc66}.twist{position:absolute;font-size:62px;color:#ff6262;top:20%}.twist.left{left:8%}.twist.right{right:8%}.face-grid{position:absolute;left:19%;top:15%;width:62%;height:62%;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;transform:perspective(500px) rotateY(-18deg)}.face-grid i{display:block;border:1px solid #89e4f7;background:linear-gradient(135deg,#123548,#b7191f)}.weight{position:absolute;width:34px;height:34px;border-radius:50%;background:#d7b66d;box-shadow:0 0 20px #d7b66d}.w1{left:20%;top:25%}.w2{right:20%;top:25%}.w3{left:20%;bottom:28%}.w4{right:20%;bottom:28%}.clubface{position:absolute;left:14%;top:28%;width:22px;height:115px;background:#8bdff3;transform:rotate(-8deg)}.ball{position:absolute;left:62%;top:37%;width:74px;height:74px;border:3px solid white;border-radius:50%}.arrow{position:absolute;left:31%;top:40%;font-size:38px;color:#ffcc66}.formula{position:absolute;left:24%;bottom:4%;font-size:18px;text-align:center;color:white}.curved-face{position:absolute;left:41%;top:12%;width:90px;height:160px;border-left:8px solid #91e4f5;border-radius:50%}.gear .ball{width:auto;height:auto;border:0;font-size:40px;color:white}.gear .toe{left:55%;top:18%}.gear .heel{left:56%;top:55%}.curve{position:absolute;font-size:48px;color:#ff6969}.c1{left:68%;top:10%}.c2{left:67%;top:56%}.source-note{padding:22px 6vw;background:#dfe6e9;color:#405159;display:flex;gap:15px;line-height:1.5}.articles{padding:68px 6vw;background:white}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}.article-card{border:1px solid #d7dddf;border-top:5px solid #b7191f;padding:25px;background:#f8f9f9}.article-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:#11191d;color:#fff;font-size:11px;font-weight:900;border-radius:7px}.article-meta{font-size:11px;color:#7b898f;letter-spacing:1px;margin-top:16px}.article-card h3{font-size:23px;margin:8px 0}.article-card p{color:#5f6f76;line-height:1.6}.article-card a{font-weight:900;color:#b7191f;text-decoration:none}.related{padding:60px 6vw;background:#11191d;color:white}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.related-grid a{background:#1d2a31;color:white;text-decoration:none;padding:20px;font-weight:900;border-left:4px solid #b7191f}.related-grid span{float:right}.dual-cta{display:grid;grid-template-columns:1fr 1fr}.dual-cta>div{padding:52px 6vw}.help{background:#e8ebec}.shop{background:#071019;color:white;display:flex;gap:25px;align-items:center}.shop img{width:150px;height:auto}.dual-cta p{line-height:1.6}.dual-cta a{display:inline-block;margin-top:10px;padding:14px 18px;background:#b7191f;color:white;text-decoration:none;font-weight:900;border-radius:4px}.shop a{background:white;color:#111}footer{background:#030506;color:#9facb2;text-align:center;padding:22px}@media(max-width:900px){.site-header nav{display:none}.hero h1{font-size:45px}.intro,.section-head,.explainer,.dual-cta{display:block}.explainer.reverse .explainer-visual{order:initial}.explainer-visual{margin-bottom:25px}.article-grid,.related-grid{grid-template-columns:1fr}.shop{display:block}.shop img{margin-bottom:18px}.source-note{display:block}}


/* ===== Sprint 14 V3 visual refinements ===== */

/* Clean logo */
.brand img{
  height:64px;
  width:auto;
  max-width:190px;
  object-fit:contain;
  background:transparent;
}

/* Purpose-built wide hero. Text occupies its own dark left field;
   engineering artwork is baked into the right side only. */
.hero{
  min-height:520px;
  background:#06101a;
}
.hero>img{
  width:100%;
  height:520px;
  object-fit:cover;
  opacity:1;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(3,8,13,.98) 0%,
    rgba(3,8,13,.96) 27%,
    rgba(3,8,13,.78) 42%,
    rgba(3,8,13,.18) 60%,
    rgba(3,8,13,0) 76%);
  pointer-events:none;
}
.hero-overlay{
  z-index:3;
  left:5.5vw;
  max-width:600px;
}
.hero h1{
  font-size:58px;
  text-shadow:0 4px 24px rgba(0,0,0,.9);
}
.hero p{
  max-width:520px;
  text-shadow:0 3px 14px rgba(0,0,0,.9);
}

/* Premium chapter illustrations using the exact article-card artwork style */
.explainer-visual{
  min-height:360px;
  padding:0;
  border-radius:12px;
  background:#06101a;
  border:1px solid #294858;
  box-shadow:0 18px 35px rgba(0,0,0,.18);
}
.chapter-art{
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  max-height:430px;
  object-fit:cover;
  border-radius:11px;
}

/* Give each engineering chapter more breathing room */
.explainer{
  padding-top:72px;
  padding-bottom:72px;
}
.explainer-copy h2{
  max-width:600px;
}

/* Add engineering thumbnails to article cards using CSS nth-child mapping.
   This echoes the chapter artwork without inventing new product imagery. */
.article-card{
  overflow:hidden;
}
.article-card::before{
  content:"";
  display:block;
  height:145px;
  margin:-25px -25px 20px -25px;
  background-position:center;
  background-size:cover;
  border-bottom:1px solid #263d48;
}
.article-card:nth-child(1)::before{background-image:url("assets/chapter-face.png")}
.article-card:nth-child(2)::before{background-image:url("assets/chapter-face.png")}
.article-card:nth-child(3)::before{background-image:url("assets/chapter-cg.png")}
.article-card:nth-child(4)::before{background-image:url("assets/chapter-launch.png")}
.article-card:nth-child(5)::before{background-image:url("assets/chapter-perimeter.png")}
.article-card:nth-child(6)::before{background-image:url("assets/chapter-moi.png")}
.article-card:nth-child(7)::before{background-image:url("assets/chapter-energy.png")}
.article-card:nth-child(8)::before{background-image:url("assets/chapter-launch.png")}

@media(max-width:900px){
  .hero>img{height:480px}
  .hero{min-height:480px}
  .hero::after{
    background:linear-gradient(90deg,rgba(3,8,13,.98) 0%,rgba(3,8,13,.88) 65%,rgba(3,8,13,.45) 100%);
  }
  .hero h1{font-size:44px}
  .chapter-art{min-height:280px}
  .explainer-visual{min-height:280px}
}

/* ===== Sprint 15 V1 Shaft Information ===== */

.hero h1 span{color:#8ee7ff}
.callout{margin-top:20px;padding:16px 18px;border-left:4px solid #d7b66d;background:rgba(215,182,109,.12);font-weight:900;line-height:1.5}
.featured-reading{padding:65px 6vw;background:#0b141a;color:white;display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
.featured-art img{display:block;width:100%;border:1px solid #33505f;border-radius:10px}
.featured-copy h2{font-size:40px;line-height:1.08;margin:8px 0 14px}
.featured-copy p{font-size:18px;line-height:1.65;color:#c9d4d8}
.featured-copy a{display:inline-block;margin-top:10px;padding:14px 18px;background:#d7b66d;color:#081018;text-decoration:none;font-weight:900;border-radius:4px}
.article-card:nth-child(1)::before,.article-card:nth-child(2)::before,.article-card:nth-child(3)::before,.article-card:nth-child(4)::before,.article-card:nth-child(5)::before,.article-card:nth-child(6)::before,.article-card:nth-child(7)::before,.article-card:nth-child(8)::before,.article-card:nth-child(9)::before,.article-card:nth-child(10)::before,.article-card:nth-child(11)::before,.article-card:nth-child(12)::before,.article-card:nth-child(13)::before,.article-card:nth-child(14)::before,.article-card:nth-child(15)::before,.article-card:nth-child(16)::before,.article-card:nth-child(17)::before,.article-card:nth-child(18)::before,.article-card:nth-child(19)::before{background-image:url("assets/shaft-information-card-art.png")}
@media(max-width:900px){.featured-reading{grid-template-columns:1fr}}


/* ===== Sprint 15 V2 graphics upgrade ===== */
.hero{
  min-height:0;
  background:#06101a;
}
.hero>img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  opacity:1;
}
.hero::after{
  /* New hero already contains its own readable left-side typography and layout. */
  background:linear-gradient(90deg,rgba(3,8,13,.10) 0%,rgba(3,8,13,0) 35%);
}
.hero-overlay{
  /* Hide duplicate HTML hero copy because the approved hero artwork contains the full title/subtitle. */
  display:none;
}
.chapter-art{
  object-fit:cover;
}


/* Sprint 15 V3 — ensure approved shaft-flex hero is displayed */
.hero>img{
  content:normal !important;
  display:block;
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  opacity:1 !important;
}

.club-fitting-hero{min-height:0;background:#06101a}
.club-fitting-hero>img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;opacity:1!important;content:normal!important}
.club-fitting-hero::after{display:none!important}

/* Sprint 16 V2 approved concept artwork */
.explainer-visual{padding:0!important;overflow:hidden;background:#071019}
.explainer-visual .chapter-art{
  display:block;width:100%;height:100%;min-height:360px;max-height:460px;
  object-fit:cover;border-radius:11px
}
@media(max-width:900px){
  .explainer-visual .chapter-art{min-height:280px;max-height:none}
}
