/* KUWAMASA Cross Design System v26 — quiet professional / eye-friendly */
:root{
  --kc-bg:#f7f6f2;
  --kc-surface:#fbfaf7;
  --kc-surface-2:#eef2f3;
  --kc-ink:#26323d;
  --kc-muted:#68737d;
  --kc-navy:#18344d;
  --kc-navy-2:#274a67;
  --kc-blue:#4a7594;
  --kc-gold:#a78a4e;
  --kc-gold-soft:#e8dfc8;
  --kc-line:#d8d9d4;
  --kc-line-strong:#c7cbc9;
  --kc-shadow:0 10px 32px rgba(25,48,67,.065);
  --kc-radius:12px;
  --kc-max:1120px;
}
html{background:var(--kc-bg);scroll-padding-top:92px}
body{
  background:var(--kc-bg)!important;
  color:var(--kc-ink)!important;
  font-family:"Noto Sans JP","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif!important;
  font-size:16px;
  line-height:1.82;
  letter-spacing:.015em;
  text-rendering:optimizeLegibility;
}
.wrap,.nav{max-width:var(--kc-max)!important}
::selection{background:#dce8ed;color:var(--kc-navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(74,117,148,.28)!important;outline-offset:2px}

/* Shared header */
body>header{
  position:sticky!important;top:0;z-index:100!important;
  background:rgba(251,250,247,.94)!important;
  border-bottom:1px solid var(--kc-line)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.7)!important;
  backdrop-filter:blur(16px) saturate(120%);
}
body>header .nav{min-height:70px;padding:10px 24px!important;gap:22px!important}
body>header .logo,body>header .logo-link{
  color:var(--kc-navy)!important;text-decoration:none!important;
  letter-spacing:.11em!important;font-weight:700!important;white-space:nowrap
}
body>header .logo b{color:var(--kc-gold)!important;font-size:9px!important;letter-spacing:.18em!important;margin-top:1px}
body>header .logo-img{height:45px!important;max-width:300px;object-fit:contain}
body>header .logo-full{height:36px!important;width:auto;display:block;filter:drop-shadow(0 1px 1px rgba(16,33,63,.06))}
body>header .logo-icon{height:30px!important;width:auto;display:none;filter:drop-shadow(0 1px 1px rgba(16,33,63,.06))}

body>header .nav ul{gap:6px 18px!important;align-items:center}
body>header .nav a:not(.logo):not(.logo-link){
  color:#4b5d69!important;font-size:13px!important;font-weight:600!important;
  border-bottom:0!important;padding:9px 2px!important;position:relative
}
body>header .nav a:not(.logo):not(.logo-link)::after{
  content:"";position:absolute;left:2px;right:2px;bottom:4px;height:2px;border-radius:2px;
  background:var(--kc-gold);transform:scaleX(0);transition:transform .18s ease
}
body>header .nav a:hover::after,body>header .nav a.on::after,body>header .nav a[style*="border-bottom"]::after{transform:scaleX(1)}

