/* Design system refinement — October 2026. Loaded after existing utilities. */
:root { --brand:#0a3464; --ink:#142c45; --muted:#526478; --line:#dde5eb; --cta:#b95214; }
html { scroll-padding-top:88px; }
body { color:var(--ink); }
:focus-visible { outline:3px solid #2488ac; outline-offset:4px; }
#main-header { background:rgba(255,255,255,.97)!important; border-bottom:1px solid var(--line)!important; color:var(--ink); box-shadow:0 2px 16px #142c4508; }
#main-header .desktop-nav { gap:22px; }
#main-header .nav-link, #mobile-menu-button { color:var(--ink)!important; font-size:15px; font-weight:600; }
#main-header .nav-link:hover,#main-header .nav-link.active { color:var(--brand)!important; }
.logo-wrap > div { padding:0; border:0; box-shadow:none; }
.nav-search-trigger { width:44px; height:44px; padding:0; justify-content:center; box-shadow:none; border-color:var(--line); }
.nav-search-trigger span { display:none; }
.design-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 24px; border-radius:6px; font-size:15px; font-weight:650; line-height:1.4; cursor:pointer; }
.design-button-primary { background:var(--cta); color:white; border:1px solid var(--cta); }
.design-button-primary:hover { background:#97420e; border-color:#97420e; }
.design-button-outline { color:white; border:1px solid #ffffff70; background:#ffffff08; }
.design-button-outline:hover { background:#ffffff18; border-color:white; }
.header-quote { min-height:40px; padding:9px 18px; font-size:14px; }
.home-hero { position:relative; display:flex; align-items:center; min-height:690px; padding:132px 0 64px; background:#0d263f; overflow:hidden; }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-image { object-position:70% center; }
.hero-shade { background:linear-gradient(90deg,rgba(9,29,49,.96) 0%,rgba(9,29,49,.88) 37%,rgba(9,29,49,.40) 75%,rgba(9,29,49,.24)); }
.hero-content { position:relative; width:100%; }
.hero-eyebrow { font-size:12px; font-weight:650; letter-spacing:.16em; color:#a5d8c5; margin-bottom:24px; }
.home-hero h1 { max-width:790px; font-size:clamp(38px,4.7vw,66px); font-weight:750; line-height:1.08; letter-spacing:-.035em; color:white; }
.home-hero h1 span { color:#a5d8c5; }
.hero-description { max-width:560px; margin-top:24px; font-size:18px; line-height:1.75; color:#d5e1eb; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-search { margin-top:32px; max-width:520px; }
.hero-search label { display:block; color:#d5e1eb; font-size:13px; font-weight:600; margin-bottom:8px; }
.hero-search > div { display:flex; background:white; border-radius:6px; padding:4px; }
.hero-search input { width:100%; min-width:0; background:transparent; color:var(--ink); padding:12px; font-size:15px; border:0; }
.hero-search input::placeholder { color:#627387; }
.hero-search button { width:48px; flex-shrink:0; border-radius:4px; background:#edf3f7; color:var(--brand); }
.hero-capabilities { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; color:#c4d4df; font-size:12px; }
.hero-capabilities span::before { content:'✓'; color:#a5d8c5; margin-right:8px; }
.home-design > section.py-32 { padding-top:80px; padding-bottom:80px; }
.home-design h2 { font-size:clamp(28px,3.2vw,42px); line-height:1.17; font-weight:700; letter-spacing:-.025em; }
.home-design .mb-16 { margin-bottom:36px; }
.home-design .gap-20 { gap:56px; }
.home-design .technical-grid { opacity:.08; }
.technical-block { border-color:var(--line); border-radius:8px; }
.home-design > section:nth-child(2) { background:#f5f8fa; }
.home-design > section:nth-child(2) a.group h3 { text-transform:none; font-size:17px; }
.home-design > section:nth-child(2) a.group > div:first-child { width:88px; padding:16px; }
.home-design .text-\[\#72c8a5\] { color:#24755c; }
.home-design .infra-section .text-\[56px\] { font-size:clamp(30px,4vw,52px); overflow-wrap:anywhere; }
.product-grid.list-view .product-card:hover { transform:none; }
.product-grid.list-view .product-card > a:last-child { background:#edf3f7; color:var(--brand); text-transform:none; font-size:13px; font-weight:650; }
.product-grid.list-view .product-card > a:last-child:hover { background:var(--brand); color:white; }
.product-grid.list-view .product-card > .p-5 > .grid img { object-fit:contain; }
.product-card h3 { overflow-wrap:anywhere; }
.inquiry-form input:not([type=hidden]),.inquiry-form textarea { font-size:16px; }
.inquiry-form textarea { min-height:96px; resize:vertical; }
.inquiry-form button[type=submit] { background:var(--cta); }
#inquiry-modal > .relative { width:calc(100% - 32px); }
footer p,footer a { overflow-wrap:anywhere; }
footer h4 { font-family:inherit; text-transform:none!important; letter-spacing:0; font-size:15px; }
#floating-sidebar { gap:8px; }
#floating-sidebar .sidebar-btn { background:var(--brand); border-radius:6px 0 0 6px; }
#floating-sidebar a[href*='wa.me'] { background:#18744b; }
#mobile-menu { background:white; }
#mobile-menu .nav-link { padding:16px 24px; }
@media (max-width:1199px) {
 #main-header .desktop-nav,#main-header .hidden.lg\:flex { display:none!important; }
 #mobile-menu-button { display:block!important; width:44px; height:44px; font-size:22px; }
 #mobile-menu { display:block!important; }
 #main-header .header-quote { display:inline-flex; }
}
@media (min-width:1200px) { #mobile-menu-button,#mobile-menu { display:none!important; } }
@media (max-width:768px) {
 .home-hero { min-height:0; padding:112px 0 48px; }
 .hero-shade { background:linear-gradient(90deg,#091d31eb,#091d31b8); }
 .hero-eyebrow { font-size:10px; letter-spacing:.12em; margin-bottom:20px; }
 .hero-description { font-size:16px; margin-top:20px; }
 .hero-actions { gap:10px; }
 .hero-actions .design-button { flex:1; padding:12px 14px; white-space:nowrap; font-size:14px; }
 .home-design > section.py-32 { padding-top:48px; padding-bottom:48px; }
 .home-design .gap-20 { gap:32px; }
 .home-design .infra-card { padding:24px 12px; }
 .home-design .infra-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-design .technical-block.p-10 { padding:24px 16px; }
 .home-design .product-grid.list-view { gap:12px; border:0; border-radius:8px; }
 .home-design .product-grid.list-view .product-card { border:1px solid var(--line); border-radius:8px; }
 .product-grid.list-view .product-card > .p-5 > div:last-child > div p:last-child { white-space:normal; overflow-wrap:anywhere; }
 #inquiry-modal .px-8 { padding-left:20px; padding-right:20px; }
 .inquiry-form .formula-input { min-width:0; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .reveal,.reveal-stagger > * { opacity:1; transform:none; } }
/* Interior pages: readable hierarchy for long chemical names. */
main:not(.home-design) h1 { font-size:clamp(30px,3.8vw,48px); line-height:1.18; overflow-wrap:anywhere; }
main:not(.home-design) h2 { font-size:clamp(25px,2.7vw,36px); line-height:1.25; overflow-wrap:anywhere; }
main:not(.home-design) .py-32 { padding-top:72px; padding-bottom:72px; }
@media(max-width:768px) { main:not(.home-design) .py-32 { padding-top:40px; padding-bottom:40px; } }
