/*
Theme Name: Joyjoyhouse Corporate
Theme URI: https://joyjoyhouse.co.jp/
Author: OpenAI
Author URI: https://openai.com/
Description: A lightweight custom corporate WordPress theme built for Joyjoyhouse / 楽々屋株式会社. Designed for Japanese B2B sites with a clean homepage, service sections, case studies area, and contact-focused layout.
Version: 3.7.7.45
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: joyjoyhouse-corporate
Tags: custom-logo, custom-menu, featured-images, one-column, two-columns, right-sidebar, translation-ready, blog, company
*/

:root {
  --jjh-bg: #faf6f1;
  --jjh-surface: #ffffff;
  --jjh-surface-2: #f4ece2;
  --jjh-surface-3: #14202a;
  --jjh-text: #1f2530;
  --jjh-muted: #67758a;
  --jjh-line: #e6ddcf;
  --jjh-accent: #1f6c89;
  --jjh-accent-dark: #14485e;
  --jjh-warm: #9d7757;
  --jjh-gold: #d4ad73;
  --jjh-shadow: 0 24px 60px rgba(31, 37, 48, 0.07);
  --jjh-radius: 24px;
  --jjh-radius-sm: 16px;
  --jjh-max: 1180px;
  --jjh-header-max: 1440px;
  --jjh-header-h: 80px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
  color: var(--jjh-text);
  background: var(--jjh-bg);
  line-height: 1.75;
  font-size: 16px;
  letter-spacing: .01em;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--jjh-accent); }
button, input, textarea, select { font: inherit; }

.screen-reader-text {
  position: absolute;
  left: -9999px;
}
.screen-reader-text:focus {
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  background: #fff;
  color: #000;
  padding: .5rem .75rem;
  z-index: 100000;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,249,242,.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(20,24,32,.06);
}
.site-footer__inner,
.container {
  width: min(calc(100% - 32px), var(--jjh-max));
  margin: 0 auto;
}
.site-header__inner {
  width: min(calc(100% - 32px), var(--jjh-header-max));
  margin: 0 auto;
}
.site-header__inner {
  min-height: var(--jjh-header-h);
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
}
.site-branding {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  max-width: 270px;
}
.site-logo img { max-height: 40px; width: auto; }
.site-title-wrap { min-width: 0; }
.site-title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.2;
}
.site-description {
  margin: 3px 0 0;
  font-size: .95rem;
  color: var(--jjh-muted);
  line-height: 1.35;
}

.site-title a,
.site-description {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.main-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 0;
}

.main-navigation > div,
.main-navigation > ul {
  width: 100%;
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}
.main-navigation li { position: relative; }
.main-navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 13px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: .01em;
  border-radius: 999px;
  transition: background .2s ease, color .2s ease;
  white-space: nowrap;
  word-break: keep-all;
  color: var(--jjh-text);
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  color: var(--jjh-accent);
  background: rgba(21,75,100,.08);
}
.menu-toggle {
  display: none;
  border: 0;
  background: var(--jjh-surface);
  border-radius: 999px;
  padding: 10px 14px;
  box-shadow: var(--jjh-shadow);
}
.site-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 52px;
  padding: 0 24px;
  white-space: nowrap;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--jjh-accent), #2b6f88);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 12px 28px rgba(21,75,100,.24);
}
.site-header__cta:hover { background: linear-gradient(135deg, var(--jjh-accent-dark), var(--jjh-accent)); color: #fff; }

.site-main { min-height: 50vh; }
.section {
  padding: 84px 0;
}
.section--tight { padding: 64px 0; }
.section--alt { background: #fdfaf6; }
.section__eyebrow {
  display: inline-flex;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--jjh-warm);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.section__eyebrow--light { color: rgba(255,255,255,.74); }
.section__title {
  font-size: clamp(1.85rem, 3vw, 3rem);
  line-height: 1.22;
  margin: 0 0 16px;
  letter-spacing: .02em;
}
.section__lead {
  font-size: 1.08rem;
  color: var(--jjh-muted);
  max-width: 760px;
  margin: 0;
}

.hero {
  padding: 78px 0 48px;
}
.hero__grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 36px;
  align-items: center;
}
.hero__card,
.panel,
.entry-card,
.contact-card {
  background: var(--jjh-surface);
  border-radius: var(--jjh-radius);
  box-shadow: var(--jjh-shadow);
  border: 1px solid rgba(0,0,0,.03);
}
.hero__content {
  padding: 14px 0;
}
.hero__title {
  font-size: clamp(2.3rem, 5vw, 4.3rem);
  line-height: 1.12;
  margin: 0 0 20px;
  letter-spacing: .01em;
}
.hero__text {
  font-size: 1.08rem;
  color: var(--jjh-muted);
  margin: 0 0 26px;
  max-width: 690px;
}
.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 600;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn--primary { background: var(--jjh-accent); color: #fff; }
.btn--primary:hover { background: var(--jjh-accent-dark); color: #fff; }
.btn--secondary {
  background: transparent;
  color: var(--jjh-text);
  border: 1px solid var(--jjh-line);
}
.btn--secondary:hover {
  border-color: var(--jjh-accent);
  color: var(--jjh-accent);
}
.hero__panel {
  padding: 28px;
  background:
    linear-gradient(160deg, rgba(47,94,87,.92), rgba(35,69,63,.98));
  color: #fff;
  min-height: 100%;
}
.hero__panel-title {
  margin: 0 0 14px;
  font-size: 1.2rem;
}
.hero__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px;
}
.hero__list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 4px;
  align-items: start;
}
.hero__list li::before {
  content: "●";
  color: #cfe8e3;
  font-size: .9rem;
  transform: translateY(2px);
}
.hero__meta {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.18);
  font-size: .94rem;
  color: rgba(255,255,255,.84);
}

.grid-2, .grid-3, .grid-4 {
  display: grid;
  gap: 22px;
}
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card {
  background: var(--jjh-surface);
  border: 1px solid rgba(0,0,0,.04);
  border-radius: var(--jjh-radius);
  padding: 26px;
  box-shadow: var(--jjh-shadow);
}
.card h3 {
  margin: 0 0 12px;
  font-size: 1.16rem;
  line-height: 1.35;
}
.card p {
  margin: 0;
  color: var(--jjh-muted);
}
.card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--jjh-surface-2);
  color: var(--jjh-accent);
  font-size: .92rem;
  font-weight: 700;
  margin-bottom: 16px;
}

.checklist {
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
  display: grid;
  gap: 12px;
}
.checklist li {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 12px;
  align-items: start;
}
.checklist li::before {
  content: "✓";
  color: var(--jjh-accent);
  font-weight: 700;
}

.timeline {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}
.timeline__item {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 20px;
  padding: 22px 24px;
  border-radius: var(--jjh-radius-sm);
  background: var(--jjh-surface);
  box-shadow: var(--jjh-shadow);
}
.timeline__step {
  font-size: .88rem;
  letter-spacing: .08em;
  color: var(--jjh-warm);
  font-weight: 700;
}
.timeline__item h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
}
.timeline__item p {
  margin: 0;
  color: var(--jjh-muted);
}

.cta-band {
  padding: 36px;
  border-radius: calc(var(--jjh-radius) + 4px);
  background: linear-gradient(160deg, rgba(47,94,87,.96), rgba(140,107,79,.94));
  color: #fff;
  box-shadow: var(--jjh-shadow);
}
.cta-band h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.25;
}
.cta-band p {
  margin: 0 0 22px;
  color: rgba(255,255,255,.88);
  max-width: 760px;
}
.cta-band .btn--secondary {
  border-color: rgba(255,255,255,.35);
  color: #fff;
}
.cta-band .btn--secondary:hover {
  border-color: #fff;
  color: #fff;
}

.entry-list {
  display: grid;
  gap: 18px;
}
.entry-card {
  padding: 24px 26px;
}
.entry-card__meta {
  color: var(--jjh-muted);
  font-size: .92rem;
  margin-bottom: 8px;
}
.entry-card__title {
  margin: 0 0 8px;
  font-size: 1.26rem;
  line-height: 1.35;
}
.entry-card__excerpt,
.entry-content,
.entry-summary {
  color: var(--jjh-muted);
}

.page-header {
  padding: 56px 0 24px;
}
.page-header--premium {
  position: relative;
  padding: 72px 0 34px;
  background:
    radial-gradient(circle at top left, rgba(212,173,115,.16), transparent 36%),
    linear-gradient(180deg, rgba(255,250,244,.76), rgba(255,255,255,0));
}
.page-header--premium .section__title {
  max-width: 900px;
}
.page-header .section__title { margin-bottom: 10px; }
.content-wrap {
  padding: 22px 0 84px;
}
.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 30px;
}
.content-grid--full { grid-template-columns: minmax(0, 1fr); }
.entry-card,
.sidebar-box,
.post-navigation,
.comments-area,
.wp-block-group.is-style-section {
  border-radius: var(--jjh-radius);
}
.entry-card--single,
.sidebar-box {
  background: var(--jjh-surface);
  box-shadow: var(--jjh-shadow);
  padding: 28px;
  border: 1px solid rgba(16, 24, 40, .05);
}
.entry-featured {
  margin-bottom: 22px;
  overflow: hidden;
  border-radius: var(--jjh-radius-sm);
}
.entry-title {
  margin: 0 0 14px;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.25;
}
.entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: .92rem;
  color: var(--jjh-muted);
  margin-bottom: 20px;
}
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  color: var(--jjh-text);
  margin-top: 1.8em;
  line-height: 1.35;
}
.entry-content p,
.entry-content ul,
.entry-content ol,
.entry-content blockquote {
  margin: 0 0 1.15em;
}
.entry-content ul,
.entry-content ol { padding-left: 1.2em; }
.entry-content blockquote {
  margin-left: 0;
  padding: 18px 22px;
  background: var(--jjh-surface-2);
  border-left: 4px solid var(--jjh-accent);
  border-radius: var(--jjh-radius-sm);
}
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.4em 0;
}
.entry-content th,
.entry-content td {
  border: 1px solid var(--jjh-line);
  padding: 12px 14px;
  text-align: left;
}
.entry-content th {
  background: #faf8f3;
  color: var(--jjh-text);
}

.sidebar-box h3 {
  margin-top: 0;
  font-size: 1.05rem;
}
.sidebar-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 4px;
}
.sidebar-box li { color: var(--jjh-muted); }

.contact-card {
  padding: 28px;
}
.contact-card h2,
.contact-card h3 {
  margin-top: 0;
}
.contact-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: grid;
  gap: 4px;
}
.contact-list strong {
  display: inline-block;
  min-width: 70px;
  color: var(--jjh-text);
}

.site-footer {
  background: #182430;
  color: rgba(255,255,255,.82);
  padding: 56px 0 26px;
}
.site-footer a:hover { color: #fff; }
.site-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr;
  gap: 28px;
}
.site-footer__title {
  margin: 0 0 10px;
  font-size: 1.05rem;
  color: #fff;
}
.site-footer__text,
.site-footer__menu li { color: rgba(255,255,255,.78); }
.site-footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.site-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  margin-top: 32px;
  padding-top: 18px;
  font-size: .9rem;
  color: rgba(255,255,255,.58);
}

.pagination,
.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 26px;
}
.page-numbers,
.post-page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--jjh-surface);
  box-shadow: var(--jjh-shadow);
}
.current.page-numbers {
  background: var(--jjh-accent);
  color: #fff;
}