/* Shared hero: lighter, calmer, easier on eyes */
.hero,.room-hero{
  background:linear-gradient(135deg,#e8edef 0%,#dce6e9 55%,#eae6db 100%)!important;
  color:var(--kc-ink)!important;border-bottom:1px solid var(--kc-line)!important
}
.hero::before{background:radial-gradient(circle at 82% 22%,rgba(255,255,255,.72),transparent 31%),linear-gradient(90deg,rgba(251,250,247,.64),rgba(251,250,247,.08))!important}
.hero-shell{min-height:310px!important}
.hero-copy{min-height:310px!important;padding:54px 0 48px!important;justify-content:center!important}
.eyebrow,.room-label{color:var(--kc-gold)!important;font-size:11px!important;letter-spacing:.25em!important}
.hero h1,.room-hero h1{color:var(--kc-navy)!important;font-size:clamp(27px,3vw,40px)!important;line-height:1.48!important;letter-spacing:.01em!important}
.hero p,.room-hero p{color:#536571!important;font-size:15px!important;line-height:1.9!important}
.hero p a{color:var(--kc-navy-2)!important;text-decoration-thickness:1px;text-underline-offset:4px}
.hero-art{opacity:.56!important;filter:saturate(.72) contrast(.92)!important;mix-blend-mode:multiply}

/* Root portal hero */
.page-home .hero{background:linear-gradient(145deg,#edf1f2 0%,#dfe8ea 62%,#e8e3d7 100%)!important}
.page-home .hero .wrap{padding-top:64px!important;padding-bottom:62px!important}
.page-home .hero h1{max-width:18em!important}
.page-home .hero p{max-width:660px!important}
.page-home .hero .arcs{opacity:.18;filter:saturate(.45)}

/* Section rhythm */
section{padding:58px 0!important;background:transparent!important}
section:nth-of-type(even){background:rgba(255,255,255,.34)!important;border-top:1px solid rgba(216,217,212,.55);border-bottom:1px solid rgba(216,217,212,.55)}
.sec-head{border-bottom:0!important;margin-bottom:8px!important;padding-bottom:0!important;gap:10px!important}
.sec-head::after{content:"";display:block;flex-basis:100%;height:1px;background:linear-gradient(90deg,var(--kc-gold),var(--kc-line) 22%,transparent 80%);margin-top:12px}
.sec-no{color:var(--kc-gold)!important;font-size:11px!important;letter-spacing:.18em!important}
.sec-head h2{color:var(--kc-navy)!important;font-size:clamp(21px,2.3vw,28px)!important;letter-spacing:.01em!important}
.sec-sub{color:var(--kc-muted)!important;font-size:14px!important;line-height:1.85!important;max-width:760px!important;margin-bottom:25px!important}
.sec-count{background:rgba(255,255,255,.5);color:var(--kc-muted)!important;border-color:var(--kc-line)!important}

/* Cards / panels */
.card,.feat,.coming,.about,.feed,.src,.db a,.cards a,.grp,.pbox,.prev,.room-switch a{
  border-color:var(--kc-line)!important;border-radius:var(--kc-radius)!important;
  box-shadow:none!important;background:var(--kc-surface)!important
}
.card,.db a,.cards a,.room-switch a{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}
.card:hover,.db a:hover,.cards a:hover,.room-switch a:hover{
  transform:translateY(-2px)!important;border-color:#b9b49f!important;box-shadow:var(--kc-shadow)!important
}
.card .nm,.db .nm,.cards .nm,.room-card-copy b{color:var(--kc-navy)!important}
.card .use,.db .use,.cards .use,.room-card-copy span{color:var(--kc-muted)!important}
.card .ico,.coming .ico{background:#e8eef0!important;color:var(--kc-navy)!important}
.card::before{background:var(--kc-gold)!important;width:2px!important}
.feat{background:linear-gradient(135deg,#24445c,#18344d)!important;border-color:#31536a!important;box-shadow:0 12px 30px rgba(24,52,77,.12)!important}
.feat .fuse{color:#dce5e9!important}.feat .chip{background:var(--kc-gold-soft)!important;color:#584822!important}

/* News dashboard */
.news{gap:18px!important}
.feed{overflow:hidden!important}
.feed-h,.src-h{background:#eef1ef!important;border-bottom-color:var(--kc-line)!important;padding:14px 17px!important}
.feed-h h3,.src-h h3{color:var(--kc-navy)!important;font-size:14px!important}
.feed ul{padding:4px 17px 12px!important}
.feed li{padding:13px 0!important;border-bottom-color:#e5e5e0!important}
.feed a{color:#294b63!important;font-size:14px!important;line-height:1.62!important;text-underline-offset:3px}
.feed .meta{color:#7a858d!important;margin-top:5px!important}
.refresh,.frefresh,.btn{
  border:1px solid var(--kc-line)!important;background:var(--kc-surface)!important;color:var(--kc-navy-2)!important;
  border-radius:8px!important;box-shadow:none!important
}
.refresh:hover,.frefresh:hover,.btn:hover{border-color:#aaa58f!important;background:#f4f0e7!important}

/* Valuation / data-heavy views */
.vnav,.kbar{background:rgba(251,250,247,.7);border:1px solid var(--kc-line);border-radius:10px;padding:12px!important}
.vcard,.vpanel,.result,.checklist{background:var(--kc-surface)!important;border-color:var(--kc-line)!important;border-radius:var(--kc-radius)!important}
.grp{overflow:hidden!important;margin-bottom:20px!important}
.grp-h{background:var(--kc-navy)!important;padding:14px 18px!important}
.grp-note{background:#f1f1ed!important}
.kitem{padding:15px 18px!important}
.kitem .knm{color:var(--kc-navy)!important}
.kitem .kap,.klaw{background:#f2f3f0!important;border-left-color:var(--kc-gold)!important}
.kbar select,.kbar input,.frm input,.frm select,textarea#src{
  background:#fff!important;border-color:var(--kc-line-strong)!important;min-height:40px
}

/* Footer */
footer{background:#203848!important;border-top:0!important;color:#c3cdd2!important;padding:38px 0 42px!important}
footer b{color:#e5d7b7!important}
footer .disc{border-left-color:var(--kc-gold)!important}
footer .copy{border-top-color:#3e5564!important;color:#9aabb5!important}

/* Typography / reading comfort */
p,li{orphans:3;widows:3}
.about p{font-size:15px!important;color:var(--kc-ink)!important}
code,pre{font-variant-ligatures:none}

/* Coming soon pages */
.page-guides main,.page-videos main{min-height:62vh}

@media(max-width:780px){
  body{font-size:15px}
  body>header .nav{min-height:auto;padding:10px 18px!important;gap:10px!important}
  body>header .nav ul{width:100%;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:3px!important;gap:16px!important}
  body>header .nav a:not(.logo):not(.logo-link){white-space:nowrap;font-size:12px!important}
  body>header .logo-img{height:38px!important}
  body>header .logo-full{display:none!important}
  body>header .logo-icon{display:block!important}
  .hero-shell,.hero-copy{min-height:260px!important}
  .hero-copy{padding:38px 0!important}
  .hero-art{opacity:.18!important;width:70vw!important}
  section{padding:42px 0!important}
  .sec-head{align-items:flex-start!important}
  .refresh{font-size:11px!important;padding:6px 9px!important}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(prefers-contrast:more){:root{--kc-ink:#111b22;--kc-muted:#48535b;--kc-line:#afb5b3}}


/* v27 visibility fixes */
body>header .nav a.on,
body>header .nav a[aria-current="page"]{
  color:var(--kc-navy)!important;
}
.page-home .feat .chip{
  display:inline-block!important;
  background:#e8dfc8!important;
  color:#4b3a16!important;
  border:1px solid #cab778!important;
  opacity:1!important;
  text-shadow:none!important;
}
.page-curation-news .rotb{
  display:inline-block!important;
  background:#e5d6ae!important;
  color:#493910!important;
  border:1px solid #c9b36e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* v36: unify the site canvas with the home page */
:root{
  --kc-bg:#f7f6f2;
  --kc-surface:#ffffff;
}
html,
body,
main{
  background:#f7f6f2!important;
}
body>header{
  background:rgba(255,255,255,.96)!important;
}
/* Normal page sections use one common canvas; visual panels/cards keep their own surfaces. */
main section,
main section:nth-of-type(even),
.valuation-intro,
.valuation-section,
.valuation-section.alt{
  background:#f7f6f2!important;
}
main section:nth-of-type(even){
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
}

/* v37 — visible page background unification with the top page */
:root{
  --kc-bg:#f7f6f2;
  --kc-surface:#ffffff;
  --kc-surface-2:#eef4f8;
}
html,body{background:#f7f6f2!important}
body>header{background:rgba(255,255,255,.96)!important}
.hero,.room-hero,.page-home .hero{
  background:linear-gradient(180deg,#ffffff 0%,#eef4f8 100%)!important;
  border-bottom:1px solid #d9dcd9!important;
}
.hero::before{
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(238,244,248,.12))!important;
}
.hero-art{
  mix-blend-mode:normal!important;
  opacity:.48!important;
  filter:saturate(.72) contrast(.94)!important;
}
main,body>main{background:#f7f6f2!important}
main>section,body>main>section,section{
  background:#f7f6f2!important;
}
main>section:nth-of-type(even),body>main>section:nth-of-type(even),section:nth-of-type(even){
  background:#f7f6f2!important;
  border-top:1px solid rgba(217,220,217,.7)!important;
  border-bottom:1px solid rgba(217,220,217,.7)!important;
}
