/*
Theme Name: SONIDO Editorial
Author: SONIDO
Description: Editorial design and marketing-led page templates. Existing posts and database are preserved.
Version: 2.0.19
Requires PHP: 8.0
Text Domain: sonido-renewal
*/
:root {
  --white: #fff;
  --ink: #0e1526;
  --muted: #5a6272;
  --blue: #1f4fff;
  --blue-hover: #173ed0;
  --sky: #a1baff;
  --mist: #f4f6fa;
  --line: #e1e5ec;
  --gold: #b59e70;
  --ja: 'Noto Sans JP', 'Yu Gothic', sans-serif;
  --en: 'Inter Tight', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--ja); font-weight: 400; letter-spacing: 0; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure { margin: 0; }
p { line-height: 1.95; }
h1, h2, h3 { font-feature-settings: 'palt'; overflow-wrap: break-word; }
h2 { font-size: 40px; line-height: 1.6; font-weight: 700; }
h2 > span { display: block; }
h3 { font-size: 20px; line-height: 1.7; font-weight: 700; }
.container { width: min(1200px, calc(100% - 112px)); margin-inline: auto; }
.section { padding-block: 96px; }
.keep { white-space: nowrap; }
.mobile-only { display: none; }
::selection { color: var(--white); background: var(--blue); }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.skip { position: fixed; z-index: 60; top: -80px; left: 20px; background: white; padding: 15px; }
.skip:focus { top: 10px; }
.header { height: 96px; display: flex; gap: 28px; align-items: center; padding-inline: 3.5%; border-bottom: 1px solid var(--line); position: relative; z-index: 30; background: white; }
.brand { display: flex; align-items: center; gap: 23px; margin-right: auto; }
.brand img { width: 140px; height: auto; }
.brand > span { font-size: 10px; color: var(--muted); border-left: 1px solid var(--line); padding-left: 20px; white-space: nowrap; }
.desktop-nav { display: flex; align-items: center; gap: 22px; font-size: 12px; font-weight: 500; }
.desktop-nav > a, .nav-group > button { min-height: 44px; display: inline-flex; align-items: center; }
.desktop-nav a:hover { color: var(--blue); }
.nav-group { position: relative; }
.nav-group > button { border: 0; padding: 0; background: none; cursor: pointer; gap: 9px; color: var(--ink); }
.chevron { width: 6px; height: 6px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); margin-top: -4px; }
.nav-submenu:not([hidden]) { display: flex; flex-direction: column; position: absolute; left: -20px; top: 100%; width: 185px; padding: 8px 20px; border: 1px solid var(--line); background: var(--white); }
.nav-submenu a { display: flex; min-height: 48px; align-items: center; border-bottom: 1px solid var(--line); }
.nav-submenu a:last-child { border: 0; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 58px; padding: 16px 26px; border-radius: 3px; font-size: 14px; font-weight: 600; transition: background .2s, color .2s; }
.primary { background: var(--blue); color: white; }
.primary:hover { background: var(--blue-hover); }
.button .arrow { margin-left: 20px; }
.arrow, .row-arrow { font-family: Arial, sans-serif; font-size: 23px; line-height: 1; font-weight: 400; }
.icon { display: block; width: 19px; height: 19px; flex: 0 0 auto; background: currentColor; }
.mail { mask: url('assets/mail.svg') center / contain no-repeat; -webkit-mask: url('assets/mail.svg') center / contain no-repeat; }
.header-cta { min-height: 48px; padding: 12px 19px; font-size: 12px; gap: 9px; }
.header-cta .arrow { font-size: 18px; margin-left: 6px; }
.header-cta .icon { width: 16px; height: 16px; }
.menu-toggle, .mobile-nav { display: none; }
.hero { position: relative; overflow: hidden; isolation: isolate; background: #fff; }
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 57%; opacity: .085; z-index: -1; filter: saturate(.35); }
.hero-inner { padding-block: 58px 34px; }
.hero-category { display: flex; align-items: center; gap: 13px; font-size: 12px; font-weight: 600; margin-bottom: 28px; }
.small-rule { width: 27px; height: 1px; background: var(--gold); }
h1 { font-size: 57px; line-height: 1.48; font-weight: 800; }
.hero-line { display: block; }
h1 em { color: var(--blue); font-family: 'Yu Mincho', 'Hiragino Mincho ProN', serif; font-weight: 600; font-size: 1.15em; font-style: normal; margin-left: -.15em; }
.hero-lower { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-top: 26px; }
.hero-lead { font-size: 14px; color: var(--muted); line-height: 2; }
.hero-actions { display: flex; gap: 32px; align-items: center; margin-top: 28px; }
.text-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; font-size: 13px; font-weight: 500; }
.circle-arrow { display: inline-grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid #c8cfdb; border-radius: 50%; color: var(--ink); font-family: Arial, sans-serif; font-size: 21px; font-weight: 400; transition: background .2s, color .2s, border-color .2s; }
.text-link:hover { color: var(--blue); }
.text-link:hover .circle-arrow, a.circle-arrow:hover { background: var(--blue); color: var(--white); border-color: var(--blue); }
.hero-note { border-left: 1px solid #c0c7cf; padding: 4px 0 4px 24px; margin-bottom: 6px; color: #65717f; }
.hero-note > span { font-family: var(--en); font-size: 20px; font-weight: 400; line-height: 1.4; }
.hero-note p { font-size: 9px; margin-top: 13px; }
.hero-scroll { display: flex; align-items: center; gap: 20px; font-family: var(--en); font-size: 9px; min-height: 44px; width: fit-content; margin-top: 20px; color: var(--muted); }
.hero-scroll span:last-child { font-size: 18px; }
.eyebrow { font-family: var(--en); font-size: 11px; font-weight: 600; line-height: 1.5; }
.results { background: var(--ink); color: white; padding-block: 28px 23px; }
.result-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 23px; }
.results .eyebrow { color: var(--sky); font-size: 10px; }
.result-heading > p:last-child { font-size: 11px; color: #b6bdcb; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 32px; }
.metric-grid article { border-top: 1px solid #384052; padding-top: 18px; }
.metric-label { color: #bfc6d3; font-size: 10px; line-height: 1.8; }
.metric-number { font-family: var(--en); font-size: 60px; line-height: 1.2; font-weight: 500; color: var(--sky); margin-top: 7px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.metric-number small { font-family: var(--ja); font-size: 18px; font-weight: 500; margin-inline: 3px; }
.metric-context { color: #bfc6d3; font-size: 10px; margin-top: 7px; }
.disclaimer { color: var(--muted); font-size: 10px; line-height: 1.8; margin-top: 24px; }
.results .disclaimer { color: #aeb8ca; margin-top: 21px; font-size: 9px; }
.section-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.index-label { font-size: 10px; color: var(--muted); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; padding-top: 38px; margin-bottom: 44px; }
.section-heading > p, .section-heading > div > p { font-size: 14px; line-height: 2.05; color: var(--muted); }
.section-heading > div > .text-link { margin-top: 18px; }
.problem-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
.problem-grid article { border-top: 1px solid var(--ink); padding-top: 22px; }
.number { font-family: var(--en); font-size: 13px; color: #7b8596; }
.problem-grid h3 { font-size: 19px; margin-top: 17px; }
.problem-grid p { font-size: 13px; color: var(--muted); margin-top: 14px; }
.philosophy { background: var(--mist); padding-block: 74px 80px; }
.philosophy-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; margin-top: 48px; }
.philosophy h2 { font-size: 38px; line-height: 1.7; }
.serif-note { font-family: 'Yu Mincho','Hiragino Mincho ProN',serif; font-size: 16px; margin-top: 24px; }
.editorial-sign { display: flex; flex-wrap: wrap; gap: 18px; font-family: var(--en); font-size: 50px; line-height: 1.2; font-weight: 400; margin-top: 56px; color: #bac1cd; }
.editorial-sign > span:last-child { color: #6e7a90; }
.philosophy-copy { padding-top: 8px; }
.philosophy-copy > p { font-size: 14px; line-height: 2.15; margin-bottom: 24px; }
.philosophy-copy .text-link { margin-top: 8px; }
.service-list { border-top: 1px solid var(--ink); }
.service-list > a { display: grid; grid-template-columns: 65px 1fr 1.15fr 30px; gap: 24px; align-items: center; padding-block: 27px; border-bottom: 1px solid var(--line); transition: background .2s; }
.service-number { font-family: var(--en); font-size: 32px; color: #727d8e; line-height: 1; }
.service-en { display: block; color: var(--muted); font-size: 9px; font-family: var(--en); margin-bottom: 7px; }
.service-list h3 { font-size: 21px; }
.service-list p { font-size: 13px; color: var(--muted); line-height: 1.9; }
.service-list .row-arrow { justify-self: end; }
.service-list > a:hover { background: var(--mist); }
.service-list > a:hover .row-arrow { color: var(--blue); }
.service-list > .ai-service { background: #f2f5ff; padding-inline: 24px; margin-inline: -24px; border-color: #e1e7ff; }
.ai-service .service-number { color: var(--blue); }
.section-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 32px; }
.works { background: var(--mist); }
.case-feature { display: grid; grid-template-columns: 1fr 1.12fr; background: white; border: 1px solid var(--line); }
.case-feature > * { min-width: 0; }
.case-data { background: var(--ink); color: white; padding: 36px; display: flex; flex-direction: column; justify-content: center; }
.case-kicker { font-family: var(--en); font-size: 11px; color: #bfc7d7; }
.case-result { display: flex; align-items: baseline; gap: 20px; font-family: var(--en); font-size: 90px; line-height: 1.3; margin-top: 27px; font-weight: 400; white-space: nowrap; }
.case-result strong { font-weight: 500; color: var(--sky); }
.case-result-arrow { font-size: 46px; color: var(--sky); }
.case-result small { font-size: 12px; font-family: var(--ja); color: #bbc5d9; margin-left: -8px; }
.case-data > p:not(.case-result,.case-kicker) { font-size: 12px; color: #c5ccda; margin-top: 19px; }
.case-note { font-size: 9px; color: #aab6cc; margin-top: 23px; line-height: 1.9; }
.case-story { padding: 34px 38px; }
.case-story .eyebrow { color: var(--muted); font-size: 10px; }
.case-story h3 { font-size: 25px; line-height: 1.7; margin-top: 17px; }
.case-story > p:not(.eyebrow) { font-size: 13px; color: var(--muted); margin-top: 19px; }
.case-story dl { margin: 21px 0; }
.case-story dl > div { display: flex; gap: 20px; border-top: 1px solid var(--line); padding-block: 11px; font-size: 11px; }
.case-story dt { color: var(--muted); }
.case-story dd { margin: 0; }
.case-story .text-link { font-size: 11px; gap: 15px; }
.case-secondary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 24px; }
.case-secondary article { padding: 26px; background: white; border: 1px solid var(--line); }
.small-label { display: block; font-size: 10px; color: var(--muted); line-height: 1.8; }
.case-secondary h3 { font-size: 18px; margin-top: 17px; }
.secondary-number { font-family: var(--en); font-size: 56px; font-weight: 500; line-height: 1.2; color: var(--blue); margin-top: 25px; }
.secondary-number small { font-family: var(--ja); font-size: 16px; font-weight: 500; margin-left: 7px; }
.case-secondary-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 6px; }
.case-secondary-bottom > span { font-size: 11px; color: var(--muted); }
.flow-list { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
.flow-list li { border-top: 1px solid var(--ink); padding-top: 24px; }
.flow-list .step { font-family: var(--en); font-size: 11px; color: var(--muted); }
.flow-list h3 { font-size: 19px; margin-top: 16px; }
.flow-list p { font-size: 13px; color: var(--muted); margin-top: 13px; }
.voices { background: var(--mist); }
.voice-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; }
.voice-photo > img { width: 100%; aspect-ratio: 1.8; object-fit: cover; object-position: center 36%; }
.voice-photo > div { padding-top: 23px; }
.voice-photo h3 { font-size: 23px; line-height: 1.65; margin-top: 12px; }
.voice-link { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; font-size: 11px; margin-top: 12px; }
.voice-stories > a { display: block; border-top: 1px solid var(--ink); padding: 25px 0; }
.voice-stories > a:last-child { border-bottom: 1px solid var(--line); }
.voice-stories h3 { font-size: 21px; margin-top: 12px; }
.voice-layout a:hover h3 { color: var(--blue); }
.people-journal-layout { display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; margin-top: 48px; }
.people { display: grid; grid-template-columns: 160px 1fr; gap: 25px; align-items: start; }
.people > img { width: 100%; aspect-ratio: .77; height: auto; object-fit: cover; }
.people h2 { font-size: 22px; line-height: 1.7; margin-top: 12px; }
.people p { font-size: 12px; color: var(--muted); margin-top: 17px; }
.people .signature { font-size: 16px; color: var(--ink); margin-top: 20px; }
.signature small { display: block; font-size: 10px; color: var(--muted); margin-bottom: 7px; }
.people .text-link { font-size: 11px; margin-top: 20px; }
.journal-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: -14px; }
.journal-top .text-link { font-size: 11px; }
.journal > h2 { font-size: 24px; line-height: 1.6; margin-top: 8px; margin-bottom: 23px; }
.journal-row { display: block; position: relative; padding: 20px 30px 20px 0; border-top: 1px solid var(--line); }
.journal-row:last-child { border-bottom: 1px solid var(--line); }
.journal-row h3 { font-size: 13px; line-height: 1.85; font-weight: 500; margin-top: 7px; }
.journal-row .small-label { font-size: 9px; }
.journal-row .row-arrow { position: absolute; right: 0; top: 50%; font-size: 18px; }
.journal-row:hover h3 { color: var(--blue); }
.contact { background: var(--ink); color: white; text-align: center; padding-block: 80px 64px; }
.contact .eyebrow { color: var(--sky); }
.contact h2 { font-size: 44px; line-height: 1.6; margin-top: 24px; }
.contact p:not(.eyebrow) { font-size: 14px; color: #bac4d7; margin-top: 24px; }
.contact .button { margin-top: 32px; min-width: 280px; }
.contact .button .arrow { margin-left: 36px; }
.contact small { display: block; font-size: 10px; color: #aeb9ce; margin-top: 17px; }
.footer { background: var(--ink); color: #d5dae4; }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; border-top: 1px solid #30394c; padding-block: 50px 40px; }
.footer-brand img { width: 143px; height: auto; }
.footer-brand > span { display: block; font-size: 10px; color: #abb7cb; margin-top: 20px; }
.footer nav .eyebrow { color: #9eacc6; font-size: 10px; margin-bottom: 10px; display: block; }
.footer nav a { display: flex; align-items: center; min-height: 44px; font-size: 11px; }
.footer nav a:hover { color: var(--sky); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-block: 20px 28px; border-top: 1px solid #30394c; gap: 24px; }
.footer-bottom small { font-family: var(--en); font-size: 10px; color: #abb7cb; }
.footer-bottom > a:not(.back-top) { font-size: 10px; min-height: 44px; display: flex; align-items: center; margin-left: auto; color: #abb7cb; }
.back-top { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #5a6478; border-radius: 50%; font-size: 18px; }
.mobile-cta { display: none; }
@keyframes enter-copy { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:no-preference) { .hero-category { animation: enter-copy .65s .05s both; } .hero-line:first-child { animation: enter-copy .7s .15s both; } .hero-line:last-child { animation: enter-copy .7s .25s both; } .hero-lower { animation: enter-copy .7s .35s both; } }
@media(min-width:1600px) { .hero-inner { padding-top: 72px; } h1 { font-size: 64px; } .hero-lower { margin-top: 34px; } .hero-lead { font-size: 15px; } }
@media(max-width:1250px) { .brand > span { display: none; } .desktop-nav { gap: 18px; } .header { gap: 24px; } h1 { font-size: 50px; } .philosophy-layout { gap: 48px; } .philosophy h2 { font-size: 33px; } .service-list > a { grid-template-columns: 48px 1fr 1fr 24px; gap: 20px; } .service-list h3 { font-size: 19px; } .people-journal-layout { gap: 40px; grid-template-columns: 1.15fr 1fr; } .people { grid-template-columns: 125px 1fr; gap: 20px; } .people h2 { font-size: 19px; } .case-result { gap: 16px; font-size: 80px; } .metric-number { font-size: 54px; } }
@media(max-width:1050px) { .header { height: 86px; } .brand img { width: 124px; } .header-cta .icon { display: none; } .header-cta { padding-inline: 14px; font-size: 11px; } .desktop-nav { gap: 14px; font-size: 11px; } .container { width: calc(100% - 80px); } h1 { font-size: 43px; } .hero-inner { padding-top: 48px; } .hero-note { display: none; } h2 { font-size: 34px; } .metric-grid { gap: 24px; } .metric-number { font-size: 46px; } .metric-number small { font-size: 15px; } .metric-label { font-size: 9px; } .problem-grid { gap: 24px; } .problem-grid h3 { font-size: 17px; } .problem-grid p { font-size: 12px; } .section-heading { gap: 32px; } .section-heading > p, .section-heading > div > p { font-size: 13px; } .philosophy h2 { font-size: 29px; } .philosophy-copy > p { font-size: 13px; } .editorial-sign { gap: 12px; font-size: 40px; } .case-data { padding: 26px; } .case-result { font-size: 65px; gap: 12px; } .case-result-arrow { font-size: 35px; } .case-result small { font-size: 10px; margin-left: 0; } .case-story { padding: 29px; } .case-story h3 { font-size: 21px; } .case-secondary article { padding: 22px; } .case-secondary h3 { font-size: 16px; } .secondary-number { font-size: 47px; } .flow-list { gap: 24px; } .flow-list h3 { font-size: 17px; } .flow-list p { font-size: 12px; } .voice-layout { gap: 40px; } .voice-stories h3 { font-size: 19px; } .people-journal-layout { grid-template-columns: 1fr; gap: 50px; } .people { grid-template-columns: 190px 1fr; gap: 36px; max-width: 650px; } .people h2 { font-size: 25px; } .people p { font-size: 14px; } .journal { margin-left: 28%; } }
@media(max-width:1000px) { .desktop-nav { display: none; } .header { height: 82px; padding-inline: 30px; gap: 20px; } .brand img { width: 135px; } .header-cta { padding-inline: 17px; font-size: 12px; } .header-cta .icon { display: block; } .menu-toggle { border: 0; background: none; display: flex; flex-direction: column; justify-content: center; gap: 7px; width: 40px; height: 44px; padding: 8px; cursor: pointer; } .menu-toggle span { width: 24px; height: 1px; background: var(--ink); } .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(4px) rotate(45deg); } .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-4px) rotate(-45deg); } .mobile-nav:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; position: absolute; top: 100%; left: 0; right: 0; background: white; border-bottom: 1px solid var(--line); padding: 16px 30px 24px; } .mobile-nav a { display: flex; align-items: center; min-height: 52px; font-size: 13px; border-bottom: 1px solid var(--line); } h1 { font-size: 34px; line-height: 1.6; } .hero-category { font-size: 11px; } .hero-inner { padding-top: 40px; } .hero-lower { margin-top: 24px; } .hero-actions { margin-top: 24px; } .hero-scroll { margin-top: 16px; } .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 35px; } .metric-number { font-size: 53px; } .metric-label { font-size: 10px; } .results { padding-block: 27px; } .section { padding-block: 64px; } .section-heading { flex-direction: column; align-items: flex-start; gap: 24px; padding-top: 28px; margin-bottom: 32px; } .problem-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; } .problem-grid h3 { font-size: 19px; } .problem-grid p { font-size: 13px; } .philosophy { padding-block: 54px; } .philosophy-layout { grid-template-columns: 1fr; margin-top: 30px; gap: 32px; } .philosophy h2 { font-size: 35px; } .serif-note { margin-top: 16px; } .editorial-sign { margin-top: 22px; font-size: 45px; } .philosophy-copy { padding-left: 24%; } .philosophy-copy > p { font-size: 14px; } .service-list > a { grid-template-columns: 38px 1fr 24px; gap: 14px 18px; } .service-list p { grid-row: 2; grid-column: 2; } .service-list .row-arrow { grid-row: 1/3; grid-column: 3; } .service-list h3 { font-size: 22px; } .section-bottom .button { font-size: 12px; padding-inline: 22px; } .case-feature { grid-template-columns: 1fr; } .case-data { padding: 30px; } .case-result { margin-top: 12px; font-size: 89px; } .case-data > p:not(.case-result,.case-kicker) { margin-top: 7px; } .case-note { margin-top: 16px; } .case-story { padding: 30px; } .case-story h3 { font-size: 25px; } .case-story > p:not(.eyebrow) { font-size: 14px; } .case-story .text-link { font-size: 12px; } .case-secondary { grid-template-columns: 1fr; gap: 16px; } .case-secondary article { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0 24px; padding: 24px; } .case-secondary .small-label { grid-column: 1; } .case-secondary h3 { grid-column: 1; font-size: 19px; margin-top: 10px; } .secondary-number { grid-column: 2; grid-row: 1/3; justify-self: end; align-self: center; margin-top: 0; font-size: 52px; } .case-secondary-bottom { grid-column: 1/-1; margin-top: 12px; } .flow-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; } .flow-list h3 { font-size: 20px; } .flow-list p { font-size: 13px; } .voice-layout { grid-template-columns: 1fr; gap: 32px; } .voice-photo { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: center; } .voice-photo > img { aspect-ratio: 1.2; height: auto; object-position: 50% 35%; } .voice-photo > div { padding-top: 0; } .voice-photo h3 { font-size: 20px; } .voice-stories { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; } .voice-stories > a:last-child { border-bottom: 0; } .voice-stories h3 { font-size: 18px; } .contact h2 { font-size: 36px; } .footer-top { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; } .footer-brand { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: center; } .footer-brand > span { margin-top: 0; } }
@media(max-width:600px) {
  .container { width: calc(100% - 44px); }
  html { scroll-padding-top: 24px; }
  body { padding-bottom: 75px; }
  h2 { font-size: 27px; line-height: 1.7; }
  h3 { font-size: 18px; }
  .desktop-only { display: none; }
  .mobile-only { display: block; }
  .header { height: 76px; padding-inline: 22px; gap: 14px; }
  .brand img { width: 117px; }
  .header-cta { min-height: 41px; padding: 10px 13px; font-size: 10px; gap: 8px; }
  .header-cta .arrow, .header-cta .icon { display: none; }
  .menu-toggle { padding-inline: 3px; width: 30px; }
  .hero-inner { padding-top: 36px; padding-bottom: 14px; }
  .hero-photo { object-position: 66% center; opacity: .075; }
  .hero-category { font-size: 9px; gap: 9px; margin-bottom: 23px; }
  .small-rule { width: 15px; }
  h1 { font-size: 31px; line-height: 1.6; font-weight: 800; }
  .hero-line:first-child > span { display: block; }
  .hero-line:last-child { margin-top: 3px; }
  .hero-end { display: block; }
  h1 em { font-size: 1.24em; margin-left: -.13em; }
  .hero-lower { display: block; margin-top: 22px; }
  .hero-lead { font-size: 12px; line-height: 2.05; max-width: 340px; }
  .hero-actions { gap: 22px; margin-top: 22px; flex-wrap: wrap; }
  .button { min-height: 54px; font-size: 12px; padding-inline: 18px; gap: 10px; }
  .button .arrow { font-size: 20px; margin-left: 18px; }
  .button .icon { width: 17px; height: 17px; }
  .hero-actions .text-link { font-size: 11px; gap: 12px; }
  .hero-actions .circle-arrow { display: none; }
  .hero-scroll { font-size: 8px; gap: 14px; margin-top: 14px; min-height: 36px; }
  .results { padding-block: 22px; }
  .result-heading { margin-bottom: 19px; gap: 15px; }
  .result-heading > p:last-child { font-size: 9px; }
  .results .eyebrow { font-size: 8px; }
  .metric-grid { gap: 22px; }
  .metric-grid article { padding-top: 14px; }
  .metric-label { font-size: 8px; line-height: 1.8; }
  .metric-number { font-size: 44px; margin-top: 7px; }
  .metric-number small { font-size: 12px; margin-inline: 2px; }
  .metric-context { font-size: 9px; margin-top: 5px; }
  .results .disclaimer { font-size: 8px; margin-top: 22px; }
  .section { padding-block: 48px; }
  .section-top { padding-bottom: 17px; gap: 16px; }
  .eyebrow { font-size: 9px; }
  .index-label { font-size: 9px; }
  .section-heading { padding-top: 25px; gap: 20px; margin-bottom: 28px; }
  .section-heading > p, .section-heading > div > p { font-size: 12px; line-height: 2; }
  .text-link { font-size: 11px; gap: 16px; }
  .circle-arrow { width: 44px; height: 44px; font-size: 19px; }
  .problem-grid { gap: 25px 20px; }
  .problem-grid article { padding-top: 16px; }
  .problem-grid h3 { font-size: 16px; line-height: 1.8; margin-top: 11px; }
  .number { font-size: 11px; }
  .problem-grid p { font-size: 11px; line-height: 1.95; margin-top: 11px; }
  .philosophy { padding-block: 43px; }
  .philosophy-layout { margin-top: 26px; gap: 25px; }
  .philosophy h2 { font-size: 26px; line-height: 1.8; }
  .serif-note { font-size: 13px; margin-top: 14px; }
  .editorial-sign { gap: 13px; font-size: 39px; margin-top: 25px; }
  .philosophy-copy { padding: 0 0 0 17px; border-left: 1px solid #c7b994; }
  .philosophy-copy > p { font-size: 12px; line-height: 2.15; margin-bottom: 18px; }
  .philosophy-copy .text-link { margin-top: 0; }
  .service-list > a { grid-template-columns: 28px 1fr 20px; gap: 11px 14px; padding-block: 23px; }
  .service-number { font-size: 24px; }
  .service-en { font-size: 8px; margin-bottom: 7px; }
  .service-list h3 { font-size: 18px; line-height: 1.6; }
  .service-list p { font-size: 11px; line-height: 1.95; }
  .service-list .row-arrow { font-size: 20px; }
  .service-list > .ai-service { padding-inline: 14px; margin-inline: -14px; }
  .section-bottom { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 22px; }
  .section-bottom .button { align-self: flex-end; min-height: 54px; }
  .case-data { padding: 24px; }
  .case-kicker { font-size: 10px; }
  .case-result { font-size: 78px; gap: 14px; margin-top: 17px; }
  .case-result-arrow { font-size: 35px; }
  .case-result small { font-size: 10px; }
  .case-data > p:not(.case-result,.case-kicker) { font-size: 10px; margin-top: 5px; }
  .case-note { font-size: 8px; margin-top: 17px; }
  .case-story { padding: 26px 23px; }
  .case-story .eyebrow { font-size: 9px; }
  .case-story h3 { font-size: 21px; line-height: 1.8; margin-top: 13px; }
  .case-story > p:not(.eyebrow) { font-size: 12px; margin-top: 16px; }
  .case-story dl { margin-block: 19px; }
  .case-story dl > div { gap: 14px; font-size: 10px; padding-block: 11px; }
  .case-story .text-link { font-size: 10px; gap: 10px; display: flex; justify-content: space-between; }
  .case-secondary { gap: 15px; margin-top: 18px; }
  .case-secondary article { display: block; padding: 23px; }
  .small-label { font-size: 9px; }
  .case-secondary h3 { font-size: 19px; margin-top: 14px; }
  .secondary-number { font-size: 54px; margin-top: 16px; }
  .case-secondary-bottom { margin-top: 4px; }
  .case-secondary-bottom > span { font-size: 10px; }
  .disclaimer { font-size: 8px; margin-top: 20px; }
  .flow h2 { font-size: 25px; }
  .flow-list { grid-template-columns: 1fr; gap: 22px; }
  .flow-list li { display: grid; grid-template-columns: 72px 1fr; column-gap: 15px; padding-top: 20px; }
  .flow-list .step { font-size: 10px; padding-top: 7px; }
  .flow-list h3 { font-size: 18px; margin-top: 0; }
  .flow-list p { grid-column: 2; font-size: 12px; margin-top: 9px; line-height: 1.95; }
  .voice-layout { gap: 24px; }
  .voice-photo { display: block; }
  .voice-photo > img { aspect-ratio: 1.7; object-position: center 35%; }
  .voice-photo > div { padding-top: 20px; }
  .voice-photo h3 { font-size: 23px; margin-top: 11px; }
  .voice-link { font-size: 10px; margin-top: 10px; }
  .voice-stories { grid-template-columns: 1fr; gap: 0; }
  .voice-stories > a { padding-block: 22px; }
  .voice-stories > a:last-child { border-bottom: 1px solid var(--line); }
  .voice-stories h3 { font-size: 20px; margin-top: 11px; }
  .people-journal-layout { margin-top: 28px; gap: 38px; }
  .people { grid-template-columns: 95px 1fr; gap: 18px; }
  .people > img { aspect-ratio: .74; }
  .people h2 { font-size: 17px; line-height: 1.85; margin-top: 11px; }
  .people p { font-size: 11px; line-height: 1.95; margin-top: 14px; }
  .people .signature { font-size: 14px; margin-top: 18px; }
  .signature small { font-size: 9px; }
  .people .text-link { font-size: 10px; margin-top: 17px; gap: 10px; }
  .journal { margin-left: 0; }
  .journal-top { margin-top: 0; }
  .journal > h2 { font-size: 25px; margin-top: 9px; margin-bottom: 22px; }
  .journal-row { padding-block: 19px; }
  .journal-row h3 { font-size: 13px; }
  .contact { padding-block: 49px 43px; }
  .contact h2 { font-size: 25px; margin-top: 21px; line-height: 1.8; }
  .contact p:not(.eyebrow) { font-size: 11px; margin-top: 19px; }
  .contact .button { min-width: 255px; margin-top: 25px; }
  .contact small { font-size: 9px; margin-top: 14px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 28px; padding-block: 35px 26px; }
  .footer-brand { display: block; }
  .footer-brand img { width: 125px; }
  .footer-brand > span { font-size: 10px; margin-top: 17px; }
  .footer nav .eyebrow { font-size: 9px; margin-bottom: 7px; }
  .footer nav a { font-size: 10px; }
  .footer-bottom { padding-block: 15px 25px; gap: 15px; }
  .footer-bottom > a:not(.back-top) { font-size: 8px; }
  .footer-bottom small { font-size: 9px; }
  .mobile-cta { display: flex; position: fixed; z-index: 25; left: 14px; right: 14px; bottom: max(12px, env(safe-area-inset-bottom)); justify-content: space-between; min-height: 53px; padding: 12px 19px; border: 1px solid #ffffff50; }
  .mobile-cta .arrow { margin-left: 0; }
}
@media(max-width:600px) {
  .hero-lead { font-size: 13px; }
  .philosophy-copy > p { font-size: 13px; }
  .problem-grid p, .service-list p, .contact p:not(.eyebrow) { font-size: 12px; }
  .case-story > p:not(.eyebrow) { font-size: 13px; }
  .people p { font-size: 12px; }
  .hero-actions .text-link { min-height: 44px; }
}
@media(max-width:370px) { .container { width: calc(100% - 36px); } .header { padding-inline: 18px; gap: 10px; } .brand img { width: 106px; } .header-cta { padding-inline: 10px; font-size: 9px; } h1 { font-size: 28px; } .hero-category { font-size: 8px; } .hero-actions { gap: 10px; } .hero-actions .button { padding-inline: 14px; font-size: 11px; } .hero-actions .button .arrow { margin-left: 10px; } .metric-number { font-size: 34px; } .metric-number small { font-size: 10px; } .metric-label { font-size: 7px; } .case-result { font-size: 68px; gap: 10px; } .case-result-arrow { font-size: 28px; } .philosophy h2 { font-size: 23px; } .flow h2 { font-size: 22px; } .people { grid-template-columns: 80px 1fr; gap: 15px; } .people h2 { font-size: 15px; } .contact h2 { font-size: 22px; } }
.texture-surface { position: relative; isolation: isolate; }
.texture-surface::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('assets/fine-grain.svg') repeat; opacity: .045; mix-blend-mode: multiply; }
.results.texture-surface::before, .contact.texture-surface::before { opacity: .075; mix-blend-mode: soft-light; }
.section-top { position: relative; }
.section-top::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 32px; height: 1px; background: var(--gold); }
.service-en { display: flex; align-items: center; gap: 11px; min-height: 21px; }
.service-icon { width: 19px; height: 19px; color: #536176; }
.icon-web { mask: url('assets/panels-top-left.svg') center / contain no-repeat; -webkit-mask: url('assets/panels-top-left.svg') center / contain no-repeat; }
.icon-interview { mask: url('assets/messages-square.svg') center / contain no-repeat; -webkit-mask: url('assets/messages-square.svg') center / contain no-repeat; }
.icon-content { mask: url('assets/file-search.svg') center / contain no-repeat; -webkit-mask: url('assets/file-search.svg') center / contain no-repeat; }
.icon-support { mask: url('assets/life-buoy.svg') center / contain no-repeat; -webkit-mask: url('assets/life-buoy.svg') center / contain no-repeat; }
.icon-ai { mask: url('assets/scan-search.svg') center / contain no-repeat; -webkit-mask: url('assets/scan-search.svg') center / contain no-repeat; }
.icon-talk { mask: url('assets/message-circle.svg') center / contain no-repeat; -webkit-mask: url('assets/message-circle.svg') center / contain no-repeat; }
.icon-listen { mask: url('assets/audio-lines.svg') center / contain no-repeat; -webkit-mask: url('assets/audio-lines.svg') center / contain no-repeat; }
.icon-publish { mask: url('assets/monitor-check.svg') center / contain no-repeat; -webkit-mask: url('assets/monitor-check.svg') center / contain no-repeat; }
.icon-learn { mask: url('assets/book-open-check.svg') center / contain no-repeat; -webkit-mask: url('assets/book-open-check.svg') center / contain no-repeat; }
.flow-list .step { display: inline-flex; align-items: center; gap: 10px; min-height: 22px; }
.flow-list .step .icon { width: 20px; height: 20px; color: #536176; }
.voice-photo > img { aspect-ratio: 450 / 320; height: auto; object-fit: contain; object-position: center; }
.button .arrow, .row-arrow { display: inline-block; transition: transform .22s ease; }
.button:hover .arrow, .service-list > a:hover .row-arrow, .journal-row:hover .row-arrow { transform: translate(3px, -3px); }
.service-list > a:hover .service-icon { color: var(--blue); }
.voice-photo .voice-link, .voice-stories .voice-link { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; transition: text-decoration-color .22s; }
.voice-photo:hover .voice-link, .voice-stories > a:hover .voice-link { text-decoration-color: currentColor; }
@keyframes rule-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media(prefers-reduced-motion:no-preference) { .section-top.is-inview::after { transform-origin: left; animation: rule-in .7s cubic-bezier(.22,.61,.36,1) both; } }
@media(max-width:600px) { .service-en { gap: 9px; min-height: 20px; } .service-icon { width: 18px; height: 18px; } .flow-list .step { gap: 7px; align-self: start; padding-top: 4px; } .flow-list .step .icon { width: 17px; height: 17px; } .voice-photo h3 { font-size: 21px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *, *:before, *:after { animation: none !important; transition: none !important; } }

/* Shared inner pages and WordPress content. */
@media(max-width:600px) { .header .header-cta { display: none; } .header .menu-toggle { margin-left: auto; flex: 0 0 30px; } }
:root { --blue-dark: var(--ink); --blue-soft: #eaf0ff; }
.inner-hero { padding-top: 28px; padding-bottom: 66px; }
.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 15px; font-size: 10px; color: var(--muted); margin-bottom: 47px; }
.breadcrumbs > * + *::before { content: '/'; color: #b7bfcc; margin-right: 15px; }
.breadcrumbs a { min-height: 32px; display: inline-flex; align-items: center; }
.breadcrumbs a:hover { color: var(--blue); }
.inner-hero h1, .centered h1 { font-size: 46px; font-weight: 700; line-height: 1.6; margin-top: 22px; }
.inner-hero h1 > span, .centered h1 > span { display: block; }
.inner-lead { max-width: 730px; font-size: 15px; color: var(--muted); line-height: 2.05; margin-top: 25px; }
.inner-hero > .text-link { margin-top: 24px; }
.inner-hero .hero-actions { margin-top: 29px; }
.page-index { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 4px 32px; padding-block: 12px; }
.page-index a { min-height: 44px; display: inline-flex; align-items: center; gap: 15px; font-size: 12px; }
.page-index a::after { content: '↓'; color: #7f8a9c; }
.page-index a:hover { color: var(--blue); }
.band { background-color: var(--mist); }
.inner-section { padding-block: 76px; }
.inner-section > h2 { margin-top: 20px; }
.editorial-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.editorial-split h2 { font-size: 34px; line-height: 1.7; margin-top: 19px; }
.editorial-split > h2 { margin-top: 0; }
.reading-copy { min-width: 0; }
.reading-copy > p { font-size: 15px; line-height: 2.1; margin-bottom: 22px; }
.reading-copy > p:last-child { margin-bottom: 0; }
.reading-copy h2 { margin-bottom: 23px; }
.reading-copy .eyebrow { margin-bottom: 10px; }
.reading-copy .text-link { margin-top: 8px; }
.section-photo { width: 100%; aspect-ratio: 1.7; object-fit: cover; margin-top: 30px; }
.section-lead { max-width: 760px; font-size: 15px; color: var(--muted); line-height: 2.05; margin-top: 25px; }
.small-note { font-size: 12px; color: var(--muted); line-height: 1.95; margin-top: 24px; }
.detail-list { margin-top: 8px; }
.detail-list > article { display: grid; grid-template-columns: 100px 1fr; gap: 32px; border-bottom: 1px solid var(--line); padding-block: 44px; scroll-margin-top: 32px; }
.detail-number { font-family: var(--en); font-size: 45px; line-height: 1.2; color: #8b95a6; }
.detail-list article > div { min-width: 0; max-width: 860px; }
.detail-list h2 { font-size: 30px; margin: 10px 0 17px; line-height: 1.6; }
.detail-list .detail-intro { font-size: 17px; font-weight: 500; color: var(--ink); margin-bottom: 17px; }
.detail-list p { font-size: 14px; line-height: 2.05; color: var(--muted); }
.detail-list .small-note { font-size: 12px; }
.plain-list { padding: 0; margin: 22px 0 0; list-style: none; border-top: 1px solid var(--line); }
.plain-list li { padding: 11px 0 11px 21px; position: relative; font-size: 13px; line-height: 1.9; border-bottom: 1px solid var(--line); }
.plain-list li::before { content: '✓'; position: absolute; left: 0; color: #65758b; }
.narrow { max-width: 860px; }
.faq-list { margin-block: 31px; border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--line); padding-block: 0; }
.faq-list summary { cursor: pointer; min-height: 76px; padding: 23px 32px 23px 35px; font-size: 15px; font-weight: 500; line-height: 1.9; position: relative; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::before { content: 'Q'; position: absolute; left: 0; top: 23px; color: #687991; font-family: var(--en); font-size: 17px; }
.faq-list summary::after { content: '+'; position: absolute; right: 0; top: 24px; font-size: 22px; font-family: var(--en); font-weight: 400; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details > p { font-size: 14px; color: var(--muted); line-height: 2.1; padding: 0 30px 25px 35px; }
.related-links { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 38px; }
.related-links > a { display: grid; grid-template-columns: 1fr 44px; gap: 15px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); padding-block: 24px; align-items: center; }
.related-links h3 { font-size: 20px; grid-column: 1; }
.related-links .circle-arrow { grid-column: 2; grid-row: 1/3; }
.related-links > a:hover h3 { color: var(--blue); }
.timeline { list-style: none; margin: 33px 0 0; padding: 0; }
.timeline li { display: grid; grid-template-columns: 90px 1fr; gap: 32px; border-top: 1px solid var(--line); padding-block: 30px; }
.timeline li:last-child { border-bottom: 1px solid var(--line); }
.timeline li > span { font-family: var(--en); color: #748097; font-size: 22px; padding-top: 5px; }
.timeline h2 { font-size: 23px; line-height: 1.7; }
.timeline p { font-size: 14px; color: var(--muted); line-height: 2.05; max-width: 800px; margin-top: 12px; }
.check-grid, .value-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.check-grid article, .value-grid article { border-top: 1px solid var(--line); padding-top: 22px; }
.check-grid h3 { font-size: 20px; }
.check-grid p, .value-grid p { color: var(--muted); font-size: 14px; line-height: 2; margin-top: 15px; }
.value-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 32px; }
.value-grid h2 { font-size: 25px; margin-top: 18px; }
.info-table { margin-top: 32px; }
.info-table > div { display: grid; grid-template-columns: 165px 1fr; gap: 32px; border-top: 1px solid var(--line); padding-block: 24px; font-size: 14px; line-height: 2; }
.info-table > div:last-child { border-bottom: 1px solid var(--line); }
.info-table dt { color: var(--muted); }
.info-table dd { margin: 0; }
.info-table a { text-decoration: underline; text-underline-offset: 4px; }
.founder-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.founder-portrait { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.founder-layout h2 { font-size: 30px; line-height: 1.75; }
.founder-layout .signature { font-size: 14px; margin-top: 28px; }
.result-catalog { display: grid; grid-template-columns: 1fr 1fr; column-gap: 50px; margin-top: 18px; }
.result-catalog article { padding-block: 32px; border-bottom: 1px solid var(--line); }
.result-catalog h2 { display: flex; flex-wrap: wrap; gap: 4px 13px; align-items: baseline; margin-block: 17px 20px; line-height: 1.25; }
.result-value { font-size: 50px; color: var(--blue); font-family: var(--en); font-weight: 500; white-space: nowrap; }
.result-catalog h2 small { font-size: 14px; font-weight: 500; }
.result-catalog h2.result-text { font-size: 30px; color: var(--blue); line-height: 1.6; }
.result-catalog h3 { font-size: 18px; line-height: 1.8; }
.result-catalog article > p:last-child { color: var(--muted); font-size: 13px; margin-top: 13px; line-height: 2; }
.interview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 33px; }
.interview-grid > a { min-width: 0; }
.interview-grid img { width: 100%; height: auto; aspect-ratio: 1.6; object-fit: contain; background: #e8ebf0; }
.interview-grid .small-label { margin-top: 22px; }
.interview-grid h2 { font-size: 25px; line-height: 1.7; margin-top: 14px; }
.interview-grid h3 { font-size: 23px; margin-top: 14px; }
.interview-grid p { font-size: 13px; color: var(--muted); margin-top: 15px; line-height: 2; }
.interview-grid > a:hover h2, .interview-grid > a:hover h3 { color: var(--blue); }
.customer-stories { margin-top: 24px; }
.customer-stories article { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; border-top: 1px solid var(--line); padding-block: 34px; }
.customer-stories article:last-child { border-bottom: 1px solid var(--line); }
.customer-stories h3 { font-size: 22px; line-height: 1.75; margin-top: 13px; }
.customer-stories article > div > p:not(.small-label) { font-size: 14px; line-height: 2.1; color: var(--muted); }
.customer-stories .text-link { margin-top: 15px; }
.case-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 28px; font-size: 11px; color: var(--muted); }
.case-meta > span + span { border-left: 1px solid var(--line); padding-left: 24px; }
.interview-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.interview-overview > img { width: 100%; height: auto; object-fit: contain; }
.interview-overview h2 { font-size: 30px; line-height: 1.75; margin-top: 18px; }
.case-facts { margin: 28px 0 0; }
.case-facts > div { display: grid; grid-template-columns: 120px 1fr; gap: 22px; border-top: 1px solid #d8deea; padding-block: 16px; font-size: 13px; line-height: 1.9; }
.case-facts dt { color: var(--muted); }
.case-facts dd { margin: 0; font-weight: 500; }
.interview-reading { display: grid; grid-template-columns: 230px minmax(0,760px); gap: 80px; justify-content: space-between; }
.interview-side { position: sticky; top: 30px; align-self: start; }
.interview-side > p:not(.eyebrow) { font-size: 12px; line-height: 2; color: var(--muted); margin: 19px 0; }
.interview-side a { display: flex; align-items: center; min-height: 44px; font-size: 12px; border-bottom: 1px solid var(--line); }
.interview-side a:hover { color: var(--blue); }
.interview-body article { padding-bottom: 45px; margin-bottom: 45px; border-bottom: 1px solid var(--line); scroll-margin-top: 32px; }
.interview-body article:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.question-label { color: var(--muted); font-size: 12px; line-height: 1.9; }
.interview-body h2 { font-size: 29px; line-height: 1.7; margin: 18px 0 24px; }
.interview-body article > p:last-child { font-size: 16px; line-height: 2.1; }
.contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }
.contact-guidance { position: sticky; top: 30px; }
.contact-guidance h2 { font-size: 32px; line-height: 1.7; margin-top: 20px; }
.contact-guidance > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 2; margin-top: 23px; }
.contact-guidance dl { margin-block: 27px; }
.contact-guidance dl > div { border-top: 1px solid #d8deea; padding-block: 15px; }
.contact-guidance dt { color: var(--muted); font-size: 11px; }
.contact-guidance dd { font-size: 13px; line-height: 1.9; margin: 6px 0 0; }
.consult-form { background: white; padding: 35px; border: 1px solid var(--line); min-width: 0; }
.consult-form h2 { font-size: 27px; margin-top: 15px; }
.consult-form > p:not(.eyebrow,.privacy-notice) { font-size: 12px; line-height: 1.9; color: var(--muted); margin-top: 15px; }
.contact-form-cf7 { margin-top: 28px; }
.form-field, .contact-form-cf7 .form-row { margin: 0 0 25px; border: 0; padding: 0; min-width: 0; }
.form-field > label, .form-field > legend, .contact-form-cf7 .form-row > label { display: block; font-size: 13px; font-weight: 500; line-height: 1.8; margin-bottom: 10px; }
.required, .optional { font-size: 9px; display: inline-block; margin-left: 8px; padding: 1px 6px; background: var(--ink); color: white; vertical-align: 1px; font-weight: 500; }
.optional { color: var(--muted); background: #eef1f6; }
.contact-form-cf7 :is(input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select) { display: block; width: 100%; max-width: 100%; border: 1px solid #c9d2e1; border-radius: 3px; min-height: 48px; padding: 12px 13px; background: #fcfdff; color: var(--ink); font-family: var(--ja); font-size: 15px; font-weight: 400; line-height: 1.75; }
.contact-form-cf7 textarea { resize: vertical; min-height: 180px; }
.contact-form-cf7 input::placeholder, .contact-form-cf7 textarea::placeholder { color: #8c97a8; font-size: 12px; }
.contact-form-cf7 input:focus, .contact-form-cf7 textarea:focus, .contact-form-cf7 select:focus { outline: 2px solid #7e9aff; outline-offset: 2px; border-color: #7590e6; }
.choice-list, .contact-form-cf7 .wpcf7-checkbox { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 12px; }
.choice-list > label, .contact-form-cf7 .wpcf7-checkbox .wpcf7-list-item { border: 1px solid var(--line); padding: 11px 10px; margin: 0; border-radius: 3px; background: #fbfcff; }
.choice-list > label, .contact-form-cf7 .wpcf7-checkbox label, .acceptance, .contact-form-cf7 .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; line-height: 1.85; }
.contact-form-cf7 :is(input[type=checkbox],input[type=radio]) { flex: 0 0 auto; width: 16px; height: 16px; min-width: 16px; min-height: 16px; margin: 3px 0 0; padding: 0; accent-color: var(--blue); }
.contact-form-cf7 .wpcf7-form-control-wrap { display: block; }
.contact-form-cf7 .wpcf7-acceptance, .contact-form-cf7 .wpcf7-acceptance .wpcf7-list-item { display: block; margin: 0; }
.acceptance, .contact-form-cf7 .wpcf7-acceptance { margin-block: 22px; }
.contact-form-cf7 .wpcf7-submit { background: var(--blue); color: white; border: 0; font-family: var(--ja); font-weight: 600; font-size: 14px; padding: 16px 24px; min-height: 54px; cursor: pointer; width: auto; max-width: 100%; }
.contact-form-cf7 .wpcf7-submit:hover { background: var(--blue-hover); }
.contact-form-cf7 .wpcf7-not-valid-tip { font-size: 12px; margin-top: 6px; line-height: 1.8; }
.contact-form-cf7 .wpcf7-response-output { margin: 20px 0 0; padding: 12px; font-size: 13px; line-height: 1.9; }
.contact-form-cf7 form > br, .contact-form-cf7 .wpcf7-form-control-wrap > br { display: none; }
.contact-form-cf7 .wpcf7-form > p { margin: 0 0 22px; font-size: 13px; }
.contact-form-cf7 .wpcf7-form > p > label { display: block; line-height: 1.9; }
.contact-form-cf7 .form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 20px; margin-bottom: 28px; }
.contact-form-cf7 .form-grid > label, .contact-form-cf7 .wpcf7-form > label { display: block; min-width: 0; font-size: 13px; font-weight: 500; line-height: 1.8; }
.contact-form-cf7 .wpcf7-form > label { margin-bottom: 26px; }
.contact-form-cf7 .form-grid > label > span:first-child, .contact-form-cf7 .wpcf7-form > label > span:first-child { display: block; margin-bottom: 9px; }
.contact-form-cf7 label b { display: inline-block; padding: 1px 6px; margin-left: 6px; border-radius: 2px; font-size: 10px; font-weight: 500; color: white; background: var(--ink); vertical-align: 1px; }
.contact-form-cf7 .wpcf7-form > fieldset:not(.hidden-fields-container) { min-width: 0; padding: 18px; margin: 0 0 26px; border: 1px solid var(--line); }
.contact-form-cf7 legend { padding-inline: 6px; font-size: 13px; font-weight: 500; }
.contact-form-cf7 .privacy-check { margin-top: 8px; }
.contact-form-cf7 .privacy-guidance { font-size: 11px; line-height: 1.9; color: var(--muted); }
.contact-form-cf7 .privacy-guidance a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.contact-form-cf7 .wpcf7-submit:disabled { opacity: .5; cursor: not-allowed; }
@media(max-width:600px) { .contact-form-cf7 .form-grid { grid-template-columns: 1fr; gap: 23px; }.contact-form-cf7 .wpcf7-form > fieldset:not(.hidden-fields-container) { padding: 14px 12px; }.contact-form-cf7 .wpcf7-submit { width: 100%; font-size: 13px; }.contact-form-cf7 .privacy-guidance { font-size: 11px; } }
.privacy-notice { font-size: 11px; line-height: 2; color: var(--muted); margin-top: 23px; }
.privacy-notice a { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.preview-submit:disabled { cursor: default; opacity: .5; }
.centered { text-align: center; }
.centered .hero-actions { justify-content: center; }
.centered .section-lead { margin-inline: auto; }
.notice { margin-block: 32px; background: var(--mist); padding: 30px; border: 1px solid var(--line); }
.notice h2 { font-size: 22px; }
.notice p { font-size: 14px; color: var(--muted); margin-top: 17px; line-height: 2; }
.legal-copy { max-width: 860px; padding-top: 20px; }
.legal-copy article { border-top: 1px solid var(--line); padding-block: 28px; }
.legal-copy h2 { font-size: 22px; line-height: 1.75; }
.legal-copy p, .legal-copy li { font-size: 14px; line-height: 2.1; margin-top: 17px; }
.legal-copy li { margin-top: 8px; }
.legal-copy ul { padding-left: 1.3em; margin-block: 16px; }
.three-columns { grid-template-columns: repeat(3,minmax(0,1fr)); }
.reviews-section { padding-block: 65px; }
.reviews-section h2 { font-size: 32px; margin-top: 15px; }
.reviews-widget { margin-top: 30px; min-width: 0; }
.reviews-section .text-link { margin-top: 20px; }
.post-archive { padding-top: 8px; padding-bottom: 65px; }
.blog-controls { padding-block: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr 300px; gap: 35px; }
.category-nav > div { display: flex; flex-wrap: wrap; gap: 4px 21px; margin-top: 12px; }
.category-nav a { font-size: 12px; min-height: 36px; display: inline-flex; align-items: center; border-bottom: 1px solid transparent; }
.category-nav a:hover, .category-nav a[aria-current] { color: var(--blue); border-bottom-color: var(--blue); }
.blog-search > label { display: block; font-size: 11px; margin-bottom: 11px; }
.blog-search > div { display: flex; min-height: 46px; }
.blog-search input { min-width: 0; width: 100%; padding: 10px 12px; font-size: 13px; font-family: var(--ja); border: 1px solid #c8d1df; border-right: 0; border-radius: 0; background: white; }
.blog-search button { flex: 0 0 auto; border: 1px solid var(--ink); background: var(--ink); color: white; font-size: 11px; padding-inline: 15px; cursor: pointer; }
.post-list > article { display: grid; grid-template-columns: .65fr 1.35fr; gap: 38px; padding-block: 34px; border-bottom: 1px solid var(--line); }
.post-thumb { display: block; width: 100%; aspect-ratio: 1.8; background: var(--mist); overflow: hidden; }
.post-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.post-thumb.is-fallback { background: #e9edf5; display: grid; place-items: center; padding: 35px; }
.post-thumb.is-fallback img { object-fit: contain; height: auto; width: 70%; opacity: .35; }
.post-list h2 { font-size: 23px; line-height: 1.75; margin-top: 12px; }
.post-list h2 a:hover { color: var(--blue); }
.post-list article > div > p { font-size: 13px; color: var(--muted); margin-top: 15px; line-height: 2; }
.post-list .text-link { font-size: 11px; margin-top: 12px; }
.post-date { font-family: var(--en); font-size: 11px; color: var(--muted); margin-right: 17px; }
.pagination { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 35px; justify-content: center; }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 8px 13px; border: 1px solid var(--line); font-size: 13px; }
.pagination .current { background: var(--ink); color: white; border-color: var(--ink); }
.empty-state { padding-block: 50px; }
.empty-state h2 { font-size: 24px; margin-bottom: 18px; }
.article-header { padding-block: 28px 47px; max-width: 1100px; }
.article-header h1 { font-size: 37px; line-height: 1.65; margin-top: 23px; font-weight: 700; }
.article-meta { display: flex; flex-wrap: wrap; gap: 9px 24px; color: var(--muted); font-size: 11px; line-height: 1.9; margin-top: 26px; }
.article-meta a { text-decoration: underline; text-underline-offset: 4px; }
.article-layout { display: grid; grid-template-columns: minmax(0,790px) minmax(0,270px); gap: 60px; align-items: start; justify-content: space-between; }
.article-body { min-width: 0; color: #29364a; font-weight: 500; }
.article-body p, .article-body li { font-size: 17px; font-weight: 500; line-height: 2.05; }
.article-body > p { margin-block: 24px; }
.article-body > :first-child { margin-top: 0; }
.article-body h2 { font-size: 28px; line-height: 1.75; margin: 48px 0 24px; padding: 15px 0 15px 19px; border-left: 3px solid var(--blue); border-bottom: 1px solid var(--line); color: var(--ink); }
.article-body h3 { font-size: 23px; line-height: 1.8; margin: 35px 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--ink); }
.article-body h4 { font-size: 19px; line-height: 1.9; margin: 28px 0 15px; }
.article-body p :is(strong,b) { color: var(--ink); font-weight: 800; background: #eaf1fb; box-decoration-break: clone; -webkit-box-decoration-break: clone; padding-inline: .1em; }
.article-body :is(li,blockquote,figcaption,table,.toc,#toc_container,.toc_container,.wp-block-pullquote,a) :is(strong,b) { background: none; padding: 0; }
.article-body a { color: #164fb4; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; font-weight: 500; overflow-wrap: anywhere; }
.article-body a:hover { color: var(--blue); }
.article-body ul, .article-body ol { margin-block: 26px; padding-left: 1.5em; }
.article-body li { padding-block: 10px; border-bottom: 1px dotted #d2d9e4; }
.article-body li::marker { color: #8a96a8; }
.article-body blockquote { border-left: 2px solid #b8c3d4; background: var(--mist); padding: 22px 25px; margin: 28px 0; }
.article-body blockquote p { margin: 0; font-size: 16px; }
.article-body img { max-width: 100%; height: auto; }
.article-body :is(iframe,video) { max-width: 100%; }
.article-body table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: 24px; }
.article-body th, .article-body td { border: 1px solid var(--line); padding: 12px; min-width: 90px; font-size: 14px; line-height: 1.9; }
.article-body th { background: var(--mist); }
.article-body pre { max-width: 100%; overflow: auto; padding: 20px; background: var(--mist); font-size: 13px; }
.article-body figure, .article-body .wp-caption { max-width: 100%; margin: 28px 0; }
.article-body figcaption, .article-body .wp-caption-text { font-size: 12px; color: var(--muted); line-height: 1.9; margin-top: 10px; }
.article-main-image { margin: 0 0 30px !important; }
.article-main-image img { width: 100%; height: auto; }
.article-cta { position: sticky; top: 30px; border-top: 1px solid var(--ink); padding-top: 23px; }
.article-cta h2 { font-size: 22px; line-height: 1.8; margin-top: 18px; }
.article-cta p:not(.eyebrow) { font-size: 12px; color: var(--muted); margin-top: 17px; line-height: 2; }
.article-cta .button { margin-top: 21px; font-size: 11px; padding-inline: 17px; width: 100%; gap: 9px; }
.article-cta .button .arrow { margin-left: auto; font-size: 18px; }
.article-navigation { padding-block: 40px 65px; }
.article-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; border-top: 1px solid var(--line); padding-top: 25px; font-size: 13px; line-height: 1.9; }
.article-navigation .text-link { margin-top: 24px; }
.article-body :is(#toc_container,.toc_container,.toc) { background: var(--mist); padding: 24px; border: 1px solid var(--line); margin-block: 30px; }
.article-body :is(#toc_container,.toc_container,.toc) :is(ul,ol) { margin-block: 12px 0; padding-left: 1.3em; }
.article-body :is(#toc_container,.toc_container,.toc) li { border: 0; padding-block: 3px; font-size: 14px; line-height: 1.9; }
.article-body :is(#toc_container,.toc_container,.toc) a { color: var(--ink); text-decoration: none; }
.article-body :is(#toc_container,.toc_container,.toc) a:hover { color: var(--blue); }
.article-body :is(#toc_container,.toc_container,.toc) .toc_title { margin: 0; font-size: 15px; font-weight: 700; }
.seal-btn-wrap { margin: 28px 0; text-align: center; }
.seal-btn-wrap.position-left { text-align: left; }.seal-btn-wrap.position-right { text-align: right; }
.seal-btn-wrap a { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 24px; border-radius: 3px; background: var(--blue); color: white; font-weight: 700; text-decoration: none; border: 1px solid var(--blue); }
.seal-btn-wrap.ghost a, .seal-btn-wrap.ghostspe a { background: white; color: var(--ink); border-color: var(--ink); }
.seal-img { margin-block: 28px; }.seal-img img { height: auto; max-width: 100%; }.seal-img-frame img { padding: 8px; border: 1px solid var(--line); }
.seal-colwrap { display: flex; align-items: flex-start; gap: 24px; margin-block: 30px; }.seal-col { min-width: 0; }.seal-col-2 { flex: 1 1 50%; }.seal-col-3 { flex: 1 1 33.333%; }.seal-col-4 { flex: 1 1 25%; }.seal-col-37 { flex: 0 1 30%; }.seal-col-73 { flex: 0 1 70%; }
.seal-box, .seal-topic, .seal-flow { padding: 24px; margin-block: 28px; background: var(--mist); border: 1px solid var(--line); border-left: 3px solid #91a9d3; }
.seal-box-yellow, .seal-topic-yellow { background: #fff9e7; }.seal-box-pink, .seal-topic-pink { background: #fff4f7; }.seal-box-lime, .seal-topic-green { background: #f0f8f1; }.seal-box-orange, .seal-topic-orange { background: #fff7ed; }
.seal-topic > strong { display: block; font-size: 18px; margin-bottom: 13px; }.seal-spfont { font-size: .9em; }.seal-keikou { background: #eaf1fb; color: inherit; }
.seal-voice { display: flex; align-items: flex-start; gap: 17px; margin-block: 28px; }.seal-voice-right { flex-direction: row-reverse; }.seal-voice > img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; flex: 0 0 auto; }.seal-voice-balloon { padding: 18px 20px; background: var(--mist); border: 1px solid var(--line); flex: 1; min-width: 0; }.seal-voice-balloon > strong { display: block; margin-bottom: 9px; font-size: 13px; }.seal-voice-balloon p { margin: 0; }
.seal-wide { padding: 30px; margin-block: 28px; background-size: cover; background-position: center; }.seal-related a { display: inline-flex; padding: 12px 18px; background: var(--mist); }.seal-arrow { margin: 20px auto; width: 0; height: 0; border-top: 14px solid #a4b5d1; border-left: 14px solid transparent; border-right: 14px solid transparent; }.seal-emphasis { text-emphasis: filled dot; text-emphasis-position: over right; }.seal-mobile-only { display: none; }
.page-top { --scroll-progress: 0%; position: fixed; right: 24px; bottom: 24px; z-index: 26; display: grid; place-items: center; width: 56px; height: 56px; min-width: 56px; min-height: 56px; border: 0; border-radius: 50%; background: conic-gradient(var(--blue) var(--scroll-progress),#dce3ee 0); color: var(--ink); cursor: pointer; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s, visibility .2s; padding: 0; }
.page-top::before { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: white; }.page-top > span { position: relative; font-size: 20px; line-height: 1; }.page-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
.contact-page ~ .mobile-cta, .thanks-page ~ .mobile-cta { display: none; }
body:has(.contact-page), body:has(.thanks-page) { padding-bottom: 0; }
body:has(.contact-page) .mobile-cta, body:has(.thanks-page) .mobile-cta { display: none; }
@media(min-width:783px) { body.admin-bar { margin-top: 0; } body.admin-bar .article-cta, body.admin-bar .interview-side { top: 62px; } }
@media(max-width:1100px) { .editorial-split, .founder-layout, .interview-overview { gap: 40px; }.editorial-split h2 { font-size: 29px; }.detail-list > article { grid-template-columns: 70px 1fr; }.contact-layout { grid-template-columns: .65fr 1.35fr; gap: 40px; }.consult-form { padding: 28px; }.interview-reading { grid-template-columns: 180px minmax(0,1fr); gap: 50px; }.article-layout { grid-template-columns: minmax(0,1fr) 235px; gap: 40px; }.article-cta h2 { font-size: 20px; }.result-catalog { column-gap: 35px; }.result-value { font-size: 45px; } }
@media(max-width:850px) { .inner-hero h1, .centered h1 { font-size: 38px; }.editorial-split, .founder-layout, .interview-overview { grid-template-columns: 1fr; gap: 30px; }.section-photo { max-width: 580px; }.founder-portrait { width: min(100%,380px); }.founder-layout h2 { font-size: 31px; }.reading-copy { max-width: 730px; }.value-grid { gap: 26px; }.value-grid h2 { font-size: 22px; }.interview-grid { gap: 28px; }.interview-grid h2 { font-size: 22px; }.interview-grid h3 { font-size: 20px; }.customer-stories article { gap: 35px; }.customer-stories h3 { font-size: 20px; }.customer-stories article > div > p:not(.small-label) { font-size: 13px; }.contact-layout { grid-template-columns: 1fr; gap: 35px; }.contact-guidance { position: static; }.contact-guidance dl { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 20px; }.contact-guidance h2 br { display: none; }.contact-guidance .text-link { margin-top: 0; }.consult-form { max-width: 660px; width: 100%; }.interview-overview > img { max-width: 530px; }.interview-reading { display: block; }.interview-side { display: none; }.interview-body { max-width: 760px; margin-inline: auto; }.article-layout { display: block; }.article-cta { position: static; padding: 27px; border: 1px solid var(--line); background: var(--mist); margin-top: 45px; }.article-cta h2 { font-size: 23px; }.article-cta .button { width: auto; min-width: 230px; }.blog-controls { grid-template-columns: 1fr; gap: 25px; }.blog-search { max-width: 470px; }.post-list > article { grid-template-columns: .8fr 1.2fr; gap: 26px; }.post-list h2 { font-size: 20px; }.three-columns { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) {
  .inner-hero { padding-top: 15px; padding-bottom: 42px; }
  .breadcrumbs { font-size: 9px; gap: 7px 10px; margin-bottom: 30px; }.breadcrumbs > * + *::before { margin-right: 10px; }
  .inner-hero h1, .centered h1 { font-size: 29px; line-height: 1.7; margin-top: 19px; }.inner-hero h1 > span { overflow-wrap: normal; }.inner-hero.privacy-page h1 { font-size: 26px; }
  .inner-lead { font-size: 13px; margin-top: 20px; line-height: 2.05; }.inner-hero .hero-actions { margin-top: 23px; gap: 15px; }.inner-hero > .text-link { margin-top: 20px; }
  .page-index { gap: 0 23px; padding-block: 8px; }.page-index a { font-size: 10px; min-height: 40px; gap: 8px; }
  .inner-section { padding-block: 45px; }.inner-section > h2 { font-size: 25px; margin-top: 16px; }
  .editorial-split { gap: 26px; }.editorial-split h2 { font-size: 25px; line-height: 1.75; margin-top: 16px; }.editorial-split > h2 { margin-top: 0; }
  .reading-copy > p { font-size: 13px; line-height: 2.1; margin-bottom: 20px; }.reading-copy h2 { margin-bottom: 20px; }.section-photo { margin-top: 23px; }.section-lead { font-size: 13px; margin-top: 20px; }.small-note { font-size: 10px; margin-top: 20px; }
  .detail-list > article { grid-template-columns: 35px minmax(0,1fr); gap: 16px; padding-block: 29px; }.detail-number { font-size: 27px; padding-top: 4px; }.detail-list h2 { font-size: 22px; margin: 9px 0 15px; }.detail-list .detail-intro { font-size: 14px; margin-bottom: 14px; }.detail-list p { font-size: 12px; line-height: 2.05; }.detail-list .small-note { font-size: 10px; }.plain-list { margin-top: 18px; }.plain-list li { font-size: 11px; padding-block: 10px; }
  .faq-list { margin-block: 24px; }.faq-list summary { font-size: 13px; padding: 19px 25px 19px 27px; min-height: 65px; }.faq-list summary::before { top: 19px; font-size: 15px; }.faq-list summary::after { top: 19px; font-size: 20px; }.faq-list details > p { font-size: 12px; padding: 0 0 20px 27px; }
  .related-links { grid-template-columns: 1fr; gap: 20px; margin-top: 29px; }.related-links > a { padding-block: 20px; gap: 12px; }.related-links h3 { font-size: 18px; }
  .timeline { margin-top: 25px; }.timeline li { grid-template-columns: 50px minmax(0,1fr); gap: 17px; padding-block: 24px; }.timeline li > span { font-size: 16px; padding-top: 5px; }.timeline h2 { font-size: 19px; line-height: 1.75; }.timeline p { font-size: 12px; margin-top: 11px; }
  .check-grid { gap: 25px 21px; }.check-grid article { padding-top: 18px; }.check-grid h3 { font-size: 17px; }.check-grid p, .value-grid p { font-size: 12px; margin-top: 12px; }
  .value-grid { grid-template-columns: 1fr; gap: 25px; margin-top: 25px; }.value-grid h2 { font-size: 23px; margin-top: 12px; }
  .info-table { margin-top: 25px; }.info-table > div { grid-template-columns: 73px minmax(0,1fr); gap: 20px; padding-block: 19px; font-size: 12px; }.info-table dd { overflow-wrap: anywhere; }.info-table .small-note { font-size: 10px; }
  .founder-layout { gap: 29px; }.founder-portrait { max-width: 300px; }.founder-layout h2 { font-size: 24px; line-height: 1.8; }.founder-layout .signature { font-size: 12px; }
  .result-catalog { grid-template-columns: 1fr; margin-top: 5px; }.result-catalog article { padding-block: 28px; }.result-catalog h2 { margin-block: 16px 18px; }.result-value { font-size: 44px; }.result-catalog h2 small { font-size: 12px; }.result-catalog h2.result-text { font-size: 26px; }.result-catalog h3 { font-size: 17px; }.result-catalog article > p:last-child { font-size: 12px; }
  .interview-grid { grid-template-columns: 1fr; gap: 35px; margin-top: 25px; }.interview-grid img { aspect-ratio: auto; }.interview-grid .small-label { font-size: 9px; margin-top: 18px; }.interview-grid h2, .interview-grid h3 { font-size: 22px; margin-top: 12px; }.interview-grid p { font-size: 12px; }
  .customer-stories { margin-top: 20px; }.customer-stories article { grid-template-columns: 1fr; gap: 16px; padding-block: 26px; }.customer-stories h3 { font-size: 21px; margin-top: 11px; }.customer-stories article > div > p:not(.small-label) { font-size: 12px; line-height: 2.1; }
  .case-meta { font-size: 9px; gap: 9px 15px; margin-top: 22px; }.case-meta > span + span { padding-left: 15px; }
  .interview-overview { gap: 28px; }.interview-overview h2 { font-size: 25px; margin-top: 15px; }.case-facts { margin-top: 22px; }.case-facts > div { grid-template-columns: 90px minmax(0,1fr); gap: 13px; padding-block: 13px; font-size: 11px; }
  .interview-body article { padding-bottom: 29px; margin-bottom: 29px; }.question-label { font-size: 10px; line-height: 1.9; }.interview-body h2 { font-size: 22px; line-height: 1.8; margin: 15px 0 19px; }.interview-body article > p:last-child { font-size: 14px; line-height: 2.1; }
  .contact-layout { gap: 29px; }.contact-guidance h2 { font-size: 26px; margin-top: 16px; }.contact-guidance > p:not(.eyebrow) { font-size: 12px; margin-top: 19px; }.contact-guidance dl { grid-template-columns: 1fr; gap: 0; margin-block: 22px; }.contact-guidance dl > div { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 15px; padding-block: 13px; }.contact-guidance dt { font-size: 10px; padding-top: 2px; }.contact-guidance dd { font-size: 11px; margin: 0; }
  .consult-form { padding: 24px 18px; }.consult-form h2 { font-size: 24px; }.consult-form > p:not(.eyebrow,.privacy-notice) { font-size: 11px; }.form-field > label, .form-field > legend, .contact-form-cf7 .form-row > label { font-size: 12px; }.contact-form-cf7 :is(input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select) { font-size: 16px; }.choice-list, .contact-form-cf7 .wpcf7-checkbox { grid-template-columns: 1fr; }.choice-list > label, .contact-form-cf7 .wpcf7-checkbox .wpcf7-list-item { padding: 10px; }.privacy-notice { font-size: 10px; }.acceptance, .contact-form-cf7 .wpcf7-acceptance label { font-size: 11px; }
  .notice { padding: 23px; margin-block: 26px; }.notice h2 { font-size: 19px; }.notice p { font-size: 12px; }.legal-copy { padding-top: 5px; }.legal-copy article { padding-block: 23px; }.legal-copy h2 { font-size: 19px; }.legal-copy p, .legal-copy li { font-size: 12px; }.three-columns { grid-template-columns: 1fr; }
  .reviews-section { padding-block: 40px; }.reviews-section h2 { font-size: 25px; }
  .blog-controls { padding-block: 19px; gap: 22px; }.category-nav a { font-size: 11px; }.category-nav > div { gap: 0 16px; }.blog-search input { font-size: 16px; }.blog-search > label { font-size: 10px; }.blog-search button { font-size: 10px; padding-inline: 13px; }
  .post-list > article { grid-template-columns: 1fr; gap: 19px; padding-block: 27px; }.post-thumb { aspect-ratio: 1.85; }.post-list h2 { font-size: 21px; margin-top: 9px; }.post-list article > div > p { font-size: 12px; }.post-list .text-link { margin-top: 9px; }.post-archive { padding-bottom: 40px; }
  .article-header { padding-top: 15px; padding-bottom: 30px; }.article-header h1 { font-size: 27px; line-height: 1.7; margin-top: 19px; }.article-meta { font-size: 10px; gap: 8px 16px; margin-top: 22px; }
  .article-body p, .article-body li { font-size: 15.5px; line-height: 1.95; }.article-body > p { margin-block: 21px; }.article-body h2 { font-size: 22px; line-height: 1.8; padding: 12px 0 12px 15px; margin: 35px 0 20px; }.article-body h3 { font-size: 19px; line-height: 1.9; margin: 28px 0 16px; }.article-body h4 { font-size: 17px; }.article-body blockquote { padding: 18px; }.article-body blockquote p { font-size: 14px; }.article-body li { padding-block: 9px; }.article-body :is(#toc_container,.toc_container,.toc) { padding: 20px; }.article-body :is(#toc_container,.toc_container,.toc) li { font-size: 13px; }.article-cta { padding: 23px; margin-top: 30px; }.article-cta h2 { font-size: 22px; }.article-navigation { padding-block: 28px 44px; }.article-navigation .nav-links { grid-template-columns: 1fr; gap: 20px; font-size: 12px; }
  .seal-colwrap:not(.seal-spcolwrap) { flex-direction: column; }.seal-colwrap:not(.seal-spcolwrap) .seal-col { width: 100%; }.seal-spcolwrap { gap: 14px; }.seal-box, .seal-topic, .seal-flow { padding: 20px; }.seal-voice { gap: 12px; }.seal-voice > img { width: 45px; height: 45px; }.seal-voice-balloon { padding: 14px; }.seal-wide { padding: 22px; }.seal-mobile-only { display: inline; }.seal-pc-only { display: none; }
  .page-top { right: 18px; bottom: 160px; width: 48px; height: 48px; min-width: 48px; min-height: 48px; }.page-top > span { font-size: 18px; }body:has(.contact-page) .page-top, body:has(.thanks-page) .page-top { bottom: 22px; }
}
@media(max-width:370px) { .inner-hero h1, .centered h1 { font-size: 25px; }.editorial-split h2 { font-size: 22px; }.inner-section > h2 { font-size: 23px; }.detail-list h2 { font-size: 20px; }.detail-list > article { grid-template-columns: 29px minmax(0,1fr); gap: 13px; }.result-value { font-size: 38px; }.interview-body h2 { font-size: 20px; }.article-header h1 { font-size: 25px; }.consult-form { padding-inline: 15px; } }

/* Page-specific visual hierarchy, composed after the shared foundation. */
.inner-page .inner-hero { padding-bottom: 38px; }
.inner-page .inner-lead { max-width: 720px; }
.inner-page .reading-copy, .interview-body { max-width: 720px; }
.inner-page .narrow { max-width: 720px; }
.inner-page .detail-list article > div { max-width: 720px; }
.inner-page .eyebrow { color: #53657e; font-family: var(--en); font-size: 10px; font-weight: 600; }
.inner-page .section-top { margin-bottom: 30px; }
.inner-page .related-links:empty, .inner-page .inner-section:empty { display: none; }
.visual-intro { margin-bottom: 70px; }
.visual-intro p { font-size: 13px; line-height: 1.9; }
.visual-intro figure { margin: 0; min-width: 0; }
.visual-intro img { display: block; width: 100%; object-fit: cover; }
.visual-intro figcaption, .visual-story figcaption { padding-top: 13px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.visual-intro .icon, .visual-story .icon { display: inline-block; width: 34px; height: 34px; background: currentColor; color: var(--blue); flex-shrink: 0; }
.icon.messages { mask: url('assets/messages-square.svg') center / contain no-repeat; -webkit-mask: url('assets/messages-square.svg') center / contain no-repeat; }
.icon.writing { mask: url('assets/file-search.svg') center / contain no-repeat; -webkit-mask: url('assets/file-search.svg') center / contain no-repeat; }
.icon.monitor { mask: url('assets/monitor-check.svg') center / contain no-repeat; -webkit-mask: url('assets/monitor-check.svg') center / contain no-repeat; }
.icon.search { mask: url('assets/scan-search.svg') center / contain no-repeat; -webkit-mask: url('assets/scan-search.svg') center / contain no-repeat; }
.icon.book { mask: url('assets/book-open-check.svg') center / contain no-repeat; -webkit-mask: url('assets/book-open-check.svg') center / contain no-repeat; }
.reason-map { padding: 32px 44px; background: var(--mist); border-top: 2px solid var(--blue); }
.reason-route { display: grid; grid-template-columns: 1fr 46px 1fr 46px 1fr; align-items: center; gap: 30px; margin-block: 26px; }
.reason-route > div { display: grid; grid-template-columns: 42px 1fr; gap: 12px 15px; align-items: center; }
.reason-route .icon { grid-row: 1/3; }
.reason-route small { font-family: var(--en); color: #65728a; font-size: 10px; }
.reason-route strong { font-size: 20px; line-height: 1.65; }
.reason-route > span { font-size: 26px; font-weight: 400; color: #8a9abe; }
.reason-map > p:last-child { color: var(--muted); border-top: 1px solid var(--line); padding-top: 16px; }
.reason-page .detail-list > article { grid-template-columns: 65px minmax(0,1fr) 290px; gap: 30px; align-items: center; padding-block: 46px; }
.reason-aside { margin: 0; background: var(--mist); min-width: 0; }
figure.reason-aside { background: transparent; }
.reason-aside img { display: block; width: 100%; height: 190px; object-fit: cover; }
.reason-aside figcaption { font-size: 10px; color: var(--muted); padding-top: 10px; }
.reason-aside > a { display: inline-block; font-size: 11px; color: var(--blue); margin-top: 8px; }
.order-visual { display: flex; align-items: center; flex-direction: column; gap: 6px; padding: 22px; }
.order-visual > span { display: block; font-size: 12px; color: #64718a; }
.order-visual > b { color: #9caccd; font-weight: 400; line-height: 1.2; }
.order-visual > strong { color: var(--blue); font-size: 14px; }
.words-visual { padding: 25px; }
.words-visual > span, .words-visual > b, .words-visual > small { display: block; font-size: 11px; color: #64718a; }
.words-visual > b { margin-block: 10px; color: #9caccd; font-size: 22px; font-weight: 400; }
.words-visual > strong { display: block; font-size: 23px; color: var(--blue); line-height: 1.6; }
.words-visual > small { font-family: var(--en); font-size: 8px; margin-top: 16px; }
.interview-page .interview-overview { display: block; max-width: 960px; }
.service-blueprint { display: grid; grid-template-columns: .8fr 2fr; gap: 40px; align-items: center; padding-block: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.blueprint-heading strong { display: block; font-size: 25px; line-height: 1.7; margin-top: 14px; }
.service-blueprint ol { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.service-blueprint li { padding-left: 23px; border-left: 1px solid var(--line); min-width: 0; }
.service-blueprint small, .service-blueprint strong { display: block; margin-top: 15px; }
.service-blueprint small { font-family: var(--en); font-size: 10px; color: var(--muted); }
.service-blueprint li strong { font-size: 17px; }
.service-blueprint li p { color: var(--muted); margin-top: 8px; font-size: 12px; }
.result-spotlight { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 75px; border-block: 1px solid var(--line); padding-block: 30px; align-items: center; }
.spotlight-number { display: flex; align-items: baseline; gap: 20px; font-family: var(--en); margin: 15px 0 7px; }
.visual-intro .spotlight-number { font-size: 96px; line-height: 1.15; font-weight: 500; color: var(--ink); }
.spotlight-number > span:nth-child(2) { color: #9fadd0; font-size: 45px; }
.spotlight-number strong { color: var(--blue); font-weight: 600; }
.spotlight-number small { font-size: 15px; font-family: var(--ja); }
.comparison-chart { display: grid; gap: 22px; padding-top: 25px; }
.comparison-chart > div { display: grid; grid-template-columns: 65px minmax(0,1fr) 38px; gap: 15px; align-items: center; }
.comparison-chart span { font-family: var(--en); font-size: 10px; color: var(--muted); }
.comparison-chart i { height: 28px; width: var(--bar); min-width: 10px; background: #d1d9ed; }
.comparison-chart > div:last-child i { background: var(--blue); }
.comparison-chart b { font-size: 13px; }
.visual-intro .spotlight-note { grid-column: 1/-1; font-size: 11px; color: var(--muted); padding-top: 12px; }
.voice-intro { display: grid; grid-template-columns: 1fr 1fr .8fr; gap: 28px; align-items: center; }
.voice-intro img { height: 235px; object-position: center 32%; }
.voice-intro figcaption span { display: block; color: var(--blue); font-size: 9px; font-family: var(--en); }
.voice-intro > div { padding-left: 18px; }
.voice-intro > div > p:not(.eyebrow) { font-size: 19px; line-height: 2; margin-top: 18px; }
.voice-intro .text-link { margin-top: 22px; }
.process-overview ol { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
.process-overview li { border-top: 2px solid var(--blue); border-bottom: 1px solid var(--line); padding: 26px 32px; position: relative; }
.process-overview li:first-child { padding-left: 0; }
.process-overview li + li { border-left: 1px solid var(--line); }
.process-overview li + li::before { content: '→'; position: absolute; top: -16px; left: -16px; display: grid; place-items: center; width: 32px; height: 32px; background: white; color: var(--blue); }
.process-overview small { display: block; font-family: var(--en); color: var(--muted); font-size: 10px; margin-block: 19px 8px; }
.process-overview strong { display: block; font-size: 25px; margin-bottom: 12px; }
.process-overview li > span:last-child { display: block; font-size: 11px; color: var(--blue); margin-top: 22px; }
.flow-page .timeline { position: relative; margin-left: 40px; padding-left: 65px; max-width: 940px; border-left: 1px solid #bec9df; }
.flow-page .timeline > li { position: relative; border-bottom: 1px solid var(--line); }
.flow-page .timeline > li::before { content: ''; position: absolute; left: -72px; top: 46px; width: 12px; height: 12px; background: white; border: 2px solid var(--blue); border-radius: 50%; }
.company-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.company-wordmark > span { font-family: var(--en); font-size: 10px; color: var(--blue); }
.company-wordmark > strong { display: block; font-family: var(--en); font-size: 74px; font-weight: 600; margin-top: 20px; line-height: 1.25; }
.company-wordmark > strong > span { display: block; font-family: var(--ja); font-size: 16px; margin-top: 13px; }
.company-wordmark > p { color: var(--muted); margin-top: 30px; }
.company-intro img { aspect-ratio: 1.9; }
.question-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.question-paths > a { padding: 27px; background: var(--mist); border-top: 2px solid #b1c0e1; transition: border-color .2s,background .2s; }
.question-paths > a:hover { border-color: var(--blue); background: #eaf0ff; }
.question-paths small, .question-paths strong, .question-paths a > span:last-child { display: block; }
.question-paths small { font-size: 9px; color: var(--muted); font-family: var(--en); margin-top: 23px; }
.question-paths strong { font-size: 22px; margin-top: 12px; }
.question-paths a > span:last-child { font-size: 12px; color: var(--muted); margin-top: 16px; }
.qa-page > .page-index { display: none; }
.interview-cover { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.interview-cover img { max-height: 330px; width: 100%; object-fit: contain; background: var(--mist); }
.interview-cover > div > p:not(.eyebrow) { margin-top: 24px; }
.interview-cover > div > small { display: block; color: var(--muted); font-size: 10px; margin-top: 24px; }
.visual-intro .cover-metric { font-family: var(--en); font-size: 88px; color: var(--blue); line-height: 1.2; }
.cover-metric > span { font-size: 40px; margin-inline: 15px; color: #9ba9c7; }
.cover-metric small { font-size: 14px; color: var(--ink); margin-left: 8px; }
.visual-intro .experience-title { font-size: 28px; line-height: 1.8; }
.experience-title strong { color: var(--blue); font-weight: 600; }
.visual-story { display: grid; grid-template-columns: 1.08fr 1fr; gap: 72px; align-items: center; padding-block: 62px; margin-block: 12px 55px; border-block: 1px solid var(--line); }
.visual-story figure { margin: 0; }
.story-photo img { display: block; width: 100%; height: 290px; object-fit: cover; }
.story-caption { min-width: 0; max-width: 490px; }
.story-caption h2 { font-size: 30px; line-height: 1.75; margin-top: 18px; }
.story-caption > p:not(.eyebrow) { font-size: 14px; line-height: 2; color: var(--muted); margin-top: 20px; }
.story-caption > a { margin-top: 26px; }
.story-caption .button { font-size: 12px; padding-inline: 20px; }
.wireframe-visual { border: 1px solid #c3cee5; padding: 28px; background: var(--mist); position: relative; }
.wireframe-bar { display: block; font-family: var(--en); color: #657695; font-size: 9px; padding-bottom: 18px; border-bottom: 1px solid #d3dbea; }
.wireframe-title { font-size: 24px; line-height: 1.75; margin-block: 22px; font-weight: 600; }
.wireframe-visual ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0; list-style: none; counter-reset: block; }
.wireframe-visual li { background: white; padding: 13px 14px; color: #566581; font-size: 12px; border-top: 2px solid #c4d2f3; counter-increment: block; }
.wireframe-visual li::before { content: '0' counter(block) ' / '; color: var(--blue); font-family: var(--en); }
.face-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.face-pair figure:last-child { margin-top: 42px; }
.face-pair img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center 25%; }
.sound-visual, .content-cycle, .value-visual { min-height: 315px; padding: 32px; background: var(--mist); }
.sound-visual > strong { display: block; color: var(--blue); font-family: var(--en); font-size: 45px; font-weight: 600; }
.sound-visual > p { font-size: 15px; line-height: 1.9; margin-top: 12px; }
.sound-bars { display: flex; gap: 8px; align-items: center; height: 90px; margin-block: 16px; }
.sound-bars i { display: block; height: 25px; width: 6px; background: #859fe4; }
.sound-bars i:nth-child(2n) { height: 55px; background: var(--blue); }
.sound-bars i:nth-child(3n) { height: 75px; }
.content-cycle > div { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-top: 20px; }
.content-cycle strong { font-size: 17px; }
.content-cycle div > span:not(.icon) { color: #93a7d4; font-size: 22px; }
.value-visual > div { display: grid; gap: 10px; text-align: center; padding-top: 20px; }
.value-visual > div > span { color: #68768f; font-size: 16px; }
.value-visual strong { color: var(--blue); font-size: 19px; }
.value-visual b { color: #9babc9; font-weight: 400; }
.value-visual > p { text-align: center; margin-top: 22px; font-size: 12px; color: var(--muted); }
.related-editorial { padding-block: 40px 75px; }
.related-three { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.related-three > a { display: block; border-bottom: 1px solid var(--line); }
.related-three > a > img { width: 100%; height: auto; aspect-ratio: 1.85; object-fit: cover; object-position: center 32%; display: block; }
.related-three > a > div { padding-block: 20px; }
.related-three h3 { font-size: 19px; line-height: 1.65; margin-block: 10px 18px; }
.related-three p { display: flex; justify-content: space-between; align-items: center; gap: 15px; font-size: 12px; }
.related-three p > span { font-size: 22px; color: var(--blue); }
.related-three a:hover h3 { color: var(--blue); }
.inner-page .contact h2 { max-width: 850px; font-size: 36px; line-height: 1.7; }
.inner-page .contact > .container > p:not(.eyebrow) { max-width: 720px; margin-top: 25px; font-size: 15px; line-height: 2; color: #c9d1e1; }
.inner-page .contact .button { margin-top: 28px; }
.inner-page .contact small { display: block; margin-top: 20px; font-size: 11px; color: #c9d1e1; }
.reviews-pending { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 28px; border-block: 1px solid var(--line); margin-top: 30px; }
.reviews-pending p { color: var(--muted); font-size: 14px; }
.reviews-pending .text-link { margin-top: 0; }
@media(max-width:1000px) {
  .reason-page .detail-list > article { grid-template-columns: 45px minmax(0,1fr) 230px; gap: 22px; }
  .reason-route { gap: 12px; grid-template-columns: 1fr 28px 1fr 28px 1fr; }.reason-route strong { font-size: 17px; }.reason-route > div { grid-template-columns: 1fr; }.reason-route .icon { grid-row: auto; }
  .service-blueprint { display: block; }.blueprint-heading { display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-bottom: 30px; }.blueprint-heading strong { margin: 0; }
  .visual-story { gap: 35px; }.story-caption h2 { font-size: 25px; }.voice-intro { grid-template-columns: 1fr 1fr; }.voice-intro > div { grid-column: 1/-1; padding-left: 0; display: flex; align-items: center; gap: 30px; }.voice-intro > div > p:not(.eyebrow) { margin: 0; font-size: 17px; }.voice-intro > div > .text-link { margin: 0 0 0 auto; }
  .interview-cover { gap: 35px; }.visual-intro .cover-metric { font-size: 65px; }.cover-metric > span { font-size: 28px; }.cover-metric small { display: block; margin: 10px 0 0; }.company-wordmark > strong { font-size: 55px; }.process-overview strong { font-size: 21px; }.question-paths strong { font-size: 19px; }.question-paths > a { padding: 20px; }
}
@media(max-width:700px) {
  .reason-page .detail-list > article { grid-template-columns: 35px minmax(0,1fr); gap: 20px; padding-block: 32px; }.reason-aside { grid-column: 2; width: 100%; max-width: 380px; }.reason-aside img { height: auto; aspect-ratio: 1.7; }.order-visual { align-items: flex-start; padding: 20px; }.words-visual > strong br { display: none; }.words-visual > strong { font-size: 21px; }
  .visual-intro { margin-bottom: 45px; }.inner-page .inner-hero { padding-bottom: 30px; }
  .reason-map { padding: 24px; }.reason-route { grid-template-columns: 1fr; gap: 12px; margin-block: 22px; }.reason-route > div { grid-template-columns: 40px 1fr; gap: 7px 13px; }.reason-route .icon { grid-row: 1/3; }.reason-route > div strong { font-size: 18px; }.reason-route > div strong br { display: none; }.reason-route > span { line-height: 1; transform: rotate(90deg); justify-self: start; margin-left: 50px; }.reason-map .eyebrow { font-size: 8px; }
  .service-blueprint ol { grid-template-columns: 1fr; gap: 25px; }.service-blueprint li { display: grid; grid-template-columns: 36px 1fr; gap: 8px 18px; border: 0; padding: 0; }.service-blueprint li .icon { grid-row: 1/4; }.service-blueprint small, .service-blueprint strong, .service-blueprint li p { margin: 0; }.service-blueprint li p { grid-column: 2; }.blueprint-heading { display: block; }.blueprint-heading strong { font-size: 22px; margin-top: 12px; }
  .result-spotlight { grid-template-columns: 1fr; gap: 20px; }.visual-intro .spotlight-number { font-size: 76px; }.comparison-chart { padding-top: 5px; }.comparison-chart i { height: 23px; }.spotlight-number { gap: 14px; }.spotlight-number > span:nth-child(2) { font-size: 32px; }
  .voice-intro { gap: 18px; }.voice-intro img { height: 170px; }.voice-intro figcaption { font-size: 10px; }.voice-intro > div { display: block; }.voice-intro > div > p:not(.eyebrow) { margin-top: 13px; font-size: 19px; }.voice-intro > div > .text-link { margin-top: 18px; }
  .process-overview ol { grid-template-columns: 1fr; }.process-overview li, .process-overview li:first-child { padding: 24px 0 24px 55px; border-top: 0; border-bottom: 1px solid var(--line); border-left: 1px solid #a3b5de; }.process-overview li:first-child { border-top: 1px solid var(--line); }.process-overview li + li::before { display: none; }.process-overview .icon { position: absolute; left: -17px; top: 30px; background-color: var(--blue); }.process-overview small { margin-top: 0; }.process-overview strong { font-size: 24px; }.process-overview { padding-left: 20px; }.process-overview li > span:last-child { margin-top: 10px; }
  .flow-page .timeline { margin-left: 7px; padding-left: 24px; }.flow-page .timeline > li::before { left: -31px; top: 26px; }
  .company-intro { grid-template-columns: 1fr; gap: 26px; }.company-wordmark > strong { font-size: 64px; }.company-wordmark > p { margin-top: 20px; }
  .question-paths { grid-template-columns: 1fr; gap: 12px; }.question-paths > a { display: grid; grid-template-columns: 36px 1fr; gap: 7px 18px; padding: 22px; border-top: 0; border-left: 2px solid #b1c0e1; }.question-paths .icon { grid-row: 1/4; }.question-paths small, .question-paths strong, .question-paths a > span:last-child { margin: 0; }.question-paths strong { font-size: 21px; }.question-paths a > span:last-child { font-size: 11px; }
  .interview-cover { grid-template-columns: 1fr; gap: 24px; }.interview-cover img { max-height: 300px; }.visual-intro .cover-metric { font-size: 74px; }.cover-metric small { display: inline; margin-left: 10px; font-size: 13px; }.visual-intro .experience-title { font-size: 26px; }
  .visual-story { grid-template-columns: 1fr; gap: 30px; padding-block: 35px; margin-bottom: 35px; }.story-photo img { height: auto; aspect-ratio: 1.5; }.story-caption h2 { font-size: 25px; line-height: 1.7; }.story-caption > p:not(.eyebrow) { margin-top: 16px; }.wireframe-visual { padding: 23px; }.wireframe-title { font-size: 23px; }.wireframe-visual li { padding: 12px; font-size: 11px; }.sound-visual, .content-cycle, .value-visual { padding: 26px; min-height: 280px; }
  .related-editorial { padding-block: 30px 50px; }.related-three { grid-template-columns: 1fr; gap: 22px; }.related-three > a { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: start; padding-bottom: 20px; }.related-three > a > img { aspect-ratio: 1; }.related-three > a > div { padding: 0; }.related-three h3 { font-size: 17px; margin-block: 8px 10px; }.related-three p { font-size: 11px; }.related-three .eyebrow { font-size: 8px; }
  .inner-page .contact h2 { font-size: 27px; }.inner-page .contact > .container > p:not(.eyebrow) { font-size: 14px; }.inner-page .contact .button { font-size: 12px; padding-inline: 16px; }.reviews-pending { display: block; }.reviews-pending .text-link { margin-top: 20px; }
}
@media(max-width:370px) { .visual-intro .spotlight-number { font-size: 62px; }.spotlight-number { gap: 10px; }.reason-map { padding: 20px; }.visual-intro .cover-metric { font-size: 62px; }.company-wordmark > strong { font-size: 54px; }.story-caption h2 { font-size: 22px; }.inner-page .contact h2 { font-size: 24px; }.wireframe-visual li { padding: 11px 8px; font-size: 10px; } }

/* Photographic page openings and restrained, semantic iconography. */
.inner-page > .inner-hero {
  width: 100%; max-width: none; margin-inline: 0; position: relative; isolation: isolate;
  padding: 28px max(56px, calc((100% - 1200px) / 2)) 56px;
  margin-bottom: 40px; overflow: hidden;
  background: #f8fafc;
  --opening-photo: url('assets/sonido-clean-hero.png');
  --opening-position: center;
}
.inner-page > .inner-hero::before {
  content: ''; position: absolute; inset: 0 0 0 30%; z-index: -2;
  background: var(--opening-photo) var(--opening-position) / cover no-repeat;
  opacity: .56;
}
.inner-page > .inner-hero::after {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg,#f8fafc 0%,#f8fafc 28%,rgba(248,250,252,.95) 43%,rgba(248,250,252,.5) 67%,rgba(248,250,252,.08) 100%);
}
.inner-page > .inner-hero h1 { max-width: 820px; }
.inner-page > .inner-hero .inner-lead { max-width: 670px; color: #4e5b6e; }
.service-page > .inner-hero { --opening-photo: url('assets/sonido-clean-hero.png'); }
.reason-page > .inner-hero { --opening-photo: url('assets/sonido-message-meeting.png'); --opening-position: 64% center; }
.flow-page > .inner-hero { --opening-photo: url('assets/sonido-background-wall.png'); --opening-position: 42% center; }
.works-page > .inner-hero { --opening-photo: url('assets/sonido-hero-catch-bg.jpg'); --opening-position: right center; }
.qa-page > .inner-hero { --opening-photo: url('assets/sonido-consulting-photo.png'); --opening-position: 60% 65%; }
.blog-page > .inner-hero { --opening-photo: url('assets/sonido-premium-hero.png'); --opening-position: 70% bottom; }
.company-page > .inner-hero { --opening-photo: url('assets/shonan-coast.jpg'); --opening-position: center 35%; }
.voice-page > .inner-hero { --opening-photo: url('assets/natori-portrait.jpg'); }
.profile-page > .inner-hero { --opening-photo: url('assets/suyama03.jpg'); }
[data-page="case-madonotakumi"] > .inner-hero { --opening-photo: url('assets/natori-portrait.jpg'); }
[data-page="ilinx8"] > .inner-hero { --opening-photo: url('assets/case-ilinx-result.jpg'); }
.profile-page > .inner-hero::before, .voice-page > .inner-hero::before, .interview-page > .inner-hero::before { left: 48%; background-size: auto 100%; background-position: right center; opacity: .65; mask-image: linear-gradient(90deg,transparent 0%,transparent 25%,#000 68%); -webkit-mask-image: linear-gradient(90deg,transparent 0%,transparent 25%,#000 68%); }
.company-page > .inner-hero::before { inset: 0; background-size: cover; opacity: .72; }
.blog-page > .inner-hero::before { background-size: cover; opacity: .5; }
.privacy-page > .inner-hero, .thanks-page > .inner-hero { background: var(--mist); }
.privacy-page > .inner-hero::before, .thanks-page > .inner-hero::before { display: none; }
.heading-icon { display: inline-block; width: 25px; height: 25px; margin-right: 13px; vertical-align: -3px; background: currentColor; color: var(--blue); }
.heading-icon.icon-web { mask: url('assets/panels-top-left.svg') center / contain no-repeat; -webkit-mask: url('assets/panels-top-left.svg') center / contain no-repeat; }
.heading-icon.icon-interview { mask: url('assets/messages-square.svg') center / contain no-repeat; -webkit-mask: url('assets/messages-square.svg') center / contain no-repeat; }
.heading-icon.icon-content { mask: url('assets/file-search.svg') center / contain no-repeat; -webkit-mask: url('assets/file-search.svg') center / contain no-repeat; }
.heading-icon.icon-support { mask: url('assets/life-buoy.svg') center / contain no-repeat; -webkit-mask: url('assets/life-buoy.svg') center / contain no-repeat; }
.heading-icon.icon-ai { mask: url('assets/scan-search.svg') center / contain no-repeat; -webkit-mask: url('assets/scan-search.svg') center / contain no-repeat; }
.flow-list h3 .heading-icon, .check-grid h3 .heading-icon, .value-grid h2 .heading-icon { display: block; margin: 0 0 15px; width: 25px; height: 25px; }
.faq-list summary::before { content: ''; width: 19px; height: 19px; top: 27px; background: #6f82a4; mask: url('assets/message-circle.svg') center / contain no-repeat; -webkit-mask: url('assets/message-circle.svg') center / contain no-repeat; }
.portfolio-showcase { padding-block: 65px; margin-block: 20px 45px; }
.portfolio-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-block: 35px 42px; }
.portfolio-heading h2 { font-size: 32px; line-height: 1.7; }
.portfolio-heading > p { font-size: 14px; line-height: 2; color: var(--muted); }
.portfolio-screens { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 60px; }
.portfolio-screens figure { margin: 0; min-width: 0; }
.desktop-mockup { display: block; padding: 25px 18px 20px; background: #f1f3f7; }
.desktop-screen { display: block; position: relative; aspect-ratio: 1.67; border: 8px solid #242b35; border-bottom-width: 18px; border-radius: 7px 7px 3px 3px; background: white; box-shadow: 0 12px 24px rgba(24,36,58,.09); overflow: hidden; }
.desktop-screen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.desktop-base { display: block; width: 35%; height: 37px; margin: 0 auto; position: relative; }
.desktop-base::before { content: ''; position: absolute; top: 0; left: 32%; width: 36%; height: 30px; background: #c1c7d0; clip-path: polygon(18% 0,82% 0,100% 100%,0 100%); }
.desktop-base::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 7px; background: #d5dae2; border-bottom: 2px solid #a6afbe; border-radius: 3px 3px 1px 1px; }
.portfolio-screens figcaption { display: flex; justify-content: space-between; align-items: end; gap: 22px; padding-block: 24px; border-bottom: 1px solid var(--line); }
.portfolio-screens figcaption .eyebrow { font-size: 9px; }
.portfolio-screens figcaption h3 { font-size: 23px; margin-top: 7px; }
.portfolio-screens figcaption > a { display: inline-flex; gap: 14px; align-items: center; font-size: 12px; white-space: nowrap; }
.portfolio-screens figcaption > a > span { color: var(--blue); font-size: 23px; }
.portfolio-showcase > .text-link { margin-top: 35px; }
.portfolio-screens a:hover + figcaption h3, .portfolio-screens figcaption > a:hover { color: var(--blue); }
.device-gallery { row-gap: 40px; column-gap: 40px; }
.device-stage { position: relative; padding: 34px 22px 26px; background: #f1f3f7; overflow: hidden; }
.device-stage .desktop-mockup { width: 88%; padding: 0; background: transparent; }
.device-stage .desktop-screen { border-width: 7px; border-bottom-width: 16px; }
.phone-mockup { position: absolute; width: 23%; right: 19px; bottom: 26px; aspect-ratio: .47; border: 5px solid #252c36; border-radius: 15px; background: white; overflow: hidden; box-shadow: 0 8px 20px rgba(24,36,58,.16); }
.phone-mockup::after { content: ''; position: absolute; top: 0; left: 34%; width: 32%; height: 6px; border-radius: 0 0 5px 5px; background: #252c36; }
.phone-mockup img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; }
.device-gallery figcaption { display: block; padding-block: 17px 20px; }
.device-gallery figcaption h3 { font-size: 19px; line-height: 1.65; margin-top: 7px; }
@media(max-width:1050px) {
  .inner-page > .inner-hero { padding-inline: 40px; }.inner-page > .inner-hero .inner-lead { max-width: 570px; }.portfolio-screens { gap: 30px; }.portfolio-heading h2 { font-size: 28px; }
}
@media(max-width:700px) {
  .profile-page > .inner-hero::before, .voice-page > .inner-hero::before, .interview-page > .inner-hero::before { left: 24%; opacity: .15; }
  .device-gallery { gap: 28px; }.device-stage { padding: 28px 17px 20px; }.device-stage .desktop-screen { border-width: 5px; border-bottom-width: 12px; }.phone-mockup { right: 14px; bottom: 22px; border-width: 4px; border-radius: 12px; }.phone-mockup::after { height: 5px; }.device-gallery figcaption h3 { font-size: 18px; }
  .inner-page > .inner-hero { padding: 25px 22px 38px; margin-bottom: 28px; }.inner-page > .inner-hero::before { inset-inline-start: 0; opacity: .16; }.inner-page > .inner-hero::after { background: linear-gradient(90deg,rgba(248,250,252,.98),rgba(248,250,252,.82) 65%,rgba(248,250,252,.55)); }.inner-page > .inner-hero .inner-lead { font-size: 13px; }.heading-icon { width: 21px; height: 21px; margin-right: 9px; vertical-align: -2px; }.service-page .detail-list h2 { display: flex; align-items: start; }.service-page .detail-list h2 .heading-icon { flex: 0 0 21px; margin-top: 6px; }.faq-list summary::before { top: 24px; width: 16px; height: 16px; }.portfolio-showcase { padding-block: 30px; margin-bottom: 25px; }.portfolio-heading { display: block; margin-block: 27px 30px; }.portfolio-heading h2 { font-size: 25px; }.portfolio-heading > p { margin-top: 20px; font-size: 13px; }.portfolio-screens { grid-template-columns: 1fr; gap: 35px; }.desktop-mockup { padding: 23px 15px 18px; }.desktop-screen { border-width: 6px; border-bottom-width: 14px; }.desktop-base { height: 29px; }.desktop-base::before { height: 23px; }.portfolio-screens figcaption { padding-block: 18px; }.portfolio-screens figcaption h3 { font-size: 22px; }
}
@media(max-width:370px) { .inner-page > .inner-hero { padding-inline: 18px; }.portfolio-heading h2 { font-size: 22px; }.desktop-mockup { padding-inline: 11px; } }

/* Existing inquiry routes, clearer evidence and consistent reading rhythm. */
html { scroll-padding-top:128px; }
.header { position:sticky;top:0;z-index:50; }
body.admin-bar .header { top:32px; }
@media(max-width:1000px){html { scroll-padding-top:108px; }}
@media(max-width:782px){body.admin-bar .header { top:46px; }}
@media(max-width:600px){html { scroll-padding-top:100px; }body.admin-bar .header { top:0; }}
.header-actions { display: flex; align-items: center; gap: 10px; }
.works-page .comparison-chart i{transform-origin:left center}
.works-page .result-value,.works-page .spotlight-number strong{display:inline-block;font-variant-numeric:tabular-nums}
.consultation-bar{position:fixed;inset:auto 0 0;z-index:40;padding:12px 24px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e1e5ec;background:#fff;box-shadow:0 -4px 20px rgba(14,21,38,.05)}
.consultation-bar[hidden]{display:none!important}
.consultation-bar .mobile-cta{position:static;display:flex;justify-content:center;gap:14px;width:100%;max-width:360px;min-height:52px;margin:0 auto;padding:12px 24px;font-size:14px;border-radius:4px}
.consultation-bar .mobile-cta .arrow{margin-left:auto}
@media(min-width:601px){.consultation-bar{display:none!important}body.consultation-enabled{padding-bottom:0}}
@media(max-width:600px){.consultation-bar{padding:10px 18px max(10px,env(safe-area-inset-bottom))}.consultation-bar .mobile-cta{min-height:50px;max-width:none;font-size:13px}body.consultation-enabled{padding-bottom:calc(76px + env(safe-area-inset-bottom))}body.consultation-enabled .page-top{bottom:160px}}
.header-actions .header-question { min-height: 48px; padding: 11px 15px; font-size: 12px; gap: 10px; white-space: nowrap; }
.header-actions .header-question .arrow { font-size: 18px; margin: 0; }
.header .header-cta { white-space: nowrap; }
.mobile-nav .mobile-menu-contact { grid-column: 1/-1; justify-content: center; min-height: 54px; margin-top: 20px; padding: 15px 22px; border: 1px solid var(--blue); border-radius: 4px; background: var(--blue); color: #fff; font-size: 15px; font-weight: 600; gap: 14px; }
.mobile-nav .mobile-menu-contact:hover { background: var(--blue-hover); }
.mobile-nav .mobile-menu-contact:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.mobile-nav .mobile-menu-contact .arrow { margin-left: auto; }
.mobile-nav .mobile-menu-question { grid-column: 1/-1; justify-content: center; margin-top: 10px; padding: 13px 22px; min-height: 50px; border: 1px solid #a6b5d4; border-radius: 4px; font-size: 14px; background: #fff; color: var(--ink); }
.related-three > a > .related-art { aspect-ratio: 1.85; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; background: #edf1f9; padding: 25px; }
.related-art .heading-icon { width: 40px; height: 40px; margin: 0; }
.related-art > span { font-size: 12px; color: #526582; line-height: 1.7; }
.journal-question { padding: 30px; margin-block: 25px; background: #eaf0ff; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.journal-question h2 { font-size: 22px; margin-block: 10px; }.journal-question p { font-size: 13px; color: #50617c; }.journal-question .button { white-space: nowrap; font-size: 12px; }
.metric-number, .case-result, .secondary-number, .result-value, .spotlight-number, .cover-metric { font-variant-numeric: tabular-nums; }
.hero .hero-reason-title{font-size:60px;line-height:1.5;font-weight:800;letter-spacing:0;word-break:normal;text-wrap:wrap}
.hero-reason-title>span{display:block}
.hero-reason-title .hero-reason-blue{color:#1f4fff}
.hero-reason-blue{white-space:nowrap}
.hero-reason-character{display:inline-block}
.hero .hero-inner{text-align:center}
.hero .hero-category{justify-content:center}
.hero .hero-ending-phrase{display:inline-block}
.hero .hero-subcopy{margin-inline:auto}
.hero .hero-lower{justify-content:center}
.hero .hero-lead{margin-inline:auto}
.hero .hero-actions{justify-content:center}
.hero .hero-scroll{justify-content:center}
.service-list>.ai-service{background:transparent;padding-inline:0;margin-inline:0;border-color:var(--line)}
.service-list>.ai-service .service-number{color:#748097}
.hero .hero-subcopy{font-size:21px;font-weight:700;line-height:1.9;margin-top:26px;max-width:850px;letter-spacing:0}
.hero-subcopy>span{display:block}
.hero-subcopy .subcopy-phrase{display:inline-block}
.hero .hero-lower{margin-top:18px}
.hero .hero-lead{max-width:670px;font-size:15px;line-height:2}
@media(max-width:1000px){.hero .hero-reason-title{font-size:48px}.hero .hero-subcopy{font-size:19px}}
@media(max-width:600px){.hero .hero-reason-title{font-size:28px;line-height:1.65}.hero .hero-subcopy{font-size:16px;line-height:1.9;margin-top:22px}.hero .hero-lead{font-size:13px;line-height:2;max-width:none}.hero .hero-lower{margin-top:16px}}
@media(max-width:370px){.hero .hero-reason-title{font-size:24px}.hero .hero-subcopy{font-size:15px}}
h1,h2,h3 { word-break: normal; text-wrap: pretty; }
@supports(word-break:auto-phrase) { h1,h2,h3 { word-break: auto-phrase; } }
.button { min-height: 44px; }
.button.outline { border: 1px solid #a6b5d4; color: #193e87; background: white; }
.button.outline:hover { background: #eaf0ff; border-color: #627fb9; }
.contact .contact-choices > .outline { background: transparent; color: white; border-color: #a6b5d4; }
.contact .contact-choices > .outline:hover { background: #202c43; border-color: white; }
.works-page .result-catalog { grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 30px; }
.works-page .result-catalog h3 { font-size: 19px; }
.inline-hint { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 12px; color: #2448ca; border-bottom: 1px solid #c0cbed; }
.inline-hint > span { font-size: 20px; }
.problem-question { margin-top: 30px; }
.problem-grid p { margin-bottom: 10px; }
.approach-steps { display: flex; gap: 28px; list-style: none; padding: 0; margin: 36px 0 0; }
.approach-steps li { min-width: 0; }
.approach-steps .heading-icon { display: block; margin-bottom: 12px; width: 27px; height: 27px; }
.approach-steps strong { display: block; font-size: 23px; }
.approach-steps li > span { display: block; color: var(--muted); margin-top: 6px; font-size: 11px; }
.service-list > a { position: relative; }
.service-list .service-audience { grid-column: 3; grid-row: 2; color: #53657d; font-size: 11px; line-height: 1.8; }
.service-list > a .row-arrow { grid-column: 4; grid-row: 1/3; }
.service-for { display: inline-block; padding: 9px 12px; margin-bottom: 20px; background: #eaf0ff; color: #2448a3 !important; font-size: 14px !important; }
.duration-note { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 35px; padding-block: 23px; border-block: 1px solid var(--line); margin-block: 28px 35px; }
.duration-note > strong { font-size: 20px; line-height: 1; white-space: nowrap; color: var(--blue); }
.duration-note > strong > span { font-family: var(--en); font-size: 62px; margin-inline: 7px; font-weight: 500; }
.duration-note > p { font-size: 12px; color: var(--muted); }
.duration-note > span { font-size: 12px; color: #445571; margin-left: auto; max-width: 310px; line-height: 1.9; }
.owner-label { display: inline-block; font-size: 10px; color: #53657e; margin-bottom: 9px; }
.phase-label { color: #2448ca !important; font-size: 14px !important; border-bottom: 1px solid #cad4eb; padding-bottom: 13px; margin: 0 0 18px !important; }
.timeline li:has(.phase-label) { padding-top: 36px; }
.flow-page .timeline{max-width:1000px;margin:56px auto 0;padding:0;border-left:0}
.flow-page .timeline li{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:34px;border:0;padding:0;isolation:isolate}
.flow-page .timeline li::before{content:'';position:absolute;z-index:-1;left:27px;top:0;bottom:0;width:1px;height:auto;border:0;border-radius:0;background:#d9e1f1}
.flow-page .timeline li:last-child::before{bottom:calc(100% - 28px)}
.flow-page .timeline li>span{display:grid;place-items:center;align-self:start;width:56px;height:56px;padding:0;border:1px solid #d9e1f1;border-radius:50%;background:#fff;color:#53647e;font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}
.flow-page .timeline li>div{min-width:0;padding:8px 0 32px;margin-bottom:28px;border-bottom:1px solid #e1e5ec}
.flow-page .timeline li:has(.phase-label):not(:first-child){padding-top:28px}
.flow-page .timeline li:has(.phase-label)>span{background:#1f4fff;border-color:#1f4fff;color:#fff}
.flow-page .timeline li:has(.phase-label)>div{padding-top:0}
.flow-page .timeline .phase-label{font-size:14px!important;font-weight:700;letter-spacing:0;border:0;padding:0;margin:0 0 18px!important;color:#1f4fff!important}
.flow-page .timeline .owner-label{float:right;margin:2px 0 8px 20px;padding:4px 10px;border:1px solid #e1e5ec;border-radius:3px;background:#f7f9fc;color:#657086;font-size:10px;line-height:1.8}
.flow-page .timeline h2{font-size:22px;line-height:1.65;font-weight:700;letter-spacing:0}
.flow-page .timeline p:not(.phase-label){max-width:740px;font-size:14px;line-height:2;margin-top:12px}
.flow-page .timeline li:last-child>div{margin-bottom:0;border-bottom:0;padding-bottom:0}
@media(max-width:850px){.flow-page .timeline{margin-top:40px}.flow-page .timeline li{grid-template-columns:52px minmax(0,1fr);column-gap:22px}.flow-page .timeline li::before{left:23px}.flow-page .timeline li>span{width:48px;height:48px;font-size:16px}.flow-page .timeline h2{font-size:20px}.flow-page .timeline .owner-label{float:none;margin:0 0 10px;padding:2px 8px}.flow-page .timeline .phase-label{margin-bottom:12px!important}}
@media(max-width:600px){.flow-page .timeline li{grid-template-columns:38px minmax(0,1fr);column-gap:16px}.flow-page .timeline li::before{left:18px}.flow-page .timeline li>span{width:37px;height:37px;font-size:13px}.flow-page .timeline li>div{padding-top:0;padding-bottom:24px;margin-bottom:22px}.flow-page .timeline li:has(.phase-label):not(:first-child){padding-top:18px}.flow-page .timeline h2{font-size:18px;line-height:1.75}.flow-page .timeline p:not(.phase-label){font-size:13px;line-height:1.95;margin-top:10px}.flow-page .timeline .phase-label{font-size:11px!important}.flow-page .timeline .owner-label{font-size:9px}.flow-page .timeline li:last-child::before{bottom:calc(100% - 18px)}}
.contact-choices { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 32px; }
.contact .contact-inner { display: block; text-align: center; }
.contact .contact-inner > .eyebrow { color: #a1baff; }
.contact .contact-inner > h2, .contact .contact-inner > p { margin-inline: auto; }
.contact .contact-choices { justify-content: center; }
.contact .contact-person { justify-content: center; }
.contact .contact-person > p { text-align: left; }
.contact .contact-person > small { text-align: left; }
.contact-choices > .button { margin-top: 0 !important; min-width: 230px; justify-content: center; }
.contact-choices > .outline { border-color: #a6b5d4; color: white; background: transparent; }
.contact-choices > .outline:hover { background: #202c43; border-color: white; }
.contact-person { display: flex; align-items: center; gap: 16px; margin-top: 38px; }
.contact-person > img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.contact-person > p { display: grid; gap: 4px; font-size: 12px; line-height: 1.7; color: #e4e9f2; }
.contact-person > p > span { font-size: 10px; color: #b9c4d8; }
.contact-person > p > strong { font-weight: 500; }
.contact-person > small { margin: 0 0 0 18px !important; color: #bac6da !important; font-size: 13px !important; }
.portfolio-quiet { padding-block: 24px; margin-block: 20px 32px; }
.portfolio-quiet .device-gallery { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.portfolio-quiet .device-stage { padding: 15px 10px 12px; background: #f6f7fa; }
.portfolio-quiet .desktop-screen { border-width: 3px; border-bottom-width: 7px; border-radius: 3px; box-shadow: 0 5px 12px rgba(24,36,58,.07); }
.portfolio-quiet .desktop-base { height: 18px; }
.portfolio-quiet .desktop-base::before { height: 14px; }
.portfolio-quiet .desktop-base::after { height: 4px; border-bottom-width: 1px; }
.portfolio-quiet .phone-mockup { right: 7px; bottom: 13px; border-width: 2px; border-radius: 7px; box-shadow: 0 3px 9px rgba(24,36,58,.12); }
.portfolio-quiet .phone-mockup::after { height: 3px; }
.face-pair img { height: auto; }
.name-story { background: var(--ink); color: white; position: relative; overflow: hidden; }
.name-story::before { content: 'SONIDO'; font-family: var(--en); font-size: 180px; font-weight: 600; position: absolute; bottom: -40px; right: 0; color: rgba(255,255,255,.035); pointer-events: none; }
.name-story .reading-copy, .name-story .eyebrow { color: #d3dbea; }
.established { display: flex; align-items: baseline; gap: 12px; border-top: 1px solid var(--line); padding-top: 20px; }
.established > span { font-size: 9px; font-family: var(--en); color: #5a6a82; }
.established > strong { font-family: var(--en); font-size: 40px; font-weight: 500; color: var(--blue); }
.established > small { font-size: 10px; }
.common-questions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-block: 30px; }
.common-questions > a { display: flex; gap: 14px; align-items: center; border-block: 1px solid var(--line); padding: 18px 10px; min-height: 74px; }
.common-questions > a > span { color: var(--blue); font-family: var(--en); font-size: 25px; }
.common-questions strong { font-size: 14px; font-weight: 500; }
.common-questions i { margin-left: auto; font-style: normal; color: #647496; }
.common-questions > a:hover strong { color: var(--blue); }
.journal-author { display: flex; align-items: center; gap: 17px; margin-top: 28px; max-width: 560px; }
.journal-author > img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.journal-author p { font-size: 12px; }
.journal-author strong, .journal-author span { display: block; }
.journal-author strong { font-weight: 500; }
.journal-author span { color: var(--muted); font-size: 11px; margin-top: 4px; }
.voice-page .customer-stories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; align-items: start; }
.voice-page .customer-stories > article { display: block; padding: 25px; border: 1px solid var(--line); border-top: 2px solid #9cafd8; border-radius: 4px; }
.voice-page .customer-stories h3 { font-size: 19px; margin-top: 12px; }
.voice-page .customer-stories article > div > p:not(.small-label) { margin-top: 20px; font-size: 13px; line-height: 2; }
.voice-page .customer-stories .small-label { font-size: 10px; }
.result-catalog .case-question { margin-top: 16px; font-size: 11px; }
.contact-opening { padding-block: 26px 70px; background: #f4f6fa; }
.contact-opening .breadcrumbs { margin-bottom: 30px; }
.contact-start-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: 65px; align-items: start; }
.contact-start-copy { padding-top: 22px; }
.contact-start-copy h1 { font-size: 34px; line-height: 1.75; margin-top: 22px; }
.contact-start-copy h1 > span { display: block; }
.contact-start-copy .inner-lead { font-size: 14px; margin-top: 24px; }
.form-representative { display: flex; align-items: center; gap: 18px; margin-top: 30px; }
.form-representative > img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.form-representative > div > span, .form-representative > div > strong { display: block; }
.form-representative span { font-size: 11px; color: var(--muted); }
.form-representative strong { font-size: 16px; margin-top: 8px; font-weight: 500; }
.contact-assurances { padding: 0; margin: 25px 0; list-style: none; }
.contact-assurances li { padding-left: 22px; position: relative; font-size: 13px; line-height: 1.9; margin-bottom: 10px; }
.contact-assurances li::before { content: '✓'; color: var(--blue); position: absolute; left: 0; }
.contact-guidance-mini { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 24px; }
.contact-guidance-mini h2 { font-size: 18px; line-height: 1.8; }
.contact-guidance-mini > p { font-size: 13px; line-height: 2; color: var(--muted); margin-top: 16px; }
.contact-guidance-mini > a { margin-top: 22px; font-size: 12px; }
.contact-opening .consult-form { padding: 32px; }
.consult-form input:not([type=checkbox]):not([type=radio]):not([type=submit]), .consult-form select { min-height: 52px; }
.consultation-prompts { border: 0; padding: 0; margin: 25px 0 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.consultation-prompts legend { display: block; width: 100%; font-size: 12px; margin-bottom: 12px; color: #50617c; }
.consultation-prompts button { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid #c8d2e8; background: #f5f8ff; color: #24458f; padding: 9px 12px; font-size: 11px; border-radius: 3px; cursor: pointer; }
.consultation-prompts button:hover { border-color: var(--blue); background: #eaf0ff; }
.consultation-prompts button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
@media(max-width:1200px) { .header-actions .header-question { display: none; }.header-actions { gap: 0; }.contact-start-layout { gap: 38px; }.contact-start-copy h1 { font-size: 29px; }.voice-page .customer-stories { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:1000px) { .works-page .result-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) { .contact-start-layout { grid-template-columns: 1fr; gap: 30px; }.contact-start-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; padding-top: 0; }.contact-start-copy > .eyebrow, .contact-start-copy > h1, .contact-start-copy > .inner-lead { grid-column: 1/-1; }.contact-guidance-mini { display: none; }.form-representative { margin-top: 22px; }.contact-assurances { margin-top: 22px; }.contact-opening .consult-form { width: 100%; max-width: none; }.common-questions { gap: 12px; }.common-questions strong { font-size: 12px; } }
@media(max-width:700px) {
  .portfolio-quiet { padding-block: 12px; margin-block: 18px 28px; }.portfolio-quiet .device-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }.portfolio-quiet .device-stage { padding: 12px 8px 10px; }.portfolio-quiet .desktop-screen { border-width: 2px; border-bottom-width: 5px; }.portfolio-quiet .phone-mockup { right: 6px; bottom: 11px; border-radius: 5px; }
  .contact .contact-person > small { flex-basis: 100%; margin: 5px 0 0 !important; text-align: center; }
  .works-page .result-catalog { grid-template-columns: 1fr; }
  .related-three > a > .related-art { aspect-ratio: 1; padding: 14px; gap: 10px; }.related-art .heading-icon { width: 28px; height: 28px; }.related-art > span { font-size: 8px; text-align: center; }.journal-question { display: block; padding: 24px; }.journal-question .button { margin-top: 20px; }.journal-question h2 { font-size: 21px; }
  .header-actions { margin-left: auto; }.header .brand > span { display: none; }.header .header-question { display: none; }
  .hero .hero-category { max-width: 100%; font-size: 9px; line-height: 1.8; }.hero .hero-actions > .button { font-size: 11px; padding-inline: 15px; }
  .approach-steps { gap: 22px; margin-top: 25px; }.approach-steps strong { font-size: 20px; }.approach-steps li > span { font-size: 10px; }
  .service-list .service-audience { grid-column: 2; grid-row: auto; font-size: 10px; }.service-list > a .row-arrow { grid-column: 3; grid-row: 1/4; }
  .duration-note { gap: 17px 22px; padding-block: 20px; }.duration-note > strong > span { font-size: 48px; }.duration-note > span { margin-left: 0; max-width: none; font-size: 11px; }.duration-note > p { font-size: 11px; }.owner-label { font-size: 9px; }.phase-label { font-size: 11px !important; }
  .contact-choices { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 25px; }.contact-choices > .button { width: 100%; min-width: 0; min-height: 52px; }.contact-person { gap: 13px; flex-wrap: wrap; margin-top: 28px; }.contact-person > img { width: 48px; height: 48px; }.contact-person > p { font-size: 11px; }.contact-person > small { margin-left: 61px !important; margin-top: -4px !important; }
  .name-story::before { font-size: 90px; bottom: -10px; }.established { flex-wrap: wrap; gap: 7px 12px; }.established > strong { font-size: 38px; }.established > small { display: block; width: 100%; }
  .common-questions { grid-template-columns: 1fr; gap: 0; margin-block: 15px 25px; }.common-questions > a { padding: 12px 5px; min-height: 60px; border-bottom: 0; }.common-questions > a:last-child { border-bottom: 1px solid var(--line); }.common-questions strong { font-size: 14px; }
  .voice-page .customer-stories { grid-template-columns: 1fr; gap: 18px; }.voice-page .customer-stories > article { padding: 23px; }.voice-page .customer-stories h3 { font-size: 20px; }.voice-page .customer-stories article > div > p:not(.small-label) { font-size: 13px; }.journal-author { gap: 13px; }.journal-author > img { width: 52px; height: 52px; }
  .contact-opening { padding-top: 15px; }.contact-opening .breadcrumbs { margin-bottom: 22px; }.contact-start-copy { display: block; }.contact-start-copy h1 { font-size: 26px; margin-top: 16px; line-height: 1.7; }.contact-start-copy .inner-lead { font-size: 13px; margin-top: 18px; }.form-representative { gap: 14px; margin-top: 20px; }.form-representative > img { width: 56px; height: 56px; }.form-representative strong { font-size: 14px; }.form-representative span { font-size: 10px; }.contact-assurances { display: none; }.contact-start-layout { gap: 25px; }.contact-opening .consult-form { padding: 23px 20px; }.contact-opening .consult-form > h2 { font-size: 21px; }.contact-opening .consult-form > p:not(.eyebrow) { font-size: 11px; }.consult-form input:not([type=checkbox]):not([type=radio]):not([type=submit]), .consult-form textarea, .consult-form select { font-size: 16px; }.consultation-prompts button { font-size: 11px; }
}
@media(max-width:370px) { .hero .hero-actions { align-items: stretch; flex-direction: column; }.hero .hero-actions > .button { justify-content: center; }.contact-start-copy h1 { font-size: 23px; }.contact-opening .consult-form { padding-inline: 16px; }.contact-person > p > span { font-size: 9px; } }

/* Article archives: scan image, subject and metadata across each row. */
.reason-manifesto { padding-block: 56px 64px; margin-block: 12px 35px; border-block: 1px solid var(--line); }
.manifesto-caption { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.manifesto-caption > p:last-child { font-size: 12px; color: var(--muted); }
.manifesto-words { position: relative; padding-block: 45px 50px; overflow: hidden; }
.manifesto-why { display: block; text-align: right; padding-right: 10px; font-family: var(--en); font-size: 110px; font-weight: 600; line-height: 1; color: transparent; -webkit-text-stroke: 1px #ccd6ed; margin-bottom: 8px; user-select: none; }
.manifesto-words h2 { font-weight: 600; line-height: 1.65; }
.manifesto-words .manifesto-before { font-size: 31px; color: #536079; }
.manifesto-words .manifesto-after { display: block; font-size: 49px; padding-left: 9%; margin-top: 13px; }
.manifesto-after em { color: var(--blue); font-style: normal; font-weight: 700; position: relative; }
.manifesto-after em::after { content: ''; position: absolute; left: 8%; right: 7%; bottom: -12px; height: 3px; background: var(--blue); }
.manifesto-bottom { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.manifesto-bottom > p { max-width: 650px; font-size: 14px; line-height: 2; color: var(--muted); }
.manifesto-bottom > .text-link { flex-shrink: 0; font-size: 12px; }
@media(max-width:1000px) { .manifesto-words .manifesto-after { font-size: 40px; padding-left: 5%; }.manifesto-words .manifesto-before { font-size: 28px; }.manifesto-bottom { display: block; }.manifesto-bottom > .text-link { margin-top: 24px; } }
@media(max-width:700px) { .reason-manifesto { padding-block: 30px 36px; margin-block: 8px 25px; }.manifesto-caption { display: block; }.manifesto-caption > p:last-child { font-size: 11px; margin-top: 13px; max-width: 270px; }.manifesto-words { padding-block: 24px 38px; }.manifesto-why { font-size: 74px; margin-bottom: 22px; padding: 0; }.manifesto-words .manifesto-before { font-size: 22px; }.manifesto-words .manifesto-after { font-size: 29px; padding-left: 0; margin-top: 17px; }.manifesto-after em::after { bottom: -8px; height: 2px; }.manifesto-bottom { padding-top: 23px; }.manifesto-bottom > p { font-size: 13px; }.manifesto-bottom > .text-link { font-size: 11px; gap: 12px; } }
@media(max-width:370px) { .manifesto-words .manifesto-before { font-size: 19px; }.manifesto-words .manifesto-after { font-size: 24px; }.manifesto-bottom > .text-link { font-size: 10px; } }
.service-concept .concept-heading { margin-bottom: 32px; }
.service-concept .concept-heading h2 { font-size: 32px; line-height: 1.7; margin-top: 18px; }
.service-concept .concept-layout { display: grid; grid-template-columns: minmax(0,360px) minmax(0,1fr); align-items: start; gap: 64px; }
.service-concept .concept-photo { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: cover; object-position: center; }
.service-concept .reading-copy { min-width: 0; }
@media(max-width:1000px) { .service-concept .concept-layout { grid-template-columns: minmax(0,280px) minmax(0,1fr); gap: 32px; }.service-concept .concept-heading h2 { font-size: 29px; } }
@media(max-width:700px) { .service-concept .concept-heading { margin-bottom: 25px; }.service-concept .concept-heading h2 { font-size: 25px; }.service-concept .concept-layout { grid-template-columns: 1fr; gap: 25px; }.service-concept .concept-photo { max-width: 360px; }.service-concept .reading-copy > p { font-size: 13px; } }
@media(max-width:370px) { .service-concept .concept-heading h2 { font-size: 22px; } }
.post-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px 30px; align-items: stretch; padding-top: 30px; }
.post-list > article { display: flex; flex-direction: column; gap: 20px; min-width: 0; padding: 0 0 25px; }
.post-list > article > div { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.post-list .post-thumb { flex-shrink: 0; aspect-ratio: 1.8; }
.post-card-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; }
.post-card-meta .post-date { margin: 0; }
.post-list h2 { font-size: 20px; line-height: 1.75; margin-top: 12px; }
.post-list article > div > p { font-size: 13px; margin-top: 14px; margin-bottom: 10px; }
.post-list .text-link { margin-top: auto; padding-top: 16px; align-self: flex-start; }
.post-list > .journal-question { grid-column: 1/-1; margin-block: 0; }
@media(max-width:1050px) { .post-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 26px; } }
@media(max-width:600px) { .post-list { grid-template-columns: 1fr; gap: 30px; padding-top: 24px; }.post-list > article { gap: 17px; padding-bottom: 24px; }.post-list h2 { font-size: 20px; }.post-list article > div > p { font-size: 13px; }.post-list .text-link { padding-top: 12px; } }

.recommendation-band{background:#f3f5fa;padding:80px 0;border-block:1px solid #e1e5ed}
.recommendation-layout{max-width:1080px}
.recommendation-layout h2{font-size:24px;margin:12px 0 28px}
.recommendation-excerpt{margin:0;max-width:900px;border:0;padding:0}
.recommendation-excerpt p{font-size:32px;line-height:1.75;font-weight:800;letter-spacing:0;color:#0e1526}
.recommendation-person{display:flex;align-items:center;gap:20px;margin:32px 0}
.recommendation-person img{width:72px;height:72px;object-fit:cover;border-radius:50%}
.recommendation-person p{font-size:13px;line-height:1.8;margin:0}
.recommendation-person strong{font-size:18px}
.recommendation-person small{margin-left:auto;font-size:12px;color:#606b7e}
.original-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.original-customer-voice{min-width:0;display:flex;flex-direction:column;min-height:250px;border:1px solid #dfe4ec;border-radius:4px;padding:24px 28px 0;background:#fff}
.original-customer-voice .small-label{font-size:12px;line-height:1.8;color:#616b7c;min-height:24px;margin:0}
.original-customer-voice blockquote{margin:18px 0 24px;padding:0;border:0}
.original-customer-voice blockquote p{font-size:15px;line-height:1.95;font-weight:500;color:#0e1526;letter-spacing:0;margin:0}
.original-customer-voice>.original-voice{margin-top:auto}
.customer-photo-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0 36px}
.customer-photo-strip figure{margin:0;min-width:0;aspect-ratio:2/1;overflow:hidden;border-radius:3px;background:#f3f5fa}
.customer-photo-strip img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.original-voice{border-top:1px solid #d9dfe9}
.original-voice summary,.more-customer-voices>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:52px;list-style:none;font-size:13px;font-weight:600}
.original-voice summary::-webkit-details-marker,.more-customer-voices>summary::-webkit-details-marker{display:none}
.original-voice summary span,.more-customer-voices>summary span{font-size:22px;font-weight:400;transition:transform .2s}
.original-voice[open]>summary span,.more-customer-voices[open]>summary span{transform:rotate(45deg)}
.original-voice summary:focus-visible,.more-customer-voices>summary:focus-visible{outline:2px solid #1f4fff;outline-offset:4px}
.original-voice-copy{padding:8px 0 24px;overflow-wrap:anywhere}
.original-voice-copy p,.original-voice-copy li{font-size:14px;line-height:2;font-weight:400;color:#384253;margin:0 0 16px}
.original-voice-copy strong{font-weight:700;background:none;box-shadow:none;color:inherit}
.original-voice-copy ol,.original-voice-copy ul{padding-left:22px}
.customer-photo-moments{grid-column:1/-1;display:grid;gap:24px;align-items:center;margin:12px 0 30px}
.moments-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.moments-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.customer-photo-moments figure{margin:0;min-width:0}
.customer-photo-moments img{display:block;width:100%;height:auto;border-radius:4px}
.more-customer-voices{margin-top:44px;border-block:1px solid #d9dfe9}
.more-customer-voices>summary{min-height:80px;font-size:16px}
.more-customer-voices>.original-customer-grid{padding:20px 0 36px}
.original-voices-section>.small-note{margin-top:32px;font-size:12px;line-height:1.9;color:#606b7e}
@media(max-width:1000px){.recommendation-excerpt p{font-size:28px}.original-customer-voice{padding-inline:22px}}
@media(max-width:600px){.recommendation-band{padding:48px 0}.recommendation-excerpt p{font-size:22px;line-height:1.8}.recommendation-person{gap:14px;flex-wrap:wrap}.recommendation-person small{width:100%;margin:0}.original-customer-grid{grid-template-columns:minmax(0,1fr);gap:16px}.original-customer-voice{min-height:250px;padding:22px 20px 0}.original-customer-voice .small-label{min-height:24px}.original-customer-voice blockquote p{font-size:14px;line-height:1.95}.customer-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.more-customer-voices>summary{font-size:14px}}

/* Shared reading sizes; headings and result figures keep their existing scale. */
:root { --reading-size: 16px; --reading-small: 14px; }
main :is(.hero-lead, .inner-lead, .section-lead, .reading-copy > p,
  .section-heading > p, .section-heading > div > p, .philosophy-copy > p,
  .problem-grid p, .service-list p, .flow-list p, .case-story > p:not(.eyebrow),
  .people p:not(.signature), .detail-list p:not(.eyebrow,.small-note), .plain-list li,
  .faq-list details > p, .timeline p, .check-grid p, .value-grid p,
  .result-catalog article > p:last-child, .interview-grid p:not(.small-label),
  .interview-body article > p:last-child, .customer-stories article > div > p:not(.small-label),
  .original-customer-voice blockquote p, .original-voice-copy p, .original-voice-copy li,
  .legal-copy p, .legal-copy li, .notice p, .post-list article > div > p,
  .contact-guidance > p:not(.eyebrow), .contact-start-copy > p:not(.eyebrow),
  .contact p:not(.eyebrow), .journal-question p) {
  font-size: var(--reading-size); line-height: 2;
}
main :is(.metric-label, .metric-context, .case-secondary-bottom > span,
  .small-note, .case-story dl > div, .case-facts > div,
  .info-table > div, .contact-guidance dd, .contact-person > p,
  .consult-form > p:not(.eyebrow,.privacy-notice)) { font-size: var(--reading-small); }
main .journal-row h3 { font-size: 15px; }
main .contact-form-cf7 :is(.form-grid > label,.wpcf7-form > label,legend,.wpcf7-checkbox label,.wpcf7-acceptance label) { font-size: 14px; }
.footer nav a { font-size: 14px; }
.header .desktop-nav { font-size: 13px; gap: 21px; }
.header .nav-submenu { font-size: 13px; }
.header .mobile-nav a:not(.mobile-menu-contact) { font-size: 14px; }
/* Secondary information stays readable without competing with headings. */
#main :is(.index-label,.small-label,.service-audience,.step,.question-label,
  .voice-link,.inline-hint,.text-link,.post-date,.article-meta,.case-meta,
  .page-index a,.category-nav a,.blog-search > label,.blog-search button,
  .reason-aside > a,.approach-steps li > span,.duration-note > p,
  .duration-note > span,.service-blueprint li p,.manifesto-caption > p:last-child,
  .related-three p,.established > small,.form-representative span,
  .contact-guidance dt,.contact-guidance dd) { font-size: 14px; line-height: 1.8; }
#main :is(.eyebrow,.service-en,.case-kicker,.reason-route small,
  .service-blueprint small,.words-visual > small,.wireframe-bar) { font-size: 13px; line-height: 1.8; }
#main :is(.breadcrumbs,.disclaimer,.case-note,.spotlight-note,.privacy-notice,
  .privacy-guidance,.comparison-chart span,.recommendation-person small,
  .original-voices-section > .small-note,.signature small) { font-size: 13px; line-height: 1.9; }
#main :is(figcaption,.order-visual > span,.words-visual > span,.wireframe-visual li,
  .case-data > p:not(.case-result,.case-kicker),.case-result small) { font-size: 14px; line-height: 1.8; }
#main .button { font-size: 14px; }
#main .hero-category { font-size: 13px; line-height: 1.9; }
#main .hero-scroll { font-size: 13px; margin-inline: auto; }
#main .category-nav > .eyebrow { font-size: 14px; }
#main .index-label { display: inline-block; max-width: 100%; padding: 5px 10px; background: #edf2ff; color: #2446a4; border-radius: 2px; font-weight: 500; }
#main .service-list .service-audience { padding: 8px 12px; background: #f0f4ff; border-left: 2px solid #a9baff; color: #344560; border-radius: 0; }
#main .flow-page .owner-label, #main .owner-label { font-size: 13px; line-height: 1.9; }
#main .contact-form-cf7 label b { font-size: 12px; padding: 2px 7px; }
#main .contact-form-cf7 :is(input,textarea)::placeholder { font-size: 14px; }
#main .contact-form-cf7 .privacy-guidance { font-size: 13px; }
#main .contact-form-cf7 .wpcf7-not-valid-tip { font-size: 13px; }
#main .timeline .phase-label { font-size: 14px !important; }
#main .contact-person > p > span { font-size: 13px; }
#main .consult-form > p:not(.eyebrow,.privacy-notice) { font-size: 14px; line-height: 1.9; }
#main .contact-form-cf7 .wpcf7-submit { font-size: 14px; }
#main .result-heading > p:last-child { font-size: 14px; line-height: 1.8; }
#main :is(.related-art > span,.service-blueprint li > span,.journal-author strong,
  .journal-author p > span,.result-catalog small,.form-field > label,
  .form-field > legend,.acceptance,.acceptance > span,.choice-list > label,
  .process-overview li > span:last-child) { font-size: 14px; line-height: 1.8; }
#main .process-overview small { font-size: 13px; }
#main :is(.required,.optional) { font-size: 13px; }
.footer .eyebrow, .footer .footer-brand > span { font-size: 13px; line-height: 1.8; }
.footer .footer-bottom :is(small,a:not(.back-top)) { font-size: 13px; line-height: 1.9; }
@media(min-width:1001px) and (max-width:1100px) {
  .header .desktop-nav { font-size: 12px; gap: 15px; }
}
@media(max-width:600px) {
  :root { --reading-size: 15px; --reading-small: 13px; }
  main .hero .hero-lead { font-size: 15px; }
  #main .metric-number small { font-size: 14px; }
}
