/* 3K Tecnologia — portfólio e mockups visuais */
#portfolio { background:#0c0c10; padding:110px 0; color:#f5f3ee; overflow:hidden; }
.portfolio-wrap { max-width:1200px; margin:0 auto; padding:0 48px; }
.portfolio-top { display:flex; justify-content:space-between; gap:60px; align-items:end; margin-bottom:42px; }
.portfolio-top h2 { color:#f5f3ee; margin-bottom:0; max-width:640px; }
.portfolio-intro { color:rgba(245,243,238,.58); font:italic 1.08rem/1.7 'Instrument Serif',serif; max-width:430px; }
.rich-content>:first-child{margin-top:0}.rich-content>:last-child{margin-bottom:0}.rich-content p{margin:0 0 .8em}.rich-content ul,.rich-content ol{margin:.7em 0 1em;padding-left:1.5em}.rich-content li{margin:.3em 0}.rich-content h2,.rich-content h3,.rich-content h4{line-height:1.2;margin:1em 0 .45em}.rich-content blockquote{margin:1em 0;padding:.7em 1em;border-left:4px solid var(--case-color,#00b8d9);background:rgba(0,184,217,.08)}.rich-content a{color:inherit;text-decoration:underline;text-decoration-color:var(--case-color,#00b8d9);text-underline-offset:3px}
.portfolio-filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:34px; }
.portfolio-filter { border:1px solid rgba(255,255,255,.14); background:transparent; color:rgba(255,255,255,.66); border-radius:100px; padding:9px 17px; font:700 .68rem/1 'Instrument Sans',sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:.25s; }
.portfolio-filter:hover,.portfolio-filter.active { background:#00b8d9; border-color:#00b8d9; color:#fff; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.project-card { min-width:0; background:#17171d; border:1px solid rgba(255,255,255,.08); border-radius:22px; overflow:hidden; transition:transform .32s, border-color .32s, box-shadow .32s; }
.project-card:hover { transform:translateY(-7px); border-color:rgba(0,184,217,.42); box-shadow:0 24px 70px rgba(0,0,0,.3); }
.project-card.is-hidden { display:none; }
.project-visual { display:block; position:relative; padding:22px 22px 0; background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015)); text-decoration:none; overflow:hidden; }
.project-open { position:absolute; right:34px; top:34px; z-index:3; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:#fff; background:rgba(12,12,16,.82); backdrop-filter:blur(8px); font-size:1.05rem; transition:.25s; }
.project-card:hover .project-open { background:#00b8d9; transform:rotate(8deg); }
.project-body { padding:27px 28px 30px; }
.project-meta { display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.project-meta span,.project-meta small { font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.project-meta span { color:#00b8d9; }.project-meta small { color:rgba(255,255,255,.3); }.project-meta i { width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.25); }
.project-body h3 { color:#fff; font:400 2rem/1.05 'Bebas Neue',sans-serif; letter-spacing:.01em; margin-bottom:10px; }
.project-body p { color:rgba(255,255,255,.52); font-size:.86rem; line-height:1.72; min-height:48px; }
.project-techs { display:flex; flex-wrap:wrap; gap:7px; margin:20px 0 22px; }
.project-techs span { color:rgba(255,255,255,.62); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.07); padding:5px 10px; border-radius:6px; font-size:.62rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.project-link { color:#fff; text-decoration:none; display:inline-flex; gap:9px; align-items:center; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.project-link span { color:#00b8d9; font-size:1.1rem; transition:transform .2s; }.project-link:hover span { transform:translateX(5px); }
.portfolio-bottom { margin-top:38px; padding:28px 30px; border:1px solid rgba(255,255,255,.1); border-radius:18px; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.portfolio-bottom strong { display:block; font:400 1.5rem/1.1 'Bebas Neue',sans-serif; color:#fff; letter-spacing:.02em; }.portfolio-bottom p { color:rgba(255,255,255,.46); font-size:.82rem; margin-top:5px; }

.project-screen { position:relative; width:100%; aspect-ratio:16/10; background:#eef1f6; border-radius:12px 12px 0 0; overflow:hidden; box-shadow:0 18px 45px rgba(0,0,0,.3); color:#17202b; }
.project-screen-image { background:#151820; }
.project-real-image { width:100%; height:100%; display:block; object-fit:cover; object-position:top center; }
.screen-browser { height:22px; padding:0 9px; display:flex; align-items:center; gap:4px; background:#fff; border-bottom:1px solid #e5e8ed; }
.screen-browser>span { width:5px;height:5px;border-radius:50%;background:#d5d9df; }.screen-browser>span:first-child{background:#ff6b6b}.screen-browser>span:nth-child(2){background:#ffc44d}.screen-browser>span:nth-child(3){background:#42d392}
.screen-address { margin:auto;width:35%;height:5px;border-radius:9px;background:#eef0f3; }
.screen-app { height:calc(100% - 22px); display:grid;grid-template-columns:13% 1fr; }
.screen-side { background:#121721; padding:10px 8px; display:flex; flex-direction:column; gap:9px; align-items:center; }
.screen-brand { width:21px;height:21px;border-radius:6px;background:linear-gradient(135deg,var(--project-color),var(--project-color-2));color:#fff;font:bold 7px/21px Arial;text-align:center;margin-bottom:7px; }
.screen-side i { display:block;width:55%;height:4px;border-radius:6px;background:rgba(255,255,255,.12); }.screen-side i:nth-child(3){background:var(--project-color)}
.screen-main { padding:12px; min-width:0; }
.screen-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px; }.screen-head div b{display:block;width:58px;height:7px;background:#273142;border-radius:2px;margin-bottom:4px}.screen-head div small{display:block;width:86px;height:3px;background:#ccd2db;border-radius:3px}.screen-head>span{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--project-color),var(--project-color-2))}
.metric-row { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:8px}.metric-row>div{background:#fff;border-radius:6px;padding:7px;box-shadow:0 2px 5px rgba(18,23,33,.04)}.metric-row small{display:block;color:#8b95a5;font:bold 5px Arial;text-transform:uppercase}.metric-row strong{display:block;font:bold 14px Arial;margin:3px 0 1px}.metric-row em{font:5px Arial;color:var(--project-color);font-style:normal}.metric-row.compact strong{font-size:12px}
.chart-row { display:grid;grid-template-columns:1.7fr 1fr;gap:7px;height:44%;}.bar-chart,.rank-list{background:#fff;border-radius:6px;padding:8px}.bar-chart{display:flex;align-items:end;gap:5px}.bar-chart i{flex:1;background:linear-gradient(180deg,var(--project-color),var(--project-color-2));border-radius:2px 2px 0 0;opacity:.85}.rank-list{display:flex;flex-direction:column;gap:5px}.rank-list span{display:flex;align-items:center;gap:4px;font:5px Arial;color:#7d8796}.rank-list b{font-size:5px}.rank-list i{width:10px;height:10px;border-radius:50%;background:#e8ebef}.rank-list em{font-style:normal;margin-left:auto;color:#273142;font-weight:bold}
.kanban-row { display:grid;grid-template-columns:repeat(3,1fr);gap:6px;height:72%}.kanban-row>div{background:#e7eaf0;border-radius:5px;padding:6px}.kanban-row b{display:block;font:bold 6px Arial;margin-bottom:6px}.kanban-row span{display:block;height:23%;background:#fff;border-radius:4px;margin-bottom:5px;border-left:2px solid var(--project-color);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.table-mock{background:#fff;border-radius:6px;padding:5px}.table-mock span{display:grid;grid-template-columns:12% 1fr 22%;gap:7px;align-items:center;padding:7px;border-bottom:1px solid #edf0f4}.table-mock b{height:12px;width:12px;border-radius:4px;background:var(--project-color)}.table-mock i,.table-mock em{height:4px;border-radius:4px;background:#d8dde5}.table-mock em{background:#e9f7ef}
.course-hero{background:linear-gradient(135deg,var(--project-color-2),var(--project-color));border-radius:7px;padding:11px;color:#fff;display:flex;justify-content:space-between;align-items:center}.course-hero small{font:5px Arial;opacity:.65}.course-hero strong{font:bold 9px Arial;display:block;margin:4px 0 6px}.course-hero span{display:block;width:80px;height:3px;background:rgba(255,255,255,.22);border-radius:3px}.course-hero span i{display:block;width:68%;height:100%;background:#fff}.course-hero>b{font:bold 13px Arial}.course-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.course-row>div{background:#fff;border-radius:6px;padding:8px}.course-row i{display:grid;place-items:center;width:19px;height:19px;border-radius:5px;background:color-mix(in srgb,var(--project-color) 18%,white);color:var(--project-color);font:7px Arial}.course-row span{display:block;width:75%;height:4px;background:#dfe3e8;margin-top:8px;border-radius:4px}
.order-layout{display:grid;grid-template-columns:1.45fr .8fr;gap:8px;height:75%}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.products span{display:grid;place-items:center;background:#fff;border-radius:6px;font-size:15px}.order{background:#fff;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:5px}.order>b{font:bold 7px Arial;margin-bottom:3px}.order>span{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f4;padding-bottom:4px}.order i{display:block;width:55%;height:4px;background:#dce1e7;border-radius:4px}.order em{font:6px Arial;font-style:normal}.order strong{margin-top:auto;font:bold 9px Arial;color:var(--project-color)}

/* página de case */
.case-body { background:#f5f3ee; }
.case-nav { position:sticky;top:0;z-index:50;background:rgba(245,243,238,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e2e0d8; }
.case-nav-inner { max-width:1200px;height:72px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between; }
.case-nav img { height:32px; }.case-back { text-decoration:none;color:#0c0c10;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px; }
.case-hero { padding:90px 0 75px; }.case-wrap { max-width:1200px;margin:auto;padding:0 48px; }.case-kicker { color:var(--case-color);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;display:block; }.case-title { font:400 clamp(4rem,8vw,7.5rem)/.9 'Bebas Neue',sans-serif;max-width:900px;color:#0c0c10;margin-bottom:25px}.case-lead { max-width:690px;color:#696978;font:italic 1.22rem/1.7 'Instrument Serif',serif; }.case-techs{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.case-techs span{background:#fff;border:1px solid #e2e0d8;border-radius:100px;padding:7px 15px;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.case-showcase{background:#0c0c10;padding:65px 0}.case-showcase .project-screen{max-width:980px;margin:auto;aspect-ratio:16/8.7;border-radius:18px;box-shadow:0 35px 90px rgba(0,0,0,.38)}.project-screen-large .screen-browser{height:30px}.project-screen-large .screen-app{height:calc(100% - 30px)}.project-screen-large .screen-main{padding:22px}.project-screen-large .screen-side{padding:18px 10px;gap:16px}.project-screen-large .screen-brand{width:38px;height:38px;font-size:11px;line-height:38px}.project-screen-large .screen-head{margin-bottom:18px}.project-screen-large .screen-head div b{width:110px;height:11px}.project-screen-large .screen-head div small{width:160px;height:5px}.project-screen-large .screen-head>span{width:30px;height:30px}.project-screen-large .metric-row{gap:13px;margin-bottom:14px}.project-screen-large .metric-row>div{padding:14px}.project-screen-large .metric-row small{font-size:8px}.project-screen-large .metric-row strong{font-size:26px}.project-screen-large .metric-row em{font-size:8px}.project-screen-large .chart-row{gap:13px}.project-screen-large .bar-chart,.project-screen-large .rank-list{padding:15px}.project-screen-large .kanban-row{gap:12px}.project-screen-large .kanban-row>div{padding:12px}.project-screen-large .kanban-row b{font-size:9px}.project-screen-large .table-mock span{padding:12px}.project-screen-large .course-hero{padding:22px}.project-screen-large .course-hero small{font-size:8px}.project-screen-large .course-hero strong{font-size:17px}.project-screen-large .course-row{gap:12px;margin-top:14px}.project-screen-large .course-row>div{padding:15px}.project-screen-large .products{gap:12px}.project-screen-large .products span{font-size:28px}.project-screen-large .order{padding:15px}.project-screen-large .order>b{font-size:11px}.project-screen-large .order strong{font-size:15px}
.case-story{padding:105px 0;background:#fff}.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.story-label{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--case-color)}.story-content h2{font:400 clamp(2.8rem,5vw,4.5rem)/1 'Bebas Neue',sans-serif;margin-bottom:26px}.story-block{color:#6d6d7a;line-height:1.85;font-size:.98rem;margin-bottom:22px}.story-block>strong{display:block;color:#0c0c10;margin-bottom:5px}.case-result{background:#0c0c10;color:#fff;border-radius:20px;padding:30px 32px;margin-top:34px;border-left:5px solid var(--case-color)}.case-result small{display:block;color:var(--case-color);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}.case-result .result-text{font:400 1.8rem/1.2 'Bebas Neue',sans-serif}.modules-section{padding:100px 0}.modules-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.modules-top h2{margin:0}.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-item{background:#fff;border:1px solid #e2e0d8;border-radius:14px;padding:24px}.module-item span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#fff;background:var(--case-color);font:bold 11px Arial;margin-bottom:22px}.module-item strong{font-size:.9rem}.case-cta{padding:90px 0;background:#00b8d9;color:#fff;text-align:center}.case-cta h2{color:#fff;font-size:clamp(3rem,6vw,5.5rem);max-width:760px;margin:0 auto 18px}.case-cta p{opacity:.76;margin-bottom:28px}.case-cta a{display:inline-flex;background:#0c0c10;color:#fff;text-decoration:none;border-radius:100px;padding:16px 28px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:900px){.portfolio-wrap,.case-wrap,.case-nav-inner{padding-left:24px;padding-right:24px}.portfolio-top{display:block}.portfolio-intro{margin-top:20px}.portfolio-grid{grid-template-columns:1fr}.story-grid{grid-template-columns:1fr;gap:28px}.modules-grid{grid-template-columns:1fr 1fr}.case-showcase{padding:30px 20px}.case-hero{padding:65px 0}.case-title{font-size:clamp(3.7rem,15vw,6rem)}}
@media(max-width:560px){#portfolio{padding:80px 0}.portfolio-grid{gap:18px}.project-visual{padding:14px 14px 0}.project-body{padding:23px 21px 25px}.portfolio-bottom{align-items:flex-start;flex-direction:column}.modules-grid{grid-template-columns:1fr}.case-nav-inner{height:64px}.case-nav img{height:27px}.case-showcase .project-screen{aspect-ratio:16/11}.project-screen-large .screen-main{padding:10px}.project-screen-large .screen-side{padding:10px 5px;gap:8px}.project-screen-large .screen-brand{width:23px;height:23px;line-height:23px;font-size:7px}.project-screen-large .metric-row>div{padding:7px}.project-screen-large .metric-row strong{font-size:14px}.project-screen-large .chart-row{gap:6px}.project-screen-large .bar-chart,.project-screen-large .rank-list{padding:7px}.project-screen-large .products span{font-size:16px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-open,.project-link span{transition:none}}
