/* Homepage, 23 October 2026: small product illustrations and a clear visual rhythm. */
.home-illustrated{padding:56px 0}
.home-illustrated .section-head{margin-bottom:28px;gap:28px}
.home-illustrated .section-head p{max-width:470px;line-height:1.7}
.home-illustrated h2{font-size:30px;line-height:1.2;letter-spacing:-.9px}
.home-illustrated h3{font-size:18px;line-height:1.4;letter-spacing:-.25px}
.home-solutions{background:#fff;border-top:1px solid #e0e7f0}
.solution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.solution-card{display:flex;flex-direction:column;min-width:0;padding:22px 20px 18px;background:#f7f9fc;border:1px solid #dbe4ef;border-radius:10px;transition:background .18s,border-color .18s,transform .18s}
.solution-card:hover{border-color:#9bb2f4;background:#f0f4ff;transform:translateY(-3px)}
.solution-card:focus-visible,.capabilities-link:focus-visible{outline:3px solid #9ab5ff;outline-offset:4px}
.solution-card-visual{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px}
.solution-card .solution-illustration{width:144px;max-width:75%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px;display:block}
.solution-index{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid #d6e1f5;background:#edf2ff;border-radius:50%;font-size:11px;color:#2453e6}
.solution-card h3{color:#1f2c3b}
.solution-card p{font-size:14px;line-height:1.65;color:#5b6e85;margin:10px 0 22px}
.solution-action{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#2453e6;font-size:13px;font-weight:650;border-top:1px solid #dce4f0;padding-top:13px;margin-top:auto}
.solution-action>span{font-size:18px}
.home-capabilities{background:#f4f6f8}
.capabilities-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.6fr);gap:24px;align-items:stretch}
.capabilities-intro{border:1px solid #24364c;border-radius:11px;background:#1e2b3b;color:#fff;padding:30px 32px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;position:relative;overflow:hidden}
.production-emblem{display:grid;place-items:center;width:52px;height:52px;border:1px solid #4c6381;background:#2a3a50;color:#a9c0ff;border-radius:10px;margin-bottom:27px}
.production-emblem svg{width:30px;height:30px}
.capabilities-intro .kicker{color:#adc1e2;font-size:11px;letter-spacing:1.2px;margin-bottom:15px}
.capabilities-intro h2{font-size:30px;color:#fff;line-height:1.2;letter-spacing:-.8px}
.capabilities-intro p{font-size:15px;line-height:1.7;color:#d9e2f0;margin:18px 0 0;max-width:390px}
.capabilities-intro .capabilities-detail{font-size:13px;color:#acbed6;margin-top:13px;margin-bottom:25px}
.capabilities-link{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:44px;border-top:1px solid #49596f;color:#c2d2ff;font-size:14px;font-weight:600;width:100%;padding-top:18px;margin-top:auto}
.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.capability{background:#fff;border:1px solid #dbe4ef;border-radius:10px;padding:22px;min-width:0}
.capability-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px}
.capability .capability-illustration{display:block;width:108px;max-width:75%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:5px}
.capability-index{font-size:12px;color:#7188a5;line-height:1.6}
.capability p{font-size:14px;color:#5b6e85;line-height:1.65;margin-top:9px}
.home-order{background:#fff}
.order-route{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.order-step{min-width:0;position:relative}
.order-step:not(:last-child):after{content:'';position:absolute;left:72px;right:-16px;top:28px;height:1px;background:#d8e1f0}
.order-step-top{display:flex;align-items:center;gap:16px;margin-bottom:23px;position:relative}
.order-icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border:1px solid #cedbf9;background:#edf2ff;border-radius:12px;color:#2453e6}
.order-icon svg{width:27px;height:27px}
.order-index{position:relative;z-index:1;padding:0 8px;background:#fff;color:#647c9c;font-size:12px}
.order-step p{font-size:14px;line-height:1.7;color:#5b6e85;margin-top:11px;max-width:270px}
.home-feedback{background:#eef2f8;border-top:1px solid #dce4ef}
.home-review-source{display:flex;align-items:center;gap:16px;min-width:0;padding:17px 20px;border:1px solid #d9e3ef;border-radius:8px;background:#f9fbff}
.home-review-logo{display:block;width:42px;height:42px;object-fit:contain}
.home-review-source b{display:block;font-size:14px;color:#223347;margin-bottom:6px}
.home-review-source .link{font-size:13px}
.home-feedback .live-review-carousel{margin-top:4px}
@media(max-width:1050px){.solution-grid{gap:12px}.solution-card{padding:18px 16px}.capabilities-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:18px}.capabilities-intro{padding:25px}.capability{padding:19px}.capability-grid{gap:14px}.home-illustrated h3{font-size:17px}.order-route{gap:22px}}
@media(max-width:800px){.solution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.solution-card .solution-illustration{width:150px}.capabilities-layout{grid-template-columns:1fr}.capabilities-intro{display:grid;grid-template-columns:auto 1fr;gap:0 22px;padding:28px}.production-emblem{grid-row:1/5;margin:0}.capabilities-intro .kicker,.capabilities-intro h2,.capabilities-intro p,.capabilities-link{grid-column:2}.capabilities-intro h2 br{display:none}.capabilities-intro p{max-width:none}.capabilities-link{margin-top:0}.capability-top{margin-bottom:14px}.capability .capability-illustration{width:120px}.order-route{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.order-step:nth-child(2):after{display:none}.home-review-source{padding:14px}}
@media(max-width:640px){.home-illustrated{padding:36px 0}.home-illustrated .section-head{display:block;margin-bottom:22px}.home-illustrated .section-head p{margin-top:13px;font-size:14px}.home-illustrated h2{font-size:25px;letter-spacing:-.65px}.home-illustrated h3{font-size:17px}.solution-grid{gap:12px}.solution-card{padding:16px 14px}.solution-card-visual{gap:7px;flex-wrap:wrap;margin-bottom:15px}.solution-card .solution-illustration{width:100%;max-width:none;order:1}.solution-index{width:24px;height:24px;flex-basis:24px;font-size:10px;margin-left:auto}.solution-card h3{font-size:16px}.solution-card p{font-size:13px;margin:8px 0 17px}.solution-action{font-size:12px}.capabilities-intro{padding:24px;display:flex;gap:0}.production-emblem{width:44px;height:44px;margin-bottom:23px}.capabilities-intro h2{font-size:26px}.capabilities-intro h2 br{display:block}.capabilities-intro p{font-size:14px}.capabilities-intro .capabilities-detail{font-size:13px;margin-bottom:21px}.capability-grid{gap:12px}.capability{padding:16px 14px}.capability-top{gap:7px}.capability .capability-illustration{width:95px;max-width:82%}.capability-index{font-size:10px}.capability h3{font-size:16px}.capability p{font-size:13px}.order-route{gap:28px 20px;margin-top:28px}.order-icon{width:48px;height:48px;flex-basis:48px;border-radius:10px}.order-icon svg{width:24px;height:24px}.order-step-top{gap:9px;margin-bottom:16px}.order-step:not(:last-child):after{left:65px;right:-8px;top:24px}.order-step h3{font-size:16px}.order-step p{font-size:13px}.order-index{font-size:11px;padding:0 5px}.home-review-source{margin-top:21px;display:inline-flex;text-align:left}.home-review-logo{width:36px;height:36px}.home-review-source b{font-size:13px}.home-review-source .link{font-size:12px}}
@media(max-width:359px){.solution-grid,.capability-grid{grid-template-columns:1fr}.solution-card-visual{flex-wrap:nowrap}.solution-card .solution-illustration{width:144px;max-width:75%;order:0}.solution-index{margin:0}.solution-card{padding:18px}.capability{padding:20px}.capability .capability-illustration{width:108px}.order-route{grid-template-columns:1fr;gap:25px}.order-step{padding-left:69px;min-height:94px}.order-step-top{position:absolute;left:0;top:0;display:block;margin:0}.order-index{display:block;text-align:center;padding:5px 0 0}.order-step:after{display:none}.order-step p{max-width:none}.home-review-source{padding:12px;gap:11px}}
@media(prefers-reduced-motion:reduce){.solution-card{transition:none}.solution-card:hover{transform:none}}
