/* SAWIX brand layer: identity, layout, responsive behavior, accessibility. */
:root { --brand:#008766; --ink:#142922; --paper:#f7f9f6; }
body { background:var(--paper); color:var(--ink); }
#ecosystem, #showcase, #experience { background:var(--paper); }
.about-card { background:#e2eee5; border-color:#cad9ce; }
.testi-card { background:#fff; border:1px solid #d8e3db; }
.hero>.container>.row { --bs-gutter-x:1.5rem; }
#ecosystem .prod-card { text-align:left; align-items:flex-start; }
.skill-tag, .tech-tag, .showcase-badge { color:#246149!important; background:#e8f3ed!important; border-color:#b9d7c8!important; }
#ecosystem .prod-card-icon { margin-left:0; }
#ecosystem .hub-center { display:flex; justify-content:flex-start; }
[class*="layout-"] { overflow-wrap:anywhere; }
.brand-logo { width:190px; height:auto; display:block; }
#mainNav, #mainNav.scrolled { background:rgba(247,249,246,.97); border-bottom:1px solid #d8e3db; padding:12px 0; }
.nav-link-c { color:#53665d; font-size:.8rem; }
.nav-link-c:hover, .nav-link-c[aria-current] { color:var(--brand); }
.navbar-toggler, .text-white { color:var(--ink)!important; }
.hero { padding:165px 0 75px; min-height:auto; }
.hero-title { font-size:clamp(3.4rem,6.2vw,6rem); line-height:1.04; letter-spacing:-.065em; font-weight:800; }
.hero-title .grad-text { background:none; color:var(--brand); -webkit-text-fill-color:var(--brand); }
.hero-eyebrow { color:var(--brand); background:none; border:0; padding:0; margin-bottom:28px; font-size:.8rem; }
.hero-sub { color:#53665d; max-width:490px; line-height:1.85; margin-top:25px; }
.hero-sub strong { color:var(--ink); }
.hero-visual { width:100%; height:auto; }
.brand-studio { background:#e8f0e9; border:1px solid #d8e3db; border-radius:6px; padding:26px 30px; position:relative; overflow:hidden; }
.studio-label { font-size:.65rem; letter-spacing:.15em; color:#53665d; }
.brand-studio>img { display:block; width:80%; height:auto; margin:0 auto; max-height:340px; object-fit:contain; }
.studio-caption { display:flex; justify-content:space-between; align-items:end; border-top:1px solid #cad9ce; padding-top:20px; font-size:.95rem; }
.studio-number { font-size:.6rem; letter-spacing:.12em; }
.hero-stats { border-top:1px solid #d8e3db; padding-top:24px; gap:40px; }
.stat-pill { background:none; border:0; padding:0; }
.stat-num { color:var(--ink); }
.btn-primary-gold { background:var(--brand); color:white; border:1px solid var(--brand); box-shadow:none; border-radius:6px; }
.btn-primary-gold:hover { background:#006c52; color:white; box-shadow:none; transform:translateY(-2px); }
.btn-outline-gold { border:0; border-radius:6px; color:var(--ink); padding-inline:0; }
.btn-outline-gold:hover { background:transparent; color:var(--brand); }
section { scroll-margin-top:100px; }
section .text-center { text-align:left!important; }
.section-title { color:var(--ink); letter-spacing:-.045em; }
.section-subtitle { margin-left:0; max-width:620px; }
.section-label { color:var(--brand); }
.hub-center { background:transparent; border:0; justify-content:flex-start; padding:0 0 25px; text-align:left; }
.hub-icon { width:46px; height:46px; object-fit:contain; }
.hub-center p { margin:4px 0 0; color:#53665d; font-size:.8rem; }
.hub-connector { display:none; }
.ecosystem-hub>.row { max-width:none; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ecosystem-hub>.row>div { width:auto; }
.prod-card { text-align:left; background:#fff; border:1px solid #d8e3db!important; box-shadow:none!important; padding:30px; border-radius:8px; height:100%; }
.prod-card>div:first-child:not(.prod-card-icon) { display:none; }
.prod-card-name { color:var(--ink); font-size:1.2rem; }
.prod-card-desc { color:#53665d; max-width:440px; }
.prod-card-icon { color:var(--brand)!important; background:#e8f3ed!important; border:0!important; margin-left:0; border-radius:6px; }
.prod-badge { color:#006c52!important; background:#e8f3ed!important; border-color:#b9d7c8!important; }
.service-card, .glass, .testimonial-card, .showcase-card { background:#fff; border-color:#d8e3db; box-shadow:none; }
.service-title, .service-icon, .footer-heading, .footer-brand { color:var(--ink); }
.service-card { border-radius:8px; }
.service-card:hover { box-shadow:none; }
footer { background:#e8f0e9; border-top:1px solid #cad9ce; }
footer .brand-logo { margin-bottom:25px; width:230px; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.contact-layout p { color:#53665d; font-size:.9rem; line-height:1.8; }
.contact-email { color:var(--brand); font-size:clamp(1.2rem,3vw,2rem); text-decoration:none; }
.footer-products { display:flex; flex-wrap:wrap; gap:24px; padding:36px 0; }
.footer-products a, .footer-bottom a { color:#53665d; text-decoration:none; font-size:.85rem; }
.footer-bottom { border-top:1px solid #cad9ce; padding-top:24px; display:flex; justify-content:space-between; gap:20px; color:#53665d; font-size:.75rem; }
@media(max-width:767px) { .contact-layout { grid-template-columns:1fr; gap:25px; } }
.footer-link, .social-btn { color:#53665d; }
.footer-divider { border-color:#cad9ce; }
.reveal, .fade-up { opacity:1; transform:none; animation:none; }
a, button { transition:background-color .2s,color .2s,transform .2s; }
a:focus-visible, button:focus-visible { outline:3px solid #008766; outline-offset:5px; }
.skip-link { position:fixed; top:8px; left:12px; z-index:1100; padding:12px 20px; background:white; color:var(--ink); transform:translateY(-150%); }
.skip-link:focus { transform:none; }
@media(max-width:991px) { .hero { padding-top:125px; } .hero-visual { margin-top:0; } .brand-studio>img { max-height:280px; } #navLinks { padding-top:18px; } .navbar-toggler { display:block; } }
@media(max-width:575px) { .brand-logo { width:160px; } .hero { padding-bottom:30px; } .hero-title { font-size:3.65rem; } .ecosystem-hub>.row { grid-template-columns:1fr; } .prod-card { padding:24px; } .studio-number { display:none; } .hero-stats { gap:30px; } .section-title { font-size:2.2rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
