/* 77Copo — terraço-copo-neon-b14a. Unique skeleton, not a recolor. */
@font-face{font-family:Copo;src:url(/fonts/bungee.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/barlow-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/barlow-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/barlow-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/barlow-800.woff2) format("woff2");font-weight:800;font-display:swap}

:root{
  --ink:#070612;--cyan:#2ef0ff;--magenta:#ff2d9a;--citrus:#ffe14a;--lime:#b8ff2a;
  --foam:#f4fff8;--mute:#c8d4e4;--panel:#12081c;--line:rgba(46,240,255,.5);
  --cta-ink:#070612;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--ink);color:var(--foam);
  font-family:Barlow,system-ui,sans-serif;font-size:16px;line-height:1.55;font-weight:500}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan);text-decoration:none}
a:hover{color:var(--citrus)}
:focus-visible{outline:2px solid var(--citrus);outline-offset:3px}
.cp-skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.cp-skip:focus{left:8px;top:8px;width:auto;height:auto;padding:8px 12px;background:var(--citrus);color:var(--ink);z-index:90}

/* neon rim */
.cp-rail{height:6px;background:repeating-linear-gradient(90deg,var(--cyan) 0 14px,var(--magenta) 14px 28px,var(--citrus) 28px 42px,var(--lime) 42px 52px);
  box-shadow:0 0 16px #2ef0ff99}

/* bar-rail header — logo >=40px, pills 36-40px */
.cp-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;
  padding:8px 16px;min-height:60px;
  background:linear-gradient(180deg,#14081e 0%,#070612 100%);
  border-bottom:1px solid var(--line);box-shadow:0 8px 28px #000c}
.cp-brand{display:flex;align-items:center;gap:8px;color:var(--cyan);white-space:nowrap}
.cp-brand svg{width:44px;height:44px;flex:none;filter:drop-shadow(0 0 8px #2ef0ffaa)}
.cp-word{font-family:Copo,Barlow,sans-serif;font-weight:400;font-size:44px;line-height:1;
  letter-spacing:.01em;display:flex;align-items:baseline;text-shadow:0 0 14px #2ef0ff88}
.cp-word i{font-style:normal;color:var(--citrus);text-shadow:0 0 12px #ffe14a99}
.cp-word b{font-weight:400;color:var(--cyan)}
.cp-nav{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto;align-items:center}
.cp-pill{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 14px;border-radius:999px;
  border:1px solid rgba(46,240,255,.35);background:radial-gradient(circle at 30% 20%,#1a1230,#0a0614 70%);
  color:var(--foam);font-weight:700;font-size:14px;box-shadow:inset 0 1px 0 #2ef0ff33}
.cp-pill svg{width:16px;height:16px;flex:none}
.cp-pill[aria-current="page"],.cp-pill:hover{border-color:var(--cyan);color:var(--citrus);
  box-shadow:0 0 0 1px var(--cyan),0 0 14px #2ef0ff55}
.cp-go,.cp-go-rec{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:38px;padding:8px 18px;border-radius:999px;font-weight:800;font-size:14px;letter-spacing:.04em;
  border:0;cursor:pointer;white-space:nowrap}
.cp-go{background:linear-gradient(180deg,#ff6ab8,#ff2d9a 45%,#c41270);color:#fff8ff;
  box-shadow:0 0 0 1px #ffe14a,0 0 16px #ff2d9a99,0 4px 0 #7a0848}
.cp-go:hover{color:#fff;filter:brightness(1.08)}
.cp-go-rec{background:linear-gradient(180deg,#7af8ff,#2ef0ff 40%,#12b0c4);color:var(--cta-ink);
  box-shadow:0 0 0 1px #f4fff8,0 0 16px #2ef0ff88,0 3px 0 #0a6a78}
.cp-go-rec:hover{color:var(--cta-ink);filter:brightness(1.06)}
.cp-burger{display:none;background:none;border:1px solid var(--cyan);color:var(--cyan);
  border-radius:8px;padding:8px 10px;font:inherit;min-height:38px}

/* last-call ticker */
.cp-call{height:26px;overflow:hidden;background:#0c0618;border-bottom:1px solid #ff2d9a66;
  display:flex;align-items:center}
.cp-call-track{display:flex;gap:48px;white-space:nowrap;animation:cp-marq 32s linear infinite;padding-left:20px;
  font-size:12.5px;font-weight:700;color:var(--citrus);letter-spacing:.06em;text-transform:uppercase}
.cp-call b{color:var(--cyan);margin:0 6px}
@keyframes cp-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* compact rooftop hero — 260-320px, full-width illustrated */
.cp-hero{position:relative;height:290px;overflow:hidden;margin:0;
  border-bottom:1px solid var(--line);
  box-shadow:0 0 40px #ff2d9a33}
.cp-hero-art{width:100%;height:290px;object-fit:cover;object-position:center 42%;display:block}
.cp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,6,18,.55) 0 42%,rgba(7,6,18,.12) 70%,rgba(7,6,18,.45) 100%)}
.cp-hero-box{position:absolute;inset:0;z-index:1;display:grid;
  grid-template-columns:1fr auto;align-items:center;gap:16px;
  max-width:1280px;margin:0 auto;padding:16px 20px;width:100%}
.cp-hero-copy h1{margin:0 0 8px;font-family:Barlow,sans-serif;font-weight:800;
  font-size:48px;line-height:1.05;letter-spacing:-.02em;color:#fff;
  text-shadow:0 2px 0 #070612,0 0 22px #ff2d9aaa,0 0 8px #000}
.cp-hero-copy h1 em{font-style:normal;color:var(--citrus);text-shadow:0 0 18px #ffe14acc,0 2px 0 #070612}
.cp-hero-copy p{margin:0 0 10px;color:var(--foam);font-size:1rem;font-weight:650;max-width:44ch;
  line-height:1.35;text-shadow:0 2px 8px #070612}
.cp-hero-copy .cp-go{min-height:40px;padding:10px 20px;font-size:15px}

/* shaker RTP badge */
.cp-shaker{width:168px;height:196px;align-self:center;justify-self:end;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:
    radial-gradient(circle at 50% 36%,#1a1230 0 42%,transparent 43%),
    linear-gradient(180deg,#2a1848,#0c0618);
  border-radius:40% 40% 28% 28% / 28% 28% 48% 48%;
  border:3px solid var(--citrus);
  box-shadow:0 0 0 2px #ff2d9a66,0 0 28px #2ef0ff88,inset 0 0 24px #0008;color:var(--citrus)}
.cp-shaker strong{font-size:2rem;font-weight:800;line-height:1;color:#ffe14a;text-shadow:0 0 12px #ffe14a}
.cp-shaker span{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--cyan);text-transform:uppercase}
.cp-shaker small{display:block;font-size:.62rem;font-weight:600;color:var(--foam);line-height:1.25;max-width:18ch;margin-top:4px}

/* slim neon-coaster promo rail 120-140px */
.cp-coasters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  max-width:1280px;margin:0 auto;padding:8px 16px 6px}
.cp-coaster{position:relative;display:block;height:132px;border-radius:16px;overflow:hidden;
  border:2px solid rgba(46,240,255,.5);
  box-shadow:0 0 16px #2ef0ff33,0 6px 16px #0008}
.cp-coaster img{width:100%;height:132px;object-fit:cover;object-position:center}
.cp-coaster:hover{border-color:var(--citrus);box-shadow:0 0 18px #ffe14a55}

/* bar-counter tiles — one compact row, art fills each tile */
.cp-counter{max-width:1280px;margin:0 auto;padding:6px 16px 4px}
.cp-counter h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cp-row{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
.cp-tile{position:relative;display:block;border-radius:12px;overflow:hidden;
  border:2px solid #ffe14a;background:#0a0614;
  box-shadow:0 0 0 1px #ff2d9a55,0 0 14px #2ef0ff33}
.cp-tile img{width:100%;height:184px;object-fit:cover;object-position:center top;display:block}
.cp-tile:hover{border-color:var(--cyan);box-shadow:0 0 18px #2ef0ff77;transform:translateY(-2px)}
.cp-tile span.cp-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* last-call ranking strip — compact documented values only */
.cp-lastcall{max-width:1280px;margin:0 auto;padding:6px 16px 10px}
.cp-lastcall-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;
  min-height:36px;padding:6px 14px;border-radius:10px;
  background:linear-gradient(90deg,#14081e,#0c1228 50%,#14081e);
  border:1px solid var(--line);box-shadow:0 0 16px #2ef0ff22;
  font-size:13px;font-weight:700;color:var(--foam)}
.cp-lastcall-bar b{color:var(--citrus);letter-spacing:.08em;text-transform:uppercase}
.cp-lastcall-bar i{font-style:normal;color:var(--cyan)}
.cp-lastcall-bar em{font-style:normal;color:var(--mute);font-weight:600;font-size:12px}

/* inner pages — these sit BELOW the 800px fold on home; on inner pages they are the body */
.cp-wrap{max-width:860px;margin:0 auto;padding:24px 18px 48px}
.cp-wrap.wide{max-width:1280px}
.cp-crumb{font-size:.9rem;color:var(--mute);margin:0 0 10px}
.cp-wrap h1{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.15;margin:0 0 14px;color:#fff;
  text-shadow:0 0 16px #ff2d9a55}
.cp-lead{font-size:1.05rem;color:var(--foam);font-weight:600}
.cp-fig{margin:16px 0 22px;border-radius:16px;overflow:hidden;border:1px solid var(--line);
  background:#0a0614;box-shadow:0 0 24px #2ef0ff22}
.cp-fig img{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}
.cp-fig figcaption{padding:8px 12px;font-size:.85rem;color:var(--mute);background:#0a0614}
.cp-wrap h2{color:var(--citrus);font-size:1.35rem;margin:1.6em 0 .5em}
.cp-wrap h3{color:var(--cyan);font-size:1.1rem;margin:1.3em 0 .4em}
.cp-wrap p,.cp-wrap li{color:var(--foam)}
.cp-wrap ul,.cp-wrap ol{padding-left:1.2em}
.cp-note{border-left:3px solid var(--magenta);padding:8px 12px;background:#14081e;border-radius:0 8px 8px 0}
.cp-visit{display:inline-flex;margin-top:8px;padding:8px 14px;border:1px solid var(--cyan);border-radius:999px;font-weight:700}
.cp-recbox{margin:18px 0;padding:14px 16px;border-radius:14px;border:1px solid var(--citrus);
  background:linear-gradient(180deg,#1a1028,#0c0618)}
.cp-recbox p{margin:8px 0 0;font-size:.9rem;color:var(--mute)}

/* post-fold home plaques */
.cp-plaques{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  max-width:1280px;margin:0 auto;padding:8px 16px 28px}
.cp-plaque{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.cp-plaque b{display:block;color:var(--citrus);margin-bottom:6px}
.cp-plaque p{margin:0;font-size:.92rem;color:var(--foam)}

.cp-foot{border-top:1px solid var(--line);background:#0a0614;padding:28px 16px 40px;margin-top:12px}
.cp-foot-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.cp-foot h2{font-size:1rem;color:var(--citrus);margin:0 0 8px}
.cp-foot p,.cp-foot a{color:var(--mute);display:block;margin:4px 0}
.cp-foot a:hover{color:var(--cyan)}
.cp-18{max-width:1280px;margin:18px auto 0;font-size:.85rem;color:var(--mute)}

/* reviews hub: cartas-do-terraço */
.cp-feat{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 20px}
.cp-feat a{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0a0614}
.cp-feat img{width:100%;aspect-ratio:16/9;object-fit:cover}
.cp-feat strong,.cp-feat span{display:block;padding:6px 10px}
.cp-feat span{color:var(--mute);font-size:.85rem;padding-top:0}
.cp-tools{margin:10px 0}
.cp-tools input{width:min(420px,100%);min-height:40px;padding:8px 12px;border-radius:10px;
  border:1px solid var(--line);background:#0a0614;color:var(--foam);font:inherit}
.cp-trays{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.cp-tray{min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);
  background:#12081c;color:var(--foam);font-weight:700;cursor:pointer}
.cp-tray[aria-pressed="true"]{border-color:var(--citrus);color:var(--citrus);box-shadow:0 0 12px #ffe14a44}
.cp-slips{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.cp-slip{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;
  padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:#100818}
.cp-slip img,.cp-mono{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#1a1230}
.cp-mono{display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--citrus)}
.cp-slip .hall{display:block;font-size:.75rem;color:var(--cyan);letter-spacing:.04em;text-transform:uppercase}
.cp-more{display:block;margin:16px auto;min-height:40px;padding:8px 20px;border-radius:999px;
  border:1px solid var(--citrus);background:#12081c;color:var(--citrus);font:inherit;font-weight:800;cursor:pointer}

@media (max-width:900px){
  .cp-burger{display:inline-flex;align-items:center}
  .cp-nav{display:none}
  .cp-top.is-open .cp-nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:#0a0614;padding:10px 12px 16px;border-bottom:1px solid var(--line)}
  .cp-word{font-size:32px}
  .cp-hero{height:240px}
  .cp-hero-art{height:240px}
  .cp-hero-copy h1{font-size:28px}
  .cp-hero-box{grid-template-columns:1fr;align-items:end}
  .cp-shaker{display:none}
  .cp-coasters{grid-template-columns:1fr; }
  .cp-coaster,.cp-coaster img{height:110px}
  .cp-row{grid-template-columns:repeat(2,1fr)}
  .cp-tile img{height:210px}
  .cp-plaques,.cp-feat,.cp-slips,.cp-foot-grid{grid-template-columns:1fr}
}
