.stl-km-public-page, .stl-km-portal, .stl-km-product-grid, .stl-km-cart { line-height: 1.6; font-family: 'STL Inter', system-ui, sans-serif; }
.stl-km-page-empty { padding: 1rem; border-inline-start: 3px solid #718096; background: #f4f6f8; }
.stl-km-portal-nav { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #d6dce2; }
.stl-km-portal-nav a { text-decoration: none; }
.stl-km-portal dl { display: grid; grid-template-columns: minmax(7rem, 12rem) 1fr; gap: .5rem; }
.stl-km-portal dt { font-weight: 700; }
.stl-km-contact-card { margin-top: 1.5rem; padding: 1rem; border: 1px solid #d6dce2; border-radius: .25rem; }
.stl-km-contact-card h3 { margin-top: 0; }
.stl-km-button { display: inline-block; padding: .6rem 1rem; color: #fff; background: #1d4f91; text-decoration: none; border-radius: .25rem; }
.stl-km-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.stl-km-partner-offer { max-width: 1200px; margin: 2rem auto; padding: 1.5rem; border: 1px solid #d3dfec; border-radius: 14px; background: #f7faff; line-height: 1.6; }
.stl-km-partner-offer h2 { margin-top: 0; }
.stl-km-product { padding: 1.2rem; border: 1px solid #d6dce2; border-radius: .5rem; }
.stl-km-product h2 { margin-top: 0; }
.stl-km-product-price strong { font-size: 1.4rem; }
.stl-km-product button, .stl-km-cart button { padding: .5rem .8rem; border: 1px solid #1d4f91; border-radius: .25rem; background: #1d4f91; color: #fff; cursor: pointer; }
.stl-km-cart table { width: 100%; border-collapse: collapse; }
.stl-km-cart th, .stl-km-cart td { padding: .7rem; text-align: left; border-bottom: 1px solid #d6dce2; }

.stl-km-domain-catalog { font-family: 'STL Inter', system-ui, sans-serif; color: var(--km-text, #273b57); line-height: 1.55; }
.stl-km-domain-intro { max-width: 48rem; margin: 1.5rem 0 2rem; }
.stl-km-domain-kicker { display: inline-block; color: var(--km-icon, #008d96); font-size: .78rem; font-weight: 800; letter-spacing: .14em; }
.stl-km-domain-intro h1, .stl-km-domain-detail h1 { margin: .5rem 0; color: var(--km-heading, #0b2344); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.1; }
.stl-km-domain-intro p { font-size: 1.1rem; }
.stl-km-domain-search { max-width: 38rem; margin: 0 0 2rem; }
.stl-km-domain-search label { display: block; margin-bottom: .4rem; font-weight: 700; }
.stl-km-domain-search div { display: flex; gap: .5rem; }
.stl-km-domain-search input { flex: 1; min-width: 0; padding: .75rem 1rem; border: 1px solid #b7c5d4; border-radius: .5rem; font: inherit; }
.stl-km-domain-search button, .stl-km-domain-detail-link { display: inline-flex; justify-content: center; align-items: center; gap: .5rem; padding: .75rem 1rem; border: 0; border-radius: .5rem; background: var(--km-button, #009b9a); color: var(--km-button-text, #fff); font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.stl-km-domain-search button:hover, .stl-km-domain-detail-link:hover { filter: brightness(.9); color: var(--km-button-text, #fff); }
.stl-km-domain-count { margin: 0 0 .8rem; color: var(--km-muted, #5d6f87); font-size: .9rem; }
.stl-km-domain-toggle { margin: 1.5rem 0; text-align: center; }
.stl-km-domain-toggle a { display: inline-block; padding: .65rem 1rem; border: 1px solid var(--km-button, #009b9a); border-radius: .5rem; color: var(--km-button, #009b9a); font-weight: 700; text-decoration: none; }
.stl-km-domain-list { display: grid; gap: 1rem; }
.stl-km-domain-row { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) minmax(11rem, 13rem); gap: 1.25rem; align-items: center; padding: 1.25rem; border: 1px solid #d6e2e8; border-radius: 1rem; background: #fff; box-shadow: 0 7px 25px rgba(11,35,68,.05); }
.stl-km-domain-mark { display: grid; place-items: center; min-height: 6.5rem; padding: .5rem; border-radius: .75rem; background: var(--km-surface, #f5f9fb); color: var(--km-icon, #008d96); font-size: clamp(1.1rem, 2vw, 1.8rem); font-weight: 800; overflow-wrap: anywhere; }
.stl-km-domain-summary h2 { margin: 0 0 .4rem; color: var(--km-heading, #0b2344); font-size: 1.25rem; }
.stl-km-domain-summary p { margin: 0 0 .75rem; }
.stl-km-domain-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.stl-km-domain-tags span { padding: .18rem .55rem; border-radius: 999px; background: #edf5f6; color: #205b62; font-size: .78rem; font-weight: 700; }
.stl-km-domain-pricing { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; }
.stl-km-domain-pricing small { color: var(--km-muted, #5d6f87); }
.stl-km-domain-pricing strong { color: var(--km-heading, #0b2344); font-size: 1.8rem; line-height: 1.1; }
.stl-km-domain-pricing > span { font-size: .85rem; }
.stl-km-domain-detail-link { margin-top: .7rem; }
.stl-km-domain-lead { max-width: 50rem; font-size: 1.2rem; }
.stl-km-domain-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, 19rem); gap: 2rem; align-items: start; margin-top: 2rem; }
.stl-km-domain-prose > :first-child { margin-top: 0; }
.stl-km-domain-facts { margin: 0 0 2rem; border-top: 1px solid #d6e2e8; }
.stl-km-domain-facts div { display: grid; grid-template-columns: minmax(9rem, 1fr) 2fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid #d6e2e8; }
.stl-km-domain-facts dt { font-weight: 700; }
.stl-km-domain-facts dd { margin: 0; }
.stl-km-domain-detail-aside { padding: 1.25rem; border: 1px solid #d6e2e8; border-radius: 1rem; background: var(--km-surface, #f5f9fb); }
.stl-km-domain-detail-aside h2 { margin-top: 0; font-size: 1.2rem; }
.stl-km-domain-detail-aside div { display: flex; flex-wrap: wrap; gap: .2rem .5rem; justify-content: space-between; padding: .6rem 0; border-bottom: 1px solid #d6e2e8; }
.stl-km-domain-detail-aside div strong { white-space: nowrap; }
.stl-km-domain-detail-aside div small { width: 100%; text-align: right; }
.stl-km-domain-detail-aside p { font-size: .82rem; }
@media (max-width: 780px) { .stl-km-domain-row { grid-template-columns: 5.5rem 1fr; } .stl-km-domain-mark { min-height: 5.5rem; } .stl-km-domain-pricing { grid-column: 2; } .stl-km-domain-detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 500px) { .stl-km-domain-row { grid-template-columns: 1fr; } .stl-km-domain-mark { min-height: 4.5rem; justify-content: start; padding-inline: 1rem; } .stl-km-domain-pricing { grid-column: auto; } .stl-km-domain-search div { flex-direction: column; } .stl-km-domain-facts div { grid-template-columns: 1fr; gap: .15rem; } }

.stl-km-domain-preview, .stl-km-domain-contact { margin: 1.25rem 0; padding: 1rem; border: 1px solid #d6e2e8; border-radius: .7rem; background: #fff; }
.stl-km-domain-preview ul { margin: .5rem 0; }
.stl-km-domain-table-wrap { max-width: 100%; overflow-x: auto; }
.stl-km-domain-table { width: 100%; min-width: 700px; border-collapse: collapse; }
.stl-km-domain-table th, .stl-km-domain-table td { padding: .75rem; text-align: left; border-bottom: 1px solid #d6e2e8; }
.stl-km-domain-table td { vertical-align: top; overflow-wrap: anywhere; }
.stl-km-domain-table td small { display: block; color: var(--km-muted, #5d6f87); }
.stl-km-domain-links { margin: 0; padding: 0; list-style: none; }
.stl-km-domain-links li + li { margin-top: .35rem; }
.stl-km-domain-links .stl-km-service-type { display: inline-block; min-width: 5.5rem; font-weight: 700; color: var(--km-heading, #0b2344); }
.stl-km-domain-links small { display: inline !important; }
.stl-km-domain-contact h4 { margin-top: 0; }
.stl-km-domain-contact dl { display: grid; grid-template-columns: minmax(8rem, 13rem) minmax(0, 1fr); gap: .35rem 1rem; }
.stl-km-domain-contact dd { overflow-wrap: anywhere; }
.stl-km-domain-contact form { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .8rem; margin-top: 1rem; }
.stl-km-domain-contact label { display: grid; gap: .25rem; }
.stl-km-domain-contact input { width: 100%; padding: .6rem; border: 1px solid #b7c5d4; border-radius: .3rem; }
.stl-km-domain-contact button { grid-column: 1 / -1; justify-self: start; padding: .6rem .9rem; border: 0; border-radius: .3rem; color: var(--km-button-text, #fff); background: var(--km-button, #009b9a); cursor: pointer; }
@media (max-width: 650px) { .stl-km-domain-table, .stl-km-domain-table tbody, .stl-km-domain-table tr, .stl-km-domain-table td { display: block; min-width: 0; } .stl-km-domain-table thead { display: none; } .stl-km-domain-table tr { padding: .5rem 0; border-bottom: 1px solid #d6e2e8; } .stl-km-domain-table td { border: 0; padding: .2rem .5rem; } .stl-km-domain-table td::before { content: attr(data-label) ': '; font-weight: 700; } .stl-km-domain-contact dl { grid-template-columns: 1fr; } }
.stl-km-contact-book { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #d6e2e8; border-radius: .7rem; background: var(--km-surface, #f5f9fb); }
.stl-km-contact-book ul { list-style: none; margin: 1rem 0; padding: 0; }
.stl-km-contact-book li { padding: .65rem 0; border-bottom: 1px solid #d6e2e8; }
.stl-km-contact-book form:not(.stl-km-contact-archive) { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .8rem; margin-top: 1rem; }
.stl-km-contact-book label, .stl-km-contact-select label { display: grid; gap: .25rem; }
.stl-km-contact-book input, .stl-km-contact-select select { width: 100%; padding: .6rem; border: 1px solid #b7c5d4; border-radius: .3rem; }
.stl-km-contact-book form:not(.stl-km-contact-archive) button { grid-column: 1 / -1; justify-self: start; padding: .6rem .9rem; border: 0; border-radius: .3rem; color: var(--km-button-text, #fff); background: var(--km-button, #009b9a); cursor: pointer; }
.stl-km-contact-archive { display: inline; margin-left: .5rem; }
.stl-km-contact-archive button { padding: 0; border: 0; background: transparent; color: #8a2630; text-decoration: underline; cursor: pointer; }
.stl-km-contact-book details, .stl-km-domain-contact details { margin-top: 1rem; }
.stl-km-domain-contact .stl-km-contact-select { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.stl-km-domain-contact .stl-km-contact-select button { grid-column: auto; }
.stl-km-saas-catalog,.stl-km-saas-detail { max-width: 1200px; margin: 0 auto; }
.stl-km-saas-group { margin: 2rem 0 3rem; }
.stl-km-saas-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1.25rem; }
.stl-km-saas-card { padding: 1.5rem; border: 1px solid #d9e5ea; border-radius: 1rem; background: var(--km-surface,#f7fafb); box-shadow: 0 8px 25px rgba(20,50,70,.06); }
.stl-km-saas-card h3 { margin-top: .5rem; }
.stl-km-saas-logo { width: auto; max-width: 160px; max-height: 55px; object-fit: contain; }
.stl-km-saas-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,1fr); align-items: center; gap: 2rem; margin-bottom: 2rem; padding: clamp(1.5rem,4vw,3rem); border-radius: 1.25rem; background: linear-gradient(135deg,#edf7f8,#f8f4ed); }
.stl-km-saas-hero h1 { font-size: clamp(2rem,4vw,3.8rem); line-height: 1.1; }
.stl-km-saas-hero figure { margin: 0; }
.stl-km-saas-hero figure img { width: 100%; height: auto; border-radius: .7rem; box-shadow: 0 14px 35px rgba(20,50,70,.18); }
.stl-km-saas-kicker { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.stl-km-saas-description { margin: 1.5rem 0; }
.stl-km-saas-card button { padding: .75rem 1rem; border: 0; border-radius: .4rem; color: var(--km-button-text,#fff); background: var(--km-button,#009b9a); cursor: pointer; }
@media (max-width: 700px) { .stl-km-saas-hero { grid-template-columns: 1fr; } }
