/* Life Fit Japan shared visual foundation
   One source of truth for site-wide typography and page background.
   Component-specific hierarchy remains in each feature stylesheet. */
:root{
  --lf-page-bg:#f4f6f4;
  --lf-surface:#ffffff;
  --lf-ink:#243337;
  --lf-muted:#667774;
  --lf-line:#dce7e4;
  --lf-accent:#2d8b7e;
  --lf-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic","Noto Sans JP",Meiryo,sans-serif;
  --lf-body-size:16px;
  --lf-body-leading:1.75;
  --lf-lead-size:18px;
  --lf-nav-size:13px;
  --lf-title-size:clamp(36px,5vw,56px);
}
html{font-size:16px;-webkit-text-size-adjust:100%}
body,
body.ldk-area,
body.ldk-article,
body.ldk-article-index{
  background:var(--lf-page-bg)!important;
  color:var(--lf-ink);
  font-family:var(--lf-font)!important;
  font-size:var(--lf-body-size);
  line-height:var(--lf-body-leading);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font-family:inherit}
.brand{font-family:var(--lf-font)!important;font-size:20px!important;line-height:1.25}
.navlinks a,.site-links a{font-family:var(--lf-font)!important;font-size:var(--lf-nav-size)!important;line-height:1.4}
.rankHero h1,
.hero>h1,
.detailHero h1,
.ldkHero h1,
.articleHero h1,
body.ldk-article article>h1,
body.ldk-article-index main>h1,
main>.eyebrow+h1,
main>h1{
  font-family:var(--lf-font)!important;
  font-size:var(--lf-title-size)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
.page>main>h2,
body>main>h2{
  font-family:var(--lf-font)!important;
  font-size:26px!important;
  line-height:1.45!important;
  letter-spacing:-.02em;
}
.page>main>p,
body>main>p,
body>main>ul>li,
body>main>ol>li,
body.ldk-article article>p,
body.ldk-article article>ul>li,
body.ldk-article article>ol>li{
  font-size:16px!important;
  line-height:1.85!important;
}
.lead,
.heroLead,
.detailLead,
.rankHero>p:not(.kicker),
.ldkHero .lead,
.articleHero .lead,
body.ldk-article .lead,
body.ldk-article-index .lead{
  font-family:var(--lf-font)!important;
  font-size:var(--lf-lead-size)!important;
  line-height:1.8!important;
}
footer{font-family:var(--lf-font)!important}
@media(max-width:600px){
  :root{--lf-title-size:36px;--lf-lead-size:16px}
  body,body.ldk-area,body.ldk-article,body.ldk-article-index{font-size:16px}
  .brand{font-size:20px!important}
  .navlinks a,.site-links a{font-size:13px!important}
}

/* Visible cross-page unification: expose one page background instead of mixing
   large white document cards with transparent data pages. */
body > .page > main,
body > main:not(.wrap){
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.page>main>h2,
body>main>h2,
body.ldk-article article>h2,
.ldkSectionHead h2,
.sceneArticle h2,
.quickRead h2,
.detailSection h2,
.sectionHead h2,
.detailHead h2,
.rankingNext h2{
  font-family:var(--lf-font)!important;
  font-size:28px!important;
  line-height:1.45!important;
  letter-spacing:-.02em!important;
}

@media(max-width:600px){
  .page>main>h2,
  body>main>h2,
  body.ldk-article article>h2,
  .ldkSectionHead h2,
  .sceneArticle h2,
  .quickRead h2,
  .detailSection h2,
  .sectionHead h2,
  .detailHead h2,
  .rankingNext h2{font-size:24px!important}
}



/* 2026-09-24 site shell unification.
   Keep content-specific layouts, but make the shared frame visibly one product. */
:root{
  --lf-shell-width:1120px;
  --lf-shell-gutter:24px;
  --ink:var(--lf-ink);
  --muted:var(--lf-muted);
  --line:var(--lf-line);
  --accent:var(--lf-accent);
  --teal:var(--lf-accent);
  --bg:var(--lf-page-bg);
  --paper:var(--lf-surface);
  --article-ink:var(--lf-ink);
  --article-muted:var(--lf-muted);
  --article-line:var(--lf-line);
  --article-teal:var(--lf-accent);
  --article-bg:var(--lf-page-bg);
  --article-paper:var(--lf-surface);
}
.page{
  max-width:var(--lf-shell-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--lf-shell-gutter)!important;
  padding-right:var(--lf-shell-gutter)!important;
}
.topnav{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 24px!important;
  padding:18px 0!important;
  border-bottom:1px solid var(--lf-line)!important;
}
.brand,.site-brand{
  color:var(--lf-ink)!important;
  font-family:var(--lf-font)!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
  text-decoration:none!important;
}
.navlinks{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
.navlinks a,.site-links a{
  color:var(--lf-muted)!important;
  font-family:var(--lf-font)!important;
  font-size:var(--lf-nav-size)!important;
  font-weight:750!important;
  line-height:1.4!important;
  text-decoration:none!important;
}
.navlinks a:hover,.site-links a:hover{color:var(--lf-ink)!important}
.navlinks a[aria-current="page"],.site-links a[aria-current="page"]{
  color:var(--lf-accent)!important;
  font-weight:900!important;
}
main.wrap>.site-links{
  width:min(var(--lf-shell-width),calc(100vw - (var(--lf-shell-gutter) * 2)));
  min-height:auto!important;
  margin:0 0 24px 50%!important;
  padding:18px 0!important;
  transform:translateX(-50%);
  border-bottom:1px solid var(--lf-line)!important;
  font-family:var(--lf-font)!important;
}
main.wrap>.site-links .site-links-main{gap:18px!important}
.infoPage main{
  max-width:840px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hubHero h1{
  font-family:var(--lf-font)!important;
  font-size:var(--lf-title-size)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
.hubHero .lead{
  font-family:var(--lf-font)!important;
  font-size:var(--lf-lead-size)!important;
  line-height:1.8!important;
}

@media(max-width:760px){
  :root{--lf-shell-gutter:15px}
  .topnav{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
    margin-bottom:20px!important;
    padding:12px 0 10px!important;
  }
  .navlinks{
    width:100%!important;
    justify-content:flex-start!important;
    gap:2px 12px!important;
  }
  .navlinks a{
    display:inline-flex!important;
    align-items:center!important;
    min-height:40px!important;
    white-space:nowrap!important;
  }
  main.wrap>.site-links{
    margin-bottom:18px!important;
    padding:12px 0 10px!important;
  }
  main.wrap>.site-links .site-links-main{gap:10px!important}
}


/* 2026-09-24 hub shell alignment pass: homepage, municipality hub, and station hub. */
body,
body.ldk-area,
body.areasHub{
  background:var(--lf-page-bg)!important;
  color:var(--lf-ink)!important;
  font-family:var(--lf-font)!important;
}

/* Use the same outer canvas on the three primary discovery entrypoints. */
main.wrap{
  max-width:var(--lf-shell-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:0!important;
  padding-left:var(--lf-shell-gutter)!important;
  padding-right:var(--lf-shell-gutter)!important;
}
main.wrap>.site-links,
.page>.topnav{
  min-height:62px!important;
  margin-bottom:24px!important;
  padding:18px 0!important;
}
main.wrap>.site-links .site-brand,
.page>.topnav .brand{
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.25!important;
}
main.wrap>.site-links .site-links-main>a,
.page>.topnav .navlinks>a{
  font-size:13px!important;
  line-height:1.4!important;
}
main.wrap>.site-links .site-more>summary{
  font-family:var(--lf-font)!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.4!important;
}

/* Hub heroes share one typography scale and one neutral page canvas. */
main.wrap>.production-hero,
.page>main>.hero,
body.areasHub .hubHero{
  padding-top:56px!important;
  padding-bottom:38px!important;
  background:transparent!important;
}
main.wrap>.production-hero h1,
.page>main>.hero>h1,
body.areasHub .hubHero h1{
  margin-top:0!important;
  color:var(--lf-ink)!important;
  font-family:var(--lf-font)!important;
  font-size:var(--lf-title-size)!important;
  font-weight:900!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
main.wrap>.production-hero .production-hero-description,
.page>main>.hero .lead,
body.areasHub .hubHero .lead{
  color:var(--lf-muted)!important;
  font-family:var(--lf-font)!important;
  font-size:var(--lf-lead-size)!important;
  line-height:1.8!important;
}
body.areasHub main{padding-top:0!important}

@media(max-width:760px){
  main.wrap{
    padding-left:var(--lf-shell-gutter)!important;
    padding-right:var(--lf-shell-gutter)!important;
  }
  main.wrap>.site-links,
  .page>.topnav{
    margin-bottom:18px!important;
    padding:12px 0 10px!important;
  }
  main.wrap>.production-hero,
  .page>main>.hero,
  body.areasHub .hubHero{
    padding-top:34px!important;
    padding-bottom:28px!important;
  }
}


/* 2026-09-24 full-site family bridge: station, article, fact, and info pages. */
/* The shell is product-wide; content widths may stay editorially narrower. */
body.ldk-article,
body.ldk-article-index,
body.fact-article,
body.fact-index,
body.infoPage{
  background:var(--lf-page-bg)!important;
  color:var(--lf-ink)!important;
  font-family:var(--lf-font)!important;
  font-size:var(--lf-body-size)!important;
  line-height:var(--lf-body-leading)!important;
}

body.ldk-area .page,
body.ldk-article .page,
body.ldk-article-index .page,
body.fact-article .page,
body.fact-index .page,
body.infoPage .page{
  max-width:var(--lf-shell-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--lf-shell-gutter)!important;
  padding-right:var(--lf-shell-gutter)!important;
}

body.ldk-area .topnav,
body.ldk-article .topnav,
body.ldk-article-index .topnav,
body.fact-article .topnav,
body.fact-index .topnav,
body.infoPage .topnav{
  min-height:62px!important;
  margin:0 0 24px!important;
  padding:18px 0!important;
  border-bottom:1px solid var(--lf-line)!important;
}

body.ldk-area .brand,
body.ldk-article .brand,
body.ldk-article-index .brand,
body.fact-article .brand,
body.fact-index .brand,
body.infoPage .brand{
  color:var(--lf-ink)!important;
  font-family:var(--lf-font)!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
}

body.ldk-area .navlinks a,
body.ldk-article .navlinks a,
body.ldk-article-index .navlinks a,
body.fact-article .navlinks a,
body.fact-index .navlinks a,
body.infoPage .navlinks a{
  color:var(--lf-muted)!important;
  font-family:var(--lf-font)!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.4!important;
}
body.ldk-area .navlinks a[aria-current="page"],
body.ldk-article .navlinks a[aria-current="page"],
body.ldk-article-index .navlinks a[aria-current="page"],
body.fact-article .navlinks a[aria-current="page"],
body.fact-index .navlinks a[aria-current="page"],
body.infoPage .navlinks a[aria-current="page"]{
  color:var(--lf-accent)!important;
  font-weight:900!important;
}

body.ldk-area .ldkHero h1,
body.ldk-article article>h1,
body.ldk-article-index main>h1,
body.fact-article article>h1,
body.fact-index main>h1,
body.infoPage main>h1{
  color:var(--lf-ink)!important;
  font-family:var(--lf-font)!important;
  font-size:var(--lf-title-size)!important;
  font-weight:900!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}

body.ldk-area .ldkHero .lead,
body.ldk-article .lead,
body.ldk-article-index .lead,
body.fact-article .lead,
body.fact-index .lead,
body.infoPage .lead{
  color:var(--lf-muted)!important;
  font-family:var(--lf-font)!important;
  font-size:var(--lf-lead-size)!important;
  line-height:1.8!important;
}

body.ldk-article article>p,
body.ldk-article article>ul>li,
body.ldk-article article>ol>li,
body.fact-article article>p,
body.fact-article article>ul>li,
body.fact-article article>ol>li,
body.infoPage main>p,
body.infoPage main>ul>li,
body.infoPage main>ol>li{
  color:#46565a!important;
  font-family:var(--lf-font)!important;
  font-size:16px!important;
  line-height:1.85!important;
}

@media(max-width:760px){
  body.ldk-area .topnav,
  body.ldk-article .topnav,
  body.ldk-article-index .topnav,
  body.fact-article .topnav,
  body.fact-index .topnav,
  body.infoPage .topnav{
    margin-bottom:18px!important;
    padding:12px 0 10px!important;
  }
}


/* 2026-09-24 shared 404 shell. */
body.errorPage .page{
  display:block!important;
  min-height:100vh;
}
body.errorPage main{
  max-width:680px;
  margin:64px auto 0;
}
body.errorPage .card{
  width:100%!important;
  background:var(--lf-surface)!important;
  border-color:var(--lf-line)!important;
}
body.errorPage .card h1{
  color:var(--lf-ink)!important;
  font-family:var(--lf-font)!important;
  font-size:clamp(36px,5vw,48px)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
body.errorPage .card p{
  color:var(--lf-muted)!important;
  font-family:var(--lf-font)!important;
  font-size:16px!important;
  line-height:1.85!important;
}
@media(max-width:760px){
  body.errorPage main{margin-top:34px}
}


/* 2026-09-24 shared responsive navigation menu. */
.navlinks>.site-more{
  display:none;
  position:relative;
  z-index:121;
}
.navlinks>.site-more>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  color:var(--lf-muted);
  font-family:var(--lf-font);
  font-size:13px;
  font-weight:750;
}
.navlinks>.site-more>summary::-webkit-details-marker{display:none}
.site-more-icon{
  display:inline-grid;
  gap:3px;
  width:16px;
}
.site-more-icon i{
  display:block;
  height:2px;
  border-radius:99px;
  background:currentColor;
}
.navlinks>.site-more .site-more-panel{
  position:absolute;
  right:0;
  top:calc(100% + 4px);
  z-index:122;
  display:flex;
  flex-direction:column;
  gap:2px;
  width:min(240px,calc(100vw - 30px));
  min-width:0;
  max-height:calc(100dvh - 96px);
  overflow-y:auto;
  padding:8px;
  border:1px solid var(--lf-line);
  border-radius:14px;
  background:var(--lf-surface);
  box-shadow:0 12px 28px rgba(36,51,55,.13);
}
.navlinks>.site-more .site-more-panel a{
  display:flex!important;
  align-items:center!important;
  width:100%;
  min-height:44px!important;
  padding:10px 12px!important;
  border-radius:10px;
  color:var(--lf-muted)!important;
  font-size:13px!important;
  font-weight:750!important;
  white-space:nowrap;
}
.navlinks>.site-more .site-more-panel a[aria-current="page"]{
  background:#eef8f5;
  color:var(--lf-accent)!important;
  font-weight:900!important;
}

@media(max-width:760px){
  /* Do not hide navigation items unless a real overflow menu exists in markup. */
  .navlinks>a:nth-of-type(n+3){display:inline-flex!important}
  .navlinks>.site-more{display:none!important}
}


/* 2026-09-24 interior pass: bring informational pages into the same calm product family.
   Keep screenshots/data modules as components, but remove page-sized card shells and excess decoration. */
body.infoPage,
body.infoPage.howToPage{
  background:var(--lf-page-bg)!important;
}

body.infoPage:not(.howToPage) main{
  max-width:840px!important;
  padding:42px 0 56px!important;
}

body.infoPage.howToPage main{
  max-width:960px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 0 58px!important;
}

body.infoPage.howToPage .hero{
  margin:0!important;
  padding:54px 0 36px!important;
  border:0!important;
  border-bottom:1px solid var(--lf-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.infoPage.howToPage .hero h1{
  max-width:820px!important;
}

body.infoPage.howToPage .heroLead{
  max-width:800px!important;
  color:#46565a!important;
}

body.infoPage.howToPage .primary,
body.infoPage:not(.howToPage) .cta a{
  border:1px solid var(--lf-accent)!important;
  border-radius:10px!important;
  background:var(--lf-accent)!important;
  color:#fff!important;
  box-shadow:none!important;
}

body.infoPage.howToPage .secondary{
  border-color:#bfd4ce!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#356d66!important;
  box-shadow:none!important;
}

body.infoPage.howToPage .trustRow{margin-top:22px!important}
body.infoPage.howToPage .trustChip{
  min-height:34px!important;
  padding:5px 10px!important;
  border-color:#d6e4e0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#526762!important;
  box-shadow:none!important;
}

body.infoPage.howToPage .quickNav{
  gap:0!important;
  margin:20px 0 0!important;
  border-top:1px solid var(--lf-line)!important;
  border-bottom:1px solid var(--lf-line)!important;
}
body.infoPage.howToPage .quickNav a{
  min-height:48px!important;
  padding:10px 12px!important;
  border:0!important;
  border-right:1px solid var(--lf-line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#526762!important;
}
body.infoPage.howToPage .quickNav a:last-child{border-right:0!important}
body.infoPage.howToPage .quickNav a:hover{
  background:#eef6f3!important;
  color:var(--lf-ink)!important;
}

body.infoPage.howToPage .section{
  margin:0!important;
  padding:44px 0!important;
  border:0!important;
  border-top:1px solid var(--lf-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.infoPage.howToPage .whatGrid{gap:24px!important}
body.infoPage.howToPage .whatCard{
  min-height:0!important;
  padding:18px 0 0!important;
  border:0!important;
  border-top:3px solid #cfe1dc!important;
  border-radius:0!important;
  background:transparent!important;
}
body.infoPage.howToPage .whatIcon{
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
  background:#e8f3f0!important;
}
body.infoPage.howToPage .trustPanel{
  border-color:#d6e4e0!important;
  border-radius:14px!important;
  background:#f7faf9!important;
  box-shadow:none!important;
}
body.infoPage.howToPage .infoBox{
  border-color:#dde8e4!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.infoPage.howToPage .screen{
  border-color:#dbe5e2!important;
  border-radius:14px!important;
  background:#f8faf9!important;
  box-shadow:none!important;
}

body.infoPage:not(.howToPage) .dataHero{
  margin:34px 0 8px!important;
  padding:26px 0!important;
  border:0!important;
  border-top:1px solid var(--lf-line)!important;
  border-bottom:1px solid var(--lf-line)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.infoPage:not(.howToPage) .dataStats{gap:24px!important}
body.infoPage:not(.howToPage) .dataStat{
  padding:14px 0!important;
  border:0!important;
  border-top:3px solid var(--lf-accent)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.infoPage:not(.howToPage) .analysisFlow{gap:14px!important}
body.infoPage:not(.howToPage) .flowBox{
  padding:14px 10px!important;
  border:0!important;
  border-top:1px solid var(--lf-line)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.infoPage:not(.howToPage) .note{
  padding:18px 20px!important;
  border:0!important;
  border-left:4px solid var(--lf-accent)!important;
  border-radius:0!important;
  background:#f3f8f6!important;
}
body.infoPage:not(.howToPage) .trustGrid{gap:22px!important}
body.infoPage:not(.howToPage) .trustCard{
  padding:16px 0!important;
  border:0!important;
  border-top:1px solid var(--lf-line)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.infoPage:not(.howToPage) .policyMeta{
  border-left-color:var(--lf-accent)!important;
  background:#f7faf9!important;
}
body.infoPage:not(.howToPage) .cta{
  margin-top:44px!important;
  padding-top:26px!important;
  border-top:1px solid var(--lf-line)!important;
}

@media(max-width:760px){
  body.infoPage:not(.howToPage) main{
    padding:28px 0 46px!important;
  }
  body.infoPage.howToPage main{
    padding-bottom:46px!important;
  }
  body.infoPage.howToPage .hero{
    padding:34px 0 28px!important;
  }
  body.infoPage.howToPage .quickNav{
    display:flex!important;
    gap:0!important;
    overflow-x:auto;
    scrollbar-width:none;
  }
  body.infoPage.howToPage .quickNav::-webkit-scrollbar{display:none}
  body.infoPage.howToPage .quickNav a{
    flex:0 0 auto;
    min-width:132px;
    border-right:1px solid var(--lf-line)!important;
    white-space:nowrap;
  }
  body.infoPage.howToPage .section{
    padding:34px 0!important;
  }
  body.infoPage.howToPage .whatGrid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body.infoPage:not(.howToPage) .analysisFlow{
    grid-template-columns:1fr!important;
  }
  body.infoPage:not(.howToPage) .trustGrid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}


/* 2026-09-24 interior card system: align the three discovery hubs without flattening their content differences. */
:root{
  --lf-card-radius:14px;
  --lf-panel-radius:16px;
  --lf-card-border:#d6e2de;
  --lf-card-hover-border:#b8d0c9;
  --lf-card-hover-shadow:0 10px 24px rgba(36,70,63,.08);
}

.muniCard,
.rankingCard,
body.areasHub .ldkCard{
  border-color:var(--lf-card-border)!important;
  border-radius:var(--lf-card-radius)!important;
  background:var(--lf-surface)!important;
}

.rankingCard{
  box-shadow:none!important;
}
.rankingCard:hover{
  border-color:var(--lf-card-hover-border)!important;
  box-shadow:var(--lf-card-hover-shadow)!important;
}

.searchPanel,
.comparePanel,
body.areasHub .hubNeedLens{
  border-color:var(--lf-line)!important;
  border-radius:var(--lf-panel-radius)!important;
  box-shadow:none!important;
}

.page>main>.rankHero{
  padding-top:56px!important;
  padding-bottom:38px!important;
}

@media(max-width:760px){
  .page>main>.rankHero{
    padding-top:34px!important;
    padding-bottom:28px!important;
  }
  .muniCard,
  .rankingCard,
  body.areasHub .ldkCard{
    border-radius:12px!important;
  }
}


/* 2026-09-24 core detail interior pass.
   Municipality detail is the baseline; diagnosis results and station detail
   use the same calmer surface language and spacing rhythm. */
.resultShell{
  max-width:900px!important;
}
.resultShell .resultHero,
.resultShell .resultPanel{
  border:1px solid var(--lf-line)!important;
  border-radius:14px!important;
  background:var(--lf-surface)!important;
  box-shadow:none!important;
}
.resultShell .top3SummaryPanel,
.resultShell .rankingSummaryPanel{
  border-top:3px solid var(--lf-accent)!important;
  background:var(--lf-surface)!important;
}
.resultShell .resultAccordion{
  border:1px solid var(--lf-line)!important;
  border-top:3px solid #b8d8d1!important;
  border-radius:14px!important;
  background:var(--lf-surface)!important;
  box-shadow:none!important;
}
.resultShell .resultAccordion>summary{
  background:var(--lf-surface)!important;
  color:#356d66!important;
}
.resultShell .resultAccordion>summary:hover{
  background:#f5faf8!important;
  color:#285f58!important;
}
.resultShell .balanceProfile{
  border-color:var(--lf-line)!important;
  border-radius:14px!important;
  background:var(--lf-surface)!important;
  box-shadow:none!important;
}
.resultShell .miniFact,
.resultShell .precisionItem,
.resultShell .discoveryCard,
.resultShell .currentDifferenceSummary>div,
.resultShell .livingAreaLifeOutline{
  border-radius:10px!important;
  box-shadow:none!important;
}
.resultShell .rankingBridge,
.resultShell .commonBox,
.resultShell .commonCaution,
.resultShell .similarityNote,
.resultShell .coverageBox,
.resultShell .provisionalNote,
.resultShell .flagBox,
.resultShell .guardNote{
  border-radius:10px!important;
}
.resultShell .topRank{
  background:#edf6f3!important;
  color:#326d64!important;
}
.resultShell .scorePill{
  color:#2d756c!important;
}
.resultShell .copyNote{margin-top:14px!important}

.detailHero{
  padding-top:38px!important;
}
.detailHero .detailLead{
  max-width:820px!important;
}
.detailHero .heroActions .btn{
  border-radius:10px!important;
}
.detailJump a{
  border-radius:999px!important;
}

@media(max-width:760px){
  .resultShell{max-width:none!important}
  .resultShell .resultHero,
  .resultShell .resultPanel,
  .resultShell .resultAccordion,
  .resultShell .balanceProfile{
    border-radius:12px!important;
  }
  .resultShell .resultHero,
  .resultShell .resultPanel{
    padding:19px!important;
  }
  .detailHero{padding-top:30px!important}
}
