/* ═══════════════════════════════════════════════════════════
   FELLIPE GOMES — DO PAPEL PARA O SISTEMA
   Design: estética do varejo (cupom fiscal, cartaz de oferta,
   etiqueta de gôndola, corredor, painel LED) sobre base dark.
   Type: Anton (cartaz) · Archivo (corpo) · IBM Plex Mono (térmica)
   ═══════════════════════════════════════════════════════════ */

:root {
    --ink:      #0B0E13;
    --ink-2:    #121722;
    --ink-3:    #1A2130;
    --paper:    #F4EFE2;
    --paper-2:  #EAE3D2;
    --paper-ink:#1A1815;
    --accent:   #E87A3A;
    --accent-2: #FF9552;
    --text:     #EDE9E0;
    --muted:    #96A0AE;
    --line:     rgba(237,233,224,0.09);
    --font-display: 'Anton', Impact, sans-serif;
    --font-body: 'Archivo', -apple-system, sans-serif;
    --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
    --nav-h: 64px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    background: var(--ink);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
::selection { background: var(--accent); color: var(--ink); }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }

/* Textura de ruído sutil */
body::before {
    content:''; position:fixed; inset:0; pointer-events:none; z-index:1;
    opacity:0.35;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}
main, nav, footer { position:relative; z-index:2; }

.container { max-width:1180px; margin:0 auto; padding:0 24px; }

/* ── Labels / eyebrows (etiqueta de seção) ─────────────── */
.tag-label {
    display:inline-flex; align-items:center; gap:10px;
    font-family: var(--font-mono); font-size:0.72rem; letter-spacing:0.18em;
    text-transform:uppercase; color:var(--accent);
    margin-bottom:1.1rem;
}
.tag-label::before {
    content:''; width:26px; height:2px; background:var(--accent);
}
.section-title {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 5.5vw, 3.6rem);
    line-height:1.02; text-transform:uppercase; letter-spacing:0.01em;
    font-weight:400;
}
.section-title em { font-style:normal; color:var(--accent); }
.section-sub { color:var(--muted); max-width:620px; margin-top:1rem; font-size:1.02rem; }

section { padding: clamp(70px, 10vw, 120px) 0; }

/* ═══ NAV ═════════════════════════════════════════════════ */
.nav {
    position:fixed; top:0; left:0; right:0; z-index:100;
    height:var(--nav-h);
    display:flex; align-items:center;
    background: rgba(11,14,19,0.82);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-bottom:1px solid var(--line);
}
.nav-inner {
    width:100%; max-width:1180px; margin:0 auto; padding:0 24px;
    display:flex; align-items:center; justify-content:space-between;
}
.nav-brand {
    font-family: var(--font-display); font-size:1.15rem; letter-spacing:0.04em;
    text-transform:uppercase;
}
.nav-brand span { color:var(--accent); }
.nav-links { display:flex; gap:1.8rem; list-style:none; align-items:center; }
.nav-links a {
    font-size:0.85rem; font-weight:500; color:var(--muted);
    letter-spacing:0.02em; transition:color .2s;
}
.nav-links a:hover { color:var(--text); }
.nav-cta {
    font-family:var(--font-mono); font-size:0.75rem !important;
    color:var(--ink) !important; background:var(--accent);
    padding:9px 18px; letter-spacing:0.08em; text-transform:uppercase;
    transition:background .2s !important;
}
.nav-cta:hover { background:var(--accent-2); }
.nav-toggle {
    display:none; background:none; border:none; cursor:pointer;
    width:40px; height:40px; position:relative;
}
.nav-toggle span {
    position:absolute; left:8px; right:8px; height:2px; background:var(--text);
    transition:all .3s;
}
.nav-toggle span:nth-child(1){ top:13px; }
.nav-toggle span:nth-child(2){ top:20px; }
.nav-toggle span:nth-child(3){ top:27px; }
.nav-toggle.open span:nth-child(1){ top:20px; transform:rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ top:20px; transform:rotate(-45deg); }