.wp-block-button__link,
input[type="submit"],
button[type="submit"] {
  border-radius: 999px;
  background: var(--jjh-accent);
  color: #fff;
  border: 0;
  padding: 12px 20px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea {
  width: 100%;
  border: 1px solid var(--jjh-line);
  background: #fff;
  border-radius: 14px;
  padding: 12px 14px;
}


@media (max-width: 1380px) {
  .site-header__inner {
    grid-template-columns: minmax(200px, 238px) minmax(0, 1fr) auto;
    gap: 14px;
  }
  .site-branding {
    max-width: 238px;
  }
  .main-navigation a {
    padding: 0 8px;
    font-size: .95rem;
  }
}

@media (max-width: 1080px) {
  .hero__grid,
  .content-grid,
  .site-footer__grid {
    grid-template-columns: 1fr;
  }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1280px) {
  .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .site-branding {
    max-width: min(100%, 340px);
  }
  .menu-toggle { display: inline-flex; }
  .main-navigation {
    position: absolute;
    top: calc(100% + 10px);
    left: 16px;
    right: 16px;
    display: none;
    background: var(--jjh-surface);
    box-shadow: var(--jjh-shadow);
    border-radius: var(--jjh-radius);
    padding: 18px;
    flex-direction: column;
    align-items: stretch;
  }
  .main-navigation.is-open { display: flex; }
  .main-navigation ul {
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
  }
  .main-navigation a {
    min-height: 44px;
    padding: 0 6px;
  }
 .site-header__cta {
    display: none;
  }
  .grid-3,
  .grid-4,
  .grid-2 {
    grid-template-columns: 1fr;
  }
  .timeline__item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

@media (max-width: 600px) {
  .section { padding: 68px 0; }
  .hero { padding-top: 48px; }
  .card,
  .hero__panel,
  .entry-card--single,
  .sidebar-box,
  .contact-card,
  .cta-band {
    padding: 22px;
  }
  .site-header__inner { width: min(calc(100% - 20px), var(--jjh-header-max)); }
  .site-footer__inner,
  .container { width: min(calc(100% - 20px), var(--jjh-max)); }
}


.jjh-contact-form-wrap {
  margin-top: 28px;
}
.jjh-form-notice {
  margin-bottom: 18px;
  padding: 14px 16px;
  border-radius: 14px;
}
.jjh-form-notice--success {
  background: #e8f5ef;
  color: #1f5d44;
}
.jjh-form-notice--error {
  background: #fbeaea;
  color: #8b2f2f;
}
.jjh-contact-form {
  background: var(--jjh-surface);
  border: 1px solid rgba(0,0,0,.04);
  border-radius: var(--jjh-radius);
  box-shadow: var(--jjh-shadow);
  padding: 28px;
}
.jjh-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.jjh-field {
  margin: 0;
}
.jjh-field label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.jjh-field--full {
  grid-column: 1 / -1;
}
.jjh-consent {
  margin-top: 16px;
}
.jjh-consent label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
}
.jjh-submit {
  margin: 18px 0 0;
}
.is-hidden {
  position: absolute;
  left: -9999px;
}
select {
  width: 100%;
  border: 1px solid var(--jjh-line);
  background: #fff;
  border-radius: 14px;
  padding: 12px 14px;
}
@media (max-width: 1080px) {
  .site-description { display: none; }
}
@media (max-width: 840px) {
  .jjh-form-grid {
    grid-template-columns: 1fr;
  }
  .jjh-field--full {
    grid-column: auto;
  }
}

.stats-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.stat-card {
  background: var(--jjh-surface);
  border-radius: var(--jjh-radius-sm);
  padding: 22px 20px;
  border: 1px solid rgba(0,0,0,.04);
  box-shadow: var(--jjh-shadow);
}
.stat-card__value {
  font-size: clamp(1.5rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--jjh-accent);
  margin-bottom: 6px;
}
.stat-card__label {
  color: var(--jjh-muted);
  font-size: .95rem;
  line-height: 1.5;
}
.card--soft {
  background: linear-gradient(180deg, #fff, #fcf7f1);
}
.section-actions {
  margin-top: 24px;
}
.flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}
.flow-step,
.compare-box {
  background: var(--jjh-surface);
  border-radius: var(--jjh-radius);
  padding: 24px;
  box-shadow: var(--jjh-shadow);
  border: 1px solid rgba(0,0,0,.04);
}
.flow-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--jjh-accent);
  color: #fff;
  font-weight: 700;
  margin-bottom: 14px;
}
.flow-step h3,
.compare-box h3 {
  margin: 0 0 10px;
  font-size: 1.08rem;
  line-height: 1.35;
}
.flow-step p,
.compare-box p {
  margin: 0;
  color: var(--jjh-muted);
}
.compare-boxes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
@media (max-width: 1024px) {
  .stats-grid,
  .flow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .stats-grid,
  .flow-grid,
  .compare-boxes {
    grid-template-columns: 1fr;
  }
}

/* Premium front page / visual proof */
.hero--premium {
  position: relative;
  overflow: hidden;
  padding: 110px 0 92px;
  background:
    linear-gradient(112deg, rgba(31,37,48,.52), rgba(48,66,84,.34) 44%, rgba(255,248,240,.20) 100%),
    var(--hero-image) center center / cover no-repeat;
  color: #fff;
}
.hero--premium::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 14%, rgba(212,173,115,.34), transparent 28%),
    linear-gradient(180deg, rgba(255,248,240,.02), rgba(255,248,240,.12));
}
.hero--premium::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 140px;
  background: linear-gradient(180deg, rgba(250,246,241,0), rgba(250,246,241,.40));
}
.hero-premium__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 38px;
  align-items: center;
}
.hero-premium__content {
  max-width: 760px;
}
.hero__text--light {
  color: rgba(255,255,255,.90);
  max-width: 740px;
}
.hero--premium .hero__title {
  text-shadow: 0 14px 32px rgba(0,0,0,.20);
}
.hero--premium .hero__content .btn--primary {
  box-shadow: 0 18px 34px rgba(31,108,137,.28);
}
.hero--premium .btn--secondary {
  border-color: rgba(255,255,255,.34);
}
.btn--light {
  border-color: rgba(255,255,255,.26);
  color: #fff;
  background: rgba(255,248,240,.12);
}
.btn--light:hover {
  border-color: rgba(255,255,255,.55);
  color: #fff;
}
.hero-glass-card {
  padding: 32px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,250,244,.82), rgba(255,255,255,.68));
  border: 1px solid rgba(255,255,255,.46);
  box-shadow: 0 28px 60px rgba(19,31,44,.18);
  backdrop-filter: blur(18px);
  color: var(--jjh-text);
}
.hero-glass-card__eyebrow {
  margin: 0 0 10px;
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jjh-accent);
}
.hero-glass-card h2 {
  margin: 0 0 16px;
  line-height: 1.35;
  font-size: 1.5rem;
  color: var(--jjh-text);
}
.hero-glass-card .hero__list span {
  color: rgba(31,37,48,.92);
}
.hero-glass-card .hero__list li::before {
  color: var(--jjh-gold);
}
.hero__list--light li::before {
  color: var(--jjh-gold);
}
.hero__meta--light {
  border-top-color: rgba(31,37,48,.12);
  color: rgba(31,37,48,.84);
}
.hero-proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}
.hero-proof-strip div {
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(255,248,240,.12);
  backdrop-filter: blur(10px);
}
.hero-proof-strip strong {
  display: block;
  font-size: 1.05rem;
  color: #fff;
}
.hero-proof-strip span {
  display: block;
  font-size: .95rem;
  color: rgba(255,255,255,.78);
}
.section--raised {
  margin-top: -36px;
  position: relative;
  z-index: 2;
}
.stats-grid--premium .stat-card {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,244,.92));
  backdrop-filter: blur(12px);
}
.stat-card--premium {
  padding: 24px 22px;
}
.stat-card--premium .stat-card__value {
  color: var(--jjh-accent-dark);
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}
.proof-card,
.deck-card {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: var(--jjh-surface);
  border: 1px solid rgba(16, 24, 40, .06);
  box-shadow: var(--jjh-shadow);
}
.proof-card__media,
.deck-card__media {
  background: #fbf7f2;
}
.proof-card__media {
  aspect-ratio: 0.72 / 1;
}
.proof-card__media img,
.deck-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.proof-card__body,
.deck-card__body {
  padding: 18px 18px 20px;
}
.proof-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eff5f7;
  color: var(--jjh-accent);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.proof-card__body h3,
.deck-card__body h3 {
  margin: 12px 0 8px;
  font-size: 1.05rem;
  line-height: 1.4;
}
.proof-card__body p,
.deck-card__body p {
  margin: 0;
  color: var(--jjh-muted);
  font-size: .95rem;
}

.deck-showcase {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 30px;
}
.deck-card__media {
  aspect-ratio: 16 / 9;
}

.pitch-outline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.pitch-outline__block {
  padding: 24px 24px 22px;
  background: linear-gradient(180deg, #fff, #fcf7f1);
  border-radius: 22px;
  border: 1px solid rgba(16, 24, 40, .05);
  box-shadow: var(--jjh-shadow);
}
.pitch-outline__block h3 {
  margin: 0 0 12px;
  font-size: 1.08rem;
}
.pitch-outline__block p,
.pitch-outline__block ul {
  margin: 0;
  color: var(--jjh-muted);
}
.pitch-outline__block ul {
  padding-left: 1.1em;
}

.card--premium {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,243,.92));
}

