@font-face{font-family:'KT Flow';src:url('/fonts/KTFlow-Medium.woff2?v=ca84f99c285d6d953a0b') format('woff2');font-weight:500;font-display:swap}
#portal-logout{font:inherit;font-weight:600;color:#414955;background:#fff;border:1px solid #e2e4e8;border-radius:10px;padding:10px 18px;min-height:44px;cursor:pointer}#portal-logout:hover{background:#f5f5f6}#portal-logout:focus-visible{outline:2px solid #e50019;outline-offset:3px}
@font-face{font-family:'KT Flow';src:url('/fonts/KTFlow-Bold.woff2?v=ca84f99c285d6d953a0b') format('woff2');font-weight:700;font-display:swap}



:root{color-scheme:light;--red:#e50019;--ink:#24272d;--muted:#74767d;--paper:#faf9f7;--line:#e8e6e3;--font:Pretendard,'Malgun Gothic',sans-serif}
*{box-sizing:border-box}html{min-width:280px;background:var(--paper);scroll-behavior:smooth}body{margin:0;min-height:100svh;display:flex;flex-direction:column;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{background:#fad4d7;color:#9c0715}:focus-visible{outline:3px solid var(--red);outline-offset:6px}.skip-link{position:fixed;z-index:40;top:12px;left:16px;padding:12px 18px;border-radius:8px;background:white;box-shadow:0 4px 20px #0002;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;width:100%;height:72px;padding:0 max(32px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0}.brand{display:inline-flex;align-items:center;flex-shrink:0}.service-nav{display:flex;align-items:center;gap:8px;height:100%}.service-nav a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:6px;font-size:14px;font-weight:600;color:#60636b;white-space:nowrap}.service-nav a:hover{background:#f0eeeb;color:var(--ink)}.service-nav a[aria-current="page"]{color:#bd1127;background:#fff0f2}.service-nav a:focus-visible{outline-offset:2px}

main{width:min(1080px,calc(100% - 120px));margin:0 auto;padding:64px 0 46px;flex:1}.intro{position:relative;min-height:0;padding-bottom:36px}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 23px;color:#696b70;font-size:13px;letter-spacing:-.2px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--red)}h1{position:relative;z-index:1;font-family:'KT Flow',var(--font);font-weight:500;font-size:44px;line-height:1.25;letter-spacing:-1.4px;margin:0}.intro-description{position:relative;z-index:1;font-size:15px;color:var(--muted);margin:15px 0 0;letter-spacing:-.2px;line-height:1.6}
.services{display:grid;grid-template-columns:1fr 1fr;gap:24px;scroll-margin-top:92px}.service-card{display:flex;flex-direction:column;min-width:0;min-height:310px;padding:27px 32px 23px;background:white;border:1px solid #e7e7e9;border-radius:12px;box-shadow:0 3px 6px #272b3603;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden}.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #37333b0b;border-color:#c7c9ce}.talk-card{background:#fffafa;border-color:#eddddf}.talk-card:hover{border-color:#e7a7ae;box-shadow:0 12px 30px #972d3710}.card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.service-category{font-size:12px;font-weight:600;color:#696d76;letter-spacing:.1px}.talk-card .service-category{color:#ab525e}.service-content{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;padding:29px 0 24px;min-width:0}.service-heading{position:relative;z-index:1;min-width:0}.service-heading h2{font-family:'KT Flow',var(--font);font-weight:500;font-size:34px;letter-spacing:-.9px;margin:0 0 13px;white-space:nowrap;line-height:1.2}.service-heading p{font-size:14px;line-height:1.8;color:#686d76;margin:0;word-break:keep-all}.talk-card .service-heading p{color:#85676d}.service-art{width:150px;flex:0 0 150px;align-self:center;transition:transform .25s ease}.service-art svg{display:block;width:100%;height:auto}.service-card:hover .service-art{transform:translateY(-3px) rotate(-3deg)}.card-bottom{border-top:1px solid #ececef;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;font-weight:600}.talk-card .card-bottom{border-color:#f0e3e5;color:#b90e22}.enter-arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid #e6e7ea;border-radius:50%;background:#fff;transition:background .2s ease,color .2s ease,border-color .2s ease}.enter-arrow svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.talk-card .enter-arrow{color:var(--red);border-color:#efd8dc}.service-card:hover .enter-arrow{background:#2c3442;border-color:#2c3442;color:#fff}.talk-card:hover .enter-arrow{background:var(--red);border-color:var(--red);color:#fff}
.site-footer{width:min(1120px,calc(100% - 96px));margin:0 auto;min-height:52px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.footer-domain{font-size:11px;color:#88878b;letter-spacing:.25px}
@media(min-width:1500px){main{padding-top:76px;padding-bottom:64px}.intro{padding-bottom:48px}h1{font-size:46px}.service-card{min-height:342px}.service-content{padding-top:34px;padding-bottom:29px}}
@media(max-width:1000px){.site-header{padding-inline:32px}.site-footer{width:calc(100% - 64px)}main{width:calc(100% - 72px);padding-top:48px}.service-card{padding:23px;min-height:310px}.service-art{width:120px;flex-basis:120px}.service-heading h2{font-size:29px}.services{gap:18px}.service-heading p{font-size:13px}}
@media(max-width:760px){.site-header{height:64px}.service-nav a{padding-inline:14px;font-size:13px}main{padding-top:39px;padding-bottom:33px}.intro{min-height:0;padding-bottom:32px}.eyebrow{font-size:11px;margin-bottom:18px}h1{font-size:38px;letter-spacing:-1.2px}.intro-description{font-size:13px;margin-top:16px}.service-card{min-height:294px;padding:21px}.service-art{width:92px;flex-basis:92px}.service-content{gap:3px}.service-heading h2{font-size:25px}.service-heading p{font-size:12px}.card-bottom{font-size:13px}.site-footer{min-height:48px}}
@media(max-width:620px){.site-header{height:60px;padding-inline:20px;gap:16px}.service-nav{gap:2px}.service-nav a{padding-inline:12px}.site-footer{width:calc(100% - 40px)}main{width:calc(100% - 40px);padding-top:34px}.intro{padding-left:3px;padding-bottom:30px}h1{font-size:38px;line-height:1.3}.services{grid-template-columns:1fr;gap:16px}.service-card{min-height:253px;padding:23px 24px 17px;border-radius:12px}.service-category{font-size:11px}.service-content{padding:22px 0 20px;gap:12px}.service-heading h2{font-size:29px;margin-bottom:11px}.service-heading p{font-size:13px;line-height:1.75}.service-art{width:118px;flex-basis:118px;margin-right:-2px}.card-bottom{padding-top:14px}.enter-arrow{width:29px;height:29px}.footer-domain{font-size:10px}}
@media(max-width:350px){.site-header{padding-inline:16px;gap:10px}.site-footer,main{width:calc(100% - 32px)}.service-nav a{padding-inline:10px;font-size:12px}h1{font-size:33px}.service-card{padding-left:20px;padding-right:20px}.service-heading h2{font-size:26px}.service-art{width:96px;flex-basis:96px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.service-card:hover,.service-card:hover .service-art{transform:none}}

/* Original company CI assets: preserve paths, colors and aspect ratio. */
.brand-ci{display:block;width:76px;height:auto;flex-shrink:0}
@media(max-width:760px){.brand-ci{width:68px}}
@media(max-width:350px){.brand-ci{width:60px}}

.service-note{margin:20px 0 0;font-size:12px;line-height:1.6;color:var(--muted);text-align:right}
.app-download{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 20px;margin-top:20px;font-size:13px}.app-download small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.app-download a{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #e5d7da;border-radius:8px;background:#fff;color:#b90e22;font-weight:600}.app-download a:hover{background:#fff0f2}.app-download+.service-note{margin-top:12px}@media(max-width:620px){.app-download{justify-content:flex-start;font-size:12px}.app-download a{padding:11px 14px}}
.service-platforms{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;font-size:11px;line-height:1.5;color:#85676d}
.service-platforms span{padding:4px 8px;border:1px solid #efdee1;border-radius:5px;background:#fff}
.ehr-card .service-platforms{color:#696d76}.ehr-card .service-platforms span{border-color:#e7e7ea}
.talk-card .service-art{width:120px;flex-basis:120px}
.talk-card h2{display:flex;align-items:center;min-height:1.2em}
.talk-wordmark{display:block;width:5.05em;max-width:100%;height:auto}
.talk-wordmark>svg{display:block;width:100%;height:auto}
@media(min-width:621px) and (max-width:1000px){.talk-card .service-content{gap:12px;min-height:150px}.talk-card .service-art{width:72px;flex-basis:72px}.talk-card .service-heading{flex:1;min-width:0}}
@media(max-width:620px){.talk-card .service-art{width:90px;flex-basis:90px}.service-platforms{font-size:10px}}
@media(max-width:620px){.service-note{text-align:left;font-size:11px}.intro-description{max-width:250px;line-height:1.7}}

/* Author credit stays in the page footer. */
.site-footer{justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding-block:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.product-credit{margin-left:auto;color:#76767d;font-size:11px;line-height:16px;text-align:right;word-break:keep-all}
@media(max-width:620px){.product-credit{font-size:10px}}

/* Common portal entry; application sessions and VPN remain independent. */
.portal-login{margin:0 0 24px;padding:24px 28px;border:1px solid var(--line);border-radius:12px;background:#fff}
.portal-login-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.portal-login h2{margin:0;font-size:20px;letter-spacing:-.5px}.portal-login-heading p{margin:0;color:var(--muted);font-size:14px}
#portal-login-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.5fr) auto;gap:16px;align-items:end}#portal-login-form[hidden],#portal-account[hidden]{display:none}
.portal-login-field{display:grid;gap:8px}.portal-login-field label{font-size:13px;font-weight:600;color:#555b65}.portal-login input{box-sizing:border-box;width:100%;height:46px;border:1px solid #dcdde2;border-radius:7px;background:#fff;padding:0 13px;font:inherit;font-size:14px;color:var(--ink)}
#portal-login-button{height:46px;min-width:108px;border:0;border-radius:7px;background:var(--red);color:white;padding:0 24px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}#portal-login-button:disabled{background:#e2e3e7;color:#858b95;cursor:wait}
#portal-login-message{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.65}#portal-login-message[data-kind="error"]{color:#ba1530}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-service-state{font-size:11px;color:var(--muted);white-space:nowrap}.portal-service-state[data-state="ready"]{color:#287f68}.portal-service-state[data-state="pending"]{color:#91682d}
.service-card[aria-disabled="true"] .card-bottom{color:#858b95}.service-nav a[aria-disabled="true"]{color:#858b95}
@media(max-width:620px){.portal-login{padding:22px 20px;margin-bottom:20px}#portal-login-form{grid-template-columns:1fr;gap:14px}#portal-login-button{width:100%;margin-top:2px}.portal-login-heading{margin-bottom:16px}.portal-login h2{font-size:19px}}

/* No workspace markup is delivered until the server validates the login. */
[hidden]{display:none!important}
main[data-view="login"]{display:grid;place-items:center;padding-block:64px;min-height:calc(100svh - 124px)}
.portal-login{width:min(100%,440px);margin:0;padding:40px;border-radius:16px;box-shadow:0 10px 40px #272b3606}
.portal-login-eyebrow{margin:0 0 18px;color:var(--muted);font-size:13px;letter-spacing:.1px}
.portal-login-heading{display:block;margin-bottom:32px}.portal-login-heading h1{font-size:32px;letter-spacing:-1px;line-height:1.3}.portal-login-heading p{margin:12px 0 0;font-size:14px;line-height:1.65}
#portal-login-form{grid-template-columns:1fr;gap:20px}.portal-login input{height:50px}#portal-login-button{height:50px;margin-top:8px;width:100%}
#portal-login-message{min-height:42px;margin-top:20px}
.portal-workspace-account{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.portal-workspace-account p{margin:0;color:var(--muted);font-size:14px}
#portal-credentials-button{padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
#portal-workspace-message{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.65}#portal-workspace-message[data-kind="error"]{color:#ba1530}
#portal-workspace>.product-credit{margin:30px 0 0}
.portal-status{text-align:center;padding:40px}.portal-status h1{font-family:var(--font);font-size:22px;letter-spacing:-.5px;margin-top:18px}.portal-spinner{display:inline-block;width:26px;height:26px;border:3px solid #e8e6e3;border-top-color:var(--red);border-radius:50%;animation:portal-spin 1s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.portal-spinner{animation:none}}
.portal-status p{color:var(--muted);font-size:14px;line-height:1.7}.portal-status button{margin-top:12px;padding:12px 20px;background:#fff;border:1px solid var(--line);border-radius:7px;font:inherit;cursor:pointer}
@media(max-width:620px){main[data-view="login"]{padding-block:32px;min-height:calc(100svh - 108px)}.portal-login{padding:30px 24px}.portal-login-heading h1{font-size:30px}.portal-login-heading{margin-bottom:26px}}