@media (max-width: 860px) {
    .nav-toggle { display:block; }
    .nav-links {
        position:fixed; top:var(--nav-h); left:0; right:0;
        flex-direction:column; gap:0;
        background:var(--ink-2); border-bottom:1px solid var(--line);
        max-height:0; overflow:hidden; transition:max-height .35s ease;
    }
    .nav-links.open { max-height:420px; }
    .nav-links li { width:100%; }
    .nav-links a { display:block; padding:15px 24px; border-top:1px solid var(--line); }
    .nav-cta { margin:14px 24px 18px; display:inline-block; text-align:center; }
}

/* ═══ HERO ════════════════════════════════════════════════ */
.hero {
    min-height:100svh;
    display:flex; align-items:center;
    padding: calc(var(--nav-h) + 40px) 0 60px;
    position:relative;
}
.hero-grid {
    display:grid; grid-template-columns: 1.25fr 0.75fr;
    gap: clamp(2rem, 5vw, 5rem); align-items:center;
}
.hero-kicker {
    font-family:var(--font-mono); font-size:0.78rem; color:var(--muted);
    letter-spacing:0.14em; text-transform:uppercase; margin-bottom:1.4rem;
    display:flex; align-items:center; gap:12px;
}
.hero-kicker .dot {
    width:8px; height:8px; border-radius:50%; background:#4ade80;
    box-shadow:0 0 10px rgba(74,222,128,0.8);
    animation:pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }

.hero h1 {
    font-family:var(--font-display);
    font-size: clamp(3.2rem, 9vw, 7rem);
    line-height:0.95; text-transform:uppercase; font-weight:400;
    letter-spacing:0.005em;
}
.hero h1 .strike {
    position:relative; color:var(--muted); white-space:nowrap;
}
.hero h1 .strike::after {
    content:''; position:absolute; left:-2%; right:-2%; top:50%;
    height:0.09em; background:var(--accent); transform:rotate(-2deg);
}
.hero h1 .hl { color:var(--accent); }
.hero-sub {
    margin-top:1.6rem; font-size:1.08rem; color:var(--muted); max-width:520px;
}
.hero-sub strong { color:var(--text); font-weight:600; }
.hero-ctas { display:flex; gap:14px; margin-top:2.2rem; flex-wrap:wrap; }
.btn {
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--font-mono); font-size:0.8rem; letter-spacing:0.1em;
    text-transform:uppercase; padding:15px 26px; cursor:pointer;
    border:1px solid transparent; transition:all .22s;
}
.btn-primary { background:var(--accent); color:var(--ink); font-weight:600; }
.btn-primary:hover { background:var(--accent-2); transform:translateY(-2px); }
.btn-ghost { border-color:var(--line); color:var(--text); background:transparent; }
.btn-ghost:hover { border-color:var(--accent); color:var(--accent); }

/* ── Cupom fiscal (assinatura do site) ─────────────────── */
.receipt-wrap {
    display:flex; justify-content:center;
}
.receipt-tilt { transform:rotate(1.6deg); }
.printer-slot {
    position:relative; z-index:3;
    width:min(360px, 94vw);
    height:20px; margin:0 auto;
    background:linear-gradient(180deg, #232B3A, #171D28 60%, #10151E);
    border:1px solid rgba(237,233,224,0.12);
    border-radius:6px;
    box-shadow:0 8px 24px rgba(0,0,0,0.5);
}
.printer-slot span {
    position:absolute; left:14px; right:14px; top:50%;
    height:4px; transform:translateY(-50%);
    background:#05070B;
    border-radius:2px;
    box-shadow:inset 0 1px 3px rgba(0,0,0,0.9);
}
.receipt-window {
    overflow:hidden;
    margin-top:-2px;
    padding:0 20px 26px;
}
.receipt {
    width:min(320px, 88vw);
    margin:0 auto;
    background:var(--paper);
    color:var(--paper-ink);
    font-family:var(--font-mono);
    font-size:0.72rem; line-height:1.55;
    padding:22px 20px 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.55), 0 4px 14px rgba(0,0,0,0.4);
    position:relative;
}
/* borda serrilhada inferior (papel rasgado) */
.receipt::after {
    content:''; position:absolute; left:0; right:0; bottom:-9px; height:10px;
    background:
      linear-gradient(-45deg, transparent 70%, var(--paper) 70%) 0 0/12px 10px repeat-x,
      linear-gradient(45deg, transparent 70%, var(--paper) 70%) 0 0/12px 10px repeat-x;
}
.receipt-center { text-align:center; }
.receipt-title { font-weight:700; font-size:0.8rem; letter-spacing:0.06em; }
.receipt-hr { border:none; border-top:1.5px dashed rgba(26,24,21,0.4); margin:10px 0; }
.receipt-row { display:flex; justify-content:space-between; gap:8px; }
.receipt-row .qty { width:34px; flex-shrink:0; }
.receipt-row .val { text-align:right; font-weight:700; }
.receipt-total {
    display:flex; justify-content:space-between;
    font-weight:700; font-size:0.85rem; margin-top:2px;
}
.receipt-small { font-size:0.62rem; opacity:0.75; }
.receipt-barcode {
    height:38px; margin:12px auto 4px; width:82%;
    background: repeating-linear-gradient(90deg,
        var(--paper-ink) 0 2px, transparent 2px 5px,
        var(--paper-ink) 5px 6px, transparent 6px 8px,
        var(--paper-ink) 8px 11px, transparent 11px 13px,
        var(--paper-ink) 13px 14px, transparent 14px 18px,
        var(--paper-ink) 18px 21px, transparent 21px 23px);
}