.cta-band--premium {
  background: linear-gradient(130deg, #18435a, #1f6c89 54%, #b78d61 100%);
}

@media (max-width: 1080px) {
  .hero-premium__grid,
  .proof-grid,
  .deck-showcase,
  .pitch-outline {
    grid-template-columns: 1fr 1fr;
  }
  .hero-premium__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 840px) {
  .hero--premium {
    padding: 74px 0 66px;
  }
  .hero-proof-strip,
  .proof-grid,
  .deck-showcase,
  .pitch-outline {
    grid-template-columns: 1fr;
  }
  .section--raised {
    margin-top: -18px;
  }
}

/* Editorial / fashion-light hero refresh */
.hero--editorial {
  color: var(--jjh-text);
  padding: 92px 0 60px;
  background:
    radial-gradient(circle at 8% 16%, rgba(233, 214, 186, .68), transparent 26%),
    radial-gradient(circle at 90% 12%, rgba(194, 223, 231, .54), transparent 24%),
    linear-gradient(180deg, #fffaf4 0%, #f8f2e9 48%, #fbf8f2 100%);
}
.hero--editorial::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0)),
    repeating-linear-gradient(90deg, rgba(31,108,137,.03) 0, rgba(31,108,137,.03) 1px, transparent 1px, transparent 72px);
  opacity: .9;
}
.hero--editorial::after {
  height: 0;
  background: none;
}
.hero--editorial .section__eyebrow {
  color: var(--jjh-accent);
}
.hero__title--dark {
  color: #17202a;
  text-shadow: none;
}
.hero--editorial .hero__text {
  color: #4a5768;
  max-width: 680px;
}
.hero--editorial .btn--secondary {
  border-color: rgba(31,108,137,.22);
  background: rgba(255,255,255,.62);
  color: var(--jjh-accent-dark);
}
.hero--editorial .btn--secondary:hover {
  border-color: rgba(31,108,137,.38);
  background: rgba(255,255,255,.92);
}
.hero-proof-strip--light div {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(31,108,137,.10);
  box-shadow: 0 18px 34px rgba(41, 60, 80, .06);
  backdrop-filter: blur(8px);
}
.hero-proof-strip--light strong {
  color: var(--jjh-accent-dark);
}
.hero-proof-strip--light span {
  color: #66768a;
}
.hero-premium__aside--editorial {
  display: grid;
  gap: 18px;
}
.hero-editorial-stack {
  position: relative;
  min-height: 500px;
}
.hero-editorial-main,
.hero-editorial-mini {
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.84);
  box-shadow: 0 30px 60px rgba(31, 46, 68, .11);
}
.hero-editorial-main {
  width: 74%;
  min-height: 500px;
  position: relative;
}
.hero-editorial-main img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  object-position: center top;
}
.hero-editorial-main::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 48%;
  background: linear-gradient(180deg, rgba(17,24,39,0), rgba(17,24,39,.16));
}
.hero-editorial-main figcaption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  z-index: 1;
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
}
.hero-editorial-main figcaption span,
.hero-editorial-mini span {
  display: block;
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jjh-accent);
  margin-bottom: 6px;
}
.hero-editorial-main figcaption strong,
.hero-editorial-mini strong {
  display: block;
  line-height: 1.35;
  color: #17202a;
}
.hero-editorial-mini {
  width: 46%;
  position: absolute;
  right: 0;
  display: grid;
  grid-template-columns: 112px 1fr;
  align-items: center;
  gap: 12px;
  padding: 12px;
}
.hero-editorial-mini img {
  width: 112px;
  height: 150px;
  border-radius: 18px;
  object-fit: cover;
  object-position: center top;
}
.hero-editorial-mini--shop {
  top: 28px;
}
.hero-editorial-mini--kol {
  top: 220px;
}
.hero-glass-card--light {
  padding: 28px 30px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(31,108,137,.10);
  box-shadow: 0 24px 48px rgba(31, 46, 68, .08);
  backdrop-filter: blur(16px);
}
.hero-glass-card--light .hero__list li::before {
  color: var(--jjh-gold);
}
.hero-glass-card--light .hero__meta {
  border-top-color: rgba(31,37,48,.10);
  color: #4a5768;
}
.section--raised {
  margin-top: 0;
}
.stats-grid--premium .stat-card {
  background: linear-gradient(180deg, #fff, #fffaf4);
  border: 1px solid rgba(31,108,137,.08);
  box-shadow: 0 22px 44px rgba(31, 46, 68, .07);
}
.cta-band--premium {
  background: linear-gradient(135deg, #1f6c89 0%, #2f859b 48%, #d4ad73 100%);
}
@media (max-width: 1080px) {
  .hero-editorial-stack {
    min-height: auto;
  }
  .hero-editorial-main {
    width: 100%;
    min-height: 420px;
  }
  .hero-editorial-main img {
    height: 420px;
  }
  .hero-editorial-mini {
    width: 100%;
    position: static;
    margin-top: 14px;
    grid-template-columns: 96px 1fr;
  }
}
@media (max-width: 840px) {
  .hero--editorial {
    padding: 72px 0 42px;
  }
  .hero-editorial-main {
    min-height: 360px;
  }
  .hero-editorial-main img {
    height: 360px;
  }
  .hero-editorial-main figcaption {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }
  .hero-editorial-mini {
    grid-template-columns: 84px 1fr;
  }
  .hero-editorial-mini img {
    width: 84px;
    height: 118px;
  }
}

/* v2.6 business-fashion recalibration */
.hero--editorial {
  padding: 58px 0 44px;
  background:
    radial-gradient(circle at 10% 14%, rgba(234, 220, 201, .38), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(212, 229, 235, .30), transparent 22%),
    linear-gradient(180deg, #fcfaf6 0%, #f8f4ee 52%, #fbf8f3 100%);
}
.hero--editorial::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0)),
    repeating-linear-gradient(90deg, rgba(31,108,137,.018) 0, rgba(31,108,137,.018) 1px, transparent 1px, transparent 88px);
  opacity: .6;
}
.hero-premium__grid {
  align-items: start;
  gap: 46px;
}
.hero-premium__content {
  max-width: 720px;
  padding-top: 10px;
}
.hero--editorial .section__eyebrow {
  margin-bottom: 20px;
  color: var(--jjh-accent-dark);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.hero__title--dark {
  max-width: 10.6ch;
  margin-bottom: 20px;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: clamp(3.5rem, 5vw, 5.45rem);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -.05em;
  color: #16202a;
}
.hero--editorial .hero__text {
  max-width: 38rem;
  font-size: 1rem;
  line-height: 1.86;
  color: #566273;
}
.hero--editorial .btn-row {
  margin-top: 24px;
}
.hero--editorial .btn {
  min-height: 50px;
  border-radius: 16px;
  padding: 0 22px;
}
.hero--editorial .btn--primary {
  box-shadow: 0 16px 28px rgba(31,108,137,.14);
}
.hero-proof-strip--light {
  margin-top: 26px;
}
.hero-proof-strip--light div {
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(31,108,137,.08);
  box-shadow: 0 16px 30px rgba(41, 60, 80, .05);
}
.hero-premium__aside--editorial {
  gap: 20px;
}
.hero-editorial-stack {
  min-height: 468px;
}
.hero-editorial-main,
.hero-editorial-mini,
.hero-glass-card--light {
  border-radius: 24px;
}
.hero-editorial-main {
  width: 78%;
  min-height: 468px;
  box-shadow: 0 20px 44px rgba(31,46,68,.09);
}
.hero-editorial-main img {
  height: 468px;
}
.hero-editorial-main figcaption {
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 22px rgba(31,46,68,.06);
}
.hero-editorial-mini {
  width: 42%;
  right: 0;
  gap: 10px;
  padding: 10px;
  grid-template-columns: 98px 1fr;
  box-shadow: 0 18px 34px rgba(31,46,68,.08);
}
.hero-editorial-mini img {
  width: 98px;
  height: 138px;
  border-radius: 14px;
}
.hero-editorial-mini--shop {
  top: 18px;
}
.hero-editorial-mini--kol {
  top: 198px;
}
.hero-editorial-mini span,
.hero-editorial-main figcaption span,
.hero-glass-card__eyebrow {
  font-size: .73rem;
  letter-spacing: .16em;
}
.hero-editorial-mini strong,
.hero-editorial-main figcaption strong {
  font-size: 1.02rem;
}
.hero-glass-card--light {
  padding: 24px 26px;
  background: rgba(255,255,255,.80);
  box-shadow: 0 18px 34px rgba(31,46,68,.06);
}
.hero-glass-card--light h2 {
  margin-bottom: 14px;
  font-size: 1.58rem;
  line-height: 1.38;
}
.hero-glass-card--light .hero__list {
  gap: 12px;
}
.hero-glass-card--light .hero__meta {
  margin-top: 16px;
  padding-top: 14px;
}
.section--raised {
  margin-top: -10px;
}
.stats-grid--premium .stat-card {
  box-shadow: 0 18px 32px rgba(31,46,68,.06);
}
@media (max-width: 1180px) {
  .hero__title--dark {
    max-width: 11ch;
    font-size: clamp(3rem, 4.4vw, 4.7rem);
  }
}
@media (max-width: 1080px) {
  .hero--editorial {
    padding: 46px 0 34px;
  }
  .hero-premium__grid {
    gap: 30px;
  }
  .hero-premium__content {
    padding-top: 0;
  }
  .hero-editorial-stack {
    min-height: auto;
  }
  .hero-editorial-main {
    width: 100%;
    min-height: 410px;
  }
  .hero-editorial-main img {
    height: 410px;
  }
  .hero-editorial-mini {
    width: 100%;
    position: static;
    margin-top: 14px;
    grid-template-columns: 96px 1fr;
  }
}
@media (max-width: 840px) {
  .hero--editorial {
    padding: 34px 0 22px;
  }
  .hero--editorial .section__eyebrow {
    margin-bottom: 14px;
    font-size: .78rem;
  }
  .hero__title--dark {
    max-width: none;
    font-size: clamp(2.55rem, 11.2vw, 3.5rem);
    line-height: 1.07;
  }
  .hero--editorial .hero__text {
    font-size: .98rem;
    line-height: 1.8;
  }
  .hero-editorial-main {
    min-height: 340px;
  }
  .hero-editorial-main img {
    height: 340px;
  }
  .hero-glass-card--light h2 {
    font-size: 1.28rem;
  }
}

/* v2.7 bright bund + japanese accents */
:root {
  --jjh-japan-red: #b7473a;
  --jjh-indigo: #224a68;
  --jjh-paper: rgba(255, 252, 247, 0.84);
}

.hero--bund-light {
  position: relative;
  padding: 52px 0 44px;
  background:
    linear-gradient(90deg, rgba(252,248,242,.90) 0%, rgba(252,248,242,.84) 31%, rgba(251,248,243,.52) 52%, rgba(251,249,245,.18) 68%, rgba(251,249,245,.20) 100%),
    linear-gradient(180deg, rgba(255,252,246,.12) 0%, rgba(255,252,246,.05) 38%, rgba(255,252,246,.18) 100%),
    var(--hero-image) center center / cover no-repeat;
}
.hero--bund-light::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 16%, rgba(203, 71, 58, .08) 0, rgba(203, 71, 58, .08) 38px, transparent 39px),
    repeating-linear-gradient(90deg, rgba(34,74,104,.028) 0, rgba(34,74,104,.028) 1px, transparent 1px, transparent 96px),
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
  opacity: .95;
}
.hero--bund-light::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 70px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,252,247,.24) 0%, rgba(255,252,247,0) 68%);
  pointer-events: none;
}
.hero--bund-light .hero-premium__grid {
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 44px;
}
.hero--bund-light .hero-premium__content {
  max-width: 730px;
  padding: 24px 28px 26px 20px;
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255,252,247,.62), rgba(255,252,247,.42));
  box-shadow: 0 18px 38px rgba(31,46,68,.06);
  backdrop-filter: blur(5px);
}
.hero-cultural-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.hero-seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(183,71,58,.96), rgba(151,43,37,.92));
  color: #fff;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .14em;
  box-shadow: 0 12px 26px rgba(151,43,37,.16);
}
.hero--bund-light .section__eyebrow {
  margin: 0;
  color: var(--jjh-indigo);
}
.hero--bund-light .hero__title--dark {
  max-width: 8.6ch;
  margin-bottom: 18px;
  font-size: clamp(3rem, 5.1vw, 5.2rem);
  line-height: 1.04;
  letter-spacing: -.045em;
  color: #132131;
}
.hero--bund-light .hero__text {
  max-width: 39rem;
  color: #526174;
  font-size: 1.02rem;
  line-height: 1.88;
}
.hero--bund-light .btn-row {
  margin-top: 24px;
}
.hero--bund-light .btn {
  min-height: 52px;
  border-radius: 18px;
}
.hero--bund-light .btn--primary {
  background: linear-gradient(135deg, #2e7a95, #245f77);
  box-shadow: 0 16px 28px rgba(31,108,137,.18);
}
.hero--bund-light .btn--secondary {
  background: rgba(255,255,255,.54);
  border-color: rgba(34,74,104,.18);
}
.hero--bund-light .hero-proof-strip--light {
  margin-top: 28px;
}
.hero--bund-light .hero-proof-strip--light div {
  background: rgba(255,252,247,.82);
  border: 1px solid rgba(34,74,104,.09);
  box-shadow: 0 16px 26px rgba(41, 60, 80, .05);
}
.hero--bund-light .hero-premium__aside--editorial {
  gap: 18px;
}
.hero--bund-light .hero-editorial-stack {
  min-height: 500px;
}
.hero--bund-light .hero-editorial-main {
  width: 82%;
  min-height: 500px;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 24px 48px rgba(31,46,68,.10);
}
.hero--bund-light .hero-editorial-main img {
  height: 500px;
  object-position: center 18%;
  filter: saturate(1.04) brightness(1.04);
}
.hero--bund-light .hero-editorial-main::after {
  background: linear-gradient(180deg, rgba(10, 15, 24, 0.05), rgba(10, 15, 24, 0.16));
}
.hero--bund-light .hero-editorial-main figcaption {
  background: rgba(255,252,247,.92);
  border: 1px solid rgba(34,74,104,.10);
}
.hero--bund-light .hero-editorial-main figcaption span,
.hero--bund-light .hero-editorial-mini span,
.hero--bund-light .hero-glass-card__eyebrow {
  color: var(--jjh-indigo);
}
.hero--bund-light .hero-editorial-mini {
  width: 40%;
  background: rgba(255,252,247,.92);
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: 0 18px 34px rgba(31,46,68,.10);
}
.hero--bund-light .hero-editorial-mini::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 10px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(183,71,58,.10) 0, rgba(183,71,58,.10) 26px, transparent 27px);
  pointer-events: none;
}
.hero--bund-light .hero-editorial-mini img {
  position: relative;
  z-index: 1;
}
.hero--bund-light .hero-editorial-mini div {
  position: relative;
  z-index: 1;
}
.hero--bund-light .hero-editorial-mini--shop {
  top: 20px;
}
.hero--bund-light .hero-editorial-mini--kol {
  top: 212px;
}
.hero-glass-card--washi {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,252,247,.90), rgba(255,255,255,.82));
  border: 1px solid rgba(255,255,255,.60);
}
.hero-glass-card--washi::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22px 22px, rgba(212,173,115,.18) 0, rgba(212,173,115,.18) 4px, transparent 4.5px),
    radial-gradient(circle at 22px 22px, rgba(212,173,115,.08) 0, rgba(212,173,115,.08) 10px, transparent 10.5px);
  background-size: 36px 36px;
  opacity: .18;
  pointer-events: none;
}
.hero-glass-card--washi::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: linear-gradient(180deg, rgba(183,71,58,.90), rgba(183,71,58,.35));
}
.hero--bund-light .hero-glass-card--light {
  padding: 24px 26px 24px 30px;
  box-shadow: 0 18px 34px rgba(31,46,68,.08);
}
.hero--bund-light .hero-glass-card--light h2 {
  font-size: 1.55rem;
  line-height: 1.4;
}
.hero--bund-light .hero-glass-card--light .hero__list li::before {
  background: var(--jjh-gold);
}
.hero--bund-light .hero-glass-card--light .hero__meta {
  border-top-color: rgba(34,74,104,.12);
}
.hero--bund-light .section__eyebrow::before {
  content: "";
  display: inline-block;
  width: 42px;
  height: 1px;
  margin-right: 12px;
  background: rgba(34,74,104,.32);
  vertical-align: middle;
}
.hero--bund-light .section__eyebrow {
  display: inline-flex;
  align-items: center;
}
@media (max-width: 1180px) {
  .hero--bund-light .hero__title--dark {
    max-width: 10ch;
    font-size: clamp(2.8rem, 5vw, 4.5rem);
  }
}
@media (max-width: 1080px) {
  .hero--bund-light {
    background:
      linear-gradient(180deg, rgba(252,248,242,.90) 0%, rgba(252,248,242,.84) 38%, rgba(251,249,245,.34) 66%, rgba(251,249,245,.18) 100%),
      var(--hero-image) center center / cover no-repeat;
  }
  .hero--bund-light .hero-premium__content {
    padding: 18px 18px 20px;
  }
  .hero--bund-light .hero-editorial-stack {
    min-height: auto;
  }
  .hero--bund-light .hero-editorial-main {
    width: 100%;
    min-height: 390px;
  }
  .hero--bund-light .hero-editorial-main img {
    height: 390px;
  }
  .hero--bund-light .hero-editorial-mini {
    width: 100%;
    position: static;
    margin-top: 14px;
  }
}
@media (max-width: 840px) {
  .hero--bund-light {
    padding: 30px 0 20px;
    background:
      linear-gradient(180deg, rgba(252,248,242,.94) 0%, rgba(252,248,242,.88) 44%, rgba(251,249,245,.76) 100%),
      var(--hero-image) center center / cover no-repeat;
  }
  .hero--bund-light .hero-premium__content {
    padding: 16px 0 8px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .hero-cultural-row {
    gap: 10px;
    margin-bottom: 12px;
  }
  .hero-seal {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: .74rem;
  }
  .hero--bund-light .hero__title--dark {
    max-width: none;
    font-size: clamp(2.4rem, 11vw, 3.4rem);
    line-height: 1.08;
  }
  .hero--bund-light .hero__text {
    font-size: .98rem;
    line-height: 1.8;
  }
  .hero--bund-light .hero-editorial-main {
    min-height: 320px;
  }
  .hero--bund-light .hero-editorial-main img {
    height: 320px;
  }
  .hero--bund-light .section__eyebrow::before {
    width: 24px;
    margin-right: 8px;
  }
}

/* ===== v2.8 integrated flow refinement ===== */
:root {
  --jjh-shadow-soft: 0 18px 44px rgba(31, 37, 48, 0.05);
}

.section--alt {
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(252,248,243,.72) 100%);
}

