/* KURITA HOLDINGS — brand tokens & base */
:root {
  --ink: #0E1A33;
  --navy: #101F3D;
  --navy-2: #16294D;
  --blue: #2E6FE4;
  --blue-soft: #7FA8F0;
  --paper: #F5F7FB;
  --paper-alt: #EAEDF4;
  --white: #FFFFFF;
  --hairline: rgba(14, 26, 51, 0.14);
  --hairline-strong: rgba(14, 26, 51, 0.28);
  --on-navy: #F2F5FC;
  --on-navy-dim: rgba(242, 245, 252, 0.66);
  --on-navy-hair: rgba(242, 245, 252, 0.22);

  --serif: Georgia, "Iowan Old Style", "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Segoe UI", sans-serif;

  --max: 1120px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ink: #E8ECF6;
    --navy: #0A1328;
    --navy-2: #0F1D38;
    --blue: #6FA0F5;
    --blue-soft: #9FC0FA;
    --paper: #0B1220;
    --paper-alt: #101A2E;
    --white: #0D1526;
    --hairline: rgba(232, 236, 246, 0.14);
    --hairline-strong: rgba(232, 236, 246, 0.26);
    --on-navy: #EEF2FB;
    --on-navy-dim: rgba(238, 242, 251, 0.66);
    --on-navy-hair: rgba(238, 242, 251, 0.18);
  }
}

:root[data-theme="dark"] {
  --ink: #E8ECF6;
  --navy: #0A1328;
  --navy-2: #0F1D38;
  --blue: #6FA0F5;
  --blue-soft: #9FC0FA;
  --paper: #0B1220;
  --paper-alt: #101A2E;
  --white: #0D1526;
  --hairline: rgba(232, 236, 246, 0.14);
  --hairline-strong: rgba(232, 236, 246, 0.26);
  --on-navy: #EEF2FB;
  --on-navy-dim: rgba(238, 242, 251, 0.66);
  --on-navy-hair: rgba(238, 242, 251, 0.18);
}

:root[data-theme="light"] {
  --ink: #0E1A33;
  --navy: #101F3D;
  --navy-2: #16294D;
  --blue: #2E6FE4;
  --blue-soft: #7FA8F0;
  --paper: #F5F7FB;
  --paper-alt: #EAEDF4;
  --white: #FFFFFF;
  --hairline: rgba(14, 26, 51, 0.14);
  --hairline-strong: rgba(14, 26, 51, 0.28);
  --on-navy: #F2F5FC;
  --on-navy-dim: rgba(242, 245, 252, 0.66);
  --on-navy-hair: rgba(242, 245, 252, 0.22);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}

h1, h2, h3 {
  font-family: var(--serif);
  font-weight: 400;
  text-wrap: balance;
  margin: 0;
  letter-spacing: 0.01em;
}

.eyebrow {
  font-family: var(--sans);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--blue);
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
}

.wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 28px;
}

/* ---------- Header ---------- */
.site-header {
  background: var(--navy);
  color: var(--on-navy);
  border-bottom: 1px solid var(--on-navy-hair);
  position: sticky;
  top: 0;
  z-index: 100;
}
.site-header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 84px;
}
.brand { display: flex; align-items: center; gap: 14px; }
.brand-mark { height: 34px; width: auto; flex: none; }
.brand-text { display: flex; flex-direction: column; line-height: 1; }
.brand-word {
  font-family: var(--serif);
  font-size: 1.28rem;
  letter-spacing: 0.06em;
  color: var(--on-navy);
}
.brand-sub {
  margin-top: 5px;
  font-size: 0.62rem;
  letter-spacing: 0.34em;
  color: var(--blue-soft);
}

.nav { display: flex; gap: 34px; }
.nav a {
  font-size: 0.86rem;
  letter-spacing: 0.04em;
  color: var(--on-navy-dim);
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.nav a:hover, .nav a[aria-current="page"] {
  color: var(--on-navy);
  border-bottom-color: var(--blue-soft);
}
.nav-toggle { display: none; }

@media (max-width: 760px) {
  .site-header .wrap {
    height: 78px;
    min-height: 78px;
    display: flex;
    gap: 16px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .brand-mark { height: 30px; }
  .brand-word { font-size: 1.08rem; }
  .nav-toggle {
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 11px 9px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: transparent;
    color: var(--on-navy);
    border: 1px solid var(--on-navy-hair);
    cursor: pointer;
  }
  .nav-toggle span {
    display: block;
    width: 100%;
    height: 1px;
    background: currentColor;
    transition: transform 0.18s ease, opacity 0.18s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: grid;
    gap: 0;
    max-height: 0;
    padding: 0 28px;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    background: var(--navy);
    border-bottom: 1px solid var(--on-navy-hair);
    transition: max-height 0.24s ease, opacity 0.18s ease, visibility 0.18s ease, padding 0.24s ease;
  }
  .nav.is-open {
    max-height: calc(100vh - 78px);
    padding-top: 8px;
    padding-bottom: 18px;
    overflow-y: auto;
    visibility: visible;
    opacity: 1;
  }
  .nav a {
    padding: 13px 0;
    font-size: 0.86rem;
    border-bottom: 1px solid var(--on-navy-hair);
  }
  .nav a:last-child { border-bottom: none; }
  body.nav-open { overflow: hidden; }
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  background: var(--navy);
  color: var(--on-navy);
  overflow: hidden;
}
.hero .wrap {
  padding-top: 108px;
  padding-bottom: 116px;
  position: relative;
  z-index: 1;
}
.hero-mark {
  position: absolute;
  right: 4%;
  top: 50%;
  transform: translateY(-50%) scale(0.94);
  height: 92%;
  width: auto;
  opacity: 0;
  animation: mark-in 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}
@keyframes mark-in {
  to { opacity: 0.16; transform: translateY(-50%) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-mark { animation: none; opacity: 0.16; transform: translateY(-50%) scale(1); }
}
@media (max-width: 900px) {
  .hero-mark { opacity: 0.08; }
}

.hero-eyebrow { color: var(--blue-soft); }
.hero h1 {
  margin-top: 26px;
  font-size: clamp(2.1rem, 4.4vw, 3.4rem);
  max-width: 15ch;
}
.hero-lede {
  margin-top: 26px;
  max-width: 46ch;
  font-size: 1.02rem;
  color: var(--on-navy-dim);
}
.hero-tagline {
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid var(--on-navy-hair);
  font-family: var(--serif);
  font-size: 1.15rem;
  color: var(--on-navy);
  max-width: 34ch;
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  margin-top: 34px;
}

.hero-link {
  color: var(--on-navy);
  border-bottom: 1px solid var(--on-navy-hair);
  font-weight: 600;
}

.field-help {
  display: block;
  margin-top: 5px;
  color: color-mix(in srgb, var(--ink) 62%, transparent);
  font-size: 0.78rem;
}

/* ---------- Sections ---------- */
.section {
  padding: 92px 0;
  border-bottom: 1px solid var(--hairline);
}
.section-head {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 40px;
  margin-bottom: 56px;
}
.section-head h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.section-head p { margin: 14px 0 0; color: var(--ink); opacity: 0.72; max-width: 52ch; }

@media (max-width: 760px) {
  .section-head { grid-template-columns: 1fr; gap: 14px; }
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
}
.grid-3 > * {
  padding: 34px 30px;
  border-right: 1px solid var(--hairline);
}
.grid-3 > *:last-child { border-right: none; }
@media (max-width: 760px) {
  .grid-3 { grid-template-columns: 1fr; }
  .grid-3 > * { border-right: none; border-bottom: 1px solid var(--hairline); }
}
.pillar-index {
  font-family: var(--serif);
  font-size: 0.85rem;
  color: var(--blue);
}
.pillar-title {
  margin-top: 14px;
  font-family: var(--serif);
  font-size: 1.2rem;
}
.pillar-text { margin-top: 12px; font-size: 0.92rem; opacity: 0.75; }

/* ---------- Consultation navigator ---------- */
.finder-section { background: var(--paper-alt); }
.consultation-finder {
  border-top: 1px solid var(--hairline-strong);
  border-bottom: 1px solid var(--hairline-strong);
}
.finder-group {
  margin: 0;
  padding: 32px 0;
  border: 0;
  border-bottom: 1px solid var(--hairline);
}
.finder-group legend {
  padding: 0;
  font-family: var(--serif);
  font-size: 1.05rem;
}
.finder-group legend span {
  margin-right: 14px;
  font-family: var(--sans);
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  color: var(--blue);
}
.choice-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 22px;
}
.choice-card {
  position: relative;
  min-height: 158px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--hairline);
  background: var(--paper);
  cursor: pointer;
  transition: border-color 0.18s ease, transform 0.18s ease, background 0.18s ease;
}
.choice-card:hover { color: var(--on-navy); background: var(--navy); transform: translateY(-2px); border-color: var(--navy); }
.choice-card:hover .choice-number { color: var(--blue-soft); }
.choice-card:has(input:checked) {
  color: var(--on-navy);
  background: var(--navy);
  border-color: var(--navy);
}
.choice-card:has(input:focus-visible) { outline: 2px solid var(--blue); outline-offset: 3px; }
.choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.choice-number {
  color: var(--blue);
  font-family: var(--serif);
  font-size: 0.8rem;
}
.choice-card:has(input:checked) .choice-number { color: var(--blue-soft); }
.choice-card strong { margin-top: 16px; font-family: var(--serif); font-size: 1.02rem; font-weight: 400; }
.choice-card small { margin-top: 7px; font-size: 0.76rem; line-height: 1.6; opacity: 0.68; }
.chip-group { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.chip-group label { position: relative; cursor: pointer; }
.chip-group input { position: absolute; opacity: 0; pointer-events: none; }
.chip-group span {
  display: block;
  padding: 9px 18px;
  border: 1px solid var(--hairline-strong);
  border-radius: 999px;
  font-size: 0.82rem;
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.chip-group input:checked + span { color: var(--on-navy); background: var(--navy); border-color: var(--navy); }
.chip-group input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 3px; }
.finder-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px 0;
}
.finder-result h3 { margin-top: 8px; font-size: 1.3rem; }
.finder-result p:not(.eyebrow) { margin: 7px 0 0; max-width: 58ch; font-size: 0.88rem; opacity: 0.7; }
.finder-result .btn { margin-top: 0; flex: none; }

/* ---------- Consultation flow ---------- */
.process-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--hairline-strong);
}
.process-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  padding: 32px 28px;
  border-right: 1px solid var(--hairline);
}
.process-list li:last-child { border-right: 0; }
.process-list > li > span { color: var(--blue); font-family: var(--serif); font-size: 0.84rem; }
.process-list h3 { font-size: 1.06rem; }
.process-list p { margin: 9px 0 0; font-size: 0.86rem; opacity: 0.7; }

/* ---------- FAQ ---------- */
.faq-section { background: var(--paper-alt); }
.faq-list { border-top: 1px solid var(--hairline-strong); }
.faq-list details { border-bottom: 1px solid var(--hairline); }
.faq-list summary {
  position: relative;
  padding: 24px 52px 24px 0;
  list-style: none;
  font-family: var(--serif);
  font-size: 1.02rem;
  cursor: pointer;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
  content: "+";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  color: var(--blue);
  border: 1px solid var(--hairline-strong);
  border-radius: 50%;
  font-family: var(--sans);
  line-height: 1;
}
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 52px 24px 0; max-width: 72ch; font-size: 0.9rem; opacity: 0.72; }
.faq-list details p a { color: var(--blue); border-bottom: 1px solid var(--hairline-strong); }

/* ---------- Closing CTA ---------- */
.closing-cta .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
}
.closing-cta h2 { margin-top: 10px; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.closing-cta p:not(.eyebrow) { margin: 12px 0 0; max-width: 52ch; opacity: 0.7; }
.closing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; flex: none; }
.closing-actions .btn { margin: 0; }
.text-link { color: var(--blue); border-bottom: 1px solid var(--hairline-strong); font-size: 0.86rem; }

/* ---------- Info table ---------- */
.info-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--hairline-strong); }
.info-table tr { border-bottom: 1px solid var(--hairline); }
.info-table th, .info-table td { text-align: left; padding: 20px 0; vertical-align: top; font-weight: 400; }
.info-table th {
  width: 220px;
  font-family: var(--sans);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  color: var(--blue);
}
@media (max-width: 620px) {
  .info-table, .info-table tbody, .info-table tr, .info-table th, .info-table td { display: block; width: auto; }
  .info-table th { padding-bottom: 4px; }
  .info-table td { padding-top: 0; padding-bottom: 22px; }
}
.pending { color: var(--ink); opacity: 0.45; font-style: italic; }

/* ---------- Cards (group companies) ---------- */
.card-list { border-top: 1px solid var(--hairline-strong); }
.card-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 28px;
  padding: 36px 0;
  border-bottom: 1px solid var(--hairline);
}
.card-tag { font-family: var(--serif); font-size: 0.85rem; color: var(--blue); padding-top: 4px; }
.card-row h3 { font-size: 1.15rem; }
.card-row p { margin: 10px 0 0; opacity: 0.72; font-size: 0.92rem; max-width: 62ch; }
@media (max-width: 620px) {
  .card-row { grid-template-columns: 1fr; gap: 8px; }
}

/* ---------- News ---------- */
.news-list { border-top: 1px solid var(--hairline-strong); }
.news-item {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 24px;
  padding: 26px 0;
  border-bottom: 1px solid var(--hairline);
}
.news-date { font-variant-numeric: tabular-nums; font-size: 0.86rem; opacity: 0.6; padding-top: 2px; }
.news-item h3 { font-family: var(--sans); font-size: 0.98rem; font-weight: 600; }
.news-item p { margin: 8px 0 0; font-size: 0.9rem; opacity: 0.7; }
@media (max-width: 620px) {
  .news-item { grid-template-columns: 1fr; gap: 6px; }
}

/* ---------- Contact ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}
.form-intro { margin-bottom: 34px; padding-bottom: 28px; border-bottom: 1px solid var(--hairline); }
.form-intro h2 { margin-top: 10px; font-size: 1.45rem; }
.form-intro > p:not(.eyebrow):not(.prefill-notice) { margin: 10px 0 0; font-size: 0.88rem; opacity: 0.72; }
.prefill-notice {
  margin: 16px 0 0;
  padding: 10px 13px;
  color: var(--blue);
  background: color-mix(in srgb, var(--blue) 8%, transparent);
  border-left: 3px solid var(--blue);
  font-size: 0.8rem;
}
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 760px) {
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
}
.field { margin-bottom: 22px; }
.field label {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: var(--blue);
  margin-bottom: 8px;
}
.field input, .field textarea, .field select {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--hairline-strong);
  background: transparent;
  padding: 10px 2px;
  font-family: var(--sans);
  font-size: 0.96rem;
  color: var(--ink);
}
.field select { appearance: none; border-radius: 0; }
.field textarea { resize: vertical; min-height: 120px; }
.btn {
  display: inline-block;
  margin-top: 8px;
  padding: 14px 36px;
  background: var(--navy);
  color: var(--on-navy);
  font-size: 0.86rem;
  letter-spacing: 0.08em;
  border: 1px solid var(--navy);
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.btn:hover { opacity: 0.86; }
.btn:disabled { opacity: 0.5; cursor: wait; }
.contact-method {
  display: flex;
  gap: 22px;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}
.contact-method legend {
  width: 100%;
  margin-bottom: 8px;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: var(--blue);
}
.contact-method label, .privacy-consent {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.86rem;
}
.privacy-consent { margin-bottom: 10px; }
.privacy-consent a { color: var(--blue); border-bottom: 1px solid var(--hairline-strong); }
.website-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { margin-top: 14px; font-size: 0.8rem; opacity: 0.7; }
.form-status.is-success { color: #247246; opacity: 1; font-weight: 600; }
.form-status.is-error { color: #b13a33; opacity: 1; font-weight: 600; }
.contact-info dt { font-size: 0.78rem; letter-spacing: 0.06em; color: var(--blue); margin-top: 22px; }
.contact-info dt:first-child { margin-top: 0; }
.contact-info dd { margin: 6px 0 0; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--navy);
  color: var(--on-navy-dim);
  padding: 56px 0 34px;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--on-navy-hair);
}
.footer-nav { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-nav a { font-size: 0.86rem; color: var(--on-navy-dim); }
.footer-nav a:hover { color: var(--on-navy); }
.footer-bottom {
  margin-top: 26px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.76rem;
  opacity: 0.6;
}

/* ---------- Group company cards ---------- */
.group-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--hairline-strong);
}
.group-card {
  padding: 34px;
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  display: flex;
  gap: 22px;
  align-items: flex-start;
}
.group-card:nth-child(even) { border-right: none; }
.group-card .logo {
  width: 60px; height: 60px; object-fit: contain; flex: none;
  background: #fff; border: 1px solid var(--hairline);
}
.group-card .tag {
  font-size: 0.72rem; letter-spacing: 0.14em; color: var(--blue); text-transform: uppercase;
}
.group-card h3 { margin-top: 8px; font-size: 1.15rem; }
.group-card p { margin-top: 10px; font-size: 0.9rem; opacity: 0.72; }
@media (max-width: 760px) {
  .group-grid { grid-template-columns: 1fr; }
  .group-card { border-right: none; }
}

/* ---------- Page hero (sub pages) ---------- */
.page-hero {
  background: var(--navy);
  color: var(--on-navy);
  padding: 64px 0;
}
.page-hero h1 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin-top: 14px; }

/* ---------- Mobile quick contact ---------- */
.mobile-quick-contact { display: none; }

@media (max-width: 900px) {
  .choice-grid { grid-template-columns: repeat(2, 1fr); }
  .process-list { grid-template-columns: 1fr; }
  .process-list li { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .process-list li:last-child { border-bottom: 0; }
  .closing-cta .wrap { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 760px) {
  body:not(.contact-page):not(.no-global-quick-contact) { padding-bottom: 62px; }
  .wrap { padding-left: 20px; padding-right: 20px; }
  .section { padding: 68px 0; }
  .hero .wrap { padding-top: 76px; padding-bottom: 80px; }
  .hero-tagline { margin-top: 34px; }
  .choice-grid { grid-template-columns: 1fr; }
  .choice-card { min-height: 0; }
  .finder-result { align-items: flex-start; flex-direction: column; }
  .finder-result .btn { width: 100%; text-align: center; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .closing-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .closing-actions .btn { text-align: center; }
  .closing-actions .text-link { align-self: center; }
  .mobile-quick-contact {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    min-height: 62px;
    background: var(--navy);
    border-top: 1px solid var(--on-navy-hair);
  }
  .mobile-quick-contact a {
    display: grid;
    place-items: center;
    color: var(--on-navy);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    border-right: 1px solid var(--on-navy-hair);
  }
  .mobile-quick-contact a:last-child { background: var(--blue); border-right: 0; }
}

/* ==========================================================
   KURITA corporate positioning — strategic core / development
   ========================================================== */
.hero-positioning .wrap { padding-top: 128px; padding-bottom: 136px; }
.hero-positioning h1 {
  max-width: 11ch;
  font-size: clamp(2.8rem, 6vw, 5.3rem);
  line-height: 1.2;
  letter-spacing: 0.03em;
}
.hero-positioning .hero-lede { max-width: 50ch; font-size: 1.08rem; }
.hero-positioning .hero-tagline { max-width: 42ch; }
.hero-grid-lines {
  position: absolute;
  inset: 0 0 0 48%;
  opacity: 0.14;
  background-image:
    linear-gradient(var(--on-navy-hair) 1px, transparent 1px),
    linear-gradient(90deg, var(--on-navy-hair) 1px, transparent 1px);
  background-size: 76px 76px;
  transform: perspective(900px) rotateY(-18deg) scale(1.14);
  transform-origin: right center;
}
.btn-light { color: var(--navy); background: var(--on-navy); border-color: var(--on-navy); }
.business-ticker { position: relative; z-index: 2; border-top: 1px solid var(--on-navy-hair); }
.business-ticker .wrap {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow-x: auto;
  scrollbar-width: none;
}
.business-ticker .wrap::-webkit-scrollbar { display: none; }
.business-ticker span {
  flex: none;
  color: var(--on-navy-dim);
  font-size: 0.66rem;
  letter-spacing: 0.13em;
  white-space: nowrap;
}
.statement-grid { display: grid; grid-template-columns: 1fr 2.15fr; gap: 40px; }
.statement-kicker { margin: 0 0 18px; color: var(--blue); font-size: 0.68rem; letter-spacing: 0.2em; }
.statement-grid h2 { max-width: 20ch; font-size: clamp(1.9rem, 3.6vw, 3.1rem); line-height: 1.5; }
.statement-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; margin-top: 38px; }
.statement-copy p { margin: 0; font-size: 0.94rem; opacity: 0.72; }

.business-domain-section { background: var(--paper-alt); }
.domain-list { border-top: 1px solid var(--hairline-strong); }
.domain-row {
  display: grid;
  grid-template-columns: 54px 1.2fr 1fr 34px;
  align-items: center;
  gap: 24px;
  min-height: 132px;
  padding: 24px 8px;
  border-bottom: 1px solid var(--hairline);
  transition: background 0.18s ease, padding 0.18s ease;
}
.domain-row:hover { padding-left: 20px; padding-right: 20px; background: var(--paper); }
.domain-index { color: var(--blue); font-family: var(--serif); font-size: 0.82rem; }
.domain-en { margin: 0; color: var(--blue); font-size: 0.68rem; letter-spacing: 0.15em; }
.domain-row h3 { margin-top: 7px; font-size: 1.35rem; }
.domain-row > p { margin: 0; font-size: 0.88rem; opacity: 0.66; }
.domain-arrow { color: var(--blue); font-size: 1.2rem; text-align: right; }

.project-scale-section, .orchestration-section, .collaboration-section {
  color: var(--on-navy);
  background: var(--navy);
}
.section-head-light .eyebrow, .project-scale-section .eyebrow, .orchestration-section .eyebrow, .collaboration-section .eyebrow { color: var(--blue-soft); }
.section-head-light p { color: var(--on-navy-dim); opacity: 1; }
.project-type-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--on-navy-hair); border-left: 1px solid var(--on-navy-hair); }
.project-type-grid article { min-height: 220px; padding: 34px; border-right: 1px solid var(--on-navy-hair); border-bottom: 1px solid var(--on-navy-hair); }
.project-type-grid span { color: var(--blue-soft); font-family: var(--serif); font-size: 0.8rem; }
.project-type-grid h3 { margin-top: 38px; font-size: 1.3rem; }
.project-type-grid p { margin: 12px 0 0; max-width: 39ch; color: var(--on-navy-dim); font-size: 0.88rem; }
.compliance-note { margin: 24px 0 0; color: inherit; font-size: 0.74rem; opacity: 0.55; }

