/* AI Upskill Coach - site styles (tokens live in css/tokens/) */
html{scroll-behavior:smooth; scroll-padding-top:90px;}
body{margin:0; background:#FFFFFF; color:#0D0D0F; font-family:"Inter",system-ui,-apple-system,sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
a{color:#A67C2E; text-decoration:none;}
a:hover{color:#C8A24B;}
::selection{background:rgba(200,162,75,.35);}
summary::-webkit-details-marker{display:none;}

/* Buttons (ported from the design system) */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--font-body); font-weight:600; line-height:1; border-radius:var(--radius-md); border:1px solid transparent; cursor:pointer; white-space:nowrap; text-decoration:none; transition:background 200ms cubic-bezier(0.16,1,0.3,1), color 200ms cubic-bezier(0.16,1,0.3,1), border-color 200ms cubic-bezier(0.16,1,0.3,1), box-shadow 200ms cubic-bezier(0.16,1,0.3,1), transform 120ms cubic-bezier(0.16,1,0.3,1);}
.btn:focus-visible{outline:none; box-shadow:0 0 0 3px var(--focus-ring);}
.btn-sm{font-size:13px; padding:8px 14px;}
.btn-md{font-size:15px; padding:11px 20px;}
.btn-lg{font-size:16px; padding:15px 28px;}
.btn-primary{background:var(--champagne-gold); color:var(--onyx);}
.btn-primary:hover{background:var(--bright-gold); color:var(--onyx); box-shadow:var(--shadow-gold);}
.btn-primary:active{background:var(--deep-gold); transform:translateY(1px); box-shadow:none;}
.btn-ghost{background:transparent; color:var(--champagne-gold); border-color:var(--champagne-gold);}
.btn-ghost:hover{background:rgba(200,162,75,.10); border-color:var(--bright-gold); color:var(--bright-gold);}
.btn-ghost:active{transform:translateY(1px); background:rgba(200,162,75,.16);}

/* Header nav */
.nav-link{color:var(--ivory); font-size:17px; font-weight:500; transition:color 200ms cubic-bezier(0.16,1,0.3,1);}
.nav-link:hover{color:#E6C778;}

/* Cycling hero testimonial */
.t-slide{grid-area:1 / 1; margin:0; opacity:0; pointer-events:none; transition:opacity 360ms cubic-bezier(0.16,1,0.3,1);}
.t-slide.active{opacity:1; pointer-events:auto;}
.avatar-img{width:24px; height:24px; border-radius:50%; flex:none; border:1px solid rgba(13,13,15,0.18); background-size:cover; background-position:center; display:inline-block;}
.t-dot{width:8px; height:8px; border-radius:50%; border:none; padding:0; cursor:pointer; background:rgba(13,13,15,0.18); transition:background 200ms cubic-bezier(0.4,0,0.2,1);}
.t-dot.active{background:#C8A24B;}

/* Program week cards */
.week-card{transition:transform 200ms cubic-bezier(0.16,1,0.3,1), box-shadow 200ms cubic-bezier(0.16,1,0.3,1);}
.week-card:hover{transform:translateY(-3px); box-shadow:0 8px 28px rgba(200,162,75,0.22);}

/* Sticky mobile CTA: hidden until the 2nd section enters view (js/main.js) */
#sticky-cta{transform:translateY(110%); opacity:0; pointer-events:none; transition:transform 360ms cubic-bezier(0.16,1,0.3,1), opacity 360ms cubic-bezier(0.16,1,0.3,1);}
#sticky-cta.on{transform:translateY(0); opacity:1; pointer-events:auto;}

/* Responsive */
@media (max-width:1080px){ .navlinks{display:none !important;} }
@media (min-width:1081px){ .mcta{display:none;} }
@media (max-width:760px){
  .calendly-inline-widget{height:980px !important;}
  .cmp{min-width:0 !important; grid-template-columns:1.5fr .55fr .55fr .85fr !important;}
  .cmp-fmt{display:none !important;}
  .cmp > div{padding:10px 6px !important; font-size:12.5px !important;}
}
@media (max-width:520px){
  .navlogo{height:36px !important;}
  header .btn-md{font-size:12.5px; padding:8px 12px;}
}
@media (min-width:761px){
  .zig{grid-template-columns:1fr 1fr;}
  .zig.flip .zimg{order:-1;}
  .coach{grid-template-columns:.55fr 1.45fr;}
  .trow{grid-template-columns:320px 1fr;}
}
