/* Salt Lake City homepage editorial v1.6.0. Scope all overrides to homepage. */
body.home .home-main{background:#fbfaf9!important;}
body.home .home-grid{width:100vw!important;max-width:100vw!important;background:#fbfaf9!important;}
body.home .home-left{min-width:0!important;}
body.home .home-main .fp-hero.fp-hero-destination-layout{
  display:grid!important;grid-template-columns:minmax(0,1.16fr) minmax(265px,.84fr)!important;
  gap:clamp(18px,3vw,38px)!important;align-items:center!important;
  padding:clamp(22px,3.2vw,42px)!important;margin-bottom:12px!important;
  min-height:315px!important;border-radius:22px!important;
  background:linear-gradient(105deg,rgba(16,10,22,.92),rgba(25,15,28,.77) 56%,rgba(28,19,31,.49)),url('../images/salt-lake-city-hero.jpg') center 54% / cover no-repeat!important;
  box-shadow:0 16px 30px rgba(20,12,25,.18)!important;border:1px solid rgba(255,255,255,.14)!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy{max-width:790px!important;}
body.home .home-main .fp-hero.fp-hero-destination-layout h1{
  font-size:clamp(33px,3.25vw,52px)!important;line-height:1.11!important;
  letter-spacing:-.04em!important;color:#fff!important;margin:8px 0 12px!important;
  max-width:780px!important;text-wrap:balance;
}
body.home .home-main .fp-hero.fp-hero-destination-layout p{
  font-size:clamp(15px,1.15vw,17px)!important;line-height:1.65!important;
  color:#f2e9ee!important;max-width:690px!important;margin:0 0 20px!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-kicker{
  font-size:11px!important;font-weight:800!important;letter-spacing:.17em!important;color:#f2c9a0!important;text-transform:uppercase!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:9px!important;}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-primary-btn{
  background:#c62d58!important;color:#fff!important;border:1px solid #df537a!important;border-radius:12px!important;
  padding:12px 17px!important;min-height:44px!important;font-size:14px!important;
  box-shadow:0 9px 22px rgba(0,0,0,.15)!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-secondary-btn{
  background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.36)!important;
  border-radius:12px!important;padding:12px 17px!important;min-height:44px!important;font-size:14px!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations{
  padding:18px!important;background:rgba(21,12,26,.74)!important;border:1px solid rgba(255,255,255,.22)!important;
  border-radius:18px!important;backdrop-filter:blur(10px)!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head span{font-size:15px!important;}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head small{
  font-size:10px!important;line-height:1.35!important;color:#e9c59d!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card{
  padding:10px!important;min-height:52px!important;border:1px solid rgba(255,255,255,.15)!important;
  border-radius:11px!important;background:rgba(255,255,255,.08)!important;
}
body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card:hover{
  transform:translateY(-2px)!important;background:rgba(198,45,88,.17)!important;
}
body.home .fp-hero-destination-flag{background:rgba(242,201,160,.17)!important;color:#ffe3ac!important;font-size:21px!important;}
body.home .fp-hero-destination-copy strong{font-size:12px!important;line-height:1.3!important;}
body.home .fp-hero-destination-copy em{font-size:10px!important;color:#eee1e7!important;}

body.home .slc-quick-intro{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:0 0 12px;
  padding:16px 19px;border:1px solid #eadfe4;background:#fff;border-radius:15px;
  box-shadow:0 5px 20px rgba(43,25,40,.04);
}
body.home .slc-quick-intro .slc-quick-mark{font-size:10px!important;font-weight:900;color:#a02e52;letter-spacing:.13em;white-space:nowrap;}
body.home .slc-quick-intro p{font-size:14px!important;line-height:1.65!important;color:#403443!important;flex:1 1 580px;margin:0!important;}
body.home .slc-quick-intro a{font-size:13px;font-weight:800;color:#9e1e4b;text-decoration:none;white-space:nowrap;}
body.home .slc-quick-intro a:hover{text-decoration:underline;}
body.home .fp-register-cta{border-radius:15px!important;margin-bottom:12px!important;}

/* A comfortably readable editorial system within a compact, full-bleed layout */
body.home .slc-editorial{
 --slc-ink:#29212e;--slc-muted:#645d68;--slc-line:#e7e0e6;--slc-red:#bb2852;
 color:var(--slc-ink)!important;font-size:16px!important;line-height:1.7!important;
 width:100%!important;max-width:100%!important;
 box-sizing:border-box!important;margin:22px 0 18px!important;padding:clamp(16px,2.15vw,34px)!important;
 border:1px solid #e7dfe3;border-radius:24px!important;
 background:linear-gradient(155deg,#fff 0%,#fffaf8 58%,#fff 100%)!important;
 box-shadow:0 14px 40px rgba(34,26,40,.045)!important;
}
body.home .slc-editorial *,body.home .slc-editorial *:before,body.home .slc-editorial *:after{box-sizing:border-box;}
body.home .slc-editorial p{font-size:15.5px!important;line-height:1.75!important;color:#493f4c!important;margin:0 0 11px!important;font-weight:400!important;}
body.home .slc-editorial a{color:#991945;}
body.home .slc-editorial h2{color:#2d1f30!important;font-size:clamp(24px,2.4vw,35px)!important;line-height:1.18!important;letter-spacing:-.034em!important;margin:7px 0 13px!important;}
body.home .slc-editorial h3{color:#342738!important;font-size:18px!important;line-height:1.3!important;margin:9px 0 12px!important;}
body.home .slc-editorial mark{
 background:linear-gradient(transparent 64%,rgba(224,154,174,.36) 64%);color:#7b183e!important;
 padding:0 2px;border-radius:2px;font-weight:700;
}
body.home .slc-eyebrow{display:block;font-size:10px!important;font-weight:900!important;letter-spacing:.16em;text-transform:uppercase;color:#a12b53!important;}
body.home .slc-section-heading{display:grid;grid-template-columns:minmax(240px,1fr) minmax(250px,.95fr);align-items:end;gap:18px 28px;margin:0 0 20px;}
body.home .slc-editorial .slc-section-heading>p{margin:0!important;}
body.home .slc-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:25px;}
body.home .slc-facts>div{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 9px;background:#f8f2f4;border:1px solid #e9dfe4;border-radius:13px;padding:13px;}
body.home .slc-facts>div>span{grid-row:span 2;font-size:24px;color:#ad4263;line-height:1.3;}
body.home .slc-facts strong{font-size:14px;color:#332532;}
body.home .slc-facts small{font-size:12px;color:#766876;line-height:1.4;}
body.home .slc-story-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:23px;align-items:stretch;margin:0 0 28px;}
body.home .slc-story-main{padding:0!important;}
body.home .slc-city-figure{border-radius:15px;overflow:hidden;background:#eae0e1;margin:0!important;display:flex;flex-direction:column;min-height:260px;}
body.home .slc-city-figure img{display:block;width:100%;height:100%;min-height:236px;object-fit:cover;flex:1;}
body.home .slc-city-figure figcaption{font-size:11px;line-height:1.4;padding:8px 12px;background:#322434;color:#fff;}
body.home .slc-tight-heading{margin:22px 0 16px;padding-top:19px;border-top:1px solid var(--slc-line);}
body.home .slc-neighborhood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;}
body.home .slc-neighborhood-grid article{padding:19px!important;border-radius:15px;background:#fff;border:1px solid #ebe3e6;min-height:182px;box-shadow:0 7px 22px rgba(30,22,35,.035);transition:transform .25s ease,border-color .25s ease;}
body.home .slc-neighborhood-grid article:hover{transform:translateY(-3px);border-color:#c788a0;}
body.home .slc-editorial .slc-neighborhood-grid article p{font-size:14px!important;line-height:1.7!important;margin-bottom:0!important;}
body.home .slc-card-index{font-size:10px!important;letter-spacing:.14em;font-weight:900;color:#ab3f64;}
body.home .slc-scene-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(265px,.55fr);gap:13px;margin:25px 0;}
body.home .slc-scene-panel{padding:24px!important;border-radius:16px;background:#f9f5f6;border:1px solid #ece3e7;}
body.home .slc-afterdark-notes{padding:22px!important;border-radius:16px;background:#27202f;color:#fff;}
body.home .slc-afterdark-notes h3{color:#fff!important;}
body.home .slc-afterdark-notes ul{margin:0;padding:0;list-style:none;}
body.home .slc-afterdark-notes li{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.16);padding:11px 0!important;}
body.home .slc-afterdark-notes li strong{color:#f9d49b;font-size:13px;}
body.home .slc-afterdark-notes li span{color:#f1eaf0;font-size:12px;line-height:1.5;}
body.home .slc-editorial .slc-afterdark-notes p{color:#e1d8e1!important;font-size:12px!important;}
body.home .slc-directory-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.home .slc-directory-columns article{padding:21px!important;border:1px solid #ebe2e5;border-radius:16px;background:#fff;}
body.home .slc-disclosure{display:flex;gap:10px 19px;align-items:baseline;flex-wrap:wrap;background:#fff6e9;border-left:3px solid #d4a46b;border-radius:10px;padding:13px 17px;margin:14px 0 26px;}
body.home .slc-disclosure strong{font-size:13px;color:#6d4c23;white-space:nowrap;}
body.home .slc-editorial .slc-disclosure p{flex:1 1 650px;margin:0!important;font-size:13px!important;line-height:1.6!important;}
body.home .slc-outdoors{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);gap:18px;align-items:center;padding:23px!important;background:linear-gradient(135deg,#eef3ef 0%,#f9faf8 100%);border:1px solid #d8e6df;border-radius:16px;}
body.home .slc-outdoors-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 12px;border:1px solid #dce8de;border-radius:16px;background:#fff;}
body.home .slc-outdoors-stat>span{font-size:42px;color:#406857;}
body.home .slc-outdoors-stat strong{font-size:26px;color:#244d3a;}
body.home .slc-outdoors-stat small{margin:5px 0 12px;font-size:12px;color:#52665a;}
body.home .slc-outdoors-stat a{font-size:12px;font-weight:700;color:#285e49;}
body.home .slc-nearby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
body.home .slc-nearby-grid a{position:relative;min-width:0;display:flex;flex-direction:column;text-decoration:none!important;border:1px solid #e8dfe5;border-radius:13px;padding:12px 25px 12px 12px;background:#fff;transition:border-color .2s,background .2s;}
body.home .slc-nearby-grid a:hover{background:#fff5f8;border-color:#d29aae;}
body.home .slc-nearby-grid strong{font-size:13px;color:#5d1f40;}
body.home .slc-nearby-grid span{font-size:11px;line-height:1.4;color:#756974;}
body.home .slc-nearby-grid i{position:absolute;right:10px;top:12px;font-style:normal;color:#b2466a;}
body.home .slc-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:9px;}
body.home .slc-faq-grid details{border:1px solid #e8dde3;border-radius:12px;background:#fff;overflow:hidden;}
body.home .slc-faq-grid summary{position:relative;cursor:pointer;list-style:none;padding:15px 35px 15px 16px;font-size:14px;font-weight:800;line-height:1.4;color:#38283b;}
body.home .slc-faq-grid summary::-webkit-details-marker{display:none;}
body.home .slc-faq-grid summary:after{content:'+';font-size:22px;position:absolute;right:14px;top:9px;color:#a63760;}
body.home .slc-faq-grid details[open] summary:after{content:'−';}
body.home .slc-editorial .slc-faq-grid p{font-size:14px!important;margin:0!important;padding:0 16px 15px!important;}
body.home .slc-final-cta{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:28px;padding:24px!important;border-radius:17px;background:#281e2d;color:#fff;}
body.home .slc-final-cta>div:first-child{flex:1 1 420px;}
body.home .slc-final-cta .slc-eyebrow{color:#f9c1ce!important;}
body.home .slc-final-cta h2{color:#fff!important;margin-bottom:9px!important;}
body.home .slc-editorial .slc-final-cta p{color:#f3e8f0!important;font-size:14px!important;max-width:700px!important;}
body.home .slc-final-actions{display:flex;flex-wrap:wrap;gap:8px;}
body.home .slc-final-actions a{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:11px 15px;min-height:43px;display:inline-flex;align-items:center;text-decoration:none!important;background:#bf2c56;color:#fff!important;font-size:13px;font-weight:800;}
body.home .slc-final-actions a+a{background:rgba(255,255,255,.08);}
body.home .slc-local-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 16px;border:1px solid #eadddf;border-radius:14px;background:#fff;margin:12px 0;}
body.home .slc-local-nav strong{font-size:13px;color:#352336;}
body.home .slc-local-nav a{text-decoration:none!important;font-size:13px;font-weight:700;color:#8d284d;padding:5px 10px;background:#fdf3f6;border-radius:9px;}
body.home .slc-local-nav a:hover{background:#f6dce5;}
body.home .slc-search-topic-wrap{margin:12px 0 24px;}
body.home .slc-search-topic-wrap .bsr-local-guide{margin:0!important;padding:0!important;}
body.home .slc-search-topic-wrap .bsr-guide-card{border:1px solid #e9e0e5!important;border-radius:16px!important;background:#fff!important;}
body.home .slc-search-topic-wrap .bsr-guide-heading h2{font-size:20px!important;color:#382b3b!important;}
body.home .slc-search-topic-wrap .bsr-topic-chip{font-size:12px!important;line-height:1.35!important;}
body.home .slc-search-topic-wrap .bsr-guide-note{font-size:13px!important;}
body.home .home-main .listing-block{scroll-margin-top:20px;}
body.home .home-main .slc-editorial :is(a,summary):focus-visible,body.home .home-main .fp-hero a:focus-visible{outline:3px solid #edaf40;outline-offset:3px;}
@media(max-width:1200px){
 body.home .slc-neighborhood-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.home .slc-nearby-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
 body.home .home-main .fp-hero.fp-hero-destination-layout{grid-template-columns:minmax(0,1fr)!important;}
 body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations{max-width:none;}
 body.home .slc-story-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
}
@media(max-width:850px){
 body.home .slc-editorial{width:100%!important;padding:18px!important;border-radius:16px!important;margin:15px 0!important;}
 body.home .slc-section-heading,body.home .slc-story-grid,body.home .slc-scene-layout,body.home .slc-outdoors{grid-template-columns:1fr;}
 body.home .slc-city-figure{min-height:200px;}
 body.home .slc-city-figure img{max-height:320px;}
 body.home .slc-nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.home .slc-outdoors-stat{padding:15px;}
}
@media(max-width:600px){
 body.home .home-main .fp-hero.fp-hero-destination-layout{padding:21px 16px!important;min-height:0!important;}
 body.home .home-main .fp-hero.fp-hero-destination-layout h1{font-size:clamp(30px,8.3vw,40px)!important;}
 body.home .home-main .fp-hero.fp-hero-destination-layout p{font-size:15px!important;}
 body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations{padding:12px!important;}
 body.home .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card{padding:8px!important;}
 body.home .fp-hero-destination-flag{display:none!important;}
 body.home .slc-editorial{width:100%!important;padding:15px!important;margin-left:0!important;border-radius:14px!important;}
 body.home .slc-editorial h2{font-size:25px!important;}
 body.home .slc-editorial p{font-size:15px!important;}
 body.home .slc-neighborhood-grid,body.home .slc-directory-columns,body.home .slc-faq-grid{grid-template-columns:1fr;}
 body.home .slc-facts{grid-template-columns:1fr;}
 body.home .slc-nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.home .slc-neighborhood-grid article{min-height:0;}
 body.home .slc-final-actions{width:100%;}
 body.home .slc-final-actions a{flex:1 1 100%;justify-content:center;}
 body.home .slc-quick-intro a{white-space:normal;}
}
@media(prefers-reduced-motion:reduce){
 body.home .slc-editorial *,body.home .slc-editorial *:before,body.home .slc-editorial *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}
/* Progressive enhancement: content remains visible in unsupported browsers. */
@media (prefers-reduced-motion: no-preference){
 @supports (animation-timeline: view()) {
  @keyframes slc-gentle-enter {from {opacity:.88;transform:translateY(9px);}to {opacity:1;transform:translateY(0);}}
  body.home .slc-neighborhood-grid article,
  body.home .slc-scene-layout,
  body.home .slc-outdoors,
  body.home .slc-faq-grid details{
   animation:slc-gentle-enter linear both;
   animation-timeline:view();
   animation-range:entry 0% entry 22%;
  }
 }
}
