/* Brisbane Bike Rental homepage polish — isolated so the existing site and
   Netlify functions remain unchanged. */
.page-index{--hero-green:#2f741b;--hero-lime:#80bf3f;--hero-cream:#fbfaf5;--hero-orange:#ef6417}
.page-index .site-header{background:rgba(251,250,245,.94);box-shadow:0 8px 30px -28px rgba(21,40,20,.55)}
.page-index .header-inner{height:104px}
.page-index .brand img{height:90px}

.hero-v2{
  border:0;
  background:
    radial-gradient(circle at 15% 12%,rgba(128,191,63,.16),transparent 25%),
    linear-gradient(rgba(47,116,27,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,116,27,.055) 1px,transparent 1px),
    var(--hero-cream);
  background-size:auto,46px 46px,46px 46px,auto;
}
.hero-v2-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(500px,1.06fr);min-height:650px;padding-top:48px;padding-bottom:52px;align-items:center;gap:42px}
.hero-v2-copy{position:relative;z-index:2;padding:8px 0;min-width:0}
.hero-live-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(239,100,23,.45);border-radius:999px;padding:8px 13px;color:#bc4307;background:rgba(255,255,255,.88);font:700 .72rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;box-shadow:0 10px 24px -20px rgba(28,35,29,.55);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.hero-live-pill:hover{transform:translateY(-1px);border-color:rgba(239,100,23,.72);box-shadow:0 15px 28px -20px rgba(28,35,29,.65)}
.hero-live-pill span{width:9px;height:9px;border-radius:50%;background:var(--hero-orange);box-shadow:0 0 0 5px rgba(239,100,23,.12)}
.hero-kicker{margin:22px 0 13px;color:var(--green-deep);font:700 .72rem/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase}
.hero-v2 h1{font-size:clamp(3rem,5.3vw,5.25rem);line-height:.97;letter-spacing:-.055em;margin:0 0 18px;max-width:760px;text-wrap:balance}
.hero-v2 h1 em{display:inline-block;color:var(--hero-green);font-style:normal}
.hero-price{display:flex;align-items:baseline;gap:12px;margin:0 0 0;font-family:var(--mono)}
.hero-price>span{font-size:1.05rem;font-weight:700;color:var(--ink)}
.hero-price strong{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1;color:var(--hero-green);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.hero-price small{font-size:.46em;letter-spacing:-.02em}
.hero-plan-note{margin:7px 0 18px;color:var(--muted);font-size:.88rem;text-wrap:pretty}
.hero-v2 .lede{font-size:1.04rem;line-height:1.65;max-width:590px;margin-bottom:0;text-wrap:pretty}
.hero-v2 .hero-cta{margin-top:24px}
.hero-v2 .btn{border-radius:12px}
.hero-proof{list-style:none;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 18px;color:#415044;font-size:.79rem;font-weight:650}
.hero-proof li{display:flex;align-items:center;gap:7px}
.hero-proof svg{width:17px;height:17px;fill:none;stroke:var(--hero-green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}

.hero-v2-visual{position:relative;min-height:548px;border:1px solid rgba(255,255,255,.78);border-radius:34px;overflow:hidden;box-shadow:0 30px 70px -42px rgba(23,52,21,.72);background:#dce8d4;isolation:isolate}
.hero-v2-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,39,19,.42));z-index:0;pointer-events:none}
.hero-v2-visual picture,.hero-v2-visual picture img{position:absolute;inset:0;width:100%;height:100%}
.hero-v2-visual picture img{object-fit:cover;object-position:48% 48%;filter:saturate(.94) contrast(1.03)}
.hero-photo-label{position:absolute;left:20px;bottom:20px;z-index:2;display:flex;align-items:center;gap:10px;color:#fff;font-size:.72rem;line-height:1.3;text-shadow:0 2px 14px rgba(0,0,0,.45);padding:7px 12px 7px 7px;border:1px solid rgba(255,255,255,.32);border-radius:15px;background:rgba(15,34,18,.66);backdrop-filter:blur(12px) saturate(120%);box-shadow:0 12px 32px -18px rgba(0,0,0,.72)}
.hero-team-photo{width:44px;height:44px;border-radius:11px;overflow:hidden;border:1px solid rgba(255,255,255,.65);box-shadow:0 4px 12px rgba(0,0,0,.18);flex:none;background:#6d844e}
.hero-team-photo img{width:100%;height:100%;object-fit:cover;transform:scale(2.8);transform-origin:50% 31%}
.hero-photo-label b{font-size:.84rem;letter-spacing:-.01em}
.hero-book-card{position:absolute;right:22px;top:50%;transform:translateY(-50%);z-index:3;width:min(310px,calc(100% - 44px));padding:22px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:0 22px 50px -26px rgba(16,40,18,.72)}
.hero-book-head{display:flex;align-items:center;gap:9px;font-size:1.12rem;font-weight:800;margin-bottom:16px}
.hero-book-card label{display:block;margin:11px 0 5px;font-size:.72rem;font-weight:750;color:#526057}
.hero-book-card input,.hero-book-card select{width:100%;min-height:45px;border:1px solid #d5d9d0;border-radius:10px;background:#fff;padding:0 12px;color:var(--ink);font:600 .86rem var(--sans)}
.hero-book-card .btn{margin-top:16px;padding:12px 14px;min-height:46px;font-size:.76rem}
.hero-book-card>p{margin:11px 2px 0;font-size:.69rem;line-height:1.45;color:var(--muted)}

.ride-paths{padding:50px 0 56px;background:#fff;border-bottom:1px solid var(--line)}
.ride-paths-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.ride-paths-head .eyebrow{margin-bottom:7px}
.ride-paths-head h2{font-size:clamp(1.9rem,3.2vw,3rem);letter-spacing:-.04em;margin:0}
.ride-paths-head>a{padding:12px 0;color:var(--green-deep);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.ride-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ride-path-card{position:relative;min-height:300px;overflow:hidden;border-radius:22px;background:#dfe8da;box-shadow:0 18px 42px -33px rgba(20,42,22,.8);transition:transform .2s ease,box-shadow .2s ease}
.ride-path-card:hover{transform:translateY(-4px);box-shadow:0 28px 50px -34px rgba(20,42,22,.72)}
.ride-path-card:active{transform:translateY(-1px) scale(.995)}
.ride-path-card:focus-visible{outline:3px solid var(--hero-lime);outline-offset:4px}
.ride-path-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(14,31,16,.78));pointer-events:none}
.ride-path-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .4s ease}
.ride-path-card:first-child img{object-fit:contain;background:linear-gradient(145deg,#edf3e9,#dbe7d3);padding:8px 24px 74px}
.ride-path-card:hover img{transform:scale(1.025)}
.ride-path-card>span{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff;display:flex;flex-direction:column;line-height:1.22}
.ride-path-card small{font:700 .65rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#d8efc7;margin-bottom:5px}
.ride-path-card strong{font-size:1.24rem}
.ride-path-card em{font-style:normal;font-size:.76rem;color:rgba(255,255,255,.84);margin-top:5px}
.ride-path-card>b{position:absolute;right:18px;bottom:22px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--green-deep);font-size:1.05rem}

.page-index .trust-strip{padding-top:24px;padding-bottom:24px}

/* Size the desktop headline from the width of its own grid column, not the
   browser window. This keeps long translated lines inside the copy column and
   prevents the green line from crossing over the hero photo. */
@media (min-width:901px){
  .hero-v2-copy{container-type:inline-size}
  .hero-v2 h1{max-width:100%;font-size:clamp(3rem,11.5cqw,4rem)}
  .hero-v2 h1 em{display:block;max-width:100%;font-size:clamp(.82em,10.2cqw,.92em);white-space:normal;overflow-wrap:break-word}
}

@media (max-width:1050px){
  .hero-v2-grid{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:28px}
  .hero-v2 h1{font-size:clamp(2.7rem,11.5cqw,4.2rem)}
  .hero-book-card{right:16px;width:min(285px,calc(100% - 32px))}
}
@media (max-width:900px){
  .page-index .header-inner{height:80px}.page-index .brand img{height:60px}
  .page-index .mobile-nav{inset:80px 0 0}
  .hero-v2-grid{grid-template-columns:1fr;min-height:0;padding-top:38px;padding-bottom:42px;gap:30px}
  .hero-v2-visual{min-height:520px}
  .hero-v2 h1{font-size:clamp(3rem,9vw,4.8rem)}
  .ride-path-grid{grid-template-columns:1fr 1fr}
  .ride-path-card:first-child{grid-column:1/-1}
}
@media (max-width:620px){
  .page-index .header-inner{height:72px}.page-index .brand img{height:54px}
  .page-index .mobile-nav{inset:72px 0 0}
  .hero-v2-grid{padding-left:18px;padding-right:18px;padding-top:24px}
  .hero-live-pill{padding:8px 12px;letter-spacing:.09em}
  .hero-kicker{margin-top:19px;margin-bottom:11px;letter-spacing:.105em}
  .hero-v2 h1{font-size:clamp(2.05rem,10.4vw,3.65rem);letter-spacing:-.045em}
  .hero-v2 h1 em{display:inline;white-space:normal}
  .hero-price{gap:9px}
  .hero-plan-note{margin-bottom:15px}
  .hero-v2 .hero-cta{display:grid;grid-template-columns:1fr}
  .hero-v2 .hero-cta .btn{width:100%}
  .hero-proof{display:grid;gap:9px}
  .hero-v2-visual{min-height:525px;border-radius:24px}
  .hero-v2-visual picture img{object-position:42% 50%}
  .hero-book-card{left:14px;right:14px;top:auto;bottom:14px;transform:none;width:auto;padding:18px}
  .hero-photo-label{top:14px;left:14px;bottom:auto;padding:6px 10px 6px 6px;border-radius:13px}
  .hero-team-photo{width:38px;height:38px;border-radius:9px}
  .ride-paths{padding:38px 0 44px}
  .ride-paths-head{align-items:start}.ride-paths-head>a{display:none}
  .ride-path-grid{grid-template-columns:1fr}
  .ride-path-card:first-child{grid-column:auto}
  .ride-path-card{min-height:255px}
}
@media (max-width:360px){
  .hero-v2-grid{padding-left:16px;padding-right:16px}
  .hero-kicker{font-size:.68rem}
  .hero-v2 h1{font-size:2rem;line-height:1}
  .hero-price strong{font-size:2.15rem}
  .hero-v2 .lede{font-size:1rem;line-height:1.55}
}
@media (max-height:450px) and (orientation:landscape){
  .hero-v2-grid{padding-top:24px;padding-bottom:30px}
  .hero-v2 h1{font-size:2.4rem}
  .hero-v2-visual{min-height:420px}
}
@media (prefers-reduced-motion:no-preference){.hero-live-pill span{animation:hero-live-pulse 2.4s ease-out infinite}}
@keyframes hero-live-pulse{0%,55%,100%{box-shadow:0 0 0 5px rgba(239,100,23,.12)}28%{box-shadow:0 0 0 9px rgba(239,100,23,0)}}
@media (prefers-reduced-motion:reduce){.hero-live-pill,.ride-path-card,.ride-path-card img{transition:none}}

