/* Homepage hierarchy. Keep the full service map visible; let inner pages explain. */
.home-page .hero .wrap.hero-inner { gap: 16px; }
.home-page .hero h1 { font-size: clamp(90px, 10.5vw, 156px); }
.home-page .hero .tag { font-size: clamp(18px, 1.8vw, 24px); }
.hero-offer { font-size: clamp(25px, 2.6vw, 36px); font-weight: 500; line-height: 1.6; letter-spacing: .025em; }
.home-page .hero .lead { margin-top: 0; font-size: 14px; line-height: 1.85; }
.home-page .hero .action-note { display: none; }
.home-page .service { padding-block: clamp(48px, 6vw, 80px); }
.home-page .service-art-heading { margin-bottom: 28px; }
.home-page .service-camera { width: 88px; }
.home-page .service-concept { text-align: left; justify-items: start; gap: 14px; margin-bottom: 28px; }
.home-page .service-concept h2 { font-size: clamp(26px, 3.4vw, 42px); }
.home-page .service-concept p { font-size: 15px; }
.home-starts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; position: relative; z-index: 2; }
.home-starts > a { display: grid; gap: 8px; border-top: 1px solid #9cab94; padding: 18px 0; }
.home-starts > a > span { font: 12px var(--display); color: var(--green-ink); letter-spacing: .06em; }
.home-starts strong { font-size: 18px; font-weight: 500; }
.home-starts small { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: #50594d; }
.home-starts > a:hover strong { color: var(--green-ink); }
.home-page .service-map { margin: 14px auto 24px; max-width: 640px; }
.home-page .service-map .pillar-x { min-height: 108px; }
.home-page .service-map .core { width: 96px; height: 96px; font-size: 24px; }
.home-page .service-map .pillar-x::before, .home-page .service-map .pillar-x::after { width: calc(50% - 48px); }
.home-page .service-pillars { gap: 28px; }
.home-page .service-pillars .pillar { padding: 24px; gap: 18px; border-radius: 8px; }
.home-page .service-pillars .head { gap: 4px; }
.home-page .service-pillars .head .en { font-size: 30px; }
.home-page .service-pillars .head .ja { font-size: 20px; }
.home-page .service-pillars .head .role { font-size: 14px; }
.home-page .service-pillars ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
.home-page .service-pillars li { font-size: 15px; padding: 11px 0; }
.home-page .service-pillars li small { font-size: 12px; }
.home-page .service-bridge { margin-top: 20px; padding: 16px 0 0; border: 0; }
.home-page .service-bridge p { font-size: 14px; }
.home-page .works { padding: clamp(48px,6vw,80px) 0; }
.home-page .works .wrap { padding-top: 0; border: 0; }
.home-page .works-lead { margin-bottom: 14px; }
.home-sample { position: relative; z-index: 2; color: #bcc7b8; font-size: 13px; margin-bottom: 28px; }
.home-sample[hidden] { display: none; }
.home-page .works-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.home-page .work .thumb { aspect-ratio: 16 / 10; }
.home-page .work .body { padding: 20px 0; }
.home-page .work .work-medium { font-size: 23px; }
.home-page .work h3 { font-size: 18px; }
.home-page .work .tags { display: none; }
.home-page .work .work-inquiry { display: none; }
.home-client-link { position: relative; z-index: 2; border-top: 1px solid var(--line-on-ink); padding-top: 22px; margin-top: 32px; display: flex; justify-content: space-between; align-items: center; gap: 20px; color: #c6d3be; font-size: 13px; }
.home-page .why { padding-block: clamp(56px,6vw,84px); }
.home-page .why-panel { padding: 40px; gap: 32px; }
.home-page .why-head h2 { font-size: clamp(26px,3vw,38px); }
.home-page .why-head .lead { font-size: 15px; }
.why-perspectives { position: relative; z-index: 2; width: 100%; max-width: 360px; justify-self: end; }
.why-perspectives-core { font: 28px var(--display); color: var(--lime); margin-bottom: 12px; }
.why-perspectives-core > span { display: block; font: 13px var(--body); color: #c1caba; margin-top: 8px; }
.why-perspectives > a { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 14px; min-height: 72px; padding: 12px 0; border-top: 1px solid #ffffff29; }
.why-perspectives strong { color: var(--lime); font-size: 19px; font-weight: 500; }
.why-perspectives > a > span { font-size: 14px; }
.why-perspectives small { display: block; color: #b9c3b2; font-size: 12px; margin-top: 2px; }
.why-perspectives > a:hover { color: var(--lime); }
.home-page .why-cards { gap: 28px; }
.home-page .why-card { gap: 12px; padding-top: 22px; }
.home-page .why-card h3 { font-size: 20px; }
.home-page .why-card > p { line-height: 1.85; }
.home-page .why-evidence { display: block; margin-top: auto; padding-top: 8px; border-top: 0; }
.why-evidence summary { cursor: pointer; font-size: 12px; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #d3e1c9; border-top: 1px solid #ffffff20; list-style: none; }
.why-evidence summary::-webkit-details-marker { display: none; }
.why-evidence summary::after { content: '+'; font: 20px var(--display); }
.why-evidence[open] summary::after { content: '−'; }
.why-evidence > div { padding: 8px 0; }
.why-evidence summary:hover { color: #fff; }
.home-page .why-close { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 20px; padding-top: 12px; }
.home-guide { background: #e2e8db; padding: clamp(56px,7vw,96px) 0; }
.home-guide > .wrap { display: grid; grid-template-columns: 1fr 1.1fr; gap: 8%; position: relative; z-index: 2; }
.home-guide-head h2 { font-size: clamp(28px,3.4vw,42px); line-height: 1.6; margin: 18px 0; }
.home-guide-head > p:last-child { font-size: 14px; color: #525d4c; }
.home-guide-links { align-self: center; }
.home-guide-links > a { display: grid; grid-template-columns: 25px 1fr auto; gap: 20px; align-items: baseline; padding: 24px 0; border-top: 1px solid #a7b29f; }
.home-guide-links > a:last-child { border-bottom: 1px solid #a7b29f; }
.home-guide-links > a > span { font: 16px var(--display); color: var(--green-ink); }
.home-guide-links h3 { font-size: 20px; font-weight: 500; }
.home-guide-links p { font-size: 14px; color: #535e4e; margin-top: 8px; }
.home-guide-links > a:hover h3 { color: var(--green-ink); }
.home-page .philosophy { padding-block: clamp(56px,7vw,96px); }
.home-page .philosophy .ghost { display: none; }
.home-page .philosophy-lede { display: none; }
.home-page .philosophy-statement h2 { font-size: clamp(24px,2.8vw,36px); }
.home-page .philosophy-statement .body { margin-top: 24px; font-size: 14px; }
.home-page .home-ai { padding-block: clamp(40px,5vw,64px); }
.home-ai > .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 8%; position: relative; z-index: 2; }
.home-ai .eyebrow { grid-column: 1 / -1; }
.home-ai h2 { font-size: clamp(24px,2.8vw,36px); line-height: 1.65; }
.home-ai p { font-size: 14px; color: #51594c; }
.home-ai .text-link { margin-top: 18px; }
.home-page .member { padding-block: clamp(56px,6vw,84px); }
.home-page .mb:hover b { color: var(--green-ink); text-decoration: underline; text-underline-offset: 5px; }
.home-page .news-strip { padding-block: 48px; }
.home-page .contact { padding-block: clamp(48px,6vw,80px); }
.home-page .mobile-inquiry-primary { white-space: nowrap; }
@media (min-width: 861px) and (max-height: 800px) {
  .home-page .hero { padding-block: 120px 64px; }
  .home-page .hero h1 { font-size: 92px; }
  .hero-offer { font-size: 28px; }
}
@media (max-width: 960px) {
  .home-page .works-grid { grid-template-columns: 1fr; }
  .home-page .work { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; align-items: start; }
  .home-page .work .body { padding-top: 0; }
  .home-page .why-panel { padding: 28px; }
}
@media (max-width: 700px) {
  .home-page .hero .wrap.hero-inner { gap: 14px; }
  .home-page .hero h1 { font-size: clamp(78px,21vw,112px); }
  .home-page .hero { padding-top: 118px; padding-bottom: 152px; }
  .home-page .hero .tag { font-size: 18px; letter-spacing: .01em; }
  .hero-offer { font-size: clamp(23px,5.8vw,28px); line-height: 1.6; }
  .home-page .hero .lead { font-size: 13px; }
  .home-starts { grid-template-columns: 1fr; gap: 0; }
  .home-starts > a { grid-template-columns: 70px 1fr; gap: 3px 12px; padding: 13px 0; align-items: baseline; }
  .home-starts > a > span { grid-row: 1 / 3; }
  .home-starts strong { font-size: 16px; }
  .home-starts small { grid-column: 2; font-size: 12px; }
  .home-page .service-map { margin-top: 22px; }
  .home-page .service-map .pillar-x { min-height: 88px; }
  .home-page .service-map .core { width: 80px; height: 80px; font-size: 21px; }
  .home-page .service-map .core small { font-size: 11px; }
  .home-page .service-map > a > small { font-size: 12px; }
  .home-page .service-map .pillar-x::before, .home-page .service-map .pillar-x::after { width: calc(50% - 40px); }
  .home-page .service-pillars .pillar { padding: 22px 18px; }
  .home-page .service-pillars ul { column-gap: 12px; }
  .home-page .service-pillars li { font-size: 14px; }
  .home-page .service-bridge { display: grid; gap: 8px; }
  .home-page .work { display: block; }
  .home-page .work .thumb { aspect-ratio: 16 / 7; }
  .home-page .work .body { padding: 18px 0 22px; }
  .home-page .work .meta { margin-bottom: 0; }
  .home-page .work .summary { line-height: 1.8; }
  .home-page .why-panel { padding: 24px 20px; gap: 24px; }
  .why-perspectives { justify-self: start; max-width: none; }
  .why-perspectives-core { font-size: 23px; }
  .why-perspectives > a { min-height: 65px; }
  .home-page .why-cards { gap: 16px; }
  .home-page .why-card { padding-top: 18px; gap: 10px; }
  .home-page .why-card h3 { font-size: 19px; }
  .home-page .why-close { display: grid; gap: 8px; justify-content: start; font-size: 20px; }
  .home-guide > .wrap, .home-ai > .wrap { grid-template-columns: 1fr; gap: 28px; }
  .home-guide-links > a { gap: 12px; padding: 20px 0; }
  .home-guide-links h3 { font-size: 19px; }
  .home-guide-head p br { display: none; }
  .home-ai > .wrap { gap: 16px; }
  .home-client-link { display: grid; gap: 8px; justify-content: start; }
  .home-page .philosophy-grid { gap: 32px; }
}
