/* Bikeley Homepage Overrides (Airbnb-ish polish)
   Loaded AFTER app.css. Keep changes scoped to homepage elements.
*/

/* 1) Header: readable on ALL backgrounds */
body.is-home-page .site-header.site-header--overlay{
  background: transparent;
  border-bottom: 1px solid transparent;
  color: #fff;
  backdrop-filter: none;
}
body.is-home-page .site-header.site-header--overlay .nav__brand,
body.is-home-page .site-header.site-header--overlay .nav__links > a,
body.is-home-page .site-header.site-header--overlay .nav__icon-btn,
body.is-home-page .site-header.site-header--overlay .nav-menu__summary{
  color: #fff;
}
body.is-home-page .site-header.site-header--overlay .nav__icon-btn,
body.is-home-page .site-header.site-header--overlay .nav-menu__summary{
  background: rgba(8,14,24,0.30);
  border-color: rgba(255,255,255,0.16);
  backdrop-filter: blur(14px);
}
body.is-home-page .site-header.site-header--overlay .nav__icon-btn:hover,
body.is-home-page .site-header.site-header--overlay .nav-menu__summary:hover{
  background: rgba(8,14,24,0.42);
}

/* Slightly more solid when scrolled (app.js toggles .is-solid) */
body.is-home-page .site-header.site-header--overlay.is-solid{
  background: rgba(255,255,255,0.94);
  border-bottom: 1px solid rgba(15,23,42,0.10);
  color: var(--text);
  backdrop-filter: blur(12px);
}
body.is-home-page .site-header.site-header--overlay.is-solid .nav__brand,
body.is-home-page .site-header.site-header--overlay.is-solid .nav__links > a,
body.is-home-page .site-header.site-header--overlay.is-solid .nav__icon-btn,
body.is-home-page .site-header.site-header--overlay.is-solid .nav-menu__summary{
  color: var(--text);
}
body.is-home-page .site-header.site-header--overlay.is-solid .nav__icon-btn,
body.is-home-page .site-header.site-header--overlay.is-solid .nav-menu__summary{
  background: rgba(15,23,42,0.06);
  border-color: rgba(15,23,42,0.16);
}

/* 2) Hero search: tighter, clearer, consistent */
.home-search.searchbar{
  border: 1px solid rgba(15,23,42,0.14);
  background: rgba(255,255,255,0.98);
  box-shadow: 0 10px 28px rgba(15,23,42,0.16);

  transition: box-shadow 220ms cubic-bezier(0.2,0,0,1), transform 220ms cubic-bezier(0.2,0,0,1);
  will-change: box-shadow, transform;
}


.home-search.searchbar.is-engaged{
  box-shadow: 0 16px 44px rgba(15,23,42,0.20);
  transform: translateY(-1px);
}

.home-search .searchbar__btn{
  transition: transform 220ms cubic-bezier(0.2,0,0,1), padding 220ms cubic-bezier(0.2,0,0,1), box-shadow 220ms cubic-bezier(0.2,0,0,1);
  transform-origin: right center;
}

@media (min-width: 981px){
  .home-search.searchbar.is-engaged .searchbar__btn{
    padding-left: 22px;
    padding-right: 22px;
    transform: scale(1.03);
    box-shadow: 0 14px 34px rgba(0,0,0,0.18);
  }
}

@media (prefers-reduced-motion: reduce){
  .home-search.searchbar,
  .home-search .searchbar__field,
  .home-search .dd-panel,
  .home-search .searchbar__btn{
    transition: none !important;
    transform: none !important;
  }
}
.home-search .searchbar__field{
  border-radius: 999px;
  transition: background 200ms cubic-bezier(0.2,0,0,1), box-shadow 200ms cubic-bezier(0.2,0,0,1);
}
.home-search .searchbar__field:hover{
  background: rgba(15,23,42,0.03);
}
.home-search .searchbar__field.is-active{
  background: #fff;
  box-shadow: 0 12px 26px rgba(15,23,42,0.18);
}

.home-search .searchbar__label{
  letter-spacing: .08em;
  color: rgba(15,23,42,0.62);
}

.home-search .searchbar__control,
.home-search .searchbar__control--btn{
  font-size: 15px;
}

.home-search .searchbar__control::placeholder{
  color: rgba(15,23,42,0.40);
}

/* 3) Dropdowns: same design language as cards */
.home-search .dd-panel{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,0.12);
  box-shadow: 0 18px 46px rgba(15,23,42,0.20);
  overflow: hidden;
  /* Desktop layer: keep dropdown above surrounding content without becoming a global "always on top". */
  z-index: 80;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 220ms cubic-bezier(0.2,0,0,1), transform 220ms cubic-bezier(0.2,0,0,1);
}

.dd-panel.is-open{
  opacity: 1;
  transform: translateY(0);
}

.home-search .dd-panel__head{
  padding: 14px 14px 10px 14px;
  border-bottom: 1px solid rgba(15,23,42,0.08);
  background: rgba(255,255,255,0.98);
}

.home-search .dd-item{
  border-radius: 14px;
}

.home-search .dd-item:hover{
  background: rgba(15,23,42,0.05);
}

/* 4) Subfilters row: make it feel like an “expanded” part of search */
.hero-filters{
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,0.12);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 10px 26px rgba(15,23,42,0.14);
}

.hero-filters__label{
  color: rgba(15,23,42,0.72);
}

/* 5) Section rhythm (mobile especially) */
@media (max-width: 720px){
  .hero__content{ padding: 76px 16px 28px 16px; }

  .home-search.searchbar{
    border-radius: 24px;
    padding: 10px;
  }

  /* Stack fields nicely */
  .home-search .searchbar__field{
    padding: 14px 14px;
    background: rgba(15,23,42,0.03);
    border-radius: 18px;
  }

  .home-search .searchbar__divider{ display:none !important; }

  .home-search .searchbar__btn{
    width: 100%;
    justify-content: center;
    border-radius: 18px;
    margin: 10px 0 0 0;
    box-sizing: border-box;
  }

  /*
    FIX (Mobile): Dropdowns must be clickable.
    We show a full-page backdrop on mobile (.sb-backdrop with z-index: 99990).
    The homepage polish layer previously set the dropdown z-index too low (80),
    and the engaged searchbar uses a transform which creates a stacking context.
    Result: the backdrop sat ABOVE the dropdown → you saw the grey overlay, but
    couldn't select any item.

    Solution:
    - Lift the searchbar stacking context above the backdrop when engaged.
    - Lift the dropdown panels slightly above that.
  */
  .home-search.searchbar{ position: relative; }
  .home-search.searchbar.is-engaged{ z-index: 100000; }
  .home-search .dd-panel{ z-index: 100001; }

/* Mobile dropdowns: normal dropdown overlay (no bottom sheet) */
.home-search .dd-panel{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 10px) !important;
  bottom: auto !important;
  width: 100% !important;
  max-height: min(52vh, 360px) !important;
  overflow: auto !important;
}

  .section{ margin: 22px 0; }
  .section__title{ font-size: 20px; }
  .section__sub{ font-size: 13px; }
}

@media (max-width: 980px){
  .home-search .searchbar__control,
  .home-search .searchbar__control--btn{ font-size: 14px; }
}

/* 6) IMPORTANT: Desktop should feel emotional (full-bleed hero + image-driven sections)
   Some setups cached app.css without the hero--full helper.
   So we force full-bleed via .hero--home (homepage-only). */
.hero--home{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

/* Make the hero image feel more "cinematic" on desktop */
@media (min-width: 980px){
  .hero--home{ min-height: 74vh; }
  .hero--home .hero__content{ max-width: min(1180px, calc(100vw - 64px)); padding: 120px 32px 64px 32px; }
  .hero--home .hero__title{ max-width: 760px; font-size: 56px; line-height: 1.04; }
  .hero--home .hero__lead{ max-width: 640px; font-size: 18px; }
  .home-search.searchbar{ max-width: 860px; }
}

/* 7) Categories as large image tiles (instead of small pills) */
.cat-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.cat-tile{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  min-height: 178px;
  text-decoration: none;
  color: #fff;
  background: #0b1220;
  box-shadow: 0 16px 40px rgba(2,6,23,0.16);
  transform: translateZ(0);
}

.cat-tile::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(2,6,23,0.10) 0%, rgba(2,6,23,0.62) 72%, rgba(2,6,23,0.82) 100%),
    var(--cat-bg);
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 260ms ease;
}

.cat-tile::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12);
}

.cat-tile:hover::before{ transform: scale(1.03); }

.cat-tile__inner{ position:relative; z-index:2; height:100%; padding:18px 18px 16px 18px; display:flex; }
.cat-tile__top{ display:flex; align-items:flex-end; gap:12px; width:100%; }

.cat-tile__icon{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.18);
  flex: 0 0 46px;
}

.cat-tile__icon img{ width: 24px; height: 24px; filter: invert(1); opacity: 0.95; }

.cat-tile__text{ flex:1; min-width:0; }
.cat-tile__title{ font-size: 18px; font-weight: 950; letter-spacing: -0.01em; line-height: 1.1; }
.cat-tile__meta{ margin-top: 6px; font-size: 13px; font-weight: 750; color: rgba(255,255,255,0.85); line-height: 1.25; max-width: 34ch; }

.cat-tile__arrow{ font-size: 18px; font-weight: 900; opacity: 0.92; padding-bottom: 2px; }

@media (max-width: 980px){
  .cat-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px){
  .cat-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .cat-tile{ min-height: 132px; border-radius: 22px; }
  .cat-tile__inner{ padding: 14px; }
  .cat-tile__title{ font-size: 14px; }
  .cat-tile__meta{ font-size: 12px; }
  .cat-tile__icon{ width: 38px; height: 38px; border-radius: 14px; flex: 0 0 38px; }
  .cat-tile__icon img{ width: 20px; height: 20px; }
}

@media (max-width: 420px){
  .cat-grid{ grid-template-columns: 1fr; }
}

/* 8) Regions: make cards more visual (use background cover if available) */
.region-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
@media (max-width: 980px){
  .region-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .region-grid{ grid-template-columns: 1fr; gap: 12px; }
}

.region-card{
  position:relative;
  border-radius: 24px;
  overflow:hidden;
  min-height: 190px;
  text-decoration:none;
  color:#fff;
  background:#0b1220;
  box-shadow: 0 16px 40px rgba(2,6,23,0.14);
}

.region-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(2,6,23,0.08) 0%, rgba(2,6,23,0.58) 70%, rgba(2,6,23,0.82) 100%),
    var(--region-bg);
  background-size: cover;
  background-position: center;
}

.region-card__inner{ position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:18px; }
.region-card__title{ font-size: 18px; font-weight: 950; letter-spacing:-0.01em; }
.region-card__meta{ margin-top: 6px; font-size: 13px; font-weight: 750; color: rgba(255,255,255,0.86); }

/* 9) Remove "blue link" feel in the homepage content */
.section a{ color: inherit; }
.section a:hover{ text-decoration:none; }



/* Near-me row */
.home-search .dd-item--near{
  background: rgba(255, 59, 92, 0.08);
}
.home-search .dd-item--near:hover{
  background: rgba(255, 59, 92, 0.12);
}

@media (max-width: 720px){
  /* Footer on mobile: keep it short (Airbnb does heavy footer mostly on desktop) */
  .site-footer__discover{ display: none; }
}

/* Bikeley UX polish: homepage search pill spacing + smooth focus + mobile stacking */
.home-search.searchbar{
  transition: box-shadow 220ms cubic-bezier(0.2,0,0,1), transform 220ms cubic-bezier(0.2,0,0,1), border-color 220ms cubic-bezier(0.2,0,0,1);
}
.home-search.searchbar.is-engaged{
  box-shadow: 0 18px 60px rgba(15,23,42,0.28);
  transform: translateY(-1px);
  border-color: rgba(15,23,42,0.12);
}
.home-search .searchbar__field{
  padding: 14px 18px;
  min-width: 210px;
}
.home-search .searchbar__btn{
  transition: transform 220ms cubic-bezier(0.2,0,0,1), filter 220ms cubic-bezier(0.2,0,0,1), padding 220ms cubic-bezier(0.2,0,0,1);
}
.home-search.searchbar.is-engaged .searchbar__btn{
  transform: scale(1.02);
}

@media (max-width: 720px){
  .home-search.searchbar{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .home-search .searchbar__field{
    min-width: 0;
  }
}

/* ===== STEP13 homepage community refresh ===== */
.site-header.site-header--overlay{
  background:linear-gradient(180deg, rgba(5,8,16,.48) 0%, rgba(5,8,16,.16) 78%, rgba(5,8,16,0) 100%);
  border-bottom:0;
  color:#fff;
  backdrop-filter:none;
  box-shadow:none;
}
.site-header.site-header--overlay .nav__brand,
.site-header.site-header--overlay .nav__brand span,
.site-header.site-header--overlay .nav__links > a,
.site-header.site-header--overlay .nav__label,
.site-header.site-header--overlay .icon-btn,
.site-header.site-header--overlay .nav__menu-toggle{
  color:#fff;
}
.site-header.site-header--overlay .icon-btn,
.site-header.site-header--overlay .nav__menu-toggle{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
}
.site-header.site-header--overlay .nav__brand img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));}
.site-header.site-header--overlay.is-solid{
  background:rgba(255,255,255,.95);
  border-bottom:1px solid rgba(15,23,42,.10);
  color:var(--text);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(15,23,42,.10);
}
.site-header.site-header--overlay.is-solid .nav__brand,
.site-header.site-header--overlay.is-solid .nav__brand span,
.site-header.site-header--overlay.is-solid .nav__links > a,
.site-header.site-header--overlay.is-solid .nav__label,
.site-header.site-header--overlay.is-solid .icon-btn,
.site-header.site-header--overlay.is-solid .nav__menu-toggle{color:var(--text);}
.site-header.site-header--overlay.is-solid .icon-btn,
.site-header.site-header--overlay.is-solid .nav__menu-toggle{
  background:rgba(255,255,255,.92);
  border-color:rgba(15,23,42,.12);
}

.hero--home{
  min-height:88svh;
}
.hero--home::after{
  background:linear-gradient(180deg, rgba(2,6,23,.34) 0%, rgba(2,6,23,.42) 26%, rgba(2,6,23,.72) 100%);
}
.hero--home .hero__content{padding-top:140px; padding-bottom:72px;}
.hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:34px;
  padding:0 14px;
  margin:0 auto 16px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero__title{max-width:860px; text-wrap:balance;}