.card,
.stat-card,
.compare-box,
.flow-step,
.entry-card,
.sidebar-box,
.contact-card,
.timeline__item,
.cta-band {
  box-shadow: var(--jjh-shadow-soft);
}

.card,
.stat-card,
.compare-box,
.flow-step,
.timeline__item {
  border-radius: 18px;
  border: 1px solid rgba(20, 32, 42, 0.06);
}

.grid-3 {
  gap: 18px;
}

.hero--bund-flow {
  position: relative;
  overflow: hidden;
  padding: 74px 0 54px;
  background:
    linear-gradient(90deg, rgba(252,248,243,.96) 0%, rgba(252,248,243,.88) 28%, rgba(252,248,243,.58) 48%, rgba(252,248,243,.18) 66%, rgba(252,248,243,.02) 84%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    var(--hero-image) center center / cover no-repeat;
}

.hero--bund-flow::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 28%, rgba(255,255,255,.58), transparent 22%),
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.18), transparent 18%),
    linear-gradient(90deg, rgba(214,196,176,.12), rgba(214,196,176,0) 35%);
  pointer-events: none;
}

.hero--bund-flow::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(31, 108, 137, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 108, 137, 0.045) 1px, transparent 1px);
  background-size: 52px 52px;
  opacity: .25;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.46), transparent 100%);
  pointer-events: none;
}

.hero-premium__grid--flow {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(460px, .94fr);
  gap: 52px;
  align-items: center;
}

.hero-premium__content--flow {
  max-width: 640px;
  padding: 12px 0 0;
}

.hero-cultural-row--flow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.hero-cultural-row--flow .section__eyebrow {
  margin: 0;
  color: var(--jjh-accent);
}

.hero-seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  height: 62px;
  padding: 0 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #c84e46, #a92d2d);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: .03em;
  box-shadow: 0 10px 24px rgba(169, 45, 45, 0.18);
}

.hero__title--flow {
  max-width: 11.2em;
  margin: 0 0 22px;
  color: #132033;
  font-size: clamp(3.45rem, 6vw, 6rem);
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.hero__text--flow {
  max-width: 620px;
  margin: 0 0 24px;
  color: rgba(19, 32, 51, .74);
  font-size: 1.09rem;
}

.btn-row--flow {
  margin-bottom: 28px;
}

.hero-proof-strip--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(20, 32, 42, 0.10);
}

.hero-proof-strip--inline div {
  min-width: 132px;
}

.hero-proof-strip--inline strong {
  display: block;
  font-size: 1.34rem;
  line-height: 1.08;
  color: #132033;
}

.hero-proof-strip--inline span {
  display: block;
  margin-top: 5px;
  font-size: .92rem;
  color: rgba(19, 32, 51, .62);
}

.hero-premium__aside--flow {
  display: flex;
  justify-content: flex-end;
}

.hero-flow-visual {
  position: relative;
  width: min(100%, 570px);
  min-height: 720px;
}

.hero-flow-main {
  position: absolute;
  inset: 0 0 148px 36px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 32px 72px rgba(19, 32, 51, 0.14);
}

.hero-flow-main::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 16%, rgba(10, 24, 40, .18) 100%);
  z-index: 1;
}

.hero-flow-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-flow-main figcaption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 18px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(255, 251, 246, 0.86);
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 34px rgba(19, 32, 51, 0.10);
}

.hero-flow-main figcaption span,
.hero-flow-badge span,
.hero-flow-caption .hero-glass-card__eyebrow {
  font-size: .82rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jjh-accent);
  font-weight: 700;
}

.hero-flow-main figcaption strong,
.hero-flow-badge strong {
  color: #132033;
  font-size: 1.1rem;
  line-height: 1.35;
}

.hero-flow-badge {
  position: absolute;
  right: 0;
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  gap: 16px;
  width: 240px;
  padding: 14px;
  background: rgba(255, 250, 244, 0.92);
  border: 1px solid rgba(255,255,255,.64);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(19, 32, 51, 0.10);
  backdrop-filter: blur(12px);
}

.hero-flow-badge img {
  width: 100%;
  aspect-ratio: 1 / 1.25;
  object-fit: cover;
  border-radius: 16px;
}

.hero-flow-badge--shop { top: 26px; }
.hero-flow-badge--kol { top: 250px; }

.hero-flow-caption {
  position: absolute;
  left: 0;
  right: 78px;
  bottom: 0;
  padding: 24px 28px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,251,246,.92), rgba(255,251,246,.86));
  border: 1px solid rgba(20, 32, 42, 0.06);
  box-shadow: 0 18px 44px rgba(19, 32, 51, 0.08);
}

.hero-flow-caption h2 {
  margin: 0 0 16px;
  color: #132033;
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  line-height: 1.34;
}

.hero__list--compact {
  gap: 10px;
}

.hero__list--compact li {
  grid-template-columns: 14px 1fr;
}

.hero__list--compact li::before {
  color: var(--jjh-gold);
}

.hero__meta--dark {
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid rgba(20, 32, 42, 0.08);
  color: rgba(19, 32, 51, .72);
}

.stats-grid--premium {
  gap: 14px;
}

.stat-card--premium {
  padding: 22px 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.72));
}

.card,
.flow-step,
.compare-box {
  background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.70));
}

.card--premium {
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(250,246,239,.76));
}

.cta-band--premium {
  background: linear-gradient(135deg, rgba(20,72,94,.96), rgba(31,108,137,.92));
  border: 1px solid rgba(255,255,255,.10);
}

@media (max-width: 1180px) {
  .hero-premium__grid--flow {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .hero-premium__content--flow {
    max-width: 100%;
  }

  .hero-flow-visual {
    width: 100%;
    max-width: 680px;
    min-height: 680px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 860px) {
  .hero--bund-flow {
    padding: 54px 0 36px;
    background:
      linear-gradient(180deg, rgba(252,248,243,.96) 0%, rgba(252,248,243,.84) 48%, rgba(252,248,243,.56) 100%),
      var(--hero-image) center center / cover no-repeat;
  }

  .hero__title--flow {
    font-size: clamp(2.55rem, 10vw, 4.2rem);
    max-width: 100%;
  }

  .hero-flow-visual {
    min-height: auto;
  }

  .hero-flow-main,
  .hero-flow-badge,
  .hero-flow-caption {
    position: relative;
    inset: auto;
    right: auto;
    left: auto;
    bottom: auto;
    top: auto;
    width: 100%;
    margin: 0 0 16px;
  }

  .hero-flow-main {
    aspect-ratio: 4 / 4.6;
  }

  .hero-flow-main figcaption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 14px 16px;
  }

  .hero-flow-badge {
    grid-template-columns: 88px 1fr;
  }

  .hero-proof-strip--inline {
    gap: 18px 20px;
  }
}


/* v3 clean bund hero */
.main-navigation a:hover { color: var(--jjh-accent); background: rgba(21,75,100,.08); }
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a {
  color: #fff;
  background: var(--jjh-accent);
}

.hero--bund-clean {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - var(--jjh-header-h));
  padding: 72px 0 88px;
  background: var(--hero-image) center center / cover no-repeat;
}
.hero--bund-clean::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(250,246,240,.18) 0%, rgba(250,246,240,.10) 16%, rgba(250,246,240,.04) 28%, rgba(250,246,240,0) 44%),
    linear-gradient(180deg, rgba(250,247,241,.02) 0%, rgba(250,247,241,.015) 86%, rgba(250,247,241,.04) 100%);
}
.hero--bund-clean .container,
.hero--bund-clean .hero-scroll-hint { position: relative; z-index: 1; }
.hero-clean__grid {
  display: block;
  min-height: calc(100vh - var(--jjh-header-h) - 160px);
}
.hero-clean__content {
  max-width: 720px;
  padding-top: 10px;
}
.hero-cultural-row--clean {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
  flex-wrap: nowrap;
}
.hero-cultural-row--clean .hero-seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  height: 40px;
  padding: 0 20px;
  border-radius: 20px;
  background: rgba(184,77,67,.96);
  color: #fff;
  font-size: .98rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  white-space: nowrap;
  word-break: keep-all;
  flex: 0 0 auto;
}
.section__eyebrow--clean {
  margin: 0;
  color: var(--jjh-accent);
  font-size: .95rem;
  letter-spacing: .06em;
}
.section__eyebrow--clean::before {
  content: "";
  display: inline-block;
  width: 56px;
  height: 2px;
  margin-right: 14px;
  background: rgba(24,120,156,.55);
  vertical-align: middle;
}
.hero__title--clean {
  max-width: 660px;
  margin: 0 0 24px;
  color: #10233a;
  font-size: clamp(3.15rem, 5vw, 5rem);
  line-height: 1.12;
  letter-spacing: -.03em;
  text-wrap: balance;
  text-shadow: 0 1px 2px rgba(255,255,255,.12), 0 8px 24px rgba(16,35,58,.08);
}
.hero__title--clean br { display: block; }
.hero__text--clean {
  display: inline-block;
  max-width: 660px;
  margin: 0 0 34px;
  padding: 10px 16px 10px 0;
  color: #56677a;
  font-size: 1rem;
  line-height: 1.9;
  background: linear-gradient(90deg, rgba(255,250,246,.10) 0%, rgba(255,250,246,.05) 42%, rgba(255,250,246,0) 100%);
  border-radius: 16px;
}
.btn-row--clean { margin-bottom: 34px; }
.hero-proof-strip--clean {
  display: flex;
  align-items: flex-start;
  gap: 36px;
  flex-wrap: wrap;
}
.hero-proof-strip--clean div {
  position: relative;
  min-width: 160px;
  padding-right: 24px;
}
.hero-proof-strip--clean div:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 0;
  width: 1px;
  height: 46px;
  background: rgba(16,35,58,.15);
}
.hero-proof-strip--clean strong {
  display: block;
  color: #10233a;
  font-size: 1.7rem;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.hero-proof-strip--clean span {
  display: block;
  margin-top: 8px;
  color: #5b6b7d;
  font-size: .86rem;
}
.hero-clean__aside {
  align-self: center;
  justify-self: end;
  max-width: 320px;
  margin-top: 68px;
  text-align: left;
}
.hero-clean__aside-eyebrow {
  margin: 0 0 14px;
  color: var(--jjh-accent);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hero-clean__aside-title {
  margin: 0;
  color: #10233a;
  font-size: clamp(2rem, 2.3vw, 2.4rem);
  line-height: 1.28;
  letter-spacing: -.02em;
  white-space: pre-line;
  text-wrap: balance;
}
.hero-scroll-hint {
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 2px solid rgba(17,35,58,.12);
}
.hero-scroll-hint span {
  position: absolute;
  inset: 0;
}
.hero-scroll-hint span::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 14px;
  width: 2px;
  height: 16px;
  background: rgba(17,35,58,.40);
  transform: translateX(-50%);
}
.hero-scroll-hint span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 24px;
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(17,35,58,.40);
  border-bottom: 2px solid rgba(17,35,58,.40);
  transform: translateX(-50%) rotate(45deg);
}

