/* Premium refinement prototype — homepage only.
   This deliberately preserves the established EPF visual language. */

#top{
  overflow:hidden;
  background:
    radial-gradient(720px 420px at 84% 20%,rgba(239,144,32,.18),transparent 66%),
    radial-gradient(560px 360px at 18% 100%,rgba(31,69,54,.08),transparent 70%),
    linear-gradient(145deg,#fbf7ef 0%,#f6f1e7 60%,#efe7d8 100%);
}

#top .container{min-height:620px}
#top h1{max-width:12ch;text-wrap:balance}
#top .lead{max-width:39ch}
#top .container>div:last-child>div{
  position:relative;
  padding:34px 42px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,253,247,.35))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 34px 70px -40px rgba(28,29,26,.48),
    0 10px 30px -22px rgba(239,144,32,.42);
  backdrop-filter:blur(8px);
}

#top .container>div:last-child>div::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(28,29,26,.055);
  border-radius:19px;
  pointer-events:none;
}

#top .btn-primary{
  background:linear-gradient(180deg,#f6a038,#e88818);
  border-color:rgba(159,89,3,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 13px 28px -15px rgba(196,104,0,.72);
}

#top .btn-green{
  background:linear-gradient(180deg,#367d49,#28683a)!important;
  border:1px solid rgba(20,75,37,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 26px -16px rgba(23,91,45,.72)!important;
}

#top .hero-assure span{max-width:230px}

@media(max-width:920px){
  #top{padding:48px 0 32px}
  #top .container{min-height:0;grid-template-columns:minmax(0,1fr)}
  #top .container>div:last-child{display:none!important}
  #top h1{font-size:clamp(2.65rem,8vw,3.8rem);max-width:13ch}
  #top .lead{max-width:46ch}
}

@media(max-width:600px){
  #top{min-height:calc(100svh - 81px);padding:28px 0 18px;display:flex;align-items:center}
  #top .container{width:100%}
  #top h1{font-size:clamp(2.55rem,11.6vw,3.15rem);line-height:1.01;margin-top:12px!important}
  #top .lead{font-size:1rem;line-height:1.52;margin:19px 0 21px}
  #top .hero-cta{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}
  #top .hero-cta .btn{width:100%;min-height:54px;justify-content:space-between;padding:14px 20px}
  #top .hero-assure{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding-top:15px;font-size:11.5px;line-height:1.35}
  #top .hero-assure span{gap:6px}
  #top .hero-assure svg{width:15px;height:15px}
}