.hero__lead{max-width:660px; color:rgba(255,255,255,.9);}
.hero__quick-links{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.hero__quick-link{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  text-decoration:none;
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  font-weight:850;
  box-shadow:0 10px 24px rgba(2,6,23,.14);
}
.hero__quick-link:hover{background:rgba(255,255,255,.16);}

.home-band{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:28px 0 12px;
}
.home-band__inner{
  max-width:min(1240px, calc(100vw - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, 1.15fr);
  gap:18px;
  align-items:stretch;
}
.home-band__intro,
.home-band-card{
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 28px 70px rgba(2,6,23,.20);
}
.home-band__intro{
  padding:30px;
  background:linear-gradient(180deg, rgba(8,14,28,.96) 0%, rgba(6,11,21,.98) 100%);
  color:#fff;
}
.home-band__kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.home-band__intro h2{
  margin:12px 0 0;
  font-size:clamp(28px, 3vw, 44px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.home-band__intro p{
  margin:14px 0 0;
  color:rgba(255,255,255,.78);
  line-height:1.7;
}
.home-band__cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.home-band-card{
  padding:26px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.home-band-card__title{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.02em;
  color:#081223;
}
.home-band-card p{
  margin:12px 0 0;
  color:#5b6678;
  line-height:1.65;
}

.section{
  margin:34px 0;
}
.section__head{margin-bottom:14px;}
.section__title{letter-spacing:-.03em;}
.section__sub{max-width:720px;}

@media (min-width: 981px){
  .hero--home{min-height:92vh;}
  .hero--home .hero__content{max-width:min(1220px, calc(100vw - 64px));}
  .hero--home .hero__title{font-size:clamp(58px, 6vw, 86px); line-height:.96;}
}

@media (max-width: 980px){
  .home-band{padding:22px 0 6px;}
  .home-band__inner{grid-template-columns:1fr; max-width:min(100vw - 24px, 820px);} 
  .home-band__cards{grid-template-columns:1fr;}
}

@media (max-width: 720px){
  .hero--home{min-height:100svh;}
  .hero--home .hero__content{padding:120px 18px 34px;}
  .hero__eyebrow{font-size:11px; letter-spacing:.12em;}
  .hero__quick-links{gap:8px; margin-top:16px;}
  .hero__quick-link{min-height:38px; padding:0 12px; font-size:13px;}
  .home-band__intro,
  .home-band-card{border-radius:22px;}
  .home-band__intro{padding:22px;}
  .home-band-card{padding:20px;}
}


/* ===== STEP14 homepage search-first / full-width polish ===== */
:root{
  --home-shell:min(1520px, calc(100vw - 40px));
}
.hero--home,
.home-band,
.section{
  width:100%;
}
.section{
  max-width:var(--home-shell);
  margin-left:auto;
  margin-right:auto;
}
.section + .section{
  margin-top:40px;
}
.hero--home{
  min-height:100svh;
  background-position:center center;
}
.hero--home::before{
  background:
    linear-gradient(180deg, rgba(2,6,23,.28) 0%, rgba(2,6,23,.42) 38%, rgba(2,6,23,.62) 100%),
    radial-gradient(1000px 620px at 50% 85%, rgba(15,23,42,.10), transparent 65%);
}
.hero--home .hero__content{
  max-width:min(1240px, calc(100vw - 48px));
  padding-top:128px;
  padding-bottom:48px;
}
.hero__eyebrow{
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
}
.hero__title{
  max-width:780px;
  text-wrap:balance;
}
.hero__lead{
  max-width:720px;
  font-size:clamp(16px, 2vw, 20px);
  color:rgba(255,255,255,.92);
}
.hero-search{max-width:960px;}
.hero__quick-links{
  max-width:980px;
}
.hero__quick-link{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  backdrop-filter:blur(10px);
}
.hero__quick-link:hover{background:rgba(255,255,255,.18);}
.hero__trust .pill{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
.home-band{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:42px 0 18px;
  background:linear-gradient(180deg, rgba(248,250,252,1) 0%, rgba(255,255,255,1) 100%);
}
.home-band__inner{
  max-width:var(--home-shell);
  margin:0 auto;
  padding:0 20px;
}
.section{
  padding:0 0 8px;
}
.section__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.section__title{
  font-size:clamp(30px, 3vw, 50px);
  line-height:1.02;
}
.section__sub{
  font-size:15px;
  line-height:1.7;
  color:#64748b;
}
.cat-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
.cat-tile{min-height:220px;}
.story-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.story-card{
  min-height:320px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  box-shadow:0 18px 46px rgba(15,23,42,.10);
}
.story-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(2,6,23,.02) 0%, rgba(2,6,23,.64) 100%);
}
.story-card > *{position:relative; z-index:2;}
.region-grid{grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px;}
.provider-card,
.provider-card--scroll{
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.provider-card__media,
.provider-card--scroll .provider-card__media{aspect-ratio:16/11;}
.provider-card__body{padding:20px 20px 22px;}
.provider-card__name{font-size:22px; letter-spacing:-.03em;}
.provider-card__meta{font-size:15px; line-height:1.5;}
.provider-card__chips{margin-top:12px;}
.newsletter{
  max-width:var(--home-shell);
  margin-inline:auto;
}
[data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);
}
[data-reveal].is-inview{
  opacity:1;
  transform:none;
}
@media (max-width: 1100px){
  .region-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 980px){
  :root{--home-shell:min(100vw - 24px, 1280px);} 
  .section__head{align-items:flex-start; flex-direction:column;}
  .story-grid{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 720px){
  :root{--home-shell:min(100vw - 18px, 1280px);} 
  .hero--home .hero__content{padding:116px 18px 28px;}
  .hero__eyebrow{font-size:10px; letter-spacing:.12em; padding:8px 12px;}
  .hero__title{font-size:clamp(38px, 10vw, 56px); line-height:.96;}
  .hero__lead{font-size:15px; max-width:32rem;}
  .section__title{font-size:clamp(26px, 8vw, 40px);}
  .cat-grid,
  .region-grid{grid-template-columns:1fr;}
  .cat-tile{min-height:188px;}
  .story-card{min-height:250px;}
  .provider-card__name{font-size:20px;}
}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1; transform:none; transition:none;}
}

/* ===== STEP16 / Homepage full-width, search-first refresh ===== */
body.is-home-page{
  --home-shell:min(1720px, calc(100vw - 32px));
}
body.is-home-page main > .wrap.wrap--wide{
  max-width:100%;
  padding-left:0;
  padding-right:0;
}

/* Header on hero: transparent + readable buttons */
body.is-home-page .site-header.site-header--overlay{
  background:linear-gradient(180deg, rgba(7,12,21,.34) 0%, rgba(7,12,21,.12) 70%, rgba(7,12,21,0) 100%);
  border-bottom-color:transparent;
  backdrop-filter:blur(10px);
}
body.is-home-page .site-header.site-header--overlay .nav__brand,
body.is-home-page .site-header.site-header--overlay .nav__links > a,
body.is-home-page .site-header.site-header--overlay .nav__brand-text,
body.is-home-page .site-header.site-header--overlay .nav__label,
body.is-home-page .site-header.site-header--overlay .nav__icon,
body.is-home-page .site-header.site-header--overlay .nav-menu__summary{
  color:#fff !important;
}
body.is-home-page .site-header.site-header--overlay .nav__icon-btn,
body.is-home-page .site-header.site-header--overlay .nav-menu__summary{
  background:rgba(7,12,21,.38);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 36px rgba(2,6,23,.18);
}
body.is-home-page .site-header.site-header--overlay .nav__icon-btn:hover,
body.is-home-page .site-header.site-header--overlay .nav-menu__summary:hover{
  background:rgba(7,12,21,.52);
}
body.is-home-page .site-header.is-solid .nav__icon-btn,
body.is-home-page .site-header.is-solid .nav-menu__summary{
  background:rgba(15,23,42,.06);
  border:1px solid rgba(15,23,42,.16);
  color:var(--text) !important;
  box-shadow:none;
}

/* BULLETPROOF: force dark text/icons on solid header */
body.is-home-page .site-header.is-solid .nav__icon-btn,
body.is-home-page .site-header.is-solid .nav__icon-btn .nav__label,
body.is-home-page .site-header.is-solid .nav__icon-btn .nav__icon,
body.is-home-page .site-header.is-solid .nav__icon-btn svg,
body.is-home-page .site-header.is-solid .nav-menu__summary,
body.is-home-page .site-header.is-solid .nav-menu__summary .nav__label,
body.is-home-page .site-header.is-solid .nav-menu__summary .nav__icon,
body.is-home-page .site-header.is-solid .nav-menu__summary svg,
body.is-home-page .site-header.site-header--overlay.is-solid .nav__icon-btn,
body.is-home-page .site-header.site-header--overlay.is-solid .nav__icon-btn .nav__label,
body.is-home-page .site-header.site-header--overlay.is-solid .nav__icon-btn .nav__icon,
body.is-home-page .site-header.site-header--overlay.is-solid .nav__icon-btn svg,
body.is-home-page .site-header.site-header--overlay.is-solid .nav-menu__summary,
body.is-home-page .site-header.site-header--overlay.is-solid .nav-menu__summary .nav__label,
body.is-home-page .site-header.site-header--overlay.is-solid .nav-menu__summary svg{
  color:#111827 !important;
}
body.is-home-page .site-header.is-solid .nav__brand,
body.is-home-page .site-header.is-solid .nav__brand-text,
body.is-home-page .site-header.is-solid .nav__links > a,
body.is-home-page .site-header.is-solid .nav-menu__summary,
body.is-home-page .site-header.is-solid .nav__label{
  color:var(--text) !important;
}

/* Hero */
body.is-home-page .hero--home{
  min-height:100dvh;
  background-position:center center;
}
body.is-home-page .hero--home::before{
  background:
    linear-gradient(180deg, rgba(3,8,18,.24) 0%, rgba(3,8,18,.28) 22%, rgba(3,8,18,.48) 62%, rgba(3,8,18,.78) 100%),
    radial-gradient(1200px 680px at 50% 90%, rgba(15,23,42,.12), transparent 72%);
}
body.is-home-page .hero--home .hero__content{
  max-width:min(1460px, calc(100vw - 48px));
  padding:clamp(112px, 15vh, 164px) 24px 72px;
  gap:20px;
  align-content:end;
}
body.is-home-page .hero__eyebrow{
  width:max-content;
  max-width:100%;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
}
body.is-home-page .hero__title{
  max-width:900px;
  font-size:clamp(52px, 6.4vw, 94px);
  line-height:.94;
  letter-spacing:-.05em;
  text-wrap:balance;
}
body.is-home-page .hero__lead{
  max-width:720px;
  font-size:clamp(16px, 1.55vw, 22px);
  line-height:1.6;
  color:rgba(255,255,255,.9);
}
body.is-home-page .hero-search{
  width:100%;
  max-width:1080px;
  margin-top:8px;
}
body.is-home-page .home-search.searchbar{
  border-radius:36px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.98);
  box-shadow:0 24px 70px rgba(2,6,23,.22);
}
body.is-home-page .home-search .searchbar__field{
  min-height:82px;
  padding:16px 20px;
}
body.is-home-page .home-search .searchbar__label{
  color:rgba(15,23,42,.58);
}
body.is-home-page .searchbar__btn{
  font-weight:900;
  letter-spacing:-.01em;
}
body.is-home-page .hero__trust,
body.is-home-page .hero__quick-links{
  display:none !important;
}
body.is-home-page .hero__search-note{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:8px;
  color:rgba(255,255,255,.82);
  font-weight:650;
  font-size:14px;
}
body.is-home-page .hero__search-note .sep{opacity:.55;}

/* Band + section rhythm */
body.is-home-page .home-band--search{
  background:linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  padding:52px 0 18px;
}
body.is-home-page .home-band--search .home-band__inner,
body.is-home-page .section{
  max-width:var(--home-shell);
  margin-left:auto;
  margin-right:auto;
}
body.is-home-page .home-band--search .home-band__inner{
  padding:0 20px;
}
body.is-home-page .home-band__intro{
  border-radius:30px;
  padding:30px;
  background:linear-gradient(135deg, #0b1220 0%, #111c33 100%);
  box-shadow:0 26px 70px rgba(2,6,23,.18);
}
body.is-home-page .home-band__intro h2{
  font-size:clamp(30px, 4vw, 58px);
  line-height:.98;
}
body.is-home-page .home-band__cards{gap:20px;}
body.is-home-page .home-band-card{
  border-radius:28px;
  min-height:100%;
  padding:28px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}

body.is-home-page .section{
  max-width:var(--home-shell);
  padding:0 20px 8px;
  margin-top:54px;
}
body.is-home-page .section__head{
  gap:24px;
  margin-bottom:22px;
}
body.is-home-page .section__title{
  font-size:clamp(34px, 4vw, 64px);
  line-height:.98;
  letter-spacing:-.05em;
}
body.is-home-page .section__sub{
  max-width:760px;
  font-size:16px;
  line-height:1.7;
}
body.is-home-page .section .btn.btn-small{
  min-height:46px;
  padding-inline:18px;
}

body.is-home-page .section--categories .cat-grid{grid-template-columns:repeat(5, minmax(0,1fr)); gap:18px;}
body.is-home-page .section--categories .cat-tile{min-height:236px;}
body.is-home-page .section--categories .cat-tile__title{font-size:20px;}

body.is-home-page .section--inspiration .story-grid{
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:20px;
}
body.is-home-page .section--inspiration .story-card{
  min-height:360px;
}

body.is-home-page .provider-card,
body.is-home-page .provider-card--scroll{
  border-radius:32px;
  box-shadow:0 18px 52px rgba(15,23,42,.08);
  background:#fff;
}
body.is-home-page .provider-card__media,
body.is-home-page .provider-card--scroll .provider-card__media{
  aspect-ratio:4 / 3;
}
body.is-home-page .provider-card__body{
  padding:24px;
}
body.is-home-page .provider-card__name{
  font-size:24px;
  line-height:1.02;
}
body.is-home-page .provider-card__meta{
  font-size:15px;
  line-height:1.65;
}
body.is-home-page .provider-card__chips{
  gap:8px;
}
body.is-home-page .provider-card__chips .chip{
  background:#f8fafc;
}

body.is-home-page .section--featured,
body.is-home-page .section--community,
body.is-home-page .section--regions,
body.is-home-page .section--top,
body.is-home-page .section--newsletter{
  margin-top:64px;
}
body.is-home-page .section--regions .region-grid{gap:20px;}
body.is-home-page .section--regions .region-card{
  min-height:220px;
  border-radius:28px;
}
body.is-home-page .section--top .grid.grid-3{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:20px;
}
body.is-home-page .section--newsletter .newsletter{
  max-width:none;
}
body.is-home-page .newsletter{
  border-radius:32px;
  padding:28px;
  box-shadow:0 20px 56px rgba(15,23,42,.08);
}

body.is-home-page .section a,
body.is-home-page .section a:visited,
body.is-home-page .home-band a,
body.is-home-page .home-band a:visited,
body.is-home-page footer a,
body.is-home-page footer a:visited{
  color:inherit;
}

@media (max-width: 1180px){
  body.is-home-page .section--categories .cat-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
  body.is-home-page .section--top .grid.grid-3{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 900px){
  body.is-home-page{--home-shell:min(100vw - 22px, 1720px);}
  body.is-home-page .home-band--search .home-band__inner,
  body.is-home-page .section{padding-left:14px; padding-right:14px;}
  body.is-home-page .section--categories .cat-grid,
  body.is-home-page .section--inspiration .story-grid,
  body.is-home-page .section--top .grid.grid-3{grid-template-columns:1fr 1fr;}
}
@media (max-width: 720px){
  body.is-home-page{--home-shell:min(100vw - 18px, 1720px);}
  body.is-home-page .site-header .wrap--wide{padding-left:12px; padding-right:12px;}
  body.is-home-page .site-header .nav{min-height:70px; gap:10px;}
  body.is-home-page .site-header.site-header--overlay .nav__icon-btn,
  body.is-home-page .site-header.site-header--overlay .nav-menu__summary{
    background:rgba(7,12,21,.58);
  }
  body.is-home-page .hero--home .hero__content{
    max-width:calc(100vw - 22px);
    padding:108px 12px 24px;
    gap:16px;
    align-content:center;
  }
  body.is-home-page .hero__eyebrow{padding:8px 12px; font-size:10px;}
  body.is-home-page .hero__title{font-size:clamp(40px, 12vw, 58px);}
  body.is-home-page .hero__lead{font-size:15px; max-width:none;}
  body.is-home-page .home-search.searchbar{border-radius:30px; padding:10px;}
  body.is-home-page .home-search .searchbar__field{min-height:unset; padding:14px;}
  body.is-home-page .hero__search-note{font-size:12px; gap:8px;}
  body.is-home-page .home-band--search{padding:34px 0 10px;}
  body.is-home-page .home-band__intro,
  body.is-home-page .home-band-card,
  body.is-home-page .newsletter,
  body.is-home-page .provider-card,
  body.is-home-page .provider-card--scroll,
  body.is-home-page .region-card,
  body.is-home-page .story-card{border-radius:24px;}
  body.is-home-page .home-band__intro{padding:22px;}
  body.is-home-page .home-band-card{padding:20px;}
  body.is-home-page .section{margin-top:38px;}
  body.is-home-page .section__title{font-size:clamp(28px, 9vw, 42px);}
  body.is-home-page .section--categories .cat-grid,
  body.is-home-page .section--inspiration .story-grid,
  body.is-home-page .section--top .grid.grid-3,
  body.is-home-page .region-grid{grid-template-columns:1fr;}
  body.is-home-page .section--categories .cat-tile{min-height:168px;}
  body.is-home-page .provider-card__body{padding:20px;}
  body.is-home-page .provider-card__name{font-size:21px;}
  body.is-home-page .newsletter{padding:22px;}
}


/* 1b) Homepage hero copy: keep it tight and image-led */
.hero--home .hero__content{
  justify-content:center;
}
.hero--home .hero__title{
  max-width: 760px;
}
.hero--home .hero__lead{
  max-width: 520px;
  margin-top: 12px;
  font-size: 17px;
  color: rgba(255,255,255,0.88);
}
@media (max-width: 720px){
  .hero--home .hero__title{font-size: clamp(32px, 10vw, 46px);}
  .hero--home .hero__lead{font-size: 14px; max-width: 420px;}
}

/* ===== STEP20: homepage tighten-up / stronger imagery / cleaner footer handoff ===== */
body.is-home-page .hero--home{
  min-height:min(940px, 92svh);
}
body.is-home-page .hero--home .hero__content{
  max-width:min(1240px, calc(100vw - 40px));
  padding:140px 20px 42px;
  justify-content:flex-end;
}
body.is-home-page .hero--home .hero__title{
  max-width:11.5ch;
  margin:0 0 18px 0;
  font-size:clamp(46px, 6vw, 86px);
  line-height:.94;
}
body.is-home-page .hero-search{
  max-width:min(920px, calc(100vw - 40px));
}
body.is-home-page .section{
  margin-top:46px;
}
body.is-home-page .section--featured,
body.is-home-page .section--community,
body.is-home-page .section--regions,
body.is-home-page .section--top,
body.is-home-page .section--newsletter{
  margin-top:56px;
}
body.is-home-page .section--newsletter .section__head{
  margin-bottom:14px;
}
body.is-home-page .newsletter{
  background:
    radial-gradient(1200px 420px at 15% 0%, rgba(168,85,247,.18), transparent 52%),
    radial-gradient(900px 340px at 100% 100%, rgba(255,122,24,.14), transparent 54%),
    linear-gradient(135deg, #0b1220 0%, #101a31 100%);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  box-shadow:0 24px 60px rgba(2,6,23,.22);
}
body.is-home-page .newsletter__title,
body.is-home-page .newsletter__sub,
body.is-home-page .newsletter__fine,
body.is-home-page .newsletter__msg,
body.is-home-page .newsletter .muted{
  color:rgba(255,255,255,.88);
}
body.is-home-page .newsletter__fine{color:rgba(255,255,255,.62);}
body.is-home-page .newsletter__input{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
  color:#fff;
}
body.is-home-page .newsletter__input::placeholder{
  color:rgba(255,255,255,.62);
}
body.is-home-page .newsletter__input:focus{
  outline:3px solid rgba(255,255,255,.24);
}
body.is-home-page .site-footer{
  margin-top:44px;
}
body.is-home-page .site-footer .wrap{
  max-width:min(1280px, calc(100vw - 32px));
}
@media (max-width: 720px){
  body.is-home-page .hero--home{
    min-height:88svh;
  }
  body.is-home-page .hero--home .hero__content{
    max-width:calc(100vw - 24px);
    padding:110px 12px 24px;
  }
  body.is-home-page .hero--home .hero__title{
    max-width:10.5ch;
    font-size:clamp(34px, 10.5vw, 52px);
    margin-bottom:14px;
  }
  body.is-home-page .hero-search{
    max-width:none;
  }
  body.is-home-page .newsletter{
    border-radius:24px;
  }
}


/* ===== STEP21: reliable hero image, tighter provider cards, calmer newsletter/footer ===== */
body.is-home-page .hero--home{
  position:relative;
  min-height:min(920px, 92svh);
  overflow:hidden;
  background:#0b1220 !important;
}
body.is-home-page .hero__media{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
body.is-home-page .hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:scale(1.01);
}
body.is-home-page .hero__video{
  z-index:0;
}
body.is-home-page .hero--home::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(6,10,20,.80) 0%, rgba(6,10,20,.48) 38%, rgba(6,10,20,.20) 68%, rgba(6,10,20,.12) 100%),
    linear-gradient(180deg, rgba(6,10,20,.10) 0%, rgba(6,10,20,.18) 28%, rgba(6,10,20,.56) 72%, rgba(6,10,20,.78) 100%) !important;
}
body.is-home-page .hero--home::after{content:none !important;}
body.is-home-page .hero--home .hero__content{
  position:relative;
  z-index:2;
  max-width:min(1380px, calc(100vw - 40px));
  padding:136px 24px 42px;
  justify-content:flex-end;
}
body.is-home-page .hero__title{
  max-width:10.8ch;
  margin:0 0 18px 0;
  font-size:clamp(46px, 6vw, 86px);
  line-height:.92;
  letter-spacing:-.055em;
}
body.is-home-page .hero-search{
  max-width:min(980px, calc(100vw - 40px));
}
body.is-home-page .home-search.searchbar{
  border-radius:36px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 26px 72px rgba(2,6,23,.22);
}
body.is-home-page .home-search .searchbar__field{
  min-height:80px;
}
body.is-home-page .home-search .searchbar__field:first-child{
  flex:1.45 1 0%;
}
body.is-home-page .home-search .searchbar__field:nth-child(3){
  flex:.95 1 0%;
}
body.is-home-page .searchbar__btn{
  min-width:136px;
}
body.is-home-page .hero__search-note{
  margin-top:12px;
  gap:10px;
}
body.is-home-page .hero__quick-link{
  background:rgba(7,12,21,.36);
  border-color:rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}
body.is-home-page .section{
  margin-top:44px;
}
body.is-home-page .section__head{
  align-items:end;
}
body.is-home-page .section__title{
  font-size:clamp(28px, 3.2vw, 46px);
  line-height:1.02;
  letter-spacing:-.045em;
}
body.is-home-page .section__sub{
  max-width:720px;
  font-size:15px;
  line-height:1.65;
}
body.is-home-page .section--categories .cat-grid{
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:16px;
}
body.is-home-page .section--categories .cat-tile{
  min-height:212px;
}
body.is-home-page .section--inspiration .story-grid,
body.is-home-page .section--regions .region-grid{
  gap:18px;
}
body.is-home-page .section--top .grid.grid-3{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(262px, 320px));
  justify-content:flex-start;
  gap:18px;
}
body.is-home-page .section--top .provider-card{
  max-width:320px;
}
body.is-home-page .provider-card,
body.is-home-page .provider-card--scroll{
  border-radius:28px;
  box-shadow:0 16px 42px rgba(15,23,42,.08);
}
body.is-home-page .provider-card__media,
body.is-home-page .provider-card--scroll .provider-card__media{
  aspect-ratio:4 / 3;
}
body.is-home-page .provider-card__body{
  padding:18px 18px 20px;
}
body.is-home-page .provider-card__name{
  font-size:20px;
  line-height:1.04;
}
body.is-home-page .provider-card__meta{
  font-size:14px;
  line-height:1.55;
}
body.is-home-page .provider-card__chips{
  margin-top:10px;
}
body.is-home-page .section--newsletter .section__head{
  margin-bottom:12px;
}
body.is-home-page .newsletter{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  color:var(--text) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.08) !important;
  border-radius:28px;
  padding:24px 26px;
}
body.is-home-page .newsletter__grid{
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:18px;
  align-items:end;
}
body.is-home-page .newsletter__title,
body.is-home-page .newsletter__sub,
body.is-home-page .newsletter__fine,
body.is-home-page .newsletter__msg,
body.is-home-page .newsletter .muted{
  color:var(--text) !important;
}
body.is-home-page .newsletter__sub{
  color:var(--muted) !important;
}
body.is-home-page .newsletter__fine{
  color:rgba(15,23,42,.62) !important;
}
body.is-home-page .newsletter__form{
  gap:12px;
}
body.is-home-page .newsletter__input{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.14) !important;
  color:var(--text) !important;
}
body.is-home-page .newsletter__input::placeholder{
  color:rgba(15,23,42,.42) !important;
}
body.is-home-page .newsletter__btn{
  white-space:nowrap;
}
body.is-home-page .site-footer{
  margin-top:30px !important;
  background:#fff;
  border-top:1px solid rgba(15,23,42,.08);
}
body.is-home-page .site-footer .wrap{
  max-width:min(1380px, calc(100vw - 32px));
}
body.is-home-page .site-footer__brandbar{
  padding-top:28px;
}
@media (max-width: 1180px){
  body.is-home-page .section--categories .cat-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}