/* ═══ TICKER LED ══════════════════════════════════════════ */
.ticker {
    background:#07090D;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    overflow:hidden; padding:14px 0; position:relative;
}
.ticker::before, .ticker::after {
    content:''; position:absolute; top:0; bottom:0; width:70px; z-index:2;
    pointer-events:none;
}
.ticker::before { left:0; background:linear-gradient(90deg, var(--ink), transparent); }
.ticker::after { right:0; background:linear-gradient(-90deg, var(--ink), transparent); }
.ticker-track {
    display:flex; gap:0; width:max-content;
    animation: ticker 30s linear infinite;
}
@keyframes ticker { to { transform:translateX(-50%); } }
.ticker-item {
    font-family:var(--font-mono); font-size:0.82rem; letter-spacing:0.22em;
    text-transform:uppercase; color:var(--accent);
    text-shadow:0 0 8px rgba(232,122,58,0.65), 0 0 22px rgba(232,122,58,0.25);
    padding:0 1.6rem; white-space:nowrap;
}
.ticker-item::after { content:'•'; margin-left:3.2rem; opacity:0.5; }

/* ═══ SOBRE ═══════════════════════════════════════════════ */
.sobre-grid {
    display:grid; grid-template-columns: 0.85fr 1.15fr;
    gap:clamp(2.5rem, 5vw, 4.5rem); align-items:center;
}
.sobre-foto-wrap { position:relative; }
.sobre-foto {
    width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top;
    filter:saturate(0.92) contrast(1.04);
    border:1px solid var(--line);
}
.sobre-foto-tag {
    position:absolute; bottom:-14px; right:-10px;
    background:var(--paper); color:var(--paper-ink);
    font-family:var(--font-mono); font-size:0.68rem;
    padding:10px 14px; line-height:1.5;
    box-shadow:0 10px 30px rgba(0,0,0,0.5);
    transform:rotate(-2deg);
}
.sobre-foto-tag strong { display:block; font-size:0.78rem; }
.sobre-text p { color:var(--muted); margin-bottom:1.1rem; font-size:1.02rem; }
.sobre-text p strong { color:var(--text); font-weight:600; }
.sobre-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:1.6rem; }
.chip {
    font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.06em;
    border:1px solid var(--line); color:var(--muted);
    padding:8px 14px; transition:all .2s;
}
.chip:hover { border-color:var(--accent); color:var(--accent); }

