/* HELDERLABS V3 — Dark Technical Lab */

:root {
    --bg: #0A0A0A;
    --bg-alt: #111111;
    --accent: #00D4FF;
    --accent-purple: #8B5CF6;
    --accent-green: #00FF88;
    --glass: rgba(255,255,255,0.03);
    --glass-border: rgba(255,255,255,0.08);
    --text: #FFFFFF;
    --text-dim: rgba(255,255,255,0.55);
    --text-muted: rgba(255,255,255,0.3);
    --radius: 1.5rem;
    --radius-lg: 2.5rem;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; overflow-x:hidden; line-height:1.6; }
.container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
img { max-width:100%; }

/* Scrollbar */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:#1a1a1a; border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--accent); }

/* Typography */
h1,h2,h3,h4 { font-family:'Space Grotesk',sans-serif; font-weight:700; line-height:1.15; }
.text-gradient { background:linear-gradient(135deg,var(--accent),var(--accent-purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* === SCROLL PROGRESS === */
#scroll-progress { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--accent),var(--accent-purple),var(--accent)); z-index:9999; width:0; transition:width .15s; }

/* === NAVBAR === */
#navbar { position:fixed; top:0; left:0; right:0; z-index:100; padding:1.5rem 0; transition:all .3s; }
#navbar.scrolled { padding:.75rem 0; background:rgba(10,10,10,.85); backdrop-filter:blur(20px); border-bottom:1px solid var(--glass-border); }
.nav-container { max-width:1200px; margin:0 auto; padding:0 1.5rem; display:flex; justify-content:space-between; align-items:center; }
.nav-logo { display:flex; align-items:center; gap:.75rem; text-decoration:none; color:var(--text); }
.logo-icon { width:40px; height:40px; }
.logo-icon.small { width:32px; height:32px; }
.logo-text { font-family:'Space Grotesk',sans-serif; font-size:1.4rem; font-weight:700; letter-spacing:-.02em; }
.logo-accent { color:var(--accent); }
.nav-links-pill { display:none; align-items:center; gap:2rem; background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); padding:.6rem 2rem; border-radius:50px; }
@media(min-width:768px) { .nav-links-pill { display:flex; } }
.nav-link { color:var(--text-dim); text-decoration:none; font-size:.85rem; font-weight:500; transition:color .3s; position:relative; }
.nav-link:hover, .nav-link.active { color:var(--accent); }
.nav-link.active::after { content:''; position:absolute; bottom:-6px; left:0; width:100%; height:2px; background:var(--accent); border-radius:2px; }
.nav-actions { display:flex; align-items:center; gap:1rem; }
.lang-wrap { position:relative; z-index:200; }
.lang-btn { display:flex; align-items:center; gap:.4rem; padding:.4rem .8rem; border-radius:.5rem; border:1px solid var(--glass-border); background:transparent; color:var(--text-dim); cursor:pointer; font-size:.75rem; font-weight:700; transition:all .3s; }
.lang-btn:hover { background:rgba(255,255,255,.05); }
.lang-dropdown { display:none; position:absolute; top:calc(100% + .5rem); right:0; background:rgba(17,17,17,.98); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:.75rem; overflow:hidden; min-width:160px; z-index:201; box-shadow:0 20px 40px rgba(0,0,0,.5); }
.lang-dropdown.open { display:block !important; }
.lang-option { display:block; width:100%; padding:.65rem 1rem; background:none; border:none; color:var(--text-dim); font-size:.8rem; text-align:left; cursor:pointer; transition:all .2s; font-family:'Inter',sans-serif; }
.lang-option:hover, .lang-option.active { background:rgba(0,212,255,.1); color:var(--accent); }
.nav-cta { display:none; padding:.6rem 1.5rem; background:var(--accent); color:#000; font-size:.85rem; font-weight:700; border-radius:.5rem; text-decoration:none; transition:all .3s; }
.nav-cta:hover { background:#00b8e0; transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,212,255,.25); }
@media(min-width:640px) { .nav-cta { display:block; } }

/* Mobile menu button */
.mobile-btn { display:flex; flex-direction:column; gap:5px; padding:.5rem; background:none; border:none; cursor:pointer; }
.mobile-btn span { display:block; width:24px; height:2px; background:var(--text); border-radius:2px; transition:all .3s; }
@media(min-width:768px) { .mobile-btn { display:none; } }

/* Mobile overlay */
.mobile-overlay { position:fixed; inset:0; background:rgba(10,10,10,.97); backdrop-filter:blur(30px); z-index:200; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2rem; transform:translateX(100%); transition:transform .4s cubic-bezier(.4,0,.2,1); }
.mobile-overlay.active { transform:translateX(0); }
.mobile-overlay a { font-family:'Space Grotesk',sans-serif; font-size:2rem; font-weight:700; color:var(--text); text-decoration:none; transition:color .3s; }
.mobile-overlay a:hover { color:var(--accent); }
.mobile-close { position:absolute; top:2rem; right:2rem; background:none; border:none; color:var(--text); font-size:2.5rem; cursor:pointer; line-height:1; }

/* === BUTTONS === */
.btn-primary { display:inline-flex; align-items:center; gap:.5rem; padding:1rem 2rem; background:var(--accent); color:#000; font-weight:700; font-size:1rem; border-radius:.75rem; text-decoration:none; border:none; cursor:pointer; transition:all .3s; }
.btn-primary:hover { background:#00b8e0; transform:translateY(-3px); box-shadow:0 20px 40px rgba(0,212,255,.2); }
.btn-full { width:100%; justify-content:center; }
.btn-ghost { display:inline-flex; align-items:center; gap:.5rem; padding:1rem 2rem; background:var(--glass); border:1px solid var(--glass-border); color:var(--text); font-weight:700; font-size:1rem; border-radius:.75rem; text-decoration:none; transition:all .3s; }
.btn-ghost:hover { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.15); }

/* === HERO === */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; padding-top:6rem; overflow:hidden; }
.hero-bg { position:absolute; inset:0; z-index:0; }
.orb { position:absolute; border-radius:50%; filter:blur(120px); animation:pulse-orb 6s ease-in-out infinite alternate; }
.orb-1 { top:-15%; left:-10%; width:50%; height:50%; background:rgba(0,212,255,.08); }
.orb-2 { bottom:-15%; right:-10%; width:40%; height:40%; background:rgba(139,92,246,.08); animation-delay:3s; }
.grid-lines { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:60px 60px; }
@keyframes pulse-orb { 0%{opacity:.5;transform:scale(1)} 100%{opacity:1;transform:scale(1.15)} }
.hero-grid { display:grid; grid-template-columns:1fr; gap:3rem; position:relative; z-index:1; }
@media(min-width:1024px) { .hero-grid { grid-template-columns:1fr 1fr; align-items:center; } }
.hero-content { display:flex; flex-direction:column; gap:1.5rem; }
.hero-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.4rem 1rem; border-radius:50px; background:rgba(0,212,255,.1); border:1px solid rgba(0,212,255,.2); color:var(--accent); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; width:fit-content; }
.pulse-dot { position:relative; width:8px; height:8px; }
.pulse-dot::before, .pulse-dot::after { content:''; position:absolute; inset:0; border-radius:50%; background:var(--accent); }
.pulse-dot::before { animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite; }
@keyframes ping { 75%,100% { transform:scale(2.5); opacity:0; } }
.hero-title { font-size:clamp(2.2rem,5vw,4rem); letter-spacing:-.03em; line-height:1.1; }
.hero-sub { color:var(--text-dim); font-size:1.15rem; max-width:540px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; padding-top:.5rem; }

/* Dashboard mockup */
.hero-visual { display:none; }
@media(min-width:1024px) { .hero-visual { display:block; } }
.dashboard-mock { background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:var(--radius-lg); padding:2rem; position:relative; overflow:hidden; }
.dashboard-mock::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,212,255,.04),transparent); pointer-events:none; }
.mock-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.mock-dots { display:flex; gap:6px; }
.mock-dots span { width:8px; height:8px; border-radius:50%; }
.mock-dots span:nth-child(1) { background:#ef4444; }
.mock-dots span:nth-child(2) { background:#eab308; }
.mock-dots span:nth-child(3) { background:#22c55e; }
.mock-title { font-size:.7rem; font-weight:700; opacity:.35; text-transform:uppercase; letter-spacing:.15em; }
.mock-stats { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.mock-stat { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); border-radius:1rem; padding:1.2rem; }
.mock-label { font-size:.7rem; opacity:.4; display:block; margin-bottom:.3rem; }
.mock-value { font-family:'Space Grotesk',sans-serif; font-size:1.8rem; font-weight:700; }
.mock-value small { font-size:.9rem; opacity:.5; }
.mock-bar { width:100%; height:4px; background:rgba(255,255,255,.08); border-radius:2px; margin-top:.8rem; overflow:hidden; }
.mock-bar-fill { height:100%; background:var(--accent); border-radius:2px; animation:grow-bar 2s ease-out forwards; }
.mock-bar-fill.green { background:var(--accent-green); }
@keyframes grow-bar { from { width:0; } }
.mock-chart { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); border-radius:1rem; padding:1.2rem; height:160px; display:flex; flex-direction:column; }
.chart-label { font-size:.7rem; font-weight:700; display:flex; align-items:center; gap:.5rem; margin-bottom:auto; }
.chart-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); }
.chart-bars { display:flex; align-items:flex-end; gap:6px; height:100px; }
.bar { flex:1; background:rgba(0,212,255,.25); border-radius:4px 4px 0 0; animation:bar-grow 1.5s ease-in-out infinite alternate; min-height:10px; }
.bar:nth-child(2n) { animation-delay:.3s; }
.bar:nth-child(3n) { animation-delay:.6s; }
@keyframes bar-grow { from{transform:scaleY(.7);opacity:.5} to{transform:scaleY(1);opacity:1} }

