/* Homepage only: the account and request screens keep their existing styles. */
.km-home { --navy:#192126; --navy-soft:#222b31; --accent:#f2c744; --muted:#60696d; --line:#dcdedb; --soft:#f0f1ec; background:#fafbf7; color:var(--navy); }
.km-home .b2b-container { width:min(1320px,calc(100% - 80px)); }
.km-home .b2b-header { background:#151b20; color:#f6f7f3; border-color:#343a3d; }
.km-home .header-row { min-height:82px; }
.km-home .b2b-logo { font-size:26px; letter-spacing:-1.2px; }
.km-home .b2b-logo span { color:var(--accent); }
.km-home .b2b-header nav { gap:24px; }
.km-home .b2b-header nav>a { color:#e3e6e5; font-size:13px; }
.km-home .b2b-button { border:0; border-radius:7px; color:#172026; background:var(--accent); padding:15px 24px; font-weight:700; box-shadow:none; text-decoration:none; }
.km-home .b2b-button:hover { background:#ffda63; transform:translateY(-2px); }
.km-home .b2b-header nav>.b2b-button { color:#172026; padding:12px 19px; }
.km-home .menu-toggle { color:#f5f6f2; border-color:#687074; background:transparent; }
.km-home .eyebrow { font-size:10px; letter-spacing:2px; font-weight:700; margin-bottom:23px; }
.km-home h2 { font-size:clamp(32px,3.1vw,46px); font-weight:600; letter-spacing:-1.8px; line-height:1.12; }
.km-home .section-b2b { padding-top:86px; padding-bottom:86px; }
.km-hero { overflow:hidden; background:#151b20; color:#f7f8f3; }
.km-hero-grid { display:grid; grid-template-columns:1fr 1.13fr; align-items:center; gap:12px; padding-top:66px; padding-bottom:52px; }
.km-hero-copy { position:relative; z-index:2; }
.km-hero .eyebrow { color:#c4c9c9; display:flex; align-items:center; gap:10px; letter-spacing:1.6px; font-size:9px; }
.km-status-dot { width:6px; height:6px; background:var(--accent); border-radius:50%; flex-shrink:0; }
.km-hero h1 { font-size:clamp(42px,4.5vw,67px); line-height:1.06; letter-spacing:-2.5px; font-weight:600; margin:0 0 26px; }
.km-hero h1 span { color:var(--accent); }
.km-hero-description { max-width:500px; color:#bbc2c5; font-size:15px; line-height:1.8; margin-bottom:28px; }
.km-hero-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }
.km-hero-actions .b2b-button { display:inline-flex; align-items:center; gap:34px; font-size:14px; }
.km-hero-actions .b2b-button span { font-size:23px; line-height:1; font-weight:400; }
.km-secondary-link { display:inline-flex; align-items:center; gap:14px; font-size:13px; min-height:46px; text-decoration:none; }
.km-secondary-link:hover { color:var(--accent); }
.km-hero-footnote { font-size:11px; color:#939ea3; margin:20px 0 0; }
.km-scene { min-width:0; position:relative; perspective:1000px; }
.km-scene-image { transform:rotateY(var(--scene-x,0deg)) rotateX(var(--scene-y,0deg)); transition:transform .35s ease-out; }
.km-scene svg { display:block; width:118%; max-width:none; height:auto; margin-left:-9%; mix-blend-mode:lighten; }
.km-scene-label { position:absolute; display:flex; gap:10px; align-items:center; padding:12px 15px; border:1px solid #697174; border-radius:8px; color:#f5f6f3; background:#20282fe8; text-decoration:none; font-size:13px; font-weight:600; box-shadow:0 12px 32px #0002; transition:background .2s,transform .2s; }
.km-scene-label:hover { background:#374148; transform:translateY(-3px); }
.km-scene-label small { display:block; font-size:9px; font-weight:400; margin-top:2px; color:#bdc6ca; }
.km-label-dot { width:7px; height:7px; background:var(--accent); border-radius:2px; flex-shrink:0; }
.km-scene-label>span:last-child { color:var(--accent); font-size:19px; margin-left:5px; }
.km-scene-supply { left:0; bottom:17%; }
.km-scene-build { right:-8px; top:15%; }
.km-scene-caption { display:block; text-align:center; color:#8c979d; letter-spacing:2.5px; font-size:8px; margin-top:13px; }
.km-hero-bottom { display:flex; align-items:center; gap:42px; padding:24px 0; border-top:1px solid #383f42; color:#c0c6c7; font-size:11px; }
.km-hero-bottom i { color:#747f84; font-style:normal; font-size:10px; margin-right:10px; }
.km-hero-bottom>a { margin-left:auto; display:flex; align-items:center; justify-content:center; border:1px solid #525c61; border-radius:50%; width:32px; height:32px; text-decoration:none; font-size:18px; }
.km-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:35px; }
.km-section-heading h2 { margin:0; }
.km-section-heading h2 span { color:#818a8e; }
.km-section-heading>p { color:var(--muted); font-size:14px; max-width:310px; margin-bottom:2px; }
.km-direction-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.km-direction { min-height:364px; position:relative; overflow:hidden; border-radius:13px; background:#20282d; color:#f5f5f0; isolation:isolate; scroll-margin-top:105px; }
.km-direction-copy { position:relative; z-index:2; padding:30px 30px 68px; }
.km-index { color:#b7c1c5; letter-spacing:1.7px; font-size:9px; font-weight:600; }
.km-direction h3 { font-size:31px; font-weight:500; margin:23px 0 16px; letter-spacing:-1px; }
.km-direction p { color:#c5ccce; font-size:12px; line-height:1.7; margin:0 0 21px; }
.km-direction-link { display:inline-flex; align-items:center; gap:14px; color:var(--accent); font-size:12px; font-weight:600; min-height:44px; text-decoration:none; }
.km-direction-link span { font-size:20px; }
.km-direction-link:hover { text-decoration:underline; }
.km-direction-art { position:absolute; right:0; top:15%; bottom:0; width:58%; overflow:hidden; z-index:-1; opacity:.86; mask-image:linear-gradient(90deg,transparent,black 24%); }
.km-direction-art svg { position:absolute; display:block; width:100%; max-width:none; height:100%; mix-blend-mode:lighten; transition:transform .5s; }
.km-art-supply svg { left:0; }
.km-art-build svg { right:0; }
.km-direction:hover .km-direction-art svg { transform:scale(1.025); }
.km-tags { position:absolute; bottom:23px; left:30px; right:25px; display:flex; gap:8px; flex-wrap:wrap; }
.km-tags span { font-size:9px; padding:5px 10px; border:1px solid #687175; border-radius:4px; color:#e0e5e4; background:#20282dbf; }
.km-service-caption { font-size:11px; color:#737d82; max-width:800px; margin:19px 0 0; }
.km-home #tasks { padding-top:12px; }
.km-home .home-section-head { gap:50px; }
.km-home .home-section-head>p { font-size:14px; }
.km-home .home-scenario { border:0; border-top:1px solid #b9c0be; border-radius:0; padding:26px 22px 0 0; background:transparent; }
.km-home .home-scenario-top { margin-bottom:20px; }
.km-home .home-number { color:#768083; font-size:10px; }
.km-home .home-scenario-top>span:last-child { color:#798488; }
.km-home .home-scenario h3 { font-size:24px; font-weight:600; }
.km-home .home-scenario>p,.km-home .home-scenario li { font-size:13px; }
.km-home .home-example p { font-size:12px; color:#687378; }
.km-home .home-example>span { font-size:9px; }
.km-home .home-caption { font-size:11px; }
.km-home .soft { background:#edf0ea; }
.km-home .home-step-number { border-radius:5px; width:35px; height:35px; background:transparent; color:#89948d; font-size:23px; font-weight:400; justify-content:flex-start; }
.km-home .home-steps li { border-top:1px solid #b9c3b9; }
.km-home .home-steps h3 { font-size:18px; }
.km-home .home-steps p { font-size:13px; }
.km-home .home-help { border-left:3px solid #cdb344; background:#f9faf5; border-radius:0 6px 6px 0; }
.km-home .home-help strong { font-size:14px; }
.km-home .home-help p { font-size:13px; }
.km-home .home-workspace { gap:90px; }
.km-home .home-features dt { font-size:17px; }
.km-home .home-features dd { font-size:13px; }
.km-home .home-lead { font-size:14px; }
.km-home .navy-section { background:#1c252a; }
.km-home .home-executor-details { background:#252f35; border-color:#536066; border-radius:10px; }
.km-home .home-executor-details li { border-color:#536066; }
.km-home .home-executor-details h3 { font-size:21px; }
.km-home .home-executor>div>p:not(.eyebrow),.km-home .home-executor-details li span { color:#c0c8cc; font-size:14px; }
.km-registration-section { padding:80px 0; background:#e9eddf; }
.km-registration-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.km-registration-intro h2 { margin-bottom:22px; }
.km-registration-intro>p:not(.eyebrow) { max-width:400px; font-size:14px; color:#5c675f; }
.km-registration-intro ol { padding-left:20px; font-size:13px; line-height:2.6; color:#59655c; }
.km-home .home-registration .register-card { box-shadow:0 15px 45px #2430220b; border:1px solid #d5dccb; border-radius:12px; }
.km-home .home-registration .register-card h3 { font-size:24px; }
.km-home .home-signin,.km-home .home-signin a { color:#546053; }
.km-home .home-faq summary { font-size:15px; padding-top:19px; padding-bottom:19px; }
.km-home .home-faq details p { font-size:14px; }
.km-home .home-final { background:#efc84b; padding:56px 0; }
.km-home .home-final .b2b-button { background:#1d282c; color:#f7f8f3; }
.km-home .home-final .b2b-button:hover { background:#344348; }
.km-home .home-final h2 { font-size:35px; }
.km-home .home-final p:not(.eyebrow) { color:#4a4b33; font-size:14px; }
.km-home .b2b-footer { background:#151b20; color:#eef0ec; }
.km-home .b2b-footer p,.km-home .b2b-footer dt { color:#adb5b8; }
.km-home .b2b-footer a { color:#e3e6e3; }
.km-home a:focus-visible,.km-home button:focus-visible { outline:3px solid #d79716; outline-offset:5px; }
@media(min-width:1500px) { .km-hero-grid { padding-top:80px; padding-bottom:65px; } }
@media(max-width:1100px) {
  .km-home .b2b-header nav { background:#1b252c; border-color:#414c52; }
  .km-home .b2b-container { width:calc(100% - 48px); }
  .km-hero-grid { grid-template-columns:1fr 1fr; padding-top:52px; gap:5px; }
  .km-hero h1 { font-size:48px; }
  .km-hero-actions { gap:13px; }
  .km-scene-label { padding:9px; font-size:11px; gap:7px; }
  .km-scene-label small { font-size:8px; }
  .km-scene-build { right:0; top:5%; }
  .km-direction h3 { font-size:27px; }
  .km-direction-art { opacity:.65; }
  .km-direction-copy { padding:26px 24px 68px; }
  .km-tags { left:24px; }
  .km-home .home-workspace,.km-registration-grid { gap:45px; }
}
@media(max-width:767px) {
  .km-home .b2b-container { width:calc(100% - 36px); }
  .km-home .header-row { min-height:72px; }
  .km-home .b2b-logo { font-size:25px; }
  .km-home .section-b2b { padding-top:54px; padding-bottom:54px; }
  .km-hero-grid { grid-template-columns:1fr; padding-top:38px; padding-bottom:26px; }
  .km-hero h1 { font-size:clamp(39px,9vw,57px); letter-spacing:-1.8px; }
  .km-hero .eyebrow { font-size:8px; letter-spacing:1.1px; margin-bottom:23px; }
  .km-hero-description { font-size:14px; max-width:430px; }
  .km-desktop-break { display:none; }
  .km-hero-footnote { font-size:10px; }
  .km-hero-actions { gap:18px; }
  .km-hero-actions .b2b-button { padding:14px 18px; gap:20px; }
  .km-secondary-link { font-size:12px; gap:8px; }
  .km-scene { margin:30px auto 4px; width:100%; max-width:510px; }
  .km-scene svg { width:108%; margin-left:-4%; }
  .km-scene-supply { left:0; bottom:15%; }
  .km-scene-build { right:0; top:9%; }
  .km-scene-caption { font-size:7px; margin-top:3px; }
  .km-hero-bottom { display:grid; grid-template-columns:1fr; gap:11px; position:relative; padding:22px 0; font-size:10px; }
  .km-hero-bottom>a { position:absolute; right:0; top:40%; }
  .km-home h2 { letter-spacing:-1px; }
  .km-section-heading { display:block; }
  .km-section-heading>p { margin:20px 0 0; max-width:450px; }
  .km-direction-grid { grid-template-columns:1fr; gap:16px; }
  .km-direction { min-height:400px; }
  .km-direction-art { opacity:.9; top:51%; bottom:35px; width:61%; mask-image:linear-gradient(90deg,transparent,black 35%); }
  .km-home .home-scenario { display:flex; padding:24px 0 0; }
  .km-home .home-scenario ul { margin-bottom:15px; }
  .km-home #tasks { padding-top:4px; }
  .km-home .home-workspace { gap:26px; }
  .km-registration-section { padding:54px 0; }
  .km-registration-grid { grid-template-columns:1fr; gap:25px; }
  .km-home .home-final h2 { font-size:30px; }
  .km-home .b2b-footer { padding-bottom:38px; }
}
@media(prefers-reduced-motion:reduce) { .km-scene-image { transform:none!important; } .km-direction:hover .km-direction-art svg,.km-home .b2b-button:hover,.km-scene-label:hover { transform:none; } }