/* ═══ PROJETOS — etiquetas de gôndola ═════════════════════ */
.projetos { background:linear-gradient(var(--ink) 0%, #0D111A 50%, var(--ink) 100%); }
.projetos-head {
    display:flex; justify-content:space-between; align-items:flex-end;
    gap:2rem; margin-bottom:3rem; flex-wrap:wrap;
}
.projetos-grid {
    display:grid; grid-template-columns:repeat(2, 1fr); gap:22px;
}
.projeto-card {
    background:var(--ink-2); border:1px solid var(--line);
    padding:clamp(22px, 3vw, 34px);
    position:relative; overflow:hidden;
    transition:transform .25s ease, border-color .25s ease;
    display:flex; flex-direction:column;
}
.projeto-card:hover { transform:translateY(-4px); border-color:rgba(232,122,58,0.45); }
.projeto-card:hover .projeto-etiqueta { transform:rotate(0deg) scale(1.03); }
.projeto-top {
    display:flex; justify-content:space-between; align-items:flex-start;
    gap:1rem; margin-bottom:1.2rem;
}
.projeto-cat {
    font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--accent);
}
.projeto-num {
    font-family:var(--font-mono); font-size:0.66rem; color:var(--muted);
    letter-spacing:0.1em;
}
.projeto-card h3 {
    font-family:var(--font-display); font-weight:400;
    font-size:clamp(1.35rem, 2.4vw, 1.75rem); line-height:1.08;
    text-transform:uppercase; letter-spacing:0.015em; margin-bottom:1.1rem;
}
.projeto-bloco { margin-bottom:0.9rem; }
.projeto-bloco-label {
    font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.18em;
    text-transform:uppercase; color:var(--muted); margin-bottom:3px;
}
.projeto-bloco p { font-size:0.92rem; color:#C4CAD4; line-height:1.55; }
.projeto-bloco.impacto p { color:var(--text); }
.projeto-bloco.impacto .projeto-bloco-label { color:var(--accent); }

/* etiqueta de preço/impacto (papel) */
.projeto-etiqueta {
    margin-top:auto; align-self:flex-start;
    background:var(--paper); color:var(--paper-ink);
    font-family:var(--font-mono); padding:10px 16px 8px;
    transform:rotate(-1.5deg); transition:transform .25s;
    box-shadow:0 8px 22px rgba(0,0,0,0.4);
    margin-top:1.4rem;
}
.projeto-etiqueta .et-label {
    font-size:0.56rem; letter-spacing:0.14em; text-transform:uppercase; opacity:0.7;
}
.projeto-etiqueta .et-valor { font-size:1.05rem; font-weight:700; line-height:1.2; }
.projeto-etiqueta .et-barcode {
    height:14px; margin-top:6px;
    background:repeating-linear-gradient(90deg,
        var(--paper-ink) 0 1px, transparent 1px 3px,
        var(--paper-ink) 3px 5px, transparent 5px 7px,
        var(--paper-ink) 7px 8px, transparent 8px 11px);
}
.projeto-stack {
    margin-top:1.1rem; padding-top:1rem; border-top:1px dashed var(--line);
    font-family:var(--font-mono); font-size:0.68rem; color:var(--muted);
    letter-spacing:0.04em;
}
.projeto-stack span { color:var(--accent); }

@media (max-width: 820px) {
    .projetos-grid { grid-template-columns:1fr; }
}

/* ═══ PRATELEIRA — mais projetos ══════════════════════════ */
.prateleira { margin-top:70px; }
.prateleira-titulo {
    font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.2em;
    text-transform:uppercase; color:var(--muted); margin-bottom:1.4rem;
    display:flex; align-items:center; gap:14px;
}
.prateleira-titulo::after { content:''; flex:1; height:1px; background:var(--line); }
.prateleira-lista { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.prateleira-item {
    background:var(--ink); padding:18px 20px;
    transition:background .2s;
}
.prateleira-item:hover { background:var(--ink-2); }
.prateleira-item h4 { font-size:0.92rem; font-weight:600; margin-bottom:4px; }
.prateleira-item p { font-size:0.8rem; color:var(--muted); line-height:1.5; }
@media (max-width: 820px) { .prateleira-lista { grid-template-columns:1fr; } }
@media (min-width: 821px) and (max-width: 1080px) { .prateleira-lista { grid-template-columns:repeat(2,1fr); } }

/* ═══ CORREDORES (skills) ═════════════════════════════════ */
.corredores-grid {
    display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:3rem;
}
.corredor {
    border:1px solid var(--line); background:var(--ink-2);
    padding:0 0 22px; overflow:hidden;
}
.corredor-placa {
    background:var(--accent); color:var(--ink);
    padding:14px 20px 12px;
    display:flex; align-items:baseline; gap:14px;
    position:relative;
}
.corredor-placa::after {
    content:''; position:absolute; left:0; right:0; bottom:-8px; height:8px;
    background:linear-gradient(-45deg, transparent 66%, var(--accent) 66%) 0 0/14px 8px repeat-x;
}
.corredor-num {
    font-family:var(--font-display); font-size:1.9rem; line-height:1;
}
.corredor-nome {
    font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.16em;
    text-transform:uppercase; font-weight:600;
}
.corredor-itens { list-style:none; padding:26px 20px 0; }
.corredor-itens li {
    font-size:0.9rem; color:#C4CAD4; padding:7px 0;
    border-bottom:1px dashed var(--line);
    display:flex; align-items:center; gap:10px;
}
.corredor-itens li:last-child { border-bottom:none; }
.corredor-itens li::before {
    content:'▸'; color:var(--accent); font-size:0.7rem;
}
@media (max-width: 900px) { .corredores-grid { grid-template-columns:1fr; } }

/* ═══ LAB / MAKER ═════════════════════════════════════════ */
.lab {
    background:var(--ink-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.lab-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.lab-visual {
    border:1px dashed rgba(232,122,58,0.4); padding:34px;
    font-family:var(--font-mono); font-size:0.78rem; color:var(--muted);
    line-height:1.9; position:relative;
}
.lab-visual .blink { color:#4ade80; animation:pulse 1.4s infinite; }
.lab-visual-tag {
    position:absolute; top:-12px; left:22px; background:var(--ink-2);
    padding:0 10px; color:var(--accent); font-size:0.65rem;
    letter-spacing:0.18em; text-transform:uppercase;
}
.lab-text p { color:var(--muted); margin-bottom:1rem; }
.lab-text p strong { color:var(--text); }
@media (max-width: 820px) { .lab-grid { grid-template-columns:1fr; } }

/* ═══ CONTATO ═════════════════════════════════════════════ */
.contato { background:linear-gradient(180deg, var(--ink), #0D111A); }
.contato-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,5rem); margin-top:3rem; }
.contato-info p { color:var(--muted); margin-bottom:2rem; }
.contato-links { display:flex; flex-direction:column; gap:2px; }
.contato-link {
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 20px; border:1px solid var(--line);
    margin-bottom:-1px; transition:all .2s;
    font-family:var(--font-mono); font-size:0.85rem;
}
.contato-link:hover { background:var(--ink-2); border-color:rgba(232,122,58,0.4); padding-left:26px; }
.contato-link .cl-label { color:var(--muted); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; display:block; margin-bottom:2px; }
.contato-link .cl-arrow { color:var(--accent); }

.form-group { margin-bottom:18px; }
.form-group label {
    display:block; font-family:var(--font-mono); font-size:0.68rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--muted);
    margin-bottom:7px;
}
.form-group input, .form-group textarea {
    width:100%; background:var(--ink-2); border:1px solid var(--line);
    color:var(--text); font-family:var(--font-body); font-size:0.95rem;
    padding:14px 16px; transition:border-color .2s; border-radius:0;
    -webkit-appearance:none;
}
.form-group input:focus, .form-group textarea:focus {
    outline:none; border-color:var(--accent);
}
.form-group textarea { resize:vertical; min-height:130px; }
.form-feedback {
    font-family:var(--font-mono); font-size:0.78rem; margin-top:12px; display:none;
}
.form-feedback.ok { display:block; color:#4ade80; }
.form-feedback.err { display:block; color:#f87171; }
@media (max-width: 820px) { .contato-grid { grid-template-columns:1fr; } }

/* ═══ FOOTER ══════════════════════════════════════════════ */
footer {
    border-top:1px solid var(--line); padding:36px 0;
}
.footer-inner {
    display:flex; justify-content:space-between; align-items:center;
    gap:1.5rem; flex-wrap:wrap;
}
.footer-brand { font-family:var(--font-display); text-transform:uppercase; letter-spacing:0.04em; }
.footer-brand span { color:var(--accent); }
.footer-meta { font-family:var(--font-mono); font-size:0.68rem; color:var(--muted); letter-spacing:0.06em; }
.footer-meta a { color:var(--accent); }

/* ═══ REVEAL ══════════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }

/* ═══ MODO GSAP: CSS cede o controle ao JS ════════════════ */
.gsap-on .reveal { opacity:1; transform:none; transition:none; }

.gsap-on .projeto-etiqueta { transition:none; }
.gsap-on .projeto-card:hover .projeto-etiqueta { transform:rotate(-1.5deg); }

/* ═══ RESPONSIVO GERAL ════════════════════════════════════ */
@media (max-width: 980px) {
    .hero-grid { grid-template-columns:1fr; gap:3.5rem; }
    .receipt-wrap { order:2; }
    .sobre-grid { grid-template-columns:1fr; }
    .sobre-foto-wrap { max-width:380px; }
}

/* ═══ REDUCED MOTION ══════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
    html { scroll-behavior:auto; }
    .reveal { opacity:1; transform:none; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE FIRST-CLASS — refinamentos dedicados
   ═══════════════════════════════════════════════════════════ */

/* Safe areas (iPhone notch/home bar) */
.container { padding-left:max(24px, env(safe-area-inset-left)); padding-right:max(24px, env(safe-area-inset-right)); }
.nav-inner { padding-left:max(24px, env(safe-area-inset-left)); padding-right:max(24px, env(safe-area-inset-right)); }
footer { padding-bottom:max(36px, env(safe-area-inset-bottom)); }

/* Touch: estados de toque no lugar de hover */
@media (hover: none) {
    .btn:active { transform:scale(0.97); }
    .contato-link:active { background:var(--ink-2); border-color:rgba(232,122,58,0.4); }
    .prateleira-item:active { background:var(--ink-2); }
    .projeto-card:active { border-color:rgba(232,122,58,0.45); }
    .chip:active { border-color:var(--accent); color:var(--accent); }
    .nav-links a { -webkit-tap-highlight-color:rgba(232,122,58,0.15); }
}

@media (max-width: 640px) {
    body { font-size:15px; }

    /* Hero compacto: cupom entra logo na primeira dobra rolando pouco */
    .hero { min-height:auto; padding:calc(var(--nav-h) + 28px) 0 48px; }
    .hero-grid { gap:2.6rem; }
    .hero h1 { font-size:clamp(3rem, 15.5vw, 4.2rem); }
    .hero-sub { font-size:0.98rem; margin-top:1.3rem; }
    .hero-kicker { font-size:0.7rem; margin-bottom:1.1rem; }

    /* Botões em coluna, largura total (alcance do polegar) */
    .hero-ctas { flex-direction:column; margin-top:1.9rem; }
    .hero-ctas .btn { width:100%; justify-content:center; }

    /* Cupom */
    .receipt-window { padding:0 12px 22px; }
    .printer-slot { width:min(340px, 96vw); }

    /* Seções mais compactas */
    section { padding:56px 0; }
    .section-sub { font-size:0.95rem; }
    .projetos-head { margin-bottom:2.2rem; }

    /* Cards */
    .projetos-grid { gap:16px; }
    .projeto-card { padding:20px 18px; }
    .projeto-bloco p { font-size:0.89rem; }
    .projeto-etiqueta { padding:9px 14px 7px; }
    .projeto-etiqueta .et-valor { font-size:0.95rem; }

    /* Corredores */
    .corredores-grid { gap:16px; margin-top:2.2rem; }
    .corredor-itens { padding:22px 16px 0; }
    .corredor-itens li { font-size:0.87rem; }

    /* Prateleira */
    .prateleira { margin-top:52px; }
    .prateleira-item { padding:16px; }

    /* Sobre */
    .sobre-grid { gap:2.6rem; }
    .sobre-foto-wrap { max-width:100%; }
    .sobre-foto-tag { right:6px; bottom:-12px; font-size:0.62rem; padding:8px 12px; }
    .sobre-text p { font-size:0.96rem; }

    /* Lab */
    .lab-visual { padding:22px 16px; font-size:0.68rem; line-height:1.8; }

    /* Contato */
    .contato-grid { gap:2.4rem; margin-top:2.2rem; }
    .contato-link { padding:15px 16px; font-size:0.8rem; }
    .form-group input, .form-group textarea { font-size:16px; } /* evita zoom do iOS */

    /* Footer */
    .footer-inner { flex-direction:column; text-align:center; gap:0.8rem; }

    /* Ticker um pouco mais rápido em tela estreita */
    .ticker-track { animation-duration:22s; }
}

/* Telas muito pequenas */
@media (max-width: 380px) {
    .hero h1 { font-size:2.7rem; }
    .receipt { font-size:0.66rem; }
}