/* === SECTIONS === */
.section { padding:6rem 0; }
.section-alt { background:var(--bg-alt); }
.section-header { text-align:center; margin-bottom:4rem; }
.section-label { font-size:.75rem; font-weight:700; color:var(--accent); text-transform:uppercase; letter-spacing:.3em; margin-bottom:.75rem; }
.green-label { color:var(--accent-green); }
.section-title { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.02em; margin-bottom:1rem; }
.section-sub { color:var(--text-dim); font-size:1.1rem; max-width:600px; margin:0 auto; }

/* === ENGRENAGENS (SERVICES) === */
.engrenagens-grid { display:grid; grid-template-columns:1fr; gap:2rem; align-items:start; }
@media(min-width:1024px) { .engrenagens-grid { grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; } }
.connector { display:none; }
@media(min-width:1024px) { .connector { display:flex; align-items:center; width:80px; } .connector svg { width:100%; } .connector-defs { position:absolute; width:0; height:0; } }
.engrenagem-card { background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:var(--radius-lg); padding:2.5rem; transition:all .5s; position:relative; overflow:hidden; }
.engrenagem-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--accent),transparent); opacity:0; transition:opacity .5s; }
.engrenagem-card:hover { transform:translateY(-8px); border-color:rgba(0,212,255,.2); box-shadow:0 30px 60px -20px rgba(0,0,0,.5); }
.engrenagem-card:hover::before { opacity:1; }
.eng-icon { width:56px; height:56px; border-radius:1rem; display:flex; align-items:center; justify-content:center; background:rgba(0,212,255,.1); border:1px solid rgba(0,212,255,.2); margin-bottom:1.5rem; transition:all .4s; }
.eng-icon svg { width:24px; height:24px; stroke:var(--accent); }
.eng-icon.purple { background:rgba(139,92,246,.1); border-color:rgba(139,92,246,.2); }
.eng-icon.purple svg { stroke:var(--accent-purple); }
.eng-icon.green-icon { background:rgba(0,255,136,.1); border-color:rgba(0,255,136,.2); }
.eng-icon.green-icon svg { stroke:var(--accent-green); }
.engrenagem-card:hover .eng-icon { transform:scale(1.1); }
.eng-number { font-family:'Space Grotesk',sans-serif; font-size:3rem; font-weight:700; opacity:.08; position:absolute; top:1.5rem; right:2rem; }
.eng-title { font-size:1.3rem; margin-bottom:.75rem; }
.eng-desc { color:var(--text-dim); font-size:.9rem; margin-bottom:1.5rem; line-height:1.7; }
.eng-metrics { display:flex; gap:1.5rem; padding-top:1rem; border-top:1px solid var(--glass-border); }
.eng-metric { display:flex; flex-direction:column; gap:.2rem; }
.metric-value { font-family:'Space Grotesk',sans-serif; font-size:1.4rem; font-weight:700; color:var(--accent); }
.metric-value.green { color:var(--accent-green); }
.metric-label { font-size:.7rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; }

