/* FLOCO Certified — standalone export
   Layout and visual styles are kept inline on each element (exactly as in the design).
   This file holds the global resets, image fill rules and hover states. */
html,body{margin:0;background:#070B0E;}
*{box-sizing:border-box;}
a{color:#3DB5B6;text-decoration:none;}
a:hover{color:#0B1B22;}
img{max-width:none;}
.slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
/* Hover states (originally per-element "style-hover") */
.hv-1:hover{color:#3DB5B6 !important;}
.hv-2:hover{color:#3DB5B6 !important;}
.hv-3:hover{color:#3DB5B6 !important;}
.hv-4:hover{color:#3DB5B6 !important;}
.hv-5:hover{color:#3DB5B6 !important;border-color:#3DB5B6 !important;}
.hv-6:hover{background:#F2F5F5 !important;color:#061014 !important;}
.hv-7:hover{background:#F2F5F5 !important;color:#061014 !important;}
.hv-8:hover{border-color:#3DB5B6 !important;color:#3DB5B6 !important;}
.hv-9:hover{background:#070B0E !important;color:#FFFFFF !important;}
.hv-10:hover{background:#3DB5B6 !important;color:#061014 !important;}
.hv-11:hover{background:#F2F5F5 !important;color:#061014 !important;}
.hv-12:hover{background:#070B0E !important;color:#FFFFFF !important;}
.hv-13:hover{background:#070B0E !important;color:#FFFFFF !important;}
.hv-14:hover{background:#070B0E !important;color:#FFFFFF !important;}
.hv-15:hover{background:#3DB5B6 !important;color:#061014 !important;}
.hv-16:hover{background:#070B0E !important;color:#FFFFFF !important;}
.hv-17:hover{background:#0B1B22 !important;color:#3DB5B6 !important;}
.hv-18:hover{color:#0B1B22 !important;box-shadow:0 24px 50px rgba(11,27,34,.12) !important;}
.hv-19:hover{color:#F2F5F5 !important;box-shadow:0 24px 50px rgba(11,27,34,.25) !important;}
.hv-20:hover{color:#061014 !important;box-shadow:0 24px 50px rgba(11,27,34,.18) !important;}
.hv-21:hover{background:#F2F5F5 !important;color:#061014 !important;}
.hv-22:hover{border-color:#3DB5B6 !important;color:#3DB5B6 !important;}

/* ---------- Program page (/program/) — scoped to body.program-page ---------- */
.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.program-page .nav-links a[aria-current]{color:#3DB5B6 !important;}
/* Child-page cards: the CTA link covers the whole card */
.program-page .hub-card{transition:transform .25s ease,box-shadow .25s ease;}
.program-page .hub-card .slot-img{transition:transform .5s ease;}
.program-page .hub-link{transition:background .2s,color .2s;}
.program-page .hub-link::after{content:"";position:absolute;inset:0;border-radius:32px;}
.program-page .hub-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(11,27,34,.12);}
.program-page .hub-card:hover .slot-img{transform:scale(1.04);}
.program-page .hub-card:hover .hub-link{background:#3DB5B6 !important;color:#061014 !important;}
.program-page .hub-link:focus-visible{outline:none;}
.program-page .hub-card:has(.hub-link:focus-visible){outline:3px solid #3DB5B6;outline-offset:4px;}
@media (prefers-reduced-motion:no-preference){html:has(body.program-page){scroll-behavior:smooth;}}
@media (prefers-reduced-motion:reduce){
  .program-page .hub-card,.program-page .hub-card .slot-img,.program-page .hub-link{transition:none;}
  .program-page .hub-card:hover{transform:none;}
  .program-page .hub-card:hover .slot-img{transform:none;}
}

/* ---------- How It Works page (/program/how-it-works/) ---------- */
/* Vertical timeline line running from each step number down to the next */
.how-page .hiw-step:not(:last-child) .hiw-num::after{content:"";position:absolute;left:52px;top:136px;bottom:-104px;width:2px;background:linear-gradient(180deg,#3DB5B6,rgba(61,181,182,.15));}
/* Steps fade up as they scroll into view (CSS only; skipped where unsupported or reduced motion) */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    @keyframes hiw-reveal{from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:none;}}
    .how-page .hiw-step,.how-page .day-strip > li,.immersion-page .day-block{animation:hiw-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 35%;}
  }
}

/* ---------- Immersion Week page (/program/immersion-week/) ---------- */
/* Jump links to each training day */
.immersion-page .day-chip{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 20px 20px;border-radius:20px;background:#FBF6EE;color:#0B1B22;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;line-height:1.1;text-transform:uppercase;transition:background .2s,color .2s;}
.immersion-page .day-chip span{font-weight:700;font-size:14px;letter-spacing:.14em;color:#3DB5B6;}
.immersion-page .day-chip:hover{background:#070B0E;color:#F2F5F5;}
@media (prefers-reduced-motion:reduce){.immersion-page .day-chip{transition:none;}}

/* ---------- Everything Included page (/program/everything-included/) ---------- */
/* "Explore" links from each business area to the resource sections below */
.included-page .system-links{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.included-page .system-links a{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid rgba(11,27,34,.25);color:#0B1B22;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s;}
.included-page .system-links a::after{content:"↓";}
.included-page .system-links a:hover{background:#0B1B22;border-color:#0B1B22;color:#F2F5F5;}
.included-page .system-links--dark a{border-color:rgba(242,245,245,.35);color:#F2F5F5;}
.included-page .system-links--dark a:hover{background:#3DB5B6;border-color:#3DB5B6;color:#061014;}
.included-page .vault-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#3DB5B6;color:#061014;}
.included-page .vault-tile .slot-img{transition:transform .5s ease;}
.included-page .vault-tile:hover .slot-img{transform:scale(1.05);}
.included-page .sales-num{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:44px;line-height:1;color:transparent;-webkit-text-stroke:1.5px #3DB5B6;}
.included-page .sales-label{display:block;margin-top:16px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:26px;line-height:1.1;text-transform:uppercase;}
.included-page .yours-grid li{display:flex;flex-direction:column;gap:14px;}
.included-page .yours-label{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:30px;line-height:1.05;text-transform:uppercase;}
@media (prefers-reduced-motion:reduce){
  .included-page .system-links a,.included-page .vault-tile .slot-img{transition:none;}
  .included-page .vault-tile:hover .slot-img{transform:none;}
}
