/* Decide / Learn: distinct editorial compositions within the iHouse brand. */
.solution-page { --ink: #230022; --accent: #570070; --wash: #f6f3f7; }
.solution-page h1,.solution-page h2,.solution-page h3 { font-family: var(--font-heading); color: var(--ink); line-height: 1.15; text-wrap: pretty; }
.solution-page h1 { font-size: clamp(36px,4.7vw,62px); letter-spacing: -.035em; margin: 16px 0 24px; max-width: 16ch; }
.solution-page h2 { font-size: clamp(27px,3vw,38px); margin: 0 0 24px; letter-spacing: -.02em; }
.solution-page h3 { font-size: 22px; margin: 0 0 12px; }
.solution-page p { text-wrap: pretty; }
.solution-page .section-eyebrow { color: #8b263c; }
.breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 24px; font-size: 13px; color: #555; }
.breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; }
.solution-hero { padding: 32px 0 72px; }
.hero-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; }
.hero-layout > * { min-width: 0; }
.solution-lead { font-size: 18px; max-width: 52ch; color: #555; margin: 0 0 28px; }
.primary-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; background: #570070; color: #fff; padding: 16px 24px; border-radius: 4px; min-height: 52px; font-family: var(--font-nav); font-size: 14px; font-weight: 600; }
.primary-link:hover { background: #230022; }
.hero-caption { font-size: 13px; color: #666; margin-top: 20px; }
.diagram-label { font: 600 11px var(--font-nav); letter-spacing: .15em; margin: 0 0 32px; }
.service-diagram { background: var(--wash); padding: 32px; border-radius: 4px; }
.service-diagram strong { font: 700 24px var(--font-heading); display: block; }
.service-diagram p:last-child,.service-diagram small { font-size: 13px; color: #555; }
.decision-map > strong { text-align: center; padding: 20px 10px; border: 1px solid #d1c6d7; background: white; }
.map-branches { display: flex; gap: 8px; padding: 32px 0; position: relative; }
.map-branches:before { content: ''; width: 1px; background: #aa96b5; position: absolute; top: 0; bottom: 0; left: 50%; }
.map-branches span { position: relative; flex: 1; background: #570070; color: white; padding: 16px 8px; text-align: center; font-size: 12px; }
.people .hero-layout { grid-template-columns: 1fr 1fr; }
.people-journey > div { margin: 0 0 0 14px; padding: 0 0 24px 28px; border-left: 1px solid #bca7c5; position: relative; }
.people-journey > div:before { content: ''; width: 11px; height: 11px; border-radius: 50%; background: #570070; position: absolute; left: -6px; top: 7px; }
.people-journey span { display: block; color: #7b536c; font-size: 12px; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .08em; }
.people-journey p { margin: 8px 0 0; }
.tax .service-diagram { background: #fcf6ef; border-top: 5px solid #570070; }
.tax-dossier h2 { font-size: 30px; }
.tax-dossier dl { margin: 0; }
.tax-dossier dl > div { display: grid; grid-template-columns: 105px 1fr; gap: 12px; border-top: 1px solid #d8cec1; padding: 18px 0; }
.tax-dossier dt { font-weight: 600; font-size: 13px; }
.tax-dossier dd { margin: 0; font-size: 14px; }
.technology .service-diagram { background: #230022; color: white; }
.technology .service-diagram p,.technology .service-diagram small { color: #ddd1e0; }
.build-row { display: grid; grid-template-columns: 95px 1fr; gap: 16px; align-items: center; padding: 18px 0; border-top: 1px solid #614463; }
.build-row span { font: 700 19px var(--font-heading); }
.build-row p { margin: 0; }
.build-board small { display: block; margin-top: 20px; }
.green { --wash: #eff4ee; }
.green-system > strong { text-align: center; padding: 24px 12px; border-bottom: 1px solid #9eaf9a; }
.green-orbits { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 28px 0; }
.green-orbits span { background: #fff; border: 1px solid #9eaf9a; border-radius: 50%; padding: 26px 12px; font-size: 13px; }
.green-result { text-align: center; font-size: 14px; background: #e0e9dc; padding: 18px 10px; }
.needs-section { background: var(--wash); padding: 72px 0; }
.needs-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; }
.muted { color: #666; font-size: 14px; }
.needs-list { border-top: 1px solid #cbbfd0; }
.solution-page details { border-bottom: 1px solid #cbbfd0; }
.solution-page summary { cursor: pointer; padding: 22px 36px 22px 0; font-family: var(--font-heading); font-size: 22px; font-weight: 700; color: var(--ink); position: relative; list-style: none; min-height: 60px; }
.solution-page summary::-webkit-details-marker { display: none; }
.solution-page summary:after { content: '+'; position: absolute; right: 5px; top: 20px; font-size: 25px; font-weight: 500; }
.solution-page details[open] > summary:after { content: '−'; }
.solution-page details[open] > summary { color: #570070; }
.need-option > div { padding: 0 0 28px; max-width: 58ch; }
.need-option > div h3 { font-size: 18px; }
.output-label { font: 700 11px var(--font-nav); letter-spacing: .12em; text-transform: uppercase; margin-top: 24px; color: #570070; }
.process-section { padding: 80px 0; }
.process-intro { max-width: 720px; margin-bottom: 40px; }
.process-intro > p:last-child { color: #555; }
.process-path { list-style: none; counter-reset: stage; display: grid; grid-template-columns: repeat(4,1fr); padding: 0; margin: 0; }
.process-path li { counter-increment: stage; border-top: 2px solid #570070; padding: 24px 24px 0 0; }
.process-path li:before { content: '0' counter(stage); font: 600 12px var(--font-nav); color: #7c657d; display: block; margin-bottom: 24px; }
.process-path p { font-size: 14px; color: #555; }
.people .process-path { grid-template-columns: 1fr 1fr; gap: 20px 40px; }
.people .process-path li { display: grid; grid-template-columns: 42px 1fr; }
.people .process-path li p { grid-column: 2; margin-top: 0; }
.tax .process-path { display: block; }
.tax .process-path li { display: grid; grid-template-columns: 55px 1fr 1.5fr; gap: 16px; border-top: 1px solid #d9ccd8; padding: 24px 0; align-items: baseline; }
.tax .process-path li:before { margin: 0; }
.tax .process-path li p { margin: 0; }
.technology .process-path { gap: 12px; }
.technology .process-path li { background: #f6f3f7; padding: 24px; border-top: 2px solid #570070; }
.green .process-path { border: 1px solid #bac7b5; padding: 28px; gap: 20px; }
.green .process-path li { border: 0; padding: 0; }
.scope-note { padding-top: 28px; margin-top: 28px; border-top: 1px solid #ddd; color: #666; font-size: 13px; max-width: 90ch; }
.faq-section { padding: 72px 0; background: #fafafa; }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.faq-list summary { font-size: 20px; }
.faq-list details > p { margin: 0; padding-bottom: 24px; color: #555; }
.solution-cta { padding: 64px 0; background: #f6f3f7; }
.solution-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.solution-cta .container > div { max-width: 650px; }
.solution-cta .primary-link { flex-shrink: 0; }
.related-section { padding: 64px 0 40px; }
.related-section h2 { font-size: 25px; }
.related-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.related-links a { padding: 18px 0; border-top: 1px solid #ddd; display: flex; justify-content: space-between; gap: 16px; min-height: 52px; font-size: 15px; color: #570070; }
.related-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.draft-note { margin: 36px 0 0; color: #666; font-size: 12px; max-width: 95ch; }
@media(max-width:1000px) { .hero-layout { gap: 32px; } .needs-layout,.faq-layout { gap: 40px; } .solution-cta .container { flex-direction: column; align-items: flex-start; gap: 20px; } }
@media(max-width:760px) {
 .hero-layout,.people .hero-layout,.needs-layout,.faq-layout { grid-template-columns: 1fr; gap: 32px; }
 .solution-hero { padding: 24px 0 48px; }
 .solution-page h1 { max-width: 19ch; }
 .service-diagram { padding: 26px; }
 .needs-section,.process-section,.faq-section { padding: 48px 0; }
 .process-path,.people .process-path { grid-template-columns: 1fr 1fr; gap: 24px; }
 .tax .process-path li { grid-template-columns: 32px 1fr; gap: 12px; }
 .tax .process-path li p { grid-column: 2; }
 .tax .process-path li h3 { margin: 0; }
 .green .process-path { padding: 20px; }
 .related-links { grid-template-columns: 1fr; }
}
@media(max-width:420px) {
 .process-path,.people .process-path { grid-template-columns: 1fr; }
 .process-path li { padding-right: 0; }
 .process-path li:before { margin-bottom: 12px; }
 .solution-page h1 { font-size: 37px; }
 .solution-lead { font-size: 17px; }
 .service-diagram { padding: 22px; }
 .green-orbits span { padding: 20px 10px; font-size: 12px; }
 .tax-dossier dl > div { grid-template-columns: 80px 1fr; }
 .primary-link { gap: 16px; padding: 16px 20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
