/* Shared across every page: top menu, scroll reveals, offer cards */

/* ---- top menu ---- */
.topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(5,5,5,.72);
  -webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid transparent;
  transition:background .3s ease,border-color .3s ease;
  padding-top:env(safe-area-inset-top,0px);
}
.topnav.scrolled{background:rgba(5,5,5,.92);border-bottom-color:rgba(185,145,82,.22)}
.topnav .bar{
  max-width:1080px;margin:0 auto;padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.topnav .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#F7F4EF}
.topnav .brand img{width:30px;height:auto;display:block}
.topnav .brand span{
  font-family:"Jost",sans-serif;font-weight:500;font-size:.72rem;
  letter-spacing:.22em;color:#B99152;
}
.topnav .tabs{display:flex;gap:6px;margin:0;padding:0;list-style:none}
.topnav .tabs a{
  position:relative;display:block;padding:9px 14px;
  font-family:"Jost",sans-serif;font-weight:400;font-size:.86rem;letter-spacing:.03em;
  color:#CFC7BC;text-decoration:none;transition:color .2s ease;
}
.topnav .tabs a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:3px;height:1px;
  background:#B99152;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
.topnav .tabs a:hover{color:#F7F4EF}
.topnav .tabs a:hover::after{transform:scaleX(1)}
.topnav .tabs a[aria-current="page"]{color:#E5C477}
.topnav .tabs a[aria-current="page"]::after{transform:scaleX(1)}
.topnav .tabs a:focus-visible{outline:2px solid #E5C477;outline-offset:2px}

@media (max-width:640px){
  .topnav .bar{flex-direction:column;gap:6px;padding:10px 12px 4px}
  .topnav .brand span{display:none}
  .topnav .tabs{width:100%;justify-content:space-between;gap:0}
  .topnav .tabs li{flex:1;text-align:center}
  .topnav .brand img{width:22px}
  .topnav .tabs a{padding:8px 2px 10px;font-size:.76rem;letter-spacing:0;white-space:nowrap}
  .topnav .tabs a::after{left:20%;right:20%}
}

/* ---- scroll reveals (only when JS is running) ---- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}
.js .reveal.d2{transition-delay:.16s}
.js .reveal.d3{transition-delay:.24s}
.js .reveal.d4{transition-delay:.32s}

/* ---- buttons lift a little on hover ---- */
.btn{transition:background .18s ease,color .18s ease,transform .25s ease,box-shadow .25s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px -12px rgba(229,196,119,.45)}

/* ---- hero glow ---- */
.glow{position:relative;overflow:hidden}
.glow::before{
  content:"";position:absolute;left:50%;top:-180px;width:760px;height:520px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(185,145,82,.16),rgba(185,145,82,0));
  pointer-events:none;
}
.glow > *{position:relative}

/* ---- offer cards (Guides & Courses, comparisons) ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.card-o{
  display:flex;flex-direction:column;background:#13110F;border:1px solid rgba(185,145,82,.22);
  padding:28px 26px;transition:border-color .3s ease,transform .3s ease;
}
.card-o:hover{border-color:rgba(185,145,82,.6);transform:translateY(-3px)}
.card-o .tag{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#B99152;margin:0 0 14px;
}
.card-o h3{
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:1.45rem;
  line-height:1.25;color:#F7F4EF;margin:0 0 10px;
}
.card-o p{color:#CFC7BC;font-size:.95rem;margin:0 0 22px}
.card-o .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.card-o .cost{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:#E5C477}
.card-o .btn{padding:12px 24px;font-size:.88rem}
.card-o.soon{border-style:dashed;background:transparent}
.card-o.soon:hover{transform:none}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none}
  .btn:hover,.card-o:hover{transform:none}
}