/* === IMPACT / SOCIAL PROOF === */
.impact-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:768px) { .impact-grid { grid-template-columns:repeat(3,1fr); } }
.impact-card { background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:var(--radius-lg); padding:2.5rem; text-align:center; transition:all .5s; }
.impact-card:hover { transform:translateY(-6px); border-color:rgba(0,255,136,.2); box-shadow:0 20px 50px -15px rgba(0,0,0,.4); }
.impact-metric { display:flex; align-items:center; justify-content:center; gap:.75rem; margin-bottom:1.5rem; }
.impact-from { font-family:'Space Grotesk',sans-serif; font-size:1.8rem; font-weight:700; color:rgba(255,255,255,.3); text-decoration:line-through; }
.impact-arrow { width:24px; height:24px; flex-shrink:0; }
.impact-to { font-family:'Space Grotesk',sans-serif; font-size:2.5rem; font-weight:700; color:var(--accent-green); }
.impact-card h3 { font-size:1.1rem; margin-bottom:.5rem; }
.impact-card p { color:var(--text-dim); font-size:.85rem; margin-bottom:1.25rem; }
.impact-tag { display:inline-block; padding:.3rem .8rem; background:rgba(0,255,136,.1); color:var(--accent-green); border:1px solid rgba(0,255,136,.15); border-radius:50px; font-size:.7rem; font-weight:700; }

