/* Identidad visual SIAM. Layout base: site.css; colores, tipografía y acabados aquí. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('../lib/manrope/manrope-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('../lib/manrope/manrope-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('../lib/manrope/manrope-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('../lib/manrope/manrope-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url('../lib/manrope/manrope-latin-800-normal.woff2') format('woff2')}

:root {
    --ink: #17284e;
    --muted: #5c6a83;
    --paper: #f9fbff;
    --green: #245ce5;
    --lime: #ffdc45;
    --line: #dfe7f5;
    --navy: #111f46;
    --cyan: #31dcf2;
    --pink: #ef47a8;
    --bs-body-font-family: 'Manrope', 'Segoe UI', sans-serif;
    --bs-body-color: var(--ink);
    --bs-body-bg: var(--paper);
}
body { font-family: var(--bs-body-font-family); }
h1,h2,h3 { font-weight: 800; }
p { line-height: 1.8; }
:focus-visible { outline-color: #ec9c1e; }
.soft-text { color: #5061c5; }
.eyebrow { color: #235bc8; font-size: .73rem; font-weight: 800; letter-spacing: .13em; }
.status-dot { background: #e73b95; box-shadow: 0 0 0 4px #ffe3f2; }
.btn { border-radius: 11px; font-size: .86rem; font-weight: 800; padding: 15px 22px; }
.btn-siam { background: #245ce5; border-color: #245ce5; box-shadow: 0 6px 18px #245ce525; }
.btn-siam:hover,.btn-siam:focus { background: #1649c7; border-color: #1649c7; box-shadow: 0 9px 23px #245ce53b; }
.btn-lime { background: #ffdc45; border-color: #ffdc45; color: #152650; }
.btn-lime:hover { background: #ffed83; border-color: #ffed83; color: #152650; }
.text-link { font-size: .86rem; font-weight: 800; }
.text-link:hover { color: #245ce5; }
.site-header { background: #fffffffa; border-bottom: 1px solid #e7edf8; }
.site-header.is-scrolled { box-shadow: 0 6px 25px #1628560e; }
.brand { gap: 12px; }
.brand img { width: 56px; height: 56px; box-shadow: 0 0 0 4px #f0f5ff; }
.brand-type { font-size: 1.9rem; color: #17284e; font-weight: 800; }
.brand-type>span { color: #617493; font-size: .61rem; font-weight: 600; max-width: 235px; white-space: normal; line-height: 1.4; }
.navbar .nav-link { color: #536381; font-size: .85rem; font-weight: 700; }
.navbar .nav-link.active,.navbar .nav-link:hover { color: #245ce5; }
.navbar .nav-link.active:after { background: #ef47a8; width: 5px; height: 5px; }
.btn-nav { padding: 13px 18px; font-size: .76rem; }

/* Portada: contraste, colores del logo y accesos reales a los sistemas. */
.hero-section {
    position: relative;
    background: radial-gradient(ellipse at 89% 26%,#463a9a88 0,transparent 47%),
        radial-gradient(ellipse at 40% 115%,#007eac70 0,transparent 50%),
        linear-gradient(125deg,#101d43 0%,#172555 52%,#22295f 100%);
    color: #fff;
}
.hero-section:before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image: radial-gradient(#9bc8ff28 1px,transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to right,transparent 5%,#000 100%);
}
.hero-section:after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 5px;
    background: linear-gradient(90deg,#ffe343 0% 25%,#e74094 25% 50%,#12c4ee 50% 75%,#93cf3f 75%);
}
.hero-grid { position: relative; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 45px; min-height: 710px; padding-top: 72px; padding-bottom: 72px; }
.hero-copy .eyebrow { color: #c4d2f7; font-size: .68rem; margin-bottom: 28px; }
.hero-copy .status-dot { background: #40e4da; box-shadow: 0 0 0 4px #40e4da22; }
.hero-copy h1 { font-size: clamp(2.9rem,4.1vw,4.2rem); color: #fff; line-height: 1.1; letter-spacing: -.055em; margin-bottom: 25px; }
.hero-copy .highlight { color: #ffdf4d; }
.hero-copy .highlight:after { bottom: -9px; height: 5px; border-radius: 10px; background: linear-gradient(90deg,#ffdf4d,#ef47a8); opacity: .9; transform: rotate(-2deg); }
.hero-copy>p { color: #c4d2ef; font-size: 1rem; line-height: 1.85; }
.hero-actions { gap: 23px; margin-top: 32px; }
.hero-actions .btn-siam { color: #122348; background: #ffdb43; border-color: #ffdb43; box-shadow: 0 8px 30px #ffdc4517; padding: 17px 23px; }
.hero-actions .btn-siam:hover { background: #ffed88; border-color: #ffed88; box-shadow: 0 12px 30px #ffdc4530; }
.hero-actions .text-link { color: #eef4ff; font-size: .81rem; gap: 12px; }
.hero-actions .text-link:hover { color: #48e1ec; }
.hero-facts { display: flex; gap: 30px; align-items: center; border-top: 1px solid #7da1da35; padding-top: 27px; margin-top: 38px; }
.hero-facts>div { min-width: 0; }
.hero-facts strong { display: block; color: #fff; font-size: 2rem; font-weight: 800; line-height: 1.1; letter-spacing: -.045em; }
.hero-facts strong>span { color: #ffdf4d; font-size: 1.15rem; }
.hero-facts>div>span { display: block; font-size: .63rem; line-height: 1.6; color: #aebee0; margin-top: 8px; max-width: 145px; }
.hero-facts .hero-fact-brand { display: flex; align-items: center; gap: 12px; }
.hero-fact-brand>i { color: #3bdfeb; font-size: 1.7rem; }
.hero-facts .hero-fact-brand>span { margin-top: 0; color: #d4ddf3; }
.hero-fact-brand b { font-weight: 800; color: #fff; }
.ecosystem-visual { padding: 30px 12px 37px; position: relative; width: 100%; }
.ecosystem-halo { position: absolute; inset: 0 -10px; border-radius: 50%; background: radial-gradient(ellipse,#8263ec42 0%,#27a9e219 48%,transparent 70%); z-index: -1; }
.ecosystem-halo:after { content: ''; position: absolute; inset: 0; border: 1px solid #8dc5ff26; border-radius: 50%; transform: rotate(25deg); }
.ecosystem-board { position: relative; background: linear-gradient(150deg,#25386a,#172650 78%); border: 1px solid #a3c2ff40; border-radius: 22px; padding: 22px; transform: rotate(-2deg); box-shadow: 0 28px 75px #050e334f,inset 0 1px 0 #ffffff13; }
.ecosystem-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid #829ed12a; }
.ecosystem-wordmark { color: #fff; font-size: 1.4rem; font-weight: 800; letter-spacing: -.08em; }
.ecosystem-wordmark>span { color: #40e4df; }
.ecosystem-caption { font-size: .48rem; color: #b2c3e8; letter-spacing: .06em; display: flex; align-items: center; gap: 6px; }
.ecosystem-toolbar>.bi { color: #aabfe5; font-size: 1rem; }
.ecosystem-heading { padding: 23px 0 21px; }
.ecosystem-heading>span { font-size: .44rem; color: #85a7db; letter-spacing: .1em; font-weight: 700; }
.ecosystem-heading h2 { font-size: 1.5rem; color: #fff; margin-top: 9px; letter-spacing: -.04em; }
.ecosystem-heading p { color: #b2c3e8; font-size: .67rem; margin-top: 8px; }
.ecosystem-app-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ecosystem-app { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; min-height: 105px; padding: 15px 12px; border-radius: 12px; color: var(--on-accent,#fff); background: linear-gradient(0deg,#06172b40,transparent 80%),linear-gradient(135deg,var(--accent),var(--accent-end)); overflow: hidden; border: 1px solid #ffffff24; transition: transform .2s,box-shadow .2s; }
.ecosystem-app:before { content: ''; position: absolute; width: 90px; height: 90px; border-radius: 50%; border: 17px solid #ffffff0c; right: -25px; top: -30px; }
.ecosystem-app>.bi:first-child { font-size: 1.5rem; line-height: 1; }
.ecosystem-app>span { font-size: .6rem; font-weight: 800; line-height: 1.45; }
.ecosystem-app>.app-arrow { position: absolute; top: 12px; right: 12px; font-size: .6rem; opacity: .8; }
.ecosystem-app:hover { color: var(--on-accent,#fff); transform: translateY(-4px); box-shadow: 0 7px 18px #060d3540; }
.ecosystem-app.ecosystem-next { background: #ffffff08; border: 1px dashed #829dd675; color: #c0d2f7; }
.ecosystem-next:hover { background: #ffffff12; color: #fff; }
.ecosystem-next>.bi:first-child { color: #51dfea; }
.ecosystem-bottom { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 20px; padding-top: 17px; border-top: 1px solid #829ed12a; font-size: .47rem; color: #a1b8dd; }
.ecosystem-bottom .bi { margin-right: 4px; color: #53d6e1; }
.ecosystem-float { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 12px 17px; border-radius: 13px; background: #fff; box-shadow: 0 14px 40px #040c3535; color: #152650; font-weight: 800; font-size: .67rem; animation: siam-float 7s ease-in-out infinite; }
.ecosystem-float>span { width: 33px; height: 33px; border-radius: 10px; display: grid; place-items: center; background: #fff1b4; color: #926a00; font-size: 1.1rem; }
.ecosystem-float small { display: block; font-size: .49rem; margin-top: 4px; font-weight: 600; color: #7082a0; }
.float-top { top: -1px; right: -5px; transform: rotate(3deg); }
.float-bottom { left: -7px; bottom: 5px; animation-delay: -3s; }
.float-bottom>span { background: #ffe5f4; color: #d12583; }
.ecosystem-visual figcaption { right: 10px; bottom: -18px; color: #b1c3e4; font-size: .57rem; }
@keyframes siam-float { 0%,100%{translate:0 0}50%{translate:0 -6px} }

/* Colores identificables para cada sistema, también en fichas y módulos. */
.theme-verde { --accent:#087e6c; --accent-end:#00a786; --on-accent:#fff; --tint:#e0faf1; --strong-tint:#61dfb2; }
.theme-azul { --accent:#2459d4; --accent-end:#4b7bef; --on-accent:#fff; --tint:#e8efff; --strong-tint:#a7c1ff; }
.theme-naranja { --accent:#c9550a; --accent-end:#f78c2e; --on-accent:#fff; --tint:#fff1e4; --strong-tint:#ffb97a; }
.theme-rosa { --accent:#ba287a; --accent-end:#ed57a9; --on-accent:#fff; --tint:#ffebf5; --strong-tint:#ffa8d4; }
.theme-morado { --accent:#6940c4; --accent-end:#9b6beb; --on-accent:#fff; --tint:#f2eaff; --strong-tint:#c9a8fc; }
.theme-celeste { --accent:#06778e; --accent-end:#0cadc1; --on-accent:#fff; --tint:#e2f9fc; --strong-tint:#74dfeb; }
.theme-rojo { --accent:#c9453e; --accent-end:#f17661; --on-accent:#fff; --tint:#fff0ed; --strong-tint:#ffb0a2; }
.theme-amarillo { --accent:#f4c32e; --accent-end:#ffe672; --on-accent:#283455; --tint:#fff8d8; --strong-tint:#f8d95b; }
.sector-strip { position: relative; background: #fff; border-color: #e2e9f7; }
.sector-strip>.container { padding-top: 28px; padding-bottom: 28px; }
.sector-strip span { font-size: .79rem; color: #40587d; font-weight: 700; }
.sector-strip span:first-child { font-size: .73rem; color: #6d7e99; }
.sector-strip strong { color: #193363; }
.sector-strip .bi { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; margin-right: 7px; color: #2865d3; background: #edf3ff; }
.sector-strip span:nth-child(2) .bi { color: #078b6a; background: #ddf8ed; }
.sector-strip span:nth-child(4) .bi { color: #cf308b; background: #ffe7f4; }
.sector-strip span:nth-child(5) .bi { color: #ce620e; background: #ffefdd; }
.sector-strip span:nth-child(6) .bi { color: #038ca0; background: #e0f7fa; }
.sector-strip span:nth-child(7) .bi { color: #916c0c; background: #fff4cb; }
.section-heading p { font-size: .88rem; }
#soluciones { position: relative; }
#soluciones:before { content: ''; width: 160px; height: 160px; position: absolute; right: 0; top: 40px; background: radial-gradient(circle,#eef0ff,transparent 70%); z-index: -1; }
.catalog-tools { border-color: #dce5f6; padding-bottom: 22px; }
.catalog-filters { gap: 7px; }
.filter-chip { font-size: .75rem; font-weight: 700; background: #fff; border-color: #e0e8f5; color: #4d6384; padding: 10px 13px; }
.filter-chip.active,.filter-chip.active:hover { background: #245ce5; color: #fff; border-color: #245ce5; box-shadow: 0 4px 12px #245ce523; }
.filter-chip:hover { background: #eaf1ff; color: #245ce5; border-color: #c3d3f5; }
.catalog-search { border-color: #dce5f6; padding: 12px; min-width: 195px; }
.catalog-search input { font-size: .77rem; }
.catalog-search:focus-within { box-shadow: 0 0 0 3px #d6e4ff; }
.catalog-count { font-size: .74rem; color: #687f9e; }
.product-grid { gap: 22px; }
.product-card { padding: 0; border: 1px solid #dfe7f5; border-radius: 18px; min-height: 385px; box-shadow: 0 5px 16px #243c6006; }
.product-card:before { display: none; }
.product-card:hover { border-color: var(--accent); box-shadow: 0 18px 35px #253c721c; transform: translateY(-7px); }
.product-cover { padding: 24px 22px 22px; min-height: 172px; position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(0deg,#06172b40,transparent 80%),linear-gradient(125deg,var(--accent),var(--accent-end)); color: var(--on-accent); }
.theme-amarillo.ecosystem-app,.theme-amarillo .product-cover { background: linear-gradient(135deg,var(--accent),var(--accent-end)); }
.product-cover:before { content: ''; position: absolute; width: 180px; height: 180px; right: -55px; top: -78px; border: 28px solid #ffffff12; border-radius: 50%; z-index: -1; }
.product-cover:after { content: ''; position: absolute; width: 160px; height: 160px; left: -105px; bottom: -115px; border: 25px solid #ffffff17; border-radius: 50%; z-index: -1; }
.product-cover .card-top { margin-bottom: 25px; position: relative; z-index: 1; }
.product-cover .product-icon { width: 51px; height: 51px; font-size: 1.6rem; background: #ffffff1f; border: 1px solid #ffffff2d; border-radius: 14px; color: var(--on-accent); backdrop-filter: blur(4px); }
.product-cover .category-label { background: #ffffffed; color: #243352; font-size: .6rem; font-weight: 800; letter-spacing: .02em; padding: 6px 9px; border-radius: 6px; }
.product-cover-tagline { font-size: .89rem; line-height: 1.45; font-weight: 800; display: block; max-width: 175px; position: relative; z-index: 1; }
.product-cover-art { font-size: 5.5rem; position: absolute; right: -5px; bottom: -21px; opacity: .12; transform: rotate(-17deg); pointer-events: none; }
.card-body-siam { padding: 22px 22px 0; }
.card-body-siam h3 { font-size: 1.15rem; line-height: 1.4; margin-bottom: 11px; letter-spacing: -.045em; }
.card-body-siam p { font-size: .84rem; color: #63758e; line-height: 1.8; }
.card-link { margin: 20px 22px 0; padding: 17px 0; border-color: #eaf0fa; font-size: .75rem; font-weight: 800; color: #20395f; }
.card-link>span { width: 31px; height: 31px; color: var(--on-accent); background: var(--accent); font-size: .92rem; }
.card-link:hover { color: #245ce5; }
.empty-state { background: #fff; border-color: #c2d2f1; }
.empty-state>.bi { color: #5f7ce8; }

/* Secciones con presencia propia: fondo oscuro y bloques en color. */
.why-section { color: #fff; background: radial-gradient(ellipse at 7% 100%,#31538f70,transparent 55%),#15264f; border: 0; }
.why-intro .eyebrow { color: #6be2f0; }
.why-intro h2 { color: #fff; }
.why-intro .soft-text { color: #89b4ff; }
.why-intro p { color: #bed0ee; font-size: .91rem; }
.why-intro .text-link { color: #ffdc45; }
.why-features article { border-color: #7290c338; padding: 29px 0; gap: 19px; }
.why-features article>span { color: #6de0eb; font-size: .76rem; font-weight: 800; }
.why-features h3 { font-size: 1.16rem; color: #fff; }
.why-features p { color: #b8c9e6; font-size: .85rem; }
.why-features article>i { width: 45px; height: 45px; color: #ffe065; background: #f5bc3422; border: 1px solid #f5bc3438; }
.why-features article:nth-child(2)>i { color: #6fe5ee; background: #31cce322; border-color: #31cce338; }
.why-features article:nth-child(3)>i { color: #ffa4d9; background: #e941a722; border-color: #e941a738; }
.brand-puzzle { grid-template-columns: 65px 65px; width: 155px; gap: 9px; margin-top: 30px; }
.puzzle-piece { width: 65px; height: 65px; border-radius: 17px; box-shadow: 0 10px 20px #060f301c; }
.puzzle-piece.green { background: #a0db4e; color: #273c27; }
.puzzle-piece.blue { background: #26c8e8; color: #103b5c; }
.puzzle-piece.orange { background: #ffce3d; color: #58441b; }
.puzzle-piece.pink { background: #ec49a4; color: #fff; }
.step-number { font-size: .86rem; font-weight: 800; color: #345ec2; border-top: 3px solid #3277ee; padding-top: 22px; }
.process-grid article:nth-child(2) .step-number { color: #b92a7c; border-top-color: #e33b96; }
.process-grid article:nth-child(3) .step-number { color: #098977; border-top-color: #0caf95; }
.step-number .bi { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #e9f0ff; font-size: 1.35rem; }
.process-grid article:nth-child(2) .step-number .bi { background: #ffe8f4; }
.process-grid article:nth-child(3) .step-number .bi { background: #e2f9f1; }
.process-grid h3 { font-size: 1.3rem; }
.process-grid p { font-size: .9rem; }
.cta-panel { background: radial-gradient(ellipse at 96% 5%,#443f9b 0,transparent 55%),linear-gradient(115deg,#132955,#1c2359); border-radius: 24px; box-shadow: 0 22px 50px #1834631a; border: 1px solid #354c79; }
.cta-copy h2 { color: #fff; font-weight: 800; }
.cta-copy p { color: #bfcff0; font-size: .92rem; }
.eyebrow.light { color: #63deeb; font-size: .69rem; }
.cta-art { color: #ffdd49; }
.cta-orbit { border-color: #6599e26b; }
.cta-orbit.second { border-color: #997ad569; }
.orbit-point { background: #ffdd49; box-shadow: 0 0 0 9px #1e2858; }
.cta-color-dot { position: absolute; width: 28px; height: 28px; border-radius: 9px; transform: rotate(15deg); box-shadow: 0 0 0 8px #22285f; }
.cta-color-dot.cyan { background: #36deed; right: 2px; top: 58px; }
.cta-color-dot.pink { background: #f24aa6; right: 54px; bottom: 6px; width: 21px; height: 21px; }
.site-footer { background: #0d1c3d; border-top: 4px solid #244b8b; color: #fff; }
.footer-top p { color: #a1b5d8; font-size: .86rem; }
.footer-top h2 { color: #e2ebff; font-size: .85rem; font-weight: 800; }
.footer-top>div:nth-child(2) a { color: #a1b5d8; font-size: .82rem; }
.footer-top a:hover { color: #65e2ee; }
.brand-word { color: #fff; font-size: 2.6rem; }
.brand-dot { color: #ffe045; }
.footer-location { color: #9eb8e4; font-size: .77rem; }
.footer-top .footer-email { color: #8fe7ef; font-size: .78rem; }
.footer-bottom { color: #93a8c8; border-color: #6787bd33; font-size: .66rem; }
.footer-bottom>span:last-child { color: #b1c6ec; }

/* El catálogo, las fichas y el contacto comparten la misma identidad. */
.page-intro { position: relative; padding-top: 65px; padding-bottom: 55px; overflow: clip; }
.page-intro:before { content: ''; position: absolute; right: 25px; top: 55px; width: 110px; height: 110px; border: 20px solid #4778f010; border-radius: 35px; transform: rotate(18deg); z-index: -1; }
.page-intro p { font-size: 1rem; }
.detail-hero { background: radial-gradient(ellipse at 95% 10%,var(--strong-tint),transparent 65%),var(--tint); border-bottom: 1px solid var(--strong-tint); }
.detail-grid h1 { font-weight: 800; }
.detail-tagline { color: var(--accent); }
.detail-hero.theme-amarillo .detail-tagline { color: #92701a; }
.detail-symbol { background: linear-gradient(130deg,var(--accent),var(--accent-end)); box-shadow: 0 20px 50px #1c33651a; }
.detail-symbol>.bi { color: var(--on-accent); }
.detail-symbol-orbit { border: 2px dashed var(--accent); opacity: .35; }
.symbol-label { color: #233b5f; font-size: .72rem; font-weight: 700; border-color: var(--strong-tint); }
.description-text { color: #526682; }
.audience-panel { background: #edf3ff; border: 1px solid #dae5fa; }
.audience-panel>.bi { color: #3471e7; }
.audience-panel h3 { font-size: .98rem; font-weight: 800; }
.audience-panel p { font-size: .89rem; }
.modules-section { background: #eef3ff; border-color: #e0e8fa; }
.module-card { border-radius: 16px; border-color: #dce5f6; box-shadow: 0 5px 15px #1d346b04; border-top: 4px solid var(--accent); }
.module-number { font-size: .84rem; font-weight: 800; border-radius: 9px; background: var(--tint); color: #273d60; padding: 7px 10px; }
.module-card h3 { font-size: 1.19rem; }
.module-card p { font-size: .89rem; }
.related-grid .product-card { padding: 0; }
.related-grid .product-cover-tagline { max-width: 230px; }
.contact-section { padding-top: 70px; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); }
.contact-intro,.contact-form-panel,.contact-email>div { min-width: 0; }
.contact-intro h1 { color: #192e59; }
.contact-intro h1>.soft-text { display: block; }
.contact-intro>p { font-size: .97rem; }
.contact-icon { color: #245ce5; background: #e5eeff; width: 48px; height: 48px; }
.contact-email small { color: #687f9d; font-size: .73rem; }
.contact-email a { font-size: .85rem; color: #2454b1; }
.contact-steps h2 { font-size: 1rem; }
.contact-steps p { font-size: .83rem; }
.contact-steps .bi { color: #088d78; }
.contact-spark { color: #ed76b1; }
.contact-form-panel { border: 1px solid #d8e4f6; border-top: 5px solid #245ce5; box-shadow: 0 20px 55px #2b4d8d0d; background: #fff; }
.form-heading h2 { color: #1b3564; font-size: 1.8rem; }
.form-heading p { font-size: .75rem; }
.form-heading .eyebrow { font-size: .7rem; }
.form-label { color: #3c5479; font-size: .81rem; font-weight: 800; }
.form-control,.form-select { color: #233c65; border-color: #d7e1f1; background: #f8faff; font-size: .87rem; padding: 13px; }
.form-control::placeholder { color: #7c8ca5; }
.form-control:focus,.form-select:focus { border-color: #7a9df0; box-shadow: 0 0 0 3px #245ce519; }
.message-help { font-size: .69rem; color: #687f9d; }
.consent-check { font-size: .75rem; }
.consent-check a { color: #245ce5; }
.form-footnote { color: #687f9d; font-size: .67rem; }
.form-check-input:checked { background-color: #245ce5; border-color: #245ce5; }
.form-check-input:focus { box-shadow: 0 0 0 3px #245ce519; }
.field-validation-error { font-size: .72rem; }
.confirmation-icon { background: #dff9f1; color: #078b70; }
.error-number { color: #597ceb; }
.about-brand { background: linear-gradient(140deg,#edf2ff,#fcf0fa); border-color: #dfe5f9; position: relative; overflow: hidden; }
.about-brand img { mix-blend-mode: normal; border: 9px solid white; box-shadow: 0 16px 35px #6a52ba13; }
.about-brand>span { color: #62718e; font-weight: 700; font-size: .79rem; }
.about-grid p,.accordion-body { font-size: .91rem; }
.accordion-button,.accordion-button:not(.collapsed) { color: #273c64; font-size: .93rem; font-weight: 800; }
.accordion-button:not(.collapsed) { color: #245ce5; }
.accordion-button:focus { outline-color: #adc6ff; }
.privacy-page p { font-size: .96rem; }

@media(max-width:1199px) {
    .hero-grid { gap: 25px; }
    .hero-copy h1 { font-size: 3.55rem; }
    .hero-facts { gap: 22px; }
    .hero-facts>div>span { font-size: .59rem; }
    .hero-actions { flex-wrap: wrap; gap: 12px 22px; }
    .ecosystem-board { padding: 20px; }
    .ecosystem-app { min-height: 96px; padding: 13px 10px; }
    .ecosystem-heading h2 { font-size: 1.35rem; }
    .product-grid { gap: 17px; }
    .product-cover { padding: 21px 17px; min-height: 166px; }
    .product-cover .category-label { font-size: .53rem; padding: 6px; }
    .product-cover .product-icon { width: 44px; height: 44px; font-size: 1.4rem; }
    .product-cover-tagline { font-size: .85rem; }
    .card-body-siam { padding: 19px 18px 0; }
    .card-body-siam h3 { font-size: 1.05rem; }
    .card-body-siam p { font-size: .81rem; }
    .card-link { margin-left: 18px; margin-right: 18px; font-size: .69rem; }
    .filter-chip { font-size: .69rem; padding: 9px 11px; }
    .catalog-search { min-width: 175px; }
    .sector-strip span { font-size: .7rem; }
    .sector-strip .bi { width: 29px; height: 29px; }
}
@media(max-width:991px) {
    .brand img { width: 47px; height: 47px; }
    .brand-type { font-size: 1.7rem; }
    .hero-grid { padding-top: 57px; padding-bottom: 60px; gap: 24px; min-height: 0; }
    .hero-copy h1 { font-size: 2.85rem; }
    .hero-copy>p { font-size: .91rem; }
    .hero-copy .eyebrow { font-size: .55rem; letter-spacing: .1em; }
    .hero-facts { gap: 20px; flex-wrap: wrap; margin-top: 28px; }
    .hero-facts strong { font-size: 1.8rem; }
    .hero-facts .hero-fact-brand { display: none; }
    .hero-actions .btn-siam { padding: 15px 18px; font-size: .76rem; gap: 14px; }
    .hero-actions .text-link { font-size: .77rem; }
    .ecosystem-visual { padding-left: 0; padding-right: 0; }
    .ecosystem-board { padding: 16px; border-radius: 18px; }
    .ecosystem-caption { font-size: .36rem; }
    .ecosystem-wordmark { font-size: 1.2rem; }
    .ecosystem-heading { padding: 20px 0; }
    .ecosystem-heading>span { font-size: .35rem; }
    .ecosystem-heading h2 { font-size: 1.22rem; }
    .ecosystem-heading p { font-size: .57rem; }
    .ecosystem-app-grid { gap: 7px; }
    .ecosystem-app { min-height: 89px; border-radius: 9px; padding: 12px 9px; gap: 11px; }
    .ecosystem-app>.bi:first-child { font-size: 1.3rem; }
    .ecosystem-app>span { font-size: .49rem; }
    .ecosystem-app>.app-arrow { top: 9px; right: 9px; font-size: .5rem; }
    .ecosystem-bottom { font-size: .39rem; gap: 5px; }
    .ecosystem-float { padding: 10px 12px; font-size: .56rem; }
    .ecosystem-float small { font-size: .42rem; }
    .ecosystem-float>span { width: 29px; height: 29px; }
    .float-top { right: -6px; top: 1px; }
    .float-bottom { left: -6px; bottom: 7px; }
    .ecosystem-visual figcaption { font-size: .45rem; }
    .product-card { padding: 0; min-height: 380px; }
    .product-cover { min-height: 180px; padding: 24px; }
    .product-cover .product-icon { width: 54px; height: 54px; font-size: 1.65rem; }
    .product-cover .category-label { font-size: .65rem; padding: 7px 9px; }
    .product-cover-tagline { font-size: 1rem; max-width: 245px; }
    .card-body-siam { padding: 24px 24px 0; }
    .card-body-siam h3 { font-size: 1.26rem; }
    .card-body-siam p { font-size: .9rem; }
    .card-link { margin: 20px 24px 0; font-size: .81rem; }
    .related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .related-grid .card-body-siam h3 { font-size: 1.2rem; }
    .related-grid .card-body-siam p { font-size: .87rem; }
    .related-grid .product-card { padding: 0; }
    .related-grid .product-card:last-child { grid-column: 1/-1; }
    .related-grid .product-card:last-child .product-cover { min-height: 160px; }
    .catalog-search { min-width: 0; }
    .section-heading p { font-size: .84rem; }
    .why-features p { font-size: .82rem; }
    .why-features h3 { font-size: 1.08rem; }
    .why-features article>i { width: 38px; height: 38px; }
    .footer-top .footer-email { font-size: .68rem; }
    .contact-email a { font-size: .85rem; }
    .contact-section { grid-template-columns: minmax(0,1fr); }
    .cta-copy h2 { font-size: 2.05rem; }
}
@media(max-width:767px) {
    .hero-grid { grid-template-columns: minmax(0,1fr); gap: 34px; max-width: 600px; }
    .hero-copy h1 { font-size: clamp(2.65rem,7.9vw,3.9rem); }
    .hero-copy .eyebrow { font-size: .65rem; }
    .hero-copy>p { font-size: 1rem; }
    .hero-facts .hero-fact-brand { display: flex; }
    .hero-facts { justify-content: space-between; gap: 20px; }
    .hero-actions { gap: 17px; }
    .hero-actions .btn-siam { font-size: .82rem; }
    .ecosystem-visual { max-width: 470px; margin: 0 auto; padding: 35px 9px 43px; }
    .ecosystem-board { padding: 22px; }
    .ecosystem-heading h2 { font-size: 1.5rem; }
    .ecosystem-heading>span { font-size: .43rem; }
    .ecosystem-heading p { font-size: .69rem; }
    .ecosystem-caption { font-size: .47rem; }
    .ecosystem-app-grid { gap: 10px; }
    .ecosystem-app { min-height: 108px; padding: 15px 13px; gap: 15px; border-radius: 12px; }
    .ecosystem-app>.bi:first-child { font-size: 1.6rem; }
    .ecosystem-app>span { font-size: .61rem; }
    .ecosystem-bottom { font-size: .48rem; }
    .ecosystem-float { font-size: .64rem; }
    .ecosystem-float small { font-size: .49rem; }
    .float-top { right: 1px; top: 3px; }
    .float-bottom { left: 0; bottom: 9px; }
    .ecosystem-visual figcaption { bottom: -10px; font-size: .51rem; }
}
@media(max-width:575px) {
    .page-container { padding-left: 22px; padding-right: 22px; }
    .brand img { width: 44px; height: 44px; }
    .brand-type { font-size: 1.55rem; }
    .brand-type>span { font-size: .55rem; max-width: 160px; }
    .hero-grid { padding-top: 43px; padding-bottom: 46px; gap: 30px; }
    .hero-copy h1 { font-size: clamp(2.35rem,8.8vw,3.3rem); line-height: 1.14; }
    .hero-copy .eyebrow { font-size: .55rem; gap: 9px; margin-bottom: 25px; }
    .hero-copy>p { font-size: .92rem; }
    .hero-copy .highlight:after { height: 4px; bottom: -7px; }
    .hero-actions .btn-siam { font-size: .81rem; padding: 16px 19px; gap: 17px; }
    .hero-actions .text-link { font-size: .77rem; }
    .hero-facts { gap: 20px 15px; padding-top: 24px; margin-top: 28px; }
    .hero-facts strong { font-size: 1.85rem; }
    .hero-facts>div>span { font-size: .58rem; max-width: 100px; }
    .hero-facts .hero-fact-brand { gap: 8px; }
    .hero-fact-brand>i { font-size: 1.3rem; }
    .hero-facts .hero-fact-brand>span { font-size: .55rem; }
    .ecosystem-visual { padding-left: 3px; padding-right: 3px; padding-top: 34px; }
    .ecosystem-board { padding: 18px 15px; border-radius: 17px; transform: rotate(-1deg); }
    .ecosystem-toolbar { gap: 8px; padding-bottom: 14px; }
    .ecosystem-wordmark { font-size: 1.28rem; }
    .ecosystem-caption { font-size: .39rem; letter-spacing: .02em; }
    .ecosystem-toolbar>.bi { font-size: .8rem; }
    .ecosystem-heading { padding: 20px 0; }
    .ecosystem-heading h2 { font-size: 1.35rem; }
    .ecosystem-heading>span { font-size: .35rem; }
    .ecosystem-heading p { font-size: .61rem; }
    .ecosystem-app-grid { gap: 8px; }
    .ecosystem-app { min-height: 102px; padding: 13px 10px; gap: 12px; }
    .ecosystem-app>.bi:first-child { font-size: 1.5rem; }
    .ecosystem-app>span { font-size: .56rem; }
    .ecosystem-app>.app-arrow { right: 9px; top: 9px; }
    .ecosystem-bottom { font-size: .4rem; margin-top: 16px; }
    .ecosystem-float { font-size: .6rem; padding: 10px 12px; border-radius: 11px; }
    .ecosystem-float small { font-size: .43rem; }
    .ecosystem-float>span { width: 30px; height: 30px; font-size: 1rem; }
    .float-top { right: 3px; }
    .float-bottom { left: 4px; bottom: 9px; }
    .ecosystem-visual figcaption { font-size: .47rem; right: 8px; bottom: -7px; }
    .sector-strip>.container { padding-top: 22px; padding-bottom: 22px; gap: 18px 24px; }
    .sector-strip span { font-size: .67rem; }
    .sector-strip span:first-child { font-size: .73rem; }
    .sector-strip .bi { width: 28px; height: 28px; font-size: .93rem; margin-right: 4px; border-radius: 8px; }
    .section-heading p { font-size: .9rem; }
    .section-heading h2 { font-size: 2rem; }
    .eyebrow { font-size: .63rem; }
    .catalog-filters { gap: 6px; }
    .filter-chip { font-size: .68rem; padding: 9px 11px; }
    .catalog-search input { font-size: .83rem; }
    .catalog-count { font-size: .75rem; }
    .product-card { padding: 0; min-height: 370px; border-radius: 18px; }
    .product-cover { padding: 25px; min-height: 178px; }
    .product-cover .card-top { margin-bottom: 24px; }
    .product-cover .product-icon { width: 54px; height: 54px; font-size: 1.7rem; }
    .product-cover .category-label { font-size: .67rem; padding: 7px 10px; }
    .product-cover-tagline { font-size: 1.05rem; max-width: 245px; }
    .product-cover-art { font-size: 6.5rem; right: 5px; }
    .card-body-siam { padding: 24px 25px 0; }
    .card-body-siam h3 { font-size: 1.4rem; }
    .card-body-siam p { font-size: .94rem; line-height: 1.8; }
    .card-link { margin: 22px 25px 0; padding: 17px 0; font-size: .83rem; }
    .why-intro h2 { font-size: 2.1rem; }
    .why-intro p { font-size: .93rem; }
    .why-intro .text-link { font-size: .8rem; }
    .brand-puzzle { grid-template-columns: 39px 39px; gap: 6px; width: 90px; right: 0; top: 50px; }
    .puzzle-piece { width: 39px; height: 39px; font-size: 1.03rem; border-radius: 11px; }
    .why-features h3 { font-size: 1.16rem; }
    .why-features p { font-size: .88rem; }
    .why-features article { gap: 12px; }
    .why-features article>i { width: 33px; height: 33px; font-size: .96rem; }
    .process-grid h3 { font-size: 1.35rem; }
    .process-grid p { font-size: .94rem; }
    .cta-panel { padding: 35px 26px; border-radius: 20px; }
    .cta-copy h2 { font-size: 2.05rem; }
    .cta-copy p { font-size: .94rem; }
    .cta-copy>.btn { font-size: .79rem; }
    .footer-top p { font-size: .87rem; }
    .footer-top>div:nth-child(2) a { font-size: .8rem; }
    .footer-top h2 { font-size: .8rem; }
    .footer-top>div:last-child { border-color: #6787bd33; }
    .footer-top .footer-email { font-size: .79rem; }
    .footer-bottom { font-size: .6rem; }
    .footer-location { font-size: .71rem; }
    .page-intro { padding-top: 45px; padding-bottom: 35px; }
    .page-intro p { font-size: .94rem; }
    .page-intro:before { width: 80px; height: 80px; border-width: 15px; top: 25px; right: 0; }
    .detail-grid h1 { font-size: 2.7rem; }
    .detail-tagline { font-size: 1.8rem; }
    .detail-grid p { font-size: .95rem; }
    .description-text { font-size: .97rem; }
    .audience-panel p { font-size: .9rem; }
    .module-card h3 { font-size: 1.24rem; }
    .module-card p { font-size: .94rem; }
    .related-grid { grid-template-columns: minmax(0,1fr); }
    .related-grid .product-card { padding: 0; }
    .related-grid .product-card:last-child { grid-column: auto; }
    .related-grid .card-body-siam h3 { font-size: 1.35rem; }
    .related-grid .card-body-siam p { font-size: .93rem; }
    .contact-section { padding-top: 45px; }
    .contact-intro h1 { font-size: 2.65rem; }
    .contact-intro>p { font-size: .96rem; }
    .contact-email a { font-size: .72rem; }
    .contact-email small { font-size: .65rem; }
    .contact-steps p { font-size: .8rem; }
    .form-heading p { font-size: .74rem; }
    .form-label { font-size: .81rem; }
    .form-control,.form-select { font-size: 1rem; }
    .message-help { font-size: .68rem; }
    .consent-check { font-size: .76rem; }
    .form-footnote { font-size: .65rem; }
    .about-grid p { font-size: .95rem; }
    .accordion-button,.accordion-button:not(.collapsed) { font-size: .88rem; }
    .accordion-body { font-size: .91rem; }
    .privacy-page p { font-size: .94rem; }
}
@media(max-width:359px) {
    .hero-facts .hero-fact-brand { display: none; }
    .hero-facts { justify-content: flex-start; gap: 32px; }
    .ecosystem-app { padding: 12px 8px; min-height: 94px; }
    .ecosystem-app>span { font-size: .5rem; }
    .ecosystem-caption { font-size: .34rem; }
    .ecosystem-bottom { font-size: .36rem; }
    .ecosystem-heading h2 { font-size: 1.18rem; }
    .contact-email a { font-size: .68rem; }
}
@media(prefers-reduced-motion:reduce) {
    .ecosystem-float { animation: none; }
    .product-card,.ecosystem-app,.btn { transition: none; }
}
