
:root{
  --blue:#1069d3;
  --deep:#0a2d63;
  --sky:#eaf7ff;
  --orange:#ff6a22;
  --text:#17324d;
  --muted:#6c8094;
  --line:#dfeaf2;
  --shadow:0 10px 30px rgba(32,104,160,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1520px,94%);margin:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:linear-gradient(180deg,#eaf7ff 0%,#fff 100%);
  border-bottom:1px solid #dbeaf5;
}
.header-main{
  min-height:108px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.site-logo{
  display:flex;
  align-items:center;
  gap:14px;
}
.logo-icon{
  font-size:52px;
  color:var(--blue);
  font-weight:900;
  line-height:1;
}
.site-logo strong{
  display:block;
  font-size:32px;
  line-height:1.05;
  letter-spacing:.02em;
  color:#0a3473;
  font-weight:900;
}
.site-logo small{
  display:block;
  letter-spacing:.24em;
  color:#15447c;
  font-weight:800;
  margin-top:6px;
  font-size:12px;
}
.header-tagline{
  border-left:3px solid #f2c718;
  padding-left:22px;
  font-weight:800;
  color:#184376;
  font-size:16px;
}
.header-tools{
  display:flex;
  align-items:center;
  gap:14px;
}
.header-search{
  display:flex;
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
  min-width:420px;
  border:1px solid #e1edf5;
}
.header-search input{
  flex:1;border:0;padding:15px 18px;font-size:14px;outline:none
}
.header-search button{
  width:56px;border:0;background:#fff;color:#0c5dbb;font-size:26px;cursor:pointer
}
.consult-btn{
  background:linear-gradient(180deg,#ff7b36,#ff621d);
  color:#fff;
  border-radius:18px;
  padding:12px 20px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(255,106,34,.26);
  text-align:center;
  line-height:1.25;
}
.consult-btn small{font-weight:700}
.nav-wrap{
  padding:0 0 10px;
}
.nav-bar{
  background:#fff;
  border:1px solid #e4edf4;
  box-shadow:0 6px 16px rgba(36,91,132,.08);
  border-radius:22px;
  display:flex;
  align-items:center;
  overflow-x:auto;
  white-space:nowrap;
  padding:0 10px;
}
.nav-bar a{
  padding:14px 16px;
  font-size:14px;
  font-weight:800;
  color:#103c70;
  border-bottom:3px solid transparent;
}
.nav-bar a:hover,.nav-bar a.active{color:#0c66cc;border-bottom-color:#0c66cc}

.hero-shell{
  background:#f3fbff;
}
.hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:22px;
  align-items:stretch;
  padding:14px 0 22px;
}
.hero-main{
  min-height:470px;
  border-radius:26px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.76) 38%,rgba(255,255,255,.05) 70%),
    url("hero-waterfront.webp") center/cover no-repeat;
  box-shadow:var(--shadow);
  position:relative;
}
.hero-content{
  width:62%;
  padding:52px 54px;
}
.hero-kicker{
  display:inline-block;
  color:#0a4fa0;
  font-weight:800;
  transform:rotate(-3deg);
  font-size:17px;
  line-height:1.5;
  margin-bottom:10px;
}
.hero-content h1{
  margin:0;
  font-size:64px;
  line-height:1.1;
  color:#081d42;
  font-weight:950;
  letter-spacing:-.03em;
}
.hero-content h1 span{color:#0d6dd8}
.yellow-line{
  width:560px;
  max-width:96%;
  height:12px;
  background:#ffd930;
  border-radius:50%;
  margin:8px 0 12px;
  transform:rotate(-1deg);
}
.hero-content h2{
  font-size:23px;
  margin:8px 0 8px;
  color:#15385f;
}
.hero-content p{
  font-size:18px;
  font-weight:700;
  color:#2b5278;
}
.hero-btn{
  display:inline-block;
  margin-top:14px;
  background:linear-gradient(180deg,#ff7d38,#ff661e);
  color:white;
  font-size:19px;
  font-weight:900;
  padding:16px 28px;
  border-radius:30px;
  box-shadow:0 8px 20px rgba(255,106,34,.28);
}

.profile-panel{
  background:#fff;
  border-radius:24px;
  padding:14px;
  box-shadow:var(--shadow);
  border:1px solid #e2edf4;
}
.profile-image-wrap{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,#e7f8ff,#dff2ff);
}
.profile-image-wrap img{
  width:100%;
  height:235px;
  object-fit:cover;
  object-position:center 25%;
}
.speech{
  position:absolute;
  right:10px; top:15px;
  background:#fffef4;
  border:1px solid #e5d6a6;
  padding:13px 15px;
  border-radius:50%;
  font-weight:800;
  color:#1a3756;
  font-size:13px;
  text-align:center;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.profile-copy{padding:14px 10px 6px}
.profile-copy h3{font-size:25px;margin:0 0 4px;color:#142b48}
.profile-copy h3 small{font-size:12px}
.role{color:#6b7d90;font-weight:700;margin-bottom:10px}
.profile-copy p{font-size:14px;margin:0 0 10px}
.profile-copy ul{list-style:none;padding:0;margin:0 0 12px}
.profile-copy li{margin:6px 0;font-size:14px;font-weight:800;color:#174c83}
.profile-btn{
  display:block;
  border:2px solid #0d6ed8;
  color:#0d6ed8;
  text-align:center;
  padding:10px;
  border-radius:24px;
  font-weight:900;
}

.section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:28px 0 12px;
}
.section-heading>div{display:flex;align-items:center;gap:10px}
.section-heading h2{font-size:25px;margin:0;color:#12365e}
.section-heading small{color:#7a8da0}
.section-heading>a{color:#0c68cf;font-weight:900}
.heading-icon{font-size:24px}

.featured-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.article-card{
  background:#fff;
  border:1px solid #e1ebf2;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(21,82,129,.08);
  transition:.18s;
}
.article-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(21,82,129,.14)}
.article-card img{
  width:100%;height:178px;object-fit:cover;background:#e8f5fb
}
.article-card .pad{padding:14px}
.article-card .pill{
  display:inline-block;
  background:#0f6ed8;
  color:#fff;
  padding:4px 9px;
  border-radius:12px;
  font-size:11px;
  font-weight:800;
}
.article-card .date{font-size:11px;color:#7d8fa0;margin-top:6px}
.article-card h3{font-size:19px;line-height:1.45;margin:8px 0;color:#142c49}
.article-card p{font-size:13px;color:#6d7f8f;margin:0}

.category-section{padding-bottom:8px}
.category-tiles{
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:10px;
}
.cat-tile{
  min-height:92px;
  border-radius:14px;
  display:grid;
  grid-template-columns:34px 1fr 14px;
  align-items:center;
  padding:13px 14px;
  font-weight:900;
  border:1px solid rgba(0,0,0,.03);
}
.cat-tile b{font-size:26px}
.cat-tile span{font-size:14px;line-height:1.35}
.cat-tile em{font-style:normal;font-size:24px}
.blue{background:#e7f3ff;color:#0d6dd8}
.green{background:#e8f9ef;color:#1d9c5b}
.purple{background:#f2ecff;color:#7755d9}
.orange{background:#fff0e3;color:#e8731b}
.pink{background:#ffe9ef;color:#e0446d}
.sky{background:#e8f6ff;color:#167bd8}
.mint{background:#e5f8ef;color:#14945a}
.lilac{background:#f1edff;color:#6f58d8}

.lower-grid{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:24px;
  padding-bottom:42px;
}
.area-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.area-card,.quick-box{
  border:1px solid #e0ebf2;
  border-radius:18px;
  background:#fff;
  padding:18px;
  box-shadow:0 8px 20px rgba(21,82,129,.06);
}
.area-card h3,.quick-box h3{margin:0 0 10px;color:#173c64}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{
  background:#eef7ff;
  color:#1c5f99;
  padding:6px 10px;
  border-radius:15px;
  font-size:12px;
  font-weight:800;
}
.quick-search{display:flex;margin-bottom:18px}
.quick-search input{
  flex:1;border:1px solid #d6e4ee;padding:10px 12px;border-radius:10px 0 0 10px;outline:none
}
.quick-search button{
  border:0;background:#0e6ed8;color:#fff;padding:0 16px;border-radius:0 10px 10px 0;font-weight:800
}

footer{
  background:#0d3157;
  color:#fff;
  padding:28px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

.simple-header{
  padding:22px 0;
  background:#eef8ff;
  border-bottom:1px solid #dceaf4;
}
.brand{
  font-size:30px;
  font-weight:900;
  color:#0b4f9e;
}
.subtitle{color:#658098;font-size:13px}
.article-layout{display:grid;grid-template-columns:1fr 320px;gap:30px;padding:36px 0}
.article-body h1{font-size:36px;line-height:1.35;color:#183651}
.article-body h2{font-size:23px;border-left:5px solid #0c6ed8;padding-left:10px;margin-top:34px}
.article-body .lead{font-size:18px;color:#506b81}
.article-body .pointbox{background:#f1f8fd;border:1px solid #d9eaf6;padding:18px;border-radius:14px}
.article-body .author-view{background:#fff8e9;border-left:5px solid #f2b52f;padding:18px;border-radius:10px}
.article-body .audience{display:flex;gap:7px;flex-wrap:wrap}
.article-body .audience span{background:#edf6fd;padding:5px 10px;border-radius:15px;font-size:12px}
.cta{border:1px solid #dfeaf2;border-radius:16px;padding:18px;margin-top:16px}
.btn{display:inline-block;background:#0c6dd8;color:#fff;padding:10px 16px;border-radius:20px;font-weight:800}
.listing-page{padding:35px 0}
.listing-page .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.search-large{display:flex;max-width:680px}
.search-large input{flex:1;padding:12px;border:1px solid #d8e6f0;border-radius:12px 0 0 12px}
.search-large button{border:0;background:#0d6ed8;color:#fff;padding:0 18px;border-radius:0 12px 12px 0}
.profile-page{max-width:900px;padding:40px 0}
.profile-hero{display:flex;gap:25px;align-items:center}
.profile-hero img{width:240px;border-radius:22px}

@media(max-width:1200px){
  .header-main{grid-template-columns:1fr auto}
  .header-tagline{display:none}
  .hero-layout{grid-template-columns:1fr 320px}
  .hero-content{width:70%}
  .hero-content h1{font-size:54px}
  .category-tiles{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .site-header{position:static}
  .header-main{grid-template-columns:1fr;gap:12px;padding:14px 0}
  .header-tools{display:grid;grid-template-columns:1fr auto}
  .header-search{min-width:0}
  .hero-layout{grid-template-columns:1fr}
  .hero-main{min-height:430px}
  .hero-content{width:75%;padding:36px}
  .profile-panel{display:grid;grid-template-columns:220px 1fr}
  .profile-image-wrap img{height:100%}
  .featured-grid{grid-template-columns:repeat(2,1fr)}
  .lower-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .container{width:min(95%,100%)}
  .site-logo strong{font-size:25px}
  .site-logo small{font-size:10px}
  .logo-icon{font-size:40px}
  .header-tools{grid-template-columns:1fr}
  .consult-btn{display:none}
  .nav-wrap{padding-bottom:4px}
  .nav-bar{border-radius:0;width:100%;padding:0}
  .hero-layout{padding-top:8px}
  .hero-main{min-height:520px;background-position:65% center}
  .hero-content{width:100%;padding:28px 22px;background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.72))}
  .hero-content h1{font-size:42px}
  .hero-content h2{font-size:19px}
  .hero-content p{font-size:15px}
  .profile-panel{grid-template-columns:1fr}
  .profile-image-wrap img{height:240px}
  .featured-grid{grid-template-columns:1fr}
  .category-tiles{grid-template-columns:repeat(2,1fr)}
  .area-cards{grid-template-columns:1fr}
  .section-heading{display:block}
  .section-heading>div{align-items:flex-start;flex-wrap:wrap}
  .article-layout{grid-template-columns:1fr}
  .listing-page .card-grid{grid-template-columns:1fr}
  .profile-hero{display:block}
}

/* Ver.5 polish */
.hero-content h1{
  white-space:nowrap;
  font-size:58px;
  letter-spacing:-.035em;
}
.hero-content h1 span{
  white-space:nowrap;
}
.hero-content{
  width:68%;
}
.hero-main{
  background-position:center center;
}
.profile-panel{
  align-self:stretch;
}
.profile-copy p{
  line-height:1.7;
}
.article-card .pad{
  min-height:205px;
}
.category-tiles{
  margin-top:4px;
}
.cat-tile{
  transition:transform .18s ease, box-shadow .18s ease;
}
.cat-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(21,82,129,.10);
}
@media(max-width:1350px){
  .hero-content h1{font-size:50px}
  .hero-content{width:72%}
}
@media(max-width:1100px){
  .hero-content h1{font-size:44px}
  .hero-content{width:78%}
}
@media(max-width:900px){
  .hero-content h1{
    white-space:normal;
    font-size:48px;
  }
}
@media(max-width:640px){
  .hero-content h1{
    white-space:normal;
    font-size:40px;
  }
}

.beginner-section{padding-bottom:6px}
.beginner-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.beginner-card{
  background:linear-gradient(180deg,#ffffff,#f8fcff);
  border:1px solid #dfeaf2;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 8px 20px rgba(21,82,129,.06);
}
.beginner-card strong{
  display:block;
  font-size:17px;
  color:#123e6c;
  margin-bottom:5px;
}
.beginner-card span{
  font-size:13px;
  color:#6e8397;
}
@media(max-width:900px){
  .beginner-grid{grid-template-columns:1fr}
}

/* Ver.6: hero title hard-fix */
.hero-content{width:92%;max-width:none}
.hero-title{
  display:flex !important;
  align-items:baseline;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  width:max-content;
  max-width:100%;
  font-size:46px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
}
.hero-title-blue,.hero-title-dark{
  display:inline-block !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  flex:0 0 auto;
}
.hero-title-blue{color:#0d6dd8 !important}
.hero-title-dark{color:#081d42 !important}
.hero-content h2,.hero-content p{max-width:620px}
@media(max-width:1200px){.hero-title{font-size:42px !important}}
@media(max-width:1000px){.hero-title{font-size:38px !important}}
@media(max-width:900px){.hero-title{font-size:46px !important;white-space:nowrap !important}}
@media(max-width:640px){
  .hero-title{font-size:clamp(29px,8vw,40px) !important;white-space:nowrap !important}
  .hero-content{width:100%}
}

/* Rich profile page */
.profile-page-v6{max-width:1120px;padding:36px 0 56px}
.profile-intro-card{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center;background:linear-gradient(135deg,#eef9ff,#fff);border:1px solid #dfeaf2;border-radius:24px;padding:26px;box-shadow:0 10px 28px rgba(21,82,129,.08)}
.profile-intro-card img{width:100%;border-radius:20px;aspect-ratio:1/1;object-fit:cover;object-position:center 20%}
.profile-intro-card h1{font-size:40px;margin:0 0 4px;color:#12365e}
.profile-intro-card .eyebrow{font-size:13px;font-weight:900;color:#0d6dd8;letter-spacing:.08em}
.profile-intro-card .lead-copy{font-size:18px;font-weight:800;color:#234e75;line-height:1.8}
.profile-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.profile-badges span{background:#fff;border:1px solid #dceaf4;border-radius:18px;padding:7px 11px;font-size:12px;font-weight:800;color:#24587f}
.profile-section-v6{margin-top:28px;background:#fff;border:1px solid #e0ebf2;border-radius:20px;padding:24px;box-shadow:0 8px 20px rgba(21,82,129,.05)}
.profile-section-v6 h2{margin:0 0 14px;color:#153b66;font-size:24px;border-left:5px solid #0d6dd8;padding-left:12px}
.profile-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.profile-point{background:#f7fbfe;border-radius:15px;padding:17px}
.profile-point h3{margin:0 0 7px;color:#164d82;font-size:17px}
.timeline{display:grid;gap:10px}
.timeline-item{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #edf2f6}
.timeline-item:last-child{border-bottom:0}
.timeline-item strong{color:#0d6dd8}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.service-card{background:linear-gradient(180deg,#fff,#f7fbfe);border:1px solid #dfeaf2;border-radius:16px;padding:16px}
.service-card b{display:block;color:#174f83;margin-bottom:5px}
.profile-quote-v6{background:#fff8e8;border-left:6px solid #f1ba27;border-radius:14px;padding:18px 20px;font-size:18px;font-weight:800;color:#3b4d5f}
@media(max-width:800px){.profile-intro-card{grid-template-columns:1fr}.profile-intro-card img{max-width:320px;margin:auto}.profile-grid-2,.service-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:70px 1fr}}


/* =========================
   Ver.7 polish
   ========================= */

/* Home profile message: no overlap with face */
.profile-image-wrap{
  overflow:hidden;
}
.profile-message{
  position:relative;
  margin:10px 10px 0;
  padding:10px 14px;
  background:#fff9dc;
  color:#21466d;
  border:1px solid #eadb9e;
  border-radius:16px;
  font-weight:800;
  font-size:13px;
  line-height:1.45;
  text-align:center;
  box-shadow:0 4px 12px rgba(72,101,130,.08);
}
.profile-message::before{
  content:"";
  position:absolute;
  top:-8px;
  left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:14px;
  height:14px;
  background:#fff9dc;
  border-left:1px solid #eadb9e;
  border-top:1px solid #eadb9e;
}
.speech{display:none!important;}

/* Pop / friendly typography on all non-home pages */

.subpage{
  font-family:"M PLUS Rounded 1c","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  background:
    linear-gradient(180deg,#f4fbff 0,#ffffff 260px);
  color:#17324d;
}
.subpage .simple-header{
  background:linear-gradient(180deg,#eaf7ff,#f8fcff);
  border-bottom:1px solid #d9eaf5;
  box-shadow:0 4px 14px rgba(31,103,157,.05);
}
.subpage .simple-header .container{
  padding-top:4px;
  padding-bottom:4px;
}
.subpage .brand{
  font-family:"M PLUS Rounded 1c","Yu Gothic UI",sans-serif;
  font-weight:900;
  letter-spacing:.02em;
}
.subpage h1,
.subpage h2,
.subpage h3{
  font-family:"M PLUS Rounded 1c","Yu Gothic UI",sans-serif;
  letter-spacing:.01em;
}
.subpage .article-body h1,
.subpage .listing-page h1,
.subpage .profile-page h1{
  font-weight:900;
  color:#113b69;
}
.subpage .article-body h2,
.subpage .profile-page h2{
  border-left:0;
  padding-left:0;
  position:relative;
  font-weight:900;
  color:#174d82;
}
.subpage .article-body h2::after,
.subpage .profile-page h2::after{
  content:"";
  display:block;
  width:54px;
  height:5px;
  background:#ffd84d;
  border-radius:999px;
  margin-top:7px;
}
.subpage .article-body,
.subpage .profile-page,
.subpage .listing-page{
  background:#fff;
  border:1px solid #e0ecf4;
  border-radius:22px;
  box-shadow:0 10px 28px rgba(28,91,137,.07);
}
.subpage .article-body{
  padding:28px 34px 38px;
}
.subpage .profile-page{
  margin-top:30px;
  margin-bottom:45px;
  padding:34px;
}
.subpage .listing-page{
  margin-top:30px;
  margin-bottom:45px;
  padding:30px;
}
.subpage .profile-card,
.subpage .cta{
  border-radius:18px;
  box-shadow:0 8px 20px rgba(31,92,138,.06);
}
.subpage .pointbox{
  background:#f1f8ff!important;
  border-radius:16px!important;
}
.subpage .author-view{
  background:#fff8e8!important;
  border-left:0!important;
  border-radius:16px!important;
  box-shadow:inset 0 0 0 1px #f6e3af;
}
.subpage .article-card{
  border-radius:18px;
}
.subpage .article-card h3{
  font-weight:800;
}
.subpage .btn,
.subpage button{
  font-family:"M PLUS Rounded 1c","Yu Gothic UI",sans-serif;
  border-radius:999px;
}
.subpage .search-large input{
  font-family:"M PLUS Rounded 1c","Yu Gothic UI",sans-serif;
}
.subpage .profile-hero{
  background:linear-gradient(135deg,#eef8ff,#fff);
  padding:20px;
  border-radius:20px;
  border:1px solid #dfeef7;
}
.subpage .profile-hero img{
  border-radius:22px;
  box-shadow:0 8px 20px rgba(25,82,126,.10);
}
.subpage .profile-page section{
  background:#fbfdff;
  border:1px solid #e4eef5;
  border-radius:18px;
  padding:18px 20px;
  margin-top:16px;
}
.subpage .profile-page section p{
  margin-bottom:0;
}
.subpage .profile-page section ul{
  margin-bottom:0;
}

@media(max-width:900px){
  .subpage .article-body,
  .subpage .profile-page,
  .subpage .listing-page{
    border-radius:16px;
    padding:22px;
  }
}


/* =========================
   Ver.8 content expansion
   ========================= */
.market-now,.latest-news-section,.consultation-section,.archive-section{
  padding-top:4px;
  padding-bottom:8px;
}
.metric-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.metric-card{
  background:linear-gradient(160deg,#ffffff,#f2f9ff);
  border:1px solid #dfeaf2;
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 20px rgba(21,82,129,.06);
}
.metric-card span{
  display:block;
  color:#617a90;
  font-size:13px;
  font-weight:800;
}
.metric-card strong{
  display:block;
  color:#0c66ca;
  font-size:28px;
  font-weight:900;
  margin:5px 0;
}
.metric-card small{color:#6f8294}
.market-note{
  margin-top:10px;
  padding:10px 14px;
  background:#fff9e8;
  color:#6d5a23;
  border-radius:12px;
  font-size:12px;
}
.latest-news-grid{
  background:#fff;
  border:1px solid #e0ebf2;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(21,82,129,.05);
}
.news-row{
  display:grid;
  grid-template-columns:100px 150px 1fr 30px;
  gap:12px;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid #edf2f6;
}
.news-row:last-child{border-bottom:0}
.news-row:hover{background:#f8fcff}
.news-date{font-size:12px;color:#73869a}
.news-cat{
  display:inline-block;
  width:max-content;
  max-width:145px;
  background:#edf6ff;
  color:#1a68b1;
  padding:4px 8px;
  border-radius:10px;
  font-size:11px;
  font-weight:800;
}
.news-title{font-weight:800;color:#193a5b}
.news-arrow{font-size:20px;color:#0c69cd}
.consult-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.consult-grid a{
  display:block;
  padding:18px 20px;
  border:1px solid #dfeaf2;
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#f7fbff);
  box-shadow:0 8px 20px rgba(21,82,129,.05);
}
.consult-grid strong{
  display:block;
  color:#174a7b;
  font-size:17px;
  margin-bottom:5px;
}
.consult-grid span{font-size:13px;color:#708294}
.archive-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.archive-box{
  padding:18px;
  border:1px solid #dfeaf2;
  border-radius:18px;
  background:#fff;
}
.archive-box h3{margin:0 0 10px;color:#173e67}
.source-box{
  margin-top:28px;
  padding:16px 18px;
  background:#f4f9fd;
  border:1px solid #dceaf4;
  border-radius:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  font-size:13px;
}
.source-box strong{color:#234d74}
.source-box a{color:#0b68ca;font-weight:800}
.source-box span{color:#6e8192}
@media(max-width:900px){
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .news-row{grid-template-columns:85px 120px 1fr 24px}
}
@media(max-width:640px){
  .metric-grid,.consult-grid,.archive-grid{grid-template-columns:1fr}
  .news-row{grid-template-columns:1fr 24px;gap:4px 8px}
  .news-date,.news-cat{grid-column:1}
  .news-title{grid-column:1}
  .news-arrow{grid-column:2;grid-row:1/4;align-self:center}
}

/* =========================
   Ver.9 editorial credibility
   ========================= */
.trust-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr) auto;
  gap:10px;
  align-items:center;
  margin-top:14px;
  padding:12px 16px;
  border:1px solid #dceaf4;
  background:#fff;
  border-radius:16px;
  box-shadow:0 6px 16px rgba(31,89,133,.05);
}
.trust-strip div{padding-right:10px;border-right:1px solid #e7eef4}
.trust-strip b{display:block;color:#174a78;font-size:13px}
.trust-strip span{font-size:11px;color:#77899a}
.trust-strip a{color:#0d69cc;font-size:12px;font-weight:900}
.article-trust-line{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin:10px 0 18px;
}
.article-trust-line span{
  background:#eaf8ef;
  color:#277047;
  padding:5px 9px;
  border-radius:12px;
  font-size:11px;
  font-weight:800;
}
.article-trust-line a{
  margin-left:auto;
  font-size:11px;
  color:#0b67c9;
  font-weight:800;
}
.source-box{display:block}
.source-head{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
}
.trust-badge{
  display:inline-block;
  padding:5px 9px;
  background:#e9f4ff;
  color:#0b62b8!important;
  border-radius:12px;
  font-weight:900;
  font-size:11px;
}
.checked{
  color:#7b8d9e!important;
  font-size:11px;
}
.policy-page{
  max-width:1050px;
  margin:32px auto 50px;
}
.policy-hero{
  background:linear-gradient(135deg,#eaf7ff,#fff);
  border:1px solid #dcebf5;
  padding:28px 30px;
  border-radius:24px;
  box-shadow:0 10px 28px rgba(28,91,137,.07);
}
.eyebrow{
  color:#0c69cd;
  font-weight:900;
  letter-spacing:.14em;
  font-size:12px;
}
.policy-hero h1{font-size:34px;margin:8px 0}
.policy-page section{
  margin-top:20px;
  padding:24px;
  background:#fff;
  border:1px solid #e1ebf2;
  border-radius:20px;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.trust-grid>div,.policy-list>div{
  border:1px solid #e4edf3;
  border-radius:16px;
  padding:17px;
  background:#fbfdff;
}
.trust-level{
  display:inline-block;
  padding:4px 8px;
  border-radius:10px;
  font-size:10px;
}
.level1{background:#e6f7ec;color:#227245}
.level2{background:#eaf4ff;color:#165fa8}
.level3{background:#fff3df;color:#a35d12}
.policy-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.policy-rules li{margin:8px 0}
.policy-footer-note{text-align:right;color:#7b8b99;font-size:12px;margin-top:12px}
@media(max-width:900px){
  .trust-strip{grid-template-columns:1fr 1fr}
  .trust-grid,.policy-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  .trust-strip{grid-template-columns:1fr}
  .trust-strip div{border-right:0;border-bottom:1px solid #e7eef4;padding-bottom:8px}
}

/* =========================
   Ver.10 media usability
   ========================= */
.page-intro{margin-bottom:18px}
.page-intro h1{margin:.2em 0}
.article-filterbar{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px
}
.filter-btn{
  border:1px solid #d8e6f0;
  background:#fff;
  color:#315b7e;
  padding:8px 13px;
  border-radius:999px;
  cursor:pointer;
  font-weight:800;
}
.filter-btn.active,.filter-btn:hover{
  background:#0d6ed8;color:#fff;border-color:#0d6ed8
}
.all-articles-list{display:grid;gap:12px}
.all-article-row{
  display:grid;
  grid-template-columns:180px 1fr 30px;
  gap:18px;
  align-items:center;
  padding:14px;
  background:#fff;
  border:1px solid #e0ebf2;
  border-radius:18px;
}
.all-article-row img{
  width:180px;height:115px;object-fit:cover;border-radius:13px;background:#eaf5fb
}
.all-article-meta{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:#728496
}
.all-article-meta span,.all-article-meta b{
  padding:3px 7px;border-radius:9px;background:#edf6ff;color:#1b67ad
}
.all-article-copy h2{font-size:19px;margin:5px 0}
.all-article-copy p{font-size:13px;color:#6c7f90;margin:0 0 6px}
.mini-tags{display:flex;gap:5px;flex-wrap:wrap}
.mini-tags i{font-style:normal;font-size:10px;background:#f2f6f8;padding:3px 6px;border-radius:8px;color:#71808d}
.all-arrow{font-size:22px;color:#0d6ed8}
.category-intro{
  background:linear-gradient(135deg,#eef8ff,#fff);
  border:1px solid #dcebf5;
  border-radius:20px;
  padding:22px 24px;
  margin-bottom:20px
}
.category-intro h2{font-size:30px;margin:4px 0}
.category-layout{display:grid;grid-template-columns:1fr 310px;gap:24px}
.category-list{display:grid;gap:12px}
.category-row{
  display:grid;
  grid-template-columns:155px 1fr 24px;
  gap:16px;
  align-items:center;
  padding:12px;
  border:1px solid #e0ebf2;
  border-radius:16px;
  background:#fff
}
.category-row img{width:155px;height:100px;object-fit:cover;border-radius:12px;background:#eaf5fb}
.category-row h3{font-size:17px;margin:5px 0}
.category-row p{font-size:12px;color:#708294;margin:0}
.category-side{display:grid;gap:14px;align-content:start}
.side-module{
  border:1px solid #e0ebf2;
  border-radius:17px;
  padding:16px;
  background:#fbfdff
}
.side-module h3{margin:0 0 10px}
.side-module ul{padding-left:20px;margin-bottom:0}
.text-link{color:#0c69ce;font-weight:800;font-size:12px}
.article-datebar{
  display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px
}
.article-datebar span{
  font-size:11px;color:#687f92;background:#f1f5f8;padding:5px 8px;border-radius:9px
}
.ranking-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px
}
.ranking-card{
  display:grid;
  grid-template-columns:36px 1fr 18px;
  gap:8px;
  align-items:center;
  border:1px solid #e0ebf2;
  border-radius:15px;
  padding:12px;
  background:#fff;
  box-shadow:0 6px 16px rgba(28,86,130,.05)
}
.rank-no{
  display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:#fff1ca;color:#ad7000;font-weight:900
}
.ranking-card small{display:block;color:#6d8192;font-size:10px}
.ranking-card strong{display:block;font-size:13px;line-height:1.35;color:#173b60}
.ranking-card>b{color:#0d6ed8}
.source-directory{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px
}
.source-directory>a,.source-directory>div{
  display:block;border:1px solid #e2ebf2;border-radius:14px;padding:14px;background:#fbfdff
}
.source-directory strong{display:block;color:#154c7d}
.source-directory span{font-size:12px;color:#708395}
@media(max-width:1100px){
  .ranking-grid{grid-template-columns:repeat(2,1fr)}
  .category-layout{grid-template-columns:1fr}
}
@media(max-width:720px){
  .all-article-row{grid-template-columns:90px 1fr 18px}
  .all-article-row img{width:90px;height:82px}
  .all-article-copy p{display:none}
  .all-article-copy h2{font-size:15px}
  .category-row{grid-template-columns:95px 1fr 18px}
  .category-row img{width:95px;height:78px}
  .ranking-grid,.source-directory{grid-template-columns:1fr}
}

/* =========================
   Ver.11 article depth
   ========================= */
.breadcrumb{
  display:flex;gap:8px;align-items:center;
  font-size:11px;color:#73879a;margin-bottom:10px
}
.breadcrumb a{color:#2b69a1}
.summary3{
  margin:20px 0;
  background:linear-gradient(135deg,#ecf7ff,#fff);
  border:1px solid #d9eaf5;
  border-radius:18px;
  padding:18px 20px
}
.summary3-title{
  font-weight:900;color:#155c9f;margin-bottom:10px
}
.summary3-title span{
  display:inline-grid;place-items:center;
  width:28px;height:28px;border-radius:50%;
  background:#0d6ed8;color:#fff;margin-right:6px
}
.summary3 ol{margin:0;padding-left:24px}
.summary3 li{margin:5px 0;font-weight:700;color:#294f72}
.number-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px
}
.number-card{
  padding:16px;
  border:1px solid #dceaf3;
  border-radius:17px;
  background:linear-gradient(160deg,#fff,#f5fbff);
  text-align:center
}
.number-card small{display:block;color:#71869a;font-weight:800}
.number-card strong{
  display:block;color:#0d69ce;font-size:25px;font-weight:900;margin:4px 0
}
.number-card span{font-size:11px;color:#758797}
.view-label{
  display:inline-block;
  font-size:10px;
  font-weight:900;
  color:#a46612;
  letter-spacing:.12em;
  margin-bottom:5px
}
.table-wrap{overflow-x:auto}
.comparison-table{
  width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid #dfe9f1;border-radius:14px;overflow:hidden
}
.comparison-table th,.comparison-table td{
  padding:11px 13px;border-bottom:1px solid #e8eef3;border-right:1px solid #e8eef3;
  font-size:13px;text-align:left
}
.comparison-table thead th{background:#eef7fd;color:#174e7d}
.comparison-table tbody th{background:#fafcfe;color:#355874}
.comparison-table tr:last-child th,.comparison-table tr:last-child td{border-bottom:0}
.comparison-table th:last-child,.comparison-table td:last-child{border-right:0}
.update-list{
  border-left:3px solid #9acdf2;
  margin-left:8px;
  padding-left:16px
}
.update-list div{display:flex;gap:14px;margin:8px 0}
.update-list time{font-size:11px;color:#73869a;min-width:80px}
.update-list span{font-size:13px;color:#3e5e78}
.prevnext{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px
}
.prevnext>a{
  display:block;padding:14px 16px;border:1px solid #dfe9f1;border-radius:16px;background:#fbfdff
}
.prevnext>a:last-child{text-align:right}
.prevnext small{display:block;color:#72869a;font-size:10px}
.prevnext span{display:block;font-weight:800;color:#194d79;font-size:13px;line-height:1.4}
.article-policy-box{margin-top:16px}
@media(max-width:720px){
  .number-grid{grid-template-columns:1fr}
  .prevnext{grid-template-columns:1fr}
  .prevnext>a:last-child{text-align:left}
}

/* Ver.12 article content refinement */
.article-body p{font-size:15px;line-height:1.9;color:#344f67}
.article-body h2{margin-top:42px}
.article-body .lead{font-size:18px;line-height:1.85}
.article-body .pointbox li,.summary3 li{line-height:1.75}
.article-body .author-view p{font-size:15px}
.article-body .source-box{margin-top:34px}
.article-card h3{line-height:1.5}
.article-card p{line-height:1.65}

/* =========================
   Ver.14 soft typography + contact
   ========================= */

body,
button,
input,
select,
textarea{
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
}
body{font-weight:500}
.site-logo strong,
.hero-content h1,
.section-heading h2,
.article-body h1,
.article-body h2,
.profile-page h1,
.profile-page h2{
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic UI",sans-serif;
}
.article-body p,
.article-card p,
.category-row p,
.all-article-copy p{
  font-weight:400;
  letter-spacing:.01em;
}
.article-card h3,
.category-row h3,
.all-article-copy h2{
  font-weight:800;
}

.article-card img{
  aspect-ratio:5/3;
  height:auto;
  object-fit:cover;
  background:#eaf4fb;
}
.category-intro-visual{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:20px;
  align-items:center;
}
.category-intro-visual img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:16px;
}

.contact-page{max-width:1100px;padding:34px 0 50px}
.contact-hero{
  background:linear-gradient(135deg,#eaf7ff,#fff);
  border:1px solid #dcebf5;
  border-radius:24px;
  padding:28px 30px;
  margin-bottom:20px;
  box-shadow:0 10px 28px rgba(28,91,137,.07);
}
.contact-hero h1{font-size:34px;margin:6px 0}
.contact-layout{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:22px;
}
.contact-form-card,.contact-profile,.contact-points{
  background:#fff;
  border:1px solid #e0ebf2;
  border-radius:20px;
  padding:22px;
  box-shadow:0 8px 22px rgba(28,91,137,.06);
}
.contact-note,.form-caution{font-size:12px;color:#6d8193}
.contact-form-card form{display:grid;gap:14px}
.contact-form-card label{
  display:grid;
  gap:6px;
  font-size:13px;
  font-weight:800;
  color:#214b71;
}
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea{
  width:100%;
  border:1px solid #d5e3ed;
  border-radius:13px;
  padding:12px 13px;
  background:#fbfdff;
  font-size:14px;
  outline:none;
}
.contact-form-card textarea{resize:vertical}
.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus{
  border-color:#69a9e2;
  box-shadow:0 0 0 3px rgba(69,143,209,.10);
}
.contact-submit{
  border:0;
  background:linear-gradient(180deg,#ff7b36,#ff651f);
  color:#fff;
  font-weight:900;
  border-radius:999px;
  padding:14px 18px;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(255,106,34,.20);
}
.contact-profile img{
  width:100%;
  border-radius:16px;
  max-height:220px;
  object-fit:cover;
}
.contact-profile h3{font-size:23px;margin:12px 0 2px}
.contact-profile p{color:#6d8193}
.contact-profile ul{padding-left:20px}
.contact-points{margin-top:14px}
.contact-points p{
  background:#f4f9fd;
  padding:9px 11px;
  border-radius:12px;
  margin:7px 0;
  font-size:13px;
}
@media(max-width:760px){
  .contact-layout{grid-template-columns:1fr}
  .category-intro-visual{grid-template-columns:1fr}
  .category-intro-visual img{order:-1;height:170px}
}

/* =========================
   Ver.15 final usability pass
   ========================= */
.card-meta-line{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}
.new-badge{
  background:#ff6a22;
  color:white;
  border-radius:10px;
  padding:3px 7px;
  font-size:10px;
  font-weight:900;
}
.quick-consult-strip{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  background:linear-gradient(90deg,#fff8e8,#fff);
  border:1px solid #f2ddb0;
  border-radius:16px;
  padding:13px 16px;
  box-shadow:0 6px 16px rgba(110,80,20,.04);
}
.quick-consult-strip strong{
  display:block;
  color:#9a5a0e;
  font-size:14px;
}
.quick-consult-strip span{
  display:block;
  color:#695c48;
  font-size:12px;
}
.quick-consult-strip a{
  flex:0 0 auto;
  background:#ff6a22;
  color:#fff;
  font-weight:900;
  padding:10px 16px;
  border-radius:999px;
  font-size:13px;
}
.article-hero-image{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:18px;
  margin:12px 0 18px;
  box-shadow:0 8px 22px rgba(30,88,130,.08);
}
.mobile-contact-bar{display:none}
@media(max-width:720px){
  body{padding-bottom:68px}
  .mobile-contact-bar{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:999;
    display:block;
    padding:8px 12px;
    background:rgba(255,255,255,.96);
    border-top:1px solid #dce8f0;
    box-shadow:0 -5px 15px rgba(25,71,107,.10);
  }
  .mobile-contact-bar a{
    display:block;
    background:linear-gradient(180deg,#ff7a34,#ff651f);
    color:#fff;
    border-radius:999px;
    padding:12px 16px;
    text-align:center;
    font-weight:900;
  }
  .quick-consult-strip{
    display:block;
  }
  .quick-consult-strip a{
    display:block;
    margin-top:10px;
    text-align:center;
  }
  .article-hero-image{
    border-radius:14px;
  }
}

/* =========================
   Ver.16 LINE / GA / privacy
   ========================= */
.header-line-btn{
  background:#20b95a;
  color:#fff;
  font-weight:900;
  border-radius:16px;
  padding:14px 18px;
  box-shadow:0 8px 18px rgba(32,185,90,.18);
  white-space:nowrap;
}
.quick-consult-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
.quick-consult-actions .quick-line{
  background:#20b95a;
}
.contact-choice{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:18px;
}
.line-contact-main,
.mail-contact-main{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid #dfeaf2;
  box-shadow:0 8px 20px rgba(28,91,137,.06);
}
.line-contact-main{
  background:linear-gradient(135deg,#effff4,#fff);
  border-color:#cfeeda;
}
.mail-contact-main{
  background:linear-gradient(135deg,#eef7ff,#fff);
}
.line-mark{
  display:grid;
  place-items:center;
  width:54px;height:54px;
  border-radius:17px;
  background:#20b95a;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.mail-contact-main>span{
  display:grid;
  place-items:center;
  width:54px;height:54px;
  border-radius:17px;
  background:#0d6ed8;
  color:#fff;
  font-size:25px;
}
.line-contact-main strong,
.mail-contact-main strong{
  display:block;
  font-size:17px;
}
.line-contact-main small,
.mail-contact-main small{
  display:block;
  color:#6d8193;
  margin-top:3px;
  line-height:1.5;
}
.side-line-btn{
  display:block;
  margin-top:8px;
  padding:10px 16px;
  border-radius:999px;
  background:#20b95a;
  color:#fff;
  text-align:center;
  font-weight:900;
}
.profile-contact-actions{
  margin-top:24px;
  padding:22px;
  border:1px solid #dfeaf2;
  border-radius:20px;
  background:linear-gradient(135deg,#f7fcff,#fff);
}
.profile-contact-actions>div{
  display:flex;
  gap:10px;
  margin-top:12px;
}
.profile-contact-actions a{
  display:inline-block;
  padding:11px 18px;
  border-radius:999px;
  color:#fff;
  font-weight:900;
}
.profile-line{background:#20b95a}
.profile-mail{background:#0d6ed8}
.mobile-contact-bar.dual{
  display:none;
}
@media(max-width:720px){
  .header-line-btn{display:none}
  .contact-choice{grid-template-columns:1fr}
  .profile-contact-actions>div{display:grid}
  .mobile-contact-bar.dual{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .mobile-contact-bar.dual a{
    display:block;
    border-radius:999px;
    padding:12px 10px;
    text-align:center;
    color:#fff;
    font-weight:900;
  }
  .mobile-line{background:#20b95a!important}
  .mobile-mail{background:#ff681f!important}
}

/* =========================
   Ver.17 SEO / UX / internal links
   ========================= */
.area-focus-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.area-focus-grid a{
  display:block;
  padding:17px;
  border:1px solid #dfeaf2;
  border-radius:17px;
  background:linear-gradient(135deg,#fff,#f7fbff);
  box-shadow:0 6px 16px rgba(28,91,137,.05);
}
.area-focus-grid strong{
  display:block;
  font-size:18px;
  color:#174d79;
}
.area-focus-grid span{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#718496;
}
.faq-page{max-width:1000px;padding-bottom:50px}
.faq-list{display:grid;gap:10px;margin-top:18px}
.faq-list details{
  background:#fff;
  border:1px solid #e0eaf1;
  border-radius:16px;
  padding:0 17px;
  box-shadow:0 5px 15px rgba(28,91,137,.04);
}
.faq-list summary{
  cursor:pointer;
  padding:16px 0;
  font-weight:800;
  color:#214f76;
}
.faq-list p{
  margin:0 0 16px;
  color:#526d82;
  line-height:1.8;
}
.faq-cta{
  margin-top:20px;
  text-align:center;
  padding:25px;
  border-radius:20px;
  background:linear-gradient(135deg,#eff9ff,#fffaf0);
  border:1px solid #dbe9f2;
}
.faq-cta>div{display:flex;justify-content:center;gap:10px;margin-top:12px}
.faq-cta a{
  padding:11px 20px;
  color:#fff;
  border-radius:999px;
  font-weight:900;
}
.faq-line{background:#20b95a}
.faq-mail{background:#0d6ed8}
.share-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.share-buttons a,.share-buttons button{
  border:0;
  border-radius:999px;
  padding:9px 16px;
  font-family:inherit;
  font-weight:800;
  cursor:pointer;
  background:#eef5fb;
  color:#245778;
}
.share-buttons a:first-child{background:#e9faef;color:#148844}
.more-link-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.more-link-grid a{
  border:1px solid #dfeaf2;
  border-radius:14px;
  padding:12px 14px;
  background:#fbfdff;
  color:#175b94;
  font-weight:800;
  font-size:13px;
}
@media(max-width:760px){
  .area-focus-grid{grid-template-columns:1fr 1fr}
  .more-link-grid{grid-template-columns:1fr}
  .faq-cta>div{display:grid}
}
@media(max-width:480px){
  .area-focus-grid{grid-template-columns:1fr}
}

/* =========================
   Ver.18 finishing pass
   ========================= */
.skip-link{
  position:absolute;
  left:-9999px;
  top:8px;
  z-index:9999;
  background:#fff;
  color:#0d62b9;
  padding:10px 14px;
  border-radius:10px;
  box-shadow:0 5px 15px rgba(0,0,0,.15);
}
.skip-link:focus{left:8px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(13,110,216,.35);
  outline-offset:3px;
}
.site-update-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:10px;
  padding-bottom:2px;
  color:#6f8294;
  font-size:11px;
}
.site-update-bar a{color:#0d69ce;font-weight:800}
.article-toc{
  margin:20px 0;
  padding:18px 20px;
  background:#fbfdff;
  border:1px solid #ddeaf3;
  border-radius:17px;
}
.toc-title{
  font-weight:900;
  color:#174f7f;
  margin-bottom:8px;
}
.article-toc ol{margin:0;padding-left:22px}
.article-toc li{margin:6px 0;color:#507087}
.article-toc a{color:#35698e}
.article-toc a:hover{text-decoration:underline}
.area-hub{max-width:1100px;padding-bottom:50px}
.area-hub-hero{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:center;
  background:linear-gradient(135deg,#edf8ff,#fff);
  border:1px solid #dcebf4;
  border-radius:24px;
  padding:24px;
  margin:28px 0 20px;
}
.area-hub-hero img{
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:18px;
}
.area-hub-hero h1{font-size:34px;margin:6px 0}
.area-hub-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.area-hub-links a{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:105px;
  padding:16px;
  border:1px solid #dfeaf2;
  border-radius:16px;
  background:#fff;
}
.area-hub-links strong{color:#174d79;font-size:15px}
.area-hub-links span{color:#0d69ce;font-size:12px;font-weight:800}
.area-checkpoints{margin-top:24px}
.check-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.check-grid>div{
  background:#fff;
  border:1px solid #e0eaf2;
  border-radius:15px;
  padding:15px;
}
.check-grid strong{display:block;color:#204f76}
.check-grid span{display:block;margin-top:5px;font-size:12px;line-height:1.6;color:#6e8293}
.global-footer{
  margin-top:45px;
  background:#eef6fb;
  border-top:1px solid #dbe7ef;
}
.footer-grid-v18{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:25px;
  padding-top:28px;
  padding-bottom:24px;
}
.footer-grid-v18 p{font-size:12px;color:#6f8191}
.footer-grid-v18 a{display:block;margin:6px 0;color:#3c6483;font-size:12px}
.footer-copy{
  text-align:center;
  border-top:1px solid #dae6ee;
  padding:11px;
  color:#80909d;
  font-size:11px;
}
.error-page{
  min-height:70vh;
  display:grid;
  place-items:center;
}
.error-card{
  max-width:650px;
  text-align:center;
  background:#fff;
  border:1px solid #dfe9f1;
  border-radius:24px;
  padding:36px;
  box-shadow:0 10px 30px rgba(20,75,115,.07);
}
.error-card h1{font-size:32px}
.error-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.error-actions a{
  background:#edf6fd;
  color:#1762a1;
  padding:10px 15px;
  border-radius:999px;
  font-weight:800;
}
@media(max-width:900px){
  .area-hub-hero{grid-template-columns:1fr}
  .area-hub-hero img{height:220px;order:-1}
  .area-hub-links{grid-template-columns:1fr}
  .check-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .site-update-bar{display:block}
  .site-update-bar a{display:inline-block;margin-top:3px}
  .area-hub-hero{padding:16px}
  .area-hub-hero h1{font-size:28px}
  .check-grid{grid-template-columns:1fr}
  .footer-grid-v18{grid-template-columns:1fr;gap:8px}
}

/* =========================
   Ver.19 readability polish
   ========================= */

/* Desktop content width: comfortable, not over-expanded */
@media(min-width:1200px){
  .container{
    width:min(1380px,90%);
  }
}

/* Header breathing room */
.header-main{
  gap:22px;
}
.header-tools{
  gap:10px;
}
.header-search{
  min-width:360px;
}
.nav-bar{
  scrollbar-width:none;
}
.nav-bar::-webkit-scrollbar{display:none}

/* Hero: slightly calmer hierarchy */
.hero-layout{
  gap:18px;
}
.hero-content{
  width:64%;
  padding:48px 50px;
}
.hero-content h1{
  font-size:58px;
  line-height:1.08;
}
.hero-content h2{
  font-size:21px;
  line-height:1.55;
}
.hero-content p{
  font-size:16px;
  line-height:1.8;
}
.profile-copy{
  padding:16px 12px 8px;
}
.profile-copy h3{
  font-size:24px;
}
.profile-copy p{
  font-size:13.5px;
  line-height:1.75;
}
.profile-copy li{
  font-size:13px;
  line-height:1.55;
}

/* Section rhythm */
.section-heading{
  margin-top:24px;
  margin-bottom:13px;
}
.section-heading h2{
  font-size:25px;
  line-height:1.3;
}
.section-heading small{
  font-size:12px;
}

/* Article cards: increase legibility */
.featured-grid{
  gap:16px;
}
.article-card{
  overflow:hidden;
  border:1px solid #dde8f0;
}
.article-card .pad{
  padding:16px 16px 18px;
}
.article-card h3{
  font-size:18px;
  line-height:1.5;
  margin:8px 0 7px;
}
.article-card p{
  font-size:13px;
  line-height:1.75;
}
.article-card .date{
  font-size:11.5px;
}

/* Market cards */
.metric-card{
  padding:19px 18px;
}
.metric-card strong{
  font-size:27px;
}

/* Profile page: wider, more editorial and easier to scan */
.profile-page-v6{
  max-width:1180px;
  padding:42px 0 64px;
}
.profile-intro-card{
  grid-template-columns:280px 1fr;
  gap:34px;
  padding:30px;
}
.profile-intro-card h1{
  font-size:38px;
  line-height:1.2;
}
.profile-intro-card .lead-copy{
  font-size:18px;
  line-height:1.75;
}
.profile-intro-card p{
  font-size:14px;
  line-height:1.85;
}
.profile-badges span{
  font-size:12px;
  padding:7px 12px;
}
.profile-section-v6{
  margin-top:20px;
  padding:26px 28px;
}
.profile-section-v6 h2{
  font-size:23px;
  margin-bottom:16px;
}
.profile-section-v6 p,
.timeline-item div,
.profile-point p,
.service-card span{
  font-size:14px;
  line-height:1.85;
}
.timeline-item{
  padding:11px 0;
}
.profile-point{
  padding:19px;
}
.profile-point h3{
  font-size:16px;
  margin-bottom:8px;
}
.service-grid{
  gap:12px;
}
.service-card{
  padding:17px;
}
.profile-quote-v6{
  font-size:18px;
  line-height:1.65;
  padding:19px 22px;
}

/* Subpages: consistent header */
.subpage .simple-header .container{
  max-width:1180px;
  padding:15px 0;
}
.subpage .simple-header .brand{
  font-size:20px;
}
.subpage .simple-header .subtitle{
  margin-top:2px;
  font-size:11.5px;
  color:#6a8092;
}

/* Article body */
.subpage .article-body{
  max-width:930px;
}
.article-body h1{
  font-size:34px;
  line-height:1.4;
}
.article-body h2{
  font-size:24px;
  line-height:1.5;
}
.article-body p{
  font-size:15.5px;
  line-height:1.95;
}
.article-body .lead{
  font-size:18px;
  line-height:1.9;
}

/* Consultation strip: clearer but not loud */
.quick-consult-strip{
  padding:16px 19px;
  margin-top:16px;
}
.quick-consult-strip strong{
  font-size:15px;
}
.quick-consult-strip span{
  font-size:12.5px;
  margin-top:2px;
}
.quick-consult-actions a{
  min-width:110px;
  text-align:center;
}

/* Home latest-news rows */
.news-row{
  padding:15px 18px;
}
.news-title{
  font-size:14px;
  line-height:1.5;
}

/* Footer readability */
.global-footer,
footer{
  font-size:13px;
}

/* At common laptop widths */
@media(max-width:1280px){
  .container{width:min(1180px,92%)}
  .site-logo strong{font-size:27px}
  .header-tagline{font-size:14px;padding-left:16px}
  .header-search{min-width:300px}
  .hero-content h1{font-size:50px}
  .hero-content{padding:42px 42px}
  .hero-layout{grid-template-columns:minmax(0,1fr) 330px}
}

/* Tablet/mobile */
@media(max-width:900px){
  .hero-content{width:74%}
  .profile-page-v6{width:min(94%,100%)}
  .profile-intro-card{
    grid-template-columns:220px 1fr;
    gap:22px;
  }
  .profile-intro-card h1{font-size:32px}
}
@media(max-width:760px){
  .hero-content{
    width:100%;
    padding:32px 24px;
  }
  .hero-content h1{font-size:38px}
  .hero-content h2{font-size:19px}
  .hero-content p{font-size:14px}
  .profile-intro-card{
    grid-template-columns:1fr;
    padding:20px;
  }
  .profile-intro-card img{
    max-width:240px;
  }
  .profile-section-v6{
    padding:20px;
  }
  .article-body h1{font-size:27px}
  .article-body h2{font-size:21px}
}

/* Make content density calmer */
.market-now,
.latest-news-section,
.ranking-section,
.category-section,
.consultation-section,
.archive-section,
.area-focus-section{
  margin-top:22px;
}

.subpage-header-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.subpage-utility-nav{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.subpage-utility-nav a{
  font-size:12px;
  font-weight:800;
  color:#315e82;
  padding:8px 10px;
  border-radius:999px;
}
.subpage-utility-nav a:hover{
  background:#edf6fc;
}
.subpage-utility-nav .subpage-line{
  background:#20b95a;
  color:#fff;
  padding:9px 13px;
}
@media(max-width:760px){
  .subpage-header-row{
    display:block;
  }
  .subpage-utility-nav{
    margin-top:9px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .subpage-utility-nav::-webkit-scrollbar{display:none}
}

/* =========================
   Ver.20 SEO topic clusters
   ========================= */
.cluster-page{max-width:1120px;padding-bottom:55px}
.cluster-hero{
  margin:28px 0 20px;
  padding:28px 30px;
  border:1px solid #dbe9f3;
  border-radius:24px;
  background:linear-gradient(135deg,#eef8ff,#fff);
}
.cluster-hero h1{font-size:36px;margin:6px 0}
.cluster-hero p{font-size:15px;line-height:1.8;color:#536f85}
.cluster-grid,.topic-guide-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.cluster-grid a,.topic-guide-grid a{
  display:block;
  min-height:110px;
  padding:19px 20px;
  background:#fff;
  border:1px solid #dfe9f1;
  border-radius:18px;
  box-shadow:0 7px 18px rgba(25,80,120,.05);
}
.cluster-grid strong,.topic-guide-grid strong{
  display:block;font-size:17px;color:#174d79;margin-bottom:7px
}
.cluster-grid span,.topic-guide-grid span{font-size:12.5px;color:#6d8192}
.cluster-home-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
}
.cluster-home-grid a{
  display:block;
  padding:18px;
  border:1px solid #dfe9f1;
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#f7fbff);
}
.cluster-home-grid strong{display:block;color:#174d79;font-size:16px}
.cluster-home-grid span{display:block;color:#718496;font-size:12px;margin-top:5px}
.cluster-context{
  margin:14px 0 18px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-radius:14px;
  background:#f2f8fd;
  border:1px solid #dce9f2;
}
.cluster-context strong{color:#244e70;font-size:12px}
.cluster-context a{color:#0d69ce;font-size:12px;font-weight:900}
@media(max-width:760px){
  .cluster-grid,.topic-guide-grid,.cluster-home-grid{grid-template-columns:1fr}
  .cluster-hero{padding:20px}
  .cluster-hero h1{font-size:29px}
  .cluster-context{display:block}
  .cluster-context a{display:block;margin-top:4px}
}


/* =========================
   Ver.21 mobile layout fix
   ========================= */

/* Never allow one wide child to make the whole page horizontally scroll */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
.hero-layout,
.hero-main,
.profile-panel,
.header-main,
.header-tools,
.nav-wrap,
.nav-bar,
.quick-consult-strip,
section,
main{
  min-width:0;
}

/* The nav itself may scroll, but the page must not */
.nav-wrap{
  width:100%;
  overflow:hidden;
}
.nav-bar{
  width:100%;
  max-width:100%;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

/* iPhone/mobile */
@media(max-width:720px){

  /* Header */
  .container{
    width:calc(100% - 28px);
    max-width:none;
  }
  .header-main{
    display:block;
    padding:14px 0 10px;
  }
  .site-logo{
    width:100%;
    min-width:0;
  }
  .site-logo strong{
    font-size:28px;
    line-height:1.15;
    letter-spacing:.01em;
    white-space:nowrap;
  }
  .site-logo small{
    font-size:9px;
  }
  .logo-icon{
    font-size:34px;
  }
  .header-tools{
    display:block;
    width:100%;
    margin-top:14px;
  }
  .header-search{
    width:100%;
    min-width:0;
  }
  .header-search input{
    min-width:0;
    font-size:14px;
  }
  .header-line-btn,
  .consult-btn{
    display:none!important;
  }

  .nav-wrap{
    padding-bottom:8px;
  }
  .nav-bar{
    padding:0 4px;
    border-radius:14px;
  }
  .nav-bar a{
    flex:0 0 auto;
    padding:12px 13px;
    font-size:13px;
  }

  /* Hero */
  .hero-layout{
    display:flex!important;
    flex-direction:column;
    width:100%;
    gap:14px;
    padding:10px 0 16px;
  }
  .hero-main{
    width:100%;
    min-height:390px;
    border-radius:20px;
    background-position:64% center;
  }
  .hero-content{
    width:100%!important;
    max-width:none;
    padding:26px 20px!important;
    background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.78) 72%,rgba(255,255,255,.16));
  }
  .hero-kicker{
    font-size:13px;
    line-height:1.5;
  }
  .hero-title{
    font-size:36px!important;
    line-height:1.08;
    margin-top:8px;
  }
  .hero-title span{
    white-space:normal!important;
  }
  .hero-content h2{
    font-size:18px;
    line-height:1.55;
  }
  .hero-content p{
    font-size:14px;
    line-height:1.75;
  }
  .hero-btn{
    display:inline-block;
    font-size:15px;
    padding:13px 18px;
  }

  /* Home profile card:
     explicitly reset the tablet grid/stretch rules that caused the giant blue area */
  .profile-panel{
    display:block!important;
    grid-template-columns:none!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    align-self:auto!important;
    padding:12px;
    border-radius:20px;
  }
  .profile-image-wrap{
    display:block!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden;
    border-radius:16px;
    background:#eef8fd;
  }
  .profile-image-wrap img{
    display:block;
    width:100%;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center 22%;
  }
  .profile-message{
    display:block;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:12px 4px 0!important;
    padding:11px 12px!important;
    line-height:1.55;
    font-size:13px;
  }
  .profile-message::before{
    width:12px;
    height:12px;
    top:-7px;
  }
  .profile-copy{
    padding:15px 6px 5px!important;
  }
  .profile-copy h3{
    font-size:22px;
  }
  .profile-copy p{
    font-size:13px;
    line-height:1.7;
  }
  .profile-copy li{
    font-size:12.5px;
    line-height:1.5;
    margin:6px 0;
  }
  .profile-btn{
    padding:10px 12px;
  }

  /* Bottom fixed CTA */
  body{
    padding-bottom:calc(76px + env(safe-area-inset-bottom));
  }
  .mobile-contact-bar.dual{
    left:0;
    right:0;
    bottom:0;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    gap:8px;
    background:rgba(255,255,255,.97);
  }
  .mobile-contact-bar.dual a{
    min-width:0;
    padding:12px 8px;
    font-size:15px;
    line-height:1.25;
  }

  /* Consultation strip */
  .quick-consult-strip{
    margin-top:12px;
    padding:14px;
  }
  .quick-consult-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
    margin-top:10px;
  }
  .quick-consult-actions a{
    min-width:0;
    margin:0!important;
    padding:10px 8px;
  }

  /* Cards and sections */
  .featured-grid,
  .metric-grid,
  .consult-grid,
  .archive-grid,
  .area-focus-grid,
  .cluster-home-grid{
    grid-template-columns:1fr!important;
  }
  .section-heading h2{
    font-size:22px;
  }

  /* Profile page */
  .profile-page-v6{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    padding-top:20px;
  }
  .profile-intro-card{
    display:block!important;
    padding:18px!important;
  }
  .profile-intro-card img{
    display:block;
    width:100%;
    max-width:240px!important;
    height:auto!important;
    aspect-ratio:1/1;
    margin:0 auto 16px!important;
  }
  .profile-intro-card h1{
    font-size:30px!important;
  }
  .profile-intro-card .lead-copy{
    font-size:16px!important;
  }
  .profile-section-v6{
    padding:18px!important;
  }
  .profile-grid-2,
  .service-grid{
    grid-template-columns:1fr!important;
  }
}

/* Extra-narrow iPhones */
@media(max-width:390px){
  .site-logo strong{font-size:25px}
  .hero-title{font-size:32px!important}
  .nav-bar a{padding:11px 12px;font-size:12.5px}
  .mobile-contact-bar.dual a{font-size:14px}
}



/* =========================
   Ver.22 PV / link assets
   ========================= */
.tool-header{display:flex;align-items:center;justify-content:space-between;gap:18px}
.tool-header nav{display:flex;gap:15px;flex-wrap:wrap}.tool-header nav a{font-size:13px;font-weight:800;color:#315b78}
.tool-shell,.data-shell{max-width:1120px;padding-bottom:55px}.tool-hero{margin:24px 0 20px;padding:28px 30px;border:1px solid #dce9f2;border-radius:24px;background:linear-gradient(135deg,#eff9ff,#fff)}
.tool-hero h1{font-size:38px;line-height:1.25;margin:7px 0 10px;color:#183f5c}.tool-hero p{font-size:16px;line-height:1.8;color:#536f85;max-width:850px}.data-updated{display:inline-block;margin-top:10px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dce8ef;font-size:12px;font-weight:800;color:#5d7487}
.calculator-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:start}.calculator-form,.calculator-results{border:1px solid #dce8ef;border-radius:22px;background:#fff;padding:22px;box-shadow:0 8px 24px rgba(27,73,103,.06)}
.calculator-form h2,.calculator-results h2{margin:0 0 14px;color:#234d6c}.calculator-form label{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:13px 0 4px;font-size:13px;font-weight:900;color:#385c75}.calculator-form label span{display:flex;align-items:center;gap:5px}.calculator-form input,.calculator-form select{font:inherit;font-size:16px;border:1px solid #cbdce7;border-radius:10px;padding:10px;width:130px;background:#fff}.calculator-form small{font-size:11px;color:#8496a3}.calc-primary,.calc-secondary{width:100%;border:0;border-radius:12px;padding:13px 14px;font-size:14px;font-weight:900;cursor:pointer;margin-top:14px}.calc-primary{background:#176dd0;color:#fff}.calc-secondary{background:#edf5fb;color:#315b78;margin-top:8px}.calc-note{font-size:11px;line-height:1.65;color:#7c8d99;margin-top:14px}.calc-error{font-size:12px;color:#b33;margin-top:8px}
.calc-result-main{padding:22px;border-radius:18px;background:linear-gradient(135deg,#eaf6ff,#f8fcff);margin-bottom:14px}.calc-result-main small,.calc-result-main span{display:block;color:#6b8192}.calc-result-main strong{display:block;font-size:38px;line-height:1.25;color:#125da5;margin:4px 0}.calc-result-grid,.balance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}.balance-grid{grid-template-columns:repeat(3,1fr)}.calc-result-grid>div,.balance-grid>div{padding:14px;border:1px solid #e0e9ef;border-radius:14px}.calc-result-grid small,.balance-grid small{display:block;font-size:11px;color:#728694}.calc-result-grid strong,.balance-grid strong{display:block;margin-top:4px;font-size:18px;color:#284d68}.compare-box{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:15px;border-radius:16px;background:#f7f9fb}.compare-box>div span,.compare-box>div strong{display:block;text-align:center}.compare-box>div span{font-size:11px;color:#718493}.compare-box>div strong{font-size:17px;color:#224c6a}.compare-arrow{font-weight:900;color:#95a5b1}.compare-box p{grid-column:1/-1;text-align:center;margin:3px 0 0;font-size:12px;font-weight:800;color:#526f84}
.tool-explain,.data-scope,.data-interpret,.data-table-section,.source-library,.data-method{margin:28px 0}.tool-explain h2,.data-scope h2,.data-table-section h2,.source-library h2,.data-method h2{font-size:24px;color:#234d6c}.tool-explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tool-explain-grid>div{border:1px solid #e0e9ef;border-radius:16px;padding:17px;background:#fff}.tool-explain-grid strong{color:#235275}.tool-explain-grid p{font-size:13px;line-height:1.7;color:#6c7f8c}.tool-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.tool-links a{padding:10px 13px;border-radius:12px;background:#edf6fc;font-size:12px;font-weight:900;color:#1769ad}.citation-invite{margin:28px 0;padding:18px 20px;border:1px dashed #9dc0d8;border-radius:18px;background:#f8fcff}.citation-invite strong{color:#235275}.citation-invite p{font-size:13px;line-height:1.7;color:#667d8d;margin:6px 0 0}.consult-soft{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0;padding:20px;border-radius:18px;background:#f2f8fd}.consult-soft strong{color:#214e70}.consult-soft p{font-size:12px;color:#6b8191;margin:5px 0}.consult-soft a{white-space:nowrap;padding:11px 14px;border-radius:11px;background:#176dd0;color:#fff;font-weight:900;font-size:13px}
.data-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.data-cards article{padding:17px;border:1px solid #dce8ef;border-radius:17px;background:#fff}.data-cards article span,.data-cards article small{display:block;font-size:11px;color:#728493}.data-cards article strong{display:block;font-size:22px;color:#204f72;margin:5px 0}.data-cards article em{font-style:normal;font-size:12px;font-weight:900;color:#607888}.data-cards article em.down{color:#345f81}.data-cards article em.up{color:#8a6233}.data-caution{font-size:12px;color:#738693;line-height:1.7}.source-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.source-link-grid a{display:block;padding:15px;border:1px solid #dce8ef;border-radius:14px;background:#fff}.source-link-grid strong{display:block;color:#234f70}.source-link-grid span{display:block;margin-top:4px;font-size:12px;color:#6d8291}
.utility-hub-section{margin-top:30px}.utility-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.utility-card{display:block;padding:20px;border:1px solid #dce7ef;border-radius:18px;background:#fff}.utility-card.featured-tool{background:linear-gradient(135deg,#edf8ff,#fff)}.utility-card>span,.topic-tool-cta span{font-size:10px;letter-spacing:.08em;font-weight:900;color:#5581a1}.utility-card strong{display:block;margin:5px 0;font-size:17px;color:#204e70}.utility-card p{font-size:12px;line-height:1.65;color:#6f8190}.utility-card b{font-size:12px;color:#1769ad}.article-useful-tools{margin:16px 0;padding:15px;border:1px solid #dbe8f1;border-radius:16px;background:#f8fcff}.article-useful-tools>strong{display:block;margin-bottom:8px;color:#315e7e}.article-useful-tools a{display:block;padding:8px 0;border-top:1px solid #e5eef4}.article-useful-tools a:first-of-type{border-top:0}.article-useful-tools b,.article-useful-tools span{display:block}.article-useful-tools b{font-size:13px;color:#1769ad}.article-useful-tools span{font-size:11px;color:#7a8b98;margin-top:2px}.in-article-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:12px 14px;border-radius:14px;background:#fbfcfd;border:1px solid #e2ebf0}.in-article-links span{font-size:11px;font-weight:900;color:#758996}.in-article-links a{font-size:12px;font-weight:900;color:#1769ad}.topic-tool-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:16px 0 18px;padding:17px 19px;border:1px solid #dce8ef;border-radius:17px;background:#f2f9ff}.topic-tool-cta strong{display:block;color:#214f70;font-size:18px}.topic-tool-cta p{margin:4px 0 0;font-size:12px;color:#6d8291}.topic-tool-cta a{white-space:nowrap;padding:11px 13px;border-radius:11px;background:#176dd0;color:#fff;font-size:12px;font-weight:900}
@media(max-width:900px){.calculator-layout{grid-template-columns:1fr}.data-cards{grid-template-columns:repeat(2,1fr)}.utility-hub-grid{grid-template-columns:1fr}.tool-explain-grid{grid-template-columns:1fr}.source-link-grid{grid-template-columns:1fr}}
@media(max-width:720px){.tool-header{display:block}.tool-header nav{margin-top:10px}.tool-shell,.data-shell{width:calc(100% - 28px)!important}.tool-hero{padding:20px}.tool-hero h1{font-size:30px}.calculator-form,.calculator-results{padding:16px}.calculator-form label{align-items:flex-start}.calculator-form input,.calculator-form select{width:120px}.calc-result-main strong{font-size:31px}.calc-result-grid,.balance-grid{grid-template-columns:1fr}.compare-box{grid-template-columns:1fr}.compare-arrow{display:none}.data-cards{grid-template-columns:1fr}.consult-soft,.topic-tool-cta{display:block}.consult-soft a,.topic-tool-cta a{display:inline-block;margin-top:10px}.utility-card{padding:17px}}


/* =========================
   Ver.23 tool usability
   ========================= */
.tool-feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tool-feature-chips span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #d8e6ef;font-size:11px;font-weight:900;color:#53758c}

.calc-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:5px;background:#eef4f8;border-radius:14px}
.calc-mode-tabs button{border:0;background:transparent;border-radius:10px;padding:11px 12px;font:inherit;font-size:13px;font-weight:900;color:#60798b;cursor:pointer}
.calc-mode-tabs button.active{background:#fff;color:#1769ad;box-shadow:0 2px 8px rgba(31,77,108,.08)}
.calc-v23{grid-template-columns:390px minmax(0,1fr)}
.calc-form-heading,.calc-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.mini-label{display:block;font-size:9px;letter-spacing:.08em;font-weight:900;color:#6e91a8;margin-bottom:2px}
.calc-form-heading h2,.calc-summary-head h2{margin:0!important}
.text-reset,.calc-copy-btn{border:1px solid #d6e4ed;background:#fff;border-radius:10px;padding:8px 10px;font:inherit;font-size:11px;font-weight:900;color:#5c7689;cursor:pointer}
.calc-field{display:flex!important;justify-content:space-between;align-items:center!important;gap:14px;margin:16px 0 5px!important}
.input-unit{display:flex!important;align-items:center!important;gap:6px}
.input-unit b{font-size:12px;color:#5f7788}
.preset-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 3px}
.preset-row button{border:1px solid #d6e4ed;background:#fff;border-radius:999px;padding:7px 10px;font:inherit;font-size:11px;font-weight:900;color:#587488;cursor:pointer}
.preset-row button.selected{border-color:#176dd0;background:#edf6ff;color:#176dd0}
.calc-result-grid{grid-template-columns:repeat(4,1fr)}
.calc-result-grid>div{min-width:0}
.calc-result-grid strong{font-size:16px}
.calc-insight{margin:0 0 24px;padding:13px 15px;border-radius:14px;background:#fff9ed;border:1px solid #f0dfba;font-size:12.5px;line-height:1.75;color:#65553d}
.calc-insight strong{color:#805d20}
.calc-comparison-table .is-current th,.calc-comparison-table .is-current td{background:#f0f7ff;font-weight:900}
.balance-grid-v23{grid-template-columns:repeat(4,1fr)}
.balance-grid-v23 button{display:block;width:100%;text-align:left;padding:14px;border:1px solid #e0e9ef;border-radius:14px;background:#fff;cursor:pointer}
.balance-grid-v23 button.active{border-color:#71a9d9;background:#f0f7ff}
.balance-grid-v23 small,.balance-grid-v23 strong{display:block}
.balance-grid-v23 small{font-size:11px;color:#728694}
.balance-grid-v23 strong{margin-top:4px;font-size:16px;color:#284d68}
.balance-visual{padding:15px;border-radius:16px;background:#f8fafc;border:1px solid #e1e9ef;margin-bottom:22px}
.balance-visual-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.balance-visual-head strong{color:#315d7b}.balance-visual-head span{font-size:18px;font-weight:900;color:#1e557c}
.balance-track{height:12px;background:#e4edf3;border-radius:999px;overflow:hidden;margin:10px 0}.balance-track span{display:block;height:100%;width:0;background:#6e99bb;border-radius:999px;transition:width .25s ease}
.balance-visual p{margin:0;font-size:11px;color:#748795;line-height:1.6}
.rate-stress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rate-stress-grid article{padding:14px;border:1px solid #e0e9ef;border-radius:14px;background:#fff}.rate-stress-grid span,.rate-stress-grid small{display:block}.rate-stress-grid span{font-size:10px;color:#748896;font-weight:900}.rate-stress-grid strong{display:block;font-size:18px;margin:4px 0;color:#284f6d}.rate-stress-grid small{font-size:11px;color:#667e90}
.copy-status{min-height:18px;margin:8px 0 0;font-size:11px;color:#31735a}
.guide-no{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:#edf6ff;color:#176dd0;font-size:11px;font-weight:900;margin-bottom:8px}
.tool-links-prominent{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tool-links-prominent a{display:block;padding:15px!important;background:#fff!important;border:1px solid #dce8ef;border-radius:15px!important}.tool-links-prominent strong,.tool-links-prominent span{display:block}.tool-links-prominent strong{font-size:13px;color:#285575}.tool-links-prominent span{font-size:11px;color:#1769ad;margin-top:4px}

/* Market data */
.market-snapshot{margin:0 0 28px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#f7fbff,#fff);border:1px solid #dce8ef}
.snapshot-title span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#708b9e}.snapshot-title strong{display:block;margin-top:3px;font-size:23px;color:#214d6c}
.snapshot-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.snapshot-meter>div{padding:13px;border-radius:14px;background:#fff;border:1px solid #e1e9ef}.snapshot-meter small,.snapshot-meter span{display:block}.snapshot-meter small{font-size:10px;color:#81919c}.snapshot-meter strong{display:block;font-size:17px;color:#315d7c;margin:3px 0}.snapshot-meter span{font-size:11px;color:#6d8190}.market-snapshot>p{margin:10px 0 0;font-size:11px;color:#7a8b97}
.data-cards-v23 button{display:block;text-align:left;width:100%;padding:17px;border:1px solid #dce8ef;border-radius:17px;background:#fff;cursor:pointer;font:inherit}.data-cards-v23 button.active{border-color:#6fa7d6;background:#f3f9ff}.data-cards-v23 button span,.data-cards-v23 button small{display:block;font-size:11px;color:#728493}.data-cards-v23 button strong{display:block;font-size:22px;color:#204f72;margin:5px 0}.data-cards-v23 button em{font-style:normal;font-size:12px;font-weight:900;color:#607888}.data-cards-v23 button em.down{color:#345f81}.data-cards-v23 button em.up{color:#8a6233}
.market-card-explain{margin-top:10px;padding:14px 16px;border-radius:14px;background:#f8fbfd;border:1px solid #e0e9ef}.market-card-explain strong{color:#285676}.market-card-explain p{margin:4px 0 0;font-size:12.5px;line-height:1.7;color:#6b7f8e}
.market-conversion{margin:28px 0}.conversion-panel{display:grid;grid-template-columns:230px 1fr;gap:14px;align-items:center;padding:18px;border:1px solid #dce8ef;border-radius:18px;background:#fff}.conversion-panel label{font-size:13px;font-weight:900;color:#375c76}.conversion-panel label span{display:flex;align-items:center;gap:5px;margin-top:7px}.conversion-panel input{width:120px;padding:10px;border:1px solid #cbdce7;border-radius:10px;font:inherit;font-size:16px}.conversion-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}.conversion-results>div{padding:13px;border-radius:13px;background:#f5f9fc}.conversion-results small,.conversion-results strong{display:block}.conversion-results small{font-size:10px;color:#758996}.conversion-results strong{font-size:19px;color:#234f70;margin-top:4px}.conversion-panel>p{grid-column:1/-1;margin:0;font-size:10.5px;color:#80909b}
.market-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.market-action-grid article{padding:17px;border:1px solid #dce8ef;border-radius:17px;background:#fff}.market-action-grid article>span{font-size:9px;letter-spacing:.08em;font-weight:900;color:#7d99aa}.market-action-grid article>strong{display:block;font-size:17px;color:#284f6d;margin:3px 0 8px}.market-action-grid ul{margin:0;padding-left:18px;color:#647b8b;font-size:12px;line-height:1.75}.market-action-grid a{display:inline-block;margin-top:10px;font-size:11px;font-weight:900;color:#1769ad}
.area-data-links{margin:28px 0}.area-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.area-data-grid a{display:block;padding:15px;border:1px solid #dce8ef;border-radius:14px;background:#fff}.area-data-grid strong,.area-data-grid span{display:block}.area-data-grid strong{color:#245273;font-size:15px}.area-data-grid span{font-size:11px;color:#6f8493;margin-top:4px}
.market-update-log{margin:28px 0}.update-row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:15px 0;border-top:1px solid #e3ebf0}.update-row time{font-size:11px;font-weight:900;color:#7790a1}.update-row strong{color:#2d5775}.update-row p{margin:4px 0 0;font-size:12px;color:#708492}
.market-citation{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.market-citation button{border:0;border-radius:11px;background:#176dd0;color:#fff;padding:10px 13px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.market-citation>span{grid-column:1/-1;font-size:11px;color:#31735a}
.market-table td:last-child{font-size:11px;color:#6b7f8f}

@media(max-width:900px){
  .calc-v23{grid-template-columns:1fr}
  .calc-result-grid{grid-template-columns:repeat(2,1fr)}
  .market-action-grid{grid-template-columns:1fr}
  .area-data-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .calc-mode-tabs{grid-template-columns:1fr 1fr}
  .calc-field{display:block!important}
  .input-unit{margin-top:7px}
  .calculator-form input,.calculator-form select{width:100%!important;min-height:44px}
  .input-unit b{min-width:32px}
  .preset-row{display:grid;grid-template-columns:repeat(4,1fr)}
  .preset-row button{padding:8px 5px;font-size:10px}
  .calc-summary-head{align-items:flex-start}
  .calc-result-grid{grid-template-columns:1fr 1fr}
  .balance-grid-v23{grid-template-columns:1fr 1fr!important}
  .rate-stress-grid{grid-template-columns:1fr}
  .tool-links-prominent{grid-template-columns:1fr}
  .snapshot-meter{grid-template-columns:1fr}
  .snapshot-title strong{font-size:20px}
  .conversion-panel{grid-template-columns:1fr}
  .conversion-results{grid-template-columns:1fr 1fr}
  .area-data-grid{grid-template-columns:1fr 1fr}
  .market-citation{grid-template-columns:1fr}
  .market-citation button{width:100%;min-height:44px}
}
@media(max-width:390px){
  .preset-row{grid-template-columns:1fr 1fr}
  .conversion-results{grid-template-columns:1fr}
  .area-data-grid{grid-template-columns:1fr}
}


/* =========================
   Ver.24 repayment schedule
   ========================= */
.calc-secondary-action{
  display:block;
  margin-top:9px;
  padding:11px 14px;
  text-align:center;
  border:1px solid #bcd5e8;
  border-radius:12px;
  background:#f4f9fd;
  color:#1769ad;
  font-size:12px;
  font-weight:900;
}
.schedule-shell{max-width:1260px;padding-bottom:60px}
.schedule-summary{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin:0 0 18px;
}
.schedule-summary>div{
  padding:15px;
  border:1px solid #dce8ef;
  border-radius:15px;
  background:#fff;
}
.schedule-summary small,.schedule-summary strong{display:block}
.schedule-summary small{font-size:10px;color:#748895}
.schedule-summary strong{font-size:17px;color:#245170;margin-top:5px}
.schedule-controls{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin:18px 0;
  padding:14px 16px;
  border-radius:15px;
  background:#f7fafc;
  border:1px solid #e0e9ef;
}
.schedule-controls label{display:block;font-size:11px;font-weight:900;color:#547086;margin-bottom:6px}
.schedule-controls select{min-width:210px;padding:10px;border:1px solid #cbdce7;border-radius:10px;background:#fff;font:inherit;font-size:13px}
.schedule-actions{display:flex;gap:8px;align-items:center}
.schedule-actions a,.schedule-actions button{
  padding:10px 13px;border-radius:10px;font:inherit;font-size:11px;font-weight:900;cursor:pointer
}
.schedule-actions a{border:1px solid #cddde8;background:#fff;color:#306181}
.schedule-actions button{border:0;background:#176dd0;color:#fff}
.schedule-chart-card,.schedule-table-section,.schedule-reading{
  margin:26px 0;
}
.schedule-bars{
  height:210px;
  display:flex;
  align-items:flex-end;
  gap:7px;
  padding:16px 12px 6px;
  border:1px solid #dce8ef;
  border-radius:17px;
  background:#fff;
  overflow-x:auto;
}
.schedule-bar-item{
  flex:1 0 26px;
  min-width:26px;
  text-align:center;
}
.schedule-bar-stack{
  height:160px;
  display:flex;
  flex-direction:column-reverse;
  justify-content:flex-start;
  border-radius:6px 6px 2px 2px;
  overflow:hidden;
  background:#eef3f6;
}
.schedule-bar-stack span{display:block;width:100%}
.schedule-bar-stack .principal-part{background:#719bb9}
.schedule-bar-stack .interest-part{background:#d6b47c}
.schedule-bar-item small{display:block;margin-top:5px;font-size:9px;color:#718591}
.schedule-table-wrap{max-height:none}
.schedule-table th,.schedule-table td{white-space:nowrap}
.schedule-table td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}
.schedule-table td strong{color:#214f70}
.schedule-caution{
  margin:24px 0;
  padding:16px 18px;
  border-radius:15px;
  background:#fffaf1;
  border:1px solid #eadfca;
}
.schedule-caution strong{color:#735b32}
.schedule-caution p{margin:5px 0 0;font-size:11.5px;line-height:1.75;color:#786c58}
@media(max-width:900px){
  .schedule-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .schedule-summary{grid-template-columns:1fr 1fr}
  .schedule-controls{display:block}
  .schedule-controls select{width:100%;min-width:0;font-size:16px}
  .schedule-actions{margin-top:10px;display:grid;grid-template-columns:1fr 1fr}
  .schedule-actions a,.schedule-actions button{text-align:center;min-height:44px}
  .schedule-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .schedule-table{min-width:780px}
  .schedule-bars{height:190px}
  .schedule-bar-stack{height:140px}
}


/* Ver.25 redo */
.advanced-sim-card{margin-top:20px;padding:18px;border:1px solid #dce8ef;border-radius:18px;background:#fbfdff}
.advanced-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.advanced-head h2{font-size:18px!important;margin:0!important}.advanced-badge{font-size:9px;font-weight:900;color:#58788f;background:#eef6fb;border-radius:999px;padding:6px 9px;white-space:nowrap}
.advanced-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.advanced-fields.three{grid-template-columns:repeat(3,1fr)}
.advanced-fields label{font-size:11px;font-weight:900;color:#5c7486}.advanced-fields select,.advanced-fields input{width:100%;margin-top:6px;padding:10px;border:1px solid #cadbe6;border-radius:10px;background:#fff;font:inherit;font-size:14px}
.advanced-fields .input-unit{margin-top:0}.advanced-run{margin-top:12px;border:0;border-radius:11px;background:#2e6f9d;color:#fff;padding:10px 14px;font:inherit;font-weight:900;font-size:11px;cursor:pointer}
.advanced-output{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.advanced-output>div{padding:11px;border:1px solid #e0e9ef;border-radius:12px;background:#fff}.advanced-output small,.advanced-output strong{display:block}.advanced-output small{font-size:9px;color:#778a97}.advanced-output strong{margin-top:4px;color:#294f6a;font-size:14px;word-break:break-word}
.advanced-note{margin:10px 0 0;font-size:10px;line-height:1.65;color:#7b8c98}

.pdf-report-title{display:none}
.schedule-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 20px}.schedule-summary>div{padding:15px;border:1px solid #dce8ef;border-radius:15px;background:#fff}.schedule-summary small,.schedule-summary strong{display:block}.schedule-summary small{font-size:10px;color:#748895}.schedule-summary strong{margin-top:5px;color:#245170;font-size:17px}
.schedule-controls{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin:18px 0;padding:14px 16px;border:1px solid #dce8ef;border-radius:15px;background:#f7fafc}.year-filter label{display:block;font-size:11px;font-weight:900;color:#587184;margin-bottom:6px}.year-filter select{min-width:220px;padding:10px;border:1px solid #cbdce7;border-radius:10px;background:#fff;font:inherit}
.schedule-actions{display:flex;flex-wrap:wrap;gap:7px}.schedule-actions a,.schedule-actions button{padding:10px 12px;border-radius:10px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.schedule-actions a{border:1px solid #cbdce7;background:#fff;color:#315f7e}.schedule-actions button{border:0;background:#176dd0;color:#fff}
.annual-summary-section,.schedule-chart-card,.schedule-table-section{margin:28px 0}.annual-summary-table td:nth-child(n+2),.schedule-table td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.schedule-table th,.schedule-table td{white-space:nowrap}
.schedule-chart-legend{display:flex;gap:14px;font-size:10px;color:#6e8391;margin-bottom:7px}.schedule-chart-legend span{display:flex;align-items:center;gap:5px}.schedule-chart-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.legend-principal{background:#719bb9}.legend-interest{background:#d5ae6f}
.schedule-bars{height:210px;display:flex;align-items:flex-end;gap:7px;padding:16px 12px 6px;border:1px solid #dce8ef;border-radius:17px;background:#fff;overflow-x:auto}.schedule-bar-item{flex:1 0 26px;min-width:26px;text-align:center}.schedule-bar-stack{height:160px;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:6px 6px 2px 2px;overflow:hidden;background:#edf3f6}.schedule-bar-stack span{display:block;width:100%}.schedule-bar-stack .principal-part{background:#719bb9}.schedule-bar-stack .interest-part{background:#d5ae6f}.schedule-bar-item small{display:block;margin-top:5px;font-size:9px;color:#718591}
.pdf-help,.schedule-note{margin:24px 0;padding:16px 18px;border-radius:15px}.pdf-help{background:#f5f9fc;border:1px solid #dce8ef}.schedule-note{background:#fffaf1;border:1px solid #eadfca}.pdf-help strong,.schedule-note strong{color:#315b78}.pdf-help p,.schedule-note p{font-size:11.5px;line-height:1.75;color:#697e8d;margin:6px 0 0}

@media(max-width:900px){
  .advanced-fields.three{grid-template-columns:1fr 1fr}
  .advanced-output{grid-template-columns:1fr 1fr}
  .schedule-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .advanced-fields,.advanced-fields.three{grid-template-columns:1fr}.advanced-output{grid-template-columns:1fr 1fr}
  .schedule-summary{grid-template-columns:1fr 1fr}
  .schedule-controls{display:block}.year-filter select{width:100%;min-width:0;font-size:16px}.schedule-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.schedule-actions a,.schedule-actions button{text-align:center;min-height:44px}
  .schedule-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.schedule-table{min-width:780px}
}
@media(max-width:390px){.advanced-output{grid-template-columns:1fr}.schedule-actions{grid-template-columns:1fr}}

@media print{
  @page{size:A4 portrait;margin:11mm 9mm}
  html,body{background:#fff!important;color:#111!important;overflow:visible!important}
  body{padding:0!important;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif!important}
  .no-print{display:none!important}
  .schedule-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .pdf-report-title{display:flex!important;justify-content:space-between;gap:10mm;align-items:flex-start;border-bottom:2px solid #355d77;padding-bottom:5mm;margin-bottom:5mm}
  .pdf-report-title small{font-size:7pt;color:#647986}.pdf-report-title h1{font-size:17pt;margin:1mm 0 2mm;color:#254f6b}.pdf-report-title p{font-size:8.5pt;margin:0}.pdf-meta{font-size:7pt;color:#71818a;white-space:nowrap}
  .schedule-summary{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2mm;margin-bottom:5mm}.schedule-summary>div{padding:3mm;border:1px solid #ccd6dc;border-radius:2mm;break-inside:avoid}.schedule-summary small{font-size:6.8pt}.schedule-summary strong{font-size:9.5pt}
  .section-heading{margin-bottom:2mm!important}.section-heading h2{font-size:12pt!important}.section-heading small{font-size:7.5pt!important}
  .annual-summary-section,.schedule-chart-card,.schedule-table-section{margin:4mm 0!important}
  table{width:100%!important;border-collapse:collapse!important}.table-wrap{overflow:visible!important}th,td{border:1px solid #d1d9de!important;padding:1.5mm 1.8mm!important;font-size:7pt!important;background:#fff!important;color:#111!important}thead{display:table-header-group}tr{page-break-inside:avoid;break-inside:avoid}
  .schedule-bars{height:50mm!important;border:1px solid #d3dde3!important;padding:3mm 2mm 2mm!important;overflow:visible!important;break-inside:avoid}.schedule-bar-stack{height:37mm!important}.schedule-bar-item small{font-size:6pt!important}
  .schedule-chart-legend{font-size:7pt!important}
  .schedule-note{margin-top:4mm!important;padding:3mm!important}.schedule-note strong{font-size:8pt}.schedule-note p{font-size:7pt!important}
  body.print-summary .schedule-table-section{display:none!important}
  body.print-detail .schedule-table-section{display:block!important}
}


/* =========================
   Ver.26 - human editorial tone
   ========================= */
.article-body .lead{
  font-size:16px;
  line-height:1.95;
  color:#405c70;
}
.author-intro-note{
  margin:18px 0 24px;
  padding:15px 17px;
  border-left:4px solid #6fa5ca;
  border-radius:0 13px 13px 0;
  background:#f6fafc;
}
.author-intro-note>span{
  display:block;
  margin-bottom:5px;
  font-size:10px;
  font-weight:900;
  color:#4f7b99;
}
.author-intro-note p{
  margin:0!important;
  font-size:13.5px!important;
  line-height:1.85!important;
  color:#4f6575!important;
}
.human-view{
  border-left:4px solid #dfad5f!important;
  background:#fffaf1!important;
}
.human-view .view-label{display:none!important}
.human-view>strong{
  display:block;
  margin-bottom:5px;
  color:#7b5c27;
  font-size:12px;
}
.human-view p{margin:0!important}
.human-source{
  margin-top:30px!important;
  padding:13px 15px!important;
  background:#f8fafb!important;
}
.human-source strong{
  display:block;
  font-size:11px!important;
  color:#667d8c!important;
  margin-bottom:5px;
}
.human-source a{
  font-size:12px!important;
  font-weight:800!important;
}
.human-source span{
  display:block;
  margin-top:3px;
  font-size:10px!important;
  color:#82929d!important;
}
.summary3{
  background:#fff!important;
  border:1px solid #dbe7ee!important;
  box-shadow:none!important;
}
.summary3-title{
  font-size:12px!important;
  color:#345f7d!important;
  letter-spacing:0!important;
}
.summary3-title span{display:none!important}
.article-datebar{
  gap:10px!important;
  color:#81919c!important;
  font-size:10.5px!important;
}
.article-trust-line{display:none!important}
.compact-tags{
  margin:20px 0 8px!important;
}
.compact-tags .chips a{
  font-size:10px!important;
  padding:5px 8px!important;
  opacity:.8;
}
.compact-update{
  margin:20px 0!important;
  border-top:1px solid #e3eaee;
  padding-top:10px;
}
.compact-update summary{
  cursor:pointer;
  color:#778b98;
  font-size:11px;
  font-weight:800;
}
.author-personal-card p{
  line-height:1.75!important;
}
.article-side .side-module.article-policy-box{display:none!important}

/* Less templated article rhythm */
.article-body>h2{
  margin-top:38px;
}
.article-body>p{
  line-height:1.95;
}
.article-body>p + p{
  margin-top:15px;
}
.article-body .number-section,
.article-body .comparison-section{
  margin-top:34px;
}
@media(max-width:720px){
  .author-intro-note{padding:13px 14px;margin:15px 0 20px}
  .author-intro-note p{font-size:13px!important}
}


/* Ver.27 editorial pass */
.author-intro-note{
  position:relative;
  background:#f8fbfd!important;
  border-left:3px solid #79a7c5!important;
}
.author-intro-note>span{
  text-transform:none!important;
  letter-spacing:.02em!important;
}
.human-view>strong{
  font-size:12.5px!important;
  color:#6b552f!important;
}
.human-source{
  padding:10px 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid #e3eaee!important;
  border-radius:0!important;
}
.human-source summary{
  cursor:pointer;
  font-size:10.5px;
  font-weight:800;
  color:#7b8d98;
  margin-bottom:7px;
}
.human-source a{display:inline-block;margin-right:8px}
.article-body h2{
  letter-spacing:0!important;
}
.article-body p{
  text-wrap:pretty;
}
@media(max-width:720px){
  .human-source{margin-top:24px!important}
}

/* Ver.28 comparison article cluster */
.comparison-feature{margin-top:34px;margin-bottom:34px}
.comparison-feature .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.comparison-feature .section-heading p{margin:4px 0 0;color:#718592;font-size:12px}
.comparison-feature .section-heading>a{font-size:11px;font-weight:900;color:#1769ad}
.comparison-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.comparison-feature-grid a{display:block;padding:16px;border:1px solid #dce8ef;border-radius:16px;background:#fff}
.comparison-feature-grid strong,.comparison-feature-grid span{display:block}
.comparison-feature-grid strong{font-size:15px;color:#285573}.comparison-feature-grid span{margin-top:5px;font-size:11px;color:#718492}
@media(max-width:900px){.comparison-feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.comparison-feature .section-heading{display:block}.comparison-feature .section-heading>a{display:inline-block;margin-top:8px}.comparison-feature-grid{grid-template-columns:1fr}}


/* Ver.29 Single buyer hub + price bands */
.single-home-feature{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
  gap:20px;
  align-items:center;
  margin-top:34px;
  margin-bottom:34px;
  padding:24px;
  border:1px solid #dbe7ee;
  border-radius:22px;
  background:linear-gradient(135deg,#f8fbfe,#fff9f1);
}
.single-home-copy h2{margin:3px 0 8px;font-size:26px;color:#224f6f}
.single-home-copy p{margin:0;color:#657c8c;line-height:1.8}
.single-home-copy a{display:inline-block;margin-top:12px;font-size:12px;font-weight:900;color:#1769ad}
.single-home-points{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.single-home-points span{padding:13px 10px;text-align:center;border:1px solid #dfe9ef;border-radius:13px;background:#fff;font-size:11px;font-weight:900;color:#52758d}

.single-shell{max-width:1180px;padding-bottom:60px}
.single-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;align-items:center;padding:34px 0 28px}
.single-hero h1{font-size:42px;line-height:1.2;margin:6px 0 12px;color:#214f70}
.single-hero p{font-size:15px;line-height:1.9;color:#5c7486}
.single-hero-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.single-hero-links a{padding:8px 11px;border-radius:999px;background:#f1f7fb;border:1px solid #d8e6ef;font-size:11px;font-weight:900;color:#316886}
.single-hero-card{padding:20px;border-radius:18px;border:1px solid #dce8ef;background:#fff}
.single-hero-card strong{display:block;color:#285674;margin-bottom:8px}
.single-hero-card ol{margin:0;padding-left:20px;color:#637a8a;font-size:12px;line-height:1.9}

.single-section{margin:34px 0}
.single-loan-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}
.single-loan-main,.single-loan-caution{padding:20px;border-radius:18px;border:1px solid #dce8ef}
.single-loan-main{background:#f7fbfe}.single-loan-caution{background:#fff9ef;border-color:#eadfc9}
.single-loan-main strong,.single-loan-caution strong{display:block;font-size:18px;color:#2b5675}
.single-loan-main p,.single-loan-caution p{font-size:12.5px;line-height:1.8;color:#667c8b}
.single-loan-main a{font-size:11px;font-weight:900;color:#1769ad}
.single-loan-caution span{display:block;font-size:9px;font-weight:900;color:#9a7540;margin-bottom:4px}
.single-tool-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:16px 18px;border-radius:15px;background:#244f6d;color:#fff}
.single-tool-cta strong{font-size:14px}.single-tool-cta p{margin:4px 0 0;font-size:11px;color:#d5e2eb}.single-tool-cta a{padding:10px 13px;border-radius:10px;background:#fff;color:#24506f;font-size:11px;font-weight:900;white-space:nowrap}
.single-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.single-card-grid a{display:block;padding:16px;border-radius:15px;border:1px solid #dce8ef;background:#fff}
.single-card-grid strong,.single-card-grid span{display:block}.single-card-grid strong{font-size:15px;color:#285573}.single-card-grid span{margin-top:5px;font-size:11px;color:#708492}
.single-exit-box{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.single-exit-box>div{padding:16px;border-radius:15px;background:#f7fafc;border:1px solid #dfe8ee}
.single-exit-box b,.single-exit-box strong,.single-exit-box span{display:block}.single-exit-box b{font-size:10px;color:#8aa0ae}.single-exit-box strong{font-size:15px;color:#2d5876;margin:3px 0}.single-exit-box span{font-size:11px;color:#708492}
.single-text-link{display:inline-block;margin-top:10px;font-size:11px;font-weight:900;color:#1769ad}
.single-author-note{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin:38px 0;padding:22px;border-radius:19px;background:#fffaf1;border:1px solid #eadfc9}
.single-author-note strong{font-size:18px;color:#614d2f}.single-author-note p{font-size:12.5px;line-height:1.85;color:#756950}.single-author-note span{font-size:10px;color:#8a7a63}.single-author-note a{padding:11px 14px;border-radius:10px;background:#315f7f;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}
@media(max-width:900px){
  .single-home-feature,.single-hero,.single-loan-grid{grid-template-columns:1fr}
  .single-card-grid,.single-exit-box{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .single-hero h1{font-size:32px}
  .single-card-grid,.single-exit-box,.single-home-points{grid-template-columns:1fr}
  .single-tool-cta,.single-author-note{display:block}.single-tool-cta a,.single-author-note a{display:block;margin-top:12px;text-align:center}
}


/* =========================
   Ver.30 - homepage final polish
   ========================= */
.v30-update{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.v30-update>div{display:flex;gap:12px;flex-wrap:wrap}
.v30-update a{font-size:10.5px;font-weight:900;color:#416f8e}

.hero-actions-v30{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-actions-v30 .hero-btn{margin:0!important}
.hero-sub-btn{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  padding:0 15px;
  border:1px solid #ccdce6;
  border-radius:12px;
  background:#fff;
  color:#426981;
  font-size:12px;
  font-weight:900;
}

.v30-heading{margin-bottom:13px!important}
.home-purpose{margin-top:28px;margin-bottom:34px}
.purpose-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.purpose-card{
  display:flex;
  min-height:190px;
  flex-direction:column;
  padding:18px;
  border:1px solid #dce7ed;
  border-radius:18px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease;
}
.purpose-card>span{font-size:9px;font-weight:900;letter-spacing:.09em;color:#79909f}
.purpose-card>strong{display:block;margin-top:5px;font-size:17px;line-height:1.45;color:#244f6d}
.purpose-card>p{margin:8px 0 14px;font-size:11.5px;line-height:1.65;color:#6d8290}
.purpose-card>b{margin-top:auto;font-size:11px;color:#1769ad}
@media(hover:hover) and (pointer:fine){.purpose-card:hover{transform:translateY(-2px);border-color:#9fbfd4}}

.v30-market{margin-top:32px!important;margin-bottom:38px!important}
.v30-market .market-note{display:none!important}

.v30-evergreen{margin-top:34px;margin-bottom:36px}
.evergreen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.evergreen-grid a{display:block;min-height:135px;padding:17px;border:1px solid #dce7ed;border-radius:17px;background:#fff}
.evergreen-grid span{font-size:9px;font-weight:900;color:#758e9f;letter-spacing:.06em}
.evergreen-grid strong{display:block;margin-top:5px;font-size:15px;line-height:1.55;color:#285471}
.evergreen-grid p{margin:7px 0 0;font-size:11px;color:#758795}

.v30-single{margin-top:38px!important;margin-bottom:38px!important}
.single-home-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.single-home-actions a{margin-top:0!important}
.single-home-actions a+ a{color:#506f84}

.v30-areas{margin-top:34px;margin-bottom:36px}
.v30-area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.v30-area-grid a{display:block;padding:17px;border:1px solid #dce7ed;border-radius:16px;background:#fff}
.v30-area-grid strong,.v30-area-grid span{display:block}
.v30-area-grid strong{font-size:18px;color:#295573}
.v30-area-grid span{margin-top:5px;font-size:10.5px;line-height:1.55;color:#718493}

.v30-tools{margin-top:36px!important;margin-bottom:38px!important}
.v30-tools .utility-hub-grid{grid-template-columns:repeat(3,1fr)}

.v30-latest{margin-top:34px!important}
.v30-more{margin-top:34px;margin-bottom:34px}
.v30-more-grid{display:flex;flex-wrap:wrap;gap:8px}
.v30-more-grid a{padding:9px 12px;border:1px solid #dbe6ed;border-radius:999px;background:#fff;font-size:11px;font-weight:900;color:#4d7189}

.v30-final-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:42px;
  margin-bottom:44px;
  padding:26px;
  border-radius:22px;
  background:#244f6d;
}
.v30-final-copy h2{margin:4px 0 8px;font-size:25px;color:#fff}
.v30-final-copy p{margin:0;color:#d7e3eb;font-size:12.5px;line-height:1.8}
.v30-final-copy .eyebrow{color:#b9d1e0}
.v30-final-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.v30-final-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:10px;font-size:11px;font-weight:900}
.v30-final-actions .quick-line{background:#fff;color:#24506d}
.v30-final-actions a:not(.quick-line){border:1px solid #88a7ba;color:#fff}
.v30-final-profile{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08);min-width:235px}
.v30-final-profile img{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#fff}
.v30-final-profile strong,.v30-final-profile span,.v30-final-profile small{display:block}
.v30-final-profile strong{color:#fff}.v30-final-profile span{margin-top:2px;font-size:10px;color:#d6e4ec}.v30-final-profile small{margin-top:4px;font-size:9px;color:#abc1cf}

/* Hide old homepage-only clutter if stale markup appears after cache/plugin transforms */
.home-purpose + .trust-strip,
#main>.category-section,
#main>.beginner-section,
#main>.lower-grid,
#main>.cluster-home-section,
#main>.area-focus-section,
#main>.consultation-section,
#main>.archive-section,
#main>.comparison-feature{display:none!important}

@media(max-width:1000px){
  .purpose-grid{grid-template-columns:1fr 1fr}
  .evergreen-grid{grid-template-columns:1fr 1fr}
  .v30-area-grid{grid-template-columns:1fr 1fr}
  .v30-tools .utility-hub-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .v30-update{align-items:flex-start}
  .v30-update>div{justify-content:flex-end}
  .home-purpose{margin-top:22px}
  .purpose-grid{grid-template-columns:1fr 1fr}
  .purpose-card{min-height:155px;padding:14px}
  .purpose-card>strong{font-size:15px}
  .purpose-card>p{font-size:10.5px}
  .evergreen-grid{grid-template-columns:1fr}
  .v30-area-grid{grid-template-columns:1fr 1fr}
  .v30-final-cta{grid-template-columns:1fr;padding:20px}
  .v30-final-copy h2{font-size:21px}
  .v30-final-profile{min-width:0}
}
@media(max-width:430px){
  .purpose-grid{grid-template-columns:1fr}
  .purpose-card{min-height:0}
  .v30-area-grid{grid-template-columns:1fr}
  .hero-actions-v30{display:grid;grid-template-columns:1fr}
  .hero-actions-v30 a{width:100%;justify-content:center;text-align:center}
}


/* =========================
   Ver.31 - repeat visit / client value
   ========================= */
.home-brief-entry{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);
  gap:12px;
  margin-top:30px;
  margin-bottom:36px;
}
.home-brief-main{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:22px;
  border-radius:20px;
  background:#244f6d;
}
.home-brief-main h2{margin:4px 0 7px;color:#fff;font-size:24px}
.home-brief-main p{margin:0;color:#d6e4ec;font-size:12px;line-height:1.7}
.home-brief-main .eyebrow{color:#bcd3e1}
.home-brief-arrow{
  flex:0 0 auto;
  padding:10px 12px;
  border-radius:10px;
  background:#fff;
  color:#285674;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.home-brief-side{display:grid;grid-template-rows:1fr 1fr;gap:10px}
.home-brief-side a{display:flex;flex-direction:column;justify-content:center;padding:15px;border:1px solid #dce7ed;border-radius:16px;background:#fff}
.home-brief-side strong{font-size:14px;color:#2d5977}
.home-brief-side span{margin-top:4px;font-size:10.5px;color:#718594}

.brief-shell,.library-shell{max-width:1080px;padding-bottom:60px}
.brief-hero,.library-hero{padding:34px 0 24px}
.brief-hero h1,.library-hero h1{font-size:42px;line-height:1.18;margin:6px 0 12px;color:#214f70}
.brief-hero p,.library-hero p{max-width:760px;font-size:14px;line-height:1.9;color:#607889}
.brief-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.brief-meta span{padding:6px 9px;border-radius:999px;background:#f1f6fa;font-size:10px;color:#6f8594}
.brief-lead-card{margin:8px 0 32px;padding:21px;border-radius:18px;background:#fffaf1;border:1px solid #eadfc9}.brief-lead-card>span{display:block;font-size:9px;font-weight:900;color:#9b7944}.brief-lead-card strong{display:block;margin:5px 0 7px;font-size:21px;color:#634e31}.brief-lead-card p{margin:0;font-size:12.5px;line-height:1.8;color:#786b56}
.brief-section{margin:34px 0}
.brief-three{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.brief-three article{position:relative;padding:18px;border:1px solid #dce7ed;border-radius:17px;background:#fff}
.brief-index{font-size:20px;font-weight:900;color:#d3dfe7}.brief-tag{margin-top:8px;font-size:9px;font-weight:900;color:#66869b}.brief-three h3{font-size:16px;line-height:1.55;color:#285573;margin:6px 0 8px}.brief-three article>p{font-size:11.5px;line-height:1.75;color:#708391}.brief-yamaguchi{margin:12px 0;padding:11px;border-radius:12px;background:#f7fafc}.brief-yamaguchi b,.brief-yamaguchi span{display:block}.brief-yamaguchi b{font-size:9px;color:#55788e}.brief-yamaguchi span{margin-top:4px;font-size:10.5px;line-height:1.65;color:#637a89}.brief-three a{font-size:10.5px;font-weight:900;color:#1769ad}
.brief-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.brief-audience-grid a{display:block;padding:15px;border-radius:14px;border:1px solid #dce7ed;background:#fff}.brief-audience-grid strong,.brief-audience-grid span{display:block}.brief-audience-grid strong{font-size:14px;color:#2b5775}.brief-audience-grid span{margin-top:4px;font-size:10px;color:#728594}
.brief-bookmark{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:22px;border-radius:18px;background:#f5f9fc;border:1px solid #dce7ed}.brief-bookmark h2{font-size:21px;color:#285573;margin:4px 0 6px}.brief-bookmark p{font-size:11.5px;line-height:1.7;color:#708492;margin:0}.brief-bookmark>a{padding:10px 13px;border-radius:10px;background:#315f7f;color:#fff;font-size:10.5px;font-weight:900}

.library-section{margin:36px 0}
.library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.library-grid a{display:block;padding:16px;border:1px solid #dce7ed;border-radius:15px;background:#fff}.library-grid strong,.library-grid span{display:block}.library-grid strong{font-size:14px;line-height:1.5;color:#2a5674}.library-grid span{margin-top:5px;font-size:10px;color:#728594}
.library-rule{margin-top:38px;padding:18px;border-radius:16px;background:#fffaf1;border:1px solid #eadfc9}.library-rule strong{color:#665032}.library-rule p{margin:5px 0 0;font-size:11.5px;line-height:1.75;color:#756a57}

@media(max-width:900px){
  .home-brief-entry{grid-template-columns:1fr}
  .home-brief-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .brief-three{grid-template-columns:1fr}
  .brief-audience-grid,.library-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .home-brief-main{display:block}.home-brief-arrow{display:inline-block;margin-top:12px}
  .home-brief-side{grid-template-columns:1fr}
  .brief-hero h1,.library-hero h1{font-size:32px}
  .brief-audience-grid,.library-grid{grid-template-columns:1fr}
  .brief-bookmark{grid-template-columns:1fr}.brief-bookmark>a{text-align:center}
}


/* =========================
   Ver.32 - return visit & fact check
   ========================= */
.return-visit-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:10px;
  margin-bottom:4px;
  padding:10px 13px;
  border:1px solid #dce7ed;
  border-radius:12px;
  background:#f8fbfd;
}
.return-status strong,.return-status span{display:inline-block}
.return-status strong{margin-right:8px;font-size:10px;color:#315f7d}
.return-status span{font-size:10px;color:#738692}
.return-visit-panel>a{font-size:10px;font-weight:900;color:#1769ad;white-space:nowrap}
.visit-new-badge{
  display:inline-block!important;
  width:auto!important;
  margin:0 7px 0 0!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  background:#e9674c!important;
  color:#fff!important;
  font-size:8px!important;
  font-weight:900!important;
  vertical-align:middle;
}
.is-new-since-visit{border-color:#e8b1a4!important;background:#fffaf8!important}

.home-brief-side{grid-template-rows:repeat(3,1fr)!important}
.brief-verified{background:#eef8f2!important;color:#3f7659!important;font-weight:900!important}

.rules-shell,.updates-shell{max-width:1050px;padding-bottom:60px}
.rules-hero,.updates-hero{padding:34px 0 26px}
.rules-hero h1,.updates-hero h1{font-size:40px;line-height:1.2;margin:5px 0 10px;color:#214f70}
.rules-hero p,.updates-hero p{max-width:760px;font-size:13.5px;line-height:1.85;color:#627989}
.verified-strip{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:7px 10px;border-radius:999px;background:#eef8f2;color:#47745a;font-size:10px}
.verified-strip span{font-weight:900}

.rule-card{margin:16px 0;padding:20px;border:1px solid #dce7ed;border-radius:18px;background:#fff}
.rule-card.important{border-color:#b8d4e5;background:#fbfdff}
.rule-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.rule-type{display:block;font-size:9px;font-weight:900;letter-spacing:.07em;color:#718a9b}
.rule-card h2{margin:4px 0 0;font-size:20px;color:#295573}
.verified-badge{padding:5px 8px;border-radius:999px;background:#edf8f1;color:#397353;font-size:9px;font-weight:900;white-space:nowrap}
.rule-summary{font-size:13px;line-height:1.8;color:#627989}
.rule-key-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}
.rule-key-grid>div{padding:12px;border-radius:12px;background:#f6f9fb}
.rule-key-grid small,.rule-key-grid strong{display:block}.rule-key-grid small{font-size:9px;color:#7b8e9a}.rule-key-grid strong{margin-top:4px;font-size:14px;color:#2d5875}
.rule-yamaguchi,.rule-caution{margin-top:12px;padding:13px 14px;border-radius:13px}
.rule-yamaguchi{background:#fffaf1;border:1px solid #eadfc9}.rule-caution{background:#f8fafb;border:1px solid #e2e9ed}
.rule-yamaguchi strong,.rule-caution strong{font-size:11px;color:#725d38}.rule-yamaguchi p,.rule-caution p{margin:5px 0 0;font-size:11.5px;line-height:1.75;color:#6f706b}
.rule-source{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e7edef}.rule-source>span{font-size:9px;color:#81909a}.rule-source a{font-size:10px;font-weight:800;color:#49728c}
.rules-next-check{margin:32px 0;padding:20px;border-radius:18px;background:#f5f9fc;border:1px solid #dce7ed}.rules-next-check h2{font-size:20px;color:#285573;margin:4px 0 12px}.next-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.next-check-grid>div{padding:13px;border-radius:12px;background:#fff}.next-check-grid small,.next-check-grid strong,.next-check-grid span{display:block}.next-check-grid small{font-size:9px;color:#788c99}.next-check-grid strong{margin:4px 0;font-size:14px;color:#2a5775}.next-check-grid span{font-size:9.5px;color:#7c8d98}
.rules-disclaimer{margin:24px 0;padding:15px;border-left:4px solid #9cb8ca;background:#f8fafb}.rules-disclaimer strong{font-size:11px;color:#456b83}.rules-disclaimer p{margin:4px 0 0;font-size:10.5px;line-height:1.7;color:#748591}

.visit-status-card{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f5f9fc;border:1px solid #dce7ed}
.visit-status-card strong,.visit-status-card span{display:block}.visit-status-card strong{font-size:11px;color:#315f7e}.visit-status-card span{margin-top:3px;font-size:10px;color:#758893}
.updates-list{display:grid;gap:9px;margin:12px 0 28px}
.update-item{display:grid;grid-template-columns:55px 60px 1fr;gap:10px;align-items:start;padding:15px;border:1px solid #dce7ed;border-radius:14px;background:#fff}
.update-date{font-size:12px;font-weight:900;color:#496f88}.update-kind{display:inline-block;text-align:center;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:900}.update-kind.rules{background:#f4ecff;color:#74579a}.update-kind.market{background:#edf6ff;color:#48749a}.update-kind.data{background:#eef8f2;color:#46745a}.update-kind.guide{background:#fff4e9;color:#91683a}
.update-item strong{font-size:13px;line-height:1.5;color:#2c5673}.update-item p{margin:4px 0 0;font-size:10.5px;line-height:1.6;color:#748693}
.updates-small-note{padding:15px;border-radius:13px;background:#fffaf1;border:1px solid #eadfc9}.updates-small-note strong{font-size:11px;color:#705a36}.updates-small-note p{margin:4px 0 0;font-size:10.5px;line-height:1.7;color:#776b57}

@media(max-width:800px){
  .rule-key-grid{grid-template-columns:1fr 1fr}
  .next-check-grid{grid-template-columns:1fr}
  .update-item{grid-template-columns:48px 55px 1fr}
}
@media(max-width:560px){
  .return-visit-panel{align-items:flex-start}.return-visit-panel>a{white-space:normal;text-align:right}
  .rules-hero h1,.updates-hero h1{font-size:31px}
  .rule-card-head{display:block}.verified-badge{display:inline-block;margin-top:8px}
  .rule-key-grid{grid-template-columns:1fr 1fr}
  .update-item{grid-template-columns:45px 1fr}.update-kind{grid-column:2}.update-item>div{grid-column:1/-1}
}


/* =========================
   Ver.33 - audience dashboards
   ========================= */
.purpose-more{display:flex;justify-content:flex-end;margin-top:10px}
.purpose-more a{font-size:10.5px;font-weight:900;color:#1769ad}

.audience-shell{max-width:1100px;padding-bottom:60px}
.audience-hero{padding:34px 0 26px}
.audience-hero h1{font-size:42px;line-height:1.2;margin:5px 0 10px;color:#214f70}
.audience-hero p{max-width:720px;font-size:13.5px;line-height:1.85;color:#627989}

.audience-selector{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  margin:6px 0 22px;
  padding:5px;
  border-radius:15px;
  background:#edf3f7;
}
.audience-selector button{
  border:0;
  border-radius:11px;
  background:transparent;
  padding:11px 8px;
  font:inherit;
  font-size:11px;
  font-weight:900;
  color:#60798a;
  cursor:pointer;
}
.audience-selector button.active{background:#fff;color:#1769ad;box-shadow:0 2px 8px rgba(34,77,107,.08)}

.audience-panel{display:none}
.audience-panel.active{display:block}
.audience-panel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
.audience-panel-head>div>span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#7891a1}
.audience-panel-head h2{font-size:25px;color:#285573;margin:3px 0 5px}
.audience-panel-head p{margin:0;font-size:11.5px;color:#718493}
.audience-panel-head>a{font-size:10.5px;font-weight:900;color:#1769ad;white-space:nowrap}

.audience-check-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.audience-check-grid a{display:block;padding:15px;border:1px solid #dce7ed;border-radius:15px;background:#fff}
.audience-check-grid b,.audience-check-grid strong,.audience-check-grid span{display:block}
.audience-check-grid b{font-size:9px;color:#9aabb5}
.audience-check-grid strong{margin-top:4px;font-size:13.5px;line-height:1.5;color:#2a5674}
.audience-check-grid span{margin-top:5px;font-size:9.5px;line-height:1.5;color:#748794}

.audience-tip{margin:12px 0 28px;padding:15px 16px;border-radius:14px;background:#fffaf1;border:1px solid #eadfc9}
.audience-tip strong{font-size:10px;color:#735c36}
.audience-tip p{margin:5px 0 0;font-size:11.5px;line-height:1.75;color:#746b59}

.audience-quick{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
  margin:38px 0 0;
  padding:21px;
  border-radius:18px;
  background:#244f6d;
}
.audience-quick h2{margin:4px 0 5px;color:#fff;font-size:20px}
.audience-quick p{margin:0;font-size:11px;color:#d6e3eb}
.audience-quick .eyebrow{color:#b8d0df}
.audience-quick>a{padding:10px 13px;border-radius:10px;background:#fff;color:#285573;font-size:10.5px;font-weight:900}

.side-audience-link{margin-bottom:10px}
.side-audience-link a{display:block;padding:11px 12px;border-radius:11px;background:#f1f7fb;border:1px solid #d7e5ee;font-size:10.5px;font-weight:900;color:#2f6485;text-align:center}

@media(max-width:900px){
  .audience-check-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .audience-selector{grid-template-columns:1fr 1fr}
  .audience-panel-head{display:block}.audience-panel-head>a{display:inline-block;margin-top:8px}
  .audience-check-grid{grid-template-columns:1fr}
  .audience-hero h1{font-size:32px}
  .audience-quick{grid-template-columns:1fr}.audience-quick>a{text-align:center}
}


/* =========================
   Ver.34 - editorial system
   ========================= */
.freshness-badge{display:inline-flex!important;align-items:center;padding:3px 6px;border-radius:999px;font-size:8px!important;font-weight:900}
.freshness-badge.fresh{background:#edf8f1;color:#387251}
.freshness-badge.review{background:#fff6df;color:#8a6a2e}
.freshness-badge.stale{background:#fff0ed;color:#a15748}
.freshness-notice{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:10px 0 16px;padding:10px 12px;border-radius:11px;font-size:10px}
.freshness-notice.review{background:#fffaf0;border:1px solid #eadfc7}.freshness-notice.stale{background:#fff5f2;border:1px solid #edd2cb}
.freshness-notice strong{white-space:nowrap}.freshness-notice span{color:#73828c}.freshness-notice a{font-weight:900;color:#1769ad;white-space:nowrap}

.content-library-shell{max-width:1180px;padding-bottom:60px}
.content-library-hero{padding:34px 0 22px}
.content-library-hero h1{font-size:40px;color:#214f70;margin:5px 0 10px}.content-library-hero p{font-size:13px;color:#657b8b}
.content-filter-bar{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:8px 0 16px;padding:10px;border-radius:15px;background:#f4f8fb;border:1px solid #dce7ed}
.filter-row{display:flex;gap:6px;flex-wrap:wrap}.filter-row button{border:1px solid #d5e2ea;background:#fff;border-radius:999px;padding:7px 10px;font:inherit;font-size:10px;font-weight:900;color:#637c8d;cursor:pointer}.filter-row button.active{background:#285d80;color:#fff;border-color:#285d80}
.filter-utils{display:flex;gap:7px}.filter-utils input,.filter-utils select{border:1px solid #cedee8;border-radius:10px;background:#fff;padding:8px 10px;font:inherit;font-size:11px}.filter-utils input{width:220px}
.library-count{display:flex;align-items:baseline;gap:4px;margin:10px 0}.library-count span{font-size:20px;font-weight:900;color:#2c5875}.library-count small{font-size:9px;color:#7a8d99}
.article-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.article-library-card{display:flex;flex-direction:column;min-height:190px;padding:16px;border:1px solid #dce7ed;border-radius:16px;background:#fff}
.article-library-meta{display:flex;align-items:center;gap:7px}.article-library-meta>span:first-child{font-size:9px;font-weight:900;color:#718897}.mini-fresh{padding:3px 6px;border-radius:999px;font-size:8px;font-weight:900}.mini-fresh.fresh{background:#edf8f1;color:#387251}.mini-fresh.review{background:#fff6df;color:#8a6a2e}.mini-fresh.stale{background:#fff0ed;color:#a15748}
.article-library-card>strong{margin-top:6px;font-size:14px;line-height:1.55;color:#295573}.article-library-card>p{margin:7px 0 12px;font-size:10.5px;line-height:1.65;color:#748693}
.article-library-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.article-library-foot span{font-size:9px;color:#84939d}.article-library-foot b{font-size:9.5px;color:#1769ad}

.brief-archive-shell,.editorial-shell{max-width:1000px;padding-bottom:60px}
.brief-archive-hero,.editorial-hero{padding:34px 0 22px}.brief-archive-hero h1,.editorial-hero h1{font-size:38px;color:#214f70;margin:5px 0 9px}.brief-archive-hero p,.editorial-hero p{font-size:12.5px;color:#657b8a}
.brief-archive-link{display:flex;justify-content:flex-end;margin-bottom:6px}.brief-archive-link a{font-size:10px;font-weight:900;color:#1769ad}
.brief-archive-list{display:grid;gap:10px}.brief-archive-item{display:grid;grid-template-columns:100px 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid #dce7ed;border-radius:14px;background:#fff}.brief-archive-item>div time,.brief-archive-item>div span{display:block}.brief-archive-item time{font-size:11px;font-weight:900;color:#4a6f88}.brief-archive-item>div span{margin-top:3px;font-size:8px;color:#3e7656}.brief-archive-item strong{font-size:13px;color:#2d5774}.brief-archive-item p{grid-column:2;font-size:10px;color:#788994;margin:0}.brief-archive-item a{font-size:10px;font-weight:900;color:#1769ad}.brief-archive-empty{padding:16px;border-radius:13px;background:#f7fafc;color:#80909b;font-size:10.5px}

.editorial-rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.editorial-rules-grid>div{padding:16px;border:1px solid #dce7ed;border-radius:15px;background:#fff}.editorial-rules-grid strong,.editorial-rules-grid span{display:block}.editorial-rules-grid strong{font-size:14px;color:#2b5775}.editorial-rules-grid span{margin-top:4px;font-size:9px;font-weight:900;color:#6f899a}.editorial-rules-grid p{font-size:10.5px;line-height:1.6;color:#758793}
.editorial-note{margin-top:24px;padding:16px;border-radius:14px;background:#fffaf1;border:1px solid #eadfc9}.editorial-note strong{font-size:11px;color:#715b38}.editorial-note p{margin:4px 0 0;font-size:10.5px;color:#776c59}
.source-editorial-link{margin-top:20px;margin-bottom:20px}.source-editorial-link a{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #dce7ed;border-radius:13px;background:#f8fbfd}.source-editorial-link strong{font-size:12px;color:#2d5876}.source-editorial-link span{font-size:10px;color:#6e8493}

@media(max-width:900px){
  .content-filter-bar{grid-template-columns:1fr}
  .filter-utils input{width:100%}.filter-utils{display:grid;grid-template-columns:1fr auto}
  .article-library-grid{grid-template-columns:1fr 1fr}
  .editorial-rules-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .freshness-notice{grid-template-columns:1fr}.freshness-notice a{white-space:normal}
  .article-library-grid{grid-template-columns:1fr}
  .filter-utils{grid-template-columns:1fr}.filter-utils input,.filter-utils select{width:100%;font-size:16px}
  .brief-archive-item{grid-template-columns:70px 1fr}.brief-archive-item a{grid-column:2}.brief-archive-item p{grid-column:1/-1}
  .editorial-rules-grid{grid-template-columns:1fr}
}


/* =========================
   Ver.35 - smart update / personalization
   ========================= */
.personalized-home[hidden]{display:none!important}
.personalized-home{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  margin-top:18px;
  margin-bottom:8px;
  padding:14px 16px;
  border:1px solid #dce7ed;
  border-radius:15px;
  background:#f8fbfd;
}
.personalized-home span{display:block;font-size:8px;font-weight:900;letter-spacing:.08em;color:#8195a1}
.personalized-home strong{display:block;margin-top:3px;font-size:13px;color:#2d5876}
.personalized-home p{margin:4px 0 0;font-size:10px;color:#748793}
.personalized-home>a{font-size:10px;font-weight:900;color:#1769ad;white-space:nowrap}

.ops-shell{max-width:900px;padding-bottom:60px}
.ops-hero{padding:34px 0 22px}.ops-hero h1{font-size:38px;color:#214f70;margin:5px 0 8px}.ops-hero p{font-size:12.5px;color:#667c8b}
.ops-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ops-grid>div{padding:17px;border:1px solid #dce7ed;border-radius:15px;background:#fff}.ops-grid b,.ops-grid strong{display:block}.ops-grid b{font-size:9px;color:#7790a0}.ops-grid strong{margin:4px 0;font-size:13px;color:#2d5876}.ops-grid p{font-size:10.5px;line-height:1.65;color:#748794}
.ops-rule{margin-top:18px;padding:15px;border-radius:13px;background:#fffaf1;border:1px solid #eadfc9}.ops-rule strong{font-size:11px;color:#725c38}.ops-rule p{font-size:10.5px;color:#756a58;line-height:1.7}

@media(max-width:760px){
  .personalized-home{grid-template-columns:1fr}.personalized-home>a{white-space:normal}
  .ops-grid{grid-template-columns:1fr}
}


/* =========================
   Ver.36 - publish workflow
   ========================= */
.publisher-shell{max-width:980px;padding-bottom:60px}
.publisher-hero{padding:34px 0 24px}
.publisher-hero h1{font-size:38px;color:#214f70;margin:5px 0 9px}
.publisher-hero p{font-size:12.5px;line-height:1.8;color:#667d8c}
.publisher-hero code{padding:2px 5px;border-radius:5px;background:#edf3f7}

.publisher-step{margin:14px 0;padding:18px;border:1px solid #dce7ed;border-radius:16px;background:#fff}
.publisher-step-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.publisher-step-head>b{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#285d80;color:#fff;font-size:11px}
.publisher-step-head strong,.publisher-step-head span{display:block}
.publisher-step-head strong{font-size:14px;color:#2c5875}
.publisher-step-head span{margin-top:2px;font-size:9.5px;color:#7a8d99}
.publisher-step textarea{width:100%;min-height:190px;box-sizing:border-box;padding:13px;border:1px solid #cfdee7;border-radius:11px;background:#fbfdfe;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;color:#334f62;resize:vertical}
#publisherLine{min-height:220px;font-family:inherit}
#publisherCode{min-height:260px}
.publisher-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.publisher-actions button{border:0;border-radius:9px;padding:9px 12px;background:#285d80;color:#fff;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.publisher-actions button.secondary{background:#eef4f7;color:#4c7188}
.publisher-status{margin-top:10px}.publisher-status strong,.publisher-status span{display:block}.publisher-status strong{font-size:11px}.publisher-status span{margin-top:3px;font-size:10px}
.publisher-status.ok{padding:10px;border-radius:10px;background:#eef8f2;color:#397151}.publisher-status.error{padding:10px;border-radius:10px;background:#fff2ef;color:#9b5448}
.publish-checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px}.publish-checklist label{padding:10px 11px;border:1px solid #e0e8ed;border-radius:10px;font-size:10.5px;color:#667c8a}
.publisher-preview-empty{padding:24px;text-align:center;border-radius:12px;background:#f7fafc;color:#81919b;font-size:10.5px}
.publisher-preview{padding:17px;border-radius:14px;background:#f8fbfd}
.pub-preview-meta{display:flex;gap:7px;flex-wrap:wrap}.pub-preview-meta span,.pub-preview-meta b{padding:4px 7px;border-radius:999px;background:#fff;font-size:8.5px;color:#718796}.pub-preview-meta b{background:#edf8f1;color:#397252}
.publisher-preview h2{font-size:20px;color:#285573;margin:9px 0 7px}.publisher-preview>p{font-size:11.5px;line-height:1.7;color:#718492}
.pub-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.pub-preview-grid article{padding:12px;border-radius:11px;background:#fff;border:1px solid #e0e9ee}.pub-preview-grid article>span{font-size:8px;color:#7f919d}.pub-preview-grid article>strong{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:#2b5775}.pub-preview-grid article>p{font-size:9.5px;line-height:1.6;color:#788994}.pub-preview-grid article>div{padding-top:7px;border-top:1px solid #edf1f3;font-size:9px;line-height:1.55;color:#6d7f8a}.pub-preview-grid article>div b{display:block;color:#4e7187}
.publisher-note{font-size:9px;color:#84939d}
.ops-publish-flow{margin-top:18px;padding:15px;border-radius:13px;background:#f5f9fc;border:1px solid #dce7ed}.ops-publish-flow>strong{font-size:11px;color:#315f7e}.ops-publish-flow>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;font-size:10px;color:#6f8492}.ops-publish-flow a{font-weight:900;color:#1769ad}

.weekly-share-link{display:flex;justify-content:flex-end;margin-top:-24px;margin-bottom:28px}.weekly-share-link a{font-size:10px;font-weight:900;color:#1769ad}
.client-share-shell{max-width:980px;padding-bottom:60px}
.client-share-hero{padding:34px 0 22px}.client-share-hero h1{font-size:40px;color:#214f70;margin:5px 0 8px}.client-share-hero p{font-size:12.5px;color:#667d8b}
.client-share-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.client-share-meta span,.client-share-meta b{padding:5px 8px;border-radius:999px;background:#f1f6f9;font-size:9px;color:#728795}.client-share-meta b{background:#edf8f1;color:#397252}
.client-share-headline{padding:18px;border-radius:15px;background:#fffaf1;border:1px solid #eadfc9}.client-share-headline strong{font-size:19px;color:#655033}.client-share-headline p{margin:6px 0 0;font-size:11.5px;line-height:1.7;color:#776b57}
.client-share-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.client-share-grid article{padding:17px;border:1px solid #dce7ed;border-radius:15px;background:#fff}.client-share-rank{font-size:20px;font-weight:900;color:#d3dfe7}.client-share-type{display:block;margin-top:4px;font-size:8px;font-weight:900;color:#72899a}.client-share-grid h2{font-size:15px;line-height:1.5;color:#2a5674}.client-share-grid article>p{font-size:10.5px;line-height:1.65;color:#748693}.client-share-view{margin:10px 0;padding:10px;border-radius:10px;background:#f7fafc}.client-share-view b,.client-share-view span{display:block}.client-share-view b{font-size:8.5px;color:#51758b}.client-share-view span{margin-top:3px;font-size:9.5px;line-height:1.55;color:#6e818e}.client-share-grid a{font-size:9.5px;font-weight:900;color:#1769ad}
.client-share-cta{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-top:28px;padding:18px;border-radius:15px;background:#244f6d}.client-share-cta strong{color:#fff;font-size:14px}.client-share-cta p{margin:4px 0 0;font-size:10px;color:#d5e3eb}.client-share-cta a{padding:9px 12px;border-radius:9px;background:#fff;color:#285573;font-size:10px;font-weight:900}

@media(max-width:800px){
  .publish-checklist{grid-template-columns:1fr}
  .pub-preview-grid,.client-share-grid{grid-template-columns:1fr}
  .client-share-cta{grid-template-columns:1fr}.client-share-cta a{text-align:center}
}


/* =========================
   Ver.37 - multichannel distribution
   ========================= */
.publisher-channel-tabs{
  display:flex;
  gap:6px;
  margin-bottom:10px;
  padding:4px;
  border-radius:11px;
  background:#eef4f7;
}
.publisher-channel-tabs button{
  flex:1;
  border:0;
  border-radius:8px;
  padding:8px 10px;
  background:transparent;
  font:inherit;
  font-size:10px;
  font-weight:900;
  color:#69808f;
  cursor:pointer;
}
.publisher-channel-tabs button.active{
  background:#fff;
  color:#285d80;
  box-shadow:0 1px 5px rgba(38,75,99,.08);
}
.publisher-channel-panel{display:none}
.publisher-channel-panel.active{display:block}
.channel-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:7px}
.channel-head strong{font-size:12px;color:#2d5875}
.channel-head span{font-size:9px;color:#82919b}
.publisher-subject{
  width:100%;
  box-sizing:border-box;
  margin-bottom:8px;
  padding:10px 12px;
  border:1px solid #cfdee7;
  border-radius:10px;
  background:#fbfdfe;
  font:12px/1.4 inherit;
  color:#334f62;
}

.distribution-shell{max-width:950px;padding-bottom:60px}
.distribution-hero{padding:34px 0 22px}
.distribution-hero h1{font-size:38px;color:#214f70;margin:5px 0 8px}
.distribution-hero p{font-size:12.5px;line-height:1.75;color:#667d8b}
.distribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.distribution-grid article{padding:17px;border:1px solid #dce7ed;border-radius:15px;background:#fff}
.distribution-grid span{display:block;font-size:9px;font-weight:900;color:#7890a0}
.distribution-grid strong{display:block;margin-top:4px;font-size:16px;color:#2c5875}
.distribution-grid p{font-size:10.5px;line-height:1.65;color:#748693}
.distribution-rule{margin-top:18px;padding:15px;border-radius:13px;background:#fffaf1;border:1px solid #eadfc9}
.distribution-rule strong{font-size:11px;color:#725c38}
.distribution-rule p{margin:5px 0 0;font-size:10.5px;line-height:1.7;color:#756a58}

@media(max-width:760px){
  .channel-head{display:block}.channel-head span{display:block;margin-top:3px}
  .distribution-grid{grid-template-columns:1fr}
}

/* Ver.39 reader first */
.reader-first-hero{padding-bottom:18px!important}
.reader-first-hero p{display:none!important}
.reader-first-hero h1{margin-bottom:8px!important}

/* Ver.40 share tools */
.tool-share-card,.market-share-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;margin-bottom:24px;padding:15px 16px;border:1px solid #dce7ed;border-radius:14px;background:#f8fbfd}
.tool-share-copy strong,.tool-share-copy span,.market-share-card>div:first-child strong,.market-share-card>div:first-child span{display:block}
.tool-share-copy strong,.market-share-card>div:first-child strong{font-size:12px;color:#2d5875}
.tool-share-copy span,.market-share-card>div:first-child span{margin-top:3px;font-size:9.5px;color:#788b98}
.tool-share-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.share-btn{min-height:42px;border:1px solid #cbdde8;border-radius:10px;padding:9px 12px;background:#fff;color:#315f7d;font:inherit;font-size:10.5px;font-weight:900;cursor:pointer}
.share-btn.x-share{background:#17202a;border-color:#17202a;color:#fff}
.share-btn.is-done{background:#edf8f1;border-color:#cde6d6;color:#397252}
@media(max-width:650px){.tool-share-card,.market-share-card{display:block}.tool-share-actions{margin-top:11px;justify-content:stretch}.share-btn{flex:1 1 0;min-width:0;font-size:11px}}

.rule-income-clarify{margin-top:12px;padding:13px 14px;border-radius:13px;background:#eef7ff;border:1px solid #cfe2ef}.rule-income-clarify strong{font-size:11px;color:#315f7d}.rule-income-clarify p{margin:5px 0 0;font-size:11.5px;line-height:1.75;color:#647b8a}.rule-income-clarify b{color:#284f69}

/* Ver.44 area expansion */
.v44-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v44-area-grid a,.v44-sub-grid a,.area-link-card{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid #dce7ed;border-radius:16px;background:#fff;text-decoration:none;color:inherit;transition:.15s ease}
.v44-area-grid a:hover,.v44-sub-grid a:hover,.area-link-card:hover{transform:translateY(-2px);border-color:#aac9da}
.v44-area-grid a strong,.v44-sub-grid a strong{font-size:17px}
.v44-area-grid a span,.v44-sub-grid a span,.area-link-card span{font-size:12px;color:#748591}
.v44-area-grid .wide{grid-column:span 2}
.v44-sub-area{margin-top:28px}
.v44-sub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v44-sub-note{margin-top:10px;font-size:12px;color:#788995}
.area-hub-hero{padding-top:34px;padding-bottom:20px}
.area-hub-hero h1{margin:8px 0 10px}
.area-hub-hero p{max-width:800px}
.area-hub-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.area-hub-chips span{padding:7px 11px;border-radius:999px;background:#f1f6f9;font-size:12px;font-weight:700;color:#42647a}
.area-sub-badge{display:inline-block;margin-left:8px;padding:5px 9px;border-radius:999px;background:#f4f1eb;color:#7a6852;font-size:11px;font-weight:800}
.area-summary-card{padding:18px 20px;border-left:4px solid #a7c7d8;background:#f8fbfd;border-radius:12px}
.area-summary-card p{margin:6px 0 0}
.area-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v44-global-area-nav{margin-top:30px}
.v44-area-mini{display:flex;flex-wrap:wrap;gap:8px}
.v44-area-mini a{padding:8px 11px;border:1px solid #dce7ed;border-radius:999px;text-decoration:none;color:#41647a;background:#fff;font-size:12px;font-weight:800}
@media(max-width:900px){.v44-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.v44-area-grid,.v44-sub-grid,.area-link-grid{grid-template-columns:1fr}.v44-area-grid .wide{grid-column:auto}}

/* =========================
   Ver.45 unified area + area article clusters
   ========================= */
.v45-main-area-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.v45-subarea-row{margin-top:18px;padding-top:16px;border-top:1px solid #e3ebef}
.v45-subarea-label{display:block;margin-bottom:10px;font-size:11px;font-weight:900;color:#7b8a94}
.v45-subarea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v45-subarea-grid a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #e1e8ec;border-radius:14px;background:#fafcfd;text-decoration:none;color:inherit}
.v45-subarea-grid strong{font-size:14px}.v45-subarea-grid span{font-size:11px;color:#7b8b95}
.v45-area-articles{margin-top:24px}
.v45-area-article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v45-area-article-card{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid #dce7ed;border-radius:15px;background:#fff;text-decoration:none;color:inherit}
.v45-area-article-card strong{font-size:15px;line-height:1.55}
.v45-area-article-card span{font-size:12px;line-height:1.65;color:#71838e}
@media(max-width:900px){.v45-main-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.v45-main-area-grid,.v45-subarea-grid,.v45-area-article-grid{grid-template-columns:1fr!important}}

/* Ver.48: new area hubs use the same AREA GUIDE UI as Meguro */
.area-hub .v45-area-articles{margin-top:32px}
.area-hub .v45-area-articles .section-heading{margin-bottom:12px}
.area-hub .v45-area-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.area-hub .area-sub-badge{margin-left:8px;vertical-align:middle}
@media(max-width:650px){
  .area-hub .v45-area-article-grid{grid-template-columns:1fr}
}

/* Ver.49 article tables and multi-source box */
.article-inline-table{margin:16px 0 24px}
.source-list{display:grid;gap:10px;margin:12px 0}
.source-list-item{display:flex;flex-direction:column;gap:3px}
.source-list-item a{font-weight:800}
.source-list-item span{font-size:12px;color:#748591}

/* Ver.50 brief source links */
.brief-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.brief-source-link{font-size:12px!important;color:#6b7f8d!important;font-weight:700!important}
