@font-face{font-family:Inter;src:url('../fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Pretendard;src:url('../fonts/PretendardVariable-subset.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#191919;--muted:#60646b;--line:#dedfdf;--blue:#2159d7;--paper:#f7f6f2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.4 Inter,Pretendard,Arial,sans-serif;-webkit-font-smoothing:antialiased}html[lang=ko] body{font-family:Pretendard,Inter,Arial,sans-serif;word-break:keep-all}
h1,h2,h3,p,figure{margin:0}h1{font-weight:520}h2{font-weight:500}h3{font-weight:550}p{font-weight:400}h1,h2{font-size:40px;line-height:1.08;letter-spacing:-1.35px}h3{font-size:20px;line-height:24px;letter-spacing:-.35px}p{font-size:16px;line-height:24px;color:var(--muted)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:5px}a.text-link{font-size:14px;color:#325b9f;display:inline-flex;gap:20px;align-items:center}a.text-link:hover{color:#123f9a}html[lang=ko] h1,html[lang=ko] h2{line-height:1.15}
.container{max-width:1280px;margin:auto;padding:0 16px}.header{height:86px;position:relative;z-index:20}.header-inner{height:86px;max-width:1280px;margin:auto;display:flex;align-items:center;gap:46px}.logo{width:195px;height:auto;object-fit:contain;display:block}.nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500;line-height:20px}.nav a:hover,.nav button:hover{color:#4f5d74}.nav button{border:0;background:none;padding:0;color:inherit;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}.chevron{width:5px;height:5px;display:inline-block;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-top:-3px}.header-right{margin-left:auto;display:flex;align-items:center;gap:24px}.language{display:flex;gap:8px;font-size:12px;font-weight:500;color:#676c74}.language .active{color:#161b23}.contact-button{font-weight:500;background:#191919;color:#fff;border-radius:32px;font-size:14px;padding:5px 13px;white-space:nowrap;line-height:20px}.mobile-toggle{display:none}
.mega{position:absolute;top:86px;width:100%;left:0;background:#fff;border-bottom:1px solid #e5e7ea;box-shadow:0 18px 35px #202b3b0c;padding:24px 0 36px}.mega[hidden]{display:none}.mega-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:45px}.mega h3{font-size:12px;font-weight:500;color:#656b74;line-height:20px;margin-bottom:13px;letter-spacing:0}.mega a{font-size:15px;font-weight:500;display:block;margin-top:10px;width:fit-content}.mega a:hover{color:var(--blue)}.mega-feature{padding-left:32px;border-left:1px solid #e7e9ec}.mega-feature p{font-size:13px;line-height:19px;margin-top:12px;max-width:220px}.menu-open main,.menu-open footer{filter:blur(3px);pointer-events:none}.menu-open .header{background:white}
.button{font-weight:500;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 20px;border:1px solid #dedfdf;border-radius:28px;font-size:16px;line-height:24px;transition:background .15s}.button.primary{background:#191919;color:white;border-color:#191919}.button.primary:hover{background:#30353c}.button.secondary:hover{background:#f0f1f2}.button .arrow{font-size:19px}.buttons{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.home{padding-top:82px}.home-copy h1{max-width:590px}.home-copy h1 span{display:block}.home-copy p{max-width:550px;margin-top:20px}.signature{margin-top:48px;position:relative}.signature img{display:block;width:100%;height:634px;object-fit:cover;object-position:50% 49%;border-radius:3px}.signature figcaption{display:flex;align-items:center;justify-content:space-between;padding:19px 0 20px;border-bottom:1px solid #dedfdf;gap:24px}.signature .stages{display:flex;gap:26px;font-size:13px;color:#59616d}.signature .stages span+span:before{content:"→";color:#a1a9b4;margin-right:26px}.signature .note{font-size:11px;color:#9ba0a8;white-space:nowrap}.home-links{display:flex;justify-content:space-between;align-items:center;margin:30px 0 8px}.home-links p{font-size:14px;line-height:20px;max-width:640px}
.page-head{padding-top:62px;padding-bottom:42px}.breadcrumb{font-size:12px;color:#8d939c;margin-bottom:24px;display:flex;gap:10px}.breadcrumb a:hover{color:#2f5ba6}.page-head h1{max-width:850px}.page-head p{margin-top:18px;max-width:650px}.page-head .intro-wide{max-width:760px}
.technology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);gap:0 48px}.technology-item{padding:30px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px 1fr 22px;gap:16px}.technology-item .number{font:12px/24px Consolas,monospace;color:#737d8c}.technology-item h2{font-size:22px;line-height:28px;letter-spacing:-.4px}.technology-item p{margin-top:12px;max-width:470px;font-size:15px;line-height:22px}.technology-item .arrow{font-size:20px;color:#8e98a5}.technology-item:hover h2,.technology-item:hover .arrow{color:var(--blue)}.overview-art{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:76px;padding-top:62px}.overview-art img{display:block;width:100%;border-radius:3px}.overview-art h2{font-size:32px;line-height:35px;letter-spacing:-.8px}.overview-art p{margin-top:18px}.overview-art .text-link{margin-top:24px}
.detail-grid{display:grid;grid-template-columns:216px minmax(0,1fr);gap:64px;padding-top:30px}.side-nav{position:sticky;top:32px;align-self:start;font-size:13px;color:#7d858f;padding-top:5px}.side-nav a{display:block;padding:11px 0;border-bottom:1px solid #e6e7e9;line-height:18px}.side-nav a[aria-current=page]{color:#1d4dba;font-weight:550}.side-nav .side-title{font-size:12px;color:#a1a6ad;margin-bottom:15px}.detail-main .page-head{padding-top:0}.detail-main .page-head h1{max-width:760px}.detail-main .page-head p{max-width:680px}.detail-main h2{font-size:28px;line-height:33px;letter-spacing:-.7px}.mechanism{margin-top:36px;display:grid;grid-template-columns:1fr 1.35fr;gap:44px;padding-top:30px;border-top:1px solid var(--line)}.mechanism p{max-width:560px}.deep-flow{margin-top:32px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.deep-flow span{font-size:13px;color:#4d6483;background:#edf2f8;border:1px solid #e1e7f0;padding:9px 13px;border-radius:3px}.deep-flow i{font-style:normal;color:#a7b3c3}
.technical-visual{border-radius:4px;background:#edf1f5;padding:32px;min-height:290px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.technical-visual .diagram-title{position:absolute;left:24px;top:18px;font-size:11px;color:#8a97a8;letter-spacing:.1px}.visual-flow{display:flex;gap:26px;align-items:center;justify-content:center;width:100%}.visual-flow .node{background:#fff;border:1px solid #e0e7ee;padding:20px 24px;min-width:158px;border-radius:4px;box-shadow:0 15px 28px #405b7a06;font-size:13px;line-height:23px;color:#43546e}.node strong{display:block;font-weight:500;margin-bottom:8px;color:#283b56}.node .sub{color:#94a0af;font-size:11px}.node .blue{color:#235ed2}.connector{height:1px;min-width:32px;width:42px;background:#a5b9d8;position:relative}.connector:after{content:"";position:absolute;right:0;top:-3px;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid #a5b9d8}
.code-visual{display:block;background:#162131;color:#b4c4df;padding:28px 32px;min-height:280px}.code-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7f93b1;margin-bottom:25px}.code-visual pre{font:13px/23px Consolas,monospace;white-space:pre-wrap;margin:0;color:#c7d2e8}.code-visual .sql-key{color:#82b0ff}.code-visual .reject{border-top:1px solid #2c394d;margin-top:25px;padding-top:15px;font-size:12px;color:#b8a99b}
.placeholder{margin-top:36px;background:#f1f0ed;border:1px dashed #c9c7c1;border-radius:3px;padding:26px 28px}.placeholder h3{font-size:17px;line-height:24px;color:#5a5e61;margin-bottom:10px}.placeholder p{font-size:14px;line-height:22px;color:#818589;max-width:690px}.placeholder .status{float:right;font-size:11px;color:#969994;padding:3px 8px;border:1px solid #d4d4ce;border-radius:12px}.placeholder .slots{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:22px}.placeholder .slot{height:74px;border:1px solid #d7d7d1;display:flex;align-items:center;justify-content:center;font-size:12px;color:#92958f;background:#f5f4f1}.placeholder .needed{font-size:12px;color:#8b8e89;margin-top:16px}
.arch-image{position:relative;border-radius:4px;overflow:hidden}.arch-image img{display:block;width:100%;height:440px;object-fit:cover;object-position:50% 48%}.architecture-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.architecture-flow .index{font:12px/18px Consolas,monospace;color:#a2a8b1;margin-bottom:16px}.architecture-flow h2{font-size:20px;line-height:26px;letter-spacing:-.4px}.architecture-flow p{font-size:14px;line-height:21px;margin-top:12px}.boundary-layout{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:44px}.boundary-layout h2{font-size:28px;line-height:33px;letter-spacing:-.6px}.boundary-layout p{margin-top:18px}.boundary-layout .text-link{margin-top:22px}
.notes-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.note-tile{border-top:1px solid var(--line);padding-top:22px}.note-tile .note-no{font:12px/20px Consolas,monospace;color:#a0a6b0;margin-bottom:22px}.note-tile h2{font-size:24px;line-height:30px;letter-spacing:-.5px;max-width:350px}.note-tile p{font-size:15px;line-height:22px;margin-top:18px;max-width:330px}.note-tile .text-link{margin-top:26px}.note-tile:hover h2{color:var(--blue)}
.article{max-width:760px;margin:auto;padding-top:50px}.article .breadcrumb{margin-bottom:24px}.article h1{max-width:740px}.article .deck{font-size:18px;line-height:27px;color:#787e86;margin-top:22px}.article .article-body{margin-top:42px;border-top:1px solid var(--line);padding-top:32px}.article-body p{font-size:17px;line-height:29px;margin-bottom:24px;color:#515962}.article-footer{padding-top:20px;margin-top:30px;border-top:1px solid var(--line);font-size:12px;color:#9aa1a9}
.company-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start;padding-bottom:44px;border-bottom:1px solid var(--line)}.company-intro h1{max-width:640px;white-space:pre-line}.company-intro p{font-size:18px;line-height:28px;padding-top:7px}.company-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px}.portrait-slot{min-height:290px;border:1px dashed #c9c7c1;background:#f0efec;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#92958f;font-size:14px;gap:12px}.portrait-slot:before{content:"";width:42px;height:42px;border:1px solid #bfc2ba;border-radius:50%}.portrait-slot .silhouette{width:88px;height:48px;border:1px solid #bfc2ba;border-bottom:0;border-radius:80px 80px 0 0;margin-top:-6px}.company-layout h2{font-size:28px;line-height:34px;letter-spacing:-.7px}.company-layout p{margin-top:18px}.company-layout .placeholder{margin-top:22px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-layout .placeholder{margin-top:0}.contact-form label{display:block;font-size:13px;color:#7b838d;margin-bottom:22px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:9px;padding:13px 14px;border:1px solid #dedfe1;border-radius:3px;background:#fcfcfb;color:#9aa0a8}.contact-form textarea{height:130px;resize:none}.contact-form button{background:#b0b3b5;color:white;border:0;cursor:not-allowed}.contact-form .form-note{font-size:12px;color:#989ea5;margin-top:14px}
.footer{max-width:1280px;margin:72px auto 0;padding:28px 0 36px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:30px;font-size:12px;color:#8c939b}.footer .logo{width:156px;height:auto}.footer-nav{margin-left:auto;display:flex;gap:28px}.footer a:hover{color:#2d5fae}.preview-note{font-size:10px;color:#a4a9af}
@media(max-width:1320px){.header-inner,.mega-inner,.footer{margin-left:32px;margin-right:32px}.container{padding-left:32px;padding-right:32px}.mega-inner{gap:28px}.signature .stages{gap:16px}.signature .stages span+span:before{margin-right:16px}.detail-grid{gap:36px}}
@media(max-width:900px){.header-inner{gap:24px}.nav{gap:15px}.header-right{gap:16px}.nav a,.nav button{font-size:12px}.detail-grid{grid-template-columns:170px minmax(0,1fr);gap:24px}.visual-flow{gap:12px}.visual-flow .node{min-width:100px;padding:15px;font-size:11px}.connector{min-width:12px;width:18px}.technical-visual{padding:24px}.mechanism{grid-template-columns:1fr;gap:18px}.company-intro{gap:40px}.notes-grid{gap:22px}.signature .note{display:none}.company-layout{gap:24px}.contact-layout{gap:48px}.company-intro h1{font-size:36px}.company-intro p{font-size:16px}}
@media(max-width:680px){h1,h2{font-size:32px;line-height:1.12;letter-spacing:-.9px}.container{padding-left:20px;padding-right:20px}.header,.header-inner{height:72px}.header-inner{margin:0 20px;gap:16px;flex-wrap:wrap}.logo{width:175.5px;height:auto}.nav{display:none}.header-right{gap:18px}.header-right .contact-button{display:none}.mobile-toggle{display:block;border:0;background:none;font-size:13px;padding:5px 0}.mega{top:72px;padding-top:20px}.mega-inner{display:grid;grid-template-columns:1fr 1fr;margin:0 20px;gap:24px}.mega-feature{padding-left:0;border:0}.mega a{font-size:13px}.mega h3{font-size:11px}.home{padding-top:40px}.home-copy h1{max-width:360px}.home-copy p{margin-top:18px;max-width:360px;font-size:15px;line-height:22px}.buttons{margin-top:24px;gap:8px}.button{font-size:14px;padding:0 16px;height:40px;gap:12px}.signature{margin-top:32px;margin-left:-20px;margin-right:-20px}.signature img{height:300px;object-fit:cover;object-position:52% 50%;border-radius:0}.signature figcaption{padding:16px 20px;display:block}.signature .stages{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}.signature .stages span+span:before{margin-right:12px}.home-links{align-items:flex-start;gap:20px;margin-top:24px}.home-links p{font-size:13px;line-height:20px;max-width:220px}.home-links .text-link{font-size:12px;white-space:nowrap}.page-head{padding-top:40px;padding-bottom:32px}.page-head p{font-size:15px;line-height:22px}.breadcrumb{margin-bottom:22px;font-size:11px;flex-wrap:wrap}.technology-grid{grid-template-columns:1fr}.technology-item{padding:24px 0;grid-template-columns:30px 1fr 18px;gap:10px}.technology-item h2{font-size:20px;line-height:26px}.technology-item p{font-size:14px;line-height:21px}.overview-art{grid-template-columns:1fr;gap:24px;padding-top:40px}.overview-art h2{font-size:28px;line-height:33px}.overview-art p{font-size:15px}.detail-grid{display:block;padding-top:28px}.side-nav{display:none}.detail-main .page-head{padding-bottom:28px}.technical-visual{padding:48px 16px 24px;min-height:240px}.visual-flow{flex-direction:column;gap:12px}.visual-flow .node{width:100%;text-align:center;font-size:12px;min-width:0}.connector{height:20px;width:1px;min-width:1px}.connector:after{right:-3px;top:auto;bottom:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:5px solid #a5b9d8;border-bottom:0}.code-visual{padding:24px 18px;min-height:270px}.code-visual pre{font-size:11px;line-height:20px;overflow-wrap:anywhere}.mechanism{margin-top:26px;padding-top:26px}.mechanism h2{font-size:24px;line-height:29px}.mechanism p{font-size:15px;line-height:23px}.deep-flow{gap:8px;margin-top:24px}.deep-flow span{font-size:11px;padding:7px 9px}.placeholder{padding:20px;margin-top:28px}.placeholder h3{font-size:16px;line-height:24px;margin-right:50px}.placeholder p{font-size:13px;line-height:21px}.placeholder .slots{gap:7px}.placeholder .slot{font-size:10px;padding:5px;text-align:center;height:68px}.placeholder .status{font-size:10px}.arch-image img{height:260px}.architecture-flow{grid-template-columns:1fr 1fr;gap:28px 22px}.architecture-flow h2{font-size:18px}.architecture-flow p{font-size:13px;line-height:20px}.boundary-layout{grid-template-columns:1fr;gap:30px}.boundary-layout h2{font-size:24px;line-height:30px}.notes-grid{grid-template-columns:1fr;gap:34px}.note-tile h2{font-size:24px;line-height:30px}.note-tile .note-no{margin-bottom:14px}.note-tile .text-link{margin-top:18px}.article{padding:35px 20px 0}.article .deck{font-size:16px;line-height:25px}.article .article-body{margin-top:30px;padding-top:26px}.article-body p{font-size:16px;line-height:27px}.company-intro{grid-template-columns:1fr;gap:24px}.company-intro h1{font-size:32px}.company-intro p{font-size:16px;line-height:25px}.company-layout{grid-template-columns:1fr;gap:28px}.portrait-slot{min-height:230px}.contact-layout{grid-template-columns:1fr;gap:32px}.footer{margin:44px 20px 0;padding-top:25px;gap:18px;flex-wrap:wrap}.footer-nav{margin-left:0;width:100%;gap:20px;font-size:11px}.preview-note{margin-left:auto}.footer .logo{width:156px;height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Company-first technology portfolio and approved identity continuation. */
[hidden]{display:none!important}
.company-hero{display:block}
.home-technologies{display:flex;flex-direction:column}
.home-technologies a{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:19px 0;font-size:16px;font-weight:500;line-height:23px}
.home-technologies a:first-child{border-top:1px solid var(--line)}
.home-technologies a:hover{color:var(--blue)}
.home-technologies a>span:last-child{font-size:18px;color:#5e6570}
.implementation{margin-top:60px}
.implementation-heading{display:flex;justify-content:space-between;align-items:center;gap:28px}
.implementation-heading h2{font-size:20px;font-weight:550;line-height:27px;letter-spacing:-.35px}
.implementation-heading p{font-size:12px;line-height:20px;margin-top:5px;color:#717782}
.implementation .actual-screen{margin-top:20px}
.company-menu{position:absolute;right:max(24px,calc((100% - 1280px)/2));top:73px;min-width:250px;padding:14px 20px;background:#fff;border:1px solid #dedfdf;box-shadow:0 9px 24px #1722350a;display:flex;flex-direction:column;gap:0}
.company-menu a{font-size:14px;font-weight:500;padding:12px 5px}
.company-menu a:hover{color:var(--blue)}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:80px}
.portfolio-item{border-top:1px solid var(--line);padding:32px 0 38px}
.portfolio-item h2{font-size:27px;line-height:35px;letter-spacing:-.7px;max-width:500px;padding-right:24px;position:relative}
.portfolio-item h2 span{position:absolute;right:0;font-size:20px;font-weight:400}
.portfolio-item p{margin-top:18px;max-width:490px;font-size:15px;line-height:24px}
.application-ref{display:block;font-size:12px;line-height:18px;color:#747a83;margin-top:26px}
.portfolio-item:hover h2{color:var(--blue)}
.family-application{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:24px;font-size:13px}
.family-application span{color:#727882}.family-application strong{font-weight:550}
.family-mechanism{display:grid;grid-template-columns:250px 1fr;gap:60px;padding:38px 0}
.family-mechanism h2,.family-deep h2{font-size:22px;line-height:30px;letter-spacing:-.4px}
.family-mechanism p{max-width:790px;line-height:27px}
.family-flow{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;padding:0;margin:24px 0 0;font-size:13px;line-height:24px}
.family-flow li{border-bottom:1px solid #c4cad2;padding:5px 0}
.family-flow li+li:before{content:"→";margin-right:18px;color:#9299a3}
.family-capture h2{font-size:19px;line-height:29px;font-weight:450;max-width:700px;letter-spacing:-.3px}
.family-capture-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px;max-width:760px}
.family-capture-slots span{border-top:1px solid #d9dce1;padding-top:15px;font-size:13px;color:#727882}
.family-limit{border-top:1px solid var(--line);padding-top:20px;margin-top:35px;font-size:13px;line-height:22px;max-width:100%}
.family-limit strong{font-weight:550;margin-right:14px;color:#454c56}
.family-deep{margin-top:36px}.family-deep-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 36px;margin-top:25px}
.family-deep-links a{font-size:15px;border-top:1px solid var(--line);padding-top:18px}
.engine-row{display:grid;grid-template-columns:310px 1fr;gap:45px;border-top:1px solid var(--line);padding:30px 0}
.engine-row h2{font-size:22px;line-height:29px;letter-spacing:-.4px}
.engine-row p{font-size:12px;margin-top:9px}.engine-row .family-flow{margin:0;align-content:start}
.company-subnav{display:flex;gap:35px;border-bottom:1px solid var(--line);margin-bottom:38px}
.company-subnav a{font-size:14px;color:#777d85;padding:12px 0 15px;border-bottom:2px solid transparent;margin-bottom:-1px}
.company-subnav [aria-current=page]{color:#191919;border-color:#191919;font-weight:550}
.corporate-section{display:grid;grid-template-columns:250px 1fr;gap:60px;padding:0 0 42px;margin-top:34px}
.corporate-section h2,.location-layout h2,.jobs-layout h2{font-size:24px;line-height:31px;letter-spacing:-.5px}
.company-facts{margin:0}.company-facts>div{display:grid;grid-template-columns:155px 1fr;border-bottom:1px solid var(--line);padding:17px 0;gap:24px}
.company-facts>div:first-child{padding-top:0}.company-facts dt{font-size:14px;font-weight:500}.company-facts dd{margin:0;font-size:14px;line-height:23px;color:#777e88}
.corporate-technology{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:15px}
.corporate-technology a{padding:2px 0 15px;border-bottom:1px solid var(--line)}
.layout-note{font-size:13px;line-height:22px;color:#777e88}
.company-history{margin-top:20px}.company-history>div{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.company-history span,.company-history p{font-size:14px;color:#7f8791}
.location-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:52px}
.map-slot{min-height:390px;border:1px solid #d8dbde;background:#eeefed;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:30px;text-align:center}
.map-slot>span{font-size:22px;font-weight:500;letter-spacing:-.4px}.map-slot p{font-size:13px;line-height:22px;max-width:320px}
.location-layout .company-facts{margin-top:30px}.location-layout .company-facts>div{grid-template-columns:105px 1fr}
.public-contact{font-size:13px;color:#767e89;margin-top:28px}.public-contact a{display:block;font-size:15px;color:#303c4d;margin-top:10px}
.jobs-layout{padding-bottom:16px}.job-columns{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;border-top:1px solid #bfc4cb;border-bottom:1px solid var(--line);padding:16px 0;margin-top:28px;font-size:13px;color:#727985}
.empty-content{text-align:center;padding:58px 20px;font-size:14px;border-bottom:1px solid var(--line)}
.blog-categories{display:flex;gap:28px;font-size:14px;font-weight:500;margin-bottom:25px}.blog-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:28px}
.blog-cover-slot{height:170px;background:#eeefed;border:1px solid #dce0e2;display:flex;align-items:center;justify-content:center;font-size:13px;color:#8a919b}
.blog-layout h2{font-size:21px;line-height:28px;letter-spacing:-.4px;margin-top:22px}
.blog-layout p{font-size:14px;margin-top:10px}.blog-layout article>span{display:block;font-size:12px;color:#8a919b;margin-top:18px}
@media(max-width:1100px){.company-hero{gap:60px}.portfolio-grid{column-gap:45px}.home-technologies a{font-size:15px}.engine-row{grid-template-columns:260px 1fr;gap:30px}.family-mechanism,.corporate-section{grid-template-columns:200px 1fr;gap:35px}}
@media(max-width:900px){.header-inner{gap:24px}.header-inner .logo{width:175.5px}.nav{gap:16px}.nav button{font-size:12px}.header-right{gap:14px}.contact-button{font-size:12px}.company-hero{gap:38px}.home-technologies a{font-size:14px;padding:16px 0}.location-layout{gap:30px}.company-facts>div{grid-template-columns:110px 1fr}}
@media(max-width:780px){.header,.header-inner{height:72px}.header-inner{margin:0 20px}.header .logo{width:175.5px}.nav{display:none}.header-right .contact-button{display:none}.mobile-toggle{display:block;border:0;background:none;font-size:13px;padding:5px 0}.mega{top:72px}.mega-inner{margin:0 20px;gap:24px;grid-template-columns:1fr 1fr}.mega-inner .mobile-pages{display:flex;grid-column:1/-1;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.company-menu{display:none}.company-hero{grid-template-columns:1fr;gap:32px}.home-technologies a{font-size:15px;padding:14px 0}.implementation{margin-top:40px}.implementation-heading{display:block}.implementation-heading .text-link{margin-top:16px;font-size:12px}.portfolio-grid{grid-template-columns:1fr}.portfolio-item{padding:27px 0}.portfolio-item h2{font-size:24px;line-height:31px}.family-mechanism,.corporate-section,.engine-row{grid-template-columns:1fr;gap:22px}.family-mechanism{padding:30px 0}.family-mechanism p{font-size:15px;line-height:25px}.family-flow{font-size:12px;gap:8px 12px}.family-flow li+li:before{margin-right:12px}.family-deep-links{grid-template-columns:1fr 1fr;gap:20px}.family-capture-slots{gap:14px}.family-capture-slots span{font-size:12px}.company-subnav{gap:24px;flex-wrap:wrap}.company-subnav a{font-size:13px}.company-facts>div{grid-template-columns:95px 1fr;gap:20px}.corporate-section{margin-top:28px;padding-bottom:22px}.corporate-technology{font-size:14px;gap:20px}.location-layout{grid-template-columns:1fr;gap:30px}.map-slot{min-height:280px}.job-columns{gap:12px;font-size:11px}.empty-content{font-size:13px;padding:40px 15px}.blog-layout{grid-template-columns:1fr;gap:34px}.blog-cover-slot{height:190px}.blog-layout h2{margin-top:16px}}

/* Full-page editorial planning: content, specific source slots and company pages. */
.editorial-sections{margin-top:44px}.editorial-row{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:70px;border-top:1px solid var(--line);padding:32px 0}.editorial-row h2{font-size:25px;line-height:34px;letter-spacing:-.55px;max-width:330px}.editorial-row p{line-height:27px;max-width:740px}.detail-main .editorial-row{grid-template-columns:1fr 1.25fr;gap:36px}.detail-main .editorial-row h2{font-size:23px;line-height:31px}.editorial-blog{border-top:1px solid var(--line)}.blog-story{display:flex;justify-content:space-between;gap:70px;border-bottom:1px solid var(--line);padding:35px 0}.blog-story:first-child{padding:42px 0}.blog-story h2{font-size:28px;line-height:37px;letter-spacing:-.65px;max-width:800px}.blog-story p{margin-top:16px;max-width:780px}.blog-story>span{font-size:12px;white-space:nowrap;color:#606a78;align-self:center}.blog-news-slot{margin-top:48px;border-top:1px solid var(--line);padding-top:28px}.blog-news-slot h2{font-size:22px;line-height:30px;letter-spacing:-.4px}.blog-news-slot p{margin-top:12px;font-size:14px}.blog-news-slot>div{display:flex;gap:60px;margin-top:25px;padding:25px 0;border-top:1px dashed #c8cbd0;border-bottom:1px dashed #c8cbd0;font-size:13px;color:#656d77}.contact-channel h2{font-size:24px;line-height:32px;letter-spacing:-.5px}.contact-email{display:inline-block;margin-top:18px;font-size:22px;color:#2457b7}.inquiry-topics{margin-top:36px}.inquiry-topics>div{border-top:1px solid var(--line);padding:18px 0;font-size:15px}.contact-form select{appearance:none;width:100%;background:transparent;border:0;border-bottom:1px solid #b7bcc3;padding:12px 0;color:#555f6d}.layout-note,.empty-content{color:#66717d}
@media(max-width:780px){.editorial-row,.detail-main .editorial-row{grid-template-columns:1fr;gap:16px;padding:26px 0}.editorial-row h2{font-size:23px;line-height:31px}.editorial-row p{font-size:15px;line-height:25px}.blog-story{display:block;padding:28px 0}.blog-story h2{font-size:24px;line-height:32px}.blog-story>span{display:block;margin-top:18px}.blog-news-slot>div{gap:24px;flex-wrap:wrap}.contact-email{font-size:20px}}

/* Keep supporting copy legible at its final exported size. */
.breadcrumb,.footer,.footer a,.preview-note,.company-subnav a,.company-facts dd,.company-history span,.company-history p,.public-contact,.job-columns,.blog-categories,.side-nav,.side-nav .side-title,.contact-form label,.form-note,.layout-note,.application-ref,.family-application>span,.placeholder p,.placeholder .status,.placeholder .slot,.placeholder .needed{color:#626c78}
.company-subnav a[aria-current=page],.side-nav a[aria-current=page]{color:#191919}.footer a:hover{color:#2457b7}

/* Core families lead the menu; NL to SQL internals stay on its detail pages. */
@media(min-width:781px){.mega-inner{grid-template-columns:minmax(300px,1.2fr) minmax(260px,1fr);max-width:1280px;gap:80px}.mega-inner>div:first-child{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.mega-inner>div:first-child h3{grid-column:1/-1}}
.footer-nav{flex-wrap:wrap;gap:16px 24px}
