/* Welaka Golf Carts — shared styles */
:root{
  --green:#2D5FA2; --green-700:#254E86; --green-800:#214177;
  --green-300:#9DB6D8; --green-100:#E6ECF6;
  --ink:#0A0A0A; --charcoal:#1C1C1C; --cloud:#F4F6FA;
  --line:#E2E7F0; --muted:#5C6473; --white:#fff;
  --font:"Plus Jakarta Sans", system-ui, sans-serif;
  --display:"Archivo", "Plus Jakarta Sans", sans-serif;
  --wrap:1160px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font); color:var(--ink); background:var(--cloud);
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{color:var(--ink); font-family:var(--display); font-weight:800; line-height:1.03; letter-spacing:-.6px; font-optical-sizing:auto}

.container{max-width:var(--wrap); margin:0 auto; padding:0 24px}
.eyebrow{
  display:inline-block; font-size:12px; font-weight:800; letter-spacing:4px;
  text-transform:uppercase; color:var(--green-800);
}
.eyebrow.on-dark{color:var(--green)}

/* buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:inherit; font-weight:800; font-size:15px; letter-spacing:1.5px;
  text-transform:uppercase; border-radius:10px; padding:15px 30px;
  border:2px solid transparent; cursor:pointer; transition:all .15s ease; white-space:nowrap;
}
.btn-primary{background:var(--green); color:#fff; border-color:var(--green)}
.btn-primary:hover{background:var(--green-700); border-color:var(--green-700); color:#fff}
.btn-outline{background:transparent; color:#fff; border-color:rgba(255,255,255,.6)}
.btn-outline:hover{border-color:var(--green); color:var(--green)}
.btn-outline.on-light{color:var(--ink); border-color:var(--ink)}
.btn-outline.on-light:hover{background:var(--ink); color:#fff}
.btn-white{background:#fff; color:var(--green-800); border-color:#fff}
.btn-white:hover{background:var(--green-100); border-color:var(--green-100); color:var(--green-800)}
.btn-sm{padding:11px 22px; font-size:13px}
.btn-lg{padding:18px 38px; font-size:16px}
.btn-block{display:flex; width:100%}

/* header / nav */
.site-header{position:sticky; top:0; z-index:50; background:#0A0A0A; border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:24px; height:96px}
.brand img{height:56px; width:auto}
.nav-links{display:flex; align-items:center; gap:30px}
.nav-links a{color:#fff; font-weight:700; font-size:15px; letter-spacing:.3px; transition:color .15s ease}
.nav-links a:not(.btn):hover{color:var(--green)}
.nav-toggle{display:none; background:none; border:none; color:#fff; font-size:26px; cursor:pointer; line-height:1}

/* hero — image-forward poster */
.hero{position:relative; min-height:clamp(560px,84vh,840px); display:flex; align-items:center; color:#fff; overflow:hidden}
.hero-media{position:absolute; inset:0; z-index:0}
.hero-media img{width:100%; height:100%; object-fit:cover; object-position:center}
.hero-media::after{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(6,6,6,.96) 0%, rgba(6,6,6,.9) 42%, rgba(6,6,6,.62) 72%, rgba(6,6,6,.3) 100%), linear-gradient(0deg, rgba(6,6,6,.5), rgba(6,6,6,0) 50%);}
.hero .container{position:relative; z-index:1; width:100%}
.hero-inner{max-width:720px; padding:72px 0}
.hero .eyebrow{margin-bottom:14px; color:var(--green)}
.hero-title{font-family:var(--display); font-weight:900; text-transform:uppercase; font-size:clamp(48px,8.6vw,110px); line-height:.9; letter-spacing:-2px; color:#fff; text-shadow:0 6px 34px rgba(0,0,0,.4)}
.hero-title .grn{color:var(--green); display:block}
.hero-sub{margin-top:24px; max-width:46ch; font-size:clamp(17px,2.2vw,21px); font-weight:500; line-height:1.5; color:#E9EAE4}
.hero-sub .grn{color:var(--green); font-weight:700}
.hero .btn{margin-top:30px}
.hero-trust{margin-top:24px; font-size:12px; letter-spacing:2.5px; text-transform:uppercase; font-weight:700; color:#AEB4A6}
@media(max-width:760px){.hero-media::after{background:linear-gradient(180deg, rgba(6,6,6,.68) 0%, rgba(6,6,6,.82) 100%)}}
@media(max-width:560px){.hero-inner{padding:52px 0} .hero-title{letter-spacing:-1px}}

/* sections */
.section{padding:104px 0}
.section--light{background:var(--cloud)}
.section--white{background:#FFFFFF}
.section--dark{background:var(--ink); color:#fff}
.section--dark h2,.section--dark h3{color:#fff}
.section-head{text-align:center; max-width:680px; margin:0 auto 62px}
.section-head h2{font-size:clamp(30px,4.5vw,46px); margin:10px 0 0}
.section-head p{margin-top:16px; font-size:17px; color:var(--muted)}
.section--dark .section-head p{color:#B9BFB0}

/* cart showcase banner */
.carts-hero{border-radius:20px; overflow:hidden; margin:0 auto 44px; box-shadow:0 18px 44px rgba(15,17,21,.12); max-width:980px}
.carts-hero img{width:100%; height:auto; display:block}

/* cart cards */
.carts-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px}
.cart-card{background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:0 18px 44px rgba(15,17,21,.07); display:flex; flex-direction:column}
.cart-photo{aspect-ratio:16/10; width:100%; object-fit:cover; background:#0f0f0f; display:block}
.cart-photo--ph{display:flex; align-items:center; justify-content:center; color:#7E8574; font-weight:800; letter-spacing:2px; text-transform:uppercase; font-size:13px; text-align:center; gap:10px}
.cart-photo--blue{background:linear-gradient(150deg,#12243a,#1c3a5c)}
.cart-photo--gray{background:linear-gradient(150deg,#20242a,#3a4048)}
.cart-photo--ph span{color:#cdd3c6}
.cart-body{padding:28px 28px 30px; display:flex; flex-direction:column; flex:1}
.cart-tag{font-size:12px; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--green-800)}
.cart-card h3{font-size:28px; margin:6px 0 0}
.cart-price{display:flex; align-items:baseline; gap:6px; margin:16px 0 4px}
.cart-price .amt{font-family:var(--display); font-size:40px; font-weight:800; color:var(--ink); letter-spacing:-1px}
.cart-price .per{font-size:16px; font-weight:700; color:var(--muted)}
.cart-min{font-size:13px; color:var(--muted); font-weight:600}
.cart-weekly{display:inline-flex; align-items:center; gap:6px; margin-top:14px; padding:9px 14px; border-radius:8px; background:rgba(45,95,162,.12); color:var(--green-800); font-weight:800; font-size:15px; letter-spacing:.2px; transition:background .15s ease,color .15s ease}
.cart-weekly:hover{background:rgba(45,95,162,.2); color:var(--green-700)}
.cart-features{list-style:none; margin:20px 0 24px; display:flex; flex-direction:column; gap:10px}
.cart-features li{position:relative; padding-left:28px; font-size:15.5px; font-weight:500}
.cart-features li::before{content:"\2713"; font-weight:900; position:absolute; left:0; color:var(--green)}
.cart-card .btn{margin-top:auto}
.carts-note{text-align:center; margin-top:34px; font-size:16.5px; color:var(--muted); font-weight:600}
.carts-note a{color:var(--green-800); text-decoration:underline; text-underline-offset:3px; transition:color .15s ease}
.carts-note a:hover{color:var(--green-700)}

/* LSV comparison */
.lsv-table{max-width:860px; margin:0 auto; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 16px 44px rgba(15,17,21,.06)}
.lsv-row{display:grid; grid-template-columns:1.8fr 1fr 1fr; align-items:stretch}
.lsv-row + .lsv-row{border-top:1px solid var(--line)}
.lsv-feat{padding:16px 22px; font-weight:600; font-size:15.5px; display:flex; align-items:center}
.lsv-col{padding:16px 10px; text-align:center; font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; border-left:1px solid var(--line)}
.lsv-lsv{background:rgba(45,95,162,.09); color:var(--ink)}
.lsv-cart{color:var(--muted)}
.lsv-head{background:var(--ink); color:#fff}
.lsv-head .lsv-feat{color:#cfd2cb; font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:800}
.lsv-head .lsv-col{border-left-color:rgba(255,255,255,.12); font-family:var(--display); text-transform:uppercase; letter-spacing:.5px; font-size:14px; font-weight:800}
.lsv-head .lsv-lsv{background:var(--green); color:var(--ink)}
.lsv-head .lsv-cart{color:#AEB4A6}
.lsv-yes{color:var(--green-700); font-size:20px; font-weight:900}
.lsv-no{color:#C4C8CE; font-size:17px; font-weight:800}
@media(max-width:560px){
  .lsv-row{grid-template-columns:1.5fr .9fr .9fr}
  .lsv-feat{padding:13px 14px; font-size:13.5px}
  .lsv-col{padding:13px 6px; font-size:13px}
  .lsv-head .lsv-col{font-size:11.5px}
}

/* FAQ accordion */
.faq{max-width:780px; margin:0 auto}
.faq-item{border:1px solid var(--line); border-radius:12px; margin-bottom:12px; background:#fff; overflow:hidden}
.faq-item summary{list-style:none; cursor:pointer; padding:20px 24px; font-family:var(--display); font-weight:800; font-size:18px; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+"; color:var(--green-700); font-size:26px; font-weight:800; line-height:1; flex:0 0 auto}
.faq-item[open] summary::after{content:"\2013"}
.faq-a{padding:0 24px 22px; color:var(--muted); font-size:16px; line-height:1.65}
.faq-a a{color:var(--green-800); text-decoration:underline; text-underline-offset:2px}

/* feature tiles */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px}
.feature{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:28px}
.feature .ico{font-size:28px}
.feature h3{font-size:19px; margin:14px 0 8px}
.feature p{font-size:15px; color:#B9BFB0}

/* steps */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; counter-reset:step}
.step{text-align:center; padding:0 8px}
.step .num{width:56px; height:56px; margin:0 auto 16px; border-radius:50%; background:var(--green); color:#fff; font-weight:900; font-size:22px; display:flex; align-items:center; justify-content:center}
.step h3{font-size:20px; margin-bottom:8px}
.step p{color:var(--muted); font-size:15.5px}

/* CTA band — dark, image-backed */
.cta-band{background:linear-gradient(rgba(8,8,8,.82), rgba(8,8,8,.9)), url('/assets/carts/6-seater-gray.jpg') center 42%/cover no-repeat; color:#fff; text-align:center; padding:108px 24px}
.cta-band h2{color:#fff; font-size:clamp(32px,4.8vw,50px)}
.cta-band p{margin:14px auto 30px; max-width:44ch; font-size:18px; font-weight:500; color:#D8DAD2}
.bolt-cta-1,.bolt-cta-2{display:none}

/* about: prose + founders */
.prose{max-width:680px; margin:0 auto; font-size:17.5px; line-height:1.75; color:#2b2b2b}
.prose p{margin-bottom:20px}
.prose p:last-child{margin-bottom:0}
.prose a{color:var(--green-800); font-weight:700; text-decoration:underline; text-underline-offset:2px}
.prose a:hover{color:var(--green-700)}
.founder-card{display:grid; grid-template-columns:300px 1fr; gap:38px; align-items:center; max-width:900px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px; box-shadow:0 18px 44px rgba(15,17,21,.07)}
.founder-photo{aspect-ratio:4/5; border-radius:16px; overflow:hidden; background:linear-gradient(150deg,#1c1c1c,#3a3a3a); display:flex; align-items:center; justify-content:center; color:#9aa08d; font-weight:800; letter-spacing:2px; text-transform:uppercase; font-size:12px; text-align:center; padding:16px}
.founder-photo img{width:100%; height:100%; object-fit:cover}
.founder-card .role{display:block; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--green-800); font-weight:800; margin-bottom:6px}
.founder-card h3{font-size:28px}
.founder-card p{margin-top:14px; color:var(--muted); font-size:16px; line-height:1.7}
@media(max-width:640px){.founder-card{grid-template-columns:1fr; text-align:center; padding:24px} .founder-photo{max-width:250px; margin:0 auto}}
.founders-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px; max-width:760px; margin:0 auto}
.founder{background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:0 18px 44px rgba(15,17,21,.07)}
.founder-portrait{aspect-ratio:4/5; width:100%; object-fit:cover; object-position:center 12%; display:block; background:#e9ebe4}
.founder-info{padding:24px 24px 26px; text-align:center}
.founder-info .role{display:block; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--green-800); font-weight:800; margin-bottom:6px}
.founder-info h3{font-size:24px}
.founder-info p{color:var(--muted); font-size:15px; line-height:1.6; margin-top:10px}
@media(max-width:640px){.founders-grid{grid-template-columns:1fr; max-width:360px}}

/* partner lockup */
.lockup{display:flex; align-items:center; justify-content:center; gap:30px; margin:44px auto 0; flex-wrap:wrap}
.lockup-tile{width:236px; height:196px; border-radius:20px; background:#000; box-shadow:0 16px 40px rgba(15,17,21,.16); display:flex; align-items:center; justify-content:center; padding:26px}
.lockup-tile img{width:auto; max-width:100%; max-height:118px; display:block}
.lockup-tile.md img{max-height:150px}
.lockup-x{font-family:var(--display); font-weight:800; font-size:30px; color:var(--muted); line-height:1; flex:0 0 auto}
.lockup-cap{text-align:center; margin-top:26px; font-size:14px; letter-spacing:.5px; color:var(--muted); font-weight:600}
@media(max-width:520px){.lockup-tile{width:190px; height:164px; padding:20px} .lockup-tile img{max-height:96px} .lockup-tile.md img{max-height:124px}}

/* page hero (subpages) */
.page-hero{background:linear-gradient(160deg,#0A0A0A,#1C1C1C); color:#fff; text-align:center; padding:84px 24px 72px}
.page-hero h1{color:#fff; font-size:clamp(34px,5.5vw,54px)}
.page-hero p{margin:16px auto 0; max-width:52ch; color:#C4C9BC; font-size:17px}

/* form embed */
.form-wrap{max-width:820px; margin:0 auto}
.form-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:10px; box-shadow:0 18px 44px rgba(15,17,21,.08)}
.form-card iframe{width:100%; border:none; border-radius:10px; display:block}

/* contact info cards */
.contact-info{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:820px; margin:0 auto 44px}
.info-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; text-align:center}
.info-card .ico{font-size:24px}
.info-card h3{font-size:14px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin:10px 0 6px; font-weight:800}
.info-card a,.info-card p{font-size:17px; font-weight:700; color:var(--ink)}
.info-card a:hover{color:var(--green-700)}

/* policy embed */
.policy-embed{max-width:900px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:16px; padding:34px; box-shadow:0 12px 34px rgba(15,17,21,.06)}
.policy-embed :is(h1,h2,h3){letter-spacing:0}

/* signup CTA band */
.signup{background:radial-gradient(120% 130% at 50% 0%, #12233d 0%, #0A0A0A 66%); color:#fff; padding:96px 24px; position:relative; overflow:hidden}
.signup .container{position:relative; z-index:1}
.bolt-bg{position:absolute; z-index:0; height:auto; opacity:.05; pointer-events:none}
.bolt-bg--1{top:-30px; left:-14px; width:190px; transform:rotate(-14deg)}
.bolt-bg--2{bottom:-70px; right:-24px; width:320px; transform:rotate(10deg)}
.signup-cta{position:relative; max-width:720px; margin:0 auto; text-align:center;
  background:linear-gradient(160deg,#2C6099 0%,#214177 52%,#1A335C 100%);
  border:1px solid rgba(157,182,216,.45); border-radius:24px; padding:58px 40px 54px;
  box-shadow:0 24px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08)}
.signup-cta .bolt-badge{width:40px; height:auto; margin:0 auto 12px; display:block}
.signup-cta .eyebrow{margin-bottom:12px; color:#BFD5F2}
.signup-cta h2{color:#fff; font-size:clamp(30px,4.6vw,46px)}
.signup-cta p{margin:14px auto 30px; max-width:46ch; color:#DCE6F5; font-size:17px}
@media(max-width:560px){.signup-cta{padding:44px 24px} .bolt-bg--2{width:220px}}

/* lightning-bolt motif on hero + CTA band */
.hero .container{position:relative; z-index:1}
.cta-band{position:relative; overflow:hidden}
.cta-band .container{position:relative; z-index:1}
.bolt-hero-1,.bolt-hero-2,.bolt-cta-1,.bolt-cta-2{position:absolute; z-index:0; height:auto; pointer-events:none}
.bolt-hero-1{width:230px; top:4%; left:-46px; transform:rotate(-16deg); opacity:.06}
.bolt-hero-2{width:300px; bottom:-64px; right:-34px; transform:rotate(12deg); opacity:.06}
.bolt-cta-1{width:170px; top:-26px; left:5%; transform:rotate(-12deg); opacity:.10}
.bolt-cta-2{width:210px; bottom:-46px; right:6%; transform:rotate(10deg); opacity:.10}
.bolt-cta-1 path,.bolt-cta-2 path{fill:#2D5FA2}
@media(max-width:560px){.bolt-hero-1{width:150px} .bolt-hero-2{width:190px}}

/* footer */
.site-footer{background:var(--ink); color:#fff; padding:56px 0 30px}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; align-items:start}
.f-logo{height:132px; width:auto; margin-bottom:18px}
.f-tag{color:var(--green); font-weight:800; font-size:18px}
.f-loc{color:#8B917F; font-size:13px; letter-spacing:1px; text-transform:uppercase; font-weight:600; margin-top:8px}
.f-col h4{font-size:12px; letter-spacing:3px; text-transform:uppercase; color:#7E8574; margin-bottom:16px; font-weight:800}
.f-col a{display:block; color:#C4C9BC; font-size:15px; padding:6px 0; transition:color .15s ease}
.f-col a:hover{color:var(--green)}
.footer-bottom{display:flex; flex-wrap:wrap; gap:12px 28px; justify-content:space-between; align-items:center; margin-top:44px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); font-size:12.5px; color:#7E8574}
.footer-bottom a{color:#B9BFB0; text-decoration:underline; text-underline-offset:2px}
.footer-bottom a:hover{color:var(--green)}
.footer-legal-links a{margin:0 2px}

/* responsive */
@media(max-width:860px){
  .nav-toggle{display:block}
  .nav-links{
    position:absolute; top:96px; left:0; right:0; flex-direction:column; align-items:stretch;
    gap:0; background:#0A0A0A; border-bottom:1px solid rgba(255,255,255,.1);
    padding:8px 24px 20px; display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 0; border-bottom:1px solid rgba(255,255,255,.06)}
  .nav-links a.btn{margin-top:14px; border-bottom:none; justify-content:center}
  .carts-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto}
  .why-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr; max-width:420px; margin:0 auto; gap:34px}
  .contact-info{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .section{padding:64px 0}
  .why-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{justify-content:center; text-align:center}
}

/* ---- micro-details ---- */
/* soft, warm card shadows + gentle hover lift */
.cart-card,.founder,.form-card,.info-card{box-shadow:0 14px 40px rgba(15,17,21,.05)}
.cart-card,.founder,.info-card{transition:transform .28s ease, box-shadow .28s ease}
.cart-card:hover,.founder:hover{transform:translateY(-6px); box-shadow:0 30px 60px rgba(15,17,21,.11)}
.info-card:hover{transform:translateY(-3px); box-shadow:0 20px 44px rgba(15,17,21,.09)}
/* hairline accent rule under section eyebrows */
.section-head .eyebrow{position:relative; padding-bottom:16px}
.section-head .eyebrow::after{content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:34px; height:2px; border-radius:2px; background:var(--green)}
/* refined nav + button feel */
.btn{transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease}
.btn:active{transform:translateY(1px)}
/* warmer hairline dividers */
.footer-bottom{border-top-color:rgba(255,255,255,.09)}