@media (max-width: 900px){
  body.is-home-page .hero--home .hero__content{
    max-width:calc(100vw - 28px);
    padding:122px 14px 30px;
  }
  body.is-home-page .hero__title{
    max-width:11.5ch;
    font-size:clamp(40px, 8vw, 64px);
  }
  body.is-home-page .section--top .grid.grid-3{
    grid-template-columns:repeat(2, minmax(0, min(320px, 100%)));
  }
  body.is-home-page .newsletter__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  body.is-home-page .hero--home{
    min-height:76svh;
  }
  body.is-home-page .hero--home::before{
    background:
      linear-gradient(180deg, rgba(6,10,20,.20) 0%, rgba(6,10,20,.24) 26%, rgba(6,10,20,.62) 74%, rgba(6,10,20,.82) 100%) !important;
  }
  body.is-home-page .hero--home .hero__content{
    max-width:calc(100vw - 20px);
    padding:104px 10px 22px;
  }
  body.is-home-page .hero__title{
    max-width:10.5ch;
    font-size:clamp(34px, 10.8vw, 50px);
    margin-bottom:14px;
  }
  body.is-home-page .home-search.searchbar{
    border-radius:28px;
    box-shadow:0 20px 50px rgba(2,6,23,.22);
  }
  body.is-home-page .hero__search-note{
    margin-top:10px;
    font-size:12px;
  }
  body.is-home-page .section{
    margin-top:34px;
    padding-left:12px;
    padding-right:12px;
  }
  body.is-home-page .section--categories .cat-grid,
  body.is-home-page .section--regions .region-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px !important;
  }
  body.is-home-page .section--inspiration .story-grid,
  body.is-home-page .section--top .grid.grid-3{
    grid-template-columns:1fr;
  }
  body.is-home-page .section--categories .cat-tile{
    min-height:160px;
  }
  body.is-home-page .section--top .provider-card{
    max-width:none;
  }
  body.is-home-page .newsletter{
    padding:20px;
    border-radius:24px;
  }
}

/* ===== Bikeley homepage blueprint patch 2026-03-08 ===== */
body.is-home-page{
  --home-shell:min(1380px, calc(100vw - 40px));
}

body.is-home-page .hero--home{
  min-height:min(860px, 82svh);
  background:#0b1220 !important;
}
body.is-home-page .hero--home::before{
  background:
    linear-gradient(90deg, rgba(7,12,21,.76) 0%, rgba(7,12,21,.48) 34%, rgba(7,12,21,.18) 70%, rgba(7,12,21,.10) 100%),
    linear-gradient(180deg, rgba(7,12,21,.10) 0%, rgba(7,12,21,.18) 30%, rgba(7,12,21,.58) 72%, rgba(7,12,21,.82) 100%) !important;
}
body.is-home-page .hero--home .hero__content{
  max-width:var(--home-shell);
  padding:128px 20px 42px;
}
body.is-home-page .hero__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(7,12,21,.36);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
body.is-home-page .hero__title{
  max-width:10.5ch;
  margin:16px 0 10px;
  font-size:clamp(48px, 6.4vw, 84px);
  line-height:.94;
  letter-spacing:-.055em;
}
body.is-home-page .hero__lead{
  max-width:42rem;
  font-size:18px;
  line-height:1.58;
  color:rgba(255,255,255,.90);
}
body.is-home-page .hero-search{
  max-width:min(960px, calc(100vw - 40px));
  margin-top:24px;
}
body.is-home-page .home-search.searchbar{
  border-radius:34px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 28px 72px rgba(2,6,23,.22);
}
body.is-home-page .home-search .searchbar__field:first-child{flex:1.3 1 0%;}
body.is-home-page .home-search .searchbar__field:last-of-type{flex:1 1 0%;}
body.is-home-page .searchbar__btn{
  min-width:150px;
}
body.is-home-page .hero__search-note{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:14px;
  color:rgba(255,255,255,.92);
  font-size:14px;
  font-weight:700;
}
body.is-home-page .hero__quick-link{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(7,12,21,.38);
  border:1px solid rgba(255,255,255,.16);
  color:#fff !important;
  text-decoration:none;
  backdrop-filter:blur(10px);
}
body.is-home-page .hero__quick-link:hover{
  background:rgba(7,12,21,.54);
}

body.is-home-page .section{
  max-width:var(--home-shell);
  margin:0 auto;
  padding:76px 20px 0;
}
body.is-home-page .section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
body.is-home-page .section__title{
  margin:0;
  font-size:clamp(32px, 4vw, 46px);
  letter-spacing:-.04em;
}
body.is-home-page .section__sub{
  margin:10px 0 0;
  max-width:58ch;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}

