/* UMOSTEK enterprise design system v5 — public surface, every rendered public route.
   Pure visual layer, loaded AFTER legacy site styles and route-specific marketing CSS.
   Does not alter route handlers, data submissions, entitlements, pricing, or staff roles. */
.public-site {
 --um-primary:#081e36; --um-primary-2:#123757; --um-action:#e91639;
 --um-action-hover:#bd0e2c; --um-tint:#f2f6fa; --um-paper:#ffffff;
 --um-ink:#102b46; --um-muted:#526b81; --um-border:#d8e2ec;
 --um-focus:#ffca60; --um-radius:12px; --um-elevation:0 12px 28px rgba(6,29,53,.085);
 margin:0; background:#f2f6fa; color:var(--um-ink);
 font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 font-size:16px; line-height:1.58; -webkit-font-smoothing:antialiased;
}
.public-site, .public-site *, .public-site *::before, .public-site *::after { box-sizing:border-box; }
.public-site img { max-width:100%; image-rendering:auto; }
.public-site svg { max-width:100%; }
.public-site a { text-underline-offset:3px; }
.public-site :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible {
 outline:3px solid var(--um-focus)!important; outline-offset:3px;
}
.public-site button,.public-site input,.public-site textarea,.public-site select { font:inherit; }
.public-site button { cursor:pointer; }
.public-site .umr-marketing-header{isolation:isolate}
.public-site:not(.page-home) .umr-marketing-header{background:linear-gradient(98deg,#051428,#0c2845);}
.public-site .umr-marketing-header .site-brand img{display:block;max-width:100%;height:auto;object-fit:contain}
.public-site:not(.page-home):not(.page-products):not(.page-solutions) > main {
 background:linear-gradient(#f2f6fa,#f6f9fc); min-height:60vh;
}
.public-site:not(.page-home):not(.page-products):not(.page-solutions) main > .page-intro {
 background:radial-gradient(circle at 88% 10%,#20577d,#0c3051 42%,#06192f 95%);
 border-bottom:4px solid #e91639; margin-bottom:36px;
}
.public-site:not(.page-home):not(.page-products):not(.page-solutions) main > .page-intro h1 {
 max-width:1050px; overflow-wrap:break-word;
}
.public-site:not(.page-home):not(.page-products):not(.page-solutions) main > .page-intro .page-intro-family{opacity:.94}
/* Layout consistency on existing public pages (no markup rewrites of functioning forms). */
.public-site main :is(.section,.form-shell,.lookup-panel,.policy-grid,.download-gate,.pricing-grid,.company-page-hero,.three-column,.market-grid) {
 max-width:1340px; margin-left:auto; margin-right:auto;
}
.public-site main > :is(.section,.form-shell,.lookup-panel,.policy-grid,.download-gate,.pricing-grid,.company-page-hero,.three-column,.market-grid) {
 width:min(100% - 40px,1340px);
}
.public-site main > .section { padding-top:42px; padding-bottom:58px; }
.public-site main :is(.section-heading,.form-intro) { margin-bottom:24px; }
.public-site main :is(.section-heading,.form-intro) > :is(h1,h2) {
 color:#102b46; font-weight:850; letter-spacing:-.025em; line-height:1.17;
}
.public-site main .eyebrow { letter-spacing:.10em; font-size:.76rem; font-weight:850; color:#c91b38; }
.public-site main p { overflow-wrap:break-word; }
/* Reusable enterprise cards, including original legacy Market, pricing and policies. */
.public-site main :is(.price-card,.market-card,.policy-grid>article,.download-gate,.lookup-panel,.form-shell,.three-column>article,.company-capability-stack>article,.support-channels>article,.notice-panel) {
 background:var(--um-paper); border:1px solid var(--um-border); border-radius:var(--um-radius);
 box-shadow:var(--um-elevation); color:var(--um-ink); min-width:0;
}
.public-site main :is(.price-card,.market-card,.policy-grid>article,.three-column>article,.company-capability-stack>article) {
 padding:clamp(20px,2.1vw,30px);
}
.public-site main :is(.price-card,.market-card,.policy-grid>article,.company-capability-stack>article) :is(h2,h3,strong) {
 color:var(--um-ink); overflow-wrap:anywhere;
}
.public-site main :is(.price-card,.market-card,.policy-grid>article,.three-column>article) p { color:var(--um-muted); line-height:1.65; }
.public-site main .pricing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding:0 0 60px; }
.public-site main .price-card.featured { border-top:4px solid var(--um-action); }
.public-site main :is(.price-card,.market-card) .button { margin-top:auto; }
.public-site main .market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding-bottom:48px; }
.public-site main .market-card { display:flex; flex-direction:column; gap:12px; }
.public-site main .market-card :is(img,.market-icon img) { width:auto; max-width:min(100%,176px); max-height:94px; height:auto; object-fit:contain!important; }
.public-site main .market-card .market-card-title { font-size:1.22rem; font-weight:800; line-height:1.25; }
.public-site main .market-card .market-next-step { margin-top:auto; }
.public-site main .policy-grid { display:grid; gap:20px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:65px; }
.public-site main .policy-grid > article { padding:26px 29px; }
.public-site main .three-column { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.public-site main .three-column > article { padding:25px; }
.public-site main .company-page-hero { display:grid; gap:30px; margin-top:38px; margin-bottom:34px;
 background:linear-gradient(118deg,#081e36,#16476c); padding:35px; color:#fff; }
.public-site main .company-page-hero :is(h1,h2,h3), .public-site main .company-page-hero p{color:#fff}
.public-site main .company-page-hero .company-capability-stack { display:grid; gap:12px; }
.public-site main .company-page-hero .company-capability-stack > article { background:#ffffff12; border-color:#ffffff4a; color:#fff; }
.public-site main .company-capability-stack > article :is(span,strong) { color:inherit; }
.public-site main .download-gate,.public-site main .lookup-panel { padding:clamp(20px,3vw,42px); margin-bottom:60px; }
/* All public contact, sales, registration, login and trial forms. */
.public-site main .form-shell { padding:clamp(20px,3vw,40px); margin-bottom:60px; }
.public-site main .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; }
.public-site main :is(.form-grid,.auth-card,.lookup-form) .field { min-width:0; }
.public-site main :is(.form-grid,.auth-card,.lookup-form) label { color:#183550; font-weight:750; }
.public-site main :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
 max-width:100%; min-width:0; border:1px solid #becddd; border-radius:8px;
 background:#fff; color:#122d46; min-height:44px; box-shadow:none; transition:border-color .15s ease,box-shadow .15s ease;
}
.public-site main :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus {
 border-color:#2374ae; box-shadow:0 0 0 3px #2374ae29;
}
.public-site main textarea { min-height:126px; resize:vertical; }
.public-site main :is(.field.full,.form-actions,.notice-panel) { grid-column:1/-1; }
.public-site main :is(.button.primary,button[type=submit],input[type=submit]) {
 background:var(--um-action); border-color:var(--um-action); color:#fff;
 border-radius:7px; min-height:44px; font-weight:800;
}
.public-site main :is(.button.primary,button[type=submit],input[type=submit]):hover {
 background:var(--um-action-hover); border-color:var(--um-action-hover);
}
.public-site main .button.secondary { border:1px solid #8faabd; color:#173550; background:#fff; border-radius:7px; }
.public-site main .button.secondary:hover { color:#fff; background:#103956; }
.public-site main .notice-panel { padding:18px 22px; box-shadow:none; background:#ecf4fa; }
.public-site main .support-channels {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.public-site main .support-channels>article {padding:18px;}
.public-site main .access-stage { background:#f2f6fa; min-height:70vh; }
.public-site main .access-stage-visual { background:linear-gradient(143deg,#07192e,#133b5e); color:#fff; }
.public-site main .access-stage-visual :is(h1,h2,p) { color:inherit; }
.public-site main .access-stage-brand img {object-fit:contain;max-width:260px;max-height:90px;height:auto;width:auto;}
.public-site main .access-form-panel { background:#f5f8fb; }
.public-site main .auth-card { border:1px solid #d7e2ee; background:#fff; border-radius:13px; box-shadow:var(--um-elevation); }
/* Product detail pages preserve their product descriptions and existing purchase eligibility gates. */
.public-site[class*="page-products-"] main { background:#f3f6fa; padding-bottom:40px; }
.public-site[class*="page-products-"] main > :is(section,article,div) { max-width:1340px; margin-left:auto; margin-right:auto; }
.public-site[class*="page-products-"] main .product-page-hero {background:linear-gradient(120deg,#0a2542,#1b5177);color:#fff}
.public-site[class*="page-products-"] main .product-page-hero :is(h1,h2,p) {color:inherit}
.public-site[class*="page-products-"] main .product-card {background:#fff;border:1px solid #d7e4ef;border-radius:12px}
.public-site[class*="page-products-"] main img {max-width:100%;height:auto;object-fit:contain}
/* Converge the older public footer on the enterprise navy / red / silver palette. */
.public-site .sales-footer {background:#061729!important;color:#dce9f6!important;border-top:2px solid #bf1733;}
.public-site .sales-footer .sales-footer-main {max-width:1380px;margin:0 auto;padding:55px 30px 32px;}
.public-site .sales-footer .sales-footer-brand img {width:min(100%,265px);height:auto;max-height:90px;object-fit:contain;object-position:left;filter:none!important;mix-blend-mode:screen;}
.public-site .sales-footer :is(h2,h3,h4,strong) {color:#fff}
.public-site .sales-footer a {color:#d8eafb;text-decoration:none;}
.public-site .sales-footer a:hover {color:#ff9daf;text-decoration:underline;}
.public-site .sales-footer .sales-footer-bottom {max-width:1380px;margin:0 auto;border-top:1px solid #2b4b64;color:#aec7da;}
.public-site main :is(.status,.badge,.chip) {max-width:100%;overflow-wrap:anywhere;}
/* Never stretch photographs, wordmarks or product illustrations. Hero art retains focal cropping only. */
.public-site .umr-team-photo {object-fit:contain!important;}
.public-site .umr-product-photo img {object-fit:contain!important;max-height:100%;width:auto;height:auto;max-width:100%;}
.public-site .umr-catalog-img img {object-fit:contain!important;}
.public-site .umr-industry-tile img {object-fit:cover!important;object-position:center;}
.public-site :is(.site-brand,.sales-footer-brand) img {object-fit:contain!important;}
.public-site main table {border-collapse:collapse;width:100%;max-width:100%;}
.public-site main th {background:#102f4e;color:#fff;font-weight:700;text-align:left;}
.public-site main :is(td,th) {border-bottom:1px solid #dce5ed;padding:12px;}
/* Typography stays aligned across routes without overriding the original reference homepage hero. */
.public-site:not(.page-home) main :is(h1,h2,h3) {font-family:inherit;letter-spacing:-.025em;line-height:1.18;}
.public-site:not(.page-home) main h2 {overflow-wrap:break-word;}
.public-site :is(.umr-marketing-header,.sales-footer) {font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
@media(max-width:1100px){
 .public-site main .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .public-site main .support-channels{grid-template-columns:repeat(2,minmax(0,1fr));}
 .public-site main .company-page-hero{grid-template-columns:1fr;}
}
@media(max-width:760px){
 .public-site:not(.page-home):not(.page-products):not(.page-solutions) main > .page-intro {min-height:0;padding:42px 20px;margin-bottom:22px;}
 .public-site main > :is(.section,.form-shell,.lookup-panel,.policy-grid,.download-gate,.pricing-grid,.company-page-hero,.three-column,.market-grid) {width:calc(100% - 28px)}
 .public-site main .pricing-grid,.public-site main .policy-grid,.public-site main .market-grid,.public-site main .three-column,.public-site main .form-grid,.public-site main .support-channels {grid-template-columns:minmax(0,1fr);gap:15px;}
 .public-site main .company-page-hero {padding:22px;}
 .public-site main :is(.price-card,.market-card,.policy-grid>article,.three-column>article) {padding:20px;}
 .public-site main .form-shell {padding:21px 18px;margin-bottom:35px;}
 .public-site main :is(.field.full,.form-actions,.notice-panel) {grid-column:auto;}
 .public-site .sales-footer .sales-footer-main {padding:37px 20px;}
 .public-site main .access-stage-brand img {max-width:210px;}
}
@media(prefers-reduced-motion:reduce){.public-site *, .public-site *::before, .public-site *::after {scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