@media (max-width: 1160px) {
  .hero--bund-clean {
    min-height: auto;
    padding: 60px 0 74px;
  }
  .hero-clean__grid {
    grid-template-columns: 1fr;
    gap: 26px;
    min-height: auto;
  }
  .hero-clean__aside {
    justify-self: start;
    margin-top: 0;
    max-width: 480px;
  }
}

@media (max-width: 860px) {
  .hero--bund-clean {
    padding: 48px 0 72px;
    background-position: 62% center;
  }
  .hero--bund-clean::before {
    background:
      linear-gradient(180deg, rgba(248,244,238,.70) 0%, rgba(248,244,238,.46) 34%, rgba(248,244,238,.18) 100%),
      radial-gradient(ellipse at 28% 28%, rgba(250,247,241,.18) 0%, rgba(250,247,241,.08) 32%, rgba(250,247,241,0) 62%);
  }
  .hero-cultural-row--clean {
    gap: 12px;
    margin-bottom: 18px;
  }
  .section__eyebrow--clean {
    font-size: .84rem;
    letter-spacing: .05em;
  }
  .section__eyebrow--clean::before {
    width: 32px;
    margin-right: 10px;
  }
  .hero__title--clean {
    font-size: clamp(2.4rem, 9vw, 3.7rem);
    max-width: 100%;
  }
  .hero__text--clean {
    font-size: .95rem;
    line-height: 1.82;
  }
  .hero-proof-strip--clean {
    gap: 20px 24px;
  }
  .hero-proof-strip--clean div {
    min-width: 130px;
    padding-right: 20px;
  }
  .hero-proof-strip--clean strong {
    font-size: 1.4rem;
  }
  .hero-clean__aside-title {
    font-size: clamp(1.6rem, 6vw, 2.2rem);
  }
  .hero-scroll-hint { display: none; }
}


/* v3.5 corrected blurred dusk hero */

.hero--v35 {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - var(--jjh-header-h));
  padding: 72px 0 86px;
  background: var(--hero-image) center center / cover no-repeat;
}
.hero--v35::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(248,245,239,.94) 0%, rgba(248,245,239,.88) 18%, rgba(248,245,239,.72) 30%, rgba(248,245,239,.44) 42%, rgba(248,245,239,.12) 54%, rgba(248,245,239,0) 66%),
    linear-gradient(90deg, rgba(255,247,239,0) 34%, rgba(255,247,239,.16) 52%, rgba(255,247,239,0) 74%),
    linear-gradient(90deg, rgba(10,18,30,0) 66%, rgba(10,18,30,.18) 100%),
    linear-gradient(180deg, rgba(248,245,239,0) 0%, rgba(248,245,239,0) 84%, rgba(248,245,239,.20) 100%);
  pointer-events: none;
}
.hero--v35 .container,
.hero--v35 .hero-scroll-hint { position: relative; z-index: 1; }
.hero-v35__grid {
  display: block;
  min-height: calc(100vh - var(--jjh-header-h) - 158px);
}
.hero-v35__content {
  max-width: 720px;
  padding-top: 8px;
}
.hero-v35__kicker-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
  flex-wrap: nowrap;
}
.hero-seal--v35 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 40px;
  padding: 0 18px;
  border-radius: 20px;
  background: rgba(184,77,67,.96);
  color: #fff;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  word-break: keep-all;
  flex: 0 0 auto;
}
.section__eyebrow--v35 {
  margin: 0;
  color: var(--jjh-accent);
  font-size: .95rem;
  letter-spacing: .06em;
}
.section__eyebrow--v35::before {
  content: "";
  display: inline-block;
  width: 62px;
  height: 2px;
  margin-right: 16px;
  background: rgba(24,120,156,.55);
  vertical-align: middle;
}
.hero-v35__title {
  max-width: 700px;
  margin: 0 0 24px;
  color: #10233a;
  font-size: clamp(3.15rem, 5vw, 5rem);
  line-height: 1.12;
  letter-spacing: -.03em;
  text-wrap: balance;
}
.hero-v35__text {
  max-width: 680px;
  margin: 0 0 34px;
  color: #5d6b79;
  font-size: 1rem;
  line-height: 1.9;
}
.hero-v35__actions { margin-bottom: 34px; }
.btn--v35-secondary {
  background: rgba(255,255,255,.82);
  border-color: rgba(23,120,156,.28);
}
.hero-v35__metrics {
  display: flex;
  align-items: flex-start;
  gap: 38px;
  flex-wrap: wrap;
}
.hero-v35__metrics div {
  position: relative;
  min-width: 170px;
  padding-right: 28px;
}
.hero-v35__metrics div:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 0;
  width: 1px;
  height: 48px;
  background: rgba(18,31,50,.14);
}
.hero-v35__metrics strong {
  display: block;
  color: #10233a;
  font-size: 1.7rem;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.hero-v35__metrics span {
  display: block;
  margin-top: 8px;
  color: #5d6b79;
  font-size: .86rem;
}
.hero-scroll-hint--light {
  border-color: rgba(255,255,255,.26);
}
.hero-scroll-hint--light span::before {
  background: rgba(255,255,255,.72);
}
.hero-scroll-hint--light span::after {
  border-right-color: rgba(255,255,255,.72);
  border-bottom-color: rgba(255,255,255,.72);
}
@media (max-width: 1160px) {
  .hero--v35 {
    min-height: auto;
    padding: 60px 0 74px;
    background-position: 64% center;
  }
  .hero-v35__grid { min-height: auto; }
}
@media (max-width: 860px) {
  .hero--v35 {
    padding: 48px 0 72px;
    background-position: 66% center;
  }
  .hero--v35::before {
    background:
      linear-gradient(180deg, rgba(248,245,239,.90) 0%, rgba(248,245,239,.78) 22%, rgba(248,245,239,.56) 46%, rgba(248,245,239,.20) 70%, rgba(248,245,239,.08) 100%),
      linear-gradient(90deg, rgba(248,245,239,.18) 0%, rgba(248,245,239,0) 44%);
  }
  .hero-v35__kicker-row {
    gap: 12px;
    margin-bottom: 18px;
  }
  .section__eyebrow--v35 {
    font-size: .84rem;
    letter-spacing: .05em;
  }
  .section__eyebrow--v35::before {
    width: 34px;
    margin-right: 10px;
  }
  .hero-seal--v35 {
    min-width: 86px;
    padding: 0 14px;
    font-size: .92rem;
  }
  .hero-v35__title {
    font-size: clamp(2.4rem, 9vw, 3.7rem);
    max-width: 100%;
  }
  .hero-v35__text {
    font-size: .95rem;
    line-height: 1.82;
  }
  .hero-v35__metrics {
    gap: 20px 24px;
  }
  .hero-v35__metrics div {
    min-width: 140px;
    padding-right: 20px;
  }
  .hero-v35__metrics strong {
    font-size: 1.42rem;
  }
  .hero-scroll-hint { display: none; }
}

/* Apple-like minimal hero */
.hero--applelike {
  position: relative;
  overflow: hidden;
  padding: 88px 0 88px;
  background:
    radial-gradient(52rem 34rem at 14% 44%, rgba(255,245,236,.92) 0%, rgba(255,245,236,.72) 26%, rgba(255,245,236,0) 68%),
    radial-gradient(30rem 20rem at 74% 22%, rgba(214,229,255,.58) 0%, rgba(214,229,255,.24) 36%, rgba(214,229,255,0) 74%),
    radial-gradient(42rem 26rem at 58% 90%, rgba(255,231,212,.42) 0%, rgba(255,231,212,.14) 42%, rgba(255,231,212,0) 82%),
    linear-gradient(135deg, #f6f5f1 0%, #f3f4f8 42%, #eef3fb 100%);
}
.hero--applelike::before,
.hero--applelike::after {
  content: "";
  position: absolute;
  inset: auto auto 8% 58%;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,250,246,.7) 0%, rgba(255,250,246,0) 68%);
  filter: blur(4px);
  pointer-events: none;
}
.hero--applelike::after {
  inset: 8% 3% auto auto;
  width: 720px;
  height: 720px;
  background: radial-gradient(circle, rgba(208,224,255,.34) 0%, rgba(208,224,255,0) 68%);
}
.hero-apple__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(340px, .95fr);
  gap: 72px;
  align-items: center;
  min-height: 680px;
}
.hero-apple__content {
  position: relative;
  z-index: 2;
  max-width: 980px;
}
.hero-apple__kicker-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 30px;
}
.hero-seal--apple {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: #c8564a;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}
.section__eyebrow--apple {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  color: #17789c;
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.section__eyebrow--apple::before {
  content: "";
  width: 62px;
  height: 2px;
  background: rgba(23,120,156,.58);
}
.hero-apple__title {
  margin: 0;
  max-width: 980px;
  color: #0f223a;
  font-size: clamp(3.3rem, 7vw, 5.9rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.hero-apple__text {
  max-width: 760px;
  margin: 36px 0 0;
  color: #5e6e80;
  font-size: 1.18rem;
  line-height: 1.9;
}
.hero-apple__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 42px 0 0;
}
.btn--apple-secondary {
  background: rgba(255,255,255,.56);
  border-color: rgba(23,120,156,.78);
  color: #0f223a;
  backdrop-filter: blur(8px);
}
.hero-apple__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 56px;
}
.hero-apple__metrics div {
  position: relative;
  min-width: 180px;
  padding-right: 38px;
}
.hero-apple__metrics div:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 12px;
  width: 1px;
  height: 56px;
  background: rgba(15,34,58,.18);
}
.hero-apple__metrics strong {
  display: block;
  color: #0f223a;
  font-size: 1.86rem;
  line-height: 1.1;
  letter-spacing: -.03em;
}
.hero-apple__metrics span {
  display: block;
  margin-top: 8px;
  color: #677789;
  font-size: .92rem;
}
.hero-apple__visual {
  position: relative;
  min-height: 520px;
  z-index: 1;
}
.hero-apple__shape {
  position: absolute;
  border-radius: 36%;
  border: 1px solid rgba(255,255,255,.68);
  box-shadow: 0 24px 60px rgba(121,145,182,.08);
  backdrop-filter: blur(8px);
}
.hero-apple__shape--one {
  left: 48px;
  top: 40px;
  width: 390px;
  height: 370px;
  border-radius: 26% 36% 32% 28% / 28% 28% 32% 36%;
  background: linear-gradient(160deg, rgba(255,255,255,.54) 0%, rgba(231,239,255,.32) 100%);
}
.hero-apple__shape--two {
  left: 148px;
  top: 2px;
  width: 368px;
  height: 308px;
  border-radius: 34% 30% 34% 26% / 38% 28% 34% 30%;
  background: linear-gradient(160deg, rgba(226,236,255,.48) 0%, rgba(248,251,255,.18) 100%);
}
.hero-apple__shape--three {
  left: 188px;
  top: 210px;
  width: 316px;
  height: 246px;
  border-radius: 30% 30% 26% 28% / 34% 32% 30% 28%;
  background: linear-gradient(160deg, rgba(255,255,255,.52) 0%, rgba(244,246,255,.26) 100%);
}
.hero-apple__caption {
  position: absolute;
  left: 132px;
  top: 104px;
  max-width: 340px;
}
.hero-apple__caption-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #17789c;
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.hero-apple__caption-eyebrow::after {
  content: "";
  width: 92px;
  height: 2px;
  background: rgba(23,120,156,.54);
}
.hero-apple__caption h2 {
  margin: 16px 0 0;
  color: #0f223a;
  font-size: clamp(2rem, 3vw, 2.9rem);
  line-height: 1.18;
  letter-spacing: -.035em;
}
.hero-scroll-hint--apple {
  border-color: rgba(15,34,58,.20);
}
.hero-scroll-hint--apple span::before {
  background: rgba(15,34,58,.72);
}
.hero-scroll-hint--apple span::after {
  border-right-color: rgba(15,34,58,.72);
  border-bottom-color: rgba(15,34,58,.72);
}
@media (max-width: 1200px) {
  .hero-apple__grid {
    grid-template-columns: 1fr;
    gap: 42px;
    min-height: auto;
  }
  .hero-apple__visual {
    min-height: 420px;
    margin-left: auto;
    margin-right: auto;
    width: min(560px, 100%);
  }
}
@media (max-width: 860px) {
  .hero--applelike {
    padding: 54px 0 68px;
  }
  .hero-apple__kicker-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
  }
  .section__eyebrow--apple {
    font-size: .84rem;
  }
  .section__eyebrow--apple::before {
    width: 34px;
  }
  .hero-apple__title {
    font-size: clamp(2.5rem, 9vw, 3.8rem);
  }
  .hero-apple__text {
    font-size: 1rem;
    line-height: 1.82;
  }
  .hero-apple__metrics {
    gap: 20px 24px;
  }
  .hero-apple__metrics div {
    min-width: 140px;
    padding-right: 22px;
  }
  .hero-apple__metrics div:not(:last-child)::after {
    right: 10px;
    height: 44px;
  }
  .hero-apple__metrics strong {
    font-size: 1.42rem;
  }
  .hero-apple__visual {
    min-height: 320px;
  }
  .hero-apple__shape--one { left: 10px; top: 24px; width: 250px; height: 240px; }
  .hero-apple__shape--two { left: 80px; top: 0; width: 240px; height: 200px; }
  .hero-apple__shape--three { left: 110px; top: 144px; width: 220px; height: 176px; }
  .hero-apple__caption { left: 32px; top: 72px; max-width: 240px; }
  .hero-apple__caption h2 { font-size: 2rem; }
  .hero-scroll-hint { display: none; }
}