/* Categories */
body.is-home-page .section--categories .cat-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
body.is-home-page .section--categories .cat-tile{
  min-height:220px;
}
body.is-home-page .section--categories .cat-tile__title{
  font-size:19px;
}
body.is-home-page .section--categories .cat-tile__meta{
  max-width:26ch;
  font-size:13px;
  line-height:1.45;
}

/* Discovery */
.home-discover-grid{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:22px;
  align-items:start;
}
.discover-stack{
  display:grid;
  gap:22px;
}
.discover-panel{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:28px;
  padding:24px;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}
.discover-panel__intro{
  margin-bottom:18px;
}
.discover-panel__intro--compact{
  margin-bottom:16px;
}
.discover-panel__intro h3{
  margin:0;
  font-size:22px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.discover-panel__intro p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.65;
}
.discover-pill-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.discover-pill{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  color:var(--text) !important;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.discover-pill:hover{
  background:#eef2ff;
  border-color:rgba(79,70,229,.16);
}
.place-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
.place-card{
  position:relative;
  min-height:210px;
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  color:#fff !important;
  background:#0b1220;
  box-shadow:0 16px 40px rgba(2,6,23,.14);
}
.place-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(2,6,23,.10) 0%, rgba(2,6,23,.56) 72%, rgba(2,6,23,.84) 100%),
    var(--place-image);
  background-size:cover;
  background-position:center;
}
.place-card__inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  height:100%;
  padding:18px;
}
.place-card__title{
  font-size:20px;
  font-weight:950;
  letter-spacing:-.02em;
}
.place-card__meta{
  margin-top:6px;
  color:rgba(255,255,255,.86);
  font-size:13px;
  font-weight:750;
}
.region-link-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.region-link-card{
  position:relative;
  min-height:122px;
  border-radius:22px;
  overflow:hidden;
  text-decoration:none;
  color:#fff !important;
  background:#111827;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:16px;
  box-shadow:0 16px 40px rgba(2,6,23,.12);
}
.region-link-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(2,6,23,.16) 0%, rgba(2,6,23,.56) 68%, rgba(2,6,23,.82) 100%),
    var(--region-image);
  background-size:cover;
  background-position:center;
}
.region-link-card > *{
  position:relative;
  z-index:1;
}
.region-link-card__title{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.02em;
}
.region-link-card__meta{
  margin-top:6px;
  color:rgba(255,255,255,.84);
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}

/* Trust */
.trust-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.trust-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:28px;
  padding:24px;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.trust-card__icon{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:rgba(79,70,229,.08);
  border:1px solid rgba(79,70,229,.12);
}
.trust-card__icon img{
  width:22px;
  height:22px;
}
.trust-card h3{
  margin:18px 0 8px;
  font-size:22px;
  letter-spacing:-.03em;
}
.trust-card p{
  margin:0;
  color:var(--muted);
  line-height:1.68;
}

/* Provider discovery */
body.is-home-page .section--providers .home-provider-grid{
  grid-template-columns:repeat(3, minmax(0, 320px));
  justify-content:flex-start;
  gap:18px;
}
body.is-home-page .section--providers .provider-card{
  max-width:320px;
}
body.is-home-page .home-provider-card .provider-card__media{
  aspect-ratio:16/11;
  border-radius:24px;
}
body.is-home-page .home-provider-card .provider-card__body{
  padding:14px 4px 0;
}
body.is-home-page .home-provider-card .provider-card__name{
  font-size:20px;
  line-height:1.06;
}
body.is-home-page .home-provider-card .provider-card__meta{
  margin-top:8px;
  font-size:14px;
  line-height:1.62;
}
body.is-home-page .home-provider-card .provider-card__chips{
  margin-top:12px;
}
body.is-home-page .home-provider-card .provider-card__chips .chip{
  font-size:12px;
}
.home-provider-card__cta{
  display:inline-flex;
  margin-top:14px;
  font-weight:900;
  color:var(--text);
}
.provider-card--ghost .provider-card__media{
  position:relative;
}
.provider-card--ghost .provider-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(2,6,23,.06) 0%, rgba(2,6,23,.22) 100%);
}

/* Guides */
body.is-home-page .guide-grid{
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
body.is-home-page .guide-card{
  min-height:320px;
}
body.is-home-page .guide-card .story-card__body{
  padding:18px;
}
body.is-home-page .guide-card .story-card__title{
  font-size:22px;
  line-height:1.12;
}
body.is-home-page .guide-card .story-card__meta{
  margin-top:10px;
  font-size:14px;
  line-height:1.62;
  color:rgba(255,255,255,.88);
}

/* SEO block */
.seo-block{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  padding:30px;
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}
.seo-block__text{
  margin:16px 0 0;
  max-width:76ch;
  color:var(--muted);
  font-size:16px;
  line-height:1.76;
}
.seo-link-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.seo-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  color:var(--text) !important;
  text-decoration:none;
  font-weight:800;
}
.seo-link:hover{
  background:#eef2ff;
}

body.is-home-page .section a,
body.is-home-page .section a:visited{
  color:inherit;
}

@media (max-width: 1120px){
  body.is-home-page .section--providers .home-provider-grid{
    grid-template-columns:repeat(2, minmax(0, 320px));
  }
}

@media (max-width: 980px){
  body.is-home-page .hero--home .hero__content{
    padding:118px 18px 34px;
  }
  body.is-home-page .hero__title{
    font-size:clamp(42px, 8vw, 64px);
    max-width:11ch;
  }
  body.is-home-page .hero__lead{
    font-size:16px;
  }
  body.is-home-page .section{
    padding-top:60px;
  }
  body.is-home-page .section--categories .cat-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .home-discover-grid{
    grid-template-columns:1fr;
  }
  .trust-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  body.is-home-page .guide-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 720px){
  body.is-home-page{
    --home-shell:min(100vw - 20px, 1380px);
  }
  body.is-home-page .site-header .wrap--wide{
    padding-left:12px;
    padding-right:12px;
  }
  body.is-home-page .hero--home{
    min-height:74svh;
  }
  body.is-home-page .hero--home .hero__content{
    padding:102px 10px 24px;
  }
  body.is-home-page .hero__eyebrow{
    min-height:34px;
    padding:0 12px;
    font-size:10px;
  }
  body.is-home-page .hero__title{
    font-size:clamp(36px, 11vw, 52px);
    max-width:10.8ch;
  }
  body.is-home-page .hero__lead{
    font-size:15px;
    max-width:none;
  }
  body.is-home-page .hero-search{
    max-width:none;
    margin-top:18px;
  }
  body.is-home-page .home-search.searchbar{
    border-radius:28px;
    padding:10px;
  }
  body.is-home-page .home-search .searchbar__field{
    padding:14px;
  }
  body.is-home-page .searchbar__btn{
    min-width:0;
  }
  body.is-home-page .hero__search-note{
    gap:8px;
    font-size:12px;
  }
  body.is-home-page .hero__quick-link{
    min-height:34px;
    padding:0 12px;
  }
  body.is-home-page .section{
    padding:40px 10px 0;
  }
  body.is-home-page .section__head{
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
    margin-bottom:18px;
  }
  body.is-home-page .section__title{
    font-size:clamp(28px, 8vw, 38px);
  }
  body.is-home-page .section__sub{
    font-size:14px;
  }
  body.is-home-page .section--categories .cat-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }
  body.is-home-page .section--categories .cat-tile{
    min-height:154px;
  }
  body.is-home-page .section--categories .cat-tile__inner{
    padding:14px;
  }
  body.is-home-page .section--categories .cat-tile__title{
    font-size:15px;
  }
  body.is-home-page .section--categories .cat-tile__meta{
    font-size:12px;
    display:none;
  }
  .discover-panel{
    padding:18px;
    border-radius:24px;
  }
  .place-grid,
  .region-link-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }
  .place-card{
    min-height:156px;
    border-radius:20px;
  }
  .place-card__title{
    font-size:16px;
  }
  .place-card__meta,
  .region-link-card__meta{
    font-size:11px;
  }
  .region-link-card{
    min-height:110px;
    border-radius:20px;
    padding:14px;
  }
  .region-link-card__title{
    font-size:15px;
  }
  .trust-grid{
    grid-template-columns:1fr;
  }
  .trust-card{
    padding:20px;
    border-radius:24px;
  }
  .trust-card h3{
    font-size:20px;
  }
  body.is-home-page .section--providers .home-provider-grid{
    grid-template-columns:1fr;
  }
  body.is-home-page .section--providers .provider-card{
    max-width:none;
  }
  body.is-home-page .guide-grid{
    grid-template-columns:1fr;
  }
  body.is-home-page .guide-card{
    min-height:280px;
  }
  .seo-block{
    padding:22px;
    border-radius:24px;
  }
  .seo-block__text{
    font-size:15px;
  }
  .seo-link-grid{
    gap:10px;
  }
}

@media (max-width: 430px){
  body.is-home-page .section--categories .cat-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .place-grid{
    grid-template-columns:1fr 1fr;
  }
}

/* ===== STEP22: lighter hero, reliable dropdown layering, calmer provider cards ===== */
body.is-home-page .hero--home{
  min-height:min(920px, 94svh) !important;
  overflow:visible !important;
  padding-bottom:40px;
}
body.is-home-page .hero--home::before{
  background:
    linear-gradient(90deg, rgba(7,12,21,.66) 0%, rgba(7,12,21,.30) 42%, rgba(7,12,21,.10) 72%, rgba(7,12,21,.06) 100%),
    linear-gradient(180deg, rgba(7,12,21,.04) 0%, rgba(7,12,21,.10) 28%, rgba(7,12,21,.30) 74%, rgba(7,12,21,.46) 100%) !important;
}
body.is-home-page .hero--home .hero__content{
  padding-bottom:88px !important;
}
body.is-home-page .hero-search,
body.is-home-page .hero__search-note{
  position:relative;
  z-index:8;
}
body.is-home-page .home-search.searchbar{
  overflow:visible !important;
  border:1px solid rgba(255,255,255,.26) !important;
  box-shadow:0 24px 64px rgba(2,6,23,.18) !important;
}
body.is-home-page .home-search .searchbar__field{
  min-height:74px;
}
body.is-home-page .home-search .dd-panel{
  z-index:100004 !important;
  max-height:min(56svh, 420px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
body.is-home-page .home-search .dd-item{
  min-height:68px;
  padding:14px 16px;
  border-radius:16px;
}
body.is-home-page .home-search .dd-item__title,
body.is-home-page .home-search .dd-item > span > span > div:first-child{
  font-size:16px;
  font-weight:850;
  line-height:1.2;
}
body.is-home-page .home-search .dd-item__meta{
  font-size:13px;
}
body.is-home-page .hero__search-note{
  margin-top:16px !important;
  row-gap:10px;
}
body.is-home-page .hero__quick-link{
  min-height:42px;
  padding:0 16px;
  background:rgba(9,16,28,.26) !important;
  border-color:rgba(255,255,255,.18) !important;
}
body.is-home-page .section--categories{
  position:relative;
  z-index:1;
}
body.is-home-page .section--providers .home-provider-grid{
  align-items:stretch;
}
body.is-home-page .section--providers .provider-card,
body.is-home-page .section--providers .provider-card--scroll{
  display:flex;
  flex-direction:column;
  height:100%;
}
body.is-home-page .home-provider-card .provider-card__body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:10px;
  padding:16px 4px 0;
}
body.is-home-page .home-provider-card .provider-card__top{
  align-items:flex-start;
}
body.is-home-page .home-provider-card .provider-card__name{
  font-size:18px;
  line-height:1.12;
}
body.is-home-page .home-provider-card .provider-card__meta{
  margin-top:0;
  font-size:14px;
  line-height:1.55;
}
body.is-home-page .home-provider-card .provider-card__chips{
  margin-top:2px;
}
body.is-home-page .home-provider-card .home-provider-card__cta{
  margin-top:auto;
  padding-top:4px;
}
@media (max-width: 720px){
  body.is-home-page .hero--home{
    min-height:100svh !important;
  }
  body.is-home-page .hero--home .hero__content{
    padding-top:114px !important;
    padding-bottom:48px !important;
  }
  body.is-home-page .home-search.searchbar{
    position:relative;
    z-index:100002;
  }
  body.is-home-page .home-search .dd-panel{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:auto !important;
    bottom:12px !important;
    width:auto !important;
    max-height:min(62svh, 460px) !important;
    border-radius:24px;
    z-index:100003 !important;
  }
  body.is-home-page .hero__quick-link{
    min-height:40px;
  }
}


/* ===== STEP23: dropdown overlay must float above everything and never trap desktop scroll ===== */
body.is-home-page .sb-backdrop[hidden]{
  display:none !important;
}
body.is-home-page .sb-backdrop{
  position:fixed;
  inset:0;
  z-index:120004;
  background:rgba(7,12,21,.28);
  backdrop-filter:blur(2px);
}
body.is-home-page .hero--home{
  isolation:isolate;
}
body.is-home-page .hero-search,
body.is-home-page .hero__search-note{
  transition:opacity .18s ease, transform .18s ease;
}
body.is-home-page .hero-search.is-panel-open + .hero__search-note{
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px);
}
@media (min-width: 721px){
  body.is-home-page .hero--home,
  body.is-home-page .hero--home .hero__content,
  body.is-home-page .hero-search,
  body.is-home-page .home-search.searchbar{
    overflow:visible !important;
  }
  body.is-home-page .hero--home{ z-index:50; }
  body.is-home-page .hero--home .hero__content{ z-index:70; }
  body.is-home-page .hero-search{ position:relative; z-index:120000; }
  body.is-home-page .home-search.searchbar{ position:relative; z-index:120001; }
  body.is-home-page .home-search .searchbar__field.is-active{ z-index:120002; }
  body.is-home-page .home-search .dd-panel{
    z-index:120010 !important;
    max-height:none !important;
    overflow:visible !important;
    overscroll-behavior:auto;
  }
  body.is-home-page .home-search [data-where-panel]{
    width:min(540px, calc(100vw - 48px));
  }
  body.is-home-page .home-search [data-type-panel]{
    width:min(560px, calc(100vw - 48px));
  }
}
@media (max-width: 720px){
  body.is-home-page .sb-backdrop{
    display:block;
  }
  body.is-home-page .home-search .dd-panel{
    z-index:120006 !important;
  }
}