/* === MANIFESTO === */
.manifesto-section { padding:5rem 0; }
.manifesto-box { max-width:800px; margin:0 auto; text-align:center; position:relative; padding:4rem 3rem; background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:var(--radius-lg); }
.manifesto-box::before { content:''; position:absolute; inset:-1px; border-radius:var(--radius-lg); background:linear-gradient(135deg,rgba(0,212,255,.15),transparent,rgba(139,92,246,.15)); z-index:-1; }
.manifesto-quote { font-family:'Space Grotesk',sans-serif; font-size:6rem; font-weight:700; color:var(--accent); opacity:.15; line-height:1; position:absolute; top:1rem; left:2rem; }
.manifesto-title { font-size:clamp(1.5rem,3vw,2rem); margin-bottom:1.5rem; }
.manifesto-text { color:var(--text-dim); font-size:1.05rem; line-height:1.8; max-width:600px; margin:0 auto; }

/* === METHOD === */
.method-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:768px) { .method-grid { grid-template-columns:repeat(4,1fr); } }
.method-step { background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:var(--radius); padding:2rem; transition:all .5s; position:relative; }
.method-step:hover { border-color:rgba(0,212,255,.2); transform:translateY(-4px); }
.method-step .step-num { font-family:'Space Grotesk',sans-serif; font-size:2.5rem; font-weight:700; color:var(--accent); opacity:.15; margin-bottom:1rem; }
.method-step h3 { font-size:1.15rem; margin-bottom:.5rem; }
.method-step p { color:var(--text-dim); font-size:.85rem; line-height:1.7; }

