/* Moxa Design 2.0 */
:root { --smoke:#b0a69c; }
.nav-links { gap:20px; }
.nav-links a { font-size:11px; letter-spacing:.06em; }
#navbar { background:rgba(20,20,20,.97); gap:22px; }
.nav-logo,.nav-actions { flex-shrink:0; }
.moxa-menu { display:none; }
.moxa-section { padding:88px max(28px,5vw); border-bottom:1px solid var(--line-soft); }
.moxa-section:nth-of-type(even) { background:var(--bg-card); }
.moxa-section .section-h2 { max-width:1000px; }
.moxa-page-hero { padding-top:160px; }
.moxa-lead { font-family:var(--font-ui); font-size:18px; line-height:1.85; color:var(--ash); max-width:860px; margin:26px 0; }
.moxa-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:38px; }
.moxa-card { display:flex; flex-direction:column; padding:30px; border:1px solid rgba(255,255,255,.13); background:var(--bg); }
.moxa-card h3 { font:600 20px/1.4 var(--font-ui); margin-bottom:16px; }
.moxa-card p { font:400 16px/1.8 var(--font-ui); color:var(--ash); margin-bottom:22px; }
.moxa-card a { margin-top:auto; color:var(--ember-hot); text-decoration:underline; text-underline-offset:5px; font:500 14px/1.6 var(--font-ui); }
.moxa-actions { display:flex; flex-wrap:wrap; gap:14px; position:relative; z-index:2; margin-top:30px; }
.moxa-button { display:inline-flex; align-items:center; justify-content:center; padding:16px 21px; color:var(--chalk); border:1px solid var(--ember); text-decoration:none; font:600 14px/1.5 var(--font-ui); min-height:48px; margin:8px 8px 8px 0; }
.moxa-actions .moxa-button:first-child { background:var(--ember); color:#141414; }
.moxa-button:hover { background:var(--ember-hot); color:#141414; }
.hero { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); min-height:85vh; }
.hero-left { padding:155px 5vw 80px; }
.hero-right { padding:145px 4vw 70px; }
.hero-h1 { font-size:clamp(44px,5.1vw,78px); }
.hero-sub { max-width:620px; font:400 17px/1.8 var(--font-ui); color:var(--ash); }
.hero-left::before { pointer-events:none; }
.hero-scroll { display:none; }
.moxa-contact-note { padding:24px; margin-bottom:32px; border-left:2px solid var(--ember); background:var(--bg-card); }
.moxa-contact-note h2 { font-size:20px; margin-bottom:12px; }
.moxa-contact-note p { color:var(--ash); line-height:1.8; }
.form-textarea { min-height:170px; resize:vertical; }
.form-input::placeholder,.form-textarea::placeholder { color:#aaa097; opacity:1; }
:focus-visible { outline:2px solid var(--ember-hot); outline-offset:5px; }
[id] { scroll-margin-top:110px; }
@media(max-width:1200px) {
 #navbar,#navbar.scrolled { padding:18px 24px; }
 .nav-links { gap:12px; }
 .nav-cta { padding:10px 12px; font-size:10px; }
}
@media(max-width:1050px) {
 .moxa-menu { display:block; background:transparent; border:1px solid var(--ash); color:var(--chalk); padding:10px 14px; font:500 14px var(--font-ui); cursor:pointer; }
 #navbar .nav-links { display:none; position:absolute; top:100%; left:0; right:0; padding:24px; background:#141414; max-height:75vh; overflow:auto; border-bottom:1px solid var(--ember); }
 #navbar .nav-links.is-open { display:flex; flex-direction:column; gap:0; }
 #navbar .nav-links a { display:block; padding:14px; font-size:13px; }
 #navbar .nav-actions { margin-left:auto; }
 #navbar .nav-cta { display:none; }
 .hero { grid-template-columns:1fr; }
 .hero-left { padding:125px 28px 50px; }
 .hero-right { padding:36px 28px; }
 .moxa-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .moxa-grid { grid-template-columns:1fr; }
 .moxa-section { padding:56px 22px; }
 .moxa-page-hero { padding-top:125px; }
 .moxa-card { padding:24px; }
 .moxa-actions { flex-direction:column; align-items:stretch; }
 .moxa-button { margin-right:0; }
 .hero-h1 { font-size:44px; }
 .moxa-lead { font-size:16px; }
 .about,.services,.products,.process,.custom,.patents,.clients { padding-left:24px; padding-right:24px; }
 .about { gap:40px; }
 .patents-inner { grid-template-columns:1fr; gap:35px; }
 .contact-left,.contact-right { padding:60px 24px; }
 .section-h2 { font-size:clamp(34px,9vw,48px); overflow-wrap:break-word; }
 .footer-bottom { flex-direction:column; align-items:flex-start; gap:20px; }
 footer { padding:48px 24px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
 .js-reveal .reveal { opacity:1; transform:none; }
 .cursor,.cursor-ring { display:none!important; }
 body.custom-cursor-active,body.custom-cursor-active a,body.custom-cursor-active button { cursor:auto; }
}

/* Full-width first screen and readable proof without animation dependency. */
.hero { padding:0; }
.metric-item { opacity:1; transform:none; animation:none; }
.moxa-mobile-contact { display:none; }
@media(max-width:1050px) { .moxa-mobile-contact { display:list-item; } }