/* ===== HOMEPAGE CLEANUP 2026-03-08 ===== */
body.is-home-page .hero__eyebrow{
  display:none !important;
}
body.is-home-page .home-hero__content{
  padding-top:124px;
}
body.is-home-page .hero__title{
  max-width:14ch;
  margin-bottom:14px;
}
body.is-home-page .hero__lead{
  max-width:58ch;
  margin-bottom:22px;
}
body.is-home-page .home-search .dd-item{
  justify-content:flex-start;
  align-items:flex-start;
  gap:12px;
}
body.is-home-page .home-search .dd-item__left{
  display:flex;
  align-items:flex-start;
  gap:12px;
  width:100%;
  min-width:0;
}
body.is-home-page .home-search .dd-item__text{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
body.is-home-page .home-search .dd-item__icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  margin-top:1px;
}
body.is-home-page .home-search .dd-item__icon img{
  width:18px;
  height:18px;
}
body.is-home-page .home-search .dd-item__title{
  white-space:normal;
}
body.is-home-page .home-search .dd-item__meta{
  color:rgba(15,23,42,.62) !important;
  line-height:1.35;
}
body.is-home-page .section__sub,
body.is-home-page .discover-panel__intro p,
body.is-home-page .place-card__meta,
body.is-home-page .region-link-card__meta,
body.is-home-page .guide-card .story-card__meta,
body.is-home-page .home-provider-card .provider-card__meta{
  color:var(--muted) !important;
}
body.is-home-page .home-provider-card__cta,
body.is-home-page .seo-link,
body.is-home-page .discover-pill{
  color:var(--text) !important;
}
@media (max-width: 720px){
  body.is-home-page .home-hero__content{
    padding-top:96px;
  }
  body.is-home-page .hero__title{
    max-width:12ch;
  }
  body.is-home-page .home-search .dd-item__meta{
    display:none;
  }
}


/* ===== STEP24: homepage layout stabilisation across breakpoints ===== */
body.is-home-page .hero--home{
  overflow:clip;
}
body.is-home-page .hero--home .hero__content,
body.is-home-page .section,
body.is-home-page .seo-block,
body.is-home-page .discover-panel,
body.is-home-page .trust-card,
body.is-home-page .provider-card,
body.is-home-page .guide-card,
body.is-home-page .cat-tile,
body.is-home-page .place-card,
body.is-home-page .region-link-card{
  min-width:0;
}
body.is-home-page .hero--home .hero__content{
  width:min(1220px, calc(100vw - 32px));
  padding:clamp(106px, 18vh, 148px) clamp(18px, 3vw, 32px) clamp(28px, 6vw, 56px);
}
body.is-home-page .hero__title{
  max-width:min(11ch, 760px);
  font-size:clamp(38px, 7vw, 84px);
  line-height:.96;
  overflow-wrap:anywhere;
}
body.is-home-page .hero__lead{
  max-width:58ch;
  font-size:clamp(15px, 1.6vw, 18px);
  line-height:1.58;
  overflow-wrap:anywhere;
}
body.is-home-page .hero-search{
  width:100%;
  max-width:min(920px, 100%);
}
body.is-home-page .home-search.searchbar{
  width:100%;
  max-width:min(920px, 100%);
  align-items:stretch;
  overflow:visible;
}
body.is-home-page .home-search .searchbar__field,
body.is-home-page .home-search .searchbar__control,
body.is-home-page .home-search .searchbar__control--btn,
body.is-home-page .home-search .searchbar__btn,
body.is-home-page .section__head > div,
body.is-home-page .provider-card__title,
body.is-home-page .provider-card__body,
body.is-home-page .story-card__body,
body.is-home-page .discover-panel__intro,
body.is-home-page .seo-link,
body.is-home-page .discover-pill{
  min-width:0;
}
body.is-home-page .home-search .searchbar__control,
body.is-home-page .home-search .searchbar__control--btn{
  text-overflow:ellipsis;
  overflow:hidden;
}
body.is-home-page .hero__search-note{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  max-width:min(920px, 100%);
}
body.is-home-page .section__head{
  gap:18px;
}
body.is-home-page :is(.section__title,.section__sub,.cat-tile__title,.cat-tile__meta,.place-card__title,.place-card__meta,.region-link-card__title,.region-link-card__meta,.provider-card__name,.provider-card__meta,.story-card__title,.story-card__meta,.seo-block__text){
  overflow-wrap:anywhere;
}
body.is-home-page .cat-grid,
body.is-home-page .home-provider-grid,
body.is-home-page .guide-grid,
body.is-home-page .trust-grid,
body.is-home-page .place-grid,
body.is-home-page .region-link-grid,
body.is-home-page .home-discover-grid,
body.is-home-page .discover-stack{
  align-items:stretch;
}
body.is-home-page .section--providers .home-provider-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  justify-content:stretch;
}
body.is-home-page .section--providers .provider-card{
  max-width:none;
  height:100%;
}
body.is-home-page .home-provider-card .provider-card__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  height:100%;
}
body.is-home-page .home-provider-card .provider-card__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.is-home-page .home-provider-card__cta{
  display:none !important;
}
body.is-home-page .guide-card,
body.is-home-page .trust-card,
body.is-home-page .cat-tile,
body.is-home-page .place-card,
body.is-home-page .region-link-card,
body.is-home-page .provider-card,
body.is-home-page .seo-block{
  height:100%;
}
body.is-home-page .seo-link-grid,
body.is-home-page .discover-pill-grid{
  align-items:flex-start;
}
body.is-home-page .seo-link,
body.is-home-page .discover-pill{
  max-width:100%;
  text-align:center;
  justify-content:center;
}
body.is-home-page .discover-panel,
body.is-home-page .trust-card,
body.is-home-page .seo-block{
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

@media (max-width: 1120px){
  body.is-home-page .section--providers .home-provider-grid,
  body.is-home-page .guide-grid,
  body.is-home-page .trust-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px){
  body.is-home-page .hero--home .hero__content{
    width:min(100vw - 20px, 1220px);
    padding:112px 14px 34px;
  }
  body.is-home-page .home-search.searchbar{
    padding:10px;
  }
  body.is-home-page .cat-grid,
  body.is-home-page .place-grid,
  body.is-home-page .region-link-grid,
  body.is-home-page .section--providers .home-provider-grid,
  body.is-home-page .guide-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  body.is-home-page .hero--home{
    min-height:72svh;
  }
  body.is-home-page .hero--home .hero__content{
    width:min(100vw - 16px, 1220px);
    padding:98px 8px 26px;
  }
  body.is-home-page .hero__title{
    max-width:11.5ch;
  }
  body.is-home-page .hero-search{
    margin-top:18px;
  }
  body.is-home-page .home-search.searchbar{
    border-radius:26px;
    padding:10px;
  }
  body.is-home-page .home-search .searchbar__field{
    padding:14px;
  }
  body.is-home-page .hero__search-note{
    gap:8px;
  }
  body.is-home-page .section{
    width:min(100vw - 16px, 1220px);
    padding:40px 8px 0;
  }
  body.is-home-page .section__head{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  body.is-home-page .cat-grid,
  body.is-home-page .place-grid,
  body.is-home-page .region-link-grid,
  body.is-home-page .section--providers .home-provider-grid,
  body.is-home-page .guide-grid,
  body.is-home-page .trust-grid{
    grid-template-columns:1fr;
  }
  body.is-home-page .cat-tile,
  body.is-home-page .place-card,
  body.is-home-page .region-link-card,
  body.is-home-page .guide-card,
  body.is-home-page .provider-card{
    min-height:0;
  }
  body.is-home-page .cat-tile__meta,
  body.is-home-page .region-link-card__meta,
  body.is-home-page .place-card__meta{
    display:block;
  }
}

@media (max-width: 420px){
  body.is-home-page .hero__title{
    font-size:clamp(34px, 10vw, 46px);
  }
  body.is-home-page .hero__quick-link,
  body.is-home-page .seo-link,
  body.is-home-page .discover-pill{
    width:100%;
  }
}


/* ===== PATCH 2026-03-09: Mobile hero search UX ===== */

/* 1) Mobile: no fullscreen blur overlay; keep page scrollable while dropdowns are open */
@media (max-width: 720px){
  body.is-home-page .sb-backdrop{
    display:none !important;
    pointer-events:none !important;
    background:transparent !important;
    backdrop-filter:none !important;
  }

  /* Keep the dropdown as a normal panel under the active field (NOT a bottom sheet) */
  body.is-home-page .home-search.searchbar{ position:relative; z-index:120001; }
  body.is-home-page .home-search .dd-panel{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:calc(100% + 10px) !important;
    bottom:auto !important;
    width:100% !important;
    max-height:min(52vh, 360px) !important;
    overflow:auto !important;
    border-radius:18px !important;
    z-index:120010 !important;
  }

  /* 2) “Was suchst du”: never break words like “Werkstatt” into two lines */
  body.is-home-page .home-search .searchbar__control--btn{ min-width:0; }
  body.is-home-page .home-search .searchbar__control--btn .placeholder,
  body.is-home-page .home-search .searchbar__control--btn .value{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0;
  }

  /* 3) No dropdown chevrons on the homepage hero */
  body.is-home-page .home-search .searchbar__chev{ display:none !important; }
}

/* 4) “Beliebt” chips: smaller + never full-width */
@media (max-width: 720px){
  body.is-home-page .hero__quick-link{
    min-height:32px !important;
    padding:0 10px !important;
    font-size:12px !important;
  }
}
@media (max-width: 420px){
  body.is-home-page .hero__quick-link{
    width:auto !important;
  }
}

/* 5) Category tiles: remove decorative arrow */
body.is-home-page .cat-tile__arrow{
  display:none !important;
}


/* ===== PATCH 2026-03-09: Bigger media on homepage cards ===== */

/* Show a bit more of the photos in the homepage grids */
body.is-home-page .home-provider-card .provider-card__media{
  /* Squarer + larger visual area */
  aspect-ratio:1/1;
}

/* app.css sets a fixed image height for cards; on the homepage we want the image
   to fully fill the (square) media area */
body.is-home-page .home-provider-card .provider-card__media img{
  height:100% !important;
}

/* Align text block flush with the image edge (no odd left shift) */
body.is-home-page .home-provider-card .provider-card__body{
  padding:14px 0 0 !important;
}

/* Account dropdown: ensure contrast (header link color must not bleed into the panel) */
body.is-home-page .site-header.site-header--overlay .nav-menu__panel .nav-menu__item:not(.nav-menu__item--danger){
  color:var(--text) !important;
}
body.is-home-page .site-header.site-header--overlay .nav-menu__panel .nav-menu__item--danger{
  color:#b42318 !important;
}

body.is-home-page .place-card{
  min-height:240px;
}

body.is-home-page .region-link-card{
  min-height:150px;
}


/* ===== PATCH 2026-03-09c: homepage card polish + mobile dropdown layering ===== */

/* Mobile hero dropdown must float above the next section and must never be clipped */
@media (max-width: 720px){
  body.is-home-page .hero--home,
  body.is-home-page .hero--home .hero__content,
  body.is-home-page .hero-search,
  body.is-home-page .home-search.searchbar,
  body.is-home-page .home-search .searchbar__field{
    overflow: visible !important;
  }

  body.is-home-page .hero--home{
    overflow: visible !important;
    isolation: isolate;
    z-index: 60;
  }

  body.is-home-page .hero--home .hero__content{
    position: relative;
    z-index: 140000;
  }

  body.is-home-page .hero-search{
    position: relative;
    z-index: 140001 !important;
  }

  body.is-home-page .home-search.searchbar,
  body.is-home-page .home-search.searchbar.is-engaged{
    position: relative;
    z-index: 140002 !important;
  }

  body.is-home-page .home-search .searchbar__field.is-active{
    z-index: 140003 !important;
  }

  body.is-home-page .home-search .dd-panel{
    z-index: 140010 !important;
    top: calc(100% + 8px) !important;
  }

  body.is-home-page .section,
  body.is-home-page .section--categories{
    position: relative;
    z-index: 1 !important;
  }
}

/* “Was suchst du?” cards: force readable white copy on image tiles */
body.is-home-page .section--categories .cat-tile,
body.is-home-page .section--categories .cat-tile:visited,
body.is-home-page .section--categories .cat-tile__title{
  color: #fff !important;
}

body.is-home-page .section--categories .cat-tile__meta{
  color: rgba(255,255,255,.88) !important;
}

/* Provider cards on the homepage: cleaner structure, bigger square media, no odd stretched height */
body.is-home-page .section--providers .home-provider-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start !important;
  gap: 20px;
}

body.is-home-page .section--providers .provider-card,
body.is-home-page .section--providers .provider-card--scroll{
  display: block !important;
  height: auto !important;
  align-self: start;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(15,23,42,.08);
}

body.is-home-page .section--providers .home-provider-card .provider-card__media{
  aspect-ratio: 1 / 1 !important;
  border-radius: 0 !important;
  background: #eef2f7;
}

body.is-home-page .section--providers .home-provider-card .provider-card__media img{
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
}

body.is-home-page .section--providers .home-provider-card .provider-card__badges{
  left: 14px;
  top: 14px;
}

body.is-home-page .section--providers .home-provider-card .provider-card__body{
  padding: 18px 18px 20px !important;
  display: block !important;
  height: auto !important;
}

body.is-home-page .section--providers .home-provider-card .provider-card__top{
  display: block !important;
  margin: 0 0 8px;
}

body.is-home-page .section--providers .home-provider-card .provider-card__name{
  margin: 0;
  font-size: 21px;
  line-height: 1.08;
  letter-spacing: -.03em;
}

body.is-home-page .section--providers .home-provider-card .provider-card__meta{
  margin: 0;
  font-size: 15px;
  line-height: 1.62;
  color: var(--muted) !important;
}

body.is-home-page .section--providers .home-provider-card .provider-card__chips{
  margin-top: 14px;
  gap: 8px;
}

body.is-home-page .section--providers .home-provider-card .provider-card__chips .chip{
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}

body.is-home-page .section--providers .provider-card--ghost .provider-card__media{
  background: linear-gradient(180deg, #f2f5f9 0%, #e8eef5 100%);
}

body.is-home-page .section--providers .provider-card--ghost .provider-card__media::after{
  background: linear-gradient(180deg, rgba(15,23,42,.06) 0%, rgba(15,23,42,.16) 100%);
}

/* “Gut vorbereitet unterwegs”: no dark/grey overlay cards – use clean white cards */
body.is-home-page .section--guides .guide-grid{
  align-items: start;
}

body.is-home-page .section--guides .guide-card{
  min-height: 0 !important;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(15,23,42,.07);
}

body.is-home-page .section--guides .guide-card::after{
  display: none !important;
}

body.is-home-page .section--guides .guide-card .story-card__media{
  position: relative;
  aspect-ratio: 16 / 10;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  border-bottom: 1px solid rgba(15,23,42,.08);
}

body.is-home-page .section--guides .guide-card .story-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.02);
}

body.is-home-page .section--guides .guide-card .story-card__body{
  padding: 20px 20px 22px !important;
  background: #fff;
}

body.is-home-page .section--guides .guide-card .story-card__title{
  color: var(--text);
  font-size: 22px;
  line-height: 1.12;
}

body.is-home-page .section--guides .guide-card .story-card__meta{
  margin-top: 10px;
  color: var(--muted) !important;
  font-size: 14px;
  line-height: 1.62;
}

@media (max-width: 1120px){
  body.is-home-page .section--providers .home-provider-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  body.is-home-page .section--providers .home-provider-grid,
  body.is-home-page .section--guides .guide-grid{
    grid-template-columns: 1fr;
  }

  body.is-home-page .section--providers .home-provider-card .provider-card__body{
    padding: 16px 16px 18px !important;
  }

  body.is-home-page .section--providers .home-provider-card .provider-card__name{
    font-size: 20px;
  }

  body.is-home-page .section--guides .guide-card .story-card__body{
    padding: 18px !important;
  }
}

