/* ===== Backseat Atlas homepage — web-view matched, scoped under .ba-home ===== */
.ba-home{
  --clay:#E8643C; --navy:#16456B; --cream:#F7F1E1; --sage:#6FA287;
  --clay-soft:#FBE2D8; --sage-soft:#E2EFE8; --navy-soft:#DDE6EE;
  --line:rgba(22,69,107,.13); --shadow:0 18px 50px -22px rgba(22,69,107,.40);
  --shadow-sm:0 8px 24px -14px rgba(22,69,107,.34); --radius:22px;
  color:var(--navy);
}
.ba-home .wrap{max-width:1160px;margin:0 auto;padding:0 26px}
.ba-home h1,.ba-home h2,.ba-home h3,.ba-home h4,.ba-home h5{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.08;margin:0;color:var(--navy);letter-spacing:-.01em}
.ba-home p{margin:0}
.ba-home .accent{color:var(--clay)} .ba-home .accent-sage{color:var(--sage)}
.ba-home .btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font-family:'Inter',sans-serif;font-weight:600;font-size:14.5px;padding:11px 20px;border-radius:999px;cursor:pointer;border:1.5px solid transparent;transition:transform .15s ease,box-shadow .2s ease,background .2s;white-space:nowrap;text-decoration:none}
.ba-home .btn:hover{transform:translateY(-2px)}
.ba-home .btn-primary{background:var(--clay);color:#fff;box-shadow:0 10px 24px -12px rgba(232,100,60,.9)}
.ba-home .btn-primary:hover{background:#d8552f}
.ba-home .btn-navy{background:var(--navy);color:var(--cream)}
.ba-home .btn-navy:hover{background:#0f3656}
.ba-home .btn-ghost{background:transparent;border-color:var(--line);color:var(--navy)}
.ba-home .btn-ghost:hover{border-color:var(--clay);color:var(--clay)}
.ba-home .btn-lg{padding:15px 28px;font-size:16px}

/* Hero */
.ba-home .hero{position:relative;overflow:hidden;padding:56px 0 40px}
.ba-home .hero-bg{position:absolute;inset:0;z-index:0}
.ba-home .hero-bg .blob{position:absolute;border-radius:50%;filter:blur(12px);opacity:.55}
.ba-home .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.ba-home .eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--sage-soft);color:#3c6e54;font-weight:600;font-size:13px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;margin-bottom:22px}
.ba-home .hero h1{font-size:clamp(38px,5.4vw,58px);font-weight:600}
.ba-home .hero h1 em{font-style:italic;color:var(--clay)}
.ba-home .hero .sub{font-size:18px;color:rgba(22,69,107,.78);margin:22px 0 30px;max-width:540px}
.ba-home .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.ba-home .trust{display:flex;gap:22px;margin-top:30px;flex-wrap:wrap;align-items:center}
.ba-home .trust .t{font-size:13.5px;color:rgba(22,69,107,.62);display:flex;align-items:center;gap:7px}
.ba-home .trust .t b{color:var(--clay);font-family:'Fraunces',serif;font-size:18px;font-weight:600}

/* Hero visual: route map card */
.ba-home .map-card{background:#fff;border-radius:26px;box-shadow:var(--shadow);padding:16px;border:1px solid var(--line);transform:rotate(-1.2deg)}
.ba-home .map-stage{position:relative;border-radius:18px;overflow:hidden;height:330px;background:linear-gradient(160deg,#16456B,#0f3656)}
.ba-home .map-stage .grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px}
.ba-home .map-stage svg{position:absolute;inset:0;width:100%;height:100%}
.ba-home .map-pin{position:absolute;transform:translate(-50%,-100%);z-index:3;cursor:pointer;text-align:center}
.ba-home .map-pin .dot{width:26px;height:26px;border-radius:50%;background:var(--clay);border:3px solid #fff;box-shadow:0 6px 14px -4px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;font-family:'Fraunces',serif;margin:0 auto;transition:transform .18s,background .18s}
.ba-home .map-pin.on .dot{background:var(--sage);transform:scale(1.18)}
.ba-home .map-pin .lbl{margin-top:5px;font-size:10.5px;font-weight:700;color:#fff;background:rgba(0,0,0,.42);padding:2px 7px;border-radius:6px;white-space:nowrap;letter-spacing:.02em}
.ba-home .map-card .cap{display:flex;justify-content:space-between;align-items:center;padding:14px 8px 4px}
.ba-home .map-card .cap .ttl{font-family:'Fraunces',serif;font-weight:600;font-size:16px}
.ba-home .map-card .cap .meta{font-size:12.5px;color:rgba(22,69,107,.6)}
.ba-home .dayout{margin-top:10px;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:13px 15px;font-size:13.5px;min-height:62px}
.ba-home .dayout .dnum{font-family:'Fraunces',serif;font-weight:700;color:var(--clay);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.ba-home .dayout .dtxt{margin-top:3px;color:rgba(22,69,107,.85)}

/* Section heading */
.ba-home .sec{padding:56px 0}
.ba-home .sec-head{text-align:center;max-width:660px;margin:0 auto 38px}
.ba-home .sec-head .klabel{color:var(--clay);font-weight:700;font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.ba-home .sec-head h2{font-size:clamp(30px,3.8vw,42px);margin:12px 0}
.ba-home .sec-head p{color:rgba(22,69,107,.72);font-size:17px}

/* Featured day-by-day timeline */
.ba-home .feature{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-sm);overflow:hidden}
.ba-home .feature-top{display:grid;grid-template-columns:1fr 1fr;gap:0}
.ba-home .feature-info{padding:34px 36px}
.ba-home .feature-info .pill-route{display:inline-flex;align-items:center;gap:8px;background:var(--clay-soft);color:#bd4622;font-weight:700;font-size:12px;letter-spacing:.05em;padding:6px 13px;border-radius:999px;text-transform:uppercase}
.ba-home .feature-info h3{font-size:clamp(24px,3vw,32px);margin:14px 0 8px}
.ba-home .feature-info p{color:rgba(22,69,107,.74);font-size:15.5px}
.ba-home .feature-stats{display:flex;gap:24px;margin-top:22px;flex-wrap:wrap}
.ba-home .feature-stats .fs span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(22,69,107,.55);font-weight:700}
.ba-home .feature-stats .fs b{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--navy)}
.ba-home .feature-stats .fs b.go{color:var(--sage)}
.ba-home .feature-visual{background:linear-gradient(160deg,var(--sage) 0%,#4f7e68 100%);position:relative;min-height:240px;display:flex;align-items:flex-end;padding:24px;color:#fff}
.ba-home .feature-visual .vtag{font-family:'Fraunces',serif;font-weight:600;font-size:20px;line-height:1.2}
.ba-home .feature-visual .sun{position:absolute;top:30px;right:34px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,#F7F1E1,#E8643C);opacity:.92;box-shadow:0 0 50px 8px rgba(232,100,60,.5)}
.ba-home .daytabs{display:flex;gap:8px;flex-wrap:wrap;padding:20px 36px 0}
.ba-home .dtab{font-size:13px;font-weight:700;padding:9px 16px;border-radius:10px;background:var(--cream);border:1.5px solid var(--line);cursor:pointer;transition:all .16s;font-family:'Fraunces',serif}
.ba-home .dtab:hover{border-color:var(--sage)}
.ba-home .dtab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.ba-home .dpanel{padding:14px 36px 34px}
.ba-home .dpanel .dgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:start}
.ba-home .timeline{list-style:none;padding:0;margin:0;position:relative}
.ba-home .timeline:before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--clay-soft)}
.ba-home .timeline li{position:relative;padding:0 0 16px 30px;font-size:14.5px}
.ba-home .timeline li:last-child{padding-bottom:0}
.ba-home .timeline li:before{content:"";position:absolute;left:2px;top:5px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--clay)}
.ba-home .timeline li.drive:before{border-color:var(--navy);background:var(--navy)}
.ba-home .timeline li b{display:block;color:var(--navy);font-weight:700}
.ba-home .timeline li span{color:rgba(22,69,107,.7)}
.ba-home .daybudget{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:20px}
.ba-home .daybudget h5{font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(22,69,107,.55);font-weight:700;margin:0 0 12px}
.ba-home .brow{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;padding:7px 0;border-bottom:1px dashed var(--line)}
.ba-home .brow:last-of-type{border-bottom:0}
.ba-home .brow .v{font-weight:700;color:var(--navy)}
.ba-home .dtotal{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1.5px solid var(--line)}
.ba-home .dtotal .val{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--clay)}

/* Library heading uses .sec-head above; real posts render via theme post-grid/pcard (main.css) */
.ba-home .lib-wrap{max-width:1160px;margin:0 auto;padding:0 26px}

/* Pro spotlight + mini-app */
.ba-home .planner{background:linear-gradient(160deg,var(--navy) 0%, #0e3252 100%);color:var(--cream);border-radius:30px;overflow:hidden;position:relative}
.ba-home .planner-inner{display:grid;grid-template-columns:.92fr 1.08fr;gap:40px;padding:48px;align-items:center}
.ba-home .planner .lockup{display:inline-flex;align-items:center;gap:8px;background:rgba(247,241,225,.14);padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:.04em;margin-bottom:18px}
.ba-home .planner h2{color:var(--cream);font-size:clamp(28px,3.4vw,38px)}
.ba-home .planner p.lead{color:rgba(247,241,225,.82);margin:16px 0 24px;font-size:16.5px}
.ba-home .planner ul.benefits{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:11px}
.ba-home .planner ul.benefits li{font-size:15px;display:flex;gap:10px;align-items:flex-start;color:rgba(247,241,225,.92)}
.ba-home .planner ul.benefits li::before{content:"✓";color:var(--clay);font-weight:700}
.ba-home .app{background:var(--cream);color:var(--navy);border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.ba-home .app .apphead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ba-home .app .apphead .t{font-family:'Fraunces',serif;font-weight:600;font-size:18px}
.ba-home .app .field{margin-bottom:16px}
.ba-home .app .field > label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:rgba(22,69,107,.55);font-weight:700;margin-bottom:8px}
.ba-home .picker{display:flex;gap:8px;flex-wrap:wrap}
.ba-home .pbtn{font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;background:#fff;border:1.5px solid var(--line);cursor:pointer;transition:all .16s;font-family:'Inter',sans-serif}
.ba-home .pbtn:hover{border-color:var(--clay)}
.ba-home .pbtn.active{background:var(--clay);color:#fff;border-color:var(--clay)}
.ba-home .pbtn.sage.active{background:var(--sage);border-color:var(--sage);color:#fff}
.ba-home .stepper{display:flex;align-items:center;gap:0;background:#fff;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;width:fit-content}
.ba-home .stepper button{width:40px;height:40px;border:0;background:#fff;font-size:20px;cursor:pointer;color:var(--navy);font-weight:700}
.ba-home .stepper button:hover{background:var(--clay-soft);color:var(--clay)}
.ba-home .stepper .num{min-width:54px;text-align:center;font-family:'Fraunces',serif;font-weight:600;font-size:18px}
.ba-home .breakdown{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-top:4px}
.ba-home .apptotal{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.ba-home .apptotal .lab{font-size:13px;color:rgba(22,69,107,.6)}
.ba-home .apptotal .val{font-family:'Fraunces',serif;font-size:30px;font-weight:600;color:var(--clay)}
.ba-home .perday{font-size:12.5px;color:rgba(22,69,107,.55);text-align:right;margin-top:3px}
.ba-home .paywall{margin-top:16px;background:var(--sage-soft);border:1px dashed var(--sage);border-radius:14px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.ba-home .paywall .pw-t{font-size:13.5px;color:#3c6e54}
.ba-home .paywall .pw-t b{color:var(--navy)}

/* Newsletter */
.ba-home .news{background:var(--clay);border-radius:30px;padding:50px;text-align:center;color:#fff;position:relative;overflow:hidden}
.ba-home .news h2{color:#fff;font-size:clamp(28px,3.4vw,38px)}
.ba-home .news p{color:rgba(255,255,255,.92);margin:14px auto 26px;max-width:500px;font-size:16.5px}
.ba-home .news form{display:flex;gap:10px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.ba-home .news input{flex:1;min-width:220px;padding:14px 18px;border-radius:999px;border:none;font-size:15px;font-family:'Inter',sans-serif;outline:none}
.ba-home .news .btn-navy{background:var(--navy);color:var(--cream)}
.ba-home .news .fine{font-size:12.5px;color:rgba(255,255,255,.82);margin-top:16px}
.ba-home .news .leaf{position:absolute;font-size:80px;opacity:.14}

@media (max-width:900px){
  .ba-home .hero-grid,.ba-home .planner-inner,.ba-home .feature-top,.ba-home .dpanel .dgrid{grid-template-columns:1fr}
}
