/* RaiFam Public UI Visual Remediation v2 — aligned to Site_visual references. */
body[data-module]{
  --rf-green:#345c32;--rf-green-deep:#244b29;--rf-orange:#e36f32;--rf-gold:#e7a224;
  --rf-ink:#17233d;--rf-paper:#fffdf9;--rf-bg:#f8f6f0;--rf-line:#e8e3d8;--rf-muted:#697269;
  background:linear-gradient(180deg,#fff 0,#fbfaf7 86px,#f8f6f0 100%);color:var(--rf-ink);
}
body[data-module] .site-header{max-width:none;height:82px;min-height:82px;padding:8px 30px 7px;gap:28px;border-color:#ece8df;background:rgba(255,255,255,.97);box-shadow:none;position:sticky;top:0;z-index:80}
body[data-module] .brand{min-width:182px;gap:0;position:relative;padding-right:36px}
body[data-module] .brand>img{display:none}
body[data-module] .brand:after{content:"";position:absolute;right:8px;top:1px;width:34px;height:25px;background:url('/assets/brand-leaf.svg') center/contain no-repeat}
body[data-module] .brand-name{font-size:2.15rem;letter-spacing:.035em;color:#345a36;font-family:Arial,"Yu Gothic",sans-serif;font-weight:800}
body[data-module] .brand-tagline{font-size:.57rem;letter-spacing:.2em;margin-top:4px;color:#5f685d}
body[data-module] .main-nav{gap:14px;justify-content:flex-start;overflow:visible}
body[data-module] .main-nav a{min-width:auto;padding:0 3px;height:100%;display:flex;flex-direction:row;border-radius:0;border:0;border-bottom:2px solid transparent;font-size:.77rem;color:#121b27;letter-spacing:.02em}
body[data-module] .main-nav a>span{display:none}
body[data-module] .main-nav a:hover,body[data-module] .main-nav a[aria-current]{background:transparent;color:#bd5629;border-bottom-color:#bd5629;font-weight:700}
body[data-module] .header-search{height:42px;flex-basis:360px;border-color:#deddd7;background:#fff}
body[data-module] .header-search input{font-size:.73rem;padding-left:18px}
body[data-module] .header-search button{background:#355d33;width:48px}
body[data-module] .header-utilities{gap:10px}
body[data-module] .header-utilities a{font-size:.66rem;min-width:62px;color:#162038;border-left:1px solid #eee9df}
body[data-module] .header-utilities a span{font-size:1.58rem;color:#dd6b39}
body[data-module] .page{max-width:1536px;padding:14px 28px 36px}

/* HOME */
body[data-module="home"] .home-hero-grid{grid-template-columns:minmax(0,2.55fr) minmax(330px,.95fr);gap:14px}
body[data-module="home"] .hero{min-height:268px;display:block;padding:38px 48px;border-radius:18px;border-color:#e8e2d6;background:
  linear-gradient(90deg,rgba(255,253,247,.99) 0%,rgba(255,253,247,.96) 34%,rgba(255,253,247,.56) 53%,rgba(255,255,255,.04) 68%),
  url('/assets/visual/hero-family.webp') right center/62% 100% no-repeat,#f4f2e8;
  box-shadow:0 7px 20px rgba(50,72,51,.05)
}
body[data-module="home"] .hero:before{display:none}
body[data-module="home"] .hero-copy{width:53%;min-width:470px}
body[data-module="home"] .hero .eyebrow{display:none}
body[data-module="home"] .hero h1{font-size:clamp(2.35rem,3.4vw,3.45rem);line-height:1.45;letter-spacing:.11em;color:#13233e;margin:0 0 10px;font-weight:500}
body[data-module="home"] .hero-copy>p:not(.eyebrow):not(.fine){font-size:.9rem;line-height:1.75;color:#263a39}
body[data-module="home"] .hero .button{margin-top:10px;min-width:160px;background:#355b33}
body[data-module="home"] .hero-art{display:none}
body[data-module="home"] .home-notices{min-height:268px;padding:18px 20px 16px;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 7px 20px rgba(50,72,51,.05)}
body[data-module="home"] .home-notices:after{content:"";display:block;height:78px;margin:-2px -20px -16px;background:url('/assets/visual/about-hands.webp') center/cover no-repeat;opacity:.72}
body[data-module="home"] .home-notices .panel-title{border-bottom-color:#ece9e1;margin-bottom:6px}
body[data-module="home"] .home-notices .panel-title>span{color:#e26e2e}
body[data-module="home"] .notice-empty{padding:14px 6px 6px;text-align:left}
body[data-module="home"] .notice-empty p{font-size:.78rem;color:#3d493f;margin-bottom:5px}
body[data-module="home"] .home-notices>.text-link{z-index:2;margin-bottom:8px}

body[data-module="home"] .home-shortcuts{grid-template-columns:repeat(6,1fr);gap:8px;margin:10px 0}
body[data-module="home"] .home-shortcuts a{min-height:74px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 10px;background:#fff;box-shadow:0 4px 12px rgba(40,62,43,.04)}
body[data-module="home"] .home-shortcuts a>span{font-size:1.55rem;grid-row:auto;color:#dd6b2c}
body[data-module="home"] .home-shortcuts a:nth-child(2)>span{color:#e9a11b}
body[data-module="home"] .home-shortcuts a:nth-child(3)>span{color:#527c4b}
body[data-module="home"] .home-shortcuts strong{font-size:.78rem}
body[data-module="home"] .home-shortcuts small{display:none}
body[data-module="home"] .home-shortcuts .soon{background:#f2f1ee;color:#838a82;position:relative}
body[data-module="home"] .home-shortcuts .soon:after{content:"Coming Soon";display:block;font-size:.56rem;color:#b76c4e;margin-left:4px}

body[data-module="home"] .home-dashboard{grid-template-columns:minmax(0,2.45fr) minmax(350px,.92fr);gap:12px}
body[data-module="home"] .home-main-column{grid-template-columns:1.15fr 1fr;gap:12px}
body[data-module="home"] .dashboard-panel{border-radius:16px;padding:18px;box-shadow:0 5px 16px rgba(38,62,42,.045)}
body[data-module="home"] .home-main-column .weather-panel{grid-column:span 2;min-height:220px;position:relative;overflow:hidden}
body[data-module="home"] .weather-panel .state-feature{width:58%;min-height:118px;background:linear-gradient(105deg,#fff8e9,#f0f5eb);padding:24px}
body[data-module="home"] .weather-panel .state-feature strong{font-size:1rem}
body[data-module="home"] .home-main-column>.dashboard-panel:nth-child(2),body[data-module="home"] .home-main-column>.dashboard-panel:nth-child(3){min-height:250px;position:relative;overflow:hidden}
body[data-module="home"] .home-main-column .compact-state{min-height:52px}
body[data-module="home"] .home-main-column .state-illustration{width:50px;height:50px;flex-basis:50px;font-size:1.45rem}
body[data-module="home"] .home-side-column{gap:12px}
body[data-module="home"] .home-side-column .dashboard-panel{min-height:145px}
body[data-module="home"] .home-side-column>.dashboard-panel:nth-child(3){background:linear-gradient(120deg,#fff,#f5f8f0);position:relative;overflow:hidden}
body[data-module="home"] .home-side-column>.dashboard-panel:nth-child(3):after{display:none;content:none}
body[data-module="home"] .community-mini{min-height:176px;background:linear-gradient(115deg,#fff9f3,#f0f4e9);position:relative;overflow:hidden;padding-right:42%}
body[data-module="home"] .community-mini:after{content:"";position:absolute;right:8px;bottom:2px;width:42%;height:100%;background:url('/assets/family-days.svg') right bottom/contain no-repeat;opacity:.78}
body[data-module="home"]>.safety-note{margin-top:12px}

/* Module hero bands */
body[data-module]:not([data-module="home"]) .page-heading{min-height:178px;margin-bottom:14px;padding:28px 36px;border-radius:18px;background:#f2f1e8 center/cover no-repeat;position:relative;isolation:isolate;box-shadow:0 5px 17px rgba(40,61,42,.045)}
body[data-module]:not([data-module="home"]) .page-heading:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,253,248,.96) 0%,rgba(255,253,248,.78) 42%,rgba(255,253,248,.15) 72%,rgba(255,255,255,.05));z-index:-1}
body[data-module]:not([data-module="home"]) .page-heading>div:first-child{max-width:690px}
body[data-module]:not([data-module="home"]) .page-heading .heading-art{display:none}
body[data-module]:not([data-module="home"]) .page-heading .eyebrow{display:none}
body[data-module]:not([data-module="home"]) .page-heading h1{font-size:2.1rem;color:#15243d;margin-top:13px}
body[data-module]:not([data-module="home"]) .page-heading>div>p:last-child{font-size:1rem;color:#2d4039}
body[data-module="weather"] .page-heading{background-image:url('/assets/visual/weather-hero.webp')}
body[data-module="go"] .page-heading,body[data-module="spot"] .page-heading{background-image:url('/assets/visual/go-hero.webp')}
body[data-module="events"] .page-heading,body[data-module="event"] .page-heading{background-image:url('/assets/visual/event-hero.webp')}
body[data-module="shop"] .page-heading,body[data-module="product"] .page-heading{background-image:url('/assets/visual/shop-hero.webp')}
body[data-module="rankings"] .page-heading,body[data-module="ranking"] .page-heading{background-image:url('/assets/visual/ranking-hero.webp')}
body[data-module="trends"] .page-heading{background-image:url('/assets/visual/trend-hero.webp')}
body[data-module="columns"] .page-heading,body[data-module="column"] .page-heading,body[data-module="column-apply"] .page-heading,body[data-module="column-plans"] .page-heading{background-image:url('/assets/visual/column-parent.webp');background-position:center 42%}
body[data-module="community"] .page-heading{background-image:url('/assets/visual/community-hero.webp')}
body[data-module="settings"] .page-heading,body[data-module="favorites"] .page-heading{background-image:url('/assets/visual/settings-hero.webp')}

/* Listing / detail cards */
body[data-module] .filter-bar,body[data-module] .column-filters{border-radius:14px;border-color:#e7e2d7;box-shadow:0 3px 12px rgba(40,61,42,.035)}
body[data-module] .results-grid{gap:13px}
body[data-module] .result-card{border-radius:15px;box-shadow:0 4px 13px rgba(38,59,41,.04);position:relative;padding-top:16px}
/* v4: no Site_visual mock entity-image injection on listing cards. */
body[data-module="weather"] .results-grid{grid-template-columns:repeat(3,1fr)}
body[data-module="weather"] .result-card{min-height:180px;background:linear-gradient(145deg,#fff,#f1f6ed)}
body[data-module="weather"] .result-card .price{font-size:2rem;color:#d95b2d}
body[data-module] .empty{border-radius:17px;overflow:hidden;position:relative;padding:54px 28px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(244,247,239,.95))}
/* v4: empty states remain text/data-state based; no mock entity strips. */
body[data-module] .detail{border-top:0;border-radius:17px;box-shadow:0 6px 18px rgba(38,59,41,.05);padding:26px}
body[data-module="spot"] .detail,body[data-module="event"] .detail{background:linear-gradient(180deg,#fff,#fbfaf5)}
body[data-module="product"] .detail>.product-image{width:42%;height:auto;max-height:460px;object-fit:contain;background:#f8f6f0;border-radius:16px;padding:10px}
body[data-module] .column-hero{border-radius:17px;background:linear-gradient(115deg,rgba(255,245,236,.98),rgba(239,246,235,.96));box-shadow:0 5px 16px rgba(40,61,42,.04)}
body[data-module] .column-grid{gap:13px}
body[data-module] .column-card{border-radius:15px;overflow:hidden;position:relative}
body[data-module] .column-card:before{margin:-20px -20px 16px}

/* Settings / community / policy surfaces */
body[data-module] .surface{border-color:#e6e2d9;box-shadow:0 4px 14px rgba(38,59,41,.04)}
body[data-module="community"] .coming-soon{background:linear-gradient(105deg,rgba(245,250,241,.98),rgba(255,248,240,.95)),url('/assets/visual/community-hero.webp') center/cover no-repeat;border-radius:18px}
body[data-module="settings"] .settings-grid .surface,body[data-module="favorites"] .favorite-intro{border-radius:16px}
body[data-module] .site-footer{max-width:none;padding:24px 34px;background:#fffdf9;border-color:#e9e5dc}
body[data-module] .footer-brand:after{display:none}
body[data-module] .footer-brand .brand-name{font-size:1.55rem}

/* Public-only visual labels: reference imagery never represents verified entity imagery. */
body[data-module="go"] .result-card:after,body[data-module="events"] .result-card:after,body[data-module="shop"] .result-card:after,body[data-module="ranking"] .result-card:after,body[data-module="columns"] .column-card:after{pointer-events:none}

@media(max-width:1180px){
  body[data-module] .site-header{padding-inline:18px;gap:14px}
  body[data-module] .main-nav{gap:8px}
  body[data-module] .main-nav a{font-size:.68rem}
  body[data-module] .header-search{flex-basis:250px}
  body[data-module="home"] .hero-copy{min-width:390px}
  body[data-module="home"] .home-dashboard{grid-template-columns:1fr 330px}
}
@media(max-width:920px){
  body[data-module] .header-search{display:none}
  body[data-module="home"] .home-hero-grid,body[data-module="home"] .home-dashboard{grid-template-columns:1fr}
  body[data-module="home"] .home-side-column{grid-template-columns:repeat(2,1fr)}
  body[data-module="home"] .hero{background-size:70% 100%}
  body[data-module="home"] .hero-copy{width:62%;min-width:0}
}
@media(max-width:760px){
  body[data-module]{padding-bottom:70px}
  body[data-module] .site-header{height:64px;min-height:64px;padding:7px 14px}
  body[data-module] .brand{padding-right:30px}
  body[data-module] .brand:after{width:28px;height:21px;right:2px}
  body[data-module] .brand-name{font-size:1.65rem}
  body[data-module] .brand-tagline{font-size:.45rem}
  body[data-module] .page{padding:8px 8px 24px}
  body[data-module="home"] .hero{min-height:465px;padding:26px 22px;background:
    linear-gradient(180deg,rgba(255,253,247,.99) 0%,rgba(255,253,247,.94) 46%,rgba(255,253,247,.15) 65%,rgba(255,255,255,.02) 100%),
    url('/assets/visual/hero-family.webp') center bottom/auto 58% no-repeat,#f5f2e8}
  body[data-module="home"] .hero-copy{width:100%}
  body[data-module="home"] .hero h1{font-size:2rem}
  body[data-module="home"] .home-shortcuts{grid-template-columns:repeat(5,1fr)}
  body[data-module="home"] .home-shortcuts .soon{display:none}
  body[data-module="home"] .home-main-column{display:block}
  body[data-module="home"] .home-main-column>.dashboard-panel{margin-bottom:8px}
  body[data-module="home"] .weather-panel .state-feature{width:100%;padding-right:40%}
  body[data-module="home"] .weather-panel:after{width:36%;height:93px}
  body[data-module="home"] .home-side-column{display:block}
  body[data-module="home"] .home-side-column>.dashboard-panel{margin-bottom:8px}
  body[data-module]:not([data-module="home"]) .page-heading{min-height:210px;padding:20px;background-position:center}
  body[data-module]:not([data-module="home"]) .page-heading:before{background:linear-gradient(180deg,rgba(255,253,248,.96) 0%,rgba(255,253,248,.74) 58%,rgba(255,253,248,.14) 100%)}
  body[data-module]:not([data-module="home"]) .page-heading h1{font-size:1.55rem}
  body[data-module]:not([data-module="home"]) .page-heading>div>p:last-child{font-size:.78rem}
  body[data-module="go"] .result-card:before,body[data-module="events"] .result-card:before,body[data-module="shop"] .result-card:before,body[data-module="ranking"] .result-card:before,body[data-module="columns"] .column-card:before{height:180px}
  body[data-module="weather"] .results-grid{grid-template-columns:1fr}
  body[data-module="product"] .detail>.product-image{width:100%;float:none;margin:0 0 18px}
}

/* Mobile/PWA list Visual V2: approved six-screen structure and interactions. */
@media(max-width:760px){
  html.mobile-list-filter-active{overflow:hidden}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .public-content{background:#fbfaf6}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .list-hero-single{
    display:block!important;width:calc(100% + 20px)!important;min-height:0!important;margin:0 -10px 10px!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:hidden
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .list-hero-single .visual-v1-list-image{
    display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:0!important
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .site-header{
    position:sticky;top:0;border-bottom:1px solid #e7e3da;box-shadow:0 3px 10px rgba(30,55,38,.06)
  }
  .mobile-list-v2-head{display:block!important;margin:0 0 10px}
  .mobile-list-v2-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin:0 0 9px;padding:0 5px 0 12px;border:1px solid #cfd8d0;border-radius:11px;background:#fff}
  .mobile-list-v2-search>span{color:#789086;font-size:1rem}
  .mobile-list-v2-search input{min-width:0;min-height:42px;padding:8px 2px;border:0;background:transparent;font-size:.72rem}
  .mobile-list-v2-search input[type="hidden"]{display:none}
  .mobile-list-v2-search button{min-height:34px;margin:0;padding:5px 10px;border:0;border-radius:8px;background:#28764c;color:#fff;font-size:.65rem;font-weight:700}
  .mobile-list-v2-filter-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:8px}
  .mobile-list-v2-filter-buttons button{min-width:0;min-height:38px;margin:0;padding:6px;border:1px solid #d9e2d8;border-radius:999px;background:#f3f8f2;color:#345c45;font-size:.65rem;font-weight:700}
  .mobile-list-v2-quick,.mobile-list-v2-ranking-tabs{display:flex;gap:7px;margin:0 -2px 9px;padding:1px 2px 3px;overflow-x:auto;scrollbar-width:none}
  .mobile-list-v2-quick :is(a,span),.mobile-list-v2-ranking-tabs :is(a,span){display:inline-flex;min-width:max-content;min-height:32px;align-items:center;justify-content:center;padding:5px 13px;border:1px solid #e0e6dd;border-radius:999px;background:#f2f6f1;color:#53675a;font-size:.62rem;text-decoration:none}
  .mobile-list-v2-quick a[aria-current="page"],.mobile-list-v2-ranking-tabs a[aria-current="page"]{border-color:#148958;background:#148958;color:#fff;font-weight:800}
  body[data-module="events"] .mobile-list-v2-quick a[aria-current="page"]{border-color:#ff6b3d;background:#ff6b3d}
  body:is([data-module="trends"],[data-module="rankings"]) .mobile-list-v2-ranking-tabs a[aria-current="page"]{border-color:#7546d6;background:#7546d6}
  .mobile-list-v2-ranking-tabs span[aria-disabled="true"]{opacity:.55}
  body:is([data-module="trends"],[data-module="rankings"]) .mobile-list-v2-results-head{display:none}
  .mobile-list-v2-results-head{display:flex;min-height:35px;align-items:center;justify-content:space-between;padding:0 3px;border-bottom:1px solid #ece7dd;font-size:.68rem}
  .mobile-list-v2-results-head form{margin:0}
  .mobile-list-v2-results-head select{width:auto;min-height:32px;padding:4px 24px 4px 8px;border:0;background-color:transparent;font-size:.65rem}
  body[data-module="columns"] .column-hero{display:none}
  body:is([data-module="go"],[data-module="events"],[data-module="weather"])>.filter-bar,
  body:is([data-module="go"],[data-module="events"]) .page>.filter-bar{display:none}
  body[data-module="shop"]>.disclosure,body[data-module="shop"]>.rakuten-credit{font-size:.58rem}
  .mobile-list-filter-sheet>summary{display:none}
  .mobile-list-filter-sheet[open]>summary{display:flex}
  .mobile-list-filter-sheet[open]>form>label:first-of-type{display:none}
  .mobile-list-filter-sheet[open]>form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .mobile-list-filter-sheet[open]>form .button{min-height:44px;margin:4px 0 0!important}
  .mobile-list-filter-sheet[open]>form .mobile-list-filter-clear{display:flex;min-height:44px;align-items:center;justify-content:center;margin:0!important}
  body[data-module="shop"] .mobile-list-filter-sheet[open] .fine{display:none}
  body[data-module="go"] .go-list>article,body[data-module="events"] .result-card,body[data-module="columns"] .column-card,body[data-module="shop"] .shop-result-v13,body:is([data-module="trends"],[data-module="rankings"]) .result-card{position:relative;border-color:#e3e5df;box-shadow:0 2px 7px rgba(38,64,45,.05)}
  body[data-module="go"] .go-card p:nth-of-type(n+3),body[data-module="events"] .result-card>p:not(.eyebrow):not(.fine):not(:first-of-type),body[data-module="columns"] .column-card .column-badges,body[data-module="columns"] .column-card .fine:first-of-type{display:none}
  body[data-module="go"] .go-card h2,body[data-module="events"] .result-card h2,body[data-module="columns"] .column-card h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  body[data-module="go"] .go-list-location{display:none}
  body[data-module="go"] .go-card-favorite{position:absolute;right:8px;bottom:8px;z-index:2;width:34px;height:34px;margin:0;padding:0;border-radius:50%;font-size:0}
  body[data-module="go"] .go-card-favorite>span[aria-hidden="true"]{font-size:1rem}
  body[data-module="events"] .result-card>p:not(.eyebrow):not(.fine){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  body[data-module="events"] .result-card>.result-entity-image{display:none}
  body[data-module="events"] .mobile-event-date{grid-column:1;grid-row:1/8;display:flex;width:62px;min-height:62px;align-items:center;justify-content:center;flex-direction:column;border-radius:10px;background:#ff6b28;color:#fff;text-align:center}
  body[data-module="events"] .mobile-event-date strong{font-size:.9rem;line-height:1.1}.mobile-event-date small{margin-top:4px;font-size:.55rem}
  body[data-module="events"] .result-card{grid-template-columns:62px minmax(0,1fr)}
  body[data-module="columns"] .column-card .text-link{font-size:0}
  body[data-module="columns"] .column-card .text-link:after{content:"読む ›";font-size:.64rem}
  body[data-module="columns"] .mobile-column-date{font-size:.56rem;color:#7c857d}
  body[data-module="shop"] .shop-result-v13 .eyebrow{display:none}
  body[data-module="shop"] .shop-result-v13 .fine{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:.58rem}
  body:is([data-module="trends"],[data-module="rankings"]) .results-grid{gap:7px}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card{display:grid;min-height:88px;grid-template-columns:38px minmax(0,1fr);column-gap:9px;padding:10px}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card .eyebrow{position:static;grid-row:1/8;grid-column:1;width:34px;height:34px}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card>:not(.eyebrow){grid-column:2;margin-block:0 4px}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(1) .eyebrow{background:#d9a51e;color:#fff}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(2) .eyebrow{background:#a8b1b7;color:#fff}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(3) .eyebrow{background:#c47c45;color:#fff}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card>p:not(.eyebrow),body:is([data-module="trends"],[data-module="rankings"]) .trend-rank-meta{font-size:.61rem}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card>p.fine{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  body:is([data-module="events"],[data-module="shop"]) .result-card .result-actions .text-link:first-child:after{content:"";position:absolute;inset:0;z-index:1}
  body:is([data-module="events"],[data-module="shop"]) .result-card .favorite-button{position:relative;z-index:2}
  body[data-module="shop"] .result-card .sponsored-link-v13{position:relative;z-index:2}
  body[data-module="weather"] .page>.page-heading{display:none!important}
  body[data-module="weather"] .mobile-list-v2-head{margin-top:0}
  body[data-module="weather"] .weather-summary-v14{margin-top:8px;border-top:4px solid #48a9ec;background:linear-gradient(145deg,#fff,#f1f9ff)}
  body[data-module="weather"] .weather-current-temp-v14{font-size:1.7rem}
  body[data-module="weather"] .weather-disclaimer-box-v14{font-size:.62rem}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .empty{
    min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:10px 0;padding:24px 18px;background:linear-gradient(180deg,#fff,#f4f8f1)
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .mobile-nav a[aria-current="page"]{color:#15915a}
}

@media(max-width:340px){
  .mobile-list-v2-filter-buttons{gap:5px}.mobile-list-v2-filter-buttons button{font-size:.59rem}.mobile-list-v2-quick :is(a,span){padding-inline:10px}
}

/* Mobile/PWA list HERO width contract: every approved source keeps its own ratio. */
@media(max-width:760px), (pointer:coarse){
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .page-heading.visual-v1-list-heading.list-hero-single{
    display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0 0 10px!important;padding:0!important;border-radius:16px!important;overflow:hidden!important
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .page-heading.visual-v1-list-heading.list-hero-single .visual-v1-list-image{
    display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important
  }
}

/* PC list/detail Visual V1. Mobile/PWA contracts remain isolated below 761px. */
@media(min-width:761px){
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"],[data-module="spot"],[data-module="event"],[data-module="column"],[data-module="product"]) .page{max-width:1540px;padding:18px clamp(18px,2.2vw,34px) 52px}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .header-search{display:none}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .page-heading.visual-v1-list-heading.list-hero-single{display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0 0 18px!important;padding:0!important;border:0!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .page-heading.visual-v1-list-heading.list-hero-single .visual-v1-list-image{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .mobile-list-v2-head{display:block!important;margin:0 0 16px;padding:16px 18px;border:1px solid #e3e7df;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(38,62,42,.045)}
  .mobile-list-v2-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;max-width:920px;margin:0 auto 12px;padding:0 6px 0 15px;border:1px solid #cbd7cd;border-radius:12px;background:#fff}
  .mobile-list-v2-search>span{color:#6b8276;font-size:1.15rem}.mobile-list-v2-search input{min-width:0;min-height:46px;border:0;background:transparent}.mobile-list-v2-search input[type="hidden"]{display:none}.mobile-list-v2-search button{min-width:84px;min-height:38px;margin:0;border:0;border-radius:9px;background:#26764a;color:#fff;font-weight:800}
  .mobile-list-v2-filter-buttons{display:flex;justify-content:center;gap:10px;margin:0 0 10px}.mobile-list-v2-filter-buttons button{min-width:132px;min-height:40px;margin:0;padding:7px 17px;border:1px solid #d4dfd5;border-radius:999px;background:#f3f8f2;color:#315c43;font-weight:750;cursor:pointer}
  .mobile-list-v2-quick,.mobile-list-v2-ranking-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}.mobile-list-v2-quick :is(a,span),.mobile-list-v2-ranking-tabs :is(a,span){display:inline-flex;min-height:34px;align-items:center;padding:5px 15px;border:1px solid #dce5dc;border-radius:999px;background:#f4f7f3;color:#52665a;text-decoration:none;font-size:.72rem}.mobile-list-v2-quick a[aria-current="page"],.mobile-list-v2-ranking-tabs a[aria-current="page"]{border-color:#248457;background:#248457;color:#fff;font-weight:800}.mobile-list-v2-ranking-tabs span[aria-disabled="true"]{opacity:.5}
  .mobile-list-v2-results-head{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding-top:10px;border-top:1px solid #ebeee9;font-size:.75rem}.mobile-list-v2-results-head form{margin:0}.mobile-list-v2-results-head select{width:auto;min-height:34px;padding-block:5px}
  .mobile-list-filter-sheet{margin:0 0 16px}.mobile-list-filter-sheet>summary{display:none}.mobile-list-filter-sheet[open]{padding:16px 18px;border:1px solid #dfe7df;border-radius:14px;background:#f8faf7}.mobile-list-filter-sheet[open]>summary{display:flex;float:right;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;font-size:0;cursor:pointer}.mobile-list-filter-sheet[open]>summary:after{content:"×";font-size:1.2rem}.mobile-list-filter-sheet[open]>form{display:grid!important;grid-template-columns:repeat(3,minmax(150px,1fr));gap:11px 14px;clear:both;align-items:end}.mobile-list-filter-sheet[open]>form label{margin:0}.mobile-list-filter-sheet[open]>form .button{margin:0;min-height:42px}.mobile-list-filter-sheet[open]>form .mobile-list-filter-clear{display:flex;align-items:center;justify-content:center;min-height:42px;margin:0!important}
  body[data-module="columns"] .column-hero{display:none}
  body:is([data-module="go"],[data-module="events"],[data-module="weather"]) .page>.filter-bar{display:none}
  body[data-module="shop"] .page>.shop-search-v13{display:none}
  body:is([data-module="go"],[data-module="events"]) .results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  body[data-module="go"] .go-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  body[data-module="go"] .go-list>article,body[data-module="events"] .result-card,body[data-module="columns"] .column-card,body[data-module="shop"] .shop-result-v13{position:relative;border-radius:15px;box-shadow:0 5px 16px rgba(38,62,42,.055)}
  body[data-module="go"] .go-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:5px 13px;color:inherit;text-decoration:none}body[data-module="go"] .go-card .go-entity-image{grid-row:1/7;width:112px;height:105px;border-radius:11px;object-fit:cover}body[data-module="go"] .go-card :is(h2,p,span){grid-column:2;margin:0}body[data-module="go"] .go-card h2{font-size:.95rem;line-height:1.45}body[data-module="go"] .go-card p{font-size:.7rem;line-height:1.5;color:#667169}body[data-module="go"] .go-card p:first-of-type{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}body[data-module="go"] .go-card-favorite{position:absolute;right:10px;bottom:10px}
  body[data-module="events"] .result-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:5px 13px;align-content:start}body[data-module="events"] .result-card>.result-entity-image{grid-row:1/8;width:104px;height:96px;border-radius:11px;object-fit:cover}body[data-module="events"] .result-card>:not(.result-entity-image){grid-column:2;margin-block:0 5px}body[data-module="events"] .result-card h2{font-size:.95rem;line-height:1.45}body[data-module="events"] .result-card>p:not(.eyebrow):not(.fine){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  body[data-module="columns"] .column-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}body[data-module="columns"] .column-card h2{font-size:1rem;line-height:1.5}body[data-module="columns"] .column-card>p:not(.eyebrow):not(.fine){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
  body[data-module="shop"] .results-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}body[data-module="shop"] .shop-result-v13{min-height:350px}body[data-module="shop"] .shop-result-image-v13{height:190px}body[data-module="shop"] .shop-result-image-v13 img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}body[data-module="shop"] .shop-result-v13 h2{-webkit-line-clamp:2;min-height:2.9em;font-size:.86rem}
  body:is([data-module="trends"],[data-module="rankings"]) .results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;counter-reset:pc-rank}body:is([data-module="trends"],[data-module="rankings"]) .result-card{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:5px 11px;min-height:160px;padding:16px;border-width:2px}body:is([data-module="trends"],[data-module="rankings"]) .result-card>.eyebrow{grid-column:1;grid-row:1/4;display:grid;place-items:center;width:40px;height:40px;margin:0;border-radius:50%;background:#28784d;color:#fff;font-size:.75rem}body:is([data-module="trends"],[data-module="rankings"]) .result-card>:not(.eyebrow){grid-column:2;margin-block:0 5px}body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(1){border-color:#d5ac35;background:#fffdf4}body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(1)>.eyebrow{background:#c99a19}body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(2){border-color:#aeb9bf;background:#fafcfd}body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(2)>.eyebrow{background:#8d9aa2}body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(3){border-color:#c58b62;background:#fffaf6}body:is([data-module="trends"],[data-module="rankings"]) .result-card:nth-child(3)>.eyebrow{background:#aa6940}
  body[data-module="weather"] .weather-summary-v14{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:24px;border-top:5px solid #48a9ec;background:linear-gradient(145deg,#fff,#f1f9ff)}body[data-module="weather"] .results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}body[data-module="weather"] .result-card{min-height:190px;text-align:center;padding:20px}body[data-module="weather"] .result-card .price{font-size:1.05rem}body[data-module="weather"] .safety-note,body[data-module="weather"] .page>section.surface:last-of-type{padding:22px}
  .detail-back-link{display:inline-flex;align-items:center;min-height:44px;margin:0 0 12px;color:#226d48;font-weight:750;text-decoration:none}
  .public-detail-v1{max-width:1180px;margin:0 auto;padding:clamp(22px,2.5vw,34px);border-top:5px solid #2d8155;border-radius:18px;box-shadow:0 7px 24px rgba(34,62,43,.07)}
  .public-detail-v1 .detail-title{align-items:flex-start}.public-detail-v1 .detail-title h1{margin:0;font-size:clamp(1.55rem,2.2vw,2.15rem);line-height:1.42;word-break:normal;overflow-wrap:break-word}.public-detail-v1 .detail-favorite{display:grid;place-items:center;width:46px;height:46px;min-width:46px;padding:0;border-radius:50%;font-size:1.35rem}
  .public-detail-v1 .detail-main-visual{display:block;width:100%;height:auto;max-height:430px;border-radius:15px;background:#f7f5ee;object-fit:contain}.public-detail-v1 .detail-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.public-detail-v1 .detail-primary-actions .button{width:100%;box-sizing:border-box}
  .public-detail-v1 .detail-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 16px;margin:12px 0}.public-detail-v1 .detail-facts>div{display:contents}.public-detail-v1 .detail-facts dt,.public-detail-v1 .detail-facts dd{padding:9px 0;border-bottom:1px solid #e9ede8}.public-detail-v1 .detail-facts dt{font-weight:750;color:#53665b}.public-detail-v1 .detail-facts dd{min-width:0;margin:0;overflow-wrap:break-word}.public-detail-v1 .detail-section{margin-top:22px;padding-top:18px;border-top:1px solid #e3e9e3}.public-detail-v1 .detail-section h2{font-size:1.12rem;color:#235c3d}
  .go-detail.public-detail-v1{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:12px 30px;max-width:1180px}.go-detail.public-detail-v1>.detail-main-visual{grid-column:1;grid-row:1/5}.go-detail.public-detail-v1>.detail-title{grid-column:2;grid-row:1}.go-detail.public-detail-v1>.detail-location{grid-column:2;grid-row:2;margin:0}.go-detail.public-detail-v1>.detail-primary-actions{grid-column:2;grid-row:3}.go-detail.public-detail-v1>.detail-section{grid-column:1/-1}.go-detail.public-detail-v1>.detail-section:nth-of-type(1){grid-column:1;}.go-detail.public-detail-v1>.detail-section:nth-of-type(2){grid-column:2;grid-row:4/7;margin-top:0;padding:18px;border:1px solid #e1e8e1;border-radius:14px;background:#f8faf7}
  .event-detail-v1{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:10px 30px}.event-detail-v1>.detail-main-visual{grid-column:1;grid-row:1/6}.event-detail-v1>.detail-title,.event-detail-v1>.detail-status,.event-detail-v1>.detail-summary-list,.event-detail-v1>.detail-primary-actions{grid-column:2;margin-block:0}.event-detail-v1:not(:has(>.detail-main-visual))>.detail-title,.event-detail-v1:not(:has(>.detail-main-visual))>.detail-status,.event-detail-v1:not(:has(>.detail-main-visual))>.detail-summary-list,.event-detail-v1:not(:has(>.detail-main-visual))>.detail-primary-actions{grid-column:1/-1}.event-detail-v1>.detail-section{grid-column:1/-1}.event-detail-v1>.detail-description{grid-column:1}
  .product-detail-v1{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1fr);gap:10px 34px}.product-detail-v1>.detail-product-visual{grid-column:1;grid-row:1/6;display:grid;place-items:center;min-height:390px;border-radius:15px;background:#f8f6f0}.product-detail-v1 .product-image{float:none;width:100%;height:390px;max-width:100%;max-height:430px;margin:0;object-fit:contain}.product-detail-v1>.detail-title,.product-detail-v1>.price,.product-detail-v1>.detail-facts,.product-detail-v1>.detail-primary-actions{grid-column:2;margin-block:0}.product-detail-v1>.detail-section{grid-column:1/-1}
  .column-detail-v1{max-width:900px!important;padding:clamp(28px,4vw,50px)!important}.column-detail-v1 .column-detail-header h1{font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1.45}.column-detail-v1 .column-detail-eyecatch img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}.column-detail-v1 .column-body{max-width:820px;margin-inline:auto;font-size:1rem;line-height:2.05}.column-detail-v1 .column-sources,.column-detail-v1 .source-box{max-width:820px;margin-inline:auto}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .empty{max-width:860px;min-height:260px;margin:18px auto;padding:38px}
}
@media(min-width:1500px){body[data-module="go"] .go-list{grid-template-columns:repeat(4,minmax(0,1fr))}body[data-module="shop"] .results-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1199px){body:is([data-module="go"],[data-module="events"]) .results-grid,body[data-module="go"] .go-list,body[data-module="columns"] .column-grid,body:is([data-module="trends"],[data-module="rankings"]) .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-module="shop"] .results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-list-filter-sheet[open]>form{grid-template-columns:repeat(2,minmax(150px,1fr))}.go-detail.public-detail-v1,.event-detail-v1,.product-detail-v1{grid-template-columns:minmax(0,1fr) minmax(290px,.8fr);gap-inline:20px}}

/* Mobile/PWA detail Visual V1: one readable system for GO, EVENT, COLUMN and SHOP. */
@media(max-width:760px), (pointer:coarse){
  body:is([data-module="spot"],[data-module="event"],[data-module="column"],[data-module="product"]) .page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  body:is([data-module="spot"],[data-module="event"],[data-module="column"],[data-module="product"]) .page>.page-heading{display:none}
  .detail-back-link{display:inline-flex;align-items:center;min-height:44px;margin:0 0 10px;padding:0 4px;color:#176b43;font-weight:750;text-decoration:none}
  .public-detail-v1{box-sizing:border-box;width:100%;margin:0;padding:14px;border:1px solid #e3ece5;border-radius:18px;background:#fffdf8;box-shadow:0 7px 22px rgba(35,74,52,.08);overflow:hidden}
  .public-detail-v1 .detail-main-visual,.public-detail-v1 .column-eyecatch{display:block;width:100%;height:auto;max-height:320px;margin:0 0 14px;border-radius:14px;object-fit:contain;background:#f7f5ee}
  .public-detail-v1 .detail-title{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:start;gap:10px;margin:0 0 10px}
  .public-detail-v1 .detail-title h1{min-width:0;margin:0;color:#16362b;font-size:clamp(1.25rem,5.4vw,1.55rem);line-height:1.38;word-break:normal;overflow-wrap:break-word}
  .public-detail-v1 .detail-title .eyebrow{margin:0 0 5px;color:#277c54}
  .public-detail-v1 .detail-favorite{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #f2b4b2;border-radius:50%;background:#fff;color:#d94e58;font-size:1.45rem;line-height:1}
  .detail-primary-actions{display:grid;gap:8px;margin:14px 0}
  .detail-primary-actions .button{box-sizing:border-box;width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
  .detail-facts{display:grid;gap:0;margin:10px 0 0}
  .detail-facts>div{display:grid;grid-template-columns:minmax(88px,31%) minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #edf1ed}
  .detail-facts>div:last-child{border-bottom:0}
  .detail-facts>dt,.detail-facts>dd{padding:10px 0;border-bottom:1px solid #edf1ed}
  .detail-facts>dt{grid-column:1}
  .detail-facts>dd{grid-column:2}
  .detail-facts dt{color:#5b6d65;font-size:.82rem;font-weight:700}
  .detail-facts dd{min-width:0;margin:0;color:#263c34;font-size:.92rem;line-height:1.65;overflow-wrap:break-word}
  .detail-section{margin-top:17px;padding-top:15px;border-top:1px solid #e6ece7}
  .detail-section h2{margin:0 0 9px;color:#185d3d;font-size:1.05rem;line-height:1.45}
  .detail-section p,.detail-section li{font-size:.92rem;line-height:1.75}
  .detail-product-visual{display:grid;place-items:center;width:100%;min-height:220px;margin:0 0 14px;border-radius:14px;background:#f8f6f0;overflow:hidden}
  .product-detail-v1 .product-image{display:block;float:none;width:100%;height:260px;max-width:100%;max-height:320px;margin:0;padding:8px;box-sizing:border-box;object-fit:contain;object-position:center}
  .product-detail-v1 .price{margin:5px 0 8px;color:#d64a3c;font-size:1.35rem;font-weight:800}
  .detail-disclosure{padding:13px;border-radius:12px;background:#fff7e7}
  .detail-disclosure h2{color:#75521d}
  .column-detail-v1{padding:15px}
  .column-detail-v1 .column-detail-header{margin:0 0 12px}
  .column-detail-v1 .column-detail-header h1{margin:5px 0 9px;color:#183a2d;font-size:clamp(1.35rem,5.8vw,1.7rem);line-height:1.42;word-break:normal;overflow-wrap:break-word}
  .column-detail-v1 .column-detail-eyecatch{margin:0 0 14px;border-radius:14px;overflow:hidden;background:#f7f5ee}
  .column-detail-v1 .column-detail-eyecatch img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain}
  .column-detail-v1 .column-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;margin:10px 0 16px;color:#68756f;font-size:.78rem}
  .column-detail-v1 .column-meta dt{font-weight:700}.column-detail-v1 .column-meta dd{min-width:0;margin:0}
  .column-detail-v1 .column-body{font-size:.96rem;line-height:1.9;overflow-wrap:break-word}
  .column-detail-v1 .column-body h2{margin:1.75em 0 .65em;padding-left:10px;border-left:4px solid #35a56b;color:#194c34;font-size:1.3rem;line-height:1.5}
  .column-detail-v1 .column-body h3{margin:1.45em 0 .55em;color:#255d43;font-size:1.12rem;line-height:1.55}
  .column-detail-v1 .column-body img{display:block;max-width:100%;height:auto;margin:15px auto;border-radius:12px}
  .column-detail-v1 .column-body blockquote{margin:16px 0;padding:12px 14px;border-left:4px solid #9bcfac;background:#f4faf5}
}

/* RaiFam Public UI Visual Remediation v3 — desktop layout fidelity to Site_visual/S__77217857_0.jpg */
body[data-module="home"] .page{max-width:1510px;padding-top:12px}
body[data-module="home"] .home-hero-grid{grid-template-columns:minmax(0,2.15fr) minmax(355px,.9fr);gap:14px}
body[data-module="home"] .hero{min-height:282px;padding:42px 44px;background:
  linear-gradient(90deg,rgba(255,253,247,.99) 0%,rgba(255,253,247,.97) 28%,rgba(255,253,247,.55) 44%,rgba(255,255,255,.03) 61%),
  url('/assets/visual/hero-family.webp') right center/70% 100% no-repeat,#f5f1e5}
body[data-module="home"] .hero-copy{width:56%;min-width:455px}
body[data-module="home"] .hero h1{font-size:clamp(2.1rem,2.8vw,3.15rem);line-height:1.35;letter-spacing:.09em;white-space:nowrap;margin:0 0 14px}
body[data-module="home"] .hero-copy>p:not(.fine){font-size:.86rem;line-height:1.7;color:#24342f}
body[data-module="home"] .hero-location-actions{display:flex;align-items:center;gap:10px;margin-top:22px}
body[data-module="home"] .location-chip{min-width:242px;height:48px;padding:0 18px;border:1px solid #e5e1d8;border-radius:999px;background:rgba(255,255,255,.95);display:flex;align-items:center;gap:10px;color:#1d2d25;box-shadow:0 3px 10px rgba(52,76,55,.05);text-decoration:none}
body[data-module="home"] .location-chip>span:first-child{font-size:.65rem;color:#355d33}
body[data-module="home"] .location-chip>span:last-child{margin-left:auto;color:#687268}
body[data-module="home"] .location-chip strong{font-size:.82rem}
body[data-module="home"] .hero-change{height:46px;min-width:116px;margin:0;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}
body[data-module="home"] .hero .fine{margin-top:8px;font-size:.56rem;color:#6c736b}

body[data-module="home"] .home-notices{min-height:282px;padding:16px 18px}
body[data-module="home"] .home-notices:after{display:none}
body[data-module="home"] .home-notices .panel-title{min-height:38px;margin:0;border-bottom:1px solid #ece8df}
body[data-module="home"] .home-notices .panel-title h2{font-size:1.08rem}
body[data-module="home"] .home-notices .panel-title a{margin-left:auto;font-size:.62rem;color:#4f5e51;text-decoration:none}
body[data-module="home"] .notice-empty{padding:0;text-align:left}
body[data-module="home"] .notice-row{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:16px 2px;border-bottom:1px solid #eee9e1}
body[data-module="home"] .notice-row time{font-size:.64rem;color:#7a8079;padding-top:2px}
body[data-module="home"] .notice-row strong{display:block;font-size:.74rem;color:#27372f;margin-bottom:3px}
body[data-module="home"] .notice-row p{font-size:.62rem;line-height:1.55;color:#6a726a;margin:0}
body[data-module="home"] .notice-row.muted{opacity:.78}

body[data-module="home"] .shortcut-promo-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(355px,.9fr);gap:14px;margin:10px 0 12px}
body[data-module="home"] .shortcut-promo-grid .home-shortcuts{margin:0;grid-template-columns:repeat(6,1fr);gap:8px}
body[data-module="home"] .home-shortcuts a{min-height:76px}
body[data-module="home"] .home-about-card{min-height:76px;border:1px solid #e6e1d6;border-radius:15px;background:
  linear-gradient(90deg,rgba(250,252,245,.97) 0%,rgba(250,252,245,.93) 45%,rgba(255,255,255,.28) 68%),
  url('/assets/visual/about-hands.webp') right center/58% 100% no-repeat;display:flex;align-items:center;padding:11px 16px;text-decoration:none;position:relative;overflow:hidden;color:#27382e;box-shadow:0 4px 12px rgba(40,62,43,.04)}
body[data-module="home"] .about-copy{display:flex;flex-direction:column;gap:2px;max-width:52%}
body[data-module="home"] .about-copy strong{font-family:serif;font-weight:500;font-size:.82rem;line-height:1.45}
body[data-module="home"] .about-copy small{font-size:.5rem;color:#657065}
body[data-module="home"] .about-link{position:absolute;right:14px;bottom:8px;background:rgba(255,255,255,.92);border:1px solid #e2ded4;border-radius:999px;padding:5px 10px;font-size:.54rem;color:#a45735}

body[data-module="home"] .home-dashboard-v3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr) minmax(330px,.83fr);grid-template-areas:"weather ranking rail" "go event rail";gap:12px;align-items:start}
body[data-module="home"] .home-dashboard-v3>.dashboard-panel{padding:15px;border-radius:15px;box-shadow:0 4px 14px rgba(38,62,42,.045);border:1px solid #e8e3d9;background:#fff}
body[data-module="home"] .home-dashboard-v3 .panel-title{min-height:38px;margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid #eeeae2;display:flex;align-items:center;gap:8px}
body[data-module="home"] .home-dashboard-v3 .panel-title>span{font-size:1.2rem;color:#d46a32}
body[data-module="home"] .home-dashboard-v3 .panel-title h2{font-size:1.06rem;margin:0;color:#13233e}
body[data-module="home"] .home-dashboard-v3 .panel-title small{display:block;font-size:.54rem;font-weight:500;color:#68726a;margin-bottom:1px}
body[data-module="home"] .home-dashboard-v3 .panel-title a{margin-left:auto;font-size:.57rem;color:#3e6840;text-decoration:none;white-space:nowrap}
body[data-module="home"] .module-state-line{margin:7px 0 0;font-size:.56rem;color:#68716a;line-height:1.45}

body[data-module="home"] .weather-panel-v3{grid-area:weather;min-height:246px}
body[data-module="home"] .weather-state-v3{padding:4px 8px 8px}
body[data-module="home"] .weather-location{font-size:.66rem;color:#526055;margin:0 0 7px}
body[data-module="home"] .weather-main-v3{display:flex;align-items:baseline;gap:8px}
body[data-module="home"] .weather-icon-v3{font-size:2.6rem;color:#efb11f;line-height:1}
body[data-module="home"] .weather-main-v3 strong{font-size:2rem;color:#273931;font-weight:500}
body[data-module="home"] .weather-main-v3>span:last-child{font-size:1.45rem;color:#4e8ca5}
body[data-module="home"] .rain-v3{margin:2px 0 5px 48px;font-size:.7rem;color:#39767d}
body[data-module="home"] .forecast-row-v3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ece8df;border-bottom:1px solid #ece8df;margin:2px -15px 0}
body[data-module="home"] .forecast-row-v3>div{min-height:62px;display:grid;grid-template-columns:1fr;place-items:center;padding:7px;border-right:1px solid #eeeae1;font-size:.58rem;color:#49564d}
body[data-module="home"] .forecast-row-v3>div:last-child{border-right:0}
body[data-module="home"] .forecast-row-v3 span{font-size:1.15rem;color:#e9a51f}
body[data-module="home"] .forecast-row-v3 b{font-size:.56rem;text-align:center}body[data-module="home"] .forecast-row-v3 em{font-style:normal;font-size:.48rem;color:#687269}body[data-module="home"] .forecast-row-v3 strong{font-size:.54rem;white-space:nowrap}
body[data-module="home"] .weather-safety-v3{margin:8px 0 0;border-radius:999px;background:#fff2e9;color:#c95e34;display:flex;align-items:center;gap:7px;padding:7px 10px;font-size:.57rem;white-space:nowrap;overflow:hidden}
body[data-module="home"] .weather-safety-v3 strong{font-weight:700;overflow:hidden;text-overflow:ellipsis}

body[data-module="home"] .ranking-panel-v3{grid-area:ranking;min-height:246px}
body[data-module="home"] .ranking-visual-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
body[data-module="home"] .visual-card{position:relative;min-width:0}
body[data-module="home"] .visual-card-image{height:94px;border-radius:11px;background:#f6f3ec center/cover no-repeat;position:relative;overflow:hidden}
body[data-module="home"] .visual-card-image>span,body[data-module="home"] .shop-visual-item>div>span,body[data-module="home"] .place-visual-card>div>span,body[data-module="home"] .event-image-v3>span{position:absolute;right:5px;top:5px;background:rgba(255,255,255,.9);border-radius:999px;padding:2px 5px;font-size:.42rem;color:#777}
body[data-module="home"] .rank-badge{position:absolute;z-index:2;left:-3px;top:-4px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e5a91f;color:#fff;font-weight:800;font-size:.63rem;border:2px solid #fff}
body[data-module="home"] .visual-card:nth-child(2) .rank-badge{background:#a8ada8}
body[data-module="home"] .visual-card:nth-child(3) .rank-badge{background:#df805c}
body[data-module="home"] .visual-card:nth-child(n+4) .rank-badge{background:#7c9975}
body[data-module="home"] .visual-card>strong{display:block;margin-top:6px;font-size:.54rem;line-height:1.35;color:#4b554e;font-weight:600}

body[data-module="home"] .home-rail-v3{grid-area:rail;display:grid;gap:12px}
body[data-module="home"] .home-rail-v3>.dashboard-panel{padding:15px;border-radius:15px;border:1px solid #e8e3d9;background:#fff;box-shadow:0 4px 14px rgba(38,62,42,.045)}
body[data-module="home"] .shop-panel-v3{min-height:210px}
body[data-module="home"] .shop-visual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
body[data-module="home"] .shop-visual-item>div{height:83px;border-radius:10px;background:#f6f2e9 center/cover no-repeat;position:relative}
body[data-module="home"] .shop-visual-item small{display:block;margin-top:5px;font-size:.48rem;color:#59655d;line-height:1.35}
body[data-module="home"] .community-panel-v3{min-height:210px;background:linear-gradient(105deg,#fff 0%,#fffaf5 54%,#f3eee3 100%);position:relative;overflow:hidden}
body[data-module="home"] .community-panel-v3:after{content:"";position:absolute;right:6px;bottom:-3px;width:46%;height:72%;background:url('/assets/family-days.svg') right bottom/contain no-repeat;opacity:.9}
body[data-module="home"] .community-copy-v3{position:relative;z-index:1;width:64%}
body[data-module="home"] .community-copy-v3>small{font-size:.54rem;color:#667066}
body[data-module="home"] .community-copy-v3 h2{font-size:1.05rem;color:#13233e;margin:5px 0 12px}
body[data-module="home"] .coming-label{display:inline-block;background:#fff0e8;color:#d1693e;border-radius:999px;padding:7px 18px;font-size:.62rem;margin-bottom:10px}
body[data-module="home"] .community-copy-v3 p{font-size:.58rem;line-height:1.65;color:#5b665d}

body[data-module="home"] .go-panel-v3{grid-area:go;min-height:270px}
body[data-module="home"] .category-chips-v3{display:flex;gap:7px;flex-wrap:nowrap;overflow:hidden;margin-bottom:10px}
body[data-module="home"] .category-chips-v3 a{border-radius:999px;background:#f4f3ed;padding:6px 13px;font-size:.54rem;color:#526056;white-space:nowrap;text-decoration:none}
body[data-module="home"] .category-chips-v3 a:first-child{background:#6e925e;color:#fff}
body[data-module="home"] .place-visual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
body[data-module="home"] .place-visual-card>div{height:88px;border-radius:9px;background:#f3f0e8 center/cover no-repeat;position:relative}
body[data-module="home"] .place-visual-card strong{display:block;font-size:.55rem;margin:5px 0 2px;color:#34453a}
body[data-module="home"] .place-visual-card small{display:block;font-size:.46rem;color:#727a73}

body[data-module="home"] .event-panel-v3{grid-area:event;min-height:270px}
body[data-module="home"] .event-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
body[data-module="home"] .event-visual-card{border:1px solid #eee8de;border-radius:10px;padding:7px;position:relative;min-width:0}
body[data-module="home"] .event-date{position:absolute;z-index:2;left:7px;top:7px;background:rgba(255,255,255,.94);padding:4px 6px;border-radius:7px;font-size:.66rem;color:#202a24}
body[data-module="home"] .event-date small{display:block;font-size:.42rem;color:#d85d31}
body[data-module="home"] .event-image-v3{height:94px;border-radius:8px;background:#f4f1e9 center/cover no-repeat;position:relative}
body[data-module="home"] .event-visual-card>strong{display:block;font-size:.57rem;margin:6px 0 2px;color:#34453a}
body[data-module="home"] .event-visual-card>small{display:block;font-size:.46rem;color:#727a73}

body[data-module="home"]>.safety-note{margin-top:12px}

@media(max-width:1180px){
  body[data-module="home"] .hero h1{white-space:normal}
  body[data-module="home"] .home-dashboard-v3{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 300px}
  body[data-module="home"] .visual-card-image{height:78px}
  body[data-module="home"] .shop-visual-item>div{height:68px}
}
@media(max-width:920px){
  body[data-module="home"] .shortcut-promo-grid{grid-template-columns:1fr}
  body[data-module="home"] .home-about-card{min-height:108px}
  body[data-module="home"] .home-dashboard-v3{grid-template-columns:1fr 1fr;grid-template-areas:"weather ranking" "go event" "rail rail"}
  body[data-module="home"] .home-rail-v3{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  body[data-module="home"] .hero{min-height:430px;padding:28px 22px;background:linear-gradient(180deg,rgba(255,253,247,.99) 0%,rgba(255,253,247,.92) 42%,rgba(255,253,247,.08) 62%),url('/assets/visual/hero-family.webp') center bottom/auto 58% no-repeat,#f5f1e5}
  body[data-module="home"] .hero-copy{width:100%;min-width:0}
  body[data-module="home"] .hero h1{white-space:normal;font-size:2rem}
  body[data-module="home"] .hero-location-actions{align-items:stretch;flex-direction:column;max-width:280px}
  body[data-module="home"] .location-chip{min-width:0;width:100%}
  body[data-module="home"] .hero-change{width:100%}
  body[data-module="home"] .shortcut-promo-grid .home-shortcuts{grid-template-columns:repeat(3,1fr)}
  body[data-module="home"] .home-shortcuts .soon{display:flex}
  body[data-module="home"] .home-dashboard-v3{display:block}
  body[data-module="home"] .home-dashboard-v3>.dashboard-panel,body[data-module="home"] .home-rail-v3>.dashboard-panel{margin-bottom:10px}
  body[data-module="home"] .home-rail-v3{display:block}
  body[data-module="home"] .ranking-visual-grid{overflow-x:auto;grid-template-columns:repeat(5,minmax(112px,1fr))}
  body[data-module="home"] .place-visual-grid{grid-template-columns:repeat(2,1fr)}
  body[data-module="home"] .event-visual-grid{overflow-x:auto;grid-template-columns:repeat(3,minmax(170px,1fr))}
  body[data-module="home"] .shop-visual-grid{grid-template-columns:repeat(4,minmax(80px,1fr));overflow-x:auto}
}

/* --------------------------------------------------------------------------
   RaiFam Public UI v4 — desktop left navigation decision (2026-09-07)
   User decision overrides Site_visual top-navigation references on desktop.
   Mobile <=760px intentionally remains on the existing HOLD layout.
   Site_visual generic imagery is limited to hero/top/decorative assets; mock
   product/place/event/article imagery is never used as entity content.
   -------------------------------------------------------------------------- */
.public-sidebar{display:none}
.public-content{min-width:0}

@media (min-width:761px){
  body[data-module]{background:#f8f6f0}
  body[data-module] .public-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;align-items:start}
  body[data-module] .public-sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:auto;min-height:100vh;justify-content:flex-start;overflow:auto;background:rgba(255,253,249,.98);border-right:1px solid #e8e3d8;padding:22px 14px 18px;z-index:86;box-shadow:8px 0 28px rgba(38,62,42,.025)}
  body[data-module] .public-content{min-width:0;width:100%}

  body[data-module] .sidebar-brand{display:block;position:relative;text-decoration:none;color:#345a36;padding:0 16px 22px 12px;border-bottom:1px solid #eee9df}
  body[data-module] .sidebar-brand:after{content:"";position:absolute;left:126px;top:-7px;width:38px;height:27px;background:url('/assets/brand-leaf.svg') center/contain no-repeat}
  body[data-module] .sidebar-brand-name{display:block;font:800 2.15rem/1 Arial,"Yu Gothic",sans-serif;letter-spacing:.035em}
  body[data-module] .sidebar-brand-tagline{display:block;margin-top:7px;color:#5f685d;font-size:.57rem;letter-spacing:.17em}

  body[data-module] .sidebar-nav{display:grid;gap:5px;padding:18px 0 14px;border-bottom:1px solid #eee9df}
  body[data-module] .sidebar-nav a{min-height:48px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 11px;border-radius:12px;text-decoration:none;color:#25342b;font-size:.79rem;border:1px solid transparent;transition:background .16s ease,border-color .16s ease,color .16s ease}
  body[data-module] .sidebar-nav a>span{display:grid;place-items:center;font-size:1.34rem;line-height:1;color:#4a7048}
  body[data-module] .sidebar-nav a:nth-child(2)>span{color:#eba61c}
  body[data-module] .sidebar-nav a:nth-child(4)>span,body[data-module] .sidebar-nav a:nth-child(5)>span{color:#dd6b32}
  body[data-module] .sidebar-nav a:nth-child(6)>span{color:#e4a018}
  body[data-module] .sidebar-nav a strong{font-weight:650;white-space:nowrap}
  body[data-module] .sidebar-nav a small{font-size:.48rem;color:#c46742;white-space:nowrap}
  body[data-module] .sidebar-nav a:hover{background:#f1f5ed;border-color:#e3e9df}
  body[data-module] .sidebar-nav a[aria-current]{background:linear-gradient(90deg,#e9f0e5,#f3f5ee);border-color:#e2e8de;color:#18281d}
  body[data-module] .sidebar-nav a[aria-current] strong{font-weight:800}

  body[data-module] .sidebar-location{margin-top:14px;padding:14px 12px 15px;border-radius:14px;background:#fff;border:1px solid #ebe6dc}
  body[data-module] .sidebar-location-kicker{display:block;color:#68736a;font-size:.58rem;letter-spacing:.03em}
  body[data-module] .sidebar-location strong{display:block;margin:7px 0 10px;color:#1e2e22;font-size:.88rem;line-height:1.45}
  body[data-module] .sidebar-location a{display:block;text-align:center;text-decoration:none;border-radius:999px;padding:9px 10px;background:#f0f2ed;color:#2e4932;font-size:.65rem;font-weight:700}
  body[data-module] .sidebar-message{margin-top:14px;min-height:190px;padding:20px 16px;display:flex;align-items:flex-start;position:relative;overflow:hidden;color:#435b44;border-radius:16px;background:#eef4e9;isolation:isolate}
  body[data-module] .sidebar-message:after{content:"";position:absolute;inset:0;height:auto;bottom:0;background:url('/assets/visual/hero-family.webp') 66% center/cover no-repeat;border-radius:16px;opacity:.9;z-index:0}
  body[data-module] .sidebar-message:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.86) 0,rgba(255,255,255,.48) 44%,rgba(255,255,255,.06) 76%);z-index:1}
  body[data-module] .sidebar-message p{position:relative;z-index:2;margin:0;color:#304d36;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:.85rem;font-weight:700;line-height:1.9;letter-spacing:.12em;text-shadow:0 1px 2px rgba(255,255,255,.95)}

  body[data-module] .site-header{height:64px;min-height:64px;padding:8px 24px;border-bottom:1px solid #ece8df;background:rgba(255,255,255,.96);display:flex;justify-content:flex-end;gap:12px;position:sticky;top:0;z-index:82}
  body[data-module] .site-header>.brand,body[data-module] .site-header>.main-nav{display:none}
  body[data-module] .header-search{margin-left:auto;flex:0 1 430px;height:40px}
  body[data-module] .header-utilities{flex:0 0 auto}
  body[data-module] .page{max-width:1440px;width:100%;padding:14px 18px 34px;margin:0 auto}
  body[data-module] .site-footer{margin:0;border-top:1px solid #e6e1d8;background:#fffdf9}

  /* Desktop navigation is fully migrated to the left rail.  The former Home
     shortcut/menu row is hidden here to avoid duplicate navigation.  The
     markup is intentionally retained because Mobile <=760px is HOLD and
     continues to use its existing Home shortcut layout. */
  body[data-module="home"] .shortcut-promo-grid{display:none!important}
  body[data-module="home"] .home-hero-grid{grid-template-columns:minmax(0,2.45fr) minmax(315px,.95fr)}
  body[data-module="home"] .hero{min-height:250px;padding:34px 38px}
  body[data-module="home"] .hero-copy{min-width:390px;width:52%}
  body[data-module="home"] .hero h1{font-size:clamp(2.15rem,3.2vw,3.25rem)}
  body[data-module="home"] .home-dashboard-v3{grid-template-columns:minmax(0,.98fr) minmax(0,1.14fr) minmax(300px,.82fr)}

  /* Mock entity images are intentionally replaced by neutral data-state tiles. */
  body[data-module="home"] .data-placeholder-card{min-width:0}
  body[data-module="home"] .placeholder-tile{display:grid;place-items:center;height:86px;border-radius:11px;border:1px dashed #d8d8cf;background:linear-gradient(145deg,#f7f7f2,#f0f3ec);color:#76906f;font-size:1.5rem;position:relative;overflow:hidden}
  body[data-module="home"] .placeholder-tile:after{content:"確認済みデータ待ち";position:absolute;left:0;right:0;bottom:7px;text-align:center;font-size:.42rem;letter-spacing:.02em;color:#7b857d}
  body[data-module="home"] .visual-card .placeholder-tile{height:94px}
  body[data-module="home"] .shop-visual-item .placeholder-tile{height:83px}
  body[data-module="home"] .place-visual-card .placeholder-tile{height:88px}
  body[data-module="home"] .event-image-v3.placeholder-tile{height:94px;background:linear-gradient(145deg,#fff8ef,#f7f1e8);color:#d47840}

  /* Module pages use their Site_visual-derived generic hero/top image, while
     actual entity cards remain data-driven and image-free unless the provider
     supplies a rights-cleared image. */
  body[data-module]:not([data-module="home"]) .page-heading{min-height:166px;margin-top:0}
  body[data-module]:not([data-module="home"]) .results-grid{gap:12px}
  body[data-module]:not([data-module="home"]) .result-card{border-radius:14px;box-shadow:0 4px 13px rgba(38,62,42,.035)}
}

@media (min-width:761px) and (max-width:1120px){
  body[data-module] .public-shell{grid-template-columns:206px minmax(0,1fr)}
  body[data-module] .public-sidebar{padding-inline:10px}
  body[data-module] .sidebar-brand-name{font-size:1.9rem}
  body[data-module] .sidebar-brand:after{left:111px;width:32px}
  body[data-module] .sidebar-nav a{padding-inline:8px;font-size:.72rem;grid-template-columns:29px minmax(0,1fr)}
  body[data-module] .sidebar-nav a small{display:none}
  body[data-module="home"] .home-dashboard-v3{grid-template-columns:1fr 1fr;grid-template-areas:"weather ranking" "go event" "rail rail"}
  body[data-module="home"] .home-rail-v3{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  /* MOBILE HOLD: sidebar does not participate, existing mobile UI remains. */
  body[data-module] .public-shell,body[data-module] .public-content{display:block}
  body[data-module] .public-sidebar{display:none!important}
}

@media (min-width:761px){
  /* v4 image policy: Site_visual images are menu-level hero/top/decorative only. */
  body[data-module="go"] .result-card:before,
  body[data-module="events"] .result-card:before,
  body[data-module="shop"] .result-card:before,
  body[data-module="ranking"] .result-card:before,
  body[data-module="columns"] .column-card:before,
  body[data-module="go"] .result-card:after,
  body[data-module="events"] .result-card:after,
  body[data-module="shop"] .result-card:after,
  body[data-module="ranking"] .result-card:after,
  body[data-module="columns"] .column-card:after,
  body[data-module="go"] .empty:before,
  body[data-module="events"] .empty:before,
  body[data-module="shop"] .empty:before,
  body[data-module="rankings"] .empty:before,
  body[data-module="columns"] .column-empty:before{display:none!important;content:none!important;background-image:none!important}
  body[data-module="columns"] .column-card{padding-top:20px}
}

/* Entity-image policy is device-independent; mobile layout itself remains HOLD. */
body[data-module="go"] .result-card:before,
body[data-module="events"] .result-card:before,
body[data-module="shop"] .result-card:before,
body[data-module="ranking"] .result-card:before,
body[data-module="columns"] .column-card:before,
body[data-module="go"] .result-card:after,
body[data-module="events"] .result-card:after,
body[data-module="shop"] .result-card:after,
body[data-module="ranking"] .result-card:after,
body[data-module="columns"] .column-card:after,
body[data-module="go"] .empty:before,
body[data-module="events"] .empty:before,
body[data-module="shop"] .empty:before,
body[data-module="rankings"] .empty:before,
body[data-module="columns"] .column-empty:before{display:none!important;content:none!important;background-image:none!important}


/* --------------------------------------------------------------------------
   RaiFam Public UI v6 — home balance + recommended Column (2026-09-08)
   Desktop only layout tuning. Mobile <=760px remains structurally HOLD.
   -------------------------------------------------------------------------- */
@media (min-width:1121px){
  body[data-module="home"] .home-dashboard-v3{
    grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(310px,.9fr);
    grid-template-areas:"weather ranking rail" "go event rail";
    gap:12px;
  }
  body[data-module="home"] .weather-panel-v3,
  body[data-module="home"] .ranking-panel-v3{min-height:246px;height:246px}
  body[data-module="home"] .go-panel-v3,
  body[data-module="home"] .event-panel-v3{min-height:286px;height:286px}
  body[data-module="home"] .home-rail-v3{
    grid-area:rail;
    display:grid;
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:12px;
    height:544px;
    align-self:stretch;
  }
  body[data-module="home"] .home-rail-v3>.dashboard-panel{
    min-height:0!important;
    height:auto;
    overflow:hidden;
  }
  body[data-module="home"] .shop-panel-v3{min-height:0}
  body[data-module="home"] .shop-visual-item .placeholder-tile{height:58px}
  body[data-module="home"] .shop-visual-item small{font-size:.44rem}
  body[data-module="home"] .community-panel-v3{min-height:0}
  body[data-module="home"] .community-panel-v3:after{width:42%;height:68%}
  body[data-module="home"] .community-copy-v3 h2{margin-bottom:7px}
  body[data-module="home"] .coming-label{padding:5px 13px;margin-bottom:6px}
  body[data-module="home"] .community-copy-v3 p{margin:0;line-height:1.5}
}
body[data-module="home"] .column-pick-panel-v6 .panel-title>span{color:#d46a32}
body[data-module="home"] .home-column-list-v6{display:grid;gap:7px}
body[data-module="home"] .home-column-item-v6{padding:6px 0 7px;border-bottom:1px solid #eeeae2;min-width:0}
body[data-module="home"] .home-column-item-v6:last-child{border-bottom:0;padding-bottom:0}
body[data-module="home"] .home-column-meta-v6{display:flex;align-items:center;gap:6px;margin-bottom:3px}
body[data-module="home"] .home-column-meta-v6 span,
body[data-module="home"] .home-column-meta-v6 small{font-size:.47rem;border-radius:999px;padding:2px 7px;background:#eef3e9;color:#426342;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-module="home"] .home-column-meta-v6 small{background:#fff0e8;color:#c75f38}
body[data-module="home"] .home-column-item-v6 h3{font-size:.67rem;line-height:1.4;margin:0 0 3px;color:#203028}
body[data-module="home"] .home-column-item-v6 h3 a{color:inherit;text-decoration:none}
body[data-module="home"] .home-column-item-v6 p{font-size:.49rem;line-height:1.45;color:#6a746c;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body[data-module="home"] .home-column-empty-v6{display:flex;align-items:center;gap:10px;min-height:92px;padding:8px 4px;color:#58645b}
body[data-module="home"] .home-column-empty-v6>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#eef3e9;color:#53714f;font-size:1.15rem;flex:0 0 auto}
body[data-module="home"] .home-column-empty-v6 strong{display:block;font-size:.62rem;color:#2c3b31;margin-bottom:4px}
body[data-module="home"] .home-column-empty-v6 p{font-size:.49rem;line-height:1.45;margin:0}

@media (min-width:761px) and (max-width:1120px){
  body[data-module="home"] .home-rail-v3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  body[data-module="home"] .home-rail-v3>.dashboard-panel{min-height:190px}
}
@media (max-width:760px){
  /* HOLD: no desktop sizing leaks into the mobile stack. */
  body[data-module="home"] .home-rail-v3{height:auto}
  body[data-module="home"] .home-rail-v3>.dashboard-panel{height:auto}
}

/* --------------------------------------------------------------------------
   RaiFam Public UI v7 — confirmed desktop home matrix (2026-09-08)
   Desktop Source of Truth:
   HERO | Weather | Recommended Column (row-span 2)
   GO   | TOP5    | Recommended Column
   Event| Shop    | Notices
   Community is not shown on Home. Mobile <=760px remains layout-HOLD.
   -------------------------------------------------------------------------- */
body[data-module="home"] .home-layout-v7{display:grid;gap:12px;align-items:stretch}
body[data-module="home"] .home-layout-v7>.dashboard-panel,
body[data-module="home"] .home-layout-v7>.home-notices{padding:15px;border-radius:15px;border:1px solid #e8e3d9;background:#fff;box-shadow:0 4px 14px rgba(38,62,42,.045);min-width:0}
body[data-module="home"] .home-layout-v7 .panel-title{min-height:38px;margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid #eeeae2;display:flex;align-items:center;gap:8px}
body[data-module="home"] .home-layout-v7 .panel-title>span{font-size:1.2rem;color:#d46a32}
body[data-module="home"] .home-layout-v7 .panel-title h2{font-size:1.06rem;margin:0;color:#13233e}
body[data-module="home"] .home-layout-v7 .panel-title small{display:block;font-size:.54rem;font-weight:500;color:#68726a;margin-bottom:1px}
body[data-module="home"] .home-layout-v7 .panel-title a{margin-left:auto;font-size:.57rem;color:#3e6840;text-decoration:none;white-space:nowrap}
body[data-module="home"] .home-layout-v7 .module-state-line{margin:7px 0 0;font-size:.56rem;color:#68716a;line-height:1.45}
body[data-module="home"] .home-layout-v7 .hero{margin:0}

body[data-module="home"] .column-pick-panel-v7{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffdf8 72%,#f3f6ed 100%)}
body[data-module="home"] .column-pick-panel-v7:after{display:none;content:none}
body[data-module="home"] .column-pick-panel-v7>*{position:relative;z-index:1}
body[data-module="home"] .home-column-list-v7{display:grid;gap:0}
body[data-module="home"] .column-pick-panel-v7.has-plan-c-priority .home-column-list-v7{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:stretch}
body[data-module="home"] .column-pick-panel-v7.has-plan-c-priority .home-column-item-v7{border-bottom:0;border-right:1px solid #ece8df;padding:12px 8px}
body[data-module="home"] .column-pick-panel-v7.has-plan-c-priority .home-column-item-v7:last-child{border-right:0}
body[data-module="home"] .home-column-item-v7{padding:12px 2px;border-bottom:1px solid #ece8df;min-width:0}
body[data-module="home"] .home-column-item-v7:last-child{border-bottom:0}
body[data-module="home"] .home-column-item-v7 h3{font-size:.72rem;line-height:1.45;margin:5px 0 4px;color:#203028}
body[data-module="home"] .home-column-item-v7 h3 a{color:inherit;text-decoration:none}
body[data-module="home"] .home-column-item-v7 p{font-size:.52rem;line-height:1.55;color:#667168;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body[data-module="home"] .home-column-empty-v7{min-height:100%;display:flex;align-items:flex-start;gap:12px;padding:18px 5px;color:#58645b}
body[data-module="home"] .home-column-empty-v7>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#eef3e9;color:#53714f;font-size:1.25rem;flex:0 0 auto}
body[data-module="home"] .home-column-empty-v7 strong{display:block;font-size:.72rem;color:#2c3b31;margin:2px 0 6px}
body[data-module="home"] .home-column-empty-v7 p{font-size:.54rem;line-height:1.55;margin:0 0 10px}
body[data-module="home"] .home-column-empty-v7 a{font-size:.54rem;color:#3e6840;text-decoration:none}

body[data-module="home"] .home-notices-v7{position:relative;overflow:hidden}
body[data-module="home"] .home-notices-v7:after{height:74px;margin-top:8px;opacity:.58}
body[data-module="home"] .home-notices-v7 .notice-empty{padding-top:5px}
body[data-module="home"] .home-notices-v7 .notice-row{padding:8px 0}
body[data-module="home"] .home-notices-v7 .notice-row strong{font-size:.63rem}
body[data-module="home"] .home-notices-v7 .notice-row p{font-size:.5rem;line-height:1.45}

@media (min-width:1121px){
  body[data-module="home"] .home-layout-v7{
    grid-template-columns:minmax(0,1.08fr) minmax(0,1.08fr) minmax(300px,.84fr);
    grid-template-areas:
      "hero weather column"
      "go ranking column"
      "event shop notices";
    grid-template-rows:350px 350px 350px;
  }
  body[data-module="home"] .home-hero-v7{grid-area:hero;min-height:0;height:350px;padding:28px 30px;background-size:auto,72% 100%;background-position:left top,right center}
  body[data-module="home"] .home-hero-v7 .hero-copy{width:62%;min-width:0}
  body[data-module="home"] .home-hero-v7 h1{font-size:clamp(1.65rem,2.15vw,2.35rem);line-height:1.5;letter-spacing:.08em;white-space:normal}
  body[data-module="home"] .home-hero-v7 .hero-copy>p:not(.fine){font-size:.67rem;line-height:1.7}
  body[data-module="home"] .home-hero-v7 .hero-location-actions{gap:7px;max-width:100%;flex-wrap:wrap;margin-top:14px}
  body[data-module="home"] .home-hero-v7 .location-chip{min-width:175px;max-width:220px}
  body[data-module="home"] .home-hero-v7 .hero-change{min-width:112px;margin-top:0;padding-inline:13px}
  body[data-module="home"] .home-hero-v7 .fine{font-size:.48rem;margin-top:7px}

  body[data-module="home"] .weather-panel-v3{grid-area:weather;height:350px;min-height:0}
  body[data-module="home"] .go-panel-v3{grid-area:go;height:350px;min-height:0}
  body[data-module="home"] .ranking-panel-v3{grid-area:ranking;height:350px;min-height:0}
  body[data-module="home"] .event-panel-v3{grid-area:event;height:350px;min-height:0}
  body[data-module="home"] .shop-panel-v3{grid-area:shop;height:350px;min-height:0}
  body[data-module="home"] .column-pick-panel-v7{grid-area:column;min-height:0;height:712px}
  body[data-module="home"] .home-notices-v7{grid-area:notices;height:350px;min-height:0}

  body[data-module="home"] .weather-main-v3 strong{font-size:1.72rem}
  body[data-module="home"] .weather-icon-v3{font-size:2.2rem}
  body[data-module="home"] .forecast-row-v3>div{min-height:70px}
  body[data-module="home"] .ranking-visual-grid{gap:6px}
  body[data-module="home"] .ranking-panel-v3 .placeholder-tile{height:118px}
  body[data-module="home"] .shop-visual-item .placeholder-tile{height:138px}
  body[data-module="home"] .event-image-v3.placeholder-tile{height:145px}
  body[data-module="home"] .place-visual-card .placeholder-tile{height:132px}
}

@media (min-width:761px) and (max-width:1120px){
  body[data-module="home"] .home-layout-v7{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "hero weather"
      "go ranking"
      "event shop"
      "column column"
      "notices notices";
  }
  body[data-module="home"] .home-hero-v7{grid-area:hero;min-height:250px;padding:26px}
  body[data-module="home"] .home-hero-v7 .hero-copy{width:65%;min-width:0}
  body[data-module="home"] .weather-panel-v3{grid-area:weather}
  body[data-module="home"] .go-panel-v3{grid-area:go}
  body[data-module="home"] .ranking-panel-v3{grid-area:ranking}
  body[data-module="home"] .event-panel-v3{grid-area:event}
  body[data-module="home"] .shop-panel-v3{grid-area:shop}
  body[data-module="home"] .column-pick-panel-v7{grid-area:column;min-height:350px}
  body[data-module="home"] .home-notices-v7{grid-area:notices;min-height:220px}
}

@media (max-width:760px){
  /* MOBILE HOLD: keep the existing one-column behavior; only the Home community
     card is removed by product decision. */
  body[data-module="home"] .home-layout-v7{display:block}
  body[data-module="home"] .home-layout-v7>*{margin-bottom:10px}
  body[data-module="home"] .home-hero-v7 .hero-copy{min-width:0}
  body[data-module="home"] .column-pick-panel-v7{min-height:0}
  body[data-module="home"] .column-pick-panel-v7:after{display:none}
}

@media (min-width:1121px){
  body[data-module="home"] main.page{padding-bottom:88px}
  body[data-module="home"] .home-column-item-v7{padding-top:17px;padding-bottom:17px}
  body[data-module="home"] .home-notices-v7:after{height:110px}
}


/* --------------------------------------------------------------------------
   RaiFam Public UI v11 — Home HERO asset replacement / Column card cleanup
   2026-09-08
   - Desktop Home uses the newly approved RaiFam HERO artwork as a complete
     visual. Existing HTML headline copy is suppressed there to prevent
     duplicate text baked into the approved image.
   - Region controls remain functional below the artwork.
   - Mobile <=760px layout remains HOLD and retains its prior HERO treatment.
   - Recommended Column no longer injects a decorative image at card bottom.
   -------------------------------------------------------------------------- */
body[data-module="home"] .column-pick-panel-v7:after{
  display:none!important;
  content:none!important;
  background-image:none!important;
}
@media (min-width:761px){
  body[data-module="home"] .home-hero-v7{
    position:relative;
    overflow:hidden;
    padding:0 18px 14px;
    background:
      url('/assets/visual/home-hero-v11.webp') center top/100% auto no-repeat,
      linear-gradient(180deg,#fffdf8 0%,#f3f6ed 100%);
  }
  body[data-module="home"] .home-hero-v7 .hero-copy{
    position:absolute;
    left:18px;
    right:18px;
    bottom:14px;
    width:auto;
    min-width:0;
    z-index:2;
  }
  body[data-module="home"] .home-hero-v7 .hero-copy>h1,
  body[data-module="home"] .home-hero-v7 .hero-copy>p:not(.fine){display:none!important}
  body[data-module="home"] .home-hero-v7 .hero-location-actions{
    margin:0;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    padding:7px;
    width:max-content;
    max-width:100%;
    border-radius:999px;
    background:rgba(255,253,248,.90);
    box-shadow:0 3px 12px rgba(37,59,40,.08);
    backdrop-filter:blur(3px);
  }
  body[data-module="home"] .home-hero-v7 .location-chip{
    min-width:170px;
    max-width:220px;
    height:40px;
    background:rgba(255,255,255,.96);
  }
  body[data-module="home"] .home-hero-v7 .hero-change{
    height:40px;
    min-width:104px;
  }
  body[data-module="home"] .home-hero-v7 .fine{display:none!important}
}

/* HOME UI V0.1: shared PC/Mobile Hero and accessible horizontal card rails. */
body[data-module="home"] .home-carousel{min-width:0;position:relative}
body[data-module="home"] .home-carousel-track{display:flex!important;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;padding:2px 2px 8px;overscroll-behavior-inline:contain}
body[data-module="home"] .home-carousel-track>article{flex:0 0 calc((100% - 24px)/3);scroll-snap-align:start;border:1px solid #ece8df;border-radius:12px;padding:10px;background:#fff;min-width:0}
body[data-module="home"] .home-column-image-v04{display:block;margin:-10px -10px 8px}
body[data-module="home"] .home-column-image-v04 img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:11px 11px 0 0;background:#f1eadc}
body[data-module="home"] .home-column-author-v04{display:block;margin-top:7px;color:#68716a;font-size:.52rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-module="home"] .home-shop-description-v04{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:5px 0;font-size:.5rem;line-height:1.45;color:#68716a}
body[data-module="home"] .home-carousel-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:5px}
body[data-module="home"] .home-carousel-controls button{width:34px;height:34px;border:1px solid #cfd9ce;border-radius:50%;background:#fff;color:#355b33;font-size:1.25rem;line-height:1;cursor:pointer}
body[data-module="home"] .home-carousel-controls button:focus-visible{outline:3px solid #df8758;outline-offset:2px}
body[data-module="home"] .home-carousel-controls span{min-width:48px;text-align:center;font-size:.54rem;color:#68716a}
body[data-module="home"] .home-carousel-controls[hidden]{display:none!important}

@media (max-width:760px){
  body[data-module="home"] .home-hero-v7{min-height:0;height:auto;padding:56.25% 16px 14px;background:url('/assets/visual/home-hero-v11.webp') center top/100% auto no-repeat,#f5f1e5}
  body[data-module="home"] .home-hero-v7 .hero-copy{position:static;width:auto}
  body[data-module="home"] .home-hero-v7 .hero-copy>h1,
  body[data-module="home"] .home-hero-v7 .hero-copy>p:not(.fine){display:none!important}
  body[data-module="home"] .home-hero-v7 .hero-location-actions{margin:0;padding:7px;border-radius:16px;background:rgba(255,253,248,.92);box-shadow:0 3px 12px rgba(37,59,40,.08)}
  body[data-module="home"] .home-hero-v7 .fine{display:none!important}
  body[data-module="home"] .home-carousel-track>article{flex-basis:calc((100% - 10px)/2)}
  body[data-module="home"] .column-pick-panel-v7,body[data-module="home"] .shop-panel-v3{overflow:hidden}
}

@media (prefers-reduced-motion:reduce){body[data-module="home"] .home-carousel-track{scroll-behavior:auto}}

/* --------------------------------------------------------------------------
   RaiFam Public UI v13 — Rakuten LIVE on-demand commerce
   Vendor product payloads are rendered directly from the request-scoped API
   response. No product image/name/price payload is written to shared storage.
   -------------------------------------------------------------------------- */
body[data-module="home"] .shop-live-grid-v13{align-items:start}
body[data-module="home"] .shop-live-item-v13{min-width:0}
body[data-module="home"] .shop-live-item-v13>a{display:block;color:inherit;text-decoration:none;min-width:0}
body[data-module="home"] .shop-live-item-v13 img,
body[data-module="home"] .shop-live-item-v13 .placeholder-tile{display:block;width:100%;height:138px;object-fit:contain;border-radius:10px;background:#f7f3ea}
body[data-module="home"] .shop-live-item-v13 strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:7px;font-size:.56rem;line-height:1.4;color:#24352b}
body[data-module="home"] .shop-live-item-v13 small{font-size:.52rem;color:#c25e33;font-weight:700}
body[data-module="home"] .home-rakuten-credit{margin:5px 0 0;font-size:.48rem}

.shop-search-v13{margin-bottom:14px;padding:15px 18px}
.shop-search-v13>div{display:flex;gap:8px;align-items:center}
.shop-search-v13 input{flex:1;min-width:0}
.shop-search-v13 .button{margin-top:0}
body[data-module="shop"] .shop-result-v13{display:flex;flex-direction:column;min-height:360px}
body[data-module="shop"] .shop-result-image-v13{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:180px;height:auto;flex:none;margin:-4px -4px 12px;border-radius:12px;background:#f7f3ea;overflow:hidden}
body[data-module="shop"] .shop-result-image-v13 img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:210px!important;object-fit:contain!important;opacity:1!important;visibility:visible!important}
body[data-module="shop"] .shop-result-v13 h2{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}
body[data-module="shop"] .shop-price-v13{font-size:1.15rem;font-weight:800;color:#cf6337;margin:7px 0}
body[data-module="shop"] .shop-result-v13 .result-actions{margin-top:auto;flex-wrap:wrap;align-items:center}
body[data-module="shop"] .sponsored-link-v13{color:#b8532f}
body[data-module="product"] .detail>.product-image{background:#f7f3ea;object-fit:contain}

@media (max-width:760px){
  body[data-module="home"] .shop-live-item-v13 img,
  body[data-module="home"] .shop-live-item-v13 .placeholder-tile{height:92px}
  .shop-search-v13>div{align-items:stretch;flex-direction:column}
  .shop-search-v13 .button{width:100%}
  body[data-module="shop"] .shop-result-image-v13{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:0;height:180px;margin:0 0 12px;overflow:hidden}
  body[data-module="shop"] .shop-result-image-v13 img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
}

/* V14 WeatherAPI.com on-demand weather */
.weather-live-v14 .weather-location{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:baseline}.weather-live-v14 .weather-location span{font-size:.78rem;color:var(--muted,#6f746f)}
.weather-credit-v14{margin:.55rem 0 0;font-size:.76rem;color:var(--muted,#6f746f)}.weather-credit-v14 a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.weather-disclaimer-v14{margin:.45rem 0 0;padding:.55rem .65rem;border-radius:10px;background:rgba(54,88,70,.055);font-size:.72rem;line-height:1.55;color:var(--muted,#5f665f)}
.weather-summary-v14{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}.weather-summary-v14 h2{margin:.15rem 0 .35rem}.weather-current-temp-v14{font-size:2rem;font-weight:800;line-height:1.15;margin:.2rem 0}.weather-current-temp-v14 small{font-size:.85rem;font-weight:600;color:var(--muted,#6f746f);margin-left:.35rem}.weather-summary-v14 .weather-credit-v14{white-space:nowrap}
.weather-disclaimer-box-v14{margin:1rem 0;padding:.85rem 1rem;border:1px solid rgba(54,88,70,.18);border-radius:14px;background:rgba(54,88,70,.045);font-size:.86rem;line-height:1.7}.weather-disclaimer-box-v14 strong{display:block;margin-bottom:.25rem}.weather-disclaimer-box-v14 p{margin:0}
@media (max-width:760px){.weather-summary-v14{display:block}.weather-summary-v14 .weather-credit-v14{white-space:normal}.weather-current-temp-v14{font-size:1.7rem}}

/* v20 — HOME live-data cards + weather condition clarity (2026-09-08) */
body[data-module="home"] .home-data-card-v20 a{display:block;color:inherit;text-decoration:none;min-width:0}
body[data-module="home"] .home-data-card-v20 a:hover strong{text-decoration:underline;text-underline-offset:2px}
body[data-module="home"] .home-entity-tile-v20{display:grid;place-items:center;height:88px;border-radius:11px;border:1px solid #e3e7de;background:linear-gradient(145deg,#f6f7f1,#eef3eb);font-size:2rem;color:#4d714b;overflow:hidden}
body[data-module="home"] .ranking-panel-v3 .home-entity-tile-v20{height:118px;font-size:2rem;background:linear-gradient(145deg,#fff9ea,#f4f0e4);color:#b78315}
body[data-module="home"] .event-image-v3.home-entity-tile-v20{height:145px;background:linear-gradient(145deg,#fff8ef,#f7f1e8);color:#d47840;font-size:2rem}
body[data-module="home"] .home-data-card-v20 small{display:block;margin-top:3px;color:#727a73;font-size:.46rem;line-height:1.45;overflow:hidden;text-overflow:ellipsis}
body[data-module="home"] .ranking-panel-v3 .home-data-card-v20 small{font-size:.48rem;color:#6c746d}
body[data-module="home"] .home-module-empty-v20{min-height:150px;border:1px dashed #d8d8cf;border-radius:12px;background:linear-gradient(145deg,#fbfaf6,#f4f6f0);display:grid;place-content:center;text-align:center;padding:18px;color:#657067}
body[data-module="home"] .home-module-empty-v20 strong{color:#34453a;font-size:.7rem}
body[data-module="home"] .home-module-empty-v20 p{margin:7px 0 0;font-size:.55rem;line-height:1.6}
body[data-module="home"] .weather-panel-v3 .panel-title>span:first-child{font-size:1.15rem;line-height:1}

@media (max-width:1120px){
  body[data-module="home"] .home-entity-tile-v20{height:88px}
  body[data-module="home"] .ranking-panel-v3 .home-entity-tile-v20{height:94px}
  body[data-module="home"] .event-image-v3.home-entity-tile-v20{height:94px}
}

/* R13 mobile HOME: compact information-first layout; desktop remains on the existing grid. */
.mobile-location-link,.mobile-menu-link,.mobile-home-actions,.mobile-home-forecast,.mobile-home-genres,.mobile-home-title,.mobile-header-logo,.mobile-notice-link,.mobile-notice-menu{display:none}
@media (max-width:760px){
  body[data-module="home"]{overflow-x:hidden}
  body:not([class*="admin-module-"])[data-module] .site-header{display:grid;grid-template-columns:minmax(82px,1fr) minmax(108px,1.15fr) minmax(124px,1.35fr);gap:5px;align-items:center;padding:7px 8px}
  body:not([class*="admin-module-"])[data-module] .mobile-location-link{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;border:1px solid #aeb7b0;border-radius:10px;color:#26372d;text-decoration:none;font-size:.7rem;font-weight:700;white-space:nowrap}
  body:not([class*="admin-module-"])[data-module] .site-header>.brand{display:flex;justify-self:center;min-width:0;padding:0}
  body:not([class*="admin-module-"])[data-module] .site-header>.brand .desktop-brand-icon,body:not([class*="admin-module-"])[data-module] .site-header>.brand .desktop-brand-copy{display:none}
  body:not([class*="admin-module-"])[data-module] .site-header>.brand .mobile-header-logo{display:block;width:min(112px,100%);height:45px;object-fit:contain}
  body:not([class*="admin-module-"])[data-module] .header-utilities{justify-self:end;display:grid;grid-template-columns:repeat(3,minmax(36px,1fr));gap:2px;margin:0;min-width:0}
  body:not([class*="admin-module-"])[data-module] .header-utilities>a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:36px;min-height:45px;padding:0;font-size:.46rem;line-height:1;color:#17241c;text-decoration:none}
  body:not([class*="admin-module-"])[data-module] .header-utilities>a:first-child{display:none}
  body:not([class*="admin-module-"])[data-module] .header-utilities>a span{font-size:1.18rem;margin:0 0 4px}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-menu{display:block;position:relative;min-width:36px}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-menu summary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:45px;font-size:.46rem;line-height:1;cursor:pointer;list-style:none}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-menu summary::-webkit-details-marker{display:none}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-menu summary span{font-size:1.18rem;margin:0 0 4px}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-menu summary small{font-size:inherit}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-popover{position:fixed;top:64px;left:8px;right:8px;z-index:120;max-height:60vh;overflow:auto;padding:13px;border:1px solid #d9e1d8;border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(22,36,28,.2);font-size:.68rem;line-height:1.5;text-align:left}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-popover>strong{display:block;margin-bottom:6px;font-size:.82rem}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-popover article{padding:8px 0;border-top:1px solid #edf0eb}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-popover time,body:not([class*="admin-module-"])[data-module] .mobile-notice-popover b{display:block}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-popover p{margin:3px 0 0}
  body:not([class*="admin-module-"])[data-module] .mobile-menu-link{display:flex!important}
  body[data-module="home"] .home-layout-v7{display:flex;flex-direction:column;gap:9px}
  body[data-module="home"] .home-layout-v7>*{margin:0}
  body[data-module="home"] .home-hero-v7,body[data-module="home"] .home-notices-v7{display:none!important}
  body[data-module="home"] .home-notices-v7:target{display:block!important;order:0;padding:10px 12px}
  body[data-module="home"] .weather-panel-v3{order:1;min-height:0;padding:11px 13px;border-color:#b8d7f0;background:linear-gradient(105deg,#f3faff,#fff)}
  body[data-module="home"] .weather-panel-v3 .panel-title{margin:0;padding:0;border:0;min-height:0}
  body[data-module="home"] .weather-panel-v3 .panel-title h2{font-size:.77rem;color:#245384}
  body[data-module="home"] .weather-panel-v3 .panel-title a{font-size:.58rem}
  body[data-module="home"] .weather-state-v3{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 0 0}
  body[data-module="home"] .weather-location{grid-column:1;margin:0;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body[data-module="home"] .weather-location span{display:none}
  body[data-module="home"] .weather-main-v3{grid-column:2;grid-row:1/3;gap:5px}
  body[data-module="home"] .weather-icon-v3{font-size:1.8rem}
  body[data-module="home"] .weather-main-v3 strong{font-size:1.55rem}
  body[data-module="home"] .weather-main-v3>span:last-child{display:none}
  body[data-module="home"] .rain-v3{grid-column:1;margin:2px 0 0;font-size:.65rem}
  body[data-module="home"] .forecast-row-v3,body[data-module="home"] .weather-credit-v14,body[data-module="home"] .weather-disclaimer-v14,body[data-module="home"] .weather-safety-v3{display:none}
  body[data-module="home"] .mobile-home-genres{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body[data-module="home"] .mobile-genre-card{min-width:0;overflow:hidden;border:1px solid #d9e1d8;border-radius:11px;background:#fff}
  body[data-module="home"] .mobile-genre-card h2{margin:0;font-size:.92rem}
  body[data-module="home"] .mobile-genre-card h2>a{display:flex;align-items:center;gap:7px;min-height:43px;padding:8px 10px;color:#287541;text-decoration:none;background:#edf7ed}
  body[data-module="home"] .mobile-genre-card h2>a>span:last-child{margin-left:auto;font-size:1.2rem}
  body[data-module="home"] .genre-event h2>a{color:#d23c68;background:#fff0f5}
  body[data-module="home"] .genre-column h2>a{color:#146997;background:#edf8ff}
  body[data-module="home"] .genre-shop h2>a{color:#d85d0a;background:#fff5ea}
  body[data-module="home"] .mobile-genre-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-module="home"] .mobile-genre-items>a{min-width:0;color:#202b23;text-decoration:none;padding:7px;border-top:1px solid #edf0eb}
  body[data-module="home"] .mobile-genre-items .genre-main{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:9px;min-height:98px}
  body[data-module="home"] .mobile-genre-items .genre-sub{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:5px;min-height:60px}
  body[data-module="home"] .mobile-genre-items .genre-sub+ .genre-sub{border-left:1px solid #edf0eb}
  body[data-module="home"] .genre-image{display:block;width:100%;height:76px;aspect-ratio:16/9;border-radius:7px;background:#eef2ed;object-fit:contain;overflow:hidden}
  body[data-module="home"] .genre-column .genre-image{object-fit:cover}
  body[data-module="home"] .genre-sub .genre-image{width:40px;height:40px;aspect-ratio:1}
  body[data-module="home"] .genre-icon{display:grid;place-items:center;font-size:1.5rem;color:#4f8152;background:linear-gradient(145deg,#e8f4ef,#eef3e8)}
  body[data-module="home"] .mobile-genre-items strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.64rem;line-height:1.45;overflow-wrap:anywhere}
  body[data-module="home"] .genre-sub strong{-webkit-line-clamp:2;font-size:.56rem}
  body[data-module="home"] .genre-empty{grid-column:1/-1;display:grid;place-items:center;min-height:158px;margin:0;padding:12px;text-align:center;color:#667168;font-size:.58rem;line-height:1.6}
  body[data-module="home"] .genre-column,body[data-module="home"] .genre-shop{grid-column:1/-1}
  body[data-module="home"] .genre-column .mobile-genre-items,body[data-module="home"] .genre-shop .mobile-genre-items{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-module="home"] .genre-column.has-plan-c-priority .mobile-genre-items{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}
  body[data-module="home"] .genre-column .mobile-genre-items>a,body[data-module="home"] .genre-shop .mobile-genre-items>a{grid-column:auto;display:block;min-height:0;padding:7px;text-align:center}
  body[data-module="home"] .genre-column .mobile-genre-items>a+ a,body[data-module="home"] .genre-shop .mobile-genre-items>a+ a{border-left:1px solid #edf0eb}
  body[data-module="home"] .genre-column .genre-image,body[data-module="home"] .genre-shop .genre-image{width:100%;height:64px;aspect-ratio:16/9;margin-bottom:5px;object-fit:contain}
  body[data-module="home"] .genre-column .mobile-genre-items strong,body[data-module="home"] .genre-shop .mobile-genre-items strong{-webkit-line-clamp:2;font-size:.56rem;line-height:1.35}
  body[data-module="home"] .column-pick-panel-v7,body[data-module="home"] .shop-panel-v3,body[data-module="home"] .event-panel-v3,body[data-module="home"] .go-panel-v3{display:none!important}
  body[data-module="home"] .ranking-panel-v3{order:3}
  body[data-module="home"] .mobile-home-title{display:inline}
  body[data-module="home"] .desktop-home-title{display:none}
  body[data-module="home"] .ranking-visual-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  body[data-module="home"] .ranking-panel-v3 .home-entity-tile-v20{height:52px;font-size:1.25rem}
  body[data-module="home"] .ranking-panel-v3 .home-data-card-v20{min-width:0;padding:3px}
  body[data-module="home"] .ranking-panel-v3 .home-data-card-v20 strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.5rem;line-height:1.35}
  body[data-module="home"] .event-visual-grid,body[data-module="home"] .place-visual-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  body[data-module="home"] .event-image-v3.home-entity-tile-v20,body[data-module="home"] .home-entity-tile-v20{height:58px;font-size:1.25rem}
  body[data-module="home"] .home-data-card-v20{min-width:0;padding:5px}
  body[data-module="home"] .home-data-card-v20 strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.56rem;line-height:1.4}
  body[data-module="home"] .event-date{font-size:.55rem}
  body[data-module="home"] .category-chips-v3{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
}
@media (max-width:360px){
  body:not([class*="admin-module-"])[data-module] .site-header{grid-template-columns:minmax(74px,1fr) minmax(94px,1.05fr) minmax(112px,1.3fr);padding-inline:5px}
  body:not([class*="admin-module-"])[data-module] .mobile-location-link{font-size:.61rem}
  body:not([class*="admin-module-"])[data-module] .site-header>.brand .mobile-header-logo{width:96px;height:42px}
  body:not([class*="admin-module-"])[data-module] .header-utilities{grid-template-columns:repeat(3,minmax(34px,1fr))}
  body[data-module="home"] .mobile-home-genres{gap:6px}
  body[data-module="home"] .mobile-genre-card h2>a{padding-inline:7px;font-size:.82rem}
  body[data-module="home"] .mobile-genre-items .genre-main{grid-template-columns:1fr;gap:5px}
}

/* R14 Column image sizing is separated by display purpose. */
.column-detail-eyecatch{background:#f4f1e8}
.column-detail-eyecatch img{display:block;width:100%;height:auto;max-height:70vh;aspect-ratio:auto;object-fit:contain;background:#f4f1e8}
@media (min-width:761px){
  body[data-module="home"] .column-pick-panel-v7 .home-carousel-track{display:grid!important;grid-template-columns:1fr;gap:9px!important;overflow:visible;padding:0;scroll-snap-type:none}
  body[data-module="home"] .column-pick-panel-v7 .home-carousel-track>article{display:grid;grid-template-columns:minmax(104px,40%) minmax(0,60%);align-items:stretch;gap:0;min-height:108px;width:100%;padding:0;overflow:hidden;flex:none}
  body[data-module="home"] .column-card-image--desktop{display:block;margin:0;min-width:0;height:100%;background:#f4f1e8}
  body[data-module="home"] .column-card-image--desktop img{width:100%;height:100%;min-height:108px;aspect-ratio:16/10;object-fit:contain;border-radius:11px 0 0 11px;background:#f4f1e8}
  body[data-module="home"] .home-column-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:9px 10px}
  body[data-module="home"] .home-column-copy h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:4px 0;font-size:.66rem;line-height:1.4}
  body[data-module="home"] .home-column-copy>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.49rem;line-height:1.45}
  body[data-module="home"] .home-column-copy .home-column-author-v04{margin-top:auto}
  body[data-module="home"] .column-pick-panel-v7 .home-carousel-controls{display:none!important}
}
@media (max-width:760px){
  body[data-module="home"] .genre-column .column-card-image--mobile-home-main{width:100%;height:auto;max-height:82px;aspect-ratio:16/10;object-fit:contain;background:#f4f1e8}
  body[data-module="home"] .genre-column .column-card-image--mobile-home-sub{width:40px;height:40px;aspect-ratio:1;object-fit:contain;background:#f4f1e8}
  body[data-module="columns"] .column-card-image--listing{background:#f4f1e8}
  body[data-module="columns"] .column-card-image--listing img{width:100%;height:auto;max-height:48vh;aspect-ratio:auto;object-fit:contain;background:#f4f1e8}
  body[data-module="column"] .column-detail-eyecatch{margin-bottom:12px;background:#f4f1e8}
  body[data-module="column"] .column-detail-eyecatch img{width:100%;height:auto;max-height:58vh;aspect-ratio:auto;object-fit:contain;background:#f4f1e8}
}
/* Admin content operations retain the regular RaiFam shell and official logo. */
body[class*="admin-module-"] .site-header>.admin-official-brand{display:flex;flex:0 0 190px;min-width:190px;padding:0}
body[class*="admin-module-"] .site-header>.admin-official-brand:after{display:none}
body[class*="admin-module-"] .site-header>.admin-official-brand>img{display:block;width:190px;height:auto;max-height:64px;object-fit:contain}
body[class*="admin-module-"] .public-shell{display:block}
body[class*="admin-module-"] .public-content{width:100%;min-width:0}
body[class*="admin-module-"] .site-header{justify-content:flex-start}
body[class*="admin-module-"] .site-header>.main-nav{display:flex;flex:1}
body[class*="admin-module-"] .site-header>.header-utilities{margin-left:auto}
@media(max-width:760px){
  body[class*="admin-module-"] .site-header{justify-content:space-between}
  body[class*="admin-module-"] .site-header>.admin-official-brand{display:flex!important;flex-basis:132px;min-width:132px}
  body[class*="admin-module-"] .site-header>.admin-official-brand>img{display:block!important;width:132px;height:auto;max-height:50px}
  body[class*="admin-module-"] .site-header>.main-nav{display:none}
  body[class*="admin-module-"] .mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
  body[class*="admin-module-"] .mobile-nav a{font-size:.49rem;min-width:0;overflow-wrap:anywhere}
}
@media(min-width:1180px){
  body:not([class*="admin-module-"]) .sidebar-brand-official{padding:0 10px 22px;border-bottom:1px solid #eee9df}
  body:not([class*="admin-module-"]) .sidebar-brand-official:after{display:none}
  body:not([class*="admin-module-"]) .sidebar-brand-official img{display:block;width:100%;height:auto;max-height:92px;object-fit:contain}
}

/* GO / EVENT placeholders use individually cropped illustration-only assets. */
.entity-placeholder{display:block;width:100%;object-fit:contain;box-sizing:border-box;padding:8px;background:#f3f6f4}
.entity-real-image{display:block;width:100%;object-fit:contain;background:#f3f6f4}
.go-entity-image,.result-entity-image{width:100%;border-radius:12px;margin-bottom:12px}
.go-list .go-entity-image,.results-grid .result-entity-image{height:76px}
.go-detail>.go-entity-image{max-width:360px;height:180px;margin-left:auto;margin-right:auto}
.home-entity-tile-v20.entity-placeholder,.home-entity-tile-v20.entity-real-image{width:100%}
@media(max-width:760px){.go-list .go-entity-image,.results-grid .result-entity-image{height:64px}.entity-placeholder{padding:6px}}

/* TOP5 is text-only in V0; preserve ranking order and remove the old image space. */
body[data-module="home"] .ranking-panel-v3{height:auto!important;min-height:0!important}
body[data-module="home"] .ranking-panel-v3 .ranking-visual-grid{align-items:stretch}
body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0{display:flex;min-height:74px;padding:12px 8px;align-items:center;justify-content:center;text-align:center}
body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;color:inherit;text-decoration:none}
body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0 strong{margin:0;font-size:.67rem;line-height:1.45}
@media(max-width:760px){body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0{min-height:58px;padding:7px 4px}body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0>a{min-height:42px}body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0 strong{font-size:.52rem}}

/* Mobile/PWA HOME compact order. Uses only existing application data and assets. */
@media(max-width:760px){
  body[data-module="home"] .ranking-panel-v3{order:1;padding:11px 10px;overflow:hidden}
  body[data-module="home"] .ranking-panel-v3 .panel-title{margin-bottom:8px}
  body[data-module="home"] .ranking-panel-v3 .ranking-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible;padding:1px}
  body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0{min-width:0;min-height:70px;border-radius:12px}
  body[data-module="home"] .ranking-panel-v3 .module-state-line{display:none}
  body[data-module="home"] .weather-panel-v3{display:none!important}
  body[data-module="home"] .mobile-home-actions{order:2;display:grid;grid-template-columns:minmax(0,40fr) minmax(0,30fr) minmax(0,30fr);gap:7px}
  body[data-module="home"] .mobile-home-actions>a{min-width:0;min-height:92px;border:1px solid #dfe5dc;border-radius:13px;text-decoration:none;box-shadow:0 3px 12px rgba(41,55,44,.06)}
  body[data-module="home"] .mobile-weather-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:9px;color:#25384a;background:linear-gradient(135deg,#f3faff,#fff)}
  body[data-module="home"] .mobile-weather-card>span:first-child{font-size:1.9rem}
  body[data-module="home"] .mobile-weather-card>span:last-child{display:flex;min-width:0;flex-direction:column}
  body[data-module="home"] .mobile-weather-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.5rem;line-height:1.45}
  body[data-module="home"] .mobile-weather-card strong{font-size:1.08rem;line-height:1.25}
  body[data-module="home"] .mobile-action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px;color:#fff}
  body[data-module="home"] .mobile-action-card>span{font-size:1.35rem;line-height:1}
  body[data-module="home"] .mobile-action-card strong{margin-top:5px;font-size:.78rem}
  body[data-module="home"] .mobile-action-card small{font-size:.48rem}
  body[data-module="home"] .action-go{background:#78a36c}
  body[data-module="home"] .action-event{background:#df8378}
  body[data-module="home"] .mobile-home-forecast{order:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  body[data-module="home"] .mobile-home-forecast>a{display:flex;min-width:0;min-height:112px;flex-direction:column;align-items:center;justify-content:center;padding:7px 4px;border:1px solid #d9e5ec;border-radius:11px;background:#f8fcff;color:#263b49;text-align:center;text-decoration:none}
  body[data-module="home"] .mobile-home-forecast small{font-size:.55rem}body[data-module="home"] .mobile-home-forecast span{font-size:1.25rem}body[data-module="home"] .mobile-home-forecast b{max-width:100%;font-size:.58rem;line-height:1.3;overflow-wrap:anywhere}body[data-module="home"] .mobile-home-forecast em{margin-top:3px;font-size:.48rem;font-style:normal;color:#66747a}body[data-module="home"] .mobile-home-forecast strong{margin-top:3px;font-size:.49rem;white-space:nowrap}
  body[data-module="home"] .mobile-home-genres{order:3;display:block}
  body[data-module="home"] .mobile-home-genres>.mobile-genre-card+ .mobile-genre-card{margin-top:9px}
  body[data-module="home"] .genre-column .mobile-genre-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-module="home"] .genre-column .mobile-genre-items>a{display:block;min-height:0;padding:7px;text-align:left}
  body[data-module="home"] .genre-column .mobile-genre-items>a:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:10px;text-align:left}
  body[data-module="home"] .genre-column .mobile-genre-items>a:nth-child(n+2){border-left:1px solid #edf0eb}
  body[data-module="home"] .genre-column .genre-main .genre-image{width:100%;height:auto;max-height:128px;aspect-ratio:16/9;object-fit:contain}
  body[data-module="home"] .genre-column .genre-sub .genre-image{width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin-bottom:5px}
  body[data-module="home"] .genre-shop .mobile-genre-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-module="home"] .genre-shop .mobile-genre-items>a{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:8px;min-height:94px;padding:8px;text-align:left;border-top:1px solid #edf0eb}
  body[data-module="home"] .genre-shop .mobile-genre-items>a:nth-child(even){border-left:1px solid #edf0eb}
  body[data-module="home"] .genre-shop .genre-image{width:74px;height:74px;aspect-ratio:1;margin:0;object-fit:contain}
  body[data-module="home"] .genre-shop .mobile-genre-items small{display:block;margin-top:3px;font-size:.55rem;color:#75562f}
  body[data-module="home"] .mobile-nav{padding-bottom:env(safe-area-inset-bottom)}
  body[data-module="home"] .page{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){body[data-module="home"] .mobile-home-actions{gap:5px}body[data-module="home"] .mobile-home-actions>a{min-height:84px}body[data-module="home"] .mobile-weather-card{grid-template-columns:1fr;text-align:center}body[data-module="home"] .mobile-weather-card>span:first-child{display:none}body[data-module="home"] .genre-shop .mobile-genre-items>a{grid-template-columns:58px minmax(0,1fr)}body[data-module="home"] .genre-shop .genre-image{width:58px;height:58px}}

/* Mobile WEB and standalone PWA share the HOME shell on every major list page. */
.trend-rank-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;margin:10px 0;font-size:.78rem}.trend-rank-meta dt{font-weight:700;color:#75562f}.trend-rank-meta dd{margin:0;overflow-wrap:anywhere}
@media(max-width:760px){
  body:not([data-module="home"]) .page{max-width:100%;padding:10px 10px calc(78px + env(safe-area-inset-bottom));overflow-x:clip}
  body:not([data-module="home"]) .page-heading{min-height:0;margin:0 0 8px;padding:7px 12px 8px;border-radius:12px;background-image:none!important;box-shadow:0 2px 8px rgba(40,61,42,.04)}
  body:not([data-module="home"]) .page-heading .heading-art{display:none}
  body:not([data-module="home"]) .page-heading .breadcrumb{font-size:.55rem;line-height:1.2}
  body:not([data-module="home"]) .page-heading h1{margin:1px 0 2px;font-size:1.12rem;line-height:1.25}
  body:not([data-module="home"]) .page-heading p{margin:1px 0;font-size:.64rem;line-height:1.35}
  body:not([data-module="home"]) .results-grid{grid-template-columns:1fr;gap:9px}
  body:not([data-module="home"]) .result-card{min-width:0;padding:12px;border-radius:14px}
  body:not([data-module="home"]) .mobile-nav{padding-bottom:env(safe-area-inset-bottom)}
  body:not([data-module="home"]) img,body:not([data-module="home"]) input,body:not([data-module="home"]) select{max-width:100%}
}

/* Visual V1: approved fixed page visuals; data cards and business logic stay unchanged. */
.visual-v1-home-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
body[data-module="home"] .home-hero-v7{position:relative;overflow:hidden;background:#f5f1e5}
body[data-module="home"] .home-hero-v7:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,247,.97),rgba(255,253,247,.76) 43%,rgba(255,255,255,.08) 72%);z-index:1;pointer-events:none}
body[data-module="home"] .home-hero-v7 .hero-copy{position:relative;z-index:2}
.visual-v1-pwa-guide{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:24px;align-items:center;margin:14px 0;padding:18px;overflow:hidden}
.visual-v1-pwa-guide>img{display:block;width:100%;height:180px;object-fit:cover;object-position:center 18%;border-radius:14px}
.visual-v1-pwa-guide h2{margin:4px 0 7px}.visual-v1-pwa-guide p:last-child{margin:0}
.page-heading.visual-v1-list-heading{display:block;min-height:0!important;height:auto!important;overflow:hidden;padding:0!important;background:#fff!important}
.page-heading.visual-v1-list-heading:before{display:none!important;content:none!important}
.visual-v1-list-image{display:block;width:100%;height:auto;min-height:0;aspect-ratio:1440/598;object-fit:contain}

@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .home-hero-v7{display:block!important;order:0;min-height:154px!important;height:154px;padding:17px 15px!important;border-radius:13px}
  body[data-module="home"] .home-hero-v7:after{background:linear-gradient(90deg,rgba(255,253,247,.94),rgba(255,253,247,.7) 53%,rgba(255,255,255,.1))}
  body[data-module="home"] .home-hero-v7 .hero-copy{width:61%;min-width:0}
  body[data-module="home"] .home-hero-v7 h1{margin:0!important;font-size:1.08rem!important;line-height:1.45;letter-spacing:.04em;white-space:normal}
  body[data-module="home"] .home-hero-v7 .hero-copy>p,body[data-module="home"] .home-hero-v7 .hero-location-actions{display:none!important}
  .visual-v1-pwa-guide{grid-template-columns:92px minmax(0,1fr);gap:12px;margin:9px 0;padding:10px;order:20}
  .visual-v1-pwa-guide>img{height:108px;border-radius:10px}
  .visual-v1-pwa-guide h2{font-size:.83rem;line-height:1.35}.visual-v1-pwa-guide p{font-size:.58rem;line-height:1.5}
  body[data-module]:not([data-module="home"]) .page-heading.visual-v1-list-heading{display:block!important;min-height:0!important;height:auto!important;padding:0!important;background:#fff!important}
  body[data-module]:not([data-module="home"]) .page-heading.visual-v1-list-heading .visual-v1-list-image{display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1440/598!important;object-fit:contain!important}
}

/* Visual V1 R2: smartphone acceptance alignment. */
@media(max-width:760px), (pointer:coarse) {
  body:not([class*="admin-module-"])[data-module] .site-header{
    height:auto;min-height:88px;grid-template-columns:minmax(120px,1fr) auto;grid-template-rows:49px 31px;gap:0 8px;padding:5px 10px 4px
  }
  body:not([class*="admin-module-"])[data-module] .site-header>.brand{grid-column:1;grid-row:1;justify-self:start;width:116px}
  body:not([class*="admin-module-"])[data-module] .site-header>.brand .mobile-header-logo{width:112px;height:45px}
  body:not([class*="admin-module-"])[data-module] .mobile-location-link{grid-column:1/-1;grid-row:2;justify-content:flex-start;min-height:29px;border:0;border-radius:0;padding:0 3px;font-size:.68rem}
  body:not([class*="admin-module-"])[data-module] .header-utilities{grid-column:2;grid-row:1;grid-template-columns:repeat(2,42px);gap:2px}
  body:not([class*="admin-module-"])[data-module] .header-utilities>a:first-child{display:flex}
  body:not([class*="admin-module-"])[data-module] .header-utilities>a[href="/settings"],
  body:not([class*="admin-module-"])[data-module] .header-utilities .mobile-menu-link{display:none!important}
  body:not([class*="admin-module-"])[data-module] .mobile-notice-popover{top:88px}

  body[data-module="home"] .home-layout-v7{gap:8px}
  body[data-module="home"] .home-hero-v7{order:0;height:166px!important;min-height:166px!important;padding:0!important}
  body[data-module="home"] .home-hero-v7:after{background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(21,45,31,.42) 100%)}
  body[data-module="home"] .home-hero-v7 .hero-copy{position:absolute;left:12px;right:12px;bottom:11px;width:auto!important}
  body[data-module="home"] .home-hero-v7 h1{display:inline-block!important;max-width:310px;margin:0!important;padding:6px 9px!important;border-radius:9px;background:rgba(255,255,255,.88);color:#183624;font-size:1.04rem!important;line-height:1.42!important;letter-spacing:.035em;box-shadow:0 2px 9px rgba(20,48,29,.12)}
  body[data-module="home"] .visual-v1-home-image{object-position:center 52%}
  body[data-module="home"] .mobile-home-actions{order:1}
  body[data-module="home"] .mobile-home-genres{order:2}
  body[data-module="home"] .ranking-panel-v3{order:3;padding:9px 9px}
  body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0{min-height:58px;padding:6px 4px}
  body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0>a{min-height:40px}
  body[data-module="home"] .ranking-panel-v3 .ranking-text-card-v0 strong{font-size:.5rem;line-height:1.35}

  body[data-module]:not([data-module="home"]) .page-heading.visual-v1-list-heading{
    display:block!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0 0 8px!important;padding:0!important;border-radius:12px!important;overflow:hidden!important
  }
  body[data-module]:not([data-module="home"]) .page-heading.visual-v1-list-heading .visual-v1-list-image{
    display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:1440/598!important;object-fit:contain!important;object-position:center!important
  }
  body[data-module] .mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom)}
  body[data-module] .page{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
}

/* R4.1: win against the legacy app.css mobile hero sizing on touch/PWA surfaces. */
@media(max-width:760px), (pointer:coarse) {
  body[data-module]:not([data-module="home"]) .page-heading {
    min-height:0!important;
    height:auto!important;
    margin:0 0 8px!important;
    padding:7px 12px 8px!important;
    border-radius:12px!important;
    background-image:none!important;
    box-shadow:0 2px 8px rgba(40,61,42,.04)!important;
  }
  body[data-module]:not([data-module="home"]) .page-heading:before {
    display:none!important;
    content:none!important;
  }
  body[data-module]:not([data-module="home"]) .page-heading .heading-art,
  body[data-module]:not([data-module="home"]) .page-heading .eyebrow {
    display:none!important;
  }
  body[data-module]:not([data-module="home"]) .page-heading h1 {
    margin:1px 0 2px!important;
    font-size:1.12rem!important;
    line-height:1.25!important;
  }
  body[data-module]:not([data-module="home"]) .page-heading>div>p:last-child {
    margin:1px 0!important;
    font-size:.64rem!important;
    line-height:1.35!important;
  }
}

/* Visual V1 must follow the legacy compact-heading guard in the cascade. */
@media(max-width:760px), (pointer:coarse) {
  body[data-module]:not([data-module="home"]) .page-heading.visual-v1-list-heading {
    display:block!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  body[data-module]:not([data-module="home"]) .page-heading.visual-v1-list-heading .visual-v1-list-image{display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1440/598!important;object-fit:contain!important}
}

/* Visual V1 R3: Human Acceptance contract for HOME hierarchy and mobile navigation. */
.visual-v1-home-links{display:none}
@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .home-layout-v7{gap:8px}
  body[data-module="home"] .home-hero-v7{
    display:block!important;order:0;height:166px!important;min-height:166px!important;padding:0!important;overflow:hidden!important
  }
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{
    display:block!important;position:absolute!important;z-index:3!important;left:12px!important;right:12px!important;bottom:11px!important;width:auto!important;visibility:visible!important;opacity:1!important
  }
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption h1{
    display:inline-block!important;visibility:visible!important;opacity:1!important;max-width:310px;margin:0!important;padding:6px 9px!important;border-radius:9px!important;background:rgba(255,255,255,.92)!important;color:#183624!important;font-size:1.04rem!important;line-height:1.42!important;letter-spacing:.035em!important;white-space:normal!important;overflow:visible!important
  }
  body[data-module="home"] .visual-v1-home-links{
    display:grid;order:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0
  }
  body[data-module="home"] .visual-v1-home-links a{
    display:flex;min-width:0;min-height:64px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 3px;border:1px solid #dfe7dc;border-radius:12px;background:#fff;color:#284538;text-align:center;text-decoration:none;box-shadow:0 2px 8px rgba(40,61,42,.05)
  }
  body[data-module="home"] .visual-v1-home-links a:nth-child(1){background:#eaf7ed;color:#267148}
  body[data-module="home"] .visual-v1-home-links a:nth-child(2){background:#fff0f1;color:#ba4256}
  body[data-module="home"] .visual-v1-home-links a:nth-child(3){background:#edf5ff;color:#316ca4}
  body[data-module="home"] .visual-v1-home-links a:nth-child(4){background:#fff7df;color:#95650e}
  body[data-module="home"] .visual-v1-home-links span{font-size:1.22rem;line-height:1}
  body[data-module="home"] .visual-v1-home-links strong{font-size:.58rem;line-height:1.25;white-space:normal}
  body[data-module="home"] .mobile-home-actions{display:block!important;order:2!important}
  body[data-module="home"] .mobile-home-actions>a{width:100%;min-height:72px!important}
  body[data-module="home"] .mobile-weather-card{grid-template-columns:auto minmax(0,1fr)!important}
  body[data-module="home"] .mobile-home-genres{order:3!important}
  body[data-module="home"] .ranking-panel-v3{order:4!important}

  body:not([class*="admin-module-"])[data-module] .mobile-nav{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;min-height:calc(66px + env(safe-area-inset-bottom))!important;padding:5px 4px calc(5px + env(safe-area-inset-bottom))!important;align-items:stretch
  }
  body:not([class*="admin-module-"])[data-module] .mobile-nav a{
    display:flex!important;min-width:0;min-height:52px!important;align-items:center;justify-content:center;flex-direction:column;padding:4px 2px!important;font-size:.62rem!important;line-height:1.15!important
  }
  body:not([class*="admin-module-"])[data-module] .mobile-nav a span{
    display:block;font-size:1.34rem!important;line-height:1!important;margin:0 0 4px!important
  }
  body[data-module] .page{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
}
@media(max-width:340px){
  body[data-module="home"] .visual-v1-home-links{gap:4px}
  body[data-module="home"] .visual-v1-home-links a{min-height:60px;padding-inline:2px}
  body[data-module="home"] .visual-v1-home-links strong{font-size:.54rem}
}

/* Mobile/PWA list surfaces V1: one calm visual language for finding content. */
@media(max-width:760px){
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .page{
    display:block;background:#fbfaf6;padding-inline:10px
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .visual-v1-list-heading{
    margin-bottom:10px!important;border:1px solid #ebe6db!important;border-radius:16px!important;box-shadow:0 5px 18px rgba(35,64,45,.08)!important
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .visual-v1-list-image{
    aspect-ratio:1440/598!important;object-fit:contain!important;background:#fffdf8
  }
  body:is([data-module="go"],[data-module="events"]) .content-search-filters,
  body[data-module="columns"] .column-filters,
  body[data-module="shop"] .shop-search-v13{
    grid-template-columns:1fr;gap:9px;margin:0 0 10px;padding:12px;border:1px solid #e5e1d7;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(40,61,42,.04)
  }
  body:is([data-module="go"],[data-module="events"]) .content-search-filters label,
  body[data-module="columns"] .column-filters label,
  body[data-module="shop"] .shop-search-v13 label{margin:0;font-size:.68rem}
  body:is([data-module="go"],[data-module="events"]) .content-search-filters input,
  body:is([data-module="go"],[data-module="events"]) .content-search-filters select,
  body[data-module="columns"] .column-filters input,
  body[data-module="columns"] .column-filters select,
  body[data-module="shop"] .shop-search-v13 input,
  body[data-module="shop"] .shop-search-v13 select{min-height:44px;width:100%;border-radius:11px}
  body:is([data-module="go"],[data-module="events"],[data-module="weather"]) .filter-bar{
    gap:7px;margin:0 0 10px;padding:8px;overflow-x:auto;justify-content:flex-start;scrollbar-width:none
  }
  body:is([data-module="go"],[data-module="events"],[data-module="weather"]) .filter-bar>a,
  body:is([data-module="go"],[data-module="events"]) .filter-bar nav a{
    display:inline-flex;min-height:36px;align-items:center;padding:6px 11px;white-space:nowrap;border-radius:999px
  }
  body:is([data-module="go"],[data-module="events"]) .results-grid,
  body[data-module="columns"] .column-grid,
  body:is([data-module="weather"],[data-module="trends"],[data-module="rankings"]) .results-grid{
    display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) :is(.result-card,.column-card,.go-list>article){
    min-width:0;margin:0;padding:12px;border:1px solid #e8e3d8;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(40,61,42,.045)
  }
  body[data-module="go"] .go-card{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:12px;align-items:start;text-decoration:none;color:inherit}
  body[data-module="go"] .go-card .go-entity-image{grid-row:1/6;width:96px;height:86px;border-radius:11px;object-fit:cover}
  body[data-module="go"] .go-card :is(h2,p,span){grid-column:2;margin:0 0 4px}
  body[data-module="go"] .go-card h2{font-size:.91rem;line-height:1.4}
  body[data-module="go"] .go-card p{font-size:.65rem;line-height:1.35;color:#667169}
  body[data-module="go"] .go-card span{font-size:.65rem;color:#287349;font-weight:700}
  body[data-module="events"] .result-card{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:12px;align-items:start}
  body[data-module="events"] .result-card>.result-entity-image{grid-row:1/8;width:96px;height:86px;border-radius:11px;object-fit:cover}
  body[data-module="events"] .result-card>:not(.result-entity-image){grid-column:2;margin-block:0 5px}
  body[data-module="events"] .result-card h2{font-size:.91rem;line-height:1.4}
  body[data-module="columns"] .column-card{display:grid;grid-template-columns:108px minmax(0,1fr);column-gap:12px;align-items:start}
  body[data-module="columns"] .column-card .column-thumbnail{grid-row:1/7;width:108px;aspect-ratio:4/3;border-radius:11px;overflow:hidden}
  body[data-module="columns"] .column-card .column-thumbnail img{width:100%;height:100%;object-fit:cover}
  body[data-module="columns"] .column-card>:not(.column-thumbnail){grid-column:2;margin-block:0 5px}
  body[data-module="columns"] .column-card h2{font-size:.91rem;line-height:1.4}
  body[data-module="columns"] .column-card>p:not(.eyebrow):not(.fine){display:none}
  body[data-module="shop"] .results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body[data-module="shop"] .shop-result-v13{display:flex;min-width:0;flex-direction:column;padding:9px;border:1px solid #e8e3d8;border-radius:14px;background:#fff}
  body[data-module="shop"] .shop-result-image-v13{height:142px;margin:0 0 9px;background:#faf7ef}
  body[data-module="shop"] .shop-result-v13 h2{display:-webkit-box;min-height:2.8em;margin:0 0 5px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.78rem;line-height:1.4}
  body[data-module="shop"] .shop-result-v13 .result-actions{margin-top:auto;gap:7px;flex-wrap:wrap}
  body[data-module="weather"] .weather-summary-v14{padding:14px;border-radius:15px}
  body[data-module="weather"] .result-card{padding:13px;text-align:center}
  body[data-module="weather"] .results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  body[data-module="weather"] .result-card h2{font-size:.77rem}
  body[data-module="weather"] .result-card p{margin:.28rem 0;font-size:.62rem}
  body[data-module="weather"] .result-card .price{font-size:.76rem}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card{position:relative;padding-left:54px}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card .eyebrow{position:absolute;top:12px;left:12px;display:grid;width:34px;height:34px;place-items:center;margin:0;border-radius:50%;background:#efe9d7;color:#765e19;font-size:.58rem;font-weight:800}
  body:is([data-module="trends"],[data-module="rankings"]) .result-card h2{font-size:.91rem;line-height:1.45}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .empty{
    min-height:210px;margin-top:10px;padding:28px 18px;border:1px dashed #cfdccf;border-radius:16px;background:#f7fbf4
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .empty-icon{width:58px;height:58px;font-size:1.65rem}
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="weather"],[data-module="trends"],[data-module="rankings"]) .mobile-nav a{min-height:52px}
}

@media(max-width:360px){
  body[data-module="shop"] .shop-result-image-v13{height:126px}
  body[data-module="weather"] .results-grid{gap:5px}
  body[data-module="weather"] .result-card{padding:10px 6px}
}

@media(max-width:760px){
  .mobile-list-filter-sheet{margin:0 0 10px}
  .mobile-list-filter-sheet>summary{
    display:flex;min-height:44px;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #cad8ca;border-radius:999px;background:#fff;color:#276b45;font-size:.74rem;font-weight:800;list-style:none;cursor:pointer
  }
  .mobile-list-filter-sheet>summary::-webkit-details-marker{display:none}
  .mobile-list-filter-sheet>summary:before{content:"⌕";margin-right:7px;font-size:1rem}
  .mobile-list-filter-sheet[open]:before{content:"";position:fixed;inset:0;z-index:97;background:rgba(20,35,27,.36)}
  .mobile-list-filter-sheet[open]>summary{position:fixed;right:14px;bottom:min(74vh,570px);z-index:99;width:44px;height:44px;overflow:hidden;padding:0;border-radius:50%;font-size:0}
  .mobile-list-filter-sheet[open]>summary:before{content:"×";margin:0;font-size:1.35rem}
  .mobile-list-filter-sheet[open]>form{
    position:fixed;left:0;right:0;bottom:0;z-index:98;max-height:min(72vh,550px);margin:0!important;padding:20px 14px calc(18px + env(safe-area-inset-bottom))!important;overflow:auto;border-radius:20px 20px 0 0!important;box-shadow:0 -10px 34px rgba(20,35,27,.2)!important
  }
  .mobile-list-filter-sheet[open]>form:before{content:"検索・絞り込み";display:block;margin:0 0 9px;color:#203c2e;font-size:.94rem;font-weight:800}
  .mobile-list-filter-sheet:not([open])>form{display:none!important}
}

/* Visual V1 R4: HOME Visual SoT contract. */
.visual-v1-home-context,.visual-v1-home-search,.visual-v1-recommendations,.visual-v1-home-ad,.visual-v1-home-top6{display:none}
@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .site-header{
    min-height:66px!important;height:66px!important;grid-template-columns:minmax(120px,1fr) auto!important;grid-template-rows:1fr!important;padding:5px 12px!important
  }
  body[data-module="home"] .site-header>.brand{grid-column:1!important;grid-row:1!important;width:132px!important}
  body[data-module="home"] .site-header>.brand .mobile-header-logo{width:128px!important;height:auto!important;max-height:52px!important}
  body[data-module="home"] .site-header>.mobile-location-link{display:none!important}
  body[data-module="home"] .site-header>.header-utilities{grid-column:2!important;grid-row:1!important;grid-template-columns:repeat(2,48px)!important;align-self:stretch!important}
  body[data-module="home"] .site-header>.header-utilities>a:first-child,
  body[data-module="home"] .site-header>.header-utilities .mobile-notice-menu>summary{min-height:48px!important}
  body[data-module="home"] .mobile-notice-popover{top:66px!important}

  body[data-module="home"] .visual-v1-home-context{
    display:flex;order:0;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:3px 5px;color:#15283a
  }
  body[data-module="home"] .visual-v1-home-context a{display:flex;min-width:0;min-height:40px;align-items:center;gap:7px;color:inherit;text-decoration:none}
  body[data-module="home"] .visual-v1-region{flex:1;font-size:.78rem}
  body[data-module="home"] .visual-v1-region>span:first-child{font-size:1.15rem;color:#173245}
  body[data-module="home"] .visual-v1-region strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body[data-module="home"] .visual-v1-weather{flex:0 0 auto;font-size:.78rem}
  body[data-module="home"] .visual-v1-weather>span{font-size:1.42rem}
  body[data-module="home"] .visual-v1-weather strong{white-space:nowrap;color:#e76329}

  body[data-module="home"] .home-hero-v7{order:1!important;height:170px!important;min-height:170px!important;border-radius:15px!important}
  body[data-module="home"] .home-hero-v7:after{background:linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,0) 48%)!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{display:block!important;visibility:visible!important;opacity:1!important;left:19px!important;right:45%!important;bottom:auto!important;top:25px!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption h1{
    display:block!important;max-width:none!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#132538!important;font-size:clamp(1rem,5.1vw,1.28rem)!important;line-height:1.55!important;letter-spacing:.055em!important;text-shadow:0 1px 2px rgba(255,255,255,.9),0 0 8px rgba(255,255,255,.75)!important;box-shadow:none!important
  }
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption>p:first-of-type{display:block!important;margin:10px 0 0!important;color:#263b43!important;font-size:.57rem!important;line-height:1.55!important;text-shadow:0 1px 2px #fff!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption .hero-location-actions,
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption .fine{display:none!important}
  body[data-module="home"] .visual-v1-home-image{object-position:center 50%!important}

  body[data-module="home"] .visual-v1-home-search{
    display:flex;order:2;align-items:center;gap:8px;min-height:50px;margin:1px 4px;padding:6px 15px;border:1px solid #e3e7e2;border-radius:999px;background:#fff;box-shadow:0 5px 16px rgba(35,53,43,.11)
  }
  body[data-module="home"] .visual-v1-home-search>span{font-size:1.7rem;line-height:1;color:#147ad6}
  body[data-module="home"] .visual-v1-home-search input{width:100%;min-width:0;border:0!important;background:transparent!important;padding:5px!important;font-size:.88rem!important;box-shadow:none!important;outline:none}
  body[data-module="home"] .visual-v1-home-search input::placeholder{color:#7d8187;opacity:1}

  body[data-module="home"] .visual-v1-home-links{display:grid;order:3;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:2px 0}
  body[data-module="home"] .visual-v1-home-links a{min-height:88px;border:0;border-radius:12px;gap:7px;padding:8px 2px;box-shadow:none}
  body[data-module="home"] .visual-v1-home-links span{font-size:1.8rem}
  body[data-module="home"] .visual-v1-home-links strong{font-size:clamp(.52rem,2.6vw,.65rem);line-height:1.3}

  body[data-module="home"] .visual-v1-recommendations{display:block;order:4;margin-top:4px}
  body[data-module="home"] .visual-v1-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 4px 8px}
  body[data-module="home"] .visual-v1-section-title h2{margin:0;color:#132536;font-size:1.08rem;line-height:1.3}
  body[data-module="home"] .visual-v1-section-title a{color:#68716d;font-size:.64rem;text-decoration:none;white-space:nowrap}
  body[data-module="home"] .visual-v1-recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body[data-module="home"] .visual-v1-recommendation-grid article{min-width:0;overflow:hidden;border:1px solid #e6e9e4;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(33,51,40,.07)}
  body[data-module="home"] .visual-v1-recommendation-grid article>a{position:relative;display:block;color:#172839;text-decoration:none}
  body[data-module="home"] .visual-v1-recommendation-grid img{display:block;width:100%;height:98px;object-fit:cover;background:#f3f6f4}
  body[data-module="home"] .visual-v1-recommendation-grid strong,body[data-module="home"] .visual-v1-recommendation-grid small{display:block;margin:7px 8px 0}
  body[data-module="home"] .visual-v1-recommendation-grid strong{font-size:.68rem;line-height:1.35}
  body[data-module="home"] .visual-v1-recommendation-grid small{margin-top:2px;margin-bottom:8px;color:#66716c;font-size:.54rem;line-height:1.35}
  body[data-module="home"] .recommendation-badge{position:absolute;left:7px;top:7px;min-width:58px;padding:4px 9px;border-radius:999px;color:#fff;font-size:.57rem;text-align:center}
  body[data-module="home"] .recommendation-badge.event{background:#ee5369}body[data-module="home"] .recommendation-badge.go{background:#299754}
  body[data-module="home"] .visual-v1-recommendation-empty{grid-column:1/-1;margin:0;padding:14px;border-radius:12px;background:#f6f8f5;font-size:.66rem;text-align:center}

  body[data-module="home"] .visual-v1-home-ad{display:flex;order:5;min-height:74px;align-items:center;justify-content:center;flex-direction:column;margin:3px 0;padding:10px;border-radius:11px;background:#eef6ff;color:#2d64a3;text-align:center}
  body[data-module="home"] .visual-v1-home-ad small{font-size:.54rem}body[data-module="home"] .visual-v1-home-ad span{font-size:.76rem}

  body[data-module="home"] .visual-v1-home-top6{display:block;order:6;margin:4px 0;padding:0}
  body[data-module="home"] .visual-v1-home-top6 ol{list-style:none;margin:0;padding:0}
  body[data-module="home"] .visual-v1-home-top6 li{margin:0;border-top:1px solid #edf0ec}
  body[data-module="home"] .visual-v1-home-top6 li:nth-child(n+3){display:none}
  body[data-module="home"] .visual-v1-home-top6 li a{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:9px;align-items:center;min-height:58px;color:#172839;text-decoration:none}
  body[data-module="home"] .visual-v1-home-top6 li a>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#f3a91f;color:#fff;font-size:1.05rem;font-weight:800}
  body[data-module="home"] .visual-v1-home-top6 li strong{font-size:.69rem;line-height:1.35}body[data-module="home"] .visual-v1-home-top6 li b{font-size:1.1rem}
  body[data-module="home"] .visual-v1-home-top6>p{margin:0;padding:12px;border-radius:10px;background:#f6f8f5;font-size:.64rem}

  body[data-module="home"] .weather-panel-v3{display:none!important}
  body[data-module="home"] .mobile-home-actions{display:none!important}
  body[data-module="home"] .mobile-home-genres{order:7!important}
  body[data-module="home"] .ranking-panel-v3{order:10!important;display:none!important}
  body[data-module="home"] .go-panel-v3{order:11!important}
  body[data-module="home"] .event-panel-v3{order:12!important}
  body[data-module="home"] .column-pick-panel-v7{order:8!important}
  body[data-module="home"] .shop-panel-v3{order:9!important}
}
@media(max-width:340px){
  body[data-module="home"] .visual-v1-home-links{gap:4px}
  body[data-module="home"] .visual-v1-home-links a{min-height:82px}
  body[data-module="home"] .visual-v1-home-links span{font-size:1.58rem}
  body[data-module="home"] .visual-v1-recommendation-grid img{height:88px}
}

/* Visual V1 R5: two-row HOME header, fresh recommendations and complete TOP6. */
@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .site-header{min-height:108px!important;height:auto!important;grid-template-columns:48px minmax(120px,1fr) 104px!important;grid-template-rows:62px 40px!important;padding:env(safe-area-inset-top) 10px 4px!important;align-items:center!important}
  body[data-module="home"] .site-header>.brand{grid-column:2!important;grid-row:1!important;justify-self:center!important;width:132px!important}
  body[data-module="home"] .site-header>.header-utilities{grid-column:3!important;grid-row:1!important;grid-template-columns:52px 52px!important;border-left:0!important}
  body[data-module="home"] .site-header>.header-utilities>a,
  body[data-module="home"] .site-header>.header-utilities .mobile-notice-menu,
  body[data-module="home"] .site-header>.header-utilities .mobile-notice-menu>summary{box-sizing:border-box;width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;margin:0!important;padding:2px 0!important}
  body[data-module="home"] .site-header>.header-utilities>a,
  body[data-module="home"] .site-header>.header-utilities .mobile-notice-menu>summary{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;color:#26352e!important;text-decoration:none;font-size:.48rem!important;line-height:1!important;font-weight:600!important}
  body[data-module="home"] .site-header>.header-utilities small{display:block;margin:0!important;font:inherit!important;line-height:1!important;white-space:nowrap}
  body[data-module="home"] .site-header>.header-utilities .header-action-icon{display:block!important;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;margin:0!important;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  body[data-module="home"] .site-header>.header-utilities .header-action-icon-heart{color:#d95e6c;fill:#f8c5ca;transform:scale(1.08);transform-box:fill-box;transform-origin:center}
  body[data-module="home"] .site-header>.header-utilities .header-favorites-link[aria-current="page"] .header-action-icon-heart{fill:#df6673}
  body[data-module="home"] .site-header>.header-utilities .header-action-icon-bell{color:#d59a24;transform:scale(.94);transform-box:fill-box;transform-origin:center}
  body[data-module="home"] .site-header>.header-utilities .mobile-notice-menu{border-left:1px solid #e7e8e4!important}
  body[data-module="home"] .site-header>.visual-v1-home-context{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1.35fr)!important;width:100%;min-height:40px;padding:0!important;gap:0!important;border-top:1px solid #eef0ed;color:#24352d;background:#fff}
  body[data-module="home"] .site-header>.visual-v1-home-context a{min-height:38px!important;padding:0 7px!important;gap:4px!important;justify-content:center!important;font-size:clamp(.54rem,2.25vw,.68rem)!important}
  body[data-module="home"] .site-header>.visual-v1-home-context a+a{border-left:1px solid #e7e8e4}
  body[data-module="home"] .site-header>.visual-v1-home-context strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body[data-module="home"] .site-header>.visual-v1-home-context .visual-v1-region{justify-content:flex-start!important}
  body[data-module="home"] .site-header>.visual-v1-home-context .visual-v1-region>span:first-child{font-size:.78rem!important;color:#259156}
  body[data-module="home"] .site-header>.visual-v1-home-context .visual-v1-weather>span{font-size:1rem!important}
  body[data-module="home"] .site-header>.visual-v1-home-context .visual-v1-weather strong{color:#e76329}
  body[data-module="home"] .site-header>.visual-v1-home-context .visual-v1-warning{color:#68736d}
  body[data-module="home"] .site-header>.visual-v1-home-context .visual-v1-warning.is-active{color:#c94c45;font-weight:800}
  body[data-module="home"] .mobile-notice-popover{top:calc(102px + env(safe-area-inset-top))!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{left:17px!important;right:38%!important;top:22px!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption h1{font-family:"Yu Maru","Hiragino Maru Gothic ProN","BIZ UDPGothic","Yu Gothic",sans-serif!important;font-size:clamp(.94rem,4.65vw,1.24rem)!important;font-weight:800!important;line-height:1.34!important;letter-spacing:.055em!important;transform:rotate(-1.2deg);text-shadow:0 1px 0 #fff,1px 2px 5px rgba(255,255,255,.88)!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption h1>.home-hero-copy-line{white-space:nowrap!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption h1>.home-hero-copy-line+.home-hero-copy-line{margin-left:8px;transform:rotate(.5deg)}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption h1:after{content:none;display:none}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption .visual-v1-home-support{display:block!important;margin:9px 0 0 4px!important;color:#34483f!important;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif!important;font-size:clamp(.56rem,2.35vw,.64rem)!important;font-weight:600!important;line-height:1.45!important;letter-spacing:.015em!important;text-shadow:0 1px 2px rgba(255,255,255,.96)!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption .visual-v1-home-support span{display:block;white-space:nowrap}
  body[data-module="home"] .visual-v1-recommendation-grid.recommendation-count-1{grid-template-columns:minmax(0,1fr)}
  body[data-module="home"] .visual-v1-recommendation-grid.recommendation-count-1 article{max-width:calc(50% - 4px)}
  body[data-module="home"] .visual-v1-recommendation-grid.recommendation-count-0{grid-template-columns:1fr}
  body[data-module="home"] .visual-v1-home-top6 li:nth-child(n+3){display:list-item!important}
  body[data-module="home"] .visual-v1-home-top6 li a{min-height:52px!important}
}
@media(max-width:340px){
  body[data-module="home"] .site-header{grid-template-columns:34px minmax(116px,1fr) 96px!important;padding-left:6px!important;padding-right:6px!important}
  body[data-module="home"] .site-header>.header-utilities{grid-template-columns:48px 48px!important}
  body[data-module="home"] .site-header>.visual-v1-home-context a{padding-inline:4px!important;font-size:.51rem!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{right:35%!important;left:13px!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption h1{font-size:.91rem!important;letter-spacing:.02em!important}
}

/* Visual V1 R5 Human Acceptance: semantic POP HERO typography. */
@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .home-hero-v7{height:180px!important;min-height:180px!important}
  body[data-module="home"] .home-hero-v7:after{background:linear-gradient(90deg,rgba(255,255,255,.28) 0,rgba(255,255,255,.12) 42%,rgba(255,255,255,0) 68%)!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{left:16px!important;right:24%!important;top:15px!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy{position:relative!important;display:block!important;color:#223644!important;font-family:"Yu Maru","Hiragino Maru Gothic ProN","BIZ UDPGothic","Yu Gothic",sans-serif!important;font-size:clamp(.98rem,4.75vw,1.25rem)!important;font-weight:800!important;line-height:1.38!important;letter-spacing:.035em!important;transform:rotate(-.7deg)!important;text-shadow:0 1px 0 rgba(255,255,255,.98),1px 2px 4px rgba(255,255,255,.82)!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy:before{content:"";position:absolute;left:17px;bottom:-5px;width:50px;height:3px;border-radius:999px;background:#63ad73;transform:rotate(-3deg);opacity:.82}
  body[data-module="home"] .home-hero-v7 .home-hero-copy:after{content:none!important;display:none!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line{display:block!important;white-space:nowrap!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line.line-2{margin-left:clamp(7px,2.7vw,12px)!important;transform:rotate(.45deg)!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-accent{position:relative;display:inline-block!important;font-size:1.12em;line-height:1;color:inherit;letter-spacing:.02em}
  body[data-module="home"] .home-hero-v7 .accent-family{color:#cf6265;transform:rotate(-2deg) scale(1.03);transform-origin:center bottom}
  body[data-module="home"] .home-hero-v7 .accent-family:before{content:"";position:absolute;left:-8px;top:-5px;width:11px;height:8px;background:radial-gradient(ellipse at 30% 70%,#63ad73 0 43%,transparent 47%),radial-gradient(ellipse at 73% 30%,#8bc47d 0 38%,transparent 43%);transform:rotate(-24deg)}
  body[data-module="home"] .home-hero-v7 .accent-discovery{margin:0 1px;color:#2b9564;transform:rotate(1deg) scale(1.04);transform-origin:center bottom}
  body[data-module="home"] .home-hero-v7 .accent-discovery:after{content:"";position:absolute;right:-12px;top:-7px;width:14px;height:11px;background:linear-gradient(72deg,transparent 45%,#e4ad35 47% 55%,transparent 57%) 0 0/5px 10px no-repeat,linear-gradient(102deg,transparent 45%,#e4ad35 47% 55%,transparent 57%) 5px -1px/5px 9px no-repeat,linear-gradient(132deg,transparent 45%,#e4ad35 47% 55%,transparent 57%) 10px 2px/5px 8px no-repeat;transform:rotate(5deg)}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy{position:relative!important;display:block!important;width:max-content;max-width:100%!important;margin:13px 0 0 3px!important;padding:3px 8px 3px 9px!important;border-left:2px solid rgba(69,153,94,.48);border-radius:5px;background:linear-gradient(90deg,rgba(255,255,255,.56),rgba(255,255,255,.18) 82%,transparent)!important;color:#2e433b!important;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif!important;font-size:clamp(.61rem,2.55vw,.7rem)!important;font-weight:650!important;line-height:1.55!important;letter-spacing:.005em!important;text-shadow:0 1px 2px rgba(255,255,255,.98)!important}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy:before{content:"";position:absolute;left:-7px;top:7px;width:8px;height:6px;border-radius:80% 15% 80% 15%;background:#63ad73;transform:rotate(-30deg)}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy span{display:block!important;white-space:nowrap!important}
}
@media(max-width:340px){
  body[data-module="home"] .home-hero-v7{height:176px!important;min-height:176px!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{left:12px!important;right:19%!important;top:14px!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy{font-size:.93rem!important;letter-spacing:.018em!important}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy{font-size:.59rem!important;padding-right:5px!important}
}

/* Visual V1 R5 HERO Human Acceptance Fix 3: exactly two readable lines. */
@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .home-hero-v7{height:170px!important;min-height:170px!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{left:14px!important;right:10px!important;top:12px!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-group{display:block;width:max-content;max-width:100%}
  body[data-module="home"] .home-hero-v7 .home-hero-copy{display:block!important;width:max-content;max-width:100%;font-size:clamp(.94rem,4.45vw,1.18rem)!important;line-height:1.36!important;letter-spacing:.025em!important;transform:rotate(-.45deg)!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line{display:block!important;width:max-content;max-width:100%;white-space:nowrap!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line>span{display:inline!important;white-space:inherit!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line>.home-hero-copy-accent{display:inline-block!important;font-size:1.08em!important;line-height:1!important;vertical-align:baseline}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line.line-2{margin-left:clamp(6px,2.2vw,10px)!important;transform:rotate(.25deg)!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy:before{left:18px;bottom:-4px;width:38px;height:2px}
  body[data-module="home"] .home-hero-v7 .accent-family:before{left:-6px;top:-4px;width:9px;height:7px}
  body[data-module="home"] .home-hero-v7 .accent-discovery:after{right:-10px;top:-6px;width:12px;height:9px;background-size:4px 8px,4px 7px,4px 6px}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy{margin:9px 0 0 3px!important;font-size:clamp(.61rem,2.45vw,.68rem)!important;line-height:1.5!important}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy:before{content:none!important;display:none!important}
}
@media(max-width:340px){
  body[data-module="home"] .home-hero-v7{height:168px!important;min-height:168px!important}
  body[data-module="home"] .home-hero-v7 .visual-v1-home-caption{left:11px!important;right:7px!important;top:10px!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy{font-size:.89rem!important;letter-spacing:.012em!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line>.home-hero-copy-accent{font-size:1.06em!important}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy{font-size:.6rem!important;margin-top:8px!important}
}

/* Visual V1 R5 HERO Human Acceptance Fix 4: remove the effective 61% copy-width constraint. */
@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .home-hero-v7 .hero-copy.visual-v1-home-caption{display:block!important;position:absolute!important;left:14px!important;right:10px!important;top:10px!important;bottom:auto!important;width:auto!important;inline-size:auto!important;max-width:none!important;min-width:0!important;height:auto!important;overflow:visible!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-group{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important;width:100%!important;inline-size:100%!important;max-width:none!important;min-width:0!important;height:auto!important;overflow:visible!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy{flex:0 0 auto!important;width:100%!important;inline-size:100%!important;max-width:none!important;min-width:0!important;margin:0!important;overflow:visible!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line{display:flex!important;flex-flow:row nowrap!important;align-items:baseline!important;gap:0!important;width:max-content!important;inline-size:max-content!important;max-width:none!important;min-width:0!important;white-space:nowrap!important;overflow:visible!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line>span{display:inline-block!important;flex:0 0 auto!important;width:auto!important;max-width:none!important;min-width:0!important;white-space:nowrap!important}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy{box-sizing:border-box!important;position:relative!important;flex:0 0 auto!important;width:100%!important;inline-size:100%!important;max-width:none!important;min-width:0!important;height:auto!important;margin:0!important;overflow:visible!important}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy span{display:block!important;width:max-content!important;max-width:none!important;white-space:nowrap!important}
}

/* Visual V1 R5 HERO Human Acceptance Final Polish: keep Fix 5 structure and remove obsolete mobile-only copy noise. */
@media(max-width:760px), (pointer:coarse) {
  body[data-module="home"] .home-hero-v7 .hero-copy.visual-v1-home-caption>.hero-location-actions,
  body[data-module="home"] .home-hero-v7 .hero-copy.visual-v1-home-caption>p.fine{display:none!important}
}
@media(max-width:340px){
  body[data-module="home"] .home-hero-v7{height:170px!important;min-height:170px!important}
  body[data-module="home"] .home-hero-v7 .hero-copy.visual-v1-home-caption{left:10px!important;right:6px!important;top:8px!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-group{gap:6px!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy{font-size:.87rem!important;letter-spacing:.008em!important}
  body[data-module="home"] .home-hero-v7 .home-hero-copy-line>.home-hero-copy-accent{font-size:1.05em!important}
  body[data-module="home"] .home-hero-v7 .home-hero-subcopy{font-size:.58rem!important;margin-left:2px!important;padding:3px 4px 3px 8px!important}
}

/* Mobile/PWA list HERO width contract: every approved source keeps its own ratio. */
@media(max-width:760px), (pointer:coarse){
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .page-heading.visual-v1-list-heading.list-hero-single{
    display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0 0 10px!important;padding:0!important;border-radius:16px!important;overflow:hidden!important
  }
  body:is([data-module="go"],[data-module="events"],[data-module="columns"],[data-module="shop"],[data-module="trends"],[data-module="rankings"]) .page-heading.visual-v1-list-heading.list-hero-single .visual-v1-list-image{
    display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important
  }
}
