body{
  background:var(--page-bg);
  padding:0;
}

.skip-link{
  position:absolute;
  top:-48px;
  left:12px;
  background:var(--blue);
  color:var(--chalk);
  font-family:var(--font-body);
  font-weight:600;
  font-size:14px;
  padding:10px 16px;
  border-radius:6px;
  text-decoration:none;
  z-index:100;
  transition:top 0.15s ease;
}
.skip-link:focus{top:12px;}

a:focus-visible, .skip-link:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px;
}

.hero{
  padding:0;
}
.hero-inner{
  max-width:1320px;
  margin:0 auto;
  padding:30px 24px 40px;
}
.hero-top{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:start;
  gap:56px;
}

.hero-copy{max-width:560px;padding-top:0;}

.hero-visual{position:relative;max-width:380px;margin-left:auto;}
.hero-visual img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 18px 34px rgba(24,34,56,0.16));
}
@media (max-width:900px){
  .hero-top{grid-template-columns:1fr;gap:8px;text-align:center;}
  .hero-copy{max-width:520px;margin:0 auto;padding-top:0;}
  .hero-visual{order:-1;max-width:260px;margin:0 auto 8px;}
}
@media (max-width:380px){
  .hero-visual{max-width:200px;}
}

.hero .eyebrow{
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:var(--blue);
  margin:0 0 10px;
}
.hero h1{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.1;
  margin:0 0 12px;
  letter-spacing:0.1px;
  color:var(--ink);
}
.hero p{
  max-width:460px;
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.6;
}
@media (max-width:900px){
  .hero p{margin-left:auto;margin-right:auto;}
}
.hero a.cta, .hero .cta{
  display:block;
  width:fit-content;
  margin:26px auto 0;
  background:var(--accent);
  color:var(--chalk);
  font-family:var(--font-body);
  font-weight:800;
  letter-spacing:0.2px;
  font-size:16px;
  text-decoration:none;
  padding:13px 38px;
  border-radius:11px;
  border:1.5px solid var(--accent);
  box-shadow:0 14px 30px rgba(194,112,58,0.3);
  transition:background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
  cursor:pointer;
}
.hero a.cta:hover, .hero .cta:hover{
  background:var(--accent-dark);
  border-color:var(--accent-dark);
  transform:translateY(1px);
}

#captchaForm{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin-top:26px;
}

.hero .features{
  max-width:640px;
  margin:30px auto 0;
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--border);
}
.hero .feature{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
  text-align:left;
  padding:14px 6px;
  border-bottom:1px solid var(--border);
}
.hero .feature b{
  font-family:var(--font-body);
  font-weight:600;
  font-size:15px;
  color:var(--ink);
}
.hero .feature-icon{color:var(--blue);flex:0 0 auto;}

hr{
  border:none;
  border-top:1px solid var(--border);
  max-width:480px;
  margin:0 auto;
}

@media (max-width:900px){
  .hero .features{margin-top:44px;}
}
@media (max-width:480px){
  .hero-inner{padding:36px 18px;}
  .hero .features{margin-top:28px;}
}

@media (prefers-reduced-motion: reduce){
  .hero a.cta, .hero .feature, .skip-link, .contact-btn{transition:none;}
}