/* === CONTACT === */
.contact-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:1024px) { .contact-grid { grid-template-columns:1fr 1fr; } }
.contact-info { display:flex; flex-direction:column; gap:1rem; }
.contact-sub { color:var(--text-dim); font-size:1.05rem; line-height:1.7; }
.email-box { display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem; background:var(--glass); border:1px solid var(--glass-border); border-radius:.75rem; cursor:pointer; transition:all .3s; margin-top:1rem; }
.email-box:hover { border-color:rgba(0,212,255,.3); }
.email-box span:first-of-type { font-weight:700; flex:1; }
#copy-text { font-size:.7rem; font-weight:700; text-transform:uppercase; color:var(--text-muted); transition:color .3s; }
.email-box:hover #copy-text { color:var(--accent); }
.contact-form-wrap { background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); border-radius:var(--radius-lg); padding:2.5rem; }
.form-group { margin-bottom:1.25rem; }
.form-group label { display:block; font-size:.8rem; font-weight:700; color:var(--text-dim); margin-bottom:.4rem; }
.form-group input, .form-group textarea { width:100%; padding:.8rem 1.2rem; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:.75rem; color:var(--text); font-family:'Inter',sans-serif; font-size:.9rem; transition:border-color .3s; outline:none; resize:none; }
.form-group input:focus, .form-group textarea:focus { border-color:rgba(0,212,255,.4); }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--text-muted); }

/* === FOOTER === */
footer { padding:3rem 0; border-top:1px solid var(--glass-border); }
.footer-inner { display:flex; flex-direction:column; align-items:center; gap:1.5rem; text-align:center; }
@media(min-width:768px) { .footer-inner { flex-direction:row; justify-content:space-between; text-align:left; } }
.footer-copy { font-size:.8rem; color:var(--text-muted); }
.footer-links { display:flex; gap:1.5rem; }
.footer-links a { color:var(--text-muted); text-decoration:none; font-size:.85rem; font-weight:700; transition:color .3s; }
.footer-links a:hover { color:var(--accent); }

/* === BACK TO TOP === */
#back-to-top { position:fixed; bottom:2rem; right:2rem; width:48px; height:48px; border-radius:50%; background:rgba(0,212,255,.1); backdrop-filter:blur(20px); border:1px solid rgba(0,212,255,.2); color:var(--accent); display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; transform:translateY(20px); transition:all .3s; z-index:50; }
#back-to-top.visible { opacity:1; transform:translateY(0); }
#back-to-top:hover { background:var(--accent); color:#000; }

/* === REVEAL === */
.reveal { opacity:0; transform:translateY(30px); transition:all .8s cubic-bezier(.16,1,.3,1); }
.reveal.active { opacity:1; transform:translateY(0); }

/* === COUNTER === */
.counter { font-family:'Space Grotesk',sans-serif; }

