/* SVM - shared global styles for the redesigned site. Structural layout is
   inline per-element (matching the source design spec exactly); this file
   only holds what every page shares: fonts, resets, keyframes, nav/footer
   responsive behavior, and small interactive-state classes. */

:root{
  --neutral-0:#F8F9F5;
  --svm-lime:#EAF443;
  --svm-black:#151515;
  --svm-zinc:#27272A;
  --svm-silver:#E0E0E0;
  --svm-olive:#444718;
  --svm-paper:#F8F9F5;
  --control-h-lg:48px;
  --control-h-md:40px;
  --control-h-sm:32px;
  --text-sm:13px;
  --text-base:15px;
  --text-md:17px;
  --font-sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --font-display:"Anton",Impact,"Haettenschweiler","Arial Narrow Bold",sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --weight-bold:700;
  --tracking-wide:0.04em;
  --radius-pill:999px;
  --radius-md:10px;
  --shadow-control:0 4px 12px rgba(0,0,0,.15);
  --transition-control:background-color 140ms cubic-bezier(.2,.6,.2,1),color 140ms cubic-bezier(.2,.6,.2,1),border-color 140ms cubic-bezier(.2,.6,.2,1),box-shadow 140ms cubic-bezier(.2,.6,.2,1),transform 140ms cubic-bezier(.2,.6,.2,1);
  --text-strong:#F8F9F5;
  --border-strong:rgba(224,224,224,.32);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#151515;color:#E0E0E0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:#EAF443;color:#151515;}
a{color:#EAF443;text-decoration:none;}
a:hover{color:#ffffff;}
input::placeholder{color:rgba(224,224,224,0.4);}
button{font-family:inherit;}

@keyframes svmTickerScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes svmTickerPulse{0%,100%{opacity:1;}50%{opacity:0.35;}}
@keyframes svmDash{to{stroke-dashoffset:-24;}}
@keyframes svmTick{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes svmDot{0%,100%{opacity:1;}50%{opacity:0.35;}}

/* ---------------------------------------------------------------------------
   Nav: real link bar + dropdown on desktop, hamburger panel on mobile
--------------------------------------------------------------------------- */
.svm-nav-links,.svm-nav-actions{display:none;align-items:center;}
.svm-nav-burger{display:flex;}
@media (min-width:900px){
  .svm-nav-links{display:flex;align-items:center;gap:6px;}
  .svm-nav-actions{display:flex;align-items:center;gap:10px;}
  .svm-nav-burger{display:none;}
}
.svm-mobile-panel{display:none;}
.svm-mobile-panel.is-open{display:flex;}
.svm-panel-link:hover{color:#ffffff !important;}

.svm-nav-link{font-family:var(--font-sans);font-size:14.5px;font-weight:500;color:rgba(224,224,224,0.75);background:transparent;border:none;cursor:pointer;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-radius:8px;}
.svm-nav-link:hover{color:#fff !important;}

.svm-nav-dropdown{position:relative;}
.svm-dropdown-chevron{font-size:9px;transition:transform .15s;color:rgba(224,224,224,0.5);}
.svm-nav-dropdown.is-open .svm-dropdown-chevron{transform:rotate(180deg);}
.svm-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:#1b1b1e;border-radius:14px;padding:8px;box-shadow:0 24px 50px rgba(0,0,0,0.5);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .15s,transform .15s,visibility .15s;}
.svm-nav-dropdown.is-open .svm-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.svm-dropdown-menu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:10px;font-size:14.5px;font-weight:500;color:#fff;}
.svm-dropdown-menu a:hover{background:rgba(255,255,255,0.06);color:#fff;}

.svm-btn-ghost,.svm-btn-accent{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;height:var(--control-h-md);padding:0 20px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:var(--transition-control);}
.svm-btn-ghost{background:transparent;color:var(--text-strong);border:1px solid var(--border-strong);}
.svm-btn-ghost:hover{border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.04);}
.svm-btn-accent{background:var(--svm-lime);color:var(--svm-black);border:1px solid var(--svm-lime);}
.svm-btn-accent:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(234,244,67,0.28);}

.svm-mobile-accordion-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;text-align:left;cursor:pointer;font-family:inherit;font-size:18px;font-weight:500;color:#fff;padding:13px 4px;border-bottom:1px solid rgba(255,255,255,0.06);}
.svm-mobile-accordion-toggle .svm-dropdown-chevron{font-size:10px;}
.svm-mobile-accordion-toggle.is-open .svm-dropdown-chevron{transform:rotate(180deg);}
.svm-mobile-accordion-list{display:none;flex-direction:column;padding-left:12px;}
.svm-mobile-accordion-list.is-open{display:flex;}

/* ---------------------------------------------------------------------------
   Auth modal (product picker for Sign Up / Log In)
--------------------------------------------------------------------------- */
.svm-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:32px;}
.svm-modal[hidden]{display:none;}
.svm-modal-backdrop{position:absolute;inset:0;background:rgba(10,10,10,0.94);backdrop-filter:blur(6px);}
.svm-modal-close{position:absolute;top:24px;right:24px;z-index:2;width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid rgba(255,255,255,0.16);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.svm-modal-close:hover{border-color:rgba(255,255,255,0.4);}
.svm-modal-card{position:relative;z-index:1;max-width:420px;width:100%;text-align:center;}
.svm-modal-heading{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,7vw,2.6rem);line-height:1.02;letter-spacing:-0.01em;text-transform:uppercase;color:#fff;margin:0 0 18px;}
.svm-modal-sub{margin:0 0 32px;font-size:16.5px;line-height:1.5;color:rgba(224,224,224,0.68);}
.svm-modal-btn{display:flex;align-items:center;justify-content:center;width:100%;height:64px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:17px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-top:16px;transition:var(--transition-control);}
.svm-modal-btn-accent{background:var(--svm-lime);color:var(--svm-black);border:1px solid var(--svm-lime);}
.svm-modal-btn-accent:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(234,244,67,0.28);}
.svm-modal-btn-ghost{background:transparent;color:var(--text-strong);border:1px solid var(--border-strong);}
.svm-modal-btn-ghost:hover{border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.04);}

/* ---------------------------------------------------------------------------
   Reveal-on-scroll: JS flips these to opacity:1/transform:none once visible
--------------------------------------------------------------------------- */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);}
[data-reveal].is-visible{opacity:1;transform:none;}

/* Hover micro-interactions that were inline style-hover in the source */
.svm-cta-accent{transition:transform .16s,box-shadow .16s;}
.svm-cta-accent:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(234,244,67,0.3);color:#151515;}
.svm-cta-ghost{transition:border-color .16s,background .16s;}
.svm-cta-ghost:hover{border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.04);color:#fff;}
.svm-cta-ghost-video{transition:border-color .16s,background .16s;}
.svm-cta-ghost-video:hover{border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.08);color:#fff;}
.svm-social-pill:hover{color:#151515 !important;background:#EAF443 !important;border-color:#EAF443 !important;}
.svm-footer-link:hover{color:#ffffff !important;}
.svm-eco-card:hover{transform:translateY(-4px);border-color:rgba(234,244,67,0.35);}
.svm-goal-pill{cursor:pointer;}
.svm-faq-item summary{cursor:pointer;}
.svm-faq-item summary::-webkit-details-marker{display:none;}
.svm-input:focus{outline:none;border-color:rgba(234,244,67,0.55) !important;}
.svm-table-launch:hover{filter:brightness(1.06);}
.svm-table-details:hover{color:#fff !important;border-color:rgba(255,255,255,0.3) !important;}

/* ============ COOKIE CONSENT ============
   Ported from svm-free's banner: bottom-anchored bar, blurred translucent
   ground, cookie glyph, copy, then Reject/Accept side by side at equal
   size. Only the accent differs - svm-free tints Accept with its teal
   primary, this uses the SVM lime so the control reads as native here. */
.svm-consent{
  position:fixed;left:0;right:0;bottom:0;z-index:400;
  border-top:1px solid rgba(255,255,255,0.12);
  background:rgba(21,21,21,0.95);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding-bottom:max(env(safe-area-inset-bottom),0px);
  transform:translateY(100%);transition:transform .22s ease;
}
.svm-consent.is-open{transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .svm-consent{transition:none;}
}
.svm-consent-inner{
  max-width:896px;margin:0 auto;padding:16px;
  display:flex;flex-direction:column;gap:12px;
}
.svm-consent-icon{
  display:none;width:20px;height:20px;flex-shrink:0;
  color:rgba(224,224,224,0.55);
}
.svm-consent-text{
  flex:1;margin:0;
  font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.55;
  color:rgba(224,224,224,0.72);
}
.svm-consent-text a{color:var(--neutral-0);text-decoration:underline;text-underline-offset:2px;}
.svm-consent-text a:hover{color:var(--svm-lime);}
.svm-consent-actions{display:flex;flex-shrink:0;gap:8px;}
/* Equal size and weight - the two buttons differ only in colour. */
.svm-consent-btn{
  flex:1;height:var(--control-h-sm);padding:0 14px;
  border-radius:8px;border:1px solid transparent;
  font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;
  cursor:pointer;transition:background-color .14s,color .14s,border-color .14s;
}
.svm-consent-btn:focus-visible{outline:2px solid var(--svm-lime);outline-offset:2px;}
.svm-consent-reject{
  background:transparent;border-color:rgba(255,255,255,0.22);color:var(--neutral-0);
}
.svm-consent-reject:hover{background:var(--svm-zinc);}
.svm-consent-accept{background:var(--svm-lime);color:var(--svm-black);}
.svm-consent-accept:hover{background:#dfe93c;}
@media (min-width:640px){
  .svm-consent-inner{flex-direction:row;align-items:center;gap:16px;}
  .svm-consent-icon{display:block;}
  .svm-consent-actions{flex:0 0 auto;}
  .svm-consent-btn{flex:0 0 auto;}
}
