
:root{
  --green:#59b83a;
  --green-dark:#44942d;
  --charcoal:#1f2a30;
  --ink:#263238;
  --muted:#66757d;
  --soft:#f5f8f6;
  --line:#dde5e1;
  --white:#ffffff;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}

/* IMPORTANT: normal document flow on all devices. No sticky/fixed header. */
.site-header{
  position:static;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:76px
}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.brand img{width:280px;height:auto;object-fit:contain}
.brand span{font-size:1.06rem}
.nav-links{display:flex;align-items:center;gap:22px;font-size:.95rem}
.nav-links a:hover{color:var(--green-dark)}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;padding:13px 19px;font-weight:700;
  transition:.18s ease;
}
.nav-cta,.btn-primary{background:var(--green);color:#fff}
.nav-cta:hover,.btn-primary:hover{background:var(--green-dark);transform:translateY(-1px)}
.btn-secondary{border:1px solid var(--line);background:#fff}
.btn-secondary:hover{border-color:#aebbb5;background:#fafcfb}
.mobile-menu{display:none;border:0;background:transparent;font-size:1.5rem}

.hero{
  padding:56px 0 34px;
  background:
    radial-gradient(circle at 85% 15%, rgba(89,184,58,.12), transparent 30%),
    linear-gradient(180deg,#fff 0%,#f9fbfa 100%);
}
.hero-copy{max-width:820px}
.eyebrow{
  font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;
  font-weight:800;color:var(--green-dark)
}
h1{
  font-size:clamp(2.6rem,5.8vw,4.8rem);line-height:1;
  letter-spacing:-.045em;margin:12px 0 18px;color:var(--charcoal)
}
.hero p,.page-hero p{font-size:1.12rem;color:var(--muted);max-width:760px;margin:0}

.advisor-wrap{padding:22px 0 34px}
.advisor-shell{
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(31,42,48,.08);
  overflow:visible;
}
.advisor-toolbar{
  padding:20px 22px;
  border-bottom:1px solid var(--line);
  background:#fbfdfc;
}
.advisor-toolbar h2{margin:0 0 6px;font-size:1.45rem}
.advisor-toolbar p{margin:0;color:var(--muted);font-size:.98rem}
.advisor-inline{
  padding:22px;
  min-height:420px;
  overflow:visible;
}
.advisor-loading{
  border:1px dashed #b9c8c0;
  border-radius:14px;
  padding:26px;
  background:#fbfdfc;
}
.advisor-loading strong{display:block;margin-bottom:6px}
.advisor-context{
  margin-top:12px;
  font-size:.9rem;
  color:var(--muted)
}
.advisor-results-anchor{scroll-margin-top:12px}

.section{padding:64px 0}
.section.alt{background:var(--soft)}
.section-head{max-width:760px;margin-bottom:30px}
.section-head h2{
  font-size:clamp(1.9rem,4vw,3rem);line-height:1.06;
  letter-spacing:-.035em;margin:0 0 10px
}
.section-head p{margin:0;color:var(--muted);font-size:1.04rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px;
  transition:.18s ease;min-height:180px
}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(31,42,48,.08)}
.card-kicker{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;
  font-weight:800;color:var(--green-dark)
}
.card h3{margin:10px 0 8px;font-size:1.28rem}
.card p{margin:0;color:var(--muted)}
.text-link{display:inline-block;margin-top:16px;color:var(--green-dark);font-weight:750}

.page-hero{padding:46px 0 20px;background:var(--soft)}
.page-hero h1{font-size:clamp(2.35rem,5vw,4rem);margin-bottom:12px}
.content{max-width:900px}
.content h2{margin-top:32px;color:var(--charcoal)}
.content p,.content li{color:#4f5f66}

.site-footer{
  position:static;
  border-top:1px solid var(--line);
  padding:36px 0;
  color:var(--muted);
  font-size:.92rem
}
.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;max-width:480px}
.footer-logo{display:block;width:260px;max-width:100%}
.footer-logo img{width:100%;height:auto}
.footer-brand p{margin:8px 0}
.footer-email{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.footer-copyright{margin-top:16px}
.footer-links a:hover,.footer-email:hover{color:var(--green-dark)}

@media(max-width:900px){
  .nav-links{display:none}
  .mobile-menu{display:block}
  .cards{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(var(--max),calc(100% - 24px))}
  .nav{gap:12px}
  .brand img{width:clamp(140px,45vw,210px);height:auto}
  .brand span{display:none}
  .hero{padding:38px 0 22px}
  .advisor-wrap{padding-top:14px}
  .advisor-toolbar,.advisor-inline{padding:16px}
  .cards{grid-template-columns:1fr}
  .footer-grid{flex-direction:column}
}
/* Inline Advisor: a compact intro and ordinary document flow at every width. */
html{scroll-behavior:auto}
.nav{flex-wrap:wrap}
.advisor-inline{min-height:0}
.hero{padding:28px 0 20px}
.hero h1{font-size:clamp(2rem,4.2vw,3.4rem)}
.advisor-context-note{margin:0 0 18px;color:var(--muted)}
.advisor-jump-link{display:inline-block;margin:0 0 14px;color:var(--green-dark);font-weight:700;text-decoration:underline}
@media(max-width:620px){
  .nav{min-height:64px;gap:12px}
  .hero,.page-hero{padding:20px 0 16px}
  .hero h1,.page-hero h1{font-size:2rem;line-height:1.08;margin:8px 0 12px}
  .hero p,.page-hero p{font-size:1rem}
  .advisor-toolbar h2{font-size:1.2rem}
  .advisor-toolbar p{font-size:.94rem}
  .advisor-toolbar,.advisor-inline{padding:12px}
}

/* Header home navigation and homepage video stay in normal document flow. */
.home-link{margin-left:auto;font-weight:700}
.home-link:hover{color:var(--green-dark)}
.home-video-link{display:inline-block;margin-top:12px;color:var(--green-dark);font-weight:700;text-decoration:underline}
.home-video-section h2{margin:0 0 20px;font-size:clamp(1.5rem,3vw,2rem)}
.home-video-frame{width:100%;max-width:800px;aspect-ratio:16/9}
.home-video-frame iframe{display:block;width:100%;height:100%;border:0;border-radius:12px}

/* Right E-Bikes readability, including the embedded Advisor only. */
:root{--muted:#46545c;--green-dark:#286b1d}
body{font-size:18px;line-height:1.65}
.nav-links{font-size:17px;font-weight:500}
.nav{flex-wrap:wrap}
.hero p,.page-hero p,.section-head p,.advisor-toolbar p{font-size:18px;line-height:1.65;color:var(--muted)}
.card p,.content p,.content li{font-size:18px;color:var(--muted)}
.eyebrow,.card-kicker{font-size:14px}
.site-footer,.advisor-context,.advisor-context-note{font-size:17px;line-height:1.65}
.nav-cta,.btn-primary{background:#286b1d}
.nav-cta:hover,.btn-primary:hover{background:#205717}
#sa-inline-root{
  --sa-font-size:18px!important;
  --sa-body-line-height:1.6!important;
  --sa-text-primary:#253238!important;
  --sa-text-muted:#46545c!important;
  --sa-q-title-size:26px!important;
  --sa-q-comment-size:17px!important;
  --sa-q-comment-weight:400!important;
  --sa-helper-size:17px!important;
  --sa-q-btn-selected-bg:#e9f5e5!important;
  --sa-q-btn-selected-color:#203522!important;
  --sa-btn-font-size:17px!important;
}
#sa-inline-root .q-options .q-row .q-label{font-size:18px!important;font-weight:500;line-height:1.55!important;color:#253238}
#sa-inline-root .q-options .q-row--checked .q-label{font-weight:700}
#sa-inline-root .q-helper,#sa-inline-root .q-comment{line-height:1.6!important}
#sa-inline-root .sa-select,#sa-inline-root input:not([type=radio]):not([type=checkbox]),#sa-inline-root textarea{font-size:17px!important}
#sa-inline-root .sa-result{font-size:17px;line-height:1.6}
@media(max-width:620px){
  .hero p,.page-hero p,.advisor-toolbar p{font-size:18px}
  .footer-grid{gap:24px}
}

/* Current page and section in the top navigation. */
.home-link{font-weight:500}
.site-header a.is-current{font-weight:750;color:var(--green-dark);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px}
.site-header .nav-cta.is-current{color:#fff}

/* Homepage Advisor introduction. */
:is(.hero,.page-hero) .home-advisor-intro{max-width:800px;margin:24px 0 0;padding:16px 20px;border-left:5px solid var(--green);background:#edf6e9;border-radius:0 12px 12px 0;color:var(--ink)}
.home-advisor-intro strong{display:block;font-size:clamp(22px,2.2vw,28px);line-height:1.3;font-weight:750;margin-bottom:8px;color:var(--charcoal)}
.home-advisor-intro span{display:block;font-size:20px;line-height:1.6}
@media(max-width:620px){:is(.hero,.page-hero) .home-advisor-intro{padding:14px 16px;margin-top:18px}.home-advisor-intro span{font-size:18px}}

/* Prominent Advisor section heading on every Advisor page. */
.advisor-toolbar h2{font-size:clamp(28px,3vw,38px);font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--charcoal);margin:0 0 12px}

/* Make the Advisor instructions easy to notice and read. */
.advisor-toolbar p{font-size:clamp(20px,1.8vw,23px);font-weight:600;line-height:1.55;color:var(--charcoal);border-left:4px solid var(--green);padding:10px 16px;margin:0;background:#edf6e9;border-radius:0 8px 8px 0}

.advisor-faq details{border-bottom:1px solid var(--line);padding:18px 0}
.advisor-faq summary{cursor:pointer;font-size:20px;font-weight:700;color:var(--charcoal)}
.advisor-faq details p{margin:12px 0 0}
.advisor-faq details a{text-decoration:underline;color:var(--green-dark)}
.advisor-faq summary:focus-visible{outline:3px solid var(--green-dark);outline-offset:5px}

.company-link{text-decoration:underline;text-underline-offset:3px}
.company-link:hover{color:var(--green-dark)}
@media(min-width:621px){.footer-grid{align-items:flex-end}}

/* Keep the homepage video below the Advisor while its questions load. */
[data-advisor-shell][data-reserve-loading-space]:is(:empty, [aria-busy="true"]){
  min-height:100vh;
  min-height:100svh;
}

/* Hide the video during initial/async loading, including restored scroll positions. */
html:has([data-advisor-shell][data-reserve-loading-space]:is(:empty, [aria-busy="true"])) .home-video-section{
  visibility:hidden;
}