/* SEO phase 2: jobs teaser + FAQ */
body.is-home-page .section--jobs-home .home-jobs-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(320px, .92fr);
  gap:18px;
}

body.is-home-page .section--jobs-home .home-jobs-shell > *{
  min-width:0;
}

body.is-home-page .section--jobs-home .home-jobs-hero,
body.is-home-page .section--jobs-home .home-jobs-panel,
body.is-home-page .section--jobs-home .home-jobs-quick-card{
  border-radius:32px;
}

body.is-home-page .section--jobs-home .home-jobs-hero{
  display:grid;
  gap:20px;
  min-height:100%;
  padding:32px;
  background:linear-gradient(135deg, #0b1220 0%, #111827 52%, #1d4ed8 150%);
  color:#fff;
  box-shadow:0 28px 60px rgba(15,23,42,.18);
}

body.is-home-page .section--jobs-home .home-jobs-hero__eyebrow,
body.is-home-page .section--jobs-home .home-jobs-panel__eyebrow,
body.is-home-page .section--jobs-home .home-jobs-quick-card__eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.is-home-page .section--jobs-home .home-jobs-hero__eyebrow{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.84);
}

body.is-home-page .section--jobs-home .home-jobs-hero__copy{
  display:grid;
  gap:14px;
  max-width:58ch;
}

body.is-home-page .section--jobs-home .home-jobs-hero__title{
  margin:0;
  max-width:12ch;
  color:#fff;
  font-size:clamp(34px, 4.4vw, 58px);
  line-height:.94;
  letter-spacing:-.05em;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

body.is-home-page .section--jobs-home .home-jobs-hero__text{
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:16px;
  line-height:1.74;
}

body.is-home-page .section--jobs-home .home-jobs-stats{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

body.is-home-page .section--jobs-home .home-jobs-stat{
  display:grid;
  gap:4px;
  min-width:130px;
  padding:14px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
}

body.is-home-page .section--jobs-home .home-jobs-stat strong{
  color:#fff;
  font-size:26px;
  line-height:1;
}

body.is-home-page .section--jobs-home .home-jobs-stat span{
  color:rgba(255,255,255,.76);
  font-size:13px;
  line-height:1.35;
}

body.is-home-page .section--jobs-home .home-jobs-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}

body.is-home-page .section--jobs-home .home-jobs-action,
body.is-home-page .section--jobs-home .home-jobs-link,
body.is-home-page .section--jobs-home .home-jobs-panel__link,
body.is-home-page .section--jobs-home .home-jobs-quick-card,
body.is-home-page .section--jobs-home .home-jobs-live-card,
body.is-home-page .section--jobs-home .home-jobs-place-chip{
  text-decoration:none;
}

body.is-home-page .section--jobs-home .home-jobs-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding-inline:18px;
  border-radius:999px;
  font-weight:800;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

body.is-home-page .section--jobs-home .home-jobs-action--primary{
  background:#fff;
  border:1px solid #fff;
  color:#111827;
}

body.is-home-page .section--jobs-home .home-jobs-action--primary:hover{
  transform:translateY(-1px);
  background:#f8fafc;
}

body.is-home-page .section--jobs-home .home-jobs-action--secondary{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
}

body.is-home-page .section--jobs-home .home-jobs-action--secondary:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.16);
}

body.is-home-page .section--jobs-home .home-jobs-link,
body.is-home-page .section--jobs-home .home-jobs-panel__link{
  color:inherit;
  font-size:14px;
  font-weight:800;
}

body.is-home-page .section--jobs-home .home-jobs-link{
  color:rgba(255,255,255,.92);
}

body.is-home-page .section--jobs-home .home-jobs-link:hover,
body.is-home-page .section--jobs-home .home-jobs-panel__link:hover{
  text-decoration:underline;
}

body.is-home-page .section--jobs-home .home-jobs-panel,
body.is-home-page .section--jobs-home .home-jobs-quick-card{
  display:grid;
  gap:16px;
  min-height:100%;
  padding:28px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 42px rgba(15,23,42,.06);
  color:var(--text);
}

body.is-home-page .section--jobs-home .home-jobs-panel__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

body.is-home-page .section--jobs-home .home-jobs-panel__head > div{
  min-width:0;
}

body.is-home-page .section--jobs-home .home-jobs-panel__eyebrow,
body.is-home-page .section--jobs-home .home-jobs-quick-card__eyebrow{
  background:#f5f7fb;
  border:1px solid rgba(15,23,42,.06);
  color:rgba(15,23,42,.56);
}

body.is-home-page .section--jobs-home .home-jobs-panel__head h3,
body.is-home-page .section--jobs-home .home-jobs-quick-card h3,
body.is-home-page .section--jobs-home .home-jobs-live-card h3{
  margin:0;
  color:var(--text);
  letter-spacing:-.03em;
  overflow-wrap:anywhere;
}

body.is-home-page .section--jobs-home .home-jobs-panel__head h3,
body.is-home-page .section--jobs-home .home-jobs-quick-card h3{
  font-size:28px;
  line-height:1.02;
}

body.is-home-page .section--jobs-home .home-jobs-live-list{
  display:grid;
  gap:12px;
}

body.is-home-page .section--jobs-home .home-jobs-live-card{
  display:grid;
  gap:10px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border:1px solid rgba(15,23,42,.08);
  color:var(--text);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.is-home-page .section--jobs-home .home-jobs-live-card:hover,
body.is-home-page .section--jobs-home .home-jobs-quick-card:hover,
body.is-home-page .section--jobs-home .home-jobs-place-chip:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(15,23,42,.08);
}

body.is-home-page .section--jobs-home .home-jobs-live-card__topline,
body.is-home-page .section--jobs-home .home-jobs-live-card__meta,
body.is-home-page .section--jobs-home .home-jobs-quick-card__footer,
body.is-home-page .section--jobs-home .home-jobs-place-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

body.is-home-page .section--jobs-home .home-jobs-live-card__topline,
body.is-home-page .section--jobs-home .home-jobs-live-card__meta{
  gap:8px;
}

body.is-home-page .section--jobs-home .home-jobs-live-card h3{
  font-size:23px;
  line-height:1.06;
}

body.is-home-page .section--jobs-home .home-jobs-live-card__sub,
body.is-home-page .section--jobs-home .home-jobs-live-card__copy,
body.is-home-page .section--jobs-home .home-jobs-quick-card p,
body.is-home-page .section--jobs-home .home-jobs-places__copy,
body.is-home-page .section--jobs-home .home-jobs-empty p{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}

body.is-home-page .section--jobs-home .home-jobs-live-card__copy{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

body.is-home-page .section--jobs-home .home-jobs-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#f5f7fb;
  border:1px solid rgba(15,23,42,.06);
  color:var(--text);
  font-size:12px;
  font-weight:800;
}

body.is-home-page .section--jobs-home .home-jobs-chip--dark{
  background:#111827;
  border-color:#111827;
  color:#fff;
}

body.is-home-page .section--jobs-home .home-jobs-empty{
  display:grid;
  gap:12px;
  align-content:start;
  padding:20px;
  border-radius:24px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border:1px dashed rgba(15,23,42,.14);
}

body.is-home-page .section--jobs-home .home-jobs-empty strong{
  color:var(--text);
  font-size:20px;
  line-height:1.15;
  letter-spacing:-.02em;
}

body.is-home-page .section--jobs-home .home-jobs-empty--compact{
  padding:16px;
}

body.is-home-page .section--jobs-home .home-jobs-lower{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(300px, .82fr);
  gap:18px;
}

body.is-home-page .section--jobs-home .home-jobs-lower > .home-jobs-quick-card:nth-of-type(1){
  grid-column:1;
  grid-row:1;
}

body.is-home-page .section--jobs-home .home-jobs-lower > .home-jobs-quick-card:nth-of-type(2){
  grid-column:1;
  grid-row:2;
}