.core-company-card {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  gap: 36px;
  padding: 38px;
  color: var(--on-navy);
  background: var(--navy);
}
.core-company-card .eyebrow { color: var(--blue-soft); }
.core-company-card h3 { margin-top: 9px; font-size: clamp(1.55rem, 3vw, 2.2rem); letter-spacing: 0.06em; }
.core-company-card > p { margin: 0; color: var(--on-navy-dim); }
.specialist-network { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--hairline); border-left: 1px solid var(--hairline); }
.specialist-network article { min-height: 174px; padding: 24px 20px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.specialist-network article > p { margin: 0; color: var(--blue); font-size: 0.58rem; letter-spacing: 0.12em; }
.specialist-network h3 { margin-top: 16px; font-size: 0.98rem; }
.specialist-network span { display: block; margin-top: 9px; font-size: 0.72rem; line-height: 1.65; opacity: 0.62; }
.specialist-network article > a { display: inline-block; margin-top: 15px; color: var(--blue); font-size: 0.7rem; border-bottom: 1px solid var(--hairline-strong); }
.section-link { display: inline-block; margin-top: 28px; color: var(--blue); border-bottom: 1px solid var(--hairline-strong); font-size: 0.85rem; }
.choice-grid-five { grid-template-columns: repeat(5, 1fr); }
.choice-grid-five .choice-card { padding: 18px; }
.corporate-closing { background: linear-gradient(90deg, var(--paper) 0%, var(--paper-alt) 100%); }

.page-hero-large { position: relative; padding: 106px 0 112px; overflow: hidden; }
.page-hero-large::after {
  content: "";
  position: absolute;
  right: -5%;
  bottom: -70%;
  width: 45vw;
  aspect-ratio: 1;
  border: 1px solid var(--on-navy-hair);
  transform: rotate(45deg);
}
.page-hero-large .wrap { position: relative; z-index: 1; }
.page-hero-large h1 { max-width: 16ch; font-size: clamp(2.35rem, 5vw, 4.2rem); line-height: 1.35; }
.page-hero-large .eyebrow { color: var(--blue-soft); }
.page-hero-large p:not(.eyebrow) { max-width: 54ch; margin: 24px 0 0; color: var(--on-navy-dim); }

.business-detail { scroll-margin-top: 84px; }
.business-detail-alt { background: var(--paper-alt); }
.business-detail-grid { display: grid; grid-template-columns: 140px 1.5fr 0.7fr; gap: 50px; align-items: start; }
.business-number span { display: block; color: var(--blue); font-family: var(--serif); font-size: 1.45rem; }
.business-number p { margin: 12px 0 0; color: var(--blue); font-size: 0.62rem; letter-spacing: 0.13em; line-height: 1.6; }
.business-main h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.business-main .business-lede { margin: 24px 0 0; font-family: var(--serif); font-size: 1.18rem; line-height: 1.8; }
.business-main > p:not(.business-lede) { margin: 24px 0 0; max-width: 58ch; font-size: 0.93rem; opacity: 0.72; }
.business-scope { padding: 22px 0; border-top: 1px solid var(--hairline-strong); border-bottom: 1px solid var(--hairline); }
.business-scope > p { margin: 0; color: var(--blue); font-size: 0.65rem; letter-spacing: 0.18em; }
.business-scope ul { margin: 16px 0 0; padding: 0; list-style: none; }
.business-scope li { padding: 8px 0; font-size: 0.78rem; border-bottom: 1px solid var(--hairline); }
.business-scope li:last-child { border-bottom: 0; }
.orchestration-flow { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--on-navy-hair); border-left: 1px solid var(--on-navy-hair); }
.orchestration-flow li { min-height: 180px; padding: 26px; border-right: 1px solid var(--on-navy-hair); border-bottom: 1px solid var(--on-navy-hair); }
.orchestration-flow span { color: var(--blue-soft); font-family: var(--serif); font-size: 0.75rem; }
.orchestration-flow h3 { margin-top: 32px; font-size: 1.04rem; }
.orchestration-flow p { margin: 8px 0 0; color: var(--on-navy-dim); font-size: 0.76rem; }