/* === FORM STATUS === */
.form-status { padding:.75rem 1rem; border-radius:.75rem; font-size:.85rem; font-weight:600; margin-bottom:1rem; display:none; }
.form-status.success { display:block; background:rgba(0,255,136,.1); color:var(--accent-green); border:1px solid rgba(0,255,136,.15); }
.form-status.error { display:block; background:rgba(255,68,68,.1); color:#ff4444; border:1px solid rgba(255,68,68,.15); }

/* === DEVICE INDICATOR === */
.device-badge { position:fixed; bottom:1.5rem; left:1.5rem; padding:.5rem .8rem; background:rgba(0,212,255,.1); backdrop-filter:blur(10px); border:1px solid rgba(0,212,255,.2); border-radius:.5rem; font-size:.65rem; font-weight:700; color:var(--accent); z-index:999; text-transform:uppercase; letter-spacing:.1em; display:none; box-shadow:0 10px 20px rgba(0,0,0,.3); pointer-events:none; }

/* === TABLET (768px - 1023px) === */
@media(min-width:768px) and (max-width:1023px) {
    .hero { padding-top:5rem; min-height:auto; padding-bottom:4rem; }
    .hero-title { font-size:2.8rem; }
    .section { padding:4rem 0; }
    .section-title { font-size:2rem; }
    .engrenagens-grid { grid-template-columns:1fr; gap:1.5rem; }
    .connector { display:none !important; }
    .method-grid { grid-template-columns:repeat(2,1fr); }
    .impact-grid { grid-template-columns:repeat(2,1fr); }
    .impact-card:last-child { grid-column:1/-1; max-width:50%; margin:0 auto; }
    .manifesto-box { padding:3rem 2rem; }
}

/* === MOBILE (< 768px) === */
@media(max-width:767px) {
    body { font-size:15px; }
    .container { padding:0 1.25rem; }
    .hero { padding-top:5rem; min-height:auto; padding-bottom:3rem; }
    .hero-title { font-size:2rem; line-height:1.15; }
    .hero-sub { font-size:1rem; }
    .hero-badge { font-size:.65rem; }
    .hero-actions { flex-direction:column; }
    .hero-actions .btn-primary, .hero-actions .btn-ghost { width:100%; justify-content:center; }
    .section { padding:3.5rem 0; }
    .section-title { font-size:1.7rem; }
    .section-sub { font-size:.95rem; }
    .section-header { margin-bottom:2.5rem; }
    .engrenagem-card { padding:1.8rem; border-radius:1.5rem; }
    .eng-title { font-size:1.15rem; }
    .eng-metrics { flex-direction:column; gap:1rem; }
    .impact-card { padding:2rem; border-radius:1.5rem; }
    .impact-from { font-size:1.3rem; }
    .impact-to { font-size:2rem; }
    .method-grid { gap:1rem; }
    .method-step { padding:1.5rem; }
    .manifesto-box { padding:2.5rem 1.5rem; border-radius:1.5rem; }
    .manifesto-title { font-size:1.3rem; }
    .manifesto-text { font-size:.95rem; }
    .manifesto-quote { font-size:4rem; top:.5rem; left:1rem; }
    .contact-form-wrap { padding:1.8rem; border-radius:1.5rem; }
    .contact-grid { gap:2rem; }
    .nav-links-pill { display:none !important; }
    .email-box { padding:.8rem 1rem; }
    .email-box span:first-of-type { font-size:.85rem; }
    /* Larger touch targets on mobile */
    .btn-primary, .btn-ghost { padding:1rem 1.5rem; min-height:48px; }
    .form-group input, .form-group textarea { padding:1rem 1.2rem; font-size:16px; /* prevents iOS zoom */ }
    #back-to-top { bottom:1.2rem; right:1.2rem; width:44px; height:44px; }
}

/* === SMALL MOBILE (< 380px) === */
@media(max-width:379px) {
    .hero-title { font-size:1.7rem; }
    .hero-badge { font-size:.6rem; padding:.3rem .7rem; }
    .section-title { font-size:1.4rem; }
    .eng-number { display:none; }
    .logo-text { font-size:1.1rem; }
}

/* === TOUCH DEVICE OPTIMIZATIONS === */
body.is-touch .engrenagem-card:hover, body.is-touch .impact-card:hover, body.is-touch .method-step:hover { transform:none; }
body.is-touch .nav-cta:hover { transform:none; }
body.is-touch .btn-primary:active { transform:scale(.97); }
body.is-touch .engrenagem-card:active { border-color:rgba(0,212,255,.2); }

/* === LANDSCAPE MOBILE === */
@media(max-height:500px) and (orientation:landscape) {
    .hero { min-height:auto; padding:5rem 0 2rem; }
    .hero-title { font-size:1.8rem; }
}

/* === Reduced Motion === */
@media(prefers-reduced-motion:reduce) {
    *, *::before, *::after { animation-duration:0.01ms!important; animation-iteration-count:1!important; transition-duration:0.01ms!important; }
    .reveal { opacity:1; transform:none; }
}