body.is-home-page .section--jobs-home .home-jobs-lower > .home-jobs-places{
  grid-column:2;
  grid-row:1 / span 2;
  align-content:start;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card__footer{
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card__cta{
  font-weight:800;
  color:var(--text);
}

body.is-home-page .section--jobs-home .home-jobs-place-chips{
  gap:10px;
}

body.is-home-page .section--jobs-home .home-jobs-place-chip{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:0 14px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  color:var(--text);
  font-weight:800;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

body.is-home-page .section--jobs-home .home-jobs-place-chip strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  min-height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  font-size:12px;
}

@media (max-width: 1120px){
  body.is-home-page .section--jobs-home .home-jobs-shell{
    grid-template-columns:1fr;
  }

  body.is-home-page .section--jobs-home .home-jobs-lower{
    grid-template-columns:1fr;
  }

  body.is-home-page .section--jobs-home .home-jobs-lower > .home-jobs-quick-card:nth-of-type(1),
  body.is-home-page .section--jobs-home .home-jobs-lower > .home-jobs-quick-card:nth-of-type(2),
  body.is-home-page .section--jobs-home .home-jobs-lower > .home-jobs-places{
    grid-column:auto;
    grid-row:auto;
  }
}

@media (max-width: 820px){
  body.is-home-page .section--jobs-home .home-jobs-hero,
  body.is-home-page .section--jobs-home .home-jobs-panel,
  body.is-home-page .section--jobs-home .home-jobs-quick-card{
    padding:22px;
    border-radius:26px;
  }

  body.is-home-page .section--jobs-home .home-jobs-lower{
    grid-template-columns:1fr;
  }

  body.is-home-page .section--jobs-home .home-jobs-hero__title{
    max-width:none;
    font-size:clamp(30px, 9vw, 44px);
  }

  body.is-home-page .section--jobs-home .home-jobs-panel__head{
    flex-direction:column;
  }

  body.is-home-page .section--jobs-home .home-jobs-panel__head h3,
  body.is-home-page .section--jobs-home .home-jobs-quick-card h3{
    font-size:24px;
  }

  body.is-home-page .section--jobs-home .home-jobs-live-card h3,
  body.is-home-page .section--faq .home-faq-item h3{
    font-size:21px;
  }
}

@media (max-width: 640px){
  body.is-home-page .section--jobs-home .home-jobs-stats{
    display:grid;
    grid-template-columns:1fr;
  }

  body.is-home-page .section--jobs-home .home-jobs-stat,
  body.is-home-page .section--jobs-home .home-jobs-action,
  body.is-home-page .section--jobs-home .home-jobs-link,
  body.is-home-page .section--jobs-home .home-jobs-place-chip{
    width:100%;
  }

  body.is-home-page .section--jobs-home .home-jobs-actions{
    align-items:stretch;
  }

  body.is-home-page .section--jobs-home .home-jobs-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
  }

  body.is-home-page .section--jobs-home .home-jobs-quick-card__footer{
    flex-direction:column;
    align-items:flex-start;
  }
}

body.is-home-page .section--faq .home-faq-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.is-home-page .section--faq .home-faq-item{
  display:grid;
  gap:12px;
  padding:24px;
  border-radius:28px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  box-shadow:0 18px 38px rgba(15,23,42,.05);
  text-decoration:none;
}

body.is-home-page .section--faq .home-faq-item h3{
  margin:0;
  color:var(--text);
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.03em;
}

body.is-home-page .section--faq .home-faq-item p{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}

@media (max-width: 820px){
  body.is-home-page .section--faq .home-faq-grid{
    grid-template-columns:1fr;
  }

  body.is-home-page .section--faq .home-faq-item{
    padding:20px;
    border-radius:24px;
  }
}

/* ===== Homepage final wide layout / jobs teaser cleanup ===== */
body.is-home-page{
  --home-shell:min(1760px, calc(100vw - 24px));
}
body.is-home-page .hero--home .hero__content{
  max-width:min(1560px, calc(100vw - 40px));
}
body.is-home-page .section,
body.is-home-page .newsletter{
  max-width:var(--home-shell);
}
body.is-home-page .home-discover-grid,
body.is-home-page .discover-stack,
body.is-home-page .section--discover .discover-panel,
body.is-home-page .section--providers .home-provider-grid,
body.is-home-page .section--jobs-home .home-jobs-shell,
body.is-home-page .section--jobs-home .home-jobs-lower{
  align-items:start !important;
}
body.is-home-page .section--discover .discover-panel{
  height:auto !important;
}
body.is-home-page .section--providers .home-provider-grid{
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:22px;
}
body.is-home-page .section--providers .provider-card,
body.is-home-page .section--providers .provider-card--scroll{
  max-width:none !important;
  width:100%;
}
body.is-home-page .section--jobs-home .home-jobs-shell{
  grid-template-columns:minmax(0, 1.14fr) minmax(360px, .86fr);
  gap:22px;
}
body.is-home-page .section--jobs-home .home-jobs-panel__head{
  align-items:flex-start;
  gap:16px;
}
body.is-home-page .section--jobs-home .home-jobs-guide__copy{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}
body.is-home-page .section--jobs-home .home-jobs-guide__steps{
  display:grid;
  gap:12px;
  margin-top:18px;
}
body.is-home-page .section--jobs-home .home-jobs-guide-step{
  display:grid;
  grid-template-columns:40px minmax(0, 1fr);
  gap:14px;
  align-items:start;
  padding:16px 18px;
  border-radius:22px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
}
body.is-home-page .section--jobs-home .home-jobs-guide-step__nr{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:14px;
  font-weight:900;
}
body.is-home-page .section--jobs-home .home-jobs-guide-step__content{
  display:grid;
  gap:6px;
}
body.is-home-page .section--jobs-home .home-jobs-guide-step__content h4{
  margin:0;
  color:var(--text);
  font-size:20px;
  line-height:1.12;
  letter-spacing:-.02em;
}
body.is-home-page .section--jobs-home .home-jobs-guide-step__content p{
  margin:0;
  color:var(--muted);
  line-height:1.68;
}
body.is-home-page .section--jobs-home .home-jobs-guide__areas{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body.is-home-page .section--jobs-home .home-jobs-guide .home-jobs-chip{
  color:var(--text) !important;
  background:#f8fafc;
  border-color:rgba(15,23,42,.08);
}
body.is-home-page .section--jobs-home .home-jobs-guide .home-jobs-chip:hover{
  background:#eef2ff;
  border-color:rgba(79,70,229,.16);
}
@media (max-width: 1180px){
  body.is-home-page .section--jobs-home .home-jobs-shell{
    grid-template-columns:1fr;
  }
}
@media (max-width: 980px){
  body.is-home-page{
    --home-shell:min(100vw - 20px, 1760px);
  }
}
@media (max-width: 720px){
  body.is-home-page{
    --home-shell:min(100vw - 16px, 1760px);
  }
  body.is-home-page .section--jobs-home .home-jobs-guide-step{
    grid-template-columns:34px minmax(0, 1fr);
    padding:14px 16px;
    border-radius:18px;
  }
  body.is-home-page .section--jobs-home .home-jobs-guide-step__nr{
    width:34px;
    height:34px;
    font-size:13px;
  }
  body.is-home-page .section--jobs-home .home-jobs-guide-step__content h4{
    font-size:18px;
  }
}

/* ===== PATCH 2026-03-17d: homepage emotional strip + spacing polish ===== */
body.is-home-page{
  --home-shell:min(1840px, calc(100vw - 28px));
}
body.is-home-page .hero--home .hero__content{
  max-width:min(1680px, calc(100vw - 56px));
}
body.is-home-page .section,
body.is-home-page .newsletter{
  max-width:var(--home-shell);
}
body.is-home-page .section--discover .home-discover-grid--simple{
  grid-template-columns:minmax(360px, .92fr) minmax(0, 1.08fr);
  gap:24px;
}
body.is-home-page .section--discover .discover-panel--search,
body.is-home-page .section--discover .discover-panel--regions{
  min-height:100%;
}
body.is-home-page .section--discover .discover-panel--regions .region-link-grid--discover{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
body.is-home-page .section--discover .discover-panel__intro p{
  max-width:58ch;
}
body.is-home-page .section--emotion{
  width:100% !important;
  max-width:none !important;
  padding:18px 0 0 !important;
}
body.is-home-page .home-emotion{
  width:100vw;
  margin-left:calc(50% - 50vw);
  position:relative;
}
body.is-home-page .home-emotion__frame{
  position:relative;
  min-height:clamp(360px, 56vw, 820px);
  background:#0b1220;
  overflow:hidden;
}
body.is-home-page .home-emotion__frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(2,6,23,.08) 0%, rgba(2,6,23,.24) 100%);
  pointer-events:none;
}
body.is-home-page .home-emotion__poster,
body.is-home-page .home-emotion__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
body.is-home-page .home-emotion__poster{
  background-image:var(--emotion-poster);
  background-size:cover;
  background-position:center center;
  transform:scale(1.01);
  transition:opacity .45s ease;
}
body.is-home-page .home-emotion__video{
  object-fit:cover;
  opacity:0;
  transition:opacity .45s ease;
}
body.is-home-page .home-emotion.is-ready .home-emotion__video{
  opacity:1;
}
body.is-home-page .home-emotion.is-ready .home-emotion__poster{
  opacity:0;
}
body.is-home-page .section--jobs-home .home-jobs-action--primary,
body.is-home-page .section--jobs-home .home-jobs-action--primary:visited{
  color:#111827 !important;
}
body.is-home-page .section--jobs-home .home-jobs-action--secondary,
body.is-home-page .section--jobs-home .home-jobs-action--secondary:visited{
  color:#fff !important;
}
body.is-home-page .section--jobs-home .home-jobs-link,
body.is-home-page .section--jobs-home .home-jobs-link:visited{
  color:rgba(255,255,255,.92) !important;
}
body.is-home-page .section--jobs-home .home-jobs-panel__link,
body.is-home-page .section--jobs-home .home-jobs-panel__link:visited{
  color:var(--text) !important;
}
body.is-home-page .section--jobs-home .home-jobs-panel__eyebrow,
body.is-home-page .section--jobs-home .home-jobs-quick-card__eyebrow{
  margin-bottom:10px;
}
body.is-home-page .section--jobs-home .home-jobs-panel__head h3,
body.is-home-page .section--jobs-home .home-jobs-quick-card h3{
  margin-top:2px;
}
body.is-home-page .section--jobs-home .home-jobs-lower{
  grid-template-columns:minmax(0, 1.04fr) minmax(320px, .96fr);
  gap:22px;
}
body.is-home-page .section--jobs-home .home-jobs-area-grid{
  display:grid;
  gap:12px;
  margin-top:8px;
}
body.is-home-page .section--jobs-home .home-jobs-areas__copy{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}
body.is-home-page .section--jobs-home .home-jobs-area-link,
body.is-home-page .section--jobs-home .home-jobs-area-link:visited{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:74px;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border:1px solid rgba(15,23,42,.08);
  color:var(--text) !important;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
body.is-home-page .section--jobs-home .home-jobs-area-link:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(15,23,42,.08);
  border-color:rgba(29,78,216,.16);
  background:#fff;
}
body.is-home-page .section--jobs-home .home-jobs-area-link strong{
  margin:0;
  font-size:20px;
  line-height:1.08;
  letter-spacing:-.02em;
}
body.is-home-page .section--jobs-home .home-jobs-area-link span{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
body.is-home-page .section--guides .guide-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
  align-items:stretch;
}
body.is-home-page .section--guides .guide-card{
  width:100%;
  max-width:none !important;
  min-height:100% !important;
}
body.is-home-page .section--guides .guide-card .story-card__body{
  display:grid;
  gap:10px;
}
body.is-home-page .section--guides .guide-card .story-card__title{
  max-width:14ch;
}
body.is-home-page .section--guides .guide-card .story-card__meta{
  max-width:34ch;
}
@media (max-width: 1280px){
  body.is-home-page{
    --home-shell:min(100vw - 24px, 1840px);
  }
  body.is-home-page .section--discover .home-discover-grid--simple,
  body.is-home-page .section--jobs-home .home-jobs-shell,
  body.is-home-page .section--jobs-home .home-jobs-lower,
  body.is-home-page .section--guides .guide-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  body.is-home-page .section--jobs-home .home-jobs-lower > .home-jobs-areas{
    grid-column:1 / -1;
    grid-row:auto;
  }
}
@media (max-width: 980px){
  body.is-home-page{
    --home-shell:min(100vw - 18px, 1840px);
  }
  body.is-home-page .hero--home .hero__content{
    max-width:min(100vw - 28px, 1680px);
  }
  body.is-home-page .section--discover .home-discover-grid--simple,
  body.is-home-page .section--jobs-home .home-jobs-shell,
  body.is-home-page .section--jobs-home .home-jobs-lower,
  body.is-home-page .section--guides .guide-grid{
    grid-template-columns:1fr !important;
  }
  body.is-home-page .section--discover .discover-panel--regions .region-link-grid--discover{
    grid-template-columns:1fr 1fr;
  }
  body.is-home-page .home-emotion__frame{
    min-height:clamp(340px, 58vw, 620px);
  }
}
@media (max-width: 720px){
  body.is-home-page{
    --home-shell:min(100vw - 12px, 1840px);
  }
  body.is-home-page .hero--home .hero__content{
    max-width:min(100vw - 18px, 1680px);
  }
  body.is-home-page .section--discover .discover-panel,
  body.is-home-page .section--jobs-home .home-jobs-panel,
  body.is-home-page .section--jobs-home .home-jobs-quick-card{
    padding:20px;
    border-radius:24px;
  }
  body.is-home-page .section--discover .discover-panel--regions .region-link-grid--discover{
    grid-template-columns:1fr;
  }
  body.is-home-page .section--jobs-home .home-jobs-area-link,
  body.is-home-page .section--jobs-home .home-jobs-area-link:visited{
    min-height:66px;
    padding:16px 18px;
    border-radius:18px;
  }
  body.is-home-page .section--jobs-home .home-jobs-area-link strong{
    font-size:18px;
  }
  body.is-home-page .section--jobs-home .home-jobs-area-link span{
    font-size:12px;
  }
  body.is-home-page .home-emotion__frame{
    min-height:62svh;
  }
}


/* ===== PATCH 2026-03-17e: jobs lower layout + calmer lower typography ===== */
body.is-home-page .section--jobs-home .home-jobs-lower{
  grid-template-columns:minmax(0, 1.02fr) minmax(360px, .98fr) !important;
  gap:24px !important;
  align-items:stretch !important;
}

body.is-home-page .section--jobs-home .home-jobs-stack{
  display:grid;
  gap:18px;
  align-content:start;
  min-width:0;
}

body.is-home-page .section--jobs-home .home-jobs-stack > .home-jobs-quick-card{
  min-height:0 !important;
  height:auto !important;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card{
  gap:14px;
  padding:24px 26px;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card__eyebrow{
  margin-bottom:2px;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card h3{
  font-size:clamp(24px, 2vw, 34px);
  line-height:1.04;
  letter-spacing:-.03em;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card p{
  max-width:48ch;
  font-size:15px;
  line-height:1.7;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card__footer{
  margin-top:8px;
  align-items:center;
  justify-content:space-between;
}

body.is-home-page .section--jobs-home .home-jobs-quick-card__cta{
  white-space:nowrap;
}

body.is-home-page .section--jobs-home .home-jobs-areas{
  display:grid;
  align-content:start;
  gap:16px;
  height:100%;
  padding:28px;
}

body.is-home-page .section--jobs-home .home-jobs-areas .home-jobs-panel__head{
  margin-bottom:2px;
}

body.is-home-page .section--jobs-home .home-jobs-areas__copy{
  font-size:15px;
  line-height:1.68;
}

body.is-home-page .section--jobs-home .home-jobs-area-grid{
  gap:14px;
  margin-top:4px;
}

body.is-home-page .section--jobs-home .home-jobs-area-link,
body.is-home-page .section--jobs-home .home-jobs-area-link:visited{
  min-height:84px;
  padding:20px 22px;
}

body.is-home-page .section--jobs-home .home-jobs-area-link strong{
  font-size:22px;
  line-height:1.06;
}

body.is-home-page .section--jobs-home .home-jobs-area-link span{
  font-size:13px;
}

.has-js body.is-home-page .section--jobs-home[data-reveal] .home-jobs-stack > .home-jobs-quick-card,
.has-js body.is-home-page .section--jobs-home[data-reveal] .home-jobs-area-link{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .55s cubic-bezier(.22,1,.36,1),
    transform .65s cubic-bezier(.22,1,.36,1),
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
  will-change:transform, opacity;
}

.has-js body.is-home-page .section--jobs-home[data-reveal].is-inview .home-jobs-stack > .home-jobs-quick-card,
.has-js body.is-home-page .section--jobs-home[data-reveal].is-inview .home-jobs-area-link{
  opacity:1;
  transform:none;
}

.has-js body.is-home-page .section--jobs-home[data-reveal].is-inview .home-jobs-stack > .home-jobs-quick-card:nth-child(1){transition-delay:.04s;}
.has-js body.is-home-page .section--jobs-home[data-reveal].is-inview .home-jobs-stack > .home-jobs-quick-card:nth-child(2){transition-delay:.12s;}
.has-js body.is-home-page .section--jobs-home[data-reveal].is-inview .home-jobs-area-link:nth-child(1){transition-delay:.10s;}
.has-js body.is-home-page .section--jobs-home[data-reveal].is-inview .home-jobs-area-link:nth-child(2){transition-delay:.18s;}
.has-js body.is-home-page .section--jobs-home[data-reveal].is-inview .home-jobs-area-link:nth-child(3){transition-delay:.26s;}

body.is-home-page .section--guides .section__title,
body.is-home-page .section--seo .section__title,
body.is-home-page .section--faq .section__title{
  max-width:16ch;
  font-size:clamp(34px, 3.1vw, 54px);
  line-height:.98;
  letter-spacing:-.045em;
}

body.is-home-page .section--guides .section__sub,
body.is-home-page .section--seo .section__sub,
body.is-home-page .section--faq .section__sub{
  max-width:68ch;
  color:rgba(15,23,42,.66);
  font-size:18px;
  line-height:1.62;
}

body.is-home-page .section--guides .guide-grid{
  gap:20px !important;
}

body.is-home-page .section--guides .guide-card{
  border-radius:26px;
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}

body.is-home-page .section--guides .guide-card .story-card__body{
  padding:20px 20px 22px !important;
  gap:8px;
}

body.is-home-page .section--guides .guide-card .story-card__title{
  max-width:13ch;
  font-size:clamp(24px, 1.85vw, 31px);
  line-height:1.04;
  letter-spacing:-.032em;
}

body.is-home-page .section--guides .guide-card .story-card__meta{
  max-width:34ch;
  margin-top:4px;
  font-size:15px;
  line-height:1.62;
  color:rgba(15,23,42,.66) !important;
}

body.is-home-page .section--seo .seo-block{
  border-radius:28px;
  padding:28px;
}

body.is-home-page .section--seo .seo-block__text{
  font-size:16px;
  line-height:1.72;
}

body.is-home-page .section--faq .home-faq-grid{
  gap:20px;
}

body.is-home-page .section--faq .home-faq-item{
  gap:10px;
  padding:24px 24px 26px;
  border-radius:26px;
}

body.is-home-page .section--faq .home-faq-item h3{
  font-size:clamp(22px, 1.65vw, 27px);
  line-height:1.12;
  letter-spacing:-.03em;
}

body.is-home-page .section--faq .home-faq-item p{
  max-width:46ch;
  font-size:15px;
  line-height:1.68;
}

@media (prefers-reduced-motion: reduce){
  .has-js body.is-home-page .section--jobs-home[data-reveal] .home-jobs-stack > .home-jobs-quick-card,
  .has-js body.is-home-page .section--jobs-home[data-reveal] .home-jobs-area-link{
    opacity:1;
    transform:none;
    transition:none;
  }
}

@media (max-width: 1280px){
  body.is-home-page .section--jobs-home .home-jobs-lower{
    grid-template-columns:1fr !important;
  }

  body.is-home-page .section--jobs-home .home-jobs-areas{
    height:auto;
  }
}

@media (max-width: 720px){
  body.is-home-page .section--jobs-home .home-jobs-stack{
    gap:14px;
  }

  body.is-home-page .section--jobs-home .home-jobs-quick-card,
  body.is-home-page .section--jobs-home .home-jobs-areas{
    padding:20px;
    border-radius:22px;
  }

  body.is-home-page .section--jobs-home .home-jobs-area-link,
  body.is-home-page .section--jobs-home .home-jobs-area-link:visited{
    min-height:68px;
    padding:16px 18px;
  }

  body.is-home-page .section--guides .section__title,
  body.is-home-page .section--seo .section__title,
  body.is-home-page .section--faq .section__title{
    font-size:clamp(30px, 9vw, 40px);
  }

  body.is-home-page .section--guides .section__sub,
  body.is-home-page .section--seo .section__sub,
  body.is-home-page .section--faq .section__sub{
    font-size:16px;
  }

  body.is-home-page .section--guides .guide-card .story-card__title{
    font-size:24px;
  }

  body.is-home-page .section--faq .home-faq-item h3{
    font-size:22px;
  }
}


/* --- Provider card rating overlay (2026-03-19) --- */
body.is-home-page .section--providers .home-provider-card .provider-card__badges--split{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
body.is-home-page .section--providers .home-provider-card .provider-card__media-left{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-start;
}
body.is-home-page .section--providers .home-provider-card .provider-card__media-rating{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#0b1221 !important;
  box-shadow:0 10px 24px rgba(11,18,32,.18);
  font-weight:900;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
}
body.is-home-page .section--providers .home-provider-card .provider-card__media-rating span{
  color:#556276;
  font-size:12px;
  font-weight:800;
}

/* --- Homepage provider section polish (2026-03-20) --- */
body.is-home-page .section--providers .section__head{
  gap:18px;
  align-items:flex-end;
}

body.is-home-page .section--providers[data-provider-count="1"] .section__head,
body.is-home-page .section--providers[data-provider-count="1"] .home-provider-grid{
  max-width:420px;
  margin-inline:auto;
}

body.is-home-page .section--providers[data-provider-count="2"] .section__head,
body.is-home-page .section--providers[data-provider-count="2"] .home-provider-grid{
  max-width:900px;
  margin-inline:auto;
}

body.is-home-page .section--providers .home-provider-grid{
  gap:24px !important;
  justify-content:center !important;
}

body.is-home-page .section--providers .home-provider-grid--count-1{
  grid-template-columns:minmax(320px, 420px) !important;
}

body.is-home-page .section--providers .home-provider-grid--count-2{
  grid-template-columns:repeat(2, minmax(320px, 420px)) !important;
}

body.is-home-page .section--providers .home-provider-card,
body.is-home-page .section--providers .home-provider-card:visited{
  height:100% !important;
  border-radius:30px;
  background:#fff;
}

body.is-home-page .section--providers .home-provider-card .provider-card__media{
  aspect-ratio:16 / 13 !important;
  background:#e9eef6;
}

body.is-home-page .section--providers .home-provider-card .provider-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

body.is-home-page .section--providers .home-provider-card .provider-card__badges{
  left:16px;
  right:16px;
  top:16px;
}

body.is-home-page .section--providers .home-provider-card .provider-card__badges--split{
  width:auto !important;
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

body.is-home-page .section--providers .home-provider-card .provider-card__media-left{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-start;
}

body.is-home-page .section--providers .home-provider-card .provider-card__media-left .badge{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.is-home-page .section--providers .home-provider-card .provider-card__media-rating,
body.is-home-page .section--providers .home-provider-card .provider-card__media-rating:visited{
  flex:0 0 auto;
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(11,18,33,.88);
  color:#fff !important;
  box-shadow:0 14px 28px rgba(11,18,33,.22);
  font-size:13px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

body.is-home-page .section--providers .home-provider-card .provider-card__media-rating strong,
body.is-home-page .section--providers .home-provider-card .provider-card__media-rating span,
body.is-home-page .section--providers .home-provider-card .provider-card__media-rating-star{
  color:#fff !important;
  font-weight:900;
  font-size:13px;
  line-height:1;
}

body.is-home-page .section--providers .home-provider-card .provider-card__body{
  padding:18px 18px 20px !important;
  display:flex !important;
  flex-direction:column;
  gap:10px;
}

body.is-home-page .section--providers .home-provider-card .provider-card__top{
  margin:0;
}

body.is-home-page .section--providers .home-provider-card .provider-card__name{
  font-size:clamp(22px, 2vw, 28px);
  line-height:1.06;
  letter-spacing:-.03em;
}

body.is-home-page .section--providers .home-provider-card .provider-card__meta{
  margin:0;
  min-height:48px;
  color:var(--muted) !important;
  line-height:1.58;
}

body.is-home-page .section--providers .home-provider-card .provider-card__chips{
  margin-top:auto;
}

@media (max-width: 1120px){
  body.is-home-page .section--providers[data-provider-count="2"] .section__head,
  body.is-home-page .section--providers[data-provider-count="2"] .home-provider-grid{
    max-width:none;
  }

  body.is-home-page .section--providers .home-provider-grid--count-2{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px){
  body.is-home-page .section--providers .section__head{
    align-items:flex-start;
  }

  body.is-home-page .section--providers .section__head > div:last-child{
    width:100%;
  }

  body.is-home-page .section--providers .section__head .btn{
    width:100%;
    justify-content:center;
  }

  body.is-home-page .section--providers .home-provider-grid,
  body.is-home-page .section--providers .home-provider-grid--count-1,
  body.is-home-page .section--providers .home-provider-grid--count-2{
    grid-template-columns:1fr !important;
    max-width:520px;
    margin-inline:auto;
  }

  body.is-home-page .section--providers .home-provider-card .provider-card__badges{
    left:12px;
    right:12px;
    top:12px;
  }

  body.is-home-page .section--providers .home-provider-card .provider-card__media-rating,
  body.is-home-page .section--providers .home-provider-card .provider-card__media-rating:visited{
    padding:8px 10px;
    font-size:12px;
    gap:6px;
  }

  body.is-home-page .section--providers .home-provider-card .provider-card__media-rating strong,
  body.is-home-page .section--providers .home-provider-card .provider-card__media-rating span,
  body.is-home-page .section--providers .home-provider-card .provider-card__media-rating-star{
    font-size:12px;
  }

  body.is-home-page .section--providers .home-provider-card .provider-card__meta{
    min-height:0;
  }
}


/* ===== STEP27: home popular places section (2026-03-21) ===== */
body.is-home-page .section--popular-places .section__head--centered{
  justify-content:center;
  text-align:center;
}
body.is-home-page .section--popular-places .section__sub{
  max-width:58ch;
  margin-left:auto;
  margin-right:auto;
}
body.is-home-page .place-grid--popular{
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px;
}
body.is-home-page .section--popular-places .place-card{
  min-height:230px;
}
@media (max-width: 1180px){
  body.is-home-page .place-grid--popular{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 680px){
  body.is-home-page .place-grid--popular{
    grid-template-columns:1fr;
    gap:14px;
  }
  body.is-home-page .section--popular-places .place-card{
    min-height:190px;
    border-radius:22px;
  }
}


/* Marketplace split entry on homepage */
.home-split-entry{
  margin:-34px auto 28px;
  position:relative;
  z-index:3;
}
.home-split-entry__inner{
  width:min(1520px, calc(100vw - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.home-entry-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:240px;
  padding:28px;
  border-radius:26px;
  background:#fff;
  color:#111827;
  text-decoration:none;
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 24px 50px rgba(17,24,39,.10);
}
.home-entry-card--marketplace{
  background:linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
}
.home-entry-card__eyebrow{
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7280;
}
.home-entry-card h2{
  margin:0;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.02;
  letter-spacing:-.04em;
  max-width:12ch;
}
.home-entry-card p{
  margin:0;
  max-width:54ch;
  color:#6b7280;
  line-height:1.65;
}
.home-entry-card__cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:850;
}
.home-entry-card__cta::after{content:'→';}
@media (max-width: 980px){
  .home-split-entry__inner{width:min(100vw - 28px, 1520px);grid-template-columns:1fr;}
}
@media (max-width: 720px){
  .home-split-entry{margin:-20px auto 18px;}
  .home-split-entry__inner{width:min(100vw - 16px, 1520px);gap:14px;}
  .home-entry-card{padding:22px;min-height:auto;border-radius:22px;}
}


/* ============================================================
   COMPACT JOBS – Icon cards with category colors
   ============================================================ */

.home-jobs-compact-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}

.home-job-card{
  display:flex;
  gap:18px;
  padding:24px;
  border-radius:22px;
  border:1px solid rgba(15,23,42,0.08);
  background:#fff;
  text-decoration:none;
  color:inherit;
  box-shadow:0 8px 24px rgba(15,23,42,0.04);
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, border-color .22s ease;
  align-items:flex-start;
}

.home-job-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(15,23,42,0.09);
  border-color:rgba(15,23,42,0.14);
}

.home-job-card__icon{
  flex-shrink:0;
  width:56px;
  height:56px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.home-job-card__icon img{
  width:28px;
  height:28px;
  filter:brightness(0) invert(1);
}

.home-job-card__body{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
  min-width:0;
}

.home-job-card__top{
  display:flex;
  align-items:center;
  gap:8px;
}

.home-job-card__kind{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
  background:rgba(15,23,42,0.05);
  color:rgba(15,23,42,0.56);
  border:1px solid rgba(15,23,42,0.06);
}

.home-job-card__mode{
  font-size:11px;
  font-weight:700;
  color:rgba(15,23,42,0.42);
}

.home-job-card__title{
  margin:0;
  font-size:18px;
  font-weight:850;
  letter-spacing:-0.02em;
  line-height:1.2;
  color:#05060a;
}

.home-job-card__meta{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
  font-size:13px;
  color:rgba(15,23,42,0.48);
  font-weight:600;
}

.home-job-card__provider{
  font-weight:700;
  color:rgba(15,23,42,0.64);
}

.home-job-card__city::before{
  content:"\00b7";
  margin-right:6px;
  color:rgba(15,23,42,0.28);
}

@media (max-width:980px){
  .home-jobs-compact-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:600px){
  .home-jobs-compact-grid{
    grid-template-columns:1fr;
  }
  .home-job-card{
    padding:20px;
    gap:14px;
    border-radius:18px;
  }
  .home-job-card__icon{
    width:48px;
    height:48px;
    border-radius:14px;
  }
  .home-job-card__icon img{
    width:24px;
    height:24px;
  }
  .home-job-card__title{
    font-size:16px;
  }
}


/* ============================================================
   HOMEPAGE – Centered sections + eye-catcher typography
   ============================================================ */

/* Section heads: centered on homepage */
body.is-home-page .section__head{
  flex-direction:column !important;
  align-items:center !important;
  text-align:center;
  gap:10px !important;
  margin-bottom:32px !important;
}

body.is-home-page .section__head > div:last-child{
  margin-top:6px;
}

body.is-home-page .section__sub{
  margin-left:auto;
  margin-right:auto;
}

/* Section titles: eye-catcher with mixed weights */
body.is-home-page .section__title{
  font-weight:300;
  letter-spacing:-.05em;
  line-height:.96;
}

body.is-home-page .section__title strong,
body.is-home-page .section__title b{
  font-weight:800;
}

/* Trust section */
body.is-home-page .section--trust .section__head{
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}

body.is-home-page .trust-grid{
  justify-items:center;
}

body.is-home-page .trust-card{
  text-align:center;
}

body.is-home-page .trust-card__icon{
  margin-left:auto;
  margin-right:auto;
}

/* Mobile: tighter centering */
@media (max-width:768px){
  body.is-home-page .section__title{
    font-size:clamp(30px, 8vw, 42px) !important;
  }
  body.is-home-page .section__head{
    margin-bottom:24px !important;
  }
  body.is-home-page .section__sub{
    font-size:14px;
  }

  /* Glass cards on mobile: centered text */
  .home-glass-card{
    text-align:center !important;
  }
  .home-glass-card__cta{
    align-self:center !important;
  }
  .home-glass-card__eyebrow{
    text-align:center;
  }

  /* Hero title on mobile: centered */
  .home-hero-full__inner{
    text-align:center;
  }
  .home-hero-full__lead{
    margin-left:auto;
    margin-right:auto;
  }
}


/* ============================================================
   FIX: Place card meta text – white on dark overlay image
   ============================================================ */

body.is-home-page .place-card__meta{
  color:rgba(255,255,255,0.7) !important;
}

body.is-home-page .place-card__title{
  color:#fff !important;
}


/* ============================================================
   GUIDE CARDS – Better look with overlay gradient
   ============================================================ */

body.is-home-page .guide-card{
  min-height:360px !important;
  border-radius:28px !important;
}

body.is-home-page .guide-card .story-card__media{
  border-radius:28px;
}

body.is-home-page .guide-card .story-card__body{
  padding:24px !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

body.is-home-page .guide-card .story-card__title{
  font-size:24px !important;
  font-weight:850;
  letter-spacing:-.03em;
  line-height:1.1;
}

body.is-home-page .guide-card .story-card__meta{
  color:rgba(255,255,255,.72) !important;
  font-size:14px;
  line-height:1.6;
  max-width:32ch;
}


/* ============================================================
   FAQ – Compact 3-column row + link to full page
   ============================================================ */

body.is-home-page .section--faq-compact .section__title{
  font-weight:700 !important;
  letter-spacing:-.03em !important;
  font-size:clamp(28px, 3vw, 42px) !important;
  max-width:none !important;
  text-align:center;
}

.home-faq-row{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
  max-width:1200px;
  margin:0 auto;
}

.home-faq-card{
  padding:28px;
  border-radius:22px;
  border:1px solid rgba(15,23,42,0.07);
  background:#fff;
  box-shadow:0 6px 20px rgba(15,23,42,0.03);
}

.home-faq-card h3{
  margin:0 0 10px;
  font-size:17px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#05060a;
  line-height:1.25;
}

.home-faq-card p{
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:rgba(15,23,42,0.52);
}

.home-faq-more{
  text-align:center;
  margin-top:24px;
}

@media (max-width:768px){
  .home-faq-row{
    grid-template-columns:1fr;
  }
  body.is-home-page .section--faq-compact .section__title{
    font-size:clamp(24px, 7vw, 32px) !important;
  }
  body.is-home-page .guide-card{
    min-height:280px !important;
  }
  body.is-home-page .guide-card .story-card__title{
    font-size:20px !important;
  }
}


/* ============================================================
   GUIDE CARDS V2 – Full-image overlay cards
   ============================================================ */

.home-guide-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}

.home-guide-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:380px;
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
}

.home-guide-card__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}

.home-guide-card:hover .home-guide-card__bg{
  transform:scale(1.05);
}

.home-guide-card__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.65) 100%);
  z-index:1;
}

.home-guide-card__body{
  position:relative;
  z-index:2;
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.home-guide-card__body h3{
  margin:0;
  font-size:22px;
  font-weight:850;
  letter-spacing:-.02em;
  line-height:1.15;
  color:#fff;
}

.home-guide-card__body p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,0.72);
  max-width:30ch;
}

.home-guide-card__cta{
  margin-top:8px;
  font-size:13px;
  font-weight:800;
  color:#fff;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .25s ease, transform .25s ease;
}

.home-guide-card:hover .home-guide-card__cta{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:980px){
  .home-guide-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-guide-card{
    min-height:300px;
  }
}

@media (max-width:600px){
  .home-guide-grid{
    grid-template-columns:1fr;
  }
  .home-guide-card{
    min-height:260px;
    border-radius:20px;
  }
  .home-guide-card__body{
    padding:22px;
  }
  .home-guide-card__body h3{
    font-size:20px;
  }
  .home-guide-card__cta{
    opacity:1;
    transform:none;
  }
}


/* ============================================================
   FAQ V2 – 3 columns top, 2 centered bottom for 5 items
   ============================================================ */

body.is-home-page .section--faq .home-faq-grid{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:16px !important;
  max-width:1200px;
  margin:0 auto;
}

body.is-home-page .section--faq .home-faq-item:nth-child(4),
body.is-home-page .section--faq .home-faq-item:nth-child(5){
  /* Last 2 items: center them under the 3-col row */
}

/* When 5 items: last row with 2 items, offset to center */
body.is-home-page .section--faq .home-faq-grid{
  justify-items:center;
}

body.is-home-page .section--faq .home-faq-item{
  width:100%;
}

@media (max-width:980px){
  body.is-home-page .section--faq .home-faq-grid{
    grid-template-columns:repeat(2, 1fr) !important;
  }
}

@media (max-width:600px){
  body.is-home-page .section--faq .home-faq-grid{
    grid-template-columns:1fr !important;
  }
}
