.ih-body { background: var(--pb-bg); color: var(--pb-ink); }
.ih-hero { padding: 42px 0 76px; background: linear-gradient(180deg, #fff 0%, var(--pb-bg) 100%); }
.ih-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); gap: 52px; align-items: center; margin-top: 48px; }
.ih-hero h1 { max-width: 760px; margin: 8px 0 20px; font-size: clamp(42px, 5vw, 68px); line-height: 1.02; letter-spacing: -.055em; }
.ih-lead { max-width: 650px; color: var(--pb-ink-2); font-size: 18px; line-height: 1.7; }
.ih-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ih-section { padding: 86px 0; }
.ih-muted { background: var(--pb-bg-2); border-block: 1px solid var(--pb-line-2); }
.ih-section-head { max-width: 720px; margin-bottom: 38px; }
.ih-section-head h2, .ih-control-grid h2, .ih-fit-grid h2, .ih-cta h2 { margin: 6px 0 12px; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.04em; }
.ih-section-head > p:last-child, .ih-control-grid > div > p:last-child, .ih-fit-grid p { color: var(--pb-ink-3); line-height: 1.65; }
.ih-cycle { list-style: none; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; margin: 0; padding: 0; }
.ih-cycle li { min-height: 176px; padding: 18px 15px; border: 1px solid var(--pb-line); border-radius: 14px; background: #fff; }
.ih-cycle span { display: block; color: var(--pb-blue); font: 700 10px var(--pb-font-mono); }
.ih-cycle strong { display: block; margin: 30px 0 8px; font-size: 16px; }
.ih-cycle small { color: var(--pb-ink-3); line-height: 1.45; }
.ih-persona-grid, .ih-fit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ih-persona { padding: 28px; border: 1px solid var(--pb-line); border-radius: 16px; background: #fff; }
.ih-persona h3 { margin: 22px 0 10px; font-size: 22px; }
.ih-persona p, .ih-persona li { color: var(--pb-ink-3); line-height: 1.6; }
.ih-persona ul { margin: 20px 0 0; padding-left: 18px; }
.ih-control-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .9fr); gap: 72px; align-items: center; }
.ih-control-list { border: 1px solid var(--pb-line); border-radius: 16px; background: #fff; padding: 10px 24px; }
.ih-control-list > div { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--pb-line-2); }
.ih-control-list > div:last-child { border-bottom: 0; }
.ih-control-list span { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--pb-blue-50); color: var(--pb-blue); font: 700 10px var(--pb-font-mono); }
.ih-control-list p { margin: 0; }
.ih-control-list small { display: block; margin-top: 4px; color: var(--pb-ink-3); }
.ih-fit-grid { grid-template-columns: repeat(2, 1fr); }
.ih-fit-grid article { padding: 30px; border: 1px solid var(--pb-line); border-radius: 16px; background: #fff; }
.ih-note { margin-top: 20px; padding: 12px 14px; border-left: 3px solid var(--pb-blue); background: var(--pb-blue-50); font-size: 13px; }
.ih-cta { padding: 58px 0; background: #fff; border-top: 1px solid var(--pb-line); }
.ih-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.ih-cta h2 { margin-bottom: 0; max-width: 760px; }
@media (max-width: 1100px) { .ih-cycle { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px) { .ih-hero-grid, .ih-control-grid { grid-template-columns: 1fr; gap: 34px; } .ih-persona-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .ih-hero { padding-top: 24px; } .ih-hero-grid { margin-top: 28px; } .ih-cycle, .ih-fit-grid { grid-template-columns: 1fr; } .ih-cycle li { min-height: 0; } .ih-cycle strong { margin-top: 16px; } .ih-cta .container { align-items: flex-start; flex-direction: column; } }
