/* Hometax particle composition adapted to ERP workflows; shared tokens and GOV remain authoritative. */
@import url("./colors.05cf69ed82f2.css");

body:has(.landing-main) { background: var(--color-surface); }
.landing-main, .landing-header, .landing-footer { color: var(--color-ink-900); }
.landing-main { font-size: var(--text-lg); }
.landing-width { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: 3rem; }
.landing-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.5rem; }
.landing-brand { display: inline-flex; align-items: center; gap: .55rem; font-size: 1.3rem; font-weight: 700; letter-spacing: -.035em; white-space: nowrap; }
.landing-brand svg { color: var(--color-brand); }
.landing-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.landing-main :is(section, article) { scroll-margin-top: 2rem; }
.landing-intro { padding-block: 5.5rem 3rem; }
.landing-identity { color: var(--color-brand); font-size: var(--text-sm); font-weight: 600; margin-bottom: 1.5rem; }
.landing-intro h1 { max-width: 67rem; font-size: clamp(2rem, 4.9vw, 3.7rem); font-weight: 600; line-height: 1.3; letter-spacing: -.045em; word-break: keep-all; }
.landing-intro h1 span, .landing-flow-copy h2 span { display: block; }
.landing-lead { max-width: 37rem; color: var(--color-ink-600); font-size: var(--text-lg); line-height: 1.85; margin-top: 1.75rem; word-break: keep-all; }
.landing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.landing-note { margin-top: 1.25rem; font-size: var(--text-sm); color: var(--color-ink-500); }
.landing-flows { overflow: clip; }
.landing-flow { --scene-ink: var(--color-brand); position: relative; isolation: isolate; min-height: 43rem; display: flex; align-items: center; }
.landing-flow[data-flow='settlement'] { --scene-ink: var(--color-cyan-700); margin-top: 2rem; }
.landing-flow-copy { position: relative; z-index: var(--z-index-sticky); width: 47%; padding-block: 5rem; }
.landing-flow-name { font-size: var(--text-sm); font-weight: 600; color: var(--scene-ink); margin-bottom: 1.5rem; }
.landing-flow-copy h2 { font-size: clamp(1.75rem, 3vw, 2.65rem); line-height: 1.4; font-weight: 600; letter-spacing: -.045em; word-break: keep-all; }
.landing-flow-description { max-width: 29rem; color: var(--color-ink-600); font-size: var(--text-lg); line-height: 1.85; margin-top: 1.75rem; word-break: keep-all; }
.landing-flow-legend { display: flex; flex-wrap: wrap; list-style: none; gap: 1.5rem; padding: 0; margin: 1.75rem 0 0; color: var(--scene-ink); font-size: var(--text-sm); }
.landing-flow-legend li { display: inline-flex; align-items: center; gap: .55rem; }
.landing-flow-legend li::before { content: ''; width: .3rem; height: .3rem; background: currentColor; border-radius: var(--radius-full); }
.landing-flow-legend li:nth-child(2)::before { border-radius: 0; }
.landing-flow-legend li:nth-child(3)::before { width: .75rem; height: 1px; border-radius: 0; }
.landing-scene { position: absolute; right: -11rem; top: -1rem; width: 78%; height: 45rem; color: var(--scene-ink); --scene-mask: linear-gradient(90deg, transparent, var(--color-ink-900) 19%, var(--color-ink-900) 85%, transparent); }
.landing-scene :is(canvas, .landing-scene-fallback, .landing-scene-leaders) { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.landing-scene :is(canvas, .landing-scene-fallback) { mask-image: var(--scene-mask); }
.landing-scene-fallback { object-fit: contain; }
.landing-scene-canvas, .landing-scene-drift { opacity: 0; transition: opacity .5s ease; }
.landing-scene[data-renderer='webgl'] :is(.landing-scene-canvas, .landing-scene-drift) { opacity: 1; }
.landing-scene[data-renderer='webgl'] .landing-scene-fallback { opacity: 0; }
.landing-scene-labels { position: absolute; inset: 0; pointer-events: none; z-index: var(--z-index-sticky); }
.landing-scene-label { position: absolute; display: block; width: max-content; padding: .35rem .6rem; border-radius: var(--radius-sm); color: var(--color-surface); background: var(--scene-ink); font-size: var(--text-sm); font-weight: 500; line-height: 1.5; left: var(--label-x); top: var(--label-y); transform: translate(-50%, -50%); }
.landing-scene-label:nth-of-type(1) { --label-x: 43%; --label-y: 24%; }
.landing-scene-label:nth-of-type(2) { --label-x: 68%; --label-y: 68%; }
.landing-scene-label:nth-of-type(3) { --label-x: 54%; --label-y: 47%; }
.landing-scene[data-renderer='webgl'] .landing-scene-label { left: 0; top: 0; }
.landing-scene-leaders { stroke: var(--scene-ink); stroke-width: 1; opacity: 0; }
.landing-scene[data-renderer='webgl'] .landing-scene-leaders { opacity: .4; }
.landing-scene-caption { position: absolute; bottom: 1.5rem; right: 1rem; display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; font-size: var(--text-sm); color: var(--color-ink-500); z-index: var(--z-index-sticky); }
.landing-flow[data-flow='settlement'] .landing-flow-copy { margin-left: auto; }
.landing-flow[data-flow='settlement'] .landing-scene { right: auto; left: -11rem; --scene-mask: linear-gradient(90deg, transparent, var(--color-ink-900) 15%, var(--color-ink-900) 80%, transparent); }
.landing-flow[data-flow='settlement'] .landing-scene-caption { right: auto; left: 1rem; }
.landing-search { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; padding-block: 5rem; border-top: 1px solid var(--color-line); }
.landing-main h2 { word-break: keep-all; }
.landing-search h2, .landing-security h2, .landing-contact h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.4; letter-spacing: -.035em; }
.landing-search p:not(.landing-identity), .landing-security p:not(.landing-identity), .landing-contact p { color: var(--color-ink-600); line-height: 1.85; word-break: keep-all; }
.landing-detail-links { margin-top: 1.5rem; }
.landing-security { background: var(--color-brand-tint); }
.landing-security-content { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; padding-block: 5rem; }
.landing-contact { padding-block: 6rem; }
.landing-contact p { max-width: 35rem; margin-top: 1.5rem; }
.landing-footer { border-top: 1px solid var(--color-line); padding-block: 3rem 4rem; }
.landing-footer-top { display: flex; justify-content: space-between; gap: 2rem; line-height: 1.8; }
.landing-footer-top nav { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 1rem; font-size: var(--text-sm); }
.landing-footer-top nav > a { display: inline-flex; min-height: 2.75rem; align-items: center; }
.landing-footer-top p { color: var(--color-ink-600); }
.landing-footer-top strong { color: var(--color-ink-900); font-weight: 600; }
.landing-business { font-size: var(--text-xs); line-height: 1.9; color: var(--color-ink-500); margin-top: 2rem; overflow-wrap: anywhere; }
@media (max-width: 1000px) {
  .landing-width { padding-inline: 1.5rem; }
  .landing-intro { padding-block: 3.5rem 2rem; }
  .landing-flow { flex-direction: column; min-height: 0; }
  .landing-flow-copy, .landing-flow[data-flow='settlement'] .landing-flow-copy { width: 100%; padding-block: 3.5rem 0; margin-left: 0; }
  .landing-flow-copy h2 span { display: inline; }
  .landing-flow-copy h2 span + span::before { content: ' '; }
  .landing-scene, .landing-flow[data-flow='settlement'] .landing-scene { position: relative; left: auto; right: auto; top: auto; width: 100%; height: 25rem; margin: 0; --scene-mask: linear-gradient(90deg, transparent, var(--color-ink-900) 8%, var(--color-ink-900) 92%, transparent); }
  .landing-scene-drift { display: none !important; }
  .landing-scene-caption, .landing-flow[data-flow='settlement'] .landing-scene-caption { position: relative; bottom: auto; left: auto; right: auto; width: 100%; padding-bottom: 2rem; }
  .landing-scene-label:nth-of-type(1) { --label-x: 30%; --label-y: 22%; }
  .landing-scene-label:nth-of-type(2) { --label-x: 64%; --label-y: 74%; }
  .landing-scene-label:nth-of-type(3) { --label-x: 50%; --label-y: 48%; }
  .landing-search, .landing-security-content { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 3rem; }
}
@media (max-width: 540px) {
  .landing-width { padding-inline: 1.25rem; }
  .landing-header { flex-wrap: wrap; gap: .5rem; padding-block: 1rem; }
  .landing-navigation { width: 100%; gap: .25rem; }
  .landing-intro h1 { font-size: 2rem; }
  .landing-lead { font-size: var(--text-lg); }
  .landing-flow-copy h2 { font-size: 1.75rem; }
  .landing-scene, .landing-flow[data-flow='settlement'] .landing-scene { height: 20rem; }
  .landing-footer-top { flex-direction: column; gap: 1.5rem; }
  .landing-contact { padding-block: 4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-scene :is(canvas, .landing-scene-fallback, .landing-scene-leaders) { transition: none; }
}
