/* v133 — editorial refinement: photograph first, information clear */
:root{--ink:#1f2421;--ink-soft:#59615b;--paper:#fffefa;--kinari:#f3f0e8;--akane:#9e3428;--akane-deep:#76251d;--hairline:#d8d4ca}
body{background:var(--paper)}
.site-header{background:rgba(255,254,250,.94)}

.hub-hero{min-height:min(820px,calc(100vh - 88px));display:grid;grid-template-columns:minmax(0,57%) minmax(430px,43%);align-items:stretch;background:var(--paper);overflow:visible}
.hero2-photo{position:relative;inset:auto;min-height:720px;overflow:hidden}
.hero2-photo img{object-position:43% 66%}
.hero2-photo::after{display:none}
.hero2-mobile-intro{display:none}
.hero2-inner{width:auto;max-width:none;margin:0;padding:clamp(72px,8vw,122px) clamp(42px,6vw,92px) 72px;color:var(--ink);display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.hero2-inner>*{max-width:620px}
.hero2-eyebrow{color:var(--akane);margin-bottom:26px;text-shadow:none;font-size:11px;letter-spacing:.25em}
.hero2-eyebrow::before{background:var(--akane)}
.hub-hero .hub-hero-title{color:var(--ink);text-shadow:none;font-size:clamp(36px,3.7vw,52px);line-height:1.48;margin-bottom:20px}
.hub-hero .hub-hero-title .accent-red,.hub-hero .hub-hero-title .accent-tq{color:var(--ink)}
.hub-hero .hub-hero-title .accent-red{border-bottom-color:var(--akane)}
.hub-hero .hub-hero-sub{color:var(--ink-soft);text-shadow:none;line-height:2;margin-bottom:24px}
.hub-hero .hub-hero-sub strong{color:var(--ink)}
.hero2-eyebrow,.hub-hero-formula,.hero-check li,.hub-hero-trust{text-shadow:none}
.hub-hero-formula{color:var(--ink);border-color:var(--hairline)!important;margin-bottom:24px;font-size:13px;letter-spacing:.18em}
.hub-hero-formula span{color:var(--ink)}
.hub-hero-formula .formula-x{color:var(--akane)}
.hero-check{grid-template-columns:1fr;gap:7px;margin-bottom:24px}
.hero-check li{color:var(--ink-soft);text-shadow:none;font-size:13px;padding-left:18px}
.hero-check li strong{color:var(--ink);font-weight:600}
.hero-check li::before{background:var(--akane)}
.hub-hero .btn-secondary{color:var(--ink);border-color:var(--ink)}
.hub-hero .btn-secondary:hover{color:var(--paper);background:var(--ink)}
.hub-hero-trust,.hub-hero-trust *,.hub-hero-trust strong{color:var(--ink-soft);text-shadow:none}
.hub-hero-trust .stars{color:var(--akane)}
.hero2-portrait{left:calc(57% - 72px);bottom:34px;width:138px;border-width:5px}

.hub-quicknav{padding:84px 0 94px}
.hub-quicknav-label{margin-bottom:6px}
.hub-quicknav-title{margin:0 0 34px;font-family:"Zen Old Mincho",serif;font-size:clamp(27px,3vw,38px);letter-spacing:.08em}
.hub-quicknav-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hub-quicknav-card{min-height:190px;padding:28px 24px 24px;display:flex;flex-direction:column;align-items:flex-start}
.hub-quicknav-body h3{font-size:18px;line-height:1.55}
.hub-quicknav-body p{line-height:1.8}
.hub-quicknav-arrow{margin-top:auto}
.section-label{font-size:10px;letter-spacing:.4em}
.section-title{line-height:1.7}
.service-card,.hub-pain-card,.hub-subsidy-card{border-radius:2px}
.service-card:hover,.hub-quicknav-card:hover{transform:translateY(-2px)}

@media(max-width:980px){
  .hub-hero{grid-template-columns:1fr;min-height:auto}
  .hero2-photo{min-height:56vh;order:1}
  .hero2-inner{order:2;padding:62px 7vw 70px}
  .hero2-portrait{left:auto;right:24px;bottom:auto;top:calc(56vh - 64px);width:120px}
  .hub-quicknav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .hub-hero{display:flex;flex-direction:column}
  .hero2-photo{min-height:clamp(320px,51svh,460px);height:clamp(320px,51svh,460px)}
  .hero2-photo img{object-position:38% 67%}
  .hero2-mobile-intro{display:block;position:absolute;left:18px;bottom:18px;margin:0;padding:8px 12px;background:rgba(31,36,33,.78);color:#fff;font-size:11px;letter-spacing:.08em;backdrop-filter:blur(5px)}
  .hero2-inner{padding:56px 22px 62px}
  .hero2-inner>*{max-width:none}
  .hero2-eyebrow{margin-bottom:18px;font-size:9.5px}
  .hub-hero .hub-hero-title{font-size:clamp(29px,8.4vw,36px);line-height:1.45;letter-spacing:.035em}
  .hub-hero .hub-hero-sub{font-size:14px;line-height:1.95}
  .hub-hero-formula{width:100%;justify-content:center;font-size:11.5px;gap:10px}
  .hero-check{gap:12px}
  .hero-check li{font-size:12.5px;line-height:1.75}
  .hub-hero-cta{display:grid;grid-template-columns:1fr;width:100%}
  .hub-hero-cta .btn{width:100%;justify-content:center}
  .hero2-portrait{left:auto;bottom:auto;top:calc(clamp(320px,51svh,460px) - 48px);right:18px;width:94px}
  .hub-hero-trust{margin-top:6px}
  .hub-quicknav{padding:62px 0 72px}
  .hub-quicknav-grid{grid-template-columns:1fr}
  .hub-quicknav-card{min-height:0;padding:24px 22px}
  .floating-line{display:none}
}
