/* Responsive polish: preserve content, structure, and behavior. */
.demo-label{font-size:14px;padding:14px 18px;background:#f4f6f5;border-left:3px solid var(--teal)}.demo-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:30px 0}.demo-flow li{position:relative;background:var(--teal);color:white;padding:16px;font-weight:700;font-size:15px}.demo-flow li:not(:last-child):after{content:'→';position:absolute;right:-23px;top:30%;color:var(--teal)}.demo-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px}.demo-panel{border:1px solid var(--line);padding:24px;min-width:0}.demo-panel p,.demo-panel li,.demo-finish p{font-size:16px}.demo-panel ul{padding-left:22px}.demo-table-scroll{overflow:auto}.demo-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.8}.demo-table caption{text-align:left;font-weight:700;padding:10px;background:var(--pale)}.demo-table th,.demo-table td{padding:12px 10px;border:1px solid var(--line);text-align:left;vertical-align:top}.demo-table th{background:#f5f7f6}.demo-warning{color:#8c3e0d}.demo-calculation{padding:18px;background:var(--pale)}.demo-calculation span,.demo-calculation strong,.demo-calculation small{display:block}.demo-calculation strong{font-size:21px;margin:8px 0}.demo-calculation small{font-size:13px}.demo-review{margin-top:24px}.demo-finish{margin-top:24px;padding:24px;background:var(--pale)}.demo-divider{margin:60px 0;border:0;border-top:1px solid var(--line)}
@media(max-width:760px){.demo-flow,.demo-panels{grid-template-columns:1fr}.demo-flow li:not(:last-child):after{content:'↓';right:50%;top:auto;bottom:-28px}.demo-panel{padding:18px 14px}.demo-table{font-size:13px}.demo-table th,.demo-table td{padding:8px 6px}.demo-calculation strong{font-size:18px}.demo-finish{padding:20px}}
.expert-proof{padding:32px;margin-bottom:48px;background:var(--pale);border-left:4px solid var(--teal)}.expert-proof strong{font-family:'Noto Sans JP',sans-serif;font-size:clamp(40px,5vw,64px);color:var(--teal)}.expert-proof p{max-width:760px}.expert-proof small{font-size:14px}
.brand{display:flex;align-items:center;gap:10px}.brand img{flex:none;object-fit:contain}.hero{align-items:start}.mid-cta{margin-top:32px;padding:26px;border-left:3px solid var(--teal);background:var(--pale)}.mid-cta p{margin-bottom:18px}
.metric.after strong{font-size:64px!important}.metric.after b{font-size:24px}.metric.before strong{font-size:52px}
@media(max-width:760px){.brand{gap:4px}.brand img{width:48px;height:51px}.brand small{letter-spacing:0}.brand{font-size:20px}.metric.after strong{font-size:60px!important}.metric.before strong{font-size:46px}.mid-cta{padding:22px 16px}}
.hero-promise{font-size:21px;font-weight:700;line-height:1.8;color:var(--teal)}
.handover-note{font-size:15px;margin-top:24px;padding-top:18px;border-top:1px dashed #8eaeaf}
.system-map{margin:36px 0 0;padding:32px;background:var(--pale);border:1px solid var(--line)}
.system-map figcaption{font-size:21px;font-weight:700;margin-bottom:26px}
.rules-node{padding:18px 24px;text-align:center;border:1px solid var(--teal);background:white}
.rules-node span,.verification-node span{display:block;font-size:15px;margin-top:6px}
.map-down{text-align:center;color:var(--teal);font-size:26px;line-height:1.5}
.system-lanes{display:grid;grid-template-columns:1fr 30px 1.15fr 30px 1fr;align-items:stretch;gap:10px}
.system-node{padding:22px 18px;background:white;border-top:4px solid #648b8e;min-width:0}
.system-node h3{font-size:21px}.system-node p{font-size:15px;margin:0}.node-label{font-size:13px;color:var(--teal);font-weight:700}
.custom-node{border-color:var(--teal);outline:1px solid var(--teal)}
.map-arrow{align-self:center;text-align:center;color:var(--teal);font-size:24px}
.verification-node{position:relative;margin-top:32px;padding:20px 24px;background:var(--teal);color:white}
.verification-node:before{content:'↓';position:absolute;top:-33px;right:16%;color:var(--teal);font-size:24px}
.map-exit{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.map-exit span{flex:1;padding:10px;border-bottom:1px solid var(--teal);font-size:14px;text-align:center}
.deliverable-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0 56px}.deliverable-grid article{padding:24px;border:1px solid var(--line)}.deliverable-grid p{font-size:16px;margin-bottom:0}
@media(max-width:760px){.hero-promise{font-size:19px}.system-map{padding:22px 16px}.system-lanes{grid-template-columns:1fr;gap:10px}.map-arrow{font-size:0;line-height:1}.map-arrow:after{content:'↓';font-size:24px}.system-node p br{display:none}.verification-node:before{right:50%}.map-exit{display:grid;grid-template-columns:1fr}.deliverable-grid{grid-template-columns:1fr;gap:16px}.system-map figcaption{font-size:19px}.rules-node{padding:16px}.verification-node{padding:20px}.deliverable-grid article{padding:20px}}
.hero > *, .three > *, .compare > *, .form-grid > * { min-width: 0; }
h1, h2, h3 { text-wrap: balance; overflow-wrap: anywhere; }
#scope > .three { margin-bottom: 32px; }
#scope > .lead + .eyebrow { margin-top: 52px; }
#scope > .note + h3 { margin-top: 32px; }
.note p:last-child { margin-bottom: 0; }
label small { display: block; margin-top: 10px; font-size: 14px; line-height: 1.8; font-weight: 400; color: var(--muted); }
input, select, textarea { min-width: 0; max-width: 100%; }
summary { cursor: pointer; line-height: 1.8; }
summary:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #176b73; outline-offset: 4px; }
@media(max-width:760px) {
  h2 { font-size: clamp(23px, 6.1vw, 28px); line-height: 1.6; }
  .hero h1 { font-size: clamp(27px, 7.6vw, 32px); line-height: 1.6; }
  .hero p { line-height: 1.85; }
  .three { gap: 24px; }
  #scope > .lead + .eyebrow { margin-top: 40px; }
  .steps li { column-gap: 12px; row-gap: 12px; }
  .brand small { font-size: 10px; letter-spacing: .06em; }
  header { gap: 12px; }
  header nav { flex-shrink: 0; }
  .preview { padding-inline: 16px; line-height: 1.7; }
}
.cloud-label{margin:30px 0 12px;font-size:14px;font-weight:700;color:var(--teal)}
.cloud-products{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 14px}
.cloud-products li{padding:10px 16px;border:1px solid var(--line);background:#f6f9f8;font-size:16px;font-weight:500}
.cloud-footnote{font-size:14px;line-height:1.8;color:var(--muted);margin:14px 0 0}
.payroll-map{margin:36px 0 24px;padding:28px;background:var(--pale)}
.payroll-map figcaption{font-weight:700;font-size:18px;margin-bottom:24px}
.payroll-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0}
.payroll-flow li{position:relative;display:flex;flex-direction:column;min-width:0;background:white;border-top:3px solid var(--teal);padding:20px 16px 0}
.payroll-flow li:not(:last-child)::after{content:'→';position:absolute;right:-21px;top:46%;color:var(--teal);font-size:20px}
.flow-stage{font-size:12px;color:var(--teal);font-weight:700}
.payroll-flow h3{font-size:18px;margin:12px 0;line-height:1.65}
.payroll-flow p{font-size:15px;line-height:1.9;margin-bottom:20px}
.flow-help{font-size:14px;font-weight:500;padding:14px 0;border-top:1px solid var(--line);margin-top:auto}
.map-support{display:flex;gap:20px;align-items:center;margin-top:24px;padding:18px 20px;background:var(--teal);color:white;font-size:14px}
.map-support strong{flex-shrink:0}.map-support span{line-height:1.9}
.cloud-closing{font-size:16px;margin-bottom:0}
.goal-label{font-size:14px;font-weight:700;color:var(--teal);margin-bottom:18px;line-height:1.7}
.time-goal h2{font-family:'Noto Sans JP',sans-serif;font-size:21px}.time-goal h2 strong{font-size:32px}
.metric{padding:18px;background:white}.metric>span{display:block;font-size:14px}.metric>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.metric strong{font-size:clamp(44px,4.5vw,64px);line-height:1.3;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric>div>span{font-size:16px;white-space:nowrap}.metric.after{background:var(--teal);color:white}.metric.after strong{font-size:clamp(64px,6vw,84px)}.metric-arrow{text-align:center;font-size:26px;color:var(--teal);line-height:1.4}.time-goal .goal-note{font-size:14px;line-height:1.8;margin:20px 0 0;color:var(--ink)}
.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;margin:36px 0}.benefit-grid h3{font-size:24px}.benefit-grid .item p{font-size:16px}
@media(max-width:760px){.benefit-grid{grid-template-columns:1fr;gap:24px}.time-goal{padding:24px 18px}.metric strong{font-size:52px}.metric.after strong{font-size:72px}.benefit-grid h3{font-size:22px}}
@media(max-width:900px){.payroll-flow{grid-template-columns:1fr;gap:28px}.payroll-flow li{padding:20px}.payroll-flow li:not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-29px}.payroll-flow p{margin-bottom:14px}.flow-help{padding-bottom:0}.map-support{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:760px){.payroll-map{padding:20px 16px}.cloud-products li{font-size:15px;padding:9px 12px}.payroll-flow h3{font-size:20px}.map-support{padding:18px 16px}}
/* Service imagery: illustrative scenes, separate from evidence and demo tables. */
.service-photo{margin:0 0 36px;min-width:0;background:#f3f7f5;overflow:hidden;border-radius:5px}
.service-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.service-photo figcaption{padding:16px 20px;font-size:16px;line-height:1.7}
.service-photo figcaption strong{display:block;font-weight:500}
.service-photo figcaption span{display:block;color:#47595b;font-size:12px;margin-top:5px}
.service-photo-wide img{max-height:420px;object-position:50% 55%}
.toolkit-photo{max-width:850px;margin:30px auto 36px}
.toolkit-photo img{max-height:440px;object-position:center}
.handover-visual{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;margin:32px 0 64px}
.handover-visual .service-photo{margin:0}
.handover-visual h2{font-size:30px}
@media(max-width:760px){.service-photo-wide img,.toolkit-photo img{max-height:none;aspect-ratio:3/2}.service-photo figcaption{padding:14px;font-size:15px}.handover-visual{grid-template-columns:1fr;gap:22px;margin-bottom:48px}.handover-visual h2{font-size:27px}}