.group-model { display: grid; grid-template-columns: 1fr 120px 1.7fr; align-items: stretch; }
.group-core { padding: 42px; color: var(--on-navy); background: var(--navy); }
.group-core > p { margin: 0; color: var(--blue-soft); font-size: 0.65rem; letter-spacing: 0.18em; }
.group-core h3 { margin-top: 24px; font-size: clamp(1.7rem, 3.6vw, 2.8rem); line-height: 1.2; letter-spacing: 0.08em; }
.group-core ul { margin: 36px 0 0; padding: 0; list-style: none; }
.group-core li { padding: 7px 0; color: var(--on-navy-dim); font-size: 0.8rem; border-bottom: 1px solid var(--on-navy-hair); }
.group-connector { position: relative; display: grid; grid-template-rows: repeat(5, 1fr); align-items: center; }
.group-connector::before { content: ""; position: absolute; left: 0; top: 50%; right: 0; height: 1px; background: var(--hairline-strong); }
.group-connector span { position: relative; display: block; width: 100%; height: 1px; background: var(--hairline-strong); }
.group-connector span::after { content: ""; position: absolute; right: -4px; top: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.group-functions { display: grid; grid-template-rows: repeat(5, 1fr); border-top: 1px solid var(--hairline); }
.group-functions article { padding: 19px 24px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.group-functions p { margin: 0; color: var(--blue); font-size: 0.58rem; letter-spacing: 0.14em; }
.group-functions h3 { margin-top: 4px; font-size: 0.98rem; }

.specialist-section { background: var(--paper-alt); }
.specialist-cards { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--hairline-strong); }
.specialist-card { display: flex; flex-direction: column; gap: 24px; min-height: 330px; padding: 34px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.specialist-card:nth-child(3n) { border-right: 0; }
.specialist-card.featured { color: var(--on-navy); background: var(--navy); }
.specialist-identity { width: 100%; height: 112px; display: flex; align-items: center; justify-content: flex-start; background: transparent; border: 0; }
.specialist-identity img { display: block; width: auto; height: auto; max-width: min(100%, 300px); max-height: 108px; object-fit: contain; object-position: left center; }
.wincraft-identity { height: 112px; }
.wincraft-identity img { width: min(100%, 390px); max-width: 390px; max-height: 100px; }
.upbase-card .specialist-identity img { max-height: 116px; }
.specialist-card .tag { margin: 0; color: var(--blue); font-size: 0.62rem; letter-spacing: 0.15em; }
.specialist-card.featured .tag { color: var(--blue-soft); }
.specialist-card h3 { margin-top: 12px; font-size: 1.25rem; }
.specialist-card div > p:not(.tag) { margin: 13px 0 0; font-size: 0.86rem; opacity: 0.7; }
.role-label, .role-link { display: inline-block; margin-top: 20px; color: var(--blue); font-size: 0.7rem; letter-spacing: 0.07em; }
.specialist-card.featured .role-label { color: var(--blue-soft); }
.role-link { border-bottom: 1px solid var(--hairline-strong); }
.role-link-light { color: var(--blue-soft); border-color: var(--on-navy-hair); }
.link-status-note { margin: 22px 0 0; font-size: 0.72rem; opacity: 0.55; }
.collaboration-example { display: grid; grid-template-columns: 1fr 1.4fr; gap: 52px; padding: 40px; border: 1px solid var(--on-navy-hair); }
.collaboration-example > div > p { margin: 0; color: var(--blue-soft); font-size: 0.62rem; letter-spacing: 0.16em; }
.collaboration-example h3 { margin-top: 18px; font-size: clamp(1.45rem, 3vw, 2.1rem); }
.collaboration-example ol { margin: 0; padding: 0; list-style: none; }
.collaboration-example li { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 13px 0; color: var(--on-navy-dim); font-size: 0.82rem; border-bottom: 1px solid var(--on-navy-hair); }
.collaboration-example li span { color: var(--on-navy); }

.company-hero-label { margin: 16px 0 0; color: var(--on-navy-dim); font-size: 0.82rem; letter-spacing: 0.12em; }
.inline-brand-link { color: var(--blue); border-bottom: 1px solid var(--hairline-strong); }

/* WINCRAFT / BUILD & DESIGN */
.wincraft-page { --wincraft-ink: #0b1726; }
.wincraft-hero { position: relative; overflow: hidden; color: #fff; background: var(--wincraft-ink); }
.wincraft-hero::after { content: ""; position: absolute; right: -12vw; top: -30%; width: 46vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); transform: rotate(45deg); }
.wincraft-hero .wrap { position: relative; z-index: 1; padding-top: 96px; padding-bottom: 106px; }
.wincraft-overline { margin: 0 0 48px; color: #91bfff; font-size: .65rem; letter-spacing: .24em; }
.wincraft-hero-logo { display: block; width: min(100%, 720px); height: auto; }
.wincraft-hero-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; margin-top: 64px; padding-top: 48px; border-top: 1px solid rgba(255,255,255,.16); }
.wincraft-hero-copy h1 { font-size: clamp(2.35rem, 5.5vw, 4.8rem); line-height: 1.35; letter-spacing: .04em; }
.wincraft-hero-copy p { margin: 0; max-width: 48ch; color: rgba(255,255,255,.67); }
.wincraft-hero-actions { display: flex; gap: 28px; align-items: center; margin-top: 40px; }
.wincraft-text-link { color: rgba(255,255,255,.76); font-size: .82rem; border-bottom: 1px solid rgba(255,255,255,.3); }
.wincraft-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.wincraft-intro h2 { font-size: clamp(1.9rem, 3.5vw, 3rem); line-height: 1.55; }
.wincraft-intro-grid > div:last-child > p { margin: 0 0 20px; opacity: .7; }
.wincraft-lockup { display: block; width: min(100%, 520px); margin-top: 42px; }
.wincraft-capabilities { background: var(--paper-alt); }
.wincraft-capability-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--hairline-strong); border-left: 1px solid var(--hairline); }
.wincraft-capability-grid article { min-height: 260px; padding: 34px; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.wincraft-capability-grid article > span { color: var(--blue); font-family: var(--serif); font-size: .8rem; }
.wincraft-capability-grid article > p:first-of-type { margin: 28px 0 0; color: var(--blue); font-size: .62rem; letter-spacing: .14em; }
.wincraft-capability-grid h3 { margin-top: 9px; font-size: 1.35rem; }
.wincraft-capability-grid article > p:last-child { margin: 16px 0 0; max-width: 40ch; font-size: .85rem; opacity: .66; }
.wincraft-role { color: #fff; background: var(--wincraft-ink); }
.wincraft-role-grid { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; }
.wincraft-role-grid article { min-height: 360px; padding: 42px; border: 1px solid rgba(255,255,255,.14); }
.wincraft-role-grid article > p { margin: 0; color: #91bfff; font-size: .65rem; letter-spacing: .17em; }
.wincraft-role-grid h3 { margin-top: 28px; font-size: clamp(1.55rem, 3vw, 2.4rem); line-height: 1.4; }
.wincraft-role-grid ul { margin: 38px 0 0; padding: 0; list-style: none; }
.wincraft-role-grid li { padding: 10px 0; color: rgba(255,255,255,.66); font-size: .82rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.wincraft-role-mark { color: #91bfff; font-family: var(--serif); font-size: 1.7rem; text-align: center; }
.wincraft-profile .info-table a { color: var(--blue); }
.wincraft-closing { background: linear-gradient(90deg, var(--paper), var(--paper-alt)); }

/* Independent group company / brand sites */
.entity-site {
  --entity-accent: #136fbb;
  --entity-deep: #0b3152;
  --entity-hero-bg: #edf7ff;
  --entity-hero-text: #0b3152;
  color: #152033;
  background: #f7f8fa;
}
.benriyasan-site { --entity-accent: #0878bf; --entity-deep: #075188; --entity-hero-bg: #eef8ff; --entity-hero-text: #073e69; }
.shinnisshoku-site { --entity-accent: #57952a; --entity-deep: #1f4a27; --entity-hero-bg: #f1f7ed; --entity-hero-text: #173d20; }
.tantei-site { --entity-accent: #c9a23a; --entity-deep: #0b0f18; --entity-hero-bg: #0b0f18; --entity-hero-text: #f7f1df; }
.upbase-site { --entity-accent: #006dc7; --entity-deep: #062f68; --entity-hero-bg: #edf6ff; --entity-hero-text: #082d5d; }
.entity-header { color: #172033; background: rgba(255,255,255,.97); border-bottom-color: rgba(20,32,51,.12); }
.entity-header .wrap { height: 92px; }
.entity-header .nav a { color: rgba(21,32,51,.66); }
.entity-header .nav a:hover, .entity-header .nav a[aria-current="page"] { color: var(--entity-deep); border-bottom-color: var(--entity-accent); }
.entity-header .nav-toggle span { background: var(--entity-deep); }
.entity-brand { display: flex; align-items: center; width: min(260px, 32vw); height: 66px; }
.entity-brand img { width: auto; max-width: 100%; max-height: 58px; object-fit: contain; object-position: left center; }
.entity-brand-square { width: 92px; }
.entity-brand-square img { max-height: 66px; }
.entity-hero { color: var(--entity-hero-text); background: var(--entity-hero-bg); border-bottom: 1px solid rgba(20,32,51,.1); }
.entity-hero .wrap { display: grid; grid-template-columns: .85fr 1.15fr; gap: 76px; align-items: center; min-height: 650px; padding-top: 92px; padding-bottom: 92px; }
.entity-hero-logo { display: flex; align-items: center; justify-content: center; min-width: 0; }
.entity-hero-logo img { width: 100%; max-height: 300px; object-fit: contain; }
.entity-logo-square img { max-width: 320px; max-height: 330px; }
.entity-kicker, .entity-section-head > p, .entity-contact p { margin: 0; color: var(--entity-accent); font-size: .67rem; letter-spacing: .2em; }
.entity-hero-copy h1 { margin-top: 24px; font-size: clamp(2.4rem, 4.8vw, 4.5rem); line-height: 1.35; }
.tantei-site .entity-hero-copy h1 { font-size: clamp(2.4rem, 4vw, 3.5rem); }
.entity-hero-copy > p:not(.entity-kicker) { max-width: 47ch; margin: 28px 0 0; color: currentColor; opacity: .72; }
.entity-btn { display: inline-block; margin-top: 34px; padding: 13px 24px; color: #fff; background: var(--entity-deep); border: 1px solid var(--entity-deep); font-size: .82rem; letter-spacing: .04em; transition: transform .18s ease, background .18s ease; }
.entity-btn:hover { transform: translateY(-2px); background: var(--entity-accent); border-color: var(--entity-accent); }
.tantei-site .entity-btn { color: #111722; background: var(--entity-accent); border-color: var(--entity-accent); }
.tantei-site .entity-hero-logo { padding: 40px; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45); }
.entity-section { padding: 104px 0; background: #f7f8fa; border-bottom: 1px solid rgba(20,32,51,.1); }
.entity-section-head { display: grid; grid-template-columns: .65fr 1.35fr; gap: 42px; align-items: start; margin-bottom: 54px; }
.entity-section-head h2 { font-size: clamp(1.9rem, 3.5vw, 3.1rem); line-height: 1.55; }
.entity-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(20,32,51,.18); border-left: 1px solid rgba(20,32,51,.12); }
.entity-service-grid article { min-height: 285px; padding: 34px; background: #fff; border-right: 1px solid rgba(20,32,51,.12); border-bottom: 1px solid rgba(20,32,51,.12); }
.entity-service-grid span { color: var(--entity-accent); font-family: var(--serif); font-size: .8rem; }
.entity-service-grid h3 { margin-top: 46px; font-size: 1.28rem; }
.entity-service-grid p { margin: 16px 0 0; font-size: .86rem; opacity: .67; }
.entity-note { margin: 22px 0 0; font-size: .72rem; opacity: .58; }
.entity-role { color: #fff; background: var(--entity-deep); }
.entity-role .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.entity-role h2 { margin-top: 18px; font-size: clamp(2rem, 3.8vw, 3.35rem); line-height: 1.5; }
.entity-role .wrap > p { margin: 0; color: rgba(255,255,255,.68); }
.entity-profile-table { width: 100%; border-collapse: collapse; background: #fff; }
.entity-profile-table th, .entity-profile-table td { padding: 22px 20px; text-align: left; border-bottom: 1px solid rgba(20,32,51,.12); }
.entity-profile-table th { width: 28%; color: var(--entity-accent); font-size: .77rem; font-weight: 600; letter-spacing: .05em; }
.entity-profile-table td { font-size: .91rem; }
.entity-profile-table a { color: var(--entity-accent); border-bottom: 1px solid currentColor; }
.entity-contact { color: #fff; background: var(--entity-deep); }
.entity-contact .wrap { display: flex; justify-content: space-between; gap: 40px; align-items: center; padding-top: 72px; padding-bottom: 72px; }
.entity-contact h2 { margin-top: 12px; font-size: clamp(1.65rem, 3.4vw, 2.8rem); }
.entity-contact span { display: block; margin-top: 12px; color: rgba(255,255,255,.64); font-size: .84rem; }
.entity-contact .entity-btn { flex: none; margin-top: 0; color: var(--entity-deep); background: #fff; border-color: #fff; }
.entity-footer { color: rgba(255,255,255,.62); background: #07111e; }
.entity-footer .wrap { display: flex; justify-content: space-between; gap: 24px; padding-top: 24px; padding-bottom: 24px; font-size: .72rem; letter-spacing: .08em; }
.entity-footer a { color: #fff; }

/* SHIN NISSHOKU / MASHIMASHI RAMEN STORY */
.nisshoku-page { background: #fff; }
.nisshoku-header {
  color: #16321b;
  background: rgba(255, 255, 255, 0.97);
  border-bottom-color: rgba(23, 61, 32, 0.12);
}
.nisshoku-header .wrap { height: 92px; }
.nisshoku-header .nav a { color: rgba(22, 50, 27, 0.66); }
.nisshoku-header .nav a:hover, .nisshoku-header .nav a[aria-current="page"] { color: var(--entity-deep); border-bottom-color: var(--entity-accent); }
.nisshoku-header .nav-toggle span { background: var(--entity-deep); }
.nisshoku-brand { display: flex; align-items: center; width: 84px; height: 66px; }
.nisshoku-brand img { width: auto; max-width: 100%; max-height: 66px; object-fit: contain; }

.nisshoku-kicker { margin: 0; color: var(--entity-accent); font-size: 0.68rem; letter-spacing: 0.22em; }

.nisshoku-hero { position: relative; min-height: 78vh; overflow: hidden; background: #10250f; }
.nisshoku-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nisshoku-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 24, 9, 0.35) 0%, rgba(10, 24, 9, 0.55) 55%, rgba(10, 24, 9, 0.88) 100%);
}
.nisshoku-hero-content {
  position: relative;
  z-index: 1;
  padding-top: 108px;
  padding-bottom: 96px;
  min-height: 78vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
}
.nisshoku-hero-content .nisshoku-kicker { color: #cfe8b9; }
.nisshoku-hero-content h1 { margin-top: 20px; font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: 1.35; }
.nisshoku-hero-brand { margin: 22px 0 0; max-width: 30ch; font-family: var(--serif); font-size: 1.1rem; line-height: 1.7; color: rgba(255, 255, 255, 0.86); }
.nisshoku-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 36px; }
.nisshoku-image-note { position: absolute; right: 20px; bottom: 14px; z-index: 1; margin: 0; color: rgba(255, 255, 255, 0.6); font-size: 0.66rem; letter-spacing: 0.06em; }

.nisshoku-btn {
  display: inline-block;
  padding: 14px 32px;
  color: #10250f;
  background: #fff;
  border: 1px solid #fff;
  font-size: 0.86rem;
  letter-spacing: 0.06em;
  transition: opacity 0.15s ease;
}
.nisshoku-btn:hover { opacity: 0.85; }
.nisshoku-btn-light { color: #fff; background: transparent; border-color: rgba(255, 255, 255, 0.5); }
.nisshoku-ghost-link { color: rgba(255, 255, 255, 0.86); font-size: 0.86rem; border-bottom: 1px solid rgba(255, 255, 255, 0.4); }

.nisshoku-intro { position: relative; padding: 100px 0 0; overflow: hidden; background: #fff; }
.nisshoku-intro-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items: start; padding-bottom: 84px; }
.nisshoku-intro-grid h2 { margin-top: 20px; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.55; color: var(--entity-deep); }
.nisshoku-intro-copy p { margin: 0 0 18px; font-size: 0.94rem; line-height: 1.9; opacity: 0.76; }
.nisshoku-intro-copy p:last-child { margin-bottom: 0; }
.nisshoku-marquee {
  display: flex;
  gap: 3rem;
  padding: 22px 0;
  white-space: nowrap;
  color: #fff;
  background: var(--entity-deep);
  overflow: hidden;
}
.nisshoku-marquee span {
  flex: none;
  font-family: var(--serif);
  font-size: 1.3rem;
  letter-spacing: 0.14em;
  opacity: 0.86;
}

.nisshoku-values { padding: 84px 0; background: var(--entity-hero-bg); }
.nisshoku-values .wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid rgba(23, 61, 32, 0.18); }
.nisshoku-values article { padding: 34px 30px; border-right: 1px solid rgba(23, 61, 32, 0.14); }
.nisshoku-values article:last-child { border-right: none; }
.nisshoku-values span { font-family: var(--serif); font-size: 0.85rem; color: var(--entity-accent); }
.nisshoku-values h3 { margin-top: 16px; font-family: var(--serif); font-size: 1.3rem; color: var(--entity-deep); }
.nisshoku-values p { margin: 12px 0 0; font-size: 0.88rem; opacity: 0.72; }

.nisshoku-shops { padding: 104px 0; background: #fff; }
.nisshoku-section-head { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 40px; align-items: end; margin-bottom: 54px; }
.nisshoku-section-head h2 { margin-top: 18px; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.55; color: var(--entity-deep); }
.nisshoku-section-head > p { margin: 0; font-size: 0.86rem; opacity: 0.66; }
.nisshoku-shop-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(23, 61, 32, 0.2); border-left: 1px solid rgba(23, 61, 32, 0.12); }
.nisshoku-shop-card { display: flex; flex-direction: column; gap: 22px; padding: 34px; border-right: 1px solid rgba(23, 61, 32, 0.12); border-bottom: 1px solid rgba(23, 61, 32, 0.12); }
.nisshoku-shop-index { display: flex; align-items: baseline; gap: 12px; }
.nisshoku-shop-index span { font-family: var(--serif); font-size: 1.3rem; color: var(--entity-accent); }
.nisshoku-shop-index b { font-size: 0.66rem; letter-spacing: 0.16em; font-weight: 600; opacity: 0.55; }
.nisshoku-shop-copy p { margin: 0; font-size: 0.78rem; opacity: 0.6; }
.nisshoku-shop-copy h3 { margin-top: 8px; font-family: var(--serif); font-size: 1.2rem; color: var(--entity-deep); }
.nisshoku-shop-copy address { margin-top: 14px; font-style: normal; font-size: 0.86rem; line-height: 1.75; opacity: 0.72; }
.nisshoku-map-link { margin-top: auto; align-self: flex-start; padding-top: 10px; color: var(--entity-accent); font-size: 0.8rem; border-bottom: 1px solid rgba(87, 149, 42, 0.4); }
.nisshoku-shop-z .nisshoku-shop-copy h3 { color: var(--entity-accent); }

.nisshoku-company { padding: 100px 0; background: var(--entity-hero-bg); }
.nisshoku-company-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 64px; align-items: center; }
.nisshoku-company-brand img { width: min(180px, 100%); height: auto; }
.nisshoku-company-brand p { margin: 22px 0 0; max-width: 32ch; font-size: 0.9rem; opacity: 0.7; }
.nisshoku-company-table { width: 100%; border-collapse: collapse; background: #fff; }
.nisshoku-company-table th, .nisshoku-company-table td { padding: 20px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(23, 61, 32, 0.12); }
.nisshoku-company-table th { width: 32%; color: var(--entity-accent); font-size: 0.76rem; font-weight: 600; letter-spacing: 0.05em; }
.nisshoku-company-table td { font-size: 0.9rem; line-height: 1.7; }

.nisshoku-contact { color: #fff; background: var(--entity-deep); }
.nisshoku-contact .wrap { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-top: 72px; padding-bottom: 72px; }
.nisshoku-contact h2 { margin-top: 12px; font-size: clamp(1.6rem, 3.2vw, 2.5rem); }
.nisshoku-contact p:not(.nisshoku-kicker) { margin: 10px 0 0; color: rgba(255, 255, 255, 0.68); font-size: 0.88rem; }
.nisshoku-contact .nisshoku-btn { flex: none; }
.sub-hero{min-height:420px}.sub-hero .wrap{grid-template-columns:1fr}.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline)}.legal-grid article{padding:30px;background:#fff}.legal-grid h3{margin:0}.legal-grid p,.legal-copy p{opacity:.72}.flow-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--hairline)}.flow-list li{display:grid;grid-template-columns:90px 1fr;padding:28px 0;border-bottom:1px solid var(--hairline)}.flow-list span{color:var(--entity-accent)}.flow-list h2{margin:0}.flow-list p{margin:6px 0 0;opacity:.7}.faq-list details{padding:22px 0;border-bottom:1px solid var(--hairline)}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{opacity:.72}.legal-notice{padding:38px;border:1px solid var(--hairline)}.group-sites{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;font-size:.72rem}.entity-footer .wrap>div:first-child{display:flex;gap:20px;flex-wrap:wrap}.entity-footer .wrap>div:first-child a{color:inherit}.narrow{max-width:880px}

.nisshoku-footer { color: rgba(255, 255, 255, 0.62); background: #0c1a0c; }
.nisshoku-footer .wrap { display: flex; justify-content: space-between; gap: 24px; padding-top: 24px; padding-bottom: 24px; font-size: 0.72rem; letter-spacing: 0.06em; }

@media (max-width: 1000px) {
  .choice-grid-five { grid-template-columns: repeat(3, 1fr); }
  .specialist-network { grid-template-columns: repeat(3, 1fr); }
  .business-detail-grid { grid-template-columns: 100px 1fr; }
  .business-scope { grid-column: 2; }
  .orchestration-flow { grid-template-columns: repeat(3, 1fr); }
  .specialist-cards { grid-template-columns: repeat(2, 1fr); }
  .specialist-card:nth-child(3n) { border-right: 1px solid var(--hairline); }
  .specialist-card:nth-child(even) { border-right: 0; }
  .entity-hero .wrap { gap: 44px; }
  .entity-service-grid { grid-template-columns: 1fr 1fr; }
  .entity-service-grid article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .legal-grid{grid-template-columns:1fr}.group-sites{justify-content:flex-start}.sub-hero{min-height:350px}.flow-list li{grid-template-columns:55px 1fr}
  .hero-positioning .wrap { padding-top: 84px; padding-bottom: 90px; }
  .hero-positioning h1 { font-size: clamp(2.55rem, 14vw, 4rem); }
  .hero-grid-lines { left: 26%; opacity: 0.09; }
  .business-ticker .wrap { padding-top: 16px; padding-bottom: 16px; }
  .statement-grid, .statement-copy { grid-template-columns: 1fr; gap: 18px; }
  .statement-copy { margin-top: 28px; }
  .domain-row { grid-template-columns: 40px 1fr 26px; gap: 14px; min-height: 112px; }
  .domain-row > p { display: none; }
  .domain-en { font-size: 0.56rem; }
  .domain-row h3 { font-size: 1.16rem; }
  .project-type-grid { grid-template-columns: 1fr; }
  .project-type-grid article { min-height: 180px; }
  .core-company-card { grid-template-columns: 1fr; }
  .specialist-network { grid-template-columns: 1fr; }
  .choice-grid-five { grid-template-columns: 1fr; }
  .page-hero-large { padding: 78px 0 84px; }
  .business-detail-grid { grid-template-columns: 1fr; gap: 24px; }
  .business-scope { grid-column: auto; }
  .orchestration-flow { grid-template-columns: 1fr; }
  .orchestration-flow li { min-height: 135px; }
  .group-model { grid-template-columns: 1fr; }
  .group-connector { display: none; }
  .specialist-cards { grid-template-columns: 1fr; }
  .specialist-card, .specialist-card:nth-child(even), .specialist-card:nth-child(3n) { min-height: 300px; gap: 20px; padding: 28px 20px; border-right: 0; }
  .specialist-identity, .wincraft-identity { width: 100%; height: 96px; }
  .specialist-identity img { max-height: 92px; }
  .collaboration-example { grid-template-columns: 1fr; padding: 26px 20px; }
  .collaboration-example li { grid-template-columns: 1fr; gap: 3px; }
  .wincraft-hero .wrap { padding-top: 72px; padding-bottom: 78px; }
  .wincraft-overline { margin-bottom: 36px; }
  .wincraft-hero-copy, .wincraft-intro-grid { grid-template-columns: 1fr; gap: 28px; }
  .wincraft-hero-copy { margin-top: 42px; padding-top: 34px; }
  .wincraft-hero-actions { align-items: stretch; flex-direction: column; }
  .wincraft-hero-actions .btn { text-align: center; }
  .wincraft-text-link { align-self: center; }
  .wincraft-capability-grid { grid-template-columns: 1fr; }
  .wincraft-capability-grid article { min-height: 220px; }
  .wincraft-role-grid { grid-template-columns: 1fr; gap: 18px; }
  .wincraft-role-mark { transform: rotate(45deg); }
  .entity-header .wrap { height: 78px; }
  .entity-brand { width: min(220px, 68vw); height: 58px; }
  .entity-brand-square { width: 72px; }
  .entity-header .nav { background: #fff; border-top-color: rgba(20,32,51,.12); }
  .entity-header .nav a { color: #223047; border-bottom-color: rgba(20,32,51,.1); }
  .entity-hero .wrap { grid-template-columns: 1fr; gap: 42px; min-height: 0; padding-top: 62px; padding-bottom: 72px; }
  .entity-hero-logo { min-height: 180px; }
  .entity-hero-logo img { max-height: 220px; }
  .entity-logo-square img { max-height: 240px; }
  .tantei-site .entity-hero-logo { padding: 24px; }
  .entity-section { padding: 72px 0; }
  .entity-section-head, .entity-role .wrap { grid-template-columns: 1fr; gap: 28px; }
  .entity-service-grid { grid-template-columns: 1fr; }
  .entity-service-grid article, .entity-service-grid article:last-child { grid-column: auto; min-height: 220px; }
  .entity-service-grid h3 { margin-top: 32px; }
  .entity-profile-table th, .entity-profile-table td { display: block; width: 100%; padding: 16px; }
  .entity-profile-table th { padding-bottom: 0; border-bottom: 0; }
  .entity-contact .wrap { align-items: stretch; flex-direction: column; }
  .entity-contact .entity-btn { text-align: center; }

  .nisshoku-header .wrap { height: 78px; }
  .nisshoku-header .nav { background: #fff; border-top-color: rgba(23, 61, 32, 0.12); }
  .nisshoku-header .nav a { color: #16321b; border-bottom-color: rgba(23, 61, 32, 0.1); }
  .nisshoku-brand { width: 68px; height: 56px; }
  .nisshoku-hero { min-height: 84vh; }
  .nisshoku-hero-content { padding-top: 72px; padding-bottom: 64px; min-height: 84vh; }
  .nisshoku-hero-actions { align-items: stretch; flex-direction: column; gap: 18px; }
  .nisshoku-hero-actions .nisshoku-btn { text-align: center; }
  .nisshoku-ghost-link { align-self: center; }
  .nisshoku-intro { padding-top: 68px; }
  .nisshoku-intro-grid { grid-template-columns: 1fr; gap: 28px; padding-bottom: 56px; }
  .nisshoku-marquee span { font-size: 1.05rem; }
  .nisshoku-values { padding: 60px 0; }
  .nisshoku-values .wrap { grid-template-columns: 1fr; }
  .nisshoku-values article { border-right: none; border-bottom: 1px solid rgba(23, 61, 32, 0.14); }
  .nisshoku-values article:last-child { border-bottom: none; }
  .nisshoku-shops { padding: 68px 0; }
  .nisshoku-section-head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 36px; }
  .nisshoku-shop-list { grid-template-columns: 1fr; }
  .nisshoku-shop-card { border-right: none; }
  .nisshoku-company { padding: 64px 0; }
  .nisshoku-company-grid { grid-template-columns: 1fr; gap: 32px; }
  .nisshoku-company-table th, .nisshoku-company-table td { display: block; width: 100%; padding: 14px 0 0; border-bottom: 0; }
  .nisshoku-company-table td { padding-bottom: 18px; border-bottom: 1px solid rgba(23, 61, 32, 0.12); }
  .nisshoku-contact .wrap { align-items: stretch; flex-direction: column; text-align: center; }
  .nisshoku-contact .nisshoku-btn { text-align: center; }
}
.contact-form{display:grid;gap:18px}.contact-form label{display:grid;gap:7px;font-size:.8rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:13px;border:1px solid var(--hairline-strong);background:#fff;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.diagnosis-result{margin-top:36px;padding:32px;border:1px solid var(--hairline-strong);background:#f5f1e8}.diagnosis-result p{white-space:pre-line}.diagnosis-result .entity-btn{margin-top:18px}.tanteigyo-sign{padding:28px;background:#fff;color:#000;border:2px solid #000}.tanteigyo-sign>p{margin:0;font-size:.8rem}.tanteigyo-sign h2{text-align:center;font-size:2rem}.tanteigyo-sign table{width:100%;border-collapse:collapse}.tanteigyo-sign th,.tanteigyo-sign td{padding:14px;border:1px solid #000;text-align:left;vertical-align:middle}.tanteigyo-sign th{width:40%;font-weight:600}.sign-actions{margin-top:24px}.phone-callout a{display:inline-block;margin:20px 0;font-size:clamp(2rem,7vw,4.5rem);font-family:var(--serif);color:var(--entity-accent)}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.tanteigyo-sign{padding:12px;overflow-x:auto}.tanteigyo-sign table{min-width:620px}.tantei-site .entity-hero-copy h1{font-size:clamp(2rem,9vw,2.5rem)}}

@media(max-width:760px){.tantei-site .entity-hero-copy h1{font-size:clamp(1.8rem,7.8vw,2.2rem)}}

.diagnosis-survey{gap:28px}.survey-intro{margin:0;padding:18px 20px;border-left:3px solid var(--entity-accent);background:#f5f1e8;font-size:.88rem}.survey-fieldset{margin:0;padding:0;border:0}.survey-fieldset legend,.diagnosis-survey>label{font-size:.92rem;font-weight:600}.survey-fieldset legend{margin-bottom:12px}.survey-fieldset legend span,.survey-question-number{display:inline-grid;width:28px;height:28px;margin-right:10px;place-items:center;border-radius:50%;background:var(--entity-deep);color:#fff;font-size:.68rem;letter-spacing:.04em}.survey-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.survey-choice{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--hairline-strong);background:#fff;cursor:pointer}.survey-choice:has(input:checked){border-color:var(--entity-accent);box-shadow:inset 0 0 0 1px var(--entity-accent);background:#fbf7ec}.survey-choice input,.survey-consent input{width:auto!important;margin-top:4px;accent-color:var(--entity-accent)}.survey-choice span{display:grid;gap:4px}.survey-choice strong{font-size:.94rem}.survey-choice small{color:var(--muted);font-size:.74rem;line-height:1.65}.survey-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--hairline-strong);background:#fff;font-weight:400!important;line-height:1.7}.result-label{margin:18px 0 4px;color:var(--muted);font-size:.72rem;letter-spacing:.16em}.diagnosis-result [data-result-title]{margin-top:0;color:var(--entity-deep)}@media(max-width:760px){.survey-choice-grid{grid-template-columns:1fr}.diagnosis-survey{gap:22px}.survey-choice{padding:15px}.diagnosis-result{padding:24px 20px}}
.diagnosis-survey{gap:28px}.survey-intro{margin:0;padding:18px 20px;border-left:3px solid var(--entity-accent);background:#f5f1e8;font-size:.88rem}.survey-fieldset{margin:0;padding:0;border:0}.survey-fieldset legend,.diagnosis-survey>label{font-size:.92rem;font-weight:600}.survey-fieldset legend{margin-bottom:12px}.survey-fieldset legend span,.survey-question-number{display:inline-grid;width:28px;height:28px;margin-right:10px;place-items:center;border-radius:50%;background:var(--entity-deep);color:#fff;font-size:.68rem;letter-spacing:.04em}.survey-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.survey-choice{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--hairline-strong);background:#fff;cursor:pointer}.survey-choice:has(input:checked){border-color:var(--entity-accent);box-shadow:inset 0 0 0 1px var(--entity-accent);background:#fbf7ec}.survey-choice input,.survey-consent input{width:auto!important;margin-top:4px;accent-color:var(--entity-accent)}.survey-choice span{display:grid;gap:4px}.survey-choice strong{font-size:.94rem}.survey-choice small{color:var(--muted);font-size:.74rem;line-height:1.65}.survey-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--hairline-strong);background:#fff;font-weight:400!important;line-height:1.7}.result-label{margin:18px 0 4px;color:var(--muted);font-size:.72rem;letter-spacing:.16em}.diagnosis-result [data-result-title]{margin-top:12px;color:var(--entity-deep)}@media(max-width:760px){.survey-choice-grid{grid-template-columns:1fr}.diagnosis-survey{gap:22px}.survey-choice{padding:15px}.diagnosis-result{padding:24px 20px}}

/* Detective diagnosis, conversion path and progressive enhancement */
.tantei-site { --muted: rgba(21, 32, 51, .66); }
[hidden] { display: none !important; }
.diagnosis-entry { display: grid; gap: 7px; max-width: 520px; margin-top: 28px; padding: 22px; color: #161c29; background: rgba(255,255,255,.94); border-left: 4px solid var(--entity-accent); box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.diagnosis-entry strong { font-family: var(--serif); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.diagnosis-entry span { font-size: .86rem; }
.diagnosis-entry small { color: var(--muted); font-size: .72rem; }
.diagnosis-entry .entity-btn { justify-self: start; margin-top: 10px; }
.survey-progress { position: sticky; top: 98px; z-index: 5; padding: 15px 18px; background: rgba(255,255,255,.96); border: 1px solid var(--hairline); box-shadow: 0 8px 28px rgba(11,15,24,.08); }
.survey-progress > div:first-child { display: flex; justify-content: space-between; gap: 16px; font-size: .78rem; }
.survey-progress-track { height: 7px; margin-top: 10px; overflow: hidden; background: #e8e3d7; border-radius: 999px; }
.survey-progress-track span { display: block; width: 20%; height: 100%; background: var(--entity-accent); border-radius: inherit; transition: width .45s ease; }
.result-mode { display: inline-flex; margin: 14px 0; padding: 7px 12px; color: #644d13; background: #fff8dc; border: 1px solid #e5cf83; font-size: .75rem; }
.diagnosis-output { display: grid; grid-template-columns: 1fr 1fr; margin: 26px 0; border-top: 1px solid var(--hairline); border-left: 1px solid var(--hairline); }
.diagnosis-output > div { min-width: 0; padding: 20px; background: #fff; border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.diagnosis-output dt { color: var(--entity-accent); font-size: .72rem; font-weight: 700; letter-spacing: .06em; }
.diagnosis-output dd { margin: 8px 0 0; font-size: .86rem; line-height: 1.75; }
.diagnosis-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.diagnosis-actions .entity-btn { margin-top: 0; font: inherit; cursor: pointer; }
.tantei-site .entity-btn-secondary { color: var(--entity-deep); background: transparent; border-color: var(--entity-deep); }
.diagnosis-save { margin-top: 32px; padding: 26px; background: #fff; border: 1px solid var(--hairline-strong); }
.diagnosis-save h3, .diagnosis-save p { margin: 0; }
.diagnosis-save .entity-btn { justify-self: start; margin-top: 4px; font: inherit; cursor: pointer; }
.diagnosis-save .honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { min-height: 1.5em; color: var(--entity-deep); font-weight: 600; }
.field-help { font-weight: 400; }

.reveal-ready [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .55s ease var(--reveal-delay, 0ms), transform .55s ease var(--reveal-delay, 0ms); }
.reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .survey-progress-track span { transition: none; }
  .reveal-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 760px) {
  .mobile-quick-contact a { font-size: .75rem; }
  .mobile-quick-contact a:nth-child(2) { background: #17233b; }
  .survey-progress { top: 84px; }
  .diagnosis-output { grid-template-columns: 1fr; }
  .diagnosis-actions { display: grid; }
  .diagnosis-actions .entity-btn { width: 100%; text-align: center; }
  .diagnosis-save { padding: 22px 18px; }
}

/* Fukuoka General Detective Office — intelligence / investigation / secure analysis */
.tantei-site {
  --t-black: #03070b;
  --t-navy: #06111b;
  --t-navy-2: #0a1925;
  --t-graphite: #101c25;
  --t-panel: rgba(12, 29, 41, .82);
  --t-panel-solid: #0b1a25;
  --t-cyan: #c69a43;
  --t-cyan-soft: rgba(198,154,67, .16);
  --t-white: #f5fbfd;
  --t-muted: #9fb2be;
  --t-line: rgba(164, 208, 222, .16);
  --entity-accent: var(--t-cyan);
  --entity-deep: var(--t-navy);
  --entity-hero-bg: var(--t-navy);
  --entity-hero-text: var(--t-white);
  min-width: 0;
  overflow-x: clip;
  color: var(--t-white);
  background: var(--t-navy);
}
.tantei-site h1,
.tantei-site h2,
.tantei-site h3 { font-family: var(--sans); font-weight: 560; letter-spacing: -.035em; }
.tantei-site .wrap { width: min(100%, 1280px); max-width: 1280px; }
.tantei-site .narrow { width: min(100%, 920px); max-width: 920px; }
.tantei-site a,
.tantei-site button { -webkit-tap-highlight-color: transparent; }
.tantei-site a:focus-visible,
.tantei-site button:focus-visible,
.tantei-site input:focus-visible,
.tantei-site select:focus-visible,
.tantei-site textarea:focus-visible,
.tantei-site summary:focus-visible { outline-color: var(--t-cyan); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; padding: 10px 14px; color: var(--t-black); background: var(--t-cyan); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

/* Header */
.tantei-site .entity-header {
  color: var(--t-white);
  background: rgba(3, 9, 14, .9);
  border-bottom: 1px solid var(--t-line);
  backdrop-filter: blur(18px);
}
.tantei-site .entity-header .wrap { height: 78px; }
.tantei-brand { display: inline-flex; align-items: center; min-width: 0; }
.tantei-brand img { display: none; }
.tantei-brand span { display: grid; gap: 3px; }
.tantei-brand strong { color: var(--t-white); font-size: .92rem; font-weight: 650; letter-spacing: .06em; }
.tantei-brand small { color: var(--t-cyan); font-size: .55rem; letter-spacing: .22em; }
.tantei-site .entity-header .nav { gap: 24px; }
.tantei-site .entity-header .nav a { color: rgba(229, 242, 246, .68); font-size: .75rem; letter-spacing: .05em; }
.tantei-site .entity-header .nav a:hover,
.tantei-site .entity-header .nav a[aria-current="page"] { color: var(--t-white); border-bottom-color: var(--t-cyan); }
.tantei-site .entity-header .nav-toggle span { background: var(--t-white); }

/* Buttons and common type */
.intel-kicker { margin: 0; color: var(--t-cyan); font-size: .65rem; font-weight: 700; letter-spacing: .2em; line-height: 1.5; text-transform: uppercase; }
.intel-btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  color: #001217;
  background: var(--t-cyan);
  border: 1px solid var(--t-cyan);
  border-radius: 2px;
  font: 650 .78rem/1.35 var(--sans);
  letter-spacing: .04em;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background .2s ease;
}
.intel-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(198,154,67, .2); }
.intel-btn:disabled { cursor: wait; opacity: .62; transform: none; }
.intel-btn-ghost { color: var(--t-white); background: transparent; border-color: rgba(177, 221, 231, .3); }
.intel-btn-ghost:hover { color: var(--t-cyan); border-color: var(--t-cyan); }
.intel-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.text-link { display: inline-block; padding-bottom: 3px; color: var(--t-cyan); border-bottom: 1px solid rgba(198,154,67, .4); }

/* Hero */
.intel-hero { position: relative; min-height: 720px; overflow: hidden; background: radial-gradient(circle at 76% 30%, rgba(21, 111, 130, .18), transparent 33%), linear-gradient(135deg, var(--t-black), var(--t-navy) 62%, #071823); border-bottom: 1px solid var(--t-line); }
.intel-hero::before { position: absolute; inset: 0; content: ""; pointer-events: none; background-image: linear-gradient(rgba(89, 151, 168, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(89, 151, 168, .045) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(90deg, transparent 0, #000 45%, #000); }
.intel-hero::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(180deg, transparent 30%, rgba(198,154,67, .035) 50%, transparent 70%); transform: translateY(-70%); animation: intel-scan 9s linear infinite; }
@keyframes intel-scan { to { transform: translateY(70%); } }
.intel-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr); gap: 54px; align-items: center; min-height: 720px; padding-top: 78px; padding-bottom: 78px; }
.intel-hero-copy { min-width: 0; }
.intel-hero-copy h1 { margin-top: 24px; max-width: 10ch; color: var(--t-white); font-size: clamp(3.2rem, 5.5vw, 5.25rem); font-weight: 530; line-height: .98; letter-spacing: -.075em; }
.intel-hero-copy h1 em { color: var(--t-cyan); font-style: normal; }
.intel-lead { max-width: 37em; margin: 28px 0 0; color: #b8c9d1; font-size: clamp(.94rem, 1.25vw, 1.08rem); line-height: 2; }
.hero-disclaimer { margin: 22px 0 0; color: rgba(194, 216, 224, .53); font-size: .7rem; }

/* Hero map / report visual, all explanatory sample UI */
.intel-stage { position: relative; min-width: 0; min-height: 540px; overflow: hidden; border: 1px solid rgba(198,154,67, .2); border-radius: 4px; background: linear-gradient(145deg, rgba(17,19,21, .92), rgba(5,5,5, .76)); box-shadow: 0 40px 100px rgba(0, 0, 0, .38), inset 0 0 80px rgba(198,154,67, .025); }
.map-grid { position: absolute; inset: 0; opacity: .8; background-image: linear-gradient(rgba(198,154,67, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(198,154,67, .08) 1px, transparent 1px), linear-gradient(28deg, transparent 47%, rgba(198,154,67, .12) 48%, transparent 49%); background-size: 42px 42px, 42px 42px, 120px 120px; transform: rotate(-7deg) scale(1.18); }
.map-label { position: absolute; top: 22px; left: 24px; color: rgba(207, 234, 239, .52); font-size: .58rem; letter-spacing: .18em; }
.map-line { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--t-cyan), transparent); transform-origin: left center; opacity: .52; animation: line-pulse 4.8s ease-in-out infinite; }
.line-a { top: 29%; left: 15%; width: 49%; transform: rotate(17deg); }
.line-b { top: 54%; left: 19%; width: 44%; transform: rotate(-21deg); animation-delay: .7s; }
.line-c { top: 32%; left: 53%; width: 33%; transform: rotate(51deg); animation-delay: 1.3s; }
.line-d { top: 72%; left: 30%; width: 48%; transform: rotate(7deg); animation-delay: 2s; }
@keyframes line-pulse { 0%, 100% { opacity: .25; } 50% { opacity: .82; } }
.map-node { position: absolute; z-index: 2; width: 10px; height: 10px; border: 2px solid var(--t-cyan); border-radius: 50%; background: var(--t-navy); box-shadow: 0 0 0 6px rgba(198,154,67, .06), 0 0 22px rgba(198,154,67, .28); }
.map-node::after { position: absolute; inset: -9px; content: ""; border: 1px solid rgba(198,154,67, .35); border-radius: 50%; animation: node-ring 3s ease-out infinite; }
@keyframes node-ring { 70%, 100% { opacity: 0; transform: scale(1.7); } }
.node-a { top: 27%; left: 15%; }.node-b { top: 41%; left: 43%; animation-delay: .6s; }.node-c { top: 21%; left: 66%; }.node-d { top: 69%; left: 30%; }.node-e { top: 75%; left: 73%; }
.sample-report { position: absolute; z-index: 3; top: 82px; right: 28px; width: min(49%, 310px); padding: 19px; background: rgba(4, 14, 21, .9); border: 1px solid rgba(69, 187, 207, .28); box-shadow: 0 20px 45px rgba(0, 0, 0, .35); backdrop-filter: blur(12px); }
.sample-report > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: var(--t-cyan); font-size: .55rem; letter-spacing: .12em; }
.sample-report > div:first-child b { color: rgba(220, 239, 244, .4); font-weight: 500; }
.sample-report p { margin: 24px 0 10px; color: rgba(226, 242, 246, .66); font-size: .68rem; }
.sample-report > i { display: block; height: 5px; margin-top: 8px; background: linear-gradient(90deg, rgba(198,154,67, .36), rgba(144, 186, 196, .09)); }
.sample-report > i:nth-of-type(1) { width: 93%; }.sample-report > i:nth-of-type(2) { width: 78%; }.sample-report > i:nth-of-type(3) { width: 62%; }
.sample-report dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 24px 0 0; background: var(--t-line); }
.sample-report dl div { padding: 10px; background: rgba(5, 18, 27, .9); }
.sample-report dt { color: rgba(206, 230, 236, .45); font-size: .55rem; }.sample-report dd { margin: 3px 0 0; color: var(--t-white); font-size: .68rem; }
.mini-timeline { position: absolute; z-index: 3; right: 30px; bottom: 38px; left: 30px; display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 10px; color: rgba(209, 234, 239, .58); font-size: .55rem; letter-spacing: .08em; }
.mini-timeline i { height: 1px; background: linear-gradient(90deg, var(--t-cyan), rgba(198,154,67, .08)); }
.secure-badge { position: absolute; z-index: 4; left: 28px; bottom: 76px; display: grid; grid-template-columns: 38px 1fr; padding: 12px 15px; background: rgba(4, 16, 23, .82); border: 1px solid rgba(198,154,67, .25); }
.secure-badge > span { grid-row: 1 / 3; position: relative; width: 22px; height: 18px; align-self: center; border: 1px solid var(--t-cyan); }
.secure-badge > span::before { position: absolute; left: 4px; bottom: 100%; width: 12px; height: 9px; content: ""; border: 1px solid var(--t-cyan); border-bottom: 0; border-radius: 8px 8px 0 0; }
.secure-badge b { color: var(--t-white); font-size: .62rem; letter-spacing: .16em; }.secure-badge small { color: var(--t-muted); font-size: .55rem; }

/* Trust strip */
.trust-strip { background: #071620; border-bottom: 1px solid var(--t-line); }
.trust-strip .wrap { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 20px; padding-bottom: 20px; }
.trust-strip span { min-width: 0; padding: 9px 18px; color: #adc0c9; border-right: 1px solid var(--t-line); font-size: .7rem; line-height: 1.5; }
.trust-strip span:nth-child(3n) { border-right: 0; }
.trust-strip b { display: inline-block; margin-right: 9px; color: var(--t-cyan); font-size: .56rem; letter-spacing: .1em; }

/* General sections */
.tantei-section { position: relative; padding: 104px 0; background: var(--t-navy); border-bottom: 1px solid var(--t-line); }
.tantei-section:nth-of-type(even) { background: #111315; }
.section-title { display: grid; grid-template-columns: .65fr 1.1fr; gap: 20px 52px; align-items: end; margin-bottom: 48px; }
.section-title .intel-kicker { grid-column: 1; }
.section-title h2 { grid-column: 1; color: var(--t-white); font-size: clamp(2rem, 4.2vw, 4rem); line-height: 1.15; }
.section-title > p:last-child { grid-column: 2; grid-row: 1 / 3; align-self: end; max-width: 42em; margin: 0 0 5px; color: var(--t-muted); }

/* Audience tabs */
.audience-section { background: #f2f6f7; color: #0c1a22; }
.audience-section .intel-kicker { color: #078a9c; }.audience-section .section-title h2 { color: #07151d; }.audience-section .section-title > p:last-child { color: #52656e; }
.audience-tabs { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 1px; background: #cedadd; }
.audience-tabs button { min-height: 60px; padding: 12px; color: #4d626b; background: #e5ecee; border: 0; font: 650 .86rem var(--sans); cursor: pointer; }
.audience-tabs button[aria-selected="true"] { color: #001116; background: var(--t-cyan); }
.audience-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #cad6da; }
.audience-panel a { position: relative; display: grid; min-height: 150px; align-content: end; gap: 8px; padding: 28px; overflow: hidden; background: #fff; transition: color .2s ease, background .2s ease; }
.audience-panel a::before { position: absolute; top: 28px; right: 28px; width: 8px; height: 8px; content: ""; border: 1px solid #079caf; border-radius: 50%; box-shadow: 0 0 0 6px rgba(7, 156, 175, .08); }
.audience-panel a:hover { color: #001115; background: #f8edcf; }
.audience-panel b { font-size: 1rem; }.audience-panel span { color: #657880; font-size: .74rem; }

/* Four visual analysis modules */
.method-section { overflow: hidden; background: linear-gradient(180deg, #111315, #051019); }
.method-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--t-line); }
.method-grid article { display: grid; min-width: 0; padding: 34px; background: rgba(9, 24, 35, .94); }
.method-grid article > p { margin: 28px 0 0; color: var(--t-cyan); font-size: .58rem; letter-spacing: .18em; }
.method-grid h3 { margin-top: 10px; font-size: 1.45rem; }
.method-grid article > span { max-width: 42em; margin-top: 13px; color: var(--t-muted); font-size: .84rem; }
.method-grid article > small { margin-top: 25px; color: rgba(182, 219, 228, .34); font-size: .52rem; letter-spacing: .16em; }
.mapping-demo,.timeline-demo,.organize-demo,.report-demo { position: relative; height: 150px; overflow: hidden; background: #06131c; border: 1px solid var(--t-line); }
.mapping-demo { background-image: linear-gradient(rgba(198,154,67, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(198,154,67, .055) 1px, transparent 1px); background-size: 26px 26px; }
.mapping-demo i { position: absolute; z-index: 2; width: 12px; height: 12px; border: 2px solid var(--t-cyan); border-radius: 50%; background: #111315; box-shadow: 0 0 20px rgba(198,154,67,.26); }.mapping-demo i:nth-child(1){top:28%;left:18%}.mapping-demo i:nth-child(2){top:60%;left:51%}.mapping-demo i:nth-child(3){top:24%;right:17%}
.mapping-demo span { position: absolute; z-index: 1; left: 19%; width: 66%; height: 1px; background: linear-gradient(90deg,var(--t-cyan),transparent); transform-origin: left; }.mapping-demo span:nth-of-type(1){top:34%;transform:rotate(19deg)}.mapping-demo span:nth-of-type(2){top:62%;transform:rotate(-27deg)}
.timeline-demo { display: grid; grid-template-columns: 12px 1fr 12px 1fr 12px; align-items: center; gap: 10px; padding: 38px; }.timeline-demo::before{position:absolute;left:38px;right:38px;top:50%;height:1px;content:"";background:rgba(198,154,67,.32)}.timeline-demo i{z-index:1;width:12px;height:12px;border:2px solid var(--t-cyan);border-radius:50%;background:#111315}.timeline-demo span{position:relative;z-index:1;align-self:start;margin-top:18px;color:var(--t-muted);font-size:.55rem}
.organize-demo { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-content: center; padding: 25px; }.organize-demo i{padding:12px;color:#c9c5bc;background:rgba(198,154,67,.055);border:1px solid rgba(198,154,67,.16);font-size:.55rem;font-style:normal;letter-spacing:.1em}.organize-demo i::before{display:inline-block;width:6px;height:6px;margin-right:8px;content:"";border:1px solid var(--t-cyan);border-radius:50%}
.report-demo { display: grid; align-content: center; padding: 25px; }.report-demo b{color:var(--t-cyan);font-size:.56rem;letter-spacing:.15em}.report-demo i{height:5px;margin-top:9px;background:linear-gradient(90deg,rgba(198,154,67,.3),rgba(198,154,67,.03))}.report-demo i:nth-of-type(1){width:90%}.report-demo i:nth-of-type(2){width:72%}.report-demo i:nth-of-type(3){width:82%}.report-demo span{position:absolute;right:20px;bottom:18px;color:rgba(213,236,241,.38);font-size:.52rem}

/* Process / office / cooperation */
.process-section { background: #f2f6f7; color: #0b1820; }.process-section .intel-kicker { color: #088a9b; }.process-section .section-title h2 { color: #07151d; }
.intel-process { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0; margin: 0; list-style: none; border-top: 1px solid #c5d1d5; border-bottom: 1px solid #c5d1d5; }
.intel-process li { position: relative; display: grid; min-height: 190px; align-content: space-between; gap: 12px; padding: 25px; border-right: 1px solid #c5d1d5; }.intel-process li:last-child{border-right:0}.intel-process li::after{position:absolute;top:34px;right:-4px;width:7px;height:7px;z-index:1;content:"";background:#f2f6f7;border-top:1px solid #71858d;border-right:1px solid #71858d;transform:rotate(45deg)}.intel-process li:last-child::after{display:none}.intel-process span{color:#078d9f;font-size:.62rem;letter-spacing:.12em}.intel-process b{align-self:end;font-size:1rem}.intel-process small{color:#64767e;font-size:.69rem}
.office-section { background: #111315; }.office-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 76px; align-items: start; }.office-grid h2{margin-top:16px;font-size:clamp(2rem,4vw,3.6rem)}.office-grid > div > p:last-child{max-width:35em;margin-top:26px;color:var(--t-muted)}.office-grid dl{margin:0;border-top:1px solid var(--t-line)}.office-grid dl div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--t-line)}.office-grid dt{color:var(--t-cyan);font-size:.65rem}.office-grid dd{margin:0;color:#d0ccc4;font-size:.84rem}
.cooperation-section { background: #0a1924; }.cooperation-section .wrap{display:grid;grid-template-columns:.65fr 1.35fr;gap:20px 55px}.cooperation-section h2{grid-column:1;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.3}.cooperation-section > .wrap > p:not(.intel-kicker){grid-column:2;grid-row:1/3;margin:0;color:var(--t-muted)}.cooperation-section .text-link{grid-column:2;justify-self:start}

/* Subpages */
.tantei-subhero { position: relative; overflow: hidden; background: radial-gradient(circle at 77% 33%, rgba(198,154,67,.11), transparent 27%), linear-gradient(135deg,#03090e,#071823); border-bottom:1px solid var(--t-line) }
.tantei-subhero .wrap { position: relative; min-height: 390px; display: grid; align-content: center; padding-top: 72px; padding-bottom: 72px; }
.tantei-subhero h1 { max-width: 13ch; margin-top: 20px; font-size: clamp(2.6rem, 5.5vw, 5rem); line-height: 1.06; }
.tantei-subhero .wrap > p:last-of-type { max-width: 44em; margin: 24px 0 0; color: var(--t-muted); }
.subhero-grid { position: absolute; inset: 0 0 0 52%; opacity: .6; background-image: linear-gradient(rgba(198,154,67,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(198,154,67,.07) 1px,transparent 1px);background-size:38px 38px; transform: skewX(-8deg); }
.subhero-grid i { position:absolute;width:8px;height:8px;border:1px solid var(--t-cyan);border-radius:50%;box-shadow:0 0 0 6px rgba(198,154,67,.05) }.subhero-grid i:nth-child(1){top:28%;left:19%}.subhero-grid i:nth-child(2){top:54%;left:43%}.subhero-grid i:nth-child(3){top:23%;right:18%}.subhero-grid i:nth-child(4){bottom:17%;right:27%}
.service-division { display:grid;grid-template-columns:.7fr 1.3fr;gap:52px;padding:60px 0;border-top:1px solid var(--t-line) }.service-division:first-child{padding-top:0;border-top:0}.service-division > div:first-child p:last-child{color:var(--t-muted)}
.intel-service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--t-line) }.intel-service-grid article{min-width:0;padding:26px;background:var(--t-panel-solid)}.intel-service-grid article > span{color:var(--t-cyan);font-size:.58rem;letter-spacing:.12em}.intel-service-grid h3{margin-top:42px;font-size:1.08rem;line-height:1.45}.intel-service-grid p{margin:14px 0 0;color:var(--t-muted);font-size:.8rem}
.law-boundary { display:grid;grid-template-columns:180px 1fr;gap:28px;margin-top:42px;padding:25px;border:1px solid rgba(198,154,67,.2);background:rgba(198,154,67,.035)}.law-boundary strong{color:var(--t-cyan)}.law-boundary p{margin:0;color:var(--t-muted);font-size:.82rem}
.fee-formula { display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.1fr;align-items:stretch;margin-bottom:44px;border:1px solid var(--t-line) }.fee-formula > div{display:grid;min-height:160px;align-content:center;gap:7px;padding:24px;background:#121416}.fee-formula > i{display:grid;place-items:center;padding:10px;color:var(--t-cyan);background:#0b0b0b;font-style:normal}.fee-formula span{color:var(--t-cyan);font-size:.58rem;letter-spacing:.1em}.fee-formula b{font-size:1rem}.fee-formula small{color:var(--t-muted);font-size:.68rem}.fee-formula .fee-total{background:rgba(198,154,67,.1)}
.intel-flow-list { border-color:var(--t-line) }.intel-flow-list li{grid-template-columns:110px 1fr;gap:30px;padding:38px 0;border-color:var(--t-line)}.intel-flow-list > li > span{display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(198,154,67,.35);border-radius:50%;font-size:.65rem}.intel-flow-list h2{font-size:1.4rem}.intel-flow-list p:not(.intel-kicker){color:var(--t-muted)}

/* FAQ / privacy / contact */
.intel-faq details { padding:0;border-bottom:1px solid var(--t-line) }.intel-faq summary{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;color:var(--t-white);list-style:none;font-size:.95rem}.intel-faq summary::-webkit-details-marker{display:none}.intel-faq summary span{display:grid;width:32px;height:32px;flex:none;place-items:center;color:var(--t-cyan);border:1px solid rgba(198,154,67,.25);border-radius:50%;transition:transform .25s ease}.intel-faq details[open] summary span{transform:rotate(45deg)}.intel-faq details > div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.intel-faq details[open] > div{grid-template-rows:1fr}.intel-faq details > div > p{min-height:0;overflow:hidden;margin:0;color:var(--t-muted)}.intel-faq details[open] > div > p{padding:0 48px 26px 0}
.intel-legal-copy h2{margin-top:54px;color:var(--t-white);font-size:1.4rem}.intel-legal-copy h2:first-child{margin-top:0}.intel-legal-copy p{color:var(--t-muted);opacity:1}.intel-legal-copy a{color:var(--t-cyan)}
.contact-layout { display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:var(--t-line) }.secure-contact-card,.contact-diagnosis-card{min-width:0;padding:52px;background:var(--t-panel-solid)}.secure-contact-card h2,.contact-diagnosis-card h2{margin-top:18px;font-size:clamp(1.6rem,3vw,2.5rem)}.secure-contact-card > p:not(.intel-kicker),.contact-diagnosis-card p{color:var(--t-muted)}.secure-ring{display:grid;width:64px;height:64px;place-items:center;margin-bottom:30px;border:1px solid rgba(198,154,67,.35);border-radius:50%;box-shadow:0 0 36px rgba(198,154,67,.08)}.secure-ring span{position:relative;width:22px;height:18px;border:1px solid var(--t-cyan)}.secure-ring span::before{position:absolute;bottom:100%;left:4px;width:12px;height:9px;content:"";border:1px solid var(--t-cyan);border-bottom:0;border-radius:8px 8px 0 0}.contact-phone{display:inline-block;margin-top:25px;color:var(--t-cyan);font-size:clamp(1.9rem,4vw,3.4rem);font-weight:520;letter-spacing:-.04em}.secure-contact-card > small,.contact-diagnosis-card > small{display:block;margin-top:18px;color:rgba(183,211,219,.5);font-size:.67rem}.contact-diagnosis-card{display:grid;align-content:center;background:#181a1c}.contact-diagnosis-card > span{justify-self:start;padding:5px 9px;color:#001217;background:var(--t-cyan);font-size:.6rem;font-weight:700}.contact-diagnosis-card .intel-btn{justify-self:start;margin-top:20px}

/* Diagnosis wizard */
.diagnosis-section { background:#eef3f4;color:#102029 }.diagnosis-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:28px;padding-top:72px;padding-bottom:72px}.diagnosis-survey{display:grid;gap:24px;padding:34px;background:#fff;border:1px solid #cfdbde}.diagnosis-survey fieldset{margin:0;padding:0;border:0}.diagnosis-survey legend,.survey-step > label{display:block;color:#0b1921;font-size:1rem;font-weight:650}.survey-step{min-height:235px}.survey-step select,.survey-step textarea{width:100%;margin-top:18px;padding:14px;color:#0a1820;background:#f8fafb;border:1px solid #bdcdd2;font:inherit}.survey-step select{min-height:52px}.survey-step textarea{resize:vertical}.survey-question-number,.diagnosis-survey legend > span{display:inline-grid;width:34px;height:34px;margin-right:12px;place-items:center;color:#001317;background:var(--t-cyan);border-radius:50%;font-size:.68rem}.survey-progress{position:static;padding:0 0 20px;background:transparent;border:0;border-bottom:1px solid #d4dfe2;box-shadow:none}.survey-progress > div:first-child{color:#233841}.survey-progress-track{height:4px;background:#d6e1e4}.survey-progress-track span{background:var(--t-cyan)}.survey-intro{margin:0;padding:15px 17px;color:#42565f;background:#faf5e9;border-left:2px solid #a97622;font-size:.78rem}.survey-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.survey-choice{display:flex!important;align-items:flex-start;gap:12px;padding:20px;color:#102029;background:#f8fafb;border:1px solid #cbd8dc;cursor:pointer}.survey-choice:has(input:checked){background:#f8edcf;border-color:#a97622;box-shadow:inset 0 0 0 1px #a97622}.survey-choice input,.survey-consent input{width:auto!important;accent-color:#a97622}.survey-choice span{display:grid;gap:4px}.survey-choice small{color:#60747c}.survey-consent{display:flex!important;align-items:flex-start;gap:12px;margin-top:20px;padding:16px;color:#334850;background:#f5f8f9;border:1px solid #cbd8dc;font-size:.78rem;font-weight:400!important}.field-help{margin-top:8px;color:#657880}.survey-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:20px;border-top:1px solid #d4dfe2}.survey-controls .intel-btn-ghost{color:#21343d;border-color:#9fb2b9}.survey-controls [data-next],.survey-controls [data-show-result]{margin-left:auto}.survey-error{min-height:1.5em;margin:0;color:#a73333;font-size:.78rem}.answer-summary{align-self:start;position:sticky;top:106px;padding:28px;color:var(--t-white);background:#111315;border:1px solid rgba(198,154,67,.2)}.answer-summary h2{margin-top:12px;font-size:1.25rem}.answer-summary ol{display:grid;gap:0;padding:0;margin:24px 0;list-style:none;border-top:1px solid var(--t-line)}.answer-summary li{display:grid;gap:5px;padding:13px 0;border-bottom:1px solid var(--t-line);font-size:.72rem}.answer-summary li span{color:var(--t-cyan);font-size:.56rem}.answer-summary li b{color:#e0dbd2;font-weight:500}.answer-summary > small{color:rgba(198,222,228,.5);font-size:.63rem}.diagnosis-result{margin:0;padding:90px 0;color:var(--t-white);background:#0b0b0b;border:0}.result-header{display:grid;grid-template-columns:1fr 320px;gap:50px;align-items:center;margin-bottom:36px}.result-mode{display:inline-flex;margin:14px 0;padding:7px 11px;color:#d8bd83;background:rgba(198,154,67,.055);border:1px solid rgba(198,154,67,.18)}.diagnosis-result [data-result-title]{margin-top:14px;color:var(--t-white);font-size:clamp(1.8rem,4vw,3.5rem)}.result-id{margin:12px 0 0;color:var(--t-muted);font-size:.7rem}.result-id strong{color:var(--t-cyan);font-weight:600}.result-visual{position:relative;height:170px;background-image:linear-gradient(rgba(198,154,67,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(198,154,67,.065) 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--t-line)}.result-visual i{position:absolute;width:12px;height:12px;border:2px solid var(--t-cyan);border-radius:50%;background:#111315}.result-visual i:nth-child(1){top:28%;left:17%}.result-visual i:nth-child(2){top:56%;left:48%}.result-visual i:nth-child(3){top:25%;right:18%}.result-visual::before,.result-visual::after{position:absolute;left:19%;width:65%;height:1px;content:"";background:linear-gradient(90deg,var(--t-cyan),transparent);transform-origin:left}.result-visual::before{top:34%;transform:rotate(17deg)}.result-visual::after{top:61%;transform:rotate(-26deg)}.result-visual span{position:absolute;right:14px;bottom:12px;color:rgba(193,222,228,.44);font-size:.5rem;letter-spacing:.12em}.diagnosis-output{display:grid;grid-template-columns:1fr 1fr;margin:0;background:var(--t-line);border:0;gap:1px}.diagnosis-output > div{padding:24px;background:#111315;border:0}.diagnosis-output dt{color:var(--t-cyan)}.diagnosis-output dd{color:#d0ccc4}.result-disclaimer{margin:24px 0 0;color:var(--t-muted);font-size:.75rem}.diagnosis-actions{margin-top:28px}.diagnosis-save{margin-top:42px;padding:34px;color:#14232b;background:#f7fafb;border:1px solid #cbd9dc}.diagnosis-save h3{margin-top:10px;color:#071820;font-size:1.35rem}.diagnosis-save p{color:#52656e}.diagnosis-save input,.diagnosis-save select{min-height:48px;color:#08171f;background:#fff;border:1px solid #b8c9cf}.diagnosis-save .intel-kicker{color:#8d641f}.diagnosis-save .survey-consent{color:#334850}.diagnosis-save .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{color:#0b6471}

/* Contact band / footer / back-to-top */
.tantei-contact-band { background:var(--t-cyan);color:#001217 }.tantei-contact-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:45px;padding-top:64px;padding-bottom:64px}.tantei-contact-band .intel-kicker{color:#6f5120}.tantei-contact-band h2{margin-top:10px;font-size:clamp(1.6rem,3vw,2.6rem)}.tantei-contact-band p:last-child{margin:10px 0 0;color:#51452f;font-size:.8rem}.contact-band-actions{display:flex;flex-wrap:wrap;gap:10px;flex:none}.tantei-contact-band .intel-btn{color:var(--t-white);background:#05131b;border-color:#05131b}.tantei-contact-band .intel-btn-ghost{color:#0b252b;background:transparent;border-color:rgba(0,29,35,.35)}
.tantei-footer{background:#02080c}.tantei-footer .wrap{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding-top:40px;padding-bottom:40px;letter-spacing:0}.tantei-footer-office{display:grid!important;gap:6px!important;color:#b7b4ad}.tantei-footer-office strong{color:var(--t-white);font-size:.9rem}.tantei-footer-office a{color:var(--t-cyan)}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:start;gap:12px 22px}.footer-links a{color:#c8c2b7;font-size:.68rem}.back-to-top{position:fixed;right:22px;bottom:22px;z-index:90;display:grid;width:46px;height:46px;place-items:center;color:#001217;background:var(--t-cyan);border:0;border-radius:50%;box-shadow:0 12px 32px rgba(0,0,0,.32);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.not-found{display:grid;min-height:70vh;align-items:center;background:radial-gradient(circle at 80% 30%,rgba(198,154,67,.1),transparent 30%),#06111b}.not-found h1{margin-top:20px;font-size:clamp(2.5rem,6vw,5rem)}.not-found p:not(.intel-kicker){color:var(--t-muted)}
@media (max-width:900px){.not-found{padding-top:110px}}

/* Reveal motion */
.tantei-site.reveal-ready [data-reveal] { opacity:0;transform:translateY(24px);transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s ease var(--reveal-delay,0ms) }.tantei-site.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}

@media (max-width: 1100px) {
  .intel-hero-grid { grid-template-columns: .8fr 1.2fr; gap: 30px; }
  .sample-report { width: 54%; }
  .trust-strip .wrap { grid-template-columns: repeat(2, 1fr); }
  .trust-strip span:nth-child(3n) { border-right: 1px solid var(--t-line); }.trust-strip span:nth-child(2n){border-right:0}
  .section-title { grid-template-columns: .8fr 1.2fr; }
  .intel-process { grid-template-columns: repeat(3, 1fr); }.intel-process li:nth-child(3){border-right:0}.intel-process li:nth-child(3)::after{display:none}
  .service-division { grid-template-columns: 1fr; gap: 26px; }
  .fee-formula { grid-template-columns: 1fr auto 1fr }.fee-formula > div:nth-of-type(3),.fee-formula > i:nth-of-type(3),.fee-formula > div:nth-of-type(4){grid-column:auto}.fee-formula .fee-total{grid-column:1 / -1;min-height:120px}.fee-formula > i:nth-of-type(3){display:none}
}

@media (max-width: 860px) {
  .tantei-site .entity-header .wrap{height:72px}.tantei-site .entity-header .nav{background:#0b0b0b;border-top:1px solid var(--t-line)}.tantei-site .entity-header .nav a{color:#c4d5da;border-bottom-color:var(--t-line)}
  .intel-hero-grid { grid-template-columns: 1fr; padding-top: 64px; padding-bottom: 56px; }
  .intel-hero-copy h1 { max-width: 10ch; }
  .intel-stage { min-height: 460px; }
  .section-title { grid-template-columns: 1fr; }.section-title .intel-kicker,.section-title h2,.section-title > p:last-child{grid-column:1;grid-row:auto}.section-title > p:last-child{margin-top:0}
  .audience-panel{grid-template-columns:repeat(2,1fr)}
  .office-grid,.cooperation-section .wrap,.contact-layout,.diagnosis-layout,.result-header{grid-template-columns:1fr}
  .cooperation-section h2,.cooperation-section > .wrap > p:not(.intel-kicker),.cooperation-section .text-link{grid-column:1;grid-row:auto}
  .diagnosis-layout{gap:18px}.answer-summary{position:static;order:-1}.answer-summary ol{grid-template-columns:1fr 1fr;gap:0 20px}.result-visual{display:none}
  .tantei-contact-band .wrap{align-items:flex-start;flex-direction:column}.contact-band-actions{width:100%}
}

@media (max-width: 760px) {
  .tantei-site .wrap { padding-left: 20px; padding-right: 20px; }
  .tantei-brand strong{font-size:.76rem}.tantei-brand small{font-size:.48rem}
  .intel-hero { min-height: 0; }.intel-hero-grid{min-height:0;padding-top:58px;padding-bottom:42px}.intel-hero-copy h1{font-size:clamp(3rem,16vw,4.8rem)}.intel-lead{line-height:1.8}.intel-actions{display:grid}.intel-actions .intel-btn{width:100%}
  .intel-stage{min-height:390px}.sample-report{top:64px;right:18px;width:63%;padding:15px}.secure-badge{left:18px;bottom:66px}.mini-timeline{right:18px;left:18px;bottom:28px}
  .trust-strip .wrap{grid-template-columns:1fr;padding-left:0;padding-right:0}.trust-strip span,.trust-strip span:nth-child(2n),.trust-strip span:nth-child(3n){padding:12px 20px;border-right:0;border-bottom:1px solid var(--t-line)}.trust-strip span:last-child{border-bottom:0}
  .tantei-section{padding:72px 0}.section-title{margin-bottom:34px}.section-title h2{font-size:clamp(2rem,10vw,3rem)}
  .audience-tabs button{min-height:54px}.audience-panel{grid-template-columns:1fr}.audience-panel a{min-height:120px;padding:22px}
  .method-grid{grid-template-columns:1fr}.method-grid article{padding:24px}.mapping-demo,.timeline-demo,.organize-demo,.report-demo{height:132px}
  .intel-process{grid-template-columns:1fr}.intel-process li,.intel-process li:nth-child(3){min-height:120px;border-right:0;border-bottom:1px solid #c5d1d5}.intel-process li::after,.intel-process li:nth-child(3)::after{display:none}
  .office-grid{gap:42px}.office-grid dl div{grid-template-columns:90px 1fr}
  .tantei-subhero .wrap{min-height:320px;padding-top:55px;padding-bottom:55px}.tantei-subhero h1{font-size:clamp(2.5rem,13vw,4rem)}.subhero-grid{left:40%;opacity:.35}
  .intel-service-grid{grid-template-columns:1fr}.intel-service-grid h3{margin-top:25px}.law-boundary{grid-template-columns:1fr;gap:10px}
  .fee-formula{grid-template-columns:1fr}.fee-formula > i{min-height:38px}.fee-formula > div,.fee-formula .fee-total{min-height:130px}.fee-formula > i:nth-of-type(3){display:grid}.fee-formula .fee-total{grid-column:auto}
  .intel-flow-list li{grid-template-columns:60px 1fr;gap:14px}.intel-flow-list > li > span{width:46px;height:46px}
  .contact-layout{gap:1px}.secure-contact-card,.contact-diagnosis-card{padding:30px 24px}.contact-phone{font-size:clamp(1.85rem,10vw,2.6rem)}
  .diagnosis-layout{padding-top:46px;padding-bottom:46px}.diagnosis-survey{padding:22px 18px}.survey-step{min-height:270px}.survey-choice-grid{grid-template-columns:1fr}.survey-controls{display:grid;grid-template-columns:1fr 1fr}.survey-controls [data-next],.survey-controls [data-show-result]{margin-left:0}.survey-controls [data-show-result]{grid-column:1 / -1}.answer-summary ol{grid-template-columns:1fr}.diagnosis-result{padding:68px 0}.diagnosis-output{grid-template-columns:1fr}.diagnosis-actions{display:grid}.diagnosis-actions .intel-btn{width:100%}.diagnosis-save{padding:24px 18px}.form-grid{grid-template-columns:1fr}
  .tantei-contact-band .wrap{padding-top:50px;padding-bottom:50px}.contact-band-actions{display:grid}.contact-band-actions .intel-btn{width:100%}
  .tantei-footer .wrap{grid-template-columns:1fr}.footer-links{justify-content:flex-start}
  .back-to-top{right:14px;bottom:78px;width:42px;height:42px}
  .tantei-site .mobile-quick-contact{background:#0b0b0b;border-top-color:rgba(198,154,67,.2)}.tantei-site .mobile-quick-contact a{color:#c8d9de;background:#111315;border-right-color:rgba(198,154,67,.16)}.tantei-site .mobile-quick-contact a:nth-child(2){background:#17130d}.tantei-site .mobile-quick-contact a:last-child{color:#001217;background:var(--t-cyan)}
}

@media (max-width: 390px) {
  .tantei-site .wrap{padding-left:16px;padding-right:16px}.tantei-brand span small{letter-spacing:.14em}.intel-hero-copy h1{font-size:clamp(2.7rem,15vw,3.65rem)}.intel-stage{min-height:350px}.sample-report{width:68%}.sample-report dl{display:none}.secure-badge{padding:10px}.mapping-demo,.timeline-demo,.organize-demo,.report-demo{height:116px}.timeline-demo{padding:24px}.audience-tabs button{font-size:.76rem}.survey-controls{grid-template-columns:1fr}.survey-controls [data-show-result]{grid-column:auto}.office-grid dl div{grid-template-columns:1fr;gap:5px}
}

@media (prefers-reduced-motion: reduce) {
  .intel-hero::after,.map-line,.map-node::after{animation:none}.intel-btn,.back-to-top,.intel-faq summary span,.tantei-site.reveal-ready [data-reveal]{transition:none}.tantei-site.reveal-ready [data-reveal]{opacity:1;transform:none}
}

@media print {
  .tantei-site .entity-header,.tantei-site .mobile-quick-contact,.back-to-top,.tantei-subhero,.diagnosis-layout,.diagnosis-actions,.diagnosis-save,.tantei-footer{display:none!important}.diagnosis-result{padding:0;color:#000;background:#fff}.diagnosis-result .wrap{max-width:none;padding:0}.result-header{display:block}.result-mode{color:#333;background:#fff;border-color:#aaa}.diagnosis-result [data-result-title],.result-id strong{color:#000}.diagnosis-output{grid-template-columns:1fr 1fr;background:#bbb}.diagnosis-output>div{color:#000;background:#fff}.diagnosis-output dt{color:#000}.diagnosis-output dd,.result-disclaimer{color:#222}.result-disclaimer{font-size:10pt}@page{margin:16mm}
}

/* ==========================================================
   FUKUOKA INTELLIGENCE v3 — editorial rebuild
   ========================================================== */
:root {
  --t-bg: #06111b;
  --t-panel: #0b1824;
  --t-graphite: #111d26;
  --t-paper: #f3f5f4;
  --t-ink: #101820;
  --t-cyan: #c69a43;
  --t-line: rgba(198,154,67, 0.22);
  --header-height: 84px;
}
.tantei-site { background: var(--t-paper); color: var(--t-ink); }
.tantei-site h1,.tantei-site h2,.tantei-site h3 { font-family: var(--sans); font-weight: 560; line-break: strict; overflow-wrap: normal; word-break: keep-all; }
.tantei-site .entity-header { background: rgba(6,17,27,.96); backdrop-filter: blur(16px); }
.tantei-site .entity-header .wrap { max-width: 1500px; }
.tantei-site { overflow-x:clip; }
.tantei-site .nav { align-items: center; gap: clamp(12px,1.35vw,24px); }
.tantei-site .nav a { font-size: .72rem; letter-spacing: .12em; white-space: nowrap; }
.tantei-site .nav .nav-diagnosis { padding: 10px 16px; color: var(--t-bg); background: var(--t-cyan); border: 0; }
.tantei-site .wrap { max-width: 1280px; }
.tantei-section { padding: clamp(110px,10vw,180px) 0; }
.tantei-section .section-title { margin-bottom: clamp(44px,6vw,82px); }
.tantei-section .section-title h2 { font-size: clamp(2rem,4.6vw,4.4rem); line-height: 1.13; letter-spacing: -.045em; }
.intel-kicker { color: var(--t-cyan); font-size: .68rem; letter-spacing: .2em; font-weight: 700; }
.intel-photo-hero { position: relative; min-height: min(900px,calc(100svh - var(--header-height))); display: grid; align-items: end; overflow: hidden; color: #fff; background: var(--t-bg); }
.intel-photo-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: intel-image-in 1.7s cubic-bezier(.2,.7,.2,1) both; }
.intel-photo-hero .hero-shade { position:absolute; inset:0; background: linear-gradient(90deg,rgba(3,10,17,.9) 0%,rgba(3,10,17,.68) 42%,rgba(3,10,17,.14) 78%),linear-gradient(0deg,rgba(3,10,17,.7),transparent 55%); }
.hero-photo-copy { position:relative; z-index:2; width:100%; padding-top:130px; padding-bottom:clamp(84px,11vw,160px); }
.hero-photo-copy h1 { margin-top:24px; display:flex; flex-direction:column; width:max-content; max-width:100%; font-size:clamp(3.25rem,8.4vw,8.5rem); line-height:.94; letter-spacing:-.06em; animation: intel-copy-in .7s .45s both; }
.hero-photo-copy h1 span { white-space:nowrap; }
.hero-photo-copy > p:not(.intel-kicker) { margin:32px 0 0; max-width:34ch; color:rgba(255,255,255,.78); font-size:clamp(.96rem,1.4vw,1.18rem); animation:intel-copy-in .7s .65s both; }
.hero-photo-copy .intel-actions { animation:intel-copy-in .7s .85s both; }
.intel-photo-hero .visual-label { position:absolute; right:32px; bottom:24px; z-index:2; margin:0; font-size:.62rem; letter-spacing:.16em; color:rgba(255,255,255,.55); }
@keyframes intel-image-in { from { opacity:.15; transform:scale(1.03); } to { opacity:1; transform:scale(1); } }
@keyframes intel-copy-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.trust-strip { background:#111315; color:#d9e8ec; }
.trust-strip .wrap { grid-template-columns:repeat(4,1fr); padding-top:0; padding-bottom:0; }
.trust-strip span { min-height:86px; padding:20px; display:flex; justify-content:center; flex-direction:column; border-right:1px solid rgba(255,255,255,.1); font-size:.8rem; }
.trust-strip b { margin:0 0 3px; color:var(--t-cyan); font-size:.61rem; letter-spacing:.16em; }
.audience-visual-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,3vw,46px); }
.audience-visual-grid a { position:relative; min-width:0; }
.audience-visual-grid .audience-photo { display:block; overflow:hidden; border:1px solid rgba(208,164,66,.3); background:#111; }
.audience-visual-grid img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; filter:none; image-rendering:auto; transition:transform .5s ease; }
.audience-visual-grid a:hover img { transform:scale(1.012); }
.audience-visual-grid span,.investigation-card > span { display:block; margin-top:22px; color:#158da0; font-size:.66rem; letter-spacing:.18em; }
.audience-visual-grid h3 { margin-top:8px; color:#fff; font-size:clamp(1.65rem,3vw,3.2rem); }
.audience-visual-grid p { max-width:42ch; margin-top:10px; color:rgba(255,255,255,.72); line-height:1.9; }
.audience-visual-section { color:#fff; background:#080909; }
.audience-visual-section .section-title h2 { color:#fff; }
.audience-visual-section .section-title > p:last-child { color:rgba(255,255,255,.72); }
.diagnosis-feature { padding:clamp(86px,9vw,150px) 0; color:#fff; background:linear-gradient(120deg,#0b1c29,#092c37); }
.diagnosis-feature .wrap { display:grid; grid-template-columns:1.4fr auto; align-items:end; gap:60px; }
.diagnosis-feature h2 { margin-top:18px; font-size:clamp(2.25rem,5vw,5rem); line-height:1.1; letter-spacing:-.045em; }
.diagnosis-feature p:not(.intel-kicker) { max-width:48ch; color:rgba(255,255,255,.68); }
.diagnosis-feature .intel-btn span { display:block; font-size:.62rem; opacity:.65; }
.home-service-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,120px); }
.home-service-columns > div > h3 { padding-bottom:18px; border-bottom:2px solid #101820; font-size:.7rem; letter-spacing:.2em; }
.investigation-card { display:block; padding:30px 0; border-bottom:1px solid rgba(16,24,32,.15); }
.investigation-card h3 { margin-top:8px; font-size:clamp(1.18rem,2vw,1.65rem); }
.investigation-card p { margin:9px 0 0; color:#5d6870; font-size:.88rem; }
.investigation-card b { display:inline-block; margin-top:13px; color:#147f91; font-size:.75rem; }
.report-feature { color:#fff; background:#111315; }
.report-feature-grid,.report-hero-grid,.contact-photo-grid,.company-profile-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); align-items:center; gap:clamp(45px,7vw,110px); }
.report-feature figure,.report-hero figure,.company-profile-grid figure { margin:0; }
.report-feature img,.report-hero img,.company-profile-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
figcaption { margin-top:9px; color:#75838c; font-size:.61rem; letter-spacing:.13em; }
.report-feature h2,.dark-section h2 { margin-top:16px; font-size:clamp(2.1rem,4vw,4rem); line-height:1.12; }
.report-feature p { color:rgba(255,255,255,.68); }
.fact-status-row { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.fact-status-row span { padding:7px 11px; border:1px solid rgba(198,154,67,.25); font-size:.6rem; letter-spacing:.12em; }
.dark-section { color:#eef7f8; background:#0a1721; }
.dark-section .section-title p,.dark-section .service-lead { color:rgba(255,255,255,.68); }
.security-summary { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,120px); align-items:start; }
.security-ledger { border-top:1px solid var(--t-line); }
.security-ledger span { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid var(--t-line); }
.security-ledger em { color:var(--t-cyan); font-size:.72rem; font-style:normal; }
.eight-step-process { margin:0 0 28px; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; border-top:1px solid rgba(16,24,32,.25); }
.eight-step-process li { min-height:118px; padding:24px; border-right:1px solid rgba(16,24,32,.14); border-bottom:1px solid rgba(16,24,32,.14); font-size:.95rem; }
.eight-step-process b { display:block; margin-bottom:22px; color:#158da0; font-size:.68rem; }
.case-scale-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(16,24,32,.14); }
.case-scale-grid article { padding:clamp(28px,4vw,52px); background:var(--t-paper); }
.dark-section .case-scale-grid article { background:#0d1c27; }
.case-scale-grid span { color:#1697a9; font-size:.68rem; letter-spacing:.16em; }
.case-scale-grid h2,.case-scale-grid h3 { margin-top:16px; font-size:1.3rem; }
.trust-grid,.two-column-copy { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,120px); }
.confidential-band .wrap { align-items:center; }
.footer-intelligence { display:grid!important; grid-template-columns:1fr 1.35fr; gap:60px; }
.footer-intelligence .footer-links { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 26px; }

.editorial-hero,.service-hero,.report-hero,.contact-photo-hero,.diagnosis-photo-hero { scroll-margin-top:calc(var(--header-height) + 18px); }
.editorial-hero { padding:clamp(110px,12vw,210px) 0; color:#fff; background:#081722; }
.corporate-editorial { background:linear-gradient(125deg,#07121a,#0c2835); }
.personal-editorial { background:linear-gradient(125deg,#081722,#142630); }
.editorial-hero h1,.report-hero h1,.contact-photo-hero h1,.diagnosis-photo-hero h1 { margin-top:18px; max-width:13ch; font-size:clamp(2.8rem,7vw,7rem); line-height:1.03; letter-spacing:-.06em; }
.editorial-hero p:not(.intel-kicker) { max-width:42ch; color:rgba(255,255,255,.7); }
.investigation-grid { display:grid; grid-template-columns:repeat(2,1fr); column-gap:clamp(40px,7vw,100px); }
.dark-section .investigation-card { border-color:rgba(255,255,255,.14); }
.dark-section .investigation-card p { color:rgba(255,255,255,.62); }
.service-hero { padding:clamp(90px,10vw,160px) 0; color:#fff; background:#081722; }
.service-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,7vw,110px); align-items:center; }
.service-hero h1 { margin-top:16px; font-size:clamp(2.6rem,5vw,5.2rem); line-height:1.04; letter-spacing:-.05em; }
.service-hero p:not(.intel-kicker) { max-width:45ch; color:rgba(255,255,255,.68); }
.service-hero figure { margin:0; }
.service-hero img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.service-detail-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,8vw,120px); }
.service-detail-layout h2 { margin-top:14px; font-size:clamp(2rem,4vw,4rem); line-height:1.1; }
.situation-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(16,24,32,.2); }
.situation-list li { padding:20px 0; border-bottom:1px solid rgba(16,24,32,.14); }
.service-lead { margin:0; font-size:clamp(1.25rem,2.1vw,1.8rem); }
.detail-triptych { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,5vw,70px); }
.detail-triptych article { min-width:0; }
.detail-triptych h2 { margin-top:14px; font-size:1.35rem; }
.detail-triptych ul,.detail-triptych ol,.two-column-copy ul { padding-left:1.2em; }
.detail-triptych li,.two-column-copy li { margin:.7em 0; }
.fact-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(16,24,32,.2); }
.fact-list li { display:grid; grid-template-columns:44px 1fr; padding:15px 0; border-bottom:1px solid rgba(16,24,32,.14); }
.fact-list span { color:#158da0; }
.mini-process { display:grid; grid-template-columns:repeat(6,1fr); margin:35px 0 0; padding:0; list-style:none; }
.mini-process li { padding:22px 12px; text-align:center; border:1px solid rgba(16,24,32,.14); border-right:0; }
.mini-process li:last-child { border-right:1px solid rgba(16,24,32,.14); }

.report-hero { padding:clamp(100px,11vw,180px) 0; color:#fff; background:#111315; }
.report-hero p:not(.intel-kicker) { color:rgba(255,255,255,.66); }
.report-book { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; padding:1px; background:rgba(16,24,32,.16); }
.report-book article { min-height:330px; padding:clamp(30px,5vw,64px); background:#fff; }
.report-book article > span { color:#168fa1; font-size:.65rem; letter-spacing:.16em; }
.report-book h2 { margin-top:34px; font-size:clamp(1.7rem,3vw,3rem); }
.report-book dl div { display:flex; justify-content:space-between; gap:24px; padding:12px 0; border-bottom:1px solid #dde3e5; }
.report-book dl dt { flex-shrink:0; word-break:keep-all; }
.timeline-page { grid-column:span 2; }
.timeline-page ol { margin:30px 0 0; padding:0; list-style:none; }
.timeline-page li { display:grid; grid-template-columns:90px 1fr auto; align-items:center; gap:20px; padding:16px 0; border-bottom:1px solid #dce2e4; }
.timeline-page b { color:#168fa1; font-size:.61rem; letter-spacing:.12em; }
.photo-log { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:24px; }
.photo-log i { aspect-ratio:4/3; display:grid; place-items:center; color:#78858c; background:#e8edef; font-size:.65rem; font-style:normal; }
.verified-page { color:#e8fcff; background:#0b2630!important; }
.unconfirmed-page { background:#e8ecee!important; }

.security-policy-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(16,24,32,.15); }
.security-policy-grid article { padding:clamp(30px,5vw,56px); background:#fff; }
.security-policy-grid article > span { color:#168fa1; }
.security-policy-grid h2 { margin-top:20px; font-size:1.45rem; }
.process-role-grid { border-top:1px solid rgba(16,24,32,.2); }
.role-label { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:10px 0 10px 35%; color:#168fa1; font-size:.68rem; letter-spacing:.14em; }
.process-role-grid article { display:grid; grid-template-columns:70px 1fr 2fr; gap:22px; align-items:start; padding:28px 0; border-bottom:1px solid rgba(16,24,32,.14); }
.process-role-grid article > b { color:#168fa1; }
.process-role-grid article p { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.fee-factor-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(16,24,32,.14); }
.fee-factor-grid span { min-height:120px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; background:#fff; }
.fee-factor-grid b { color:#168fa1; font-size:.68rem; }
.company-profile-grid dl { margin:0; }
.company-profile-grid dl div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:13px 0; border-bottom:1px solid rgba(16,24,32,.14); }
.company-profile-grid dt { color:#168fa1; font-size:.72rem; }
.legal-document section { padding:34px 0; border-bottom:1px solid rgba(16,24,32,.14); }
.legal-document h2 { font-size:1.35rem; }
.journal-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(16,24,32,.13); }
.journal-grid article { padding:40px; background:#fff; }
.journal-grid span { color:#168fa1; font-size:.65rem; letter-spacing:.14em; }
.journal-grid h2 { margin-top:22px; font-size:1.35rem; }

.contact-photo-hero { padding:clamp(80px,9vw,145px) 0; color:#fff; background:#111315; }
.contact-photo-grid { grid-template-columns:1fr 1fr; }
.contact-photo-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.contact-photo-hero p:not(.intel-kicker) { color:rgba(255,255,255,.68); }
.secure-form-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:clamp(50px,8vw,110px); align-items:start; }
.general-consultation-form { padding:clamp(24px,4vw,52px); background:#fff; border:1px solid rgba(16,24,32,.12); }
.general-consultation-form label { display:block; margin-bottom:24px; font-size:.82rem; }
.general-consultation-form input,.general-consultation-form select,.general-consultation-form textarea { width:100%; margin-top:8px; padding:13px 12px; color:#101820; background:#f6f8f7; border:1px solid #ccd4d6; border-radius:0; font:inherit; }
.general-consultation-form textarea { resize:vertical; }
.character-count { display:block; text-align:right; color:#65727a; font-size:.7rem; }
.field-warning { display:block; color:#a95d22; font-size:.75rem; }
.document-guidance { margin:32px 0; padding:28px; color:#eaf9fb; background:#0b202a; }
.document-guidance h2 { margin-top:10px; font-size:1.2rem; }
.document-guidance p:last-child { color:rgba(255,255,255,.68); }
.secure-contact-aside { position:sticky; top:calc(var(--header-height) + 30px); padding:36px; color:#eaf9fb; background:#0a1923; }
.secure-contact-aside h2 { margin-top:12px; font-size:1.4rem; }
.secure-contact-aside hr { margin:34px 0; border:0; border-top:1px solid rgba(255,255,255,.15); }
.diagnosis-handoff-card { margin-bottom:24px; padding:24px; background:#eaf7f8; border-left:3px solid #168fa1; }
.diagnosis-handoff-card > span { color:#168fa1; font-size:.65rem; letter-spacing:.14em; }

.diagnosis-photo-hero { padding:clamp(90px,10vw,150px) 0; color:#fff; background:linear-gradient(120deg,#06111b,#0b2a35); }
.diagnosis-photo-hero p:not(.intel-kicker) { color:rgba(255,255,255,.68); }
.diagnosis-result-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:34px; background:rgba(16,24,32,.14); }
.diagnosis-result-cards article { padding:28px; background:#fff; }
.diagnosis-result-cards article > span { display:block; margin-bottom:12px; color:#168fa1; font-size:.68rem; letter-spacing:.1em; }
.diagnosis-result-cards p { margin:0; color:#102029; }
.diagnosis-result-cards b,.diagnosis-result-cards i { color:#102029; font-style:normal; }
.diagnosis-result-cards .result-warning { grid-column:span 2; background:#f1ece6; }
.diagnosis-result { scroll-margin-top:calc(var(--header-height) + 12px); }

@media (max-width:1100px) {
  .tantei-site .nav { gap:10px; }
  .tantei-site .nav a { font-size:.65rem; }
  .tantei-brand small { display:none; }
}
@media (max-width:900px) {
  :root { --header-height:78px; }
  .tantei-site .nav a { font-size:.78rem; }
  .intel-photo-hero { min-height:calc(100svh - var(--header-height)); }
  .trust-strip .wrap { grid-template-columns:repeat(2,1fr); }
  .diagnosis-feature .wrap,.security-summary,.report-feature-grid,.report-hero-grid,.service-hero-grid,.contact-photo-grid,.company-profile-grid,.secure-form-layout { grid-template-columns:1fr; }
  .report-feature figure { order:2; }
  .eight-step-process { grid-template-columns:repeat(2,1fr); }
  .detail-triptych { grid-template-columns:1fr; }
  .mini-process { grid-template-columns:repeat(3,1fr); }
  .fee-factor-grid { grid-template-columns:repeat(2,1fr); }
  .secure-contact-aside { position:static; }
}
@media (max-width:760px) {
  .tantei-site { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
  .tantei-section { padding:clamp(74px,21vw,106px) 0; }
  .tantei-site .wrap { padding-left:20px; padding-right:20px; }
  .hero-photo-copy { padding-top:82px; padding-bottom:100px; }
  .hero-photo-copy h1 { font-size:clamp(3.1rem,16.2vw,5rem); }
  .intel-photo-hero > img { object-position:65% center; }
  .intel-photo-hero .hero-shade { background:linear-gradient(0deg,rgba(3,10,17,.92) 0%,rgba(3,10,17,.5) 60%,rgba(3,10,17,.25)); }
  .intel-photo-hero .visual-label { right:20px; bottom:14px; }
  .audience-visual-grid,.home-service-columns,.investigation-grid,.trust-grid,.two-column-copy,.service-detail-layout,.security-policy-grid,.report-book,.journal-grid { grid-template-columns:1fr; }
  .diagnosis-feature .wrap { gap:36px; }
  .diagnosis-feature .intel-btn { width:100%; text-align:center; }
  .case-scale-grid { grid-template-columns:1fr; }
  .timeline-page { grid-column:auto; }
  .report-book article { min-height:0; }
  .timeline-page li { grid-template-columns:70px 1fr; }
  .timeline-page li b { grid-column:2; }
  .photo-log { grid-template-columns:1fr 1fr; }
  .mini-process { grid-template-columns:repeat(2,1fr); }
  .role-label { display:none; }
  .process-role-grid article { grid-template-columns:44px 1fr; }
  .process-role-grid article p { grid-column:2; grid-template-columns:1fr; }
  .company-profile-grid dl div { grid-template-columns:1fr; gap:3px; }
  .footer-intelligence { grid-template-columns:1fr; gap:36px; }
  .diagnosis-result-cards { grid-template-columns:1fr; }
  .diagnosis-result-cards .result-warning { grid-column:auto; }
  .mobile-quick-contact { padding-bottom:env(safe-area-inset-bottom); transition:opacity .25s ease,transform .25s ease; }
  .mobile-quick-contact.is-suppressed { opacity:0; transform:translateY(110%); pointer-events:none; }
  .back-to-top { bottom:calc(82px + env(safe-area-inset-bottom)); }
  .tantei-site.keyboard-open .mobile-quick-contact,.tantei-site.keyboard-open .back-to-top { display:none!important; }
  .editorial-hero h1,.report-hero h1,.contact-photo-hero h1,.diagnosis-photo-hero h1 { font-size:clamp(2.7rem,13.5vw,4.3rem); }
  .service-hero h1 { font-size:clamp(2.45rem,12vw,4rem); }
  .confidential-band .wrap { align-items:stretch; }
  .confidential-band .wrap > * { min-width:0; }
  .confidential-band .intel-kicker { overflow-wrap:anywhere; }
}
@media (max-width:430px) {
  .hero-photo-copy h1 { font-size:clamp(3rem,15.5vw,4.25rem); }
  .trust-strip .wrap { grid-template-columns:1fr; }
  .trust-strip span { min-height:70px; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .eight-step-process,.fee-factor-grid { grid-template-columns:1fr; }
  .photo-log { grid-template-columns:1fr; }
  .general-consultation-form { padding:22px 16px; }
}
@media (prefers-reduced-motion:reduce) {
  .intel-photo-hero > img,.hero-photo-copy h1,.hero-photo-copy > p,.hero-photo-copy .intel-actions { animation:none!important; }
  .mobile-quick-contact { transition:none!important; }
}

/* Anonymized case workspace: visual explanation only, never a real investigation record. */
.caseboard-section{background:#081720;color:var(--t-white)}
.caseboard-section .section-title>p:last-child{color:var(--t-muted)}
.case-intelligence-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1px;margin-top:42px;background:var(--t-line);border:1px solid var(--t-line)}
.case-intelligence-grid>article{min-width:0;min-height:290px;background:#111315}
.case-intelligence-grid header{display:flex;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid var(--t-line);color:var(--t-cyan);font-size:.62rem;letter-spacing:.13em}.case-intelligence-grid header b{color:rgba(220,239,244,.48);font-weight:500}
.case-status{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:22px;background:var(--t-line)}.case-status span{padding:16px;background:#181a1c}.case-status small,.case-status b{display:block}.case-status small{color:var(--t-muted);font-size:.62rem}.case-status b{margin-top:7px;color:var(--t-white);font-size:1.5rem}
.case-relations{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:10px;margin:28px 22px 0}.case-relations i{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--t-cyan);border-radius:50%;color:var(--t-cyan);font-size:.65rem;font-style:normal}.case-relations span{height:1px;background:linear-gradient(90deg,var(--t-cyan),rgba(198,154,67,.1))}.case-relations b{grid-column:1/-1;margin-top:8px;color:var(--t-muted);font-size:.65rem;font-weight:500}
.case-timeline ol{display:grid;gap:0;margin:15px 22px 22px;padding:0;list-style:none}.case-timeline li{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--t-line)}.case-timeline time{color:var(--t-cyan);font-size:.65rem}.case-timeline li div{display:grid;gap:3px}.case-timeline li b{font-size:.78rem}.case-timeline li small{color:var(--t-muted);font-size:.62rem}.case-timeline em{color:rgba(216,238,243,.55);font-size:.58rem;font-style:normal}
.information-ledger>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0 22px;padding:15px 0;border-bottom:1px solid var(--t-line);font-size:.7rem}.information-ledger>div span{color:var(--t-white)}.information-ledger>div b{color:var(--t-cyan);font-weight:500}
.report-sheet-body{margin:22px;padding:22px;background:#eaf0f1;color:#11222a}.report-sheet-body>p{margin:0 0 15px;font-size:.68rem;font-weight:700;letter-spacing:.08em}.report-sheet-body>i{display:block;width:90%;height:5px;margin-top:8px;background:#a9bbbf}.report-sheet-body>i:nth-of-type(2){width:72%}.report-sheet-body>i:nth-of-type(3){width:82%}.report-sheet-body dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:23px 0 0;background:#c3d0d3}.report-sheet-body dl div{padding:10px;background:#f8fbfb}.report-sheet-body dt{color:#60747b;font-size:.56rem}.report-sheet-body dd{margin:4px 0 0;font-size:.66rem}
.audience-comparison{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:1px;margin-top:32px;background:var(--t-line);border:1px solid var(--t-line)}.audience-comparison>div{padding:34px;background:#111315}.audience-comparison>i{display:grid;padding:10px;place-items:center;background:var(--t-cyan);color:#001217;font-size:.62rem;font-style:normal;writing-mode:vertical-rl}.audience-comparison h3{margin:10px 0 24px;font-size:1.45rem}.audience-comparison dl{margin:0}.audience-comparison dl div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:12px 0;border-top:1px solid var(--t-line)}.audience-comparison dt{color:var(--t-cyan);font-size:.64rem}.audience-comparison dd{margin:0;color:var(--t-muted);font-size:.72rem}.audience-comparison a{display:inline-block;margin-top:24px;color:var(--t-cyan);font-size:.72rem;font-weight:700}
.four-step-process{grid-template-columns:repeat(4,1fr)}
@media(max-width:840px){.case-intelligence-grid{grid-template-columns:1fr}.audience-comparison{grid-template-columns:1fr}.audience-comparison>i{writing-mode:horizontal-tb}.four-step-process{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.case-status{margin:16px}.case-intelligence-grid header{display:grid}.case-timeline li{grid-template-columns:44px 1fr}.case-timeline em{grid-column:2}.report-sheet-body dl{grid-template-columns:1fr}.audience-comparison>div{padding:26px 20px}.audience-comparison dl div{grid-template-columns:1fr;gap:5px}.four-step-process{grid-template-columns:1fr}}
.form-status.is-success{color:#0b6471}.form-status.is-warning{padding:12px;border-left:3px solid #a56b13;background:#fff4d9;color:#70480d}.form-status.is-error{padding:12px;border-left:3px solid #a73333;background:#fff0f0;color:#8a2525}

/* BLACK & GOLD BRAND SYSTEM — 2026-08 */
.tantei-site{
  --t-black:#050505;--t-bg:#080808;--t-navy:#0b0b0b;--t-navy-2:#111315;
  --t-graphite:#181a1c;--t-panel:#121416;--t-cyan:#c69a43;--t-gold:#c69a43;
  --t-gold-light:#dfbd72;--t-white:#f2efe8;--t-muted:#b7b4ad;
  --t-line:rgba(198,154,67,.24);--entity-deep:#050505;--entity-accent:#c69a43;
  --t-paper:#f3f0e9;--t-ink:#121416;color:#242424;background:var(--t-paper);
}
html,body.tantei-site{max-width:100%;overflow-x:clip}
.tantei-site main,.tantei-site main>section{max-width:100%;overflow-x:clip}
.tantei-site *,.tantei-site *::before,.tantei-site *::after{box-sizing:border-box}
.tantei-site img,.tantei-site picture,.tantei-site video,.tantei-site svg{max-width:100%}
.tantei-site picture{display:block;min-width:0}
.tantei-site :where(.wrap,.form-grid,.service-hero-grid,.contact-photo-grid,.company-profile-grid,.secure-form-layout,.diagnosis-layout,.result-header,.two-column-copy,.service-detail-layout,.detail-triptych)>*{min-width:0}
.tantei-site :where(h1,h2,h3,h4,p,li,dd,dt,a,button,label,summary,td,th,small,.eyebrow,.intel-kicker){overflow-wrap:break-word;line-break:strict}
.tantei-site :where(h1,h2,h3){word-break:auto;line-break:strict;text-wrap:balance}
.tantei-site :where(h4,.intel-btn,.eyebrow,.intel-kicker,.tantei-brand strong,.nav a,.footer-links a,.mobile-quick-contact a){word-break:keep-all}
.tantei-site .entity-header{background:rgba(5,5,5,.94);border-bottom:1px solid var(--t-line);box-shadow:0 12px 32px rgba(0,0,0,.2);backdrop-filter:blur(18px)}
.tantei-site .entity-header .wrap{height:84px;max-width:1540px;transition:height .28s ease}
.tantei-site .entity-header.is-compact .wrap{height:68px}
.tantei-brand{gap:12px;text-decoration:none}
.tantei-brand img{display:block;width:58px;height:58px;flex:0 0 58px;object-fit:contain;filter:drop-shadow(0 3px 12px rgba(198,154,67,.18));transition:width .28s ease,height .28s ease,flex-basis .28s ease}
.entity-header.is-compact .tantei-brand img{width:47px;height:47px;flex-basis:47px}
.tantei-brand strong{color:#f5f0e7;font-size:.9rem;letter-spacing:.055em}
.tantei-brand small,.intel-kicker,.visual-label{color:var(--t-gold-light)}
.tantei-site .entity-header .nav{gap:18px}
.tantei-site .entity-header .nav a{color:rgba(242,239,232,.72);font-size:.7rem;letter-spacing:.035em}
.tantei-site .entity-header .nav a:hover,.tantei-site .entity-header .nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--t-gold)}
.tantei-site .entity-header .nav-toggle span{background:var(--t-gold-light)}
.intel-photo-hero{min-height:min(920px,calc(100svh - 84px));background:#050505}
.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media{overflow:clip}
.hero-media img{object-position:center 48%;animation:goldHeroScale 6s ease-out both}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.15) 78%),linear-gradient(0deg,rgba(0,0,0,.75),transparent 54%)}
.hero-photo-copy{max-width:1400px;padding-top:clamp(110px,16vh,180px);padding-bottom:clamp(80px,12vh,140px)}
.hero-photo-copy h1{font-size:clamp(3.2rem,8vw,8rem);font-weight:500;letter-spacing:.02em;line-height:.92;text-shadow:0 7px 30px rgba(0,0,0,.48)}
.hero-photo-copy h1 span{display:block;white-space:nowrap}
.hero-photo-copy>p:not(.intel-kicker){color:#ddd8cf;font-size:clamp(1rem,1.8vw,1.35rem)}
.private-office-note{display:block;max-width:640px;margin-top:18px;color:rgba(242,239,232,.7);font-size:.68rem}
.intel-btn{color:#080808;background:#c69a43;border-color:#c69a43;box-shadow:none}
.intel-btn:hover{color:#050505;background:#d9b463;border-color:#d9b463}
.intel-btn-ghost{color:#f2efe8;background:rgba(5,5,5,.38);border-color:rgba(198,154,67,.58);box-shadow:none}
.intel-btn-ghost:hover{color:#050505;background:var(--t-gold-light)}
.text-link,.contact-phone,.phone-callout a{color:#a97622}
.dark-section,.method-section,.comparison-section,.tantei-contact-band,.trust-section,.report-preview-section,.report-hero,.service-hero,.contact-photo-hero,.diagnosis-photo-hero,.editorial-hero{color:var(--t-white);background:#080808}
.dark-section :where(h1,h2,h3),.method-section :where(h1,h2,h3),.comparison-section :where(h1,h2,h3),.tantei-contact-band :where(h1,h2,h3),.trust-section :where(h1,h2,h3),.report-preview-section :where(h1,h2,h3){color:var(--t-white)}
.dark-section p,.method-section p,.comparison-section p,.tantei-contact-band p,.trust-section p,.report-preview-section p{color:var(--t-muted)}
.tantei-subhero{color:var(--t-white);background:#0c0c0c}
.tantei-subhero::after{background:linear-gradient(90deg,transparent,var(--t-gold),transparent)}
.tantei-subhero h1{color:var(--t-white)}
.tantei-subhero p{color:var(--t-muted)}
.photo-editorial-hero,.service-hero,.report-hero,.contact-photo-hero{position:relative;overflow:hidden}
.photo-editorial-hero{min-height:clamp(560px,72vh,820px);display:grid;grid-template-columns:minmax(0,1fr);align-items:end}
.editorial-media,.editorial-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.34) 72%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 60%)}
.photo-editorial-hero>.wrap{position:relative;z-index:2;padding-top:170px;padding-bottom:110px}
.photo-editorial-hero h1{font-size:clamp(2.8rem,6vw,6.4rem);color:#fff}
.photo-editorial-hero p:not(.intel-kicker){color:#d5d0c7}
.service-hero-grid figure picture,.report-hero-grid figure picture,.company-profile-grid figure picture,.contact-photo-grid>picture{height:100%}
.service-hero-grid figure img,.report-hero-grid figure img,.company-profile-grid figure img,.contact-photo-grid>picture img{width:100%;height:100%;object-fit:cover}
.contact-photo-grid>picture{min-height:480px}
.investigation-card,.method-grid article,.case-intelligence-grid article,.security-policy-grid article,.journal-grid article{border-color:rgba(198,154,67,.2)}
.investigation-card span,.investigation-card b,.fact-list span,.fee-factor-grid b,.case-scale-grid article>span,.case-scale-grid dt,.process-role-grid article>b,.security-policy-grid article>span{color:#a97622}
.corporate-grid .investigation-card,.case-scale-grid article,.security-policy-grid article{background:#101214}
.corporate-grid .investigation-card :where(h2,h3),.case-scale-grid article :where(h2,h3),.security-policy-grid article :where(h2,h3){color:#f2efe8}
.corporate-grid .investigation-card p,.case-scale-grid article p,.security-policy-grid article p{color:#b7b4ad}
.case-scale-grid dl{margin:22px 0 0;border-top:1px solid var(--t-line)}
.case-scale-grid dl div{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid rgba(198,154,67,.14)}
.case-scale-grid dt{font-size:.65rem}.case-scale-grid dd{margin:0;color:#c9c5bc;font-size:.73rem}
.audience-comparison>div,.case-intelligence-grid article,.answer-summary,.diagnosis-output>div{background:#111315}
.audience-comparison>i{color:#080808;background:var(--t-gold)}
.case-intelligence-grid header,.information-ledger>div,.intel-faq details,.audience-comparison dl div{border-color:var(--t-line)}
.case-intelligence-grid header,.case-timeline time,.information-ledger>div b,.audience-comparison dt,.audience-comparison a{color:var(--t-gold-light)}
.report-sheet-body{background:#f3f0e9;color:#151515}
.report-sheet-body dl{background:#cfcbc2}.report-sheet-body dl div{background:#fff}
.intel-faq{color:var(--t-white);background:#080808;border-top:1px solid var(--t-line);padding:0 28px}
.intel-faq summary{color:var(--t-white)}
.intel-faq summary span{color:var(--t-gold-light);border-color:rgba(198,154,67,.42)}
.intel-faq details>p,.intel-faq details>div>p{color:#c7c2b8}
.confidential-band{background:radial-gradient(circle at 15% 50%,rgba(198,154,67,.13),transparent 40%),#050505;border-block:1px solid var(--t-line)}
.diagnosis-section{background:#ebe7de;color:#151515}
.diagnosis-survey{background:#fff;border-color:#cbc2b1;box-shadow:0 24px 70px rgba(25,20,12,.1)}
.survey-progress-track{background:#ded8cc}.survey-progress-track span{background:var(--t-gold)}
.survey-question-number,.diagnosis-survey legend>span{color:#080808;background:var(--t-gold-light)}
.survey-intro{color:#5b4a2c;background:#faf5e9;border-left-color:var(--t-gold)}
.survey-choice{background:#fbfaf7;border-color:#d6cdbd}.survey-choice:has(input:checked){background:#f8edcf;border-color:#b8872f;box-shadow:inset 0 0 0 1px #b8872f}
.survey-choice input,.survey-consent input{accent-color:#a97622}
.answer-summary{border-color:var(--t-line)}
.answer-summary li span{color:var(--t-gold-light)}
.diagnosis-result{color:var(--t-white);background:#050505}
.result-mode{color:#d8bd83;background:rgba(198,154,67,.09);border-color:rgba(198,154,67,.28)}
.diagnosis-result [data-result-title],.result-id strong{color:var(--t-white)}
.result-id strong,.diagnosis-output dt{color:var(--t-gold-light)}
.result-visual{background-image:linear-gradient(rgba(198,154,67,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(198,154,67,.07) 1px,transparent 1px);border-color:var(--t-line)}
.result-visual i{border-color:var(--t-gold)}
.result-visual::before,.result-visual::after{background:linear-gradient(90deg,var(--t-gold),transparent)}
.diagnosis-output{background:var(--t-line)}.diagnosis-output dd{color:#d0ccc4}
.diagnosis-save{color:#181818;background:#f7f4ed;border-color:#cfc5b3}.diagnosis-save h3{color:#111}.diagnosis-save .intel-kicker{color:#8d641f}
.contact-form input,.contact-form select,.contact-form textarea,.diagnosis-save input,.diagnosis-save select{max-width:100%;min-width:0;border-color:#c8bea9;border-radius:0;background:#fff;color:#151515}
.contact-form :focus,.diagnosis-save :focus{outline:2px solid #b8872f;outline-offset:2px}
.secure-contact-aside{color:#eee9df;background:#101214;border:1px solid var(--t-line)}
.document-guidance,.diagnosis-handoff-card{border-color:#cdbf9f;background:#f8f3e8}
.survey-consent{border-color:#cdbf9f;background:#faf6ec}
.form-status.is-success{color:#226342}.form-status.is-warning{border-left-color:#a97622;background:#fff4d9;color:#70480d}.form-status.is-error{color:#8a2525}
.tantei-footer{color:#d8d3ca;background:#050505;border-top:1px solid var(--t-line)}
.tantei-footer a{color:#cbb178}
.tantei-site .mobile-quick-contact{background:#050505;border-top-color:var(--t-line)}
.tantei-site .mobile-quick-contact a{color:#e9e3d8;background:#0d0f10;border-right-color:var(--t-line)}
.tantei-site .mobile-quick-contact a:nth-child(2){background:#17130d}.tantei-site .mobile-quick-contact a:last-child{color:#080808;background:linear-gradient(135deg,#e0bf74,#b8872f)}
.back-to-top{color:#f2efe8;background:#101214;border-color:var(--t-gold)}
.tanteigyo-sign{max-width:100%;overflow:hidden}
.tanteigyo-sign table{min-width:0}
.not-found{grid-template-columns:minmax(0,1fr)}
@keyframes goldHeroScale{from{transform:scale(1.012);filter:none}to{transform:scale(1);filter:none}}
@media(max-width:1100px){
  .tantei-site .entity-header .nav{background:#050505;border-top:1px solid var(--t-line)}
  .tantei-site .entity-header .nav a{color:#ddd6c8;border-bottom-color:rgba(198,154,67,.16)}
}
@media(max-width:760px){
  :root{--header-height:74px}
  .tantei-site{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .tantei-site main,.tantei-site main>section{width:100%;max-width:100%}
  .tantei-site .wrap{width:auto!important;max-width:100%;padding-left:24px;padding-right:24px;overflow-x:clip}
  .tantei-site .wrap>*,.tantei-site .wrap>* :where(h1,h2,h3,.intel-kicker){min-width:0;max-width:100%;overflow-x:clip}
  .tantei-site .section-title{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
  .tantei-site .section-title>*{min-width:0;max-width:100%}
  .tantei-site :where(h1,h2,h3,.intel-kicker){max-width:100%;white-space:normal;text-wrap:wrap}
  .tantei-site .intel-kicker{display:block;overflow-wrap:anywhere}
  .hero-media{overflow:clip}
  .tantei-site .entity-header .wrap{height:74px}.tantei-site .entity-header.is-compact .wrap{height:66px}
  .tantei-brand{gap:9px}.tantei-brand img{width:48px;height:48px;flex-basis:48px}.tantei-brand strong{font-size:.7rem;letter-spacing:.025em}.tantei-brand small{display:none}
  .intel-photo-hero{min-height:calc(100svh - 74px)}
  .hero-media img{object-position:56% center}
  .hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.18) 100%)}
  .hero-photo-copy{align-self:end;padding-top:160px;padding-bottom:74px}
  .hero-photo-copy h1{font-size:clamp(3.15rem,15vw,5.2rem);line-height:.94}
  .hero-photo-copy>p:not(.intel-kicker){font-size:.9rem}
  .intel-actions{display:grid;width:100%;max-width:100%;grid-template-columns:minmax(0,1fr);gap:10px;overflow:clip}.intel-actions .intel-btn{width:auto!important;max-width:100%;min-height:50px;text-align:center;white-space:normal}
  .private-office-note{font-size:.61rem;line-height:1.7}
  .visual-label{right:24px;bottom:18px}
  .photo-editorial-hero{min-height:620px}.photo-editorial-hero>.wrap{padding-top:180px;padding-bottom:80px}.photo-editorial-hero h1{font-size:clamp(2.55rem,11vw,4.4rem)}
  .contact-photo-grid>picture{min-height:330px}
  .secure-form-layout{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr);overflow-x:clip}
  .general-consultation-form{width:100%;max-width:100%;min-width:0;overflow-x:clip}
  .general-consultation-form>*{max-width:100%;min-width:0;overflow-x:clip}
  .general-consultation-form .form-grid{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr);overflow-x:clip}
  .general-consultation-form label,.general-consultation-form input,.general-consultation-form select,.general-consultation-form textarea{width:100%;max-width:100%;min-width:0;overflow-x:clip}
  .general-consultation-form>.intel-btn{width:100%;max-width:100%}
  .case-scale-grid dl div{grid-template-columns:1fr;gap:4px}
  .intel-faq{padding:0 18px}.intel-faq summary{gap:12px;font-size:.9rem}.intel-faq details[open]>div>p{padding-right:0}
  .tanteigyo-sign{padding:14px;overflow:visible}.tanteigyo-sign table,.tanteigyo-sign tbody,.tanteigyo-sign tr,.tanteigyo-sign th,.tanteigyo-sign td{display:block;width:100%}.tanteigyo-sign th{border-bottom:0;background:#eee}.tanteigyo-sign td{overflow-wrap:anywhere}
  .mobile-quick-contact{min-height:64px;padding-bottom:env(safe-area-inset-bottom)}
  .back-to-top{bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){
  .tantei-site .wrap{padding-left:24px;padding-right:24px}
  .tantei-brand strong{font-size:.64rem}.hero-photo-copy h1{font-size:3rem;letter-spacing:0}.intel-kicker{font-size:.56rem}
}
@media(prefers-reduced-motion:reduce){.hero-media img{animation:none}.tantei-site .entity-header .wrap,.tantei-brand img{transition:none}}

/* PRIVATE INTELLIGENCE experience controls */
.intelligence-controls{position:fixed;top:92px;right:18px;z-index:88;display:flex;align-items:center;gap:8px;padding:6px;background:rgba(5,5,5,.9);border:1px solid var(--t-line);box-shadow:0 12px 34px rgba(0,0,0,.28);backdrop-filter:blur(14px)}
.global-audience-switch{display:flex}.global-audience-switch a,.privacy-trigger{min-height:36px;padding:9px 11px;color:#d8d3ca;background:transparent;border:0;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-decoration:none;cursor:pointer}
.global-audience-switch a[aria-current="page"]{color:#090909;background:var(--t-gold-light)}
.privacy-trigger{border-left:1px solid var(--t-line);color:var(--t-gold-light)}
.privacy-trigger:focus-visible,.global-audience-switch a:focus-visible{outline:2px solid var(--t-gold-light);outline-offset:2px}
.privacy-curtain{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:28px;color:#242424;background:#ece9e2}
.privacy-curtain[hidden]{display:none}.privacy-curtain>div{width:min(560px,100%);padding:42px;background:#fff;border:1px solid #d5d0c5;box-shadow:0 24px 80px rgba(0,0,0,.13)}
.privacy-curtain p{margin:0;color:#5d5b56}.privacy-curtain h2{margin:14px 0;font-size:clamp(1.8rem,5vw,3rem)}.privacy-curtain button{min-height:48px;margin-top:26px;padding:12px 20px;color:#fff;background:#333;border:0;cursor:pointer}.privacy-curtain small{display:block;margin-top:22px;color:#6f6c66;line-height:1.8}
body.privacy-mode-active{overflow:hidden}
.subhero-grid{transform:none}

.confidence-layer{color:var(--t-white);background:#080808}.confidence-layer .section-title>p:last-child{color:var(--t-muted)}
.confidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:34px;background:var(--t-line);border:1px solid var(--t-line)}
.confidence-grid article{min-width:0;padding:32px;background:#111315}.confidence-grid span{color:var(--t-gold-light);font-size:.64rem;letter-spacing:.12em}.confidence-grid h3{margin:28px 0 10px;color:var(--t-white)}.confidence-grid p{margin:0;color:var(--t-muted)}
.refusal-band{color:var(--t-white);background:radial-gradient(circle at 15% 50%,rgba(198,154,67,.11),transparent 42%),#0a0a0a;border-block:1px solid var(--t-line)}
.refusal-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}.refusal-grid h2{color:var(--t-white)}.refusal-grid p{color:var(--t-muted)}
.refusal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--t-line);border:1px solid var(--t-line)}.refusal-list article{min-width:0;padding:34px;background:#111315;color:var(--t-white)}.refusal-list span{color:var(--t-gold-light)}.refusal-list h2{margin:34px 0 12px;color:var(--t-white);font-size:1.22rem}.refusal-list p{color:var(--t-muted)}

.report-lab-section{background:#e8e3d9}.report-lab-nav{position:sticky;top:76px;z-index:12;display:flex;gap:4px;margin-bottom:24px;padding:8px;overflow-x:auto;background:rgba(5,5,5,.94);border:1px solid var(--t-line);scrollbar-width:thin}.report-lab-nav a{flex:0 0 auto;min-height:42px;padding:13px 15px;color:#d9d3c7;text-decoration:none;font-size:.6rem;letter-spacing:.1em}.report-lab-nav a:hover,.report-lab-nav a:focus-visible{color:#090909;background:var(--t-gold-light)}
.report-lab-book article{scroll-margin-top:140px}.sample-location-map{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:12px;margin:30px 0;padding:34px;background:#111315}.sample-location-map i{display:grid;width:38px;height:38px;place-items:center;color:var(--t-gold-light);border:1px solid var(--t-gold);border-radius:50%;font-style:normal}.sample-location-map span{height:1px;background:linear-gradient(90deg,var(--t-gold),rgba(198,154,67,.15))}.assumption-page{border-color:#8c7444!important}

.scope-scale-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--t-line);border:1px solid var(--t-line)}.scope-scale-grid article{min-width:0;padding:30px;background:#111315;color:var(--t-white)}.scope-scale-grid span{color:var(--t-gold-light);font-size:.62rem;letter-spacing:.1em}.scope-scale-grid h2{min-height:3em;margin:28px 0;color:var(--t-white);font-size:1.18rem}.scope-scale-grid dl{margin:0}.scope-scale-grid dl div{padding:12px 0;border-top:1px solid var(--t-line)}.scope-scale-grid dt{color:#a9a49a;font-size:.61rem}.scope-scale-grid dd{margin:4px 0 0;color:#e0dbd2;font-size:.72rem}
.fee-simulator{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:38px;align-items:start}.fee-simulator>form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fee-simulator label{display:grid;gap:8px;color:#d8d2c6;font-size:.68rem}.fee-simulator select{width:100%;min-height:50px;padding:10px;color:#171717;background:#f7f3ea;border:1px solid #b99a5b}.scope-result{grid-column:2;display:grid;gap:9px;padding:28px;color:#eee9df;background:#111315;border:1px solid var(--t-line)}.scope-result span{color:var(--t-gold-light);font-size:.65rem;letter-spacing:.12em}.scope-result b{font-size:1.15rem}.scope-result small{color:var(--t-muted)}

.contact-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--t-line);border:1px solid var(--t-line)}.contact-mode-tabs button{min-height:58px;padding:12px;color:#d7d2c9;background:#111315;border:0;font:inherit;font-size:.69rem;font-weight:700;letter-spacing:.08em;cursor:pointer}.contact-mode-tabs button[aria-selected="true"]{color:#090909;background:var(--t-gold-light)}
.general-consultation-form>section[data-contact-fields]{margin:0}.transmission-preview{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:20px;padding:1px;background:var(--t-line);border:1px solid var(--t-line)}.transmission-preview[hidden]{display:none}.transmission-preview>div{padding:26px;color:#ece7de;background:#111315}.transmission-preview h2{margin:12px 0 20px;color:#fff;font-size:1.25rem}.transmission-preview ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.transmission-preview li{display:grid;grid-template-columns:140px 1fr;gap:12px;color:#c6c0b6;font-size:.72rem}.transmission-preview li strong{color:var(--t-gold-light)}.transmission-preview>.intel-btn{grid-column:1/-1;justify-self:stretch;text-align:center}
.submission-complete{padding:30px;color:#eee9df;background:#111315;border:1px solid var(--t-line)}.submission-complete[hidden]{display:none}.submission-complete h2{color:#fff}.submission-complete strong,.submission-complete a{color:var(--t-gold-light)}.submission-complete dl div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:10px 0;border-top:1px solid var(--t-line)}.submission-complete dd{margin:0}.general-consultation-form.is-complete>*:not(.submission-complete){display:none!important}

@media(max-width:900px){.scope-scale-grid{grid-template-columns:1fr 1fr}.fee-simulator{grid-template-columns:1fr}.scope-result{grid-column:1}.refusal-list{grid-template-columns:1fr 1fr}.subhero-grid{transform:none}}
@media(max-width:760px){
  .intelligence-controls{top:80px;right:10px;left:10px;justify-content:space-between}.global-audience-switch{min-width:0}.global-audience-switch a,.privacy-trigger{padding:9px 8px;font-size:.52rem}
  .confidence-grid,.refusal-list,.scope-scale-grid,.transmission-preview{grid-template-columns:minmax(0,1fr)}.refusal-grid{grid-template-columns:1fr}.refusal-grid .intel-btn{justify-self:start}
  .fee-simulator>form{grid-template-columns:minmax(0,1fr)}.transmission-preview>.intel-btn{grid-column:1}.transmission-preview li{grid-template-columns:1fr;gap:3px}.submission-complete dl div{grid-template-columns:1fr;gap:4px}
  .process-role-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.process-role-grid .role-label{display:none}.process-role-grid article{grid-template-columns:48px minmax(0,1fr)!important}.process-role-grid article p{grid-column:2!important;display:grid!important;grid-template-columns:1fr!important}
}
@media(max-width:360px){.intelligence-controls{right:8px;left:8px}.global-audience-switch a,.privacy-trigger{font-size:.48rem}.contact-mode-tabs button{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.report-lab-nav{scroll-behavior:auto}}

/* MOBILE READABILITY PASS — BLACK × GOLD × IVORY — 2026-08-19
   Dark surfaces always declare their own text hierarchy so they never inherit
   the light-page ink colour. The five roles below are shared across all pages. */
.tantei-site{
  --t-gold:#d6ad55;
  --t-gold-light:#e0bc68;
  --t-white:#f4efe5;
  --t-body:#e8e3d8;
  --t-muted:#bdb8ae;
  --t-panel:#101112;
  --t-line:rgba(214,173,85,.3);
}

.tantei-site :where(.intel-kicker,.visual-label){color:var(--t-gold-light)}
.tantei-site :where(.text-link,.contact-phone,.phone-callout a){color:var(--t-gold-light)}
.tantei-site .text-link{border-bottom-color:rgba(224,188,104,.58)}
.tantei-site :where(.text-link,.contact-phone,.phone-callout a):focus-visible{
  outline:2px solid var(--t-gold-light);
  outline-offset:4px;
}

/* Investigation cards and the eight-step process were the low-contrast areas
   reported on iPhone. They are deliberately self-contained dark surfaces. */
.tantei-site .home-service-columns>div>h3{
  color:var(--t-gold-light);
  border-bottom-color:var(--t-line);
}
.tantei-site .investigation-card{
  padding:30px 24px;
  color:var(--t-body);
  background:var(--t-panel);
  border-color:var(--t-line);
}
.tantei-site .investigation-card>span{
  color:var(--t-gold-light);
}
.tantei-site .investigation-card :where(h2,h3){
  color:var(--t-white);
  font-weight:700;
}
.tantei-site .investigation-card p,
.tantei-site .dark-section .investigation-card p,
.tantei-site .corporate-grid .investigation-card p{
  color:var(--t-body);
  font-size:1rem;
  line-height:1.8;
}
.tantei-site .investigation-card b{
  color:var(--t-gold-light);
  font-size:.78rem;
}

.tantei-site .process-role-grid{
  border-top-color:var(--t-line);
}
.tantei-site .role-label{
  color:var(--t-gold-light);
}
.tantei-site .process-role-grid article{
  padding:28px 24px;
  color:var(--t-body);
  background:var(--t-panel);
  border-bottom-color:var(--t-line);
}
.tantei-site .process-role-grid article>b{
  color:var(--t-gold-light);
  font-weight:800;
}
.tantei-site .process-role-grid article h2{
  margin:0;
  color:var(--t-white);
  font-weight:700;
}
.tantei-site .process-role-grid article p span{
  color:var(--t-body);
  font-size:1rem;
  line-height:1.8;
}
.tantei-site .process-role-grid article p span+span{
  color:var(--t-muted);
}
/* These two decision-critical lists must remain readable even when a browser
   restores the page mid-scroll before IntersectionObserver has run. */
.tantei-site.reveal-ready .investigation-card,
.tantei-site.reveal-ready .process-role-grid article{
  opacity:1;
  transform:none;
}

/* Consistent hierarchy on every dark information surface. */
.tantei-site :where(
  .dark-section,.method-section,.comparison-section,.tantei-contact-band,
  .trust-section,.report-preview-section,.report-feature,.report-hero,
  .service-hero,.contact-photo-hero,.diagnosis-photo-hero,.editorial-hero,
  .tantei-subhero,.confidence-layer,.refusal-band
){color:var(--t-body)}
.tantei-site :where(
  .dark-section,.method-section,.comparison-section,.tantei-contact-band,
  .trust-section,.report-preview-section,.report-feature,.report-hero,
  .service-hero,.contact-photo-hero,.diagnosis-photo-hero,.editorial-hero,
  .tantei-subhero,.confidence-layer,.refusal-band
) :where(h1,h2,h3,summary){color:var(--t-white)}
.tantei-site :where(
  .dark-section,.method-section,.comparison-section,.tantei-contact-band,
  .trust-section,.report-preview-section,.report-feature,.report-hero,
  .service-hero,.contact-photo-hero,.diagnosis-photo-hero,.editorial-hero,
  .tantei-subhero,.confidence-layer,.refusal-band
) :where(p,li,dd){color:var(--t-body)}
.tantei-site :where(
  .confidence-grid article,.refusal-list article,.scope-scale-grid article,
  .case-intelligence-grid article,.security-policy-grid article,
  .case-scale-grid article,.audience-comparison>div,.transmission-preview>div,
  .submission-complete,.secure-contact-aside,.diagnosis-output>div
){color:var(--t-body);background:var(--t-panel)}
.tantei-site :where(
  .confidence-grid article,.refusal-list article,.scope-scale-grid article,
  .case-intelligence-grid article,.security-policy-grid article,
  .case-scale-grid article,.audience-comparison>div,.transmission-preview>div,
  .submission-complete,.secure-contact-aside,.diagnosis-output>div
) :where(h1,h2,h3,summary){color:var(--t-white)}
.tantei-site :where(
  .confidence-grid article,.refusal-list article,.scope-scale-grid article,
  .case-intelligence-grid article,.security-policy-grid article,
  .case-scale-grid article,.audience-comparison>div,.transmission-preview>div,
  .submission-complete,.secure-contact-aside,.diagnosis-output>div
) :where(p,li,dd,small){color:var(--t-body)}

/* Brand controls and mobile conversion bar. */
.intelligence-controls{
  background:rgba(5,5,5,.97);
  border-color:var(--t-line);
}
.global-audience-switch a,.privacy-trigger{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--t-body);
}
.privacy-trigger{color:var(--t-gold-light)}
.tantei-site .mobile-quick-contact a{
  min-height:56px;
  color:var(--t-body);
  background:#0b0d0e;
}
.tantei-site .mobile-quick-contact a:nth-child(2){
  color:var(--t-white);
  background:#11100d;
}
.tantei-site .mobile-quick-contact a:last-child{
  color:#080808;
  font-weight:800;
  background:var(--t-gold-light);
}

/* Phase 1: verified trust facts, report disclosure and independent-operation note. */
.tantei-site .trust-strip .wrap{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.tantei-site .trust-strip span{
  min-height:92px;
  border-right:1px solid rgba(255,255,255,.1);
}
.tantei-site .trust-strip span:last-child{border-right:0}
.tantei-site .report-disclaimer{
  margin:0 0 28px;
  padding:14px 18px;
  color:var(--t-gold-light);
  background:rgba(214,173,85,.08);
  border:1px solid rgba(214,173,85,.34);
  font-size:.78rem;
  line-height:1.7;
  letter-spacing:.04em;
}
.tantei-site .footer-independence-note{
  max-width:760px;
  margin:24px 0 0;
  padding-top:18px;
  color:#bdb8ae;
  border-top:1px solid rgba(214,173,85,.22);
  font-size:.76rem;
  line-height:1.8;
}

@media(max-width:1099px) and (min-width:761px){
  .tantei-site .trust-strip .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tantei-site .trust-strip span:nth-child(3n){border-right:0}
  .tantei-site .trust-strip span:last-child{border-right:1px solid rgba(255,255,255,.1)}
}

@media(max-width:760px){
  .tantei-site main :where(p,li,dd){line-height:1.8}
  .tantei-site .investigation-card,
  .tantei-site .process-role-grid article{padding:26px 20px}
  .tantei-site .investigation-card :where(h2,h3){font-size:clamp(1.25rem,5.8vw,1.55rem);line-height:1.45}
  .tantei-site .process-role-grid article h2{font-size:clamp(1.2rem,5.6vw,1.5rem);line-height:1.45}
  .tantei-site .investigation-card p,
  .tantei-site .process-role-grid article p span{
    font-size:1rem;
    line-height:1.8;
  }
  .intelligence-controls{
    gap:0;
    padding:4px;
    background:#050505;
  }
  .global-audience-switch a,.privacy-trigger{
    min-height:44px;
    padding:10px;
    font-size:.56rem;
  }
  .tantei-site .entity-header .nav{
    background:#050505;
    border-top:1px solid var(--t-line);
    box-shadow:0 18px 34px rgba(0,0,0,.48);
  }
  .tantei-site .entity-header .nav a{
    min-height:48px;
    display:flex;
    align-items:center;
    color:var(--t-body);
    background:#050505;
    border-bottom:1px solid rgba(214,173,85,.2);
  }
  .tantei-site .trust-strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tantei-site .trust-strip span{
    min-height:82px;
    padding:14px 16px;
    border-right:1px solid rgba(255,255,255,.1);
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .tantei-site .trust-strip span:nth-child(even){border-right:0}
  .tantei-site .trust-strip span:last-child{
    grid-column:1/-1;
    border-right:0;
    border-bottom:0;
  }
  .tantei-site .report-disclaimer{font-size:.75rem}
  .tantei-site .report-lab-nav{
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
  }
  .tantei-site .report-lab-nav a{
    display:grid;
    place-items:center;
    min-width:0;
    padding-inline:8px;
    text-align:center;
  }
  .tantei-site .report-lab-nav a:last-child{grid-column:1/-1}
  .tantei-site .footer-independence-note{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}

/* Privacy and contrast correction: the confidential consultation band sits on near-black. */
.tantei-site .confidential-band .intel-kicker{color:#e0bc68}
.tantei-site .confidential-band h2{color:#fff}
.tantei-site .confidential-band p:last-child{color:#e6e0d4}
.tantei-site .confidential-band .intel-btn{color:#080808;background:#e0bc68;border-color:#e0bc68;font-weight:800}
.tantei-site .confidential-band .intel-btn-ghost{color:#fff;background:#111315;border-color:#b99a55}
.tantei-site .confidential-band .intel-btn-ghost:is(:hover,:focus-visible){color:#080808;background:#e0bc68;border-color:#e0bc68}
.tantei-site .tantei-footer-office :is(span,a){color:#d8d3ca}
.tantei-site .tantei-footer .footer-links a{color:#e0bc68}

/* Homepage process: keep every step legible on the alternating near-black section. */
.tantei-site .eight-step-process{
  border-top-color:rgba(224,188,104,.42);
}
.tantei-site .eight-step-process li{
  color:#e8e3d8;
  background:#101112;
  border-right-color:rgba(224,188,104,.26);
  border-bottom-color:rgba(224,188,104,.26);
  font-size:clamp(.98rem,1.25vw,1.08rem);
  font-weight:650;
  line-height:1.7;
}
.tantei-site .eight-step-process b{
  color:#e0bc68;
  font-weight:800;
}

/* Every ordinary content section is near-black. Declare the complete text
   hierarchy here so company data, fees, FAQs and legal copy never inherit
   the light-page ink colour. */
.tantei-site .tantei-section{color:var(--t-body)}
.tantei-site .tantei-section :where(h1,h2,h3,h4,summary){color:var(--t-white)}
.tantei-site .tantei-section :where(p,li,dd,label){color:var(--t-body)}
.tantei-site .company-profile-grid dd,
.tantei-site .company-profile-grid dd a{color:var(--t-body)}

/* Paper-coloured components keep dark ink. These exceptions sit inside the
   dark sections above and therefore must be explicit. */
.tantei-site .tantei-section :where(
  .report-book article,.journal-grid article,.fee-factor-grid span,
  .general-consultation-form,.diagnosis-survey,.diagnosis-save,
  .unconfirmed-page,.assumption-page,.document-guidance,.tanteigyo-sign
){color:#24211c}
.tantei-site .tantei-section :where(
  .report-book article,.journal-grid article,.fee-factor-grid span,
  .general-consultation-form,.diagnosis-survey,.diagnosis-save,
  .unconfirmed-page,.assumption-page,.document-guidance,.tanteigyo-sign
) :where(h1,h2,h3,h4,summary){color:#151515}
.tantei-site .tantei-section :where(
  .report-book article,.journal-grid article,.fee-factor-grid span,
  .general-consultation-form,.diagnosis-survey,.diagnosis-save,
  .unconfirmed-page,.assumption-page,.document-guidance,.tanteigyo-sign
) :where(p,li,dd,label){color:#3f3a32}
.tantei-site .tantei-section .document-guidance p:last-child{color:#3f3a32}
.tantei-site .tantei-section .verified-page,
.tantei-site .tantei-section .verified-page :where(h1,h2,h3,h4,p,li,dd){color:var(--t-white)}

/* Never soften editorial photography at first paint. */
.tantei-site picture img{image-rendering:auto}
.tantei-site :where(.hero-media,.editorial-media,.audience-photo) img{filter:none}