/* =========================================================
   v11 Design Language Override
   - Premium minimal Japanese B2B (approved hero mockup v11)
   - DO NOT introduce dark/dirty gradients or busy modules
   ========================================================= */

:root{
  --jjh-bg: #fdfeff;
  --jjh-surface: #ffffff;
  --jjh-surface-2: rgba(255,255,255,0.92);
  --jjh-text: #101b2d;          /* ink */
  --jjh-muted: #5c687c;
  --jjh-line: #d2dcea;          /* divider */
  --jjh-accent: #0c60a0;        /* muted premium blue */
  --jjh-accent-dark: #0a548c;
  --jjh-badge: #ba5a4c;         /* terracotta */
  --jjh-shadow: 0 18px 44px rgba(0,0,0,0.08);
  --jjh-radius: 24px;
  --jjh-radius-sm: 16px;
  --jjh-max: 1200px;
  --jjh-header-h: 88px;
}

body{
  background: linear-gradient(135deg, #fdfeff 0%, #f9fcff 45%, #f8fbff 70%, #f2f9ff 100%);
  color: var(--jjh-text);
  letter-spacing: .008em;
}

/* Container rhythm (match v11 wide margins) */
.container{
  width: min(calc(100% - 160px), var(--jjh-max));
}
.site-header__inner{
  width: min(calc(100% - 160px), var(--jjh-header-max));
}
@media (max-width: 960px){
  .container,
  .site-header__inner{ width: calc(100% - 48px); }
}

/* Header */
.site-header{
  background: rgba(253,254,255,.92);
  border-bottom: 1px solid var(--jjh-line);
  backdrop-filter: blur(10px);
}
.site-header__inner{
  min-height: var(--jjh-header-h);
}
.site-title{
  font-size: 32px;
  letter-spacing: -0.02em;
}
.site-description{
  font-size: 14px;
  color: var(--jjh-muted);
}
.site-logo img{ max-height: 40px; }

/* Navigation (active pill) */
.main-navigation ul{ gap: 34px; }
.main-navigation a{
  min-height: 44px;
  padding: 0 0;
  border-radius: 0;
  background: transparent;
  font-weight: 700;
  color: rgba(16,27,45,0.88);
  transition: color .15s ease;
}
.main-navigation a:hover{
  background: transparent;
  color: var(--jjh-text);
}
.main-navigation .current-menu-item{
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--jjh-accent);
}
.main-navigation .current-menu-item > a{
  color: #fff;
}
.menu-toggle{
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--jjh-line);
  box-shadow: none;
}

/* Header CTA (de-emphasized outline like v11) */
.site-header__cta{
  min-height: 44px;
  border-radius: 22px;
  background: rgba(255,255,255,0.86);
  border: 2px solid rgba(12,96,160,0.65);
  color: var(--jjh-accent);
  font-weight: 800;
  box-shadow: none;
}
.site-header__cta:hover{
  background: rgba(255,255,255,0.96);
  color: var(--jjh-accent);
}

/* Buttons (v11 tactile, subtle) */
.btn{
  border-radius: 26px;
  min-height: 52px;
  padding: 0 28px;
  font-weight: 800;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn--primary{
  background: var(--jjh-accent);
  color: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,0.10);
}
.btn--primary:hover{
  background: var(--jjh-accent-dark);
  box-shadow: 0 10px 26px rgba(0,0,0,0.12);
}
.btn--secondary{
  background: rgba(255,255,255,0.92);
  border: 2px solid var(--jjh-accent);
  color: var(--jjh-text);
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.btn--secondary:hover{
  border-color: var(--jjh-accent);
  color: var(--jjh-text);
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

/* Hero v11 */
.hero--v11{
  position: relative;
  overflow: hidden;
  padding: 62px 0 36px;
}
.hero--v11::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(60% 80% at 80% 55%, rgba(228,244,255,0.75) 0%, rgba(228,244,255,0.00) 65%),
    radial-gradient(45% 60% at 88% 58%, rgba(245,250,255,0.90) 0%, rgba(245,250,255,0.00) 62%),
    radial-gradient(18% 85% at 79% 55%, rgba(237,247,255,0.80) 0%, rgba(237,247,255,0.00) 68%);
}
.hero--v11::after{
  content:"";
  position:absolute;
  inset:-80px -200px -80px 0;
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:right center;
  background-size:1200px 1200px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='1200' viewBox='0 0 1200 1200'%3E%3Cg fill='none' stroke='%230c60a0' stroke-width='2'%3E%3Cpath opacity='0.10' d='M1180 220 A560 560 0 0 1 740 980'/%3E%3Cpath opacity='0.07' d='M1180 120 A740 740 0 0 1 650 1060'/%3E%3Cpath opacity='0.08' d='M1180 350 A430 430 0 0 1 800 920'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 58%, rgba(0,0,0,1) 92%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 58%, rgba(0,0,0,1) 92%);
}

.hero-v11__inner{
  min-height: calc(100vh - var(--jjh-header-h));
  display:grid;
  align-content:start;
}
@media (max-height: 860px){
  .hero-v11__inner{ min-height: 740px; }
}

.hero-v11__kicker-row{
  display:flex;
  align-items:center;
  gap:22px;
  margin-top: 20px;
}
.hero-v11__kicker-line{
  width:54px;
  height:3px;
  background: var(--jjh-accent);
  border-radius:2px;
}
.hero-v11__kicker{
  color: var(--jjh-accent);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hero-v11__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:22px;
  height:36px;
  padding:0 18px;
  background: var(--jjh-badge);
  color:#fff;
  border-radius:18px;
  font-weight:800;
  font-size:16px;
}

.hero-v11__title{
  margin: 28px 0 0;
  font-size: clamp(44px, 4.6vw, 78px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: var(--jjh-text);
}
.hero-v11__title-line2{
  display:block;
  margin-top: 10px;
}

.hero-v11__actions{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top: 28px;
}

.hero-v11__metrics{
  margin-top: 120px;
  display:grid;
  grid-template-columns: auto auto auto;
  gap:34px;
  align-items:start;
  width: fit-content;
}
.hero-v11__metric{
  padding-right: 34px;
  position: relative;
}
.hero-v11__metric:not(:last-child)::after{
  content:"";
  position:absolute;
  top: 6px;
  right: 0;
  height: 54px;
  width: 1px;
  background: rgba(210, 220, 234, 1);
}
.hero-v11__metric strong{
  display:block;
  font-weight: 800;
  font-size: 34px;
  line-height: 1.1;
  color: var(--jjh-text);
}
.hero-v11__metric span{
  display:block;
  margin-top: 4px;
  font-size: 14px;
  color: rgba(92, 104, 124, 0.95);
}

.hero-v11__scroll{
  margin-top: 18px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:18px;
  border: 2px solid rgba(16,27,45,0.55);
  color: rgba(16,27,45,0.70);
}
.hero-v11__scroll svg{ opacity: .7; }

@media (max-width: 768px){
  .hero-v11__metrics{
    margin-top: 80px;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .hero-v11__metric{
    padding-right: 0;
    padding-bottom: 18px;
  }
  .hero-v11__metric:not(:last-child)::after{
    top: auto;
    bottom: 0;
    left: 0;
    right: auto;
    height: 1px;
    width: 100%;
  }
}

/* Section polish (keep existing structure, reduce "cardiness") */
.section__eyebrow{
  letter-spacing: .08em;
  color: var(--jjh-accent);
}
.card, .card--premium, .stat-card, .stat-card--premium{
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(210,220,234,0.9);
  box-shadow: 0 18px 44px rgba(0,0,0,0.06);
}
.section--alt{
  background: transparent;
}


/* --- v11 hotfix: prevent grid items from stretching full width (badge bar issue) --- */
.hero-v11__inner{ justify-items: start; }
.hero-v11__badge{ justify-self: start; width: fit-content; }
.hero-v11__scroll{ justify-self: center; }


/* --- v11 nav hotfix: soften current menu highlight --- */
.main-navigation .current-menu-item{
  box-shadow: none;
  padding: 8px 14px;
  background: rgba(12,96,160,0.94);
}
.main-navigation .current-menu-item > a{
  color: #fff;
}


/* --- v11 nav hotfix v2: subtle active state (no big pill) --- */
.main-navigation .current-menu-item{
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.main-navigation .current-menu-item > a{
  position: relative;
  color: rgba(16,27,45,0.92) !important;
  font-weight: 800;
}
.main-navigation .current-menu-item > a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 2px;
  border-radius: 2px;
  background: rgba(12,96,160,0.85);
  pointer-events: none;
}


/* --- v11 nav hotfix v3: remove blue square, keep only subtle underline --- */
.main-navigation .current-menu-item,
.main-navigation li.current-menu-item{
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.main-navigation .current-menu-item > a,
.main-navigation li.current-menu-item > a{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: rgba(16,27,45,0.96) !important;
  font-weight: 800;
}
.main-navigation a:hover{
  background: transparent !important;
}
.main-navigation .current-menu-item > a::before,
.main-navigation li.current-menu-item > a::before{
  content: none !important;
}
.main-navigation .current-menu-item > a::after,
.main-navigation li.current-menu-item > a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 2px;
  border-radius: 2px;
  background: rgba(12,96,160,0.82);
  pointer-events: none;
}


/* =========================================================
   v11 Sitewide Color System Unification
   Apply homepage design language to inner pages / posts / archive / footer
   ========================================================= */

/* shared eyebrow style */
.section__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-weight: 800;
  color: var(--jjh-accent);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.section__eyebrow::before{
  content: "";
  width: 48px;
  height: 3px;
  border-radius: 2px;
  background: var(--jjh-accent);
}

/* inner page headers */
.page-header,
.page-header--premium{
  position: relative;
  overflow: hidden;
  padding: 68px 0 28px;
  background:
    radial-gradient(46rem 24rem at 82% 42%, rgba(228,244,255,.55) 0%, rgba(228,244,255,0) 60%),
    radial-gradient(28rem 16rem at 16% 12%, rgba(245,250,255,.72) 0%, rgba(245,250,255,0) 70%),
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,0));
}
.page-header .section__title,
.page-header--premium .section__title{
  max-width: 980px;
  margin-top: 18px;
  margin-bottom: 12px;
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  line-height: 1.14;
  letter-spacing: -0.02em;
  color: var(--jjh-text);
}
.page-header .section__lead,
.page-header--premium .section__lead{
  max-width: 760px;
  color: var(--jjh-muted);
  font-size: 1.06rem;
  line-height: 1.8;
}
.page-header--premium::after{
  content: "";
  position: absolute;
  right: -120px;
  top: -80px;
  width: 540px;
  height: 540px;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: .55;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='540' height='540' viewBox='0 0 540 540'%3E%3Cg fill='none' stroke='%230c60a0' stroke-width='2'%3E%3Cpath opacity='0.08' d='M520 100 A280 280 0 0 1 320 480'/%3E%3Cpath opacity='0.06' d='M520 26 A380 380 0 0 1 248 534'/%3E%3C/g%3E%3C/svg%3E");
}

/* content area rhythm */
.content-wrap{
  padding: 18px 0 96px;
}
.content-grid{
  gap: 36px;
}
.entry-list{
  display: grid;
  gap: 18px;
}

/* cards / articles / sidebar */
.entry-card,
.entry-card--single,
.sidebar-box,
.post-navigation,
.comments-area,
.wp-block-group.is-style-section,
.contact-card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(210,220,234,.9);
  box-shadow: 0 18px 44px rgba(0,0,0,.06);
  border-radius: 24px;
}
.entry-card{
  padding: 24px 26px;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.entry-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 52px rgba(0,0,0,.07);
  border-color: rgba(12,96,160,.18);
}
.entry-card--single,
.sidebar-box{
  padding: 30px;
}
.entry-card__meta,
.entry-meta{
  color: rgba(92,104,124,.92);
}
.entry-card__title,
.entry-title{
  color: var(--jjh-text);
  letter-spacing: -0.01em;
}
.entry-card__title a,
.entry-title a{
  color: inherit;
}
.entry-card__title a:hover{
  color: var(--jjh-accent);
}
.entry-card__excerpt,
.entry-content,
.entry-summary{
  color: rgba(58,72,94,.88);
}
.entry-featured{
  border-radius: 18px;
  border: 1px solid rgba(210,220,234,.7);
}

