.home-hero{background:#0f3d2a;color:#fff;padding:36px 24px 30px}
.home-wrap{max-width:48rem;margin:0 auto}
.home-eyebrow{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}
.home-hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,5.2vw,2.5rem);line-height:1.15;margin-top:14px}
@media(min-width:640px){.home-hero h1{white-space:nowrap}}
.home-hero h1 span{color:var(--ochre)}
.home-hero p{margin-top:12px;color:rgba(255,255,255,.85);font-size:.95rem;font-weight:500}
.home-hero .home-eyebrow{margin-top:0;color:var(--ochre);font-size:12px;font-weight:500}
.home-list{max-width:48rem;margin:0 auto;padding:22px 24px 56px;display:flex;flex-direction:column;gap:14px}
.home-list h2{font-size:14px;font-weight:500;color:var(--muted-foreground)}
.art{display:flex;gap:18px;align-items:center;text-decoration:none;color:var(--foreground);background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 20px 10px 10px;transition:transform .2s,border-color .2s,box-shadow .2s}
.art:hover,.art:focus-visible{transform:translateY(-2px);border-color:var(--ochre);box-shadow:var(--shadow-soft);outline:none}
.art-tile{flex:0 0 108px;height:108px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}
.art-tile svg{width:38px;height:38px}
.art-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.art-tag{font-size:12px;letter-spacing:.1em;color:#b9791f}
.art-title{font-family:var(--font-display);font-size:1.15rem;line-height:1.25;font-weight:600;color:#0f3d2a}
.art-stats{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px;color:var(--muted-foreground)}
.art-stats b{color:#0f3d2a;font-weight:600}
.art-go{color:#0f3d2a;font-size:20px;transition:transform .2s}
.art:hover .art-go{transform:translateX(4px)}
@media(max-width:520px){.art{gap:12px;padding-right:12px}.art-tile{flex-basis:72px;height:72px}.art-tile svg{width:28px;height:28px}.art-title{font-size:1rem}}

/* Animações da página inicial (só CSS) */
@keyframes home-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes home-fade{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.home-hero .home-eyebrow,.home-hero h1,.home-hero p{animation:home-fade .7s cubic-bezier(.2,.7,.2,1) both}
.home-hero h1{animation-delay:.12s}.home-hero p:last-child{animation-delay:.24s}
.home-list h2{animation:home-fade .6s ease .3s both}
.art{animation:home-rise .7s cubic-bezier(.2,.7,.2,1) both}
.art:nth-of-type(1){animation-delay:.35s}.art:nth-of-type(2){animation-delay:.47s}
.art:nth-of-type(3){animation-delay:.59s}.art:nth-of-type(4){animation-delay:.71s}.art:nth-of-type(5){animation-delay:.83s}
.art-tile{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.art:hover .art-tile,.art:focus-visible .art-tile{transform:scale(1.06) rotate(-3deg)}
.art-go{transition:transform .3s ease}
.art:hover .art-go,.art:focus-visible .art-go{transform:translateX(6px)}
@media(prefers-reduced-motion:reduce){
 .home-hero *,.home-list h2,.art{animation:none!important}
 .art-tile,.art-go{transition:none!important}.art:hover .art-tile{transform:none}
}

/* Barra lateral (desktop) */
.sidebar{display:none}
@media(min-width:1024px){
 .sidebar{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:17rem;padding:28px 18px 20px;background:#0f3d2a;color:#fff;overflow-y:auto;z-index:40}
 .home-main{margin-left:17rem}
 .home-main>nav{display:none}
}
.side-brand span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre)}
.side-brand strong{display:block;margin-top:8px;font-family:var(--font-display);font-size:1.25rem;line-height:1.2;font-weight:600}
.side-nav{margin-top:28px;display:flex;flex-direction:column;gap:4px}
.side-label{margin:18px 10px 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.side-link{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;color:rgba(255,255,255,.88);text-decoration:none;font-size:14px;font-weight:500;line-height:1.25;transition:background .2s,color .2s}
.side-link small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:400}
.side-link:hover,.side-link:focus-visible{background:rgba(255,255,255,.1);color:#fff;outline:none}
.side-link.is-active{background:var(--ochre);color:#2a1d06}
.side-dot{flex:0 0 10px;height:10px;border-radius:50%}
.side-home{background:currentColor}
.side-foot{margin-top:auto;padding:16px 10px 0;font-size:12px;color:rgba(255,255,255,.5)}

/* Página de projetos */
.proj-wrap{max-width:64rem}
.proj-main{max-width:64rem;margin:0 auto;padding:22px 24px 56px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;color:var(--foreground);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chip b{font-weight:600;font-size:12px;color:var(--muted-foreground)}
.chip:hover{border-color:var(--ochre)}
.chip.is-on{background:#0f3d2a;border-color:#0f3d2a;color:#fff}
.chip.is-on b{color:rgba(255,255,255,.7)}
.chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:14px}
.proj{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--foreground);background:#fff;border:1px solid var(--border);border-top:4px solid var(--c,#137d5c);border-radius:14px;padding:16px 18px;transition:transform .2s,box-shadow .2s}
.proj[hidden]{display:none}
.proj:hover,.proj:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-soft);outline:none}
.proj-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.proj-cat{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--c,#137d5c);font-weight:600}
.proj-plat{font-size:11.5px;color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;padding:1px 9px;white-space:nowrap}
.proj-name{font-family:var(--font-display);font-size:1.15rem;line-height:1.25;font-weight:600;color:#0f3d2a}
.proj-desc{font-size:14px;line-height:1.55;color:var(--muted-foreground);flex:1}
.proj-go{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:13.5px;font-weight:600;color:#0f3d2a}
.proj-go svg{transition:transform .25s}
.proj:hover .proj-go svg{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.proj,.proj-go svg{transition:none!important}.proj:hover{transform:none}}

/* Galeria da página inicial */
.home-list{max-width:64rem;display:block}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:16px;margin-top:14px}
.gcard{display:flex;flex-direction:column;text-decoration:none;color:var(--foreground);background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;animation:home-rise .7s cubic-bezier(.2,.7,.2,1) both}
.gcard:nth-child(1){animation-delay:.35s}.gcard:nth-child(2){animation-delay:.45s}.gcard:nth-child(3){animation-delay:.55s}.gcard:nth-child(4){animation-delay:.65s}.gcard:nth-child(5){animation-delay:.75s}.gcard:nth-child(6){animation-delay:.85s}
.gcard:hover,.gcard:focus-visible{transform:translateY(-3px);border-color:var(--ochre);box-shadow:var(--shadow-soft);outline:none}
.gcard-tile{display:flex;align-items:center;justify-content:center;height:120px;color:#fff}
.gcard-tile svg{width:44px;height:44px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.gcard:hover .gcard-tile svg{transform:scale(1.12) rotate(-4deg)}
.gcard-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
.gcard-title{font-family:var(--font-display);font-size:1.12rem;line-height:1.28;font-weight:600;color:#0f3d2a;flex:1}
.gcard-proj{border-style:dashed;border-color:#0f3d2a}
@media(prefers-reduced-motion:reduce){.gcard{animation:none!important}.gcard,.gcard-tile svg{transition:none!important}.gcard:hover{transform:none}}
