/* Portfolio v2 — tema claro único (SISTEMA_VISUAL.md). Sem modo escuro, nem por prefers-color-scheme. */
:root{color-scheme:light only;--bg:#fff;--surface:#f5f8f7;--line:#dfe7e4;--ink:#10201c;--muted:#4a5c57;--brand:#0b6b5d;--brand-dark:#085449;--brand-soft:#e3f2ee;--warm:#b4540a;--f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--f-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2.5rem;--s7:4rem;--r:10px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--f-body);padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1120px;margin:0 auto}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--warm);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:20}
.skip:focus{left:8px;top:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
header.top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s3) var(--s4);padding-block:var(--s4);border-bottom:1px solid var(--line)}
.brand{font:700 1.25rem var(--f-display);color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand span{color:var(--brand)}
nav.top{display:flex;gap:var(--s5);margin-left:auto}
nav.top a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none;font-weight:600}
nav.top a:hover{color:var(--brand)}
nav.lang{display:flex;gap:var(--s1)}
nav.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:99px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem}
nav.lang a:hover{border-color:var(--brand);color:var(--brand)}
nav.lang a[aria-current]{background:var(--brand);border-color:var(--brand);color:#fff}
.hero{padding-block:var(--s6) var(--s5);display:grid;gap:var(--s5);max-width:760px}
.eyebrow{font:700 .875rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin:0}
h1{font:800 clamp(2rem,6vw,3.4rem)/1.05 var(--f-display);letter-spacing:-.025em;margin:0;text-wrap:balance}
.lead{font-size:1.2rem;color:var(--muted);margin:0;max-width:60ch}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.15rem;border-radius:8px;font:700 1rem var(--f-body);text-decoration:none;border:2px solid var(--brand);background:var(--brand);color:#fff}
.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn.ghost{background:#fff;color:var(--brand)}
.btn.ghost:hover{background:var(--brand-soft)}
.proof{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin:0;padding:var(--s4) 0 0;list-style:none;border-top:1px solid var(--line);color:var(--muted)}
.proof b{color:var(--ink);font-family:var(--f-display);font-size:1.4rem;margin-right:.3rem}
section{padding-block:var(--s6)}
h2{font:700 clamp(1.5rem,4vw,2.1rem)/1.15 var(--f-display);letter-spacing:-.015em;margin:0 0 var(--s4);text-wrap:balance}
.filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s5)}
.chip{min-height:44px;padding:.45rem 1rem;border-radius:99px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:600 1rem var(--f-body);cursor:pointer}
.chip:hover{border-color:var(--brand)}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.chip small{font-size:.875rem;font-weight:600;margin-left:.2rem}
.grid{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none}
.card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 8px 24px rgba(16,32,28,.1);transform:translateY(-2px)}
.shot{aspect-ratio:16/10;background:var(--surface);border-bottom:1px solid var(--line);overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.shot.empty{display:grid;place-items:center;text-align:center;padding:var(--s4);color:var(--muted);font-weight:600;background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 12px,#fff 12px,#fff 24px)}
.body{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);flex:1}
.tag{align-self:flex-start;font:700 .8125rem var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);padding:.15rem .6rem;border-radius:99px}
.card h3{font:700 1.2rem/1.25 var(--f-display);margin:0}
.card p{margin:0;color:var(--muted)}
.card .status{font-size:.9375rem}
.card .btn{margin-top:auto;align-self:flex-start}
.how{background:var(--surface);margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px))}
.how h2,.how ul{max-width:1120px;margin-inline:auto}
.how ul{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));list-style:none;padding:0}
.how li{border-top:3px solid var(--brand);padding-top:var(--s3)}
.how strong{font:700 1.1rem var(--f-display);display:block;margin-bottom:var(--s1)}
.contact{display:grid;gap:var(--s4);max-width:640px}
.addr{font:700 1.25rem var(--f-display);word-break:break-word}
footer{border-top:1px solid var(--line);padding-block:var(--s5);color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.card:hover{transform:none}}
@media (min-width:760px){.hero{padding-block:var(--s7) var(--s6)}}
@media (max-width:560px){nav.top a.hide-m{display:none}}

.type-group{margin:0 0 var(--s6,3rem)}
.type-group[hidden]{display:none}
.type-title{font:700 clamp(1.15rem,3vw,1.4rem)/1.2 var(--f-display);margin:0 0 var(--s4);padding-bottom:.5rem;border-bottom:2px solid var(--line);color:var(--ink)}
.type-title small{font-size:.9rem;font-weight:600;color:var(--muted);margin-left:.4rem}
.card h4{font:700 1.2rem/1.25 var(--f-display);margin:0}
.brand,.addr{display:inline-flex;align-items:center;min-height:44px}