/* rich content */
.entry-content h2,
.entry-content h3,
.entry-content h4{
  color: var(--jjh-text);
  letter-spacing: -0.01em;
}
.entry-content a{
  color: var(--jjh-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}
.entry-content blockquote{
  margin: 1.4em 0;
  padding: 18px 22px;
  border-left: 3px solid rgba(12,96,160,.75);
  background: rgba(245,250,255,.75);
  color: rgba(58,72,94,.92);
  border-radius: 0 18px 18px 0;
}
.entry-content hr{
  border: 0;
  height: 1px;
  background: var(--jjh-line);
  margin: 2em 0;
}
.entry-content th{
  background: rgba(245,250,255,.85);
  color: var(--jjh-text);
}
.entry-content td,
.entry-content th{
  border-color: rgba(210,220,234,.95);
}

/* sidebar */
.sidebar-box h3,
.widget-title{
  color: var(--jjh-text);
  font-size: 1.02rem;
  letter-spacing: -0.01em;
}
.sidebar-box a{
  color: rgba(58,72,94,.92);
}
.sidebar-box a:hover{
  color: var(--jjh-accent);
}

/* pagination */
.pagination,
.nav-links{
  gap: 8px;
  margin-top: 34px;
}
.page-numbers,
.post-page-numbers{
  min-width: 44px;
  min-height: 44px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(210,220,234,.9);
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
  color: var(--jjh-text);
}
.current.page-numbers{
  background: rgba(255,255,255,.98);
  color: var(--jjh-text);
  border-color: rgba(12,96,160,.36);
  box-shadow: inset 0 -2px 0 rgba(12,96,160,.76);
}

/* forms */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="password"],
textarea,
select{
  width: 100%;
  border: 1px solid rgba(210,220,234,.95);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  color: var(--jjh-text);
  padding: 14px 16px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus{
  outline: none;
  border-color: rgba(12,96,160,.42);
  box-shadow: 0 0 0 4px rgba(12,96,160,.10);
  background: rgba(255,255,255,.98);
}
input[type="submit"],
button[type="submit"],
.wp-block-button__link{
  border-radius: 26px;
  background: var(--jjh-accent);
  color: #fff;
  border: 0;
  padding: 12px 22px;
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
}
input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-block-button__link:hover{
  background: var(--jjh-accent-dark);
  color: #fff;
}

/* footer - bring into same light system */
.site-footer{
  background:
    radial-gradient(40rem 16rem at 88% 12%, rgba(228,244,255,.50) 0%, rgba(228,244,255,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(245,250,255,.96));
  color: rgba(58,72,94,.92);
  padding: 56px 0 28px;
  border-top: 1px solid rgba(210,220,234,.95);
}
.site-footer__title{
  color: var(--jjh-text);
  font-size: 1.04rem;
}
.site-footer__text,
.site-footer__menu li{
  color: rgba(92,104,124,.96);
}
.site-footer__menu{
  gap: 10px;
}
.site-footer a{
  color: rgba(58,72,94,.92);
}
.site-footer a:hover{
  color: var(--jjh-accent);
}
.site-footer__bottom{
  border-top: 1px solid rgba(210,220,234,.95);
  color: rgba(92,104,124,.88);
}

/* mobile polish */
@media (max-width: 768px){
  .page-header,
  .page-header--premium{
    padding: 52px 0 20px;
  }
  .entry-card,
  .entry-card--single,
  .sidebar-box{
    padding: 22px;
  }
}


/* =========================================================
   v11 Closure Polish (v3.7.1)
   Goal: "looks like we changed nothing, but feels 30% more premium"
   - tighter typography rhythm
   - refined shadows/borders
   - consistent reading width
   - calmer footer density
   ========================================================= */

/* 1) Reading width + vertical rhythm */
.entry-content,
.entry-summary,
.entry-header,
.comments-area{
  max-width: 880px;
}
@media (min-width: 960px){
  .entry-content,
  .entry-summary,
  .entry-header,
  .comments-area{
    margin-left: auto;
    margin-right: auto;
  }
}
.entry-content{
  line-height: 1.85;
  letter-spacing: .008em;
}
.entry-content p{
  margin: 1.05em 0;
}
.entry-content h2{
  margin: 2.1em 0 .55em;
  font-size: clamp(1.55rem, 1.7vw, 1.9rem);
  line-height: 1.25;
}
.entry-content h3{
  margin: 1.8em 0 .5em;
  font-size: clamp(1.25rem, 1.25vw, 1.45rem);
  line-height: 1.3;
}
.entry-content h4{
  margin: 1.6em 0 .45em;
  font-size: 1.08rem;
  line-height: 1.35;
}
.entry-content ul,
.entry-content ol{
  margin: .9em 0 1.2em;
  padding-left: 1.2em;
}
.entry-content li{
  margin: .35em 0;
}

/* 2) Content links: premium underline (keep nav/buttons unaffected) */
.entry-content a{
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
  text-decoration-color: rgba(12,96,160,0.45);
}
.entry-content a:hover{
  text-decoration-color: rgba(12,96,160,0.75);
}

/* 3) Cards: slightly calmer shadow + border (less "cardy") */
.entry-card,
.entry-card--single,
.sidebar-box,
.post-navigation,
.comments-area,
.wp-block-group.is-style-section,
.contact-card,
.card, .card--premium, .stat-card, .stat-card--premium{
  border-color: rgba(210,220,234,0.82);
  box-shadow: 0 16px 40px rgba(0,0,0,0.055);
}
.entry-card:hover{
  box-shadow: 0 20px 52px rgba(0,0,0,0.065);
}

/* 4) Section spacing: cleaner breathing room on inner pages */
.section{
  padding-top: 84px;
  padding-bottom: 84px;
}
.section.section--tight{
  padding-top: 64px;
  padding-bottom: 64px;
}
@media (max-width: 768px){
  .section{
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

/* 5) Footer: reduce density, align with v11 light system */
.site-footer{
  padding: 48px 0 24px;
}
.site-footer__inner{
  gap: 20px;
}
.site-footer__menu li{
  font-size: .98rem;
}
.site-footer__bottom{
  margin-top: 28px;
  padding-top: 18px;
}

/* 6) Focus ring: consistent, not loud */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline: 3px solid rgba(12,96,160,.28);
  outline-offset: 3px;
  border-radius: 10px;
}


/* =========================================================
   v3.7.3 Footer contact + company naming polish
   ========================================================= */
.site-footer__contact{
  display: grid;
  gap: 10px;
  margin: 0;
}
.site-footer__contact-item{
  display: grid;
  grid-template-columns: 4.2em 1fr;
  gap: 10px;
  align-items: baseline;
  color: rgba(58,72,94,.92);
}
.site-footer__contact-label{
  color: rgba(92,104,124,.92);
  font-size: .96rem;
  letter-spacing: .02em;
}
.site-footer__contact a{
  color: rgba(58,72,94,.92);
  text-decoration: none;
  word-break: break-word;
}
.site-footer__contact a:hover{
  color: var(--jjh-accent);
}
@media (max-width: 768px){
  .site-footer__contact-item{
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

/* =========================================================
   v3.7.4 Contact page inline contact block
   ========================================================= */
.jjh-contact-inline{
  display: grid;
  gap: 10px;
  margin: 18px 0 10px;
}
.jjh-contact-inline__item{
  display: grid;
  grid-template-columns: 4.2em 1fr;
  gap: 10px;
  align-items: baseline;
}
.jjh-contact-inline__label{
  color: rgba(92,104,124,.92);
  font-size: .96rem;
  letter-spacing: .02em;
}
.jjh-contact-inline a{
  color: rgba(58,72,94,.92);
  text-decoration: none;
}
.jjh-contact-inline a:hover{
  color: var(--jjh-accent);
}
@media (max-width: 768px){
  .jjh-contact-inline__item{ grid-template-columns: 1fr; gap: 2px; }
}


/* =========================================================
   v3.7.5 Contact page + header brand final polish
   ========================================================= */
.jjh-contact-inline{
  display: grid;
  gap: 12px;
  margin: 1.2rem 0 1.5rem;
  padding: 18px 22px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.04);
  max-width: 620px;
}
.jjh-contact-inline__item{
  display: grid;
  grid-template-columns: 4.4em 1fr;
  gap: 10px;
  align-items: baseline;
}
.jjh-contact-inline__label{
  color: rgba(92,104,124,.94);
  font-size: .95rem;
  letter-spacing: .02em;
}
.jjh-contact-inline a{
  color: rgba(58,72,94,.94);
  text-decoration: none;
  word-break: break-word;
}
.jjh-contact-inline a:hover{
  color: var(--jjh-accent);
}
@media (max-width: 768px){
  .jjh-contact-inline__item{
    grid-template-columns: 1fr;
    gap: 2px;
  }
}


/* =========================================================
   v3.7.7 Contact Page (Business Layout)
   ========================================================= */
.jjh-contact-card--v11{
  max-width: 760px;
  margin: 1.1rem 0 1.6rem;
  padding: 22px 24px;
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(0,0,0,.05);
}
.jjh-contact-card__company{
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
  color: var(--jjh-text);
}
.jjh-contact-card__grid{
  display: grid;
  gap: 10px;
}
.jjh-contact-card__item{
  display: grid;
  grid-template-columns: 4.6em 1fr;
  gap: 12px;
  align-items: baseline;
}
.jjh-contact-card__label{
  color: rgba(92,104,124,.92);
  font-size: .95rem;
  letter-spacing: .02em;
  white-space: nowrap;
}
.jjh-contact-card__value{
  color: rgba(58,72,94,.94);
}
.jjh-contact-card--v11 a{
  color: rgba(58,72,94,.94);
  text-decoration: none;
}
.jjh-contact-card--v11 a:hover{
  color: var(--jjh-accent);
}
.jjh-contact-card__map{
  display: inline-block;
  margin-top: 6px;
  font-weight: 700;
  color: var(--jjh-accent);
}
@media (max-width: 768px){
  .jjh-contact-card__item{ grid-template-columns: 1fr; gap: 2px; }
}


/* =========================================================
   v3.7.7.2 CTA band secondary button polish
   Fix low-contrast KOL link button on dark CTA band
   ========================================================= */
.cta-band .btn--secondary{
  background: rgba(255,255,255,0.94);
  border-color: rgba(255,255,255,0.16);
  color: var(--jjh-accent-dark);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}
.cta-band .btn--secondary:hover{
  background: rgba(255,255,255,1);
  border-color: rgba(255,255,255,0.28);
  color: var(--jjh-accent-dark);
  box-shadow: 0 14px 28px rgba(0,0,0,0.12);
}


/* =========================================================
   v3.7.7.3 Case Studies v11 blocks
   ========================================================= */
.jjh-cases-v11{
  display: grid;
  gap: 22px;
}
.jjh-cases-v11__intro{
  max-width: 880px;
}
.jjh-cases-v11__intro h2{
  margin: 0 0 10px;
  font-size: clamp(1.55rem, 1.7vw, 1.9rem);
  letter-spacing: -0.01em;
}
.jjh-cases-v11__intro p{
  margin: 0;
  color: rgba(92,104,124,.95);
  line-height: 1.8;
}

.jjh-case-card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.055);
  padding: 26px;
}
.jjh-case-card__head h3{
  margin: 0 0 10px;
  font-size: 1.18rem;
  letter-spacing: -0.01em;
  line-height: 1.45;
}
.jjh-case-card__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.jjh-pill{
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(245,250,255,.88);
  border: 1px solid rgba(210,220,234,.82);
  color: rgba(58,72,94,.92);
  font-weight: 700;
  font-size: .92rem;
}
.jjh-case-card__grid{
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.jjh-case-card__block{
  padding: 16px 16px 14px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(210,220,234,.72);
  border-radius: 18px;
}
.jjh-case-card__block h4{
  margin: 0 0 8px;
  font-size: 1.02rem;
  letter-spacing: -0.01em;
}
.jjh-case-card__block ul{
  margin: 0;
  padding-left: 1.1em;
  color: rgba(58,72,94,.90);
}
.jjh-case-card__block li{
  margin: .35em 0;
}

@media (max-width: 900px){
  .jjh-case-card__grid{ grid-template-columns: 1fr; }
}


/* =========================================================
   v3.7.7.4 Case Studies polish (less repetition, smoother logic)
   ========================================================= */
.jjh-cases-v11__note{
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(210,220,234,.85);
  background: rgba(255,255,255,.86);
  color: rgba(58,72,94,.90);
  max-width: 980px;
}
.jjh-cases-v11__note-item strong{
  color: var(--jjh-text);
}
.jjh-case-card__grid--tight{
  grid-template-columns: 1fr;
}
.jjh-case-card__grid--tight .jjh-case-card__block{
  padding: 18px 18px 16px;
}
.jjh-cases-v11__cta{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
}


/* =========================================================
   v3.7.7.5 Case Studies CTA button visibility fix
   ========================================================= */
.jjh-cases-v11__cta .btn--primary{
  color: #fff !important;
}
.jjh-cases-v11__cta .btn--primary:hover{
  color: #fff !important;
}


/* =========================================================
   v3.7.7.11 Case Studies heading nesting fix
   ========================================================= */
.jjh-cases-v11__lead{
  margin: 0 0 10px;
  color: rgba(92,104,124,.95);
  line-height: 1.8;
}


/* =========================================================
   v3.7.7.14 Brand Proposal page polish (client-first logic)
   ========================================================= */
.jjh-proposal-v11{
  display: grid;
  gap: 18px;
  max-width: 980px;
}
.jjh-proposal-v11 h3{
  margin: 0 0 10px;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
}
.jjh-proposal-v11 h4{
  margin: 0 0 10px;
  font-size: 1.06rem;
  letter-spacing: -0.01em;
}
.jjh-proposal-v11__quote{
  padding: 18px 18px 16px;
  border-radius: 18px;
  border: 1px solid rgba(210,220,234,.85);
  background: rgba(245,250,255,.58);
}
.jjh-proposal-v11__quote p{
  margin: 0 0 8px;
  color: rgba(58,72,94,.92);
  line-height: 1.85;
}
.jjh-proposal-v11__sla{
  margin-top: 10px;
  color: rgba(92,104,124,.95);
  font-size: .98rem;
}
.jjh-proposal-v11__cards{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.jjh-proposal-v11__card{
  padding: 18px 18px 14px;
  border-radius: 18px;
  border: 1px solid rgba(210,220,234,.85);
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 34px rgba(0,0,0,.05);
}
.jjh-proposal-v11__card ul{
  margin: 0;
  padding-left: 1.15em;
  color: rgba(58,72,94,.90);
}
.jjh-proposal-v11__card li{
  margin: .35em 0;
}
.jjh-proposal-v11__steps{
  margin: 0;
  padding-left: 1.25em;
  color: rgba(58,72,94,.90);
}
.jjh-proposal-v11__steps li{
  margin: .5em 0;
  line-height: 1.8;
}
.jjh-proposal-v11__ask ul{
  margin: 0;
  padding-left: 1.2em;
  color: rgba(58,72,94,.90);
}
@media (max-width: 900px){
  .jjh-proposal-v11__cards{ grid-template-columns: 1fr; }
}

/* Sidebar (Brand Proposal) */
.jjh-sidecard{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 18px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,.05);
  margin-bottom: 14px;
}
.jjh-sidecard h3{
  margin: 0 0 8px;
  font-size: 1.05rem;
}
.jjh-sidecard__small{
  margin: 0 0 12px;
  color: rgba(92,104,124,.95);
  line-height: 1.7;
  font-size: .95rem;
}
.jjh-sidecard__kv{
  display: grid;
  gap: 8px;
}
.jjh-sidecard__kv span{
  display: inline-block;
  width: 3.2em;
  color: rgba(92,104,124,.95);
  font-weight: 700;
}
.jjh-sidecard__kv a{
  color: rgba(58,72,94,.92);
  text-decoration: none;
}
.jjh-sidecard__kv a:hover{
  color: var(--jjh-accent);
}
.jjh-sidecard__list{
  margin: 0;
  padding-left: 1.15em;
  color: rgba(58,72,94,.90);
}
.btn--block{
  display: inline-flex;
  width: 100%;
  justify-content: center;
}
.jjh-sidecard--cta{
  padding: 14px;
}
.jjh-sidecard--cta .btn{
  margin-bottom: 10px;
}
.jjh-sidecard--cta .btn:last-child{
  margin-bottom: 0;
}


/* =========================================================
   v3.7.7.17 About / Proof gallery refresh (4 new images)
   ========================================================= */
.jjh-proof-v11{ margin-top: 28px; }
.jjh-proof-v11__intro h2{ margin: 0 0 10px; }
.jjh-proof-v11__intro p{
  margin: 0 0 14px;
  color: rgba(92,104,124,.95);
  line-height: 1.8;
}
.jjh-proof-v11__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.jjh-proof-v11__card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0,0,0,.05);
}
.jjh-proof-v11__img{ display:block; background: rgba(245,250,255,.58); }
.jjh-proof-v11__img img{ display:block; width:100%; height:auto; }
.jjh-proof-v11__cap{ padding: 14px 14px 12px; }
.jjh-proof-v11__title{ font-weight: 800; color: rgba(16,26,44,.95); margin-bottom: 6px; }
.jjh-proof-v11__desc{ color: rgba(58,72,94,.90); line-height: 1.75; font-size: .98rem; }
@media (max-width: 900px){ .jjh-proof-v11__grid{ grid-template-columns: 1fr; } }


/* =========================================================
   v3.7.7.18 About page polish: proof size + facts
   ========================================================= */
.jjh-proof-v11__img{
  max-height: 320px;
  overflow: hidden;
}
.jjh-proof-v11__img img{
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: top center;
}
@media (max-width: 900px){
  .jjh-proof-v11__img{ max-height: 240px; }
  .jjh-proof-v11__img img{ height: 240px; }
}
.jjh-facts-v11{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 16px 0 18px;
}
.jjh-facts-v11__item{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 18px;
  padding: 14px 14px 12px;
  box-shadow: 0 14px 34px rgba(0,0,0,.05);
}
.jjh-facts-v11__num{
  font-weight: 900;
  letter-spacing: -0.01em;
  font-size: 1.25rem;
  color: rgba(16,26,44,.95);
}
.jjh-facts-v11__cap{
  margin-top: 6px;
  color: rgba(92,104,124,.95);
  font-size: .95rem;
}
@media (max-width: 900px){
  .jjh-facts-v11{ grid-template-columns: 1fr; }
}


/* =========================================================
   v3.7.7.20 Case Studies: brand list + wording alignment
   ========================================================= */
.jjh-cases-v11__brands{
  margin: 14px 0 18px;
  padding: 14px 14px 12px;
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 34px rgba(0,0,0,.05);
}
.jjh-cases-v11__brands-title{
  font-weight: 800;
  color: rgba(16,26,44,.95);
  margin-bottom: 10px;
}
.jjh-cases-v11__brands-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.jjh-pill--muted{
  background: rgba(245,250,255,.68);
  border-color: rgba(210,220,234,.92);
}


.jjh-cases-v11__brands-desc{
  margin: -4px 0 10px;
  color: rgba(92,104,124,.95);
  line-height: 1.75;
  font-size: .98rem;
}


.small{ font-size: .98rem; color: rgba(92,104,124,.95); line-height: 1.75; }


/* =========================================================
   v3.7.7.23 FAQ refresh (accordion, client-first)
   ========================================================= */
.jjh-faq-v11{
  max-width: 980px;
}
.jjh-faq-v11__intro h2{
  margin: 0 0 10px;
}
.jjh-faq-v11__intro p{
  margin: 0 0 18px;
  color: rgba(92,104,124,.95);
  line-height: 1.85;
}
.jjh-faq-v11__section{
  margin: 18px 0 22px;
}
.jjh-faq-v11__section h3{
  margin: 0 0 10px;
  font-size: 1.18rem;
}
.jjh-faq-v11__item{
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 28px rgba(0,0,0,.045);
  overflow: hidden;
  margin-bottom: 10px;
}
.jjh-faq-v11__item summary{
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-weight: 800;
  color: rgba(16,26,44,.95);
  position: relative;
}
.jjh-faq-v11__item summary::-webkit-details-marker{ display:none; }
.jjh-faq-v11__item summary::after{
  content: '＋';
  position: absolute;
  right: 14px;
  top: 12px;
  font-weight: 900;
  color: rgba(92,104,124,.95);
}
.jjh-faq-v11__item[open] summary::after{
  content: '−';
}
.jjh-faq-v11__answer{
  padding: 0 16px 14px;
  color: rgba(58,72,94,.90);
  line-height: 1.85;
}
.jjh-faq-v11__cta{
  margin-top: 20px;
  padding: 16px;
  border: 1px solid rgba(210,220,234,.88);
  border-radius: 18px;
  background: rgba(245,250,255,.58);
}
.jjh-faq-v11__cta p{
  margin: 0 0 12px;
  color: rgba(58,72,94,.90);
  line-height: 1.8;
}
.jjh-faq-v11__ctaBtns{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}


/* v3.7.7.24 FAQ title nesting fix */
.jjh-faq-v11__intro p{
  margin-top: 0;
}


/* =========================================================
   v3.7.7.25 Hotfix: ensure primary button text is visible
   (guards against global <a> overrides)
   ========================================================= */
a.btn,
a.btn:visited{
  text-decoration: none !important;
}
a.btn.btn--primary,
a.btn.btn--primary:visited,
.btn.btn--primary,
button.btn.btn--primary{
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
a.btn.btn--primary *{
  color: #fff !important;
}


/* =========================================================
   v3.7.7.26 Business sidebar (sitewide pages)
   ========================================================= */
.jjh-sidecard__facts{
  display: grid;
  gap: 10px;
}
.jjh-sidecard__facts div{
  display: grid;
  gap: 2px;
}
.jjh-sidecard__facts strong{
  font-weight: 900;
  color: rgba(16,26,44,.95);
}
.jjh-sidecard__facts span{
  color: rgba(92,104,124,.95);
  font-size: .95rem;
  line-height: 1.4;
}


/* =========================================================
   v3.7.7.27 Business sidebar refinement (lighter metrics)
   ========================================================= */
.jjh-metrics-v11{
  display: grid;
  gap: 12px;
  margin-top: 6px;
}
.jjh-metrics-v11__item{
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(210,220,234,.78);
  background: rgba(245,250,255,.55);
}
.jjh-metrics-v11__num{
  font-weight: 900;
  letter-spacing: -0.01em;
  color: rgba(16,26,44,.95);
}
.jjh-metrics-v11__cap{
  margin-top: 6px;
  color: rgba(92,104,124,.95);
  font-size: .95rem;
  line-height: 1.35;
}


/* =========================================================
   v3.7.7.34 Contact checklist (brand-forwardable)
   ========================================================= */
.jjh-checklist-v11{
  margin: 0 0 18px;
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid rgba(210,220,234,.88);
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 40px rgba(0,0,0,.05);
  max-width: 980px;
}
.jjh-checklist-v11 h2{
  margin: 0 0 10px;
  font-size: 1.35rem;
  letter-spacing: -0.01em;
}
.jjh-checklist-v11 p{
  margin: 0 0 10px;
  color: rgba(92,104,124,.95);
  line-height: 1.8;
}
.jjh-checklist-v11 ul{
  margin: 0 0 12px;
  padding-left: 1.15em;
  color: rgba(58,72,94,.90);
}
.jjh-checklist-v11 li{
  margin: .45em 0;
  line-height: 1.75;
}
.jjh-checklist-v11__tpl{
  border: 1px solid rgba(210,220,234,.82);
  border-radius: 16px;
  background: rgba(245,250,255,.58);
  padding: 12px 12px 10px;
}
.jjh-checklist-v11__tplTitle{
  font-weight: 900;
  color: rgba(16,26,44,.95);
  margin-bottom: 8px;
}
.jjh-checklist-v11 pre{
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(58,72,94,.92);
  font-size: .95rem;
  line-height: 1.6;
}


/* =========================================================
   v3.7.7.44 Footer notation line (misspelling-safe)
   ========================================================= */
.site-footer__note{
  margin: 10px 0 0;
  color: rgba(92,104,124,.95);
  line-height: 1.7;
  font-size: .95rem;
}


/* =========================================================
   v3.7.7.45 Hero subcopy (SEO-friendly, minimal)
   ========================================================= */
.hero-v11__subcopy{
  margin: 18px 0 0;
  max-width: 58ch;
  color: rgba(30,41,59,.78);
  font-size: 1.05rem;
  line-height: 1.75;
}
@media (max-width: 640px){
  .hero-v11__subcopy{ font-size: 1rem; }
}


/* =========================================================
   v3.7.7.45 Minimal SEO intro block (no visual noise)
   ========================================================= */
.jjh-seo-v45{
  margin: 0 0 22px;
  padding: 0;
}
.jjh-seo-v45 p{
  margin: 0;
  color: rgba(30,41,59,.78);
  line-height: 1.8;
}
