
:root{--ink:#101a55;--purple:#4d36ff;--soft:#f7f8ff;--navy:#071936;--muted:#5d6682;--line:#e7e9f4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.wrap{max-width:1180px;margin:auto;padding:0 28px}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.nav{height:78px;display:flex;align-items:center;gap:28px}.brand img{width:210px}.navlinks{margin-left:auto;display:flex;gap:22px;align-items:center;font-size:14px;font-weight:700}
.btn{display:inline-block;background:var(--purple);color:#fff;padding:14px 20px;border-radius:5px;font-weight:800}
.btn.alt{background:#fff;color:var(--purple);border:1px solid #d8d7ff}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px}.hero-copy{padding:80px 6vw 60px max(28px,calc((100vw - 1180px)/2))}
.hero-copy h1,.page-hero h1{font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-3px;margin:0 0 22px}.accent{color:var(--purple)}
.hero-copy p,.page-hero p,.lead{font-size:18px;color:var(--muted);max-width:720px}.hero-photo{min-height:560px;background-size:cover;background-position:center}
.homehero{background-image:url('./home-hero.jpg')}.tag{font-weight:800;margin:22px 0}.kicker{color:var(--purple);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:2px}
.section{padding:82px 0}.soft{background:var(--soft)}.dark{background:var(--navy);color:#fff}.dark .lead{color:#d8deeb}
h2{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-1.5px;margin:0 0 16px}
.grid4,.grid3{display:grid;gap:18px;margin-top:34px}.grid4{grid-template-columns:repeat(4,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}.dark .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13)}
.icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#efedff;color:var(--purple);font-weight:900}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}.photo{width:100%;border-radius:14px;object-fit:cover}.paul{aspect-ratio:4/5}
.banner-photo{min-height:330px;border-radius:14px;background-size:cover;background-position:center}
.runphoto{background-image:url('./home-run.jpg')}.coachingphoto{background-image:url('./coaching-hero.jpg')}.workshopphoto{background-image:url('./workshop-hero.jpg')}.teamsphoto{background-image:url('./teams-hero.jpg')}
.page-hero{display:grid;grid-template-columns:1.05fr .95fr;background:var(--navy);color:#fff;min-height:500px}.page-hero .copy{padding:78px 6vw 58px max(28px,calc((100vw - 1180px)/2))}.page-hero p{color:#dbe1ee}
.page-hero .photo-side{background-size:cover;background-position:center}
.notice{background:#efedff;color:var(--ink);padding:16px 18px;border-radius:8px;font-weight:800;margin-top:24px}
.checks{columns:2;column-gap:38px}.checks p{break-inside:avoid}.checks p:before{content:"✓";color:var(--purple);font-weight:900;margin-right:10px}
.cta{padding:66px 0;background:linear-gradient(110deg,#4d36ff,#111f50);color:white}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
.contactbox{max-width:760px}.field{display:grid;gap:7px;margin:14px 0}.field input,.field textarea{font:inherit;padding:14px;border:1px solid #ccd1df;border-radius:6px}.field textarea{min-height:140px}
footer{background:#06152f;color:#dce2ef;padding:36px 0}.foot{display:flex;align-items:center;gap:24px}.foot img{width:185px;background:white;border-radius:4px;padding:4px}.social{margin-left:auto}
@media(max-width:820px){.navlinks a:not(.btn){display:none}.brand img{width:175px}.hero,.page-hero{grid-template-columns:1fr}.hero-photo,.page-hero .photo-side{min-height:320px}.grid4,.grid3{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.cta .wrap,.foot{flex-direction:column;align-items:flex-start}.social{margin-left:0}.checks{columns:1}}
@media(max-width:520px){.grid4,.grid3{grid-template-columns:1fr}.wrap{padding:0 20px}.hero-copy,.page-hero .copy{padding-left:20px;padding-right:20px}.nav .btn{padding:10px 11px;font-size:12px}}


/* === Exact Hiperstrike logo + original Paul photo fixes === */
header { overflow: visible; }
.nav { min-height: 88px; height: 88px; overflow: visible; }
.brand {
  width: 230px;
  height: 72px;
  flex: 0 0 230px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}
.brand img {
  width: 220px !important;
  height: 66px !important;
  max-width: 220px !important;
  max-height: 66px !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
}

/* Never crop or AI-alter Paul's supplied photo. */
.paul-original-wrap {
  background: #eef1f7;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.paul-original-full {
  width: 100%;
  height: auto;
  max-height: 760px;
  object-fit: contain !important;
  object-position: center !important;
  display: block;
}

/* About-page hero: show the entire original vertical photo instead of background-size: cover. */
.about-photo-panel {
  background: #eef1f7;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  min-height: 500px;
}
.about-photo-panel img {
  width: 100%;
  height: 100%;
  max-height: 720px;
  object-fit: contain !important;
  object-position: center !important;
}

@media(max-width:820px){
  .brand{width:180px; height:60px; flex-basis:180px}
  .brand img{width:170px !important;height:54px !important;max-width:170px !important;max-height:54px !important}
  .nav{min-height:74px;height:74px}
  .about-photo-panel{min-height:0;padding:12px}
  .about-photo-panel img{height:auto;max-height:none}
}

/* Footer logo cleanup */
footer .foot img{
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain !important;
  max-height: 54px !important;
  width: auto !important;
}
footer{background:#06152f !important;}

.instagram-link{margin-left:auto;color:#fff;display:inline-flex;align-items:center;justify-content:center}
.instagram-link:hover{opacity:.8}

/* Footer brand treatment: white logo on navy footer */
footer .foot img{
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
  background: transparent !important;
  padding: 0 !important;
}


/* === Final polish === */

/* More balanced footer spacing */
footer{
  padding: 30px 0 !important;
}
footer .foot{
  min-height: 72px;
  display:flex;
  align-items:center;
  gap:32px;
}
footer .foot img{
  max-height:50px !important;
}
footer .foot > span{
  line-height:1.2;
}
footer .social,
footer .instagram-link{
  margin-left:auto;
}

/* Subtle interactions */
.navlinks a,
.card a,
.btn,
.instagram-link{
  transition: transform .18s ease, opacity .18s ease, color .18s ease, box-shadow .18s ease, background .18s ease;
}
.navlinks a:hover{
  color:var(--purple);
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(77,54,255,.22);
}
.card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(16,26,85,.08);
  border-color:#d9dcf3;
}
.instagram-link:hover{
  transform:translateY(-1px);
  opacity:.85;
}

/* Keep Paul's approved stadium image composed consistently */
.paul-original-wrap{
  aspect-ratio: 4 / 5;
  background:#eef1f7;
}
.paul-original-full{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center !important;
}
.about-photo-panel{
  min-height:560px;
  padding:20px;
}
.about-photo-panel img{
  width:100%;
  height:100%;
  max-height:740px;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Contact form visual polish */
.contactbox form{
  margin-top:28px;
}
.field label{
  font-weight:700;
  color:var(--ink);
  font-size:14px;
}
.field input,
.field textarea{
  background:#fff;
  border:1px solid #ccd1df;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.field input:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--purple);
  box-shadow:0 0 0 3px rgba(77,54,255,.10);
}
.contactbox .btn{
  margin-top:8px;
  border:0;
}
.form-note{
  margin-top:14px;
  font-size:13px;
  color:#6c7488;
}

@media(max-width:820px){
  footer .foot{gap:18px}
  .about-photo-panel{min-height:0;padding:12px}
  .paul-original-wrap{aspect-ratio:auto}
  .paul-original-full{height:auto}
}

/* Direct contact form */
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.form-status{
  margin-top:16px;
  font-weight:700;
  min-height:24px;
}
.form-status.success{color:#18794e}
.form-status.error{color:#b42318}
