@font-face{font-family:"Anton";src:url("fonts/anton-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
:root{
  --paper:#ece6d6; --paper2:#e0d9c5; --ink:#14130f; --rust:#b8391d; --amber:#ffc800; --white:#fbf9f2;
  --sh:6px 6px 0 var(--ink);
}
*{box-sizing:border-box;margin:0;border-radius:0}
html{scroll-behavior:smooth}
body{
  font-family:"IBM Plex Mono",monospace;font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper);overflow-x:hidden;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.d{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-weight:400;line-height:.92;letter-spacing:.005em}
:focus-visible{outline:3px solid var(--rust);outline-offset:3px}

/* ticker */
.tick{background:var(--ink);color:var(--paper);font-family:"IBM Plex Mono",monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;overflow:hidden;white-space:nowrap}
.tick div{display:inline-block;padding:7px 0;animation:tk 30s linear infinite}
.tick span{margin:0 26px}.tick span::before{content:"■ ";color:var(--amber)}
@keyframes tk{to{transform:translateX(-50%)}}

/* nav */
.nav{border-bottom:3px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:50}
.nav .wrap{display:flex;justify-content:space-between;align-items:center;height:68px}
.logo{font-family:Anton;font-size:1.6rem;text-transform:uppercase;text-decoration:none;border:3px solid var(--ink);padding:2px 12px;background:var(--amber);box-shadow:4px 4px 0 var(--ink);letter-spacing:.02em}
.menu{display:flex;gap:26px;align-items:center;text-transform:uppercase;font-size:.82rem;font-weight:700;letter-spacing:.06em}
.menu a{text-decoration:none}.menu a:not(.btn):hover{background:var(--ink);color:var(--paper);padding:2px 6px;margin:-2px -6px}
.burger{display:none;border:3px solid var(--ink);background:var(--paper);font:700 .85rem "IBM Plex Mono";text-transform:uppercase;padding:8px 14px;box-shadow:3px 3px 0 var(--ink)}

.btn{display:inline-block;border:3px solid var(--ink);background:var(--amber);color:var(--ink);font:700 .95rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;padding:14px 22px;box-shadow:var(--sh);transition:all .1s ease-in-out;cursor:pointer}
.btn:hover{transform:translate(2px,2px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(6px,6px);box-shadow:0 0 0 var(--ink)}
.btn.dark{background:var(--ink);color:var(--paper);box-shadow:6px 6px 0 var(--rust)}
.btn.dark:hover{box-shadow:4px 4px 0 var(--rust)}.btn.dark:active{box-shadow:0 0 0 var(--rust)}
.btn.sm{padding:9px 14px;font-size:.78rem;box-shadow:4px 4px 0 var(--ink)}

/* hero */
.hero{padding:56px 0 80px;border-bottom:3px solid var(--ink)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.tag{font-family:"IBM Plex Mono",monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--ink);display:inline-block;padding:4px 10px;background:var(--white)}
h1{font-size:clamp(3.4rem,10.5vw,9rem);margin:22px 0 26px}
h1 mark{background:var(--amber);color:var(--ink);padding:0 .08em;display:inline-block;transform:rotate(-1.6deg);box-shadow:6px 6px 0 var(--ink)}
h1 u{text-decoration:none;color:var(--rust)}
.lead{max-width:46ch;font-size:1.05rem;border-left:5px solid var(--rust);padding-left:16px}
.cta{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}
.mini{margin-top:22px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#4a463a}

/* receipt */
.rc-wrap{position:relative;padding-top:16px}
.tape{position:absolute;top:-2px;left:50%;width:120px;height:34px;background:rgba(255,200,0,.85);transform:translateX(-50%) rotate(3deg);z-index:2;border-left:2px dashed rgba(0,0,0,.25);border-right:2px dashed rgba(0,0,0,.25)}
.rc{background:var(--white);border:3px solid var(--ink);padding:28px 22px 38px;font-family:"IBM Plex Mono",monospace;font-size:.82rem;box-shadow:var(--sh);transform:rotate(1.6deg);position:relative;
  --z:14px;
}
.rc::after{content:"";position:absolute;left:-3px;right:-3px;bottom:-14px;height:14px;background:linear-gradient(135deg,var(--white) 50%,transparent 50%) 0 0/var(--z) 14px,linear-gradient(225deg,var(--white) 50%,transparent 50%) 0 0/var(--z) 14px;}
.rc h3{font-family:Anton;font-size:1.5rem;text-align:center;text-transform:uppercase;font-weight:400}
.rc .c{text-align:center;color:#555}
.rc hr{border:0;border-top:2px dashed var(--ink);margin:12px 0}
.rc .r{display:flex;justify-content:space-between;gap:10px}
.rc .tot{font-size:1.2rem;font-weight:700}
.stamp{position:absolute;right:10px;bottom:18px;border:4px solid var(--rust);color:var(--rust);font:400 2rem Anton;text-transform:uppercase;padding:0 12px;transform:rotate(-14deg);opacity:.9;letter-spacing:.04em}
.cap{margin-top:30px;font-size:.72rem;text-transform:uppercase;color:#4a463a;text-align:center}

/* sections */
section{padding:88px 0;border-bottom:3px solid var(--ink)}
.sec{display:flex;align-items:baseline;gap:16px;margin-bottom:38px;flex-wrap:wrap}
.sec small{font-family:"IBM Plex Mono",monospace;font-weight:700;background:var(--ink);color:var(--paper);padding:3px 10px;font-size:.85rem}
h2{font-size:clamp(2.4rem,6vw,4.8rem)}

/* features */
.grid4{display:grid;grid-template-columns:repeat(12,1fr);gap:26px}
.f{border:3px solid var(--ink);background:var(--white);padding:26px;box-shadow:var(--sh)}
.f h3{font-family:Anton;font-size:2rem;text-transform:uppercase;font-weight:400;line-height:1;margin:10px 0}
.f .n{font-family:"IBM Plex Mono";font-weight:700;color:var(--rust);font-size:.85rem}
.f:nth-child(1){grid-column:span 7}.f:nth-child(2){grid-column:span 5;background:var(--amber);transform:translateY(22px)}
.f:nth-child(3){grid-column:span 5;background:var(--ink);color:var(--paper);box-shadow:6px 6px 0 var(--rust)}.f:nth-child(3) .n{color:var(--amber)}
.f:nth-child(4){grid-column:span 7;transform:translateY(22px)}
.grid4{padding-bottom:22px}

/* segments */
.seg-sec{background:var(--ink);color:var(--paper)}
.seg-sec .sec small{background:var(--amber);color:var(--ink)}
.search{margin-bottom:22px;max-width:520px}
.search input{width:100%;border:3px solid var(--paper);background:var(--ink);color:var(--paper);font:500 1rem "IBM Plex Mono";padding:15px 16px;box-shadow:5px 5px 0 var(--amber)}
.search input::placeholder{color:#8f8a78}.search input:focus{outline:0;border-color:var(--amber)}
.list{border-top:2px solid var(--paper)}
.list a{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;padding:14px 8px;border-bottom:2px solid var(--paper);text-decoration:none;text-transform:uppercase;font-family:Anton;font-size:1.7rem;transition:all .1s ease-in-out}
.list a span{font:700 .85rem "IBM Plex Mono";color:var(--amber)}
.list a em{font:700 .78rem "IBM Plex Mono";font-style:normal;letter-spacing:.06em}
.list a:hover{background:var(--amber);color:var(--ink);padding-left:20px}.list a:hover span{color:var(--rust)}
.cols{columns:2;column-gap:40px}.cols a{break-inside:avoid}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:3px solid var(--ink);background:var(--white)}
.step{padding:30px;border-right:3px solid var(--ink)}.step:last-child{border:0}
.step b{display:block;font:400 6.5rem Anton;line-height:.9;-webkit-text-stroke:2px var(--ink);color:transparent}
.step h3{font-family:Anton;font-size:1.8rem;text-transform:uppercase;font-weight:400;margin:10px 0 6px}

/* band */
.band{background:var(--amber);padding:80px 0;border-bottom:3px solid var(--ink);position:relative}
.band::before{content:"";position:absolute;left:0;right:0;top:0;height:18px;background:repeating-linear-gradient(-45deg,var(--ink) 0 18px,var(--amber) 18px 36px)}
.band h2{font-size:clamp(3rem,9vw,8rem);margin-bottom:28px}

/* faq */
details{border:3px solid var(--ink);background:var(--white);margin-bottom:16px;box-shadow:4px 4px 0 var(--ink)}
summary{cursor:pointer;list-style:none;padding:18px 20px;font-weight:700;text-transform:uppercase;display:flex;justify-content:space-between;gap:16px}
summary::after{content:"+";font-size:1.4rem;line-height:1}details[open] summary::after{content:"−"}
details[open] summary{background:var(--ink);color:var(--paper)}
details p{padding:18px 20px}

footer{background:var(--ink);color:var(--paper);padding:48px 0;font-size:.85rem}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer .logo{box-shadow:4px 4px 0 var(--rust);color:var(--ink)}
.fab{position:fixed;right:16px;bottom:16px;z-index:60;border:3px solid var(--ink);background:var(--amber);padding:12px 18px;font:700 .85rem "IBM Plex Mono";text-transform:uppercase;text-decoration:none;box-shadow:5px 5px 0 var(--ink);transition:all .1s}
.fab:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .burger{display:block}
  .menu{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:3px solid var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:6px 22px 20px}
  .menu.open{display:flex}.menu a{padding:13px 0;border-bottom:2px solid var(--ink)}.menu .btn{margin-top:14px;text-align:center}
  .f:nth-child(n){grid-column:1/-1;transform:none}
  .steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:3px solid var(--ink)}.step:last-child{border:0}
  .cols{columns:1}.list a{font-size:1.35rem;grid-template-columns:44px 1fr auto}
  section{padding:60px 0}
  .rc{transform:none}
}
@media (prefers-reduced-motion:reduce){.tick div{animation:none}*{transition:none!important;scroll-behavior:auto!important}}

/* formulário */
.form{border:3px solid var(--ink);background:var(--white);box-shadow:var(--sh);padding:28px;display:grid;gap:18px}
.form label{display:grid;gap:6px;font:700 .8rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.form input,.form select,.form textarea{border:3px solid var(--ink);background:var(--paper);color:var(--ink);font:500 1rem "IBM Plex Mono",monospace;padding:13px 16px;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;background:var(--amber)}
.form .btn{justify-self:start}

/* tabela de preços (estilo cupom) */
.ptab{border:3px solid var(--ink);background:var(--white);box-shadow:var(--sh);padding:10px 24px}
.prow{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:baseline;padding:16px 4px;text-decoration:none;border-bottom:2px dashed var(--ink);transition:all .1s ease-in-out}
.prow:last-child{border-bottom:0}
.prow span{font:400 1.5rem Anton;text-transform:uppercase}
.prow i{border-bottom:2px dotted var(--ink);transform:translateY(-4px)}
.prow b{font:700 1.15rem "IBM Plex Mono",monospace;text-transform:uppercase}
.prow em{font:400 .75rem "IBM Plex Mono";font-style:normal;color:#4a463a;min-width:90px;text-align:right}
.prow:hover{background:var(--amber);padding-left:14px;padding-right:14px;margin:0 -10px}
@media(max-width:900px){.prow{grid-template-columns:1fr auto}.prow i,.prow em{display:none}.ptab{padding:6px 16px}}

/* grade de funções (3 colunas na inicial) */
.fn{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.fn .f:nth-child(n){grid-column:auto;transform:none;background:var(--white);color:var(--ink);box-shadow:var(--sh)}
.fn .f:nth-child(2){background:var(--amber)}
.fn .f:nth-child(4){background:var(--ink);color:var(--paper);box-shadow:6px 6px 0 var(--rust)}
.fn .f:nth-child(4) .n{color:var(--amber)}
@media(max-width:900px){.fn{grid-template-columns:1fr}}
