/* V2 portfolio components, layered on the existing Maker Voltz design system. */
.app-cta{display:inline-flex;align-items:center;gap:13px;padding:10px 15px;border:1px solid rgba(55,223,195,.45);border-radius:999px;background:rgba(55,223,195,.08);color:var(--text);font-size:11px;font-weight:600;transition:background .2s,border-color .2s,transform .2s;white-space:nowrap}
.app-cta span{color:var(--brand-mint)}
.app-cta:hover{background:rgba(55,223,195,.16);border-color:var(--brand-mint);transform:translateY(-1px)}
.home-hero{position:relative;min-height:630px;display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:56px;padding-top:70px;padding-bottom:92px}
.home-hero-copy{position:relative;z-index:2}
.home-hero h1{max-width:600px;font-size:clamp(48px,5.6vw,72px);line-height:1.06;font-weight:550}
.home-hero h1 span{color:var(--brand-mint)}
.home-lede{max-width:520px;font-size:15px;line-height:1.85;color:var(--muted)}
.home-hero-image{position:relative;margin:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:24px;background:var(--surface);aspect-ratio:1.08;max-height:490px}
.home-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.home-hero-image:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(4,12,20,.92))}
.home-hero-image figcaption{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:grid;gap:5px;color:#dfe7ec;font-size:10px}
.image-status{font-size:8px;letter-spacing:.13em;color:#f1f6f8}
.image-status i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;background:var(--brand-blue)}
.home-proof{display:flex;align-items:center;gap:22px;margin-top:48px}
.home-proof>div{display:grid;gap:2px}
.home-proof b{font:600 21px var(--display);letter-spacing:-.05em;color:var(--text)}
.home-proof span{max-width:175px;color:var(--quiet);font-size:9px;line-height:1.45}
.home-proof>i{width:1px;height:34px;background:var(--line-strong)}
.home-hero>.hero-scroll{left:28px;bottom:30px}
.competencies,.featured{padding-top:90px;padding-bottom:105px}
.competencies{border-top:1px solid var(--line)}
.competency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.competency-card{padding:12px 12px 17px;border:1px solid var(--line);border-radius:19px;background:rgba(14,28,42,.72);transition:transform .25s,border-color .25s,background .25s}
.competency-card:hover{transform:translateY(-4px);border-color:rgba(55,223,195,.4);background:var(--surface)}
.competency-image{position:relative;overflow:hidden;aspect-ratio:1.18;border-radius:12px;background:#111f2c;margin-bottom:18px}
.competency-image img{width:100%;height:100%;object-fit:cover}
.competency-image>span:not(.placeholder-glyph){position:absolute;top:12px;left:12px;color:#f6f9fb;font-size:9px}
.competency-card .eyebrow{font-size:8px;margin:0 4px 8px}
.competency-card h3{font-size:18px;line-height:1.22;margin:0 4px 9px}
.competency-card>p:not(.eyebrow){min-height:56px;margin:0 4px 16px;color:var(--muted);font-size:10px;line-height:1.7}
.card-link{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 0;border-top:1px solid var(--line);color:#d5e2e9;font-size:9px}
.card-link b{color:var(--brand-mint);font-size:13px}
.competency-placeholder{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,rgba(55,223,195,.12),transparent 65%),linear-gradient(145deg,#0d1d2b,#09131f)}
.competency-placeholder small{position:absolute;bottom:14px;color:var(--quiet);letter-spacing:.13em;font-size:7px}
.placeholder-glyph{font:600 36px var(--display);letter-spacing:-.08em;color:var(--brand-mint)}
.placeholder-glyph span{font-size:.45em;vertical-align:top;margin-left:4px;color:#a8b9c4;letter-spacing:.04em}
.competency-number{position:absolute;top:12px;left:12px}
.featured{padding-top:85px;background:linear-gradient(180deg,rgba(13,29,44,.45),transparent 78%)}
.featured .section-heading{margin-bottom:32px}
.server-feature{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center;padding:22px;border:1px solid var(--line-strong);border-radius:23px;background:linear-gradient(125deg,rgba(16,34,49,.94),rgba(9,20,31,.95));margin-bottom:15px}
.server-placeholder{min-height:340px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:19px;border:1px dashed rgba(161,176,189,.22);border-radius:15px;background:radial-gradient(ellipse,rgba(36,104,242,.08),transparent 62%),#091622}
.placeholder-icon{display:grid;place-items:center;width:78px;height:78px;border:1px solid rgba(55,223,195,.35);border-radius:22px;font:600 19px var(--display);color:var(--brand-mint);letter-spacing:.08em}
.server-placeholder>small{font-size:8px;letter-spacing:.15em;color:var(--quiet)}
.server-feature-copy .eyebrow{font-size:9px;margin-bottom:13px}
.server-feature-copy h3{font-size:43px;line-height:1.06;margin:0 0 15px}
.server-feature-copy>p:not(.eyebrow){max-width:450px;color:var(--muted);font-size:12px;line-height:1.85}
.server-milestones{display:grid;gap:9px;margin:20px 0 23px;color:#c2d0d8;font-size:10px}
.server-milestones i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;background:var(--brand-blue)}
.server-milestones i.milestone-done{background:var(--brand-mint)}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.project-tile{position:relative;display:block;overflow:hidden;min-height:245px;aspect-ratio:1.28;border:1px solid var(--line);border-radius:17px;background:#0b1926}
.project-tile>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .45s}
.project-tile:hover>img{transform:scale(1.035)}
.tile-shade{position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(3,10,17,.95))}
.tile-info{position:absolute;z-index:1;inset:auto 17px 16px;display:grid;gap:5px}
.tile-info small{color:var(--brand-mint);font-size:7px;letter-spacing:.14em}
.tile-info b{font:600 17px var(--display);letter-spacing:-.03em}
.tile-info i{font-size:9px;font-style:normal;color:#afbdc7}
.project-tile-placeholder{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,rgba(36,104,242,.12),transparent 62%),linear-gradient(140deg,#102031,#09131e)}
.project-tile-placeholder:before,.project-tile-placeholder:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(55,223,195,.1);border-radius:50%}
.project-tile-placeholder:after{width:245px;height:245px}
.tile-placeholder-glyph{position:relative;z-index:1;color:#9bb1c0;font:500 31px var(--display);letter-spacing:.18em}
.tile-placeholder-glyph span{font-size:12px;color:var(--brand-mint);letter-spacing:.06em}
.tile-placeholder-note{position:absolute;z-index:1;top:calc(50% + 29px);color:var(--quiet);font-size:6px;letter-spacing:.13em}
.project-tile-placeholder .tile-info{left:17px;right:17px}
.ai-tile .tile-placeholder-glyph{letter-spacing:-.08em;color:var(--brand-mint)}
.image-note{margin:14px 0 0;color:var(--quiet);font-size:9px}
.production-note{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:55px;padding-top:55px;padding-bottom:100px;border-top:1px solid var(--line)}
.production-note-copy h2{font:550 clamp(32px,3.6vw,47px)/1.13 var(--display);letter-spacing:-.045em;margin:0 0 17px}
.production-note-copy h2 em,.about-copy h2 em{font-style:normal;color:var(--brand-mint)}
.production-note-copy>p:last-child{max-width:460px;color:var(--muted);font-size:12px;line-height:1.85;margin:0}
.production-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.production-gallery figure{margin:0;min-width:0}
.production-gallery img{width:100%;height:236px;object-fit:cover;border-radius:14px;background:var(--surface)}
.production-gallery figcaption{margin:8px 2px 0;color:var(--quiet);font-size:8px}
.about{display:grid;grid-template-columns:.62fr 1.38fr;gap:60px;padding-top:95px;padding-bottom:100px;border-top:1px solid var(--line)}
.about-label .eyebrow{margin-bottom:26px}
.about-rule{display:block;width:60px;height:1px;background:var(--brand-mint);margin-bottom:21px}
.about-index{font:600 9px/1.6 var(--display);letter-spacing:.13em;color:var(--quiet)}
.about-copy h2{font:550 clamp(36px,4.4vw,54px)/1.12 var(--display);letter-spacing:-.045em;margin:0 0 24px}
.about-copy>p{max-width:690px;color:var(--muted);font-size:13px;line-height:1.9}
.about-copy .text-link{display:inline-block;margin-top:12px}
.partnership{padding-top:12px;padding-bottom:105px}
.partnership-inner{display:flex;justify-content:space-between;align-items:center;gap:45px;padding:55px 60px;border:1px solid rgba(55,223,195,.2);border-radius:22px;background:radial-gradient(ellipse at 85% 50%,rgba(29,72,78,.18),transparent 43%),linear-gradient(120deg,#0d1b28,#091521)}
.partnership-inner h2{font:550 clamp(36px,4.4vw,54px)/1.12 var(--display);letter-spacing:-.045em;margin:0 0 15px}
.partnership-inner>div>p:last-child{max-width:570px;margin:0;color:var(--muted);font-size:12px;line-height:1.85}
.button-light{flex:none;background:#eaf4f4;color:#0b1a23}
.button-light:hover{background:var(--brand-mint)}
.footer-social{display:flex;gap:18px;margin-left:auto}
.footer-social a{font-size:9px;color:var(--muted)}
.footer-social a:hover{color:var(--brand-mint)}
.portfolio-page{padding-top:70px;padding-bottom:100px}
.page-intro{max-width:780px;margin-bottom:44px}
.page-intro h1{font-size:clamp(42px,6vw,70px);line-height:1.05;margin:0 0 17px}
.page-intro>p:last-child{max-width:650px;color:var(--muted);font-size:14px;line-height:1.85}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:35px}
.filter-button{padding:9px 14px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--muted);font-size:9px;cursor:pointer;transition:all .2s}
.filter-button[aria-pressed=true],.filter-button:hover{border-color:var(--brand-mint);background:rgba(55,223,195,.1);color:var(--text)}
.category-section{padding:28px 0 40px;scroll-margin-top:96px}
.category-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px}
.category-heading h2{font:550 clamp(26px,3vw,34px)/1.15 var(--display);letter-spacing:-.04em;margin:0}
.category-heading p{max-width:390px;margin:0;color:var(--muted);font-size:10px;line-height:1.7}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.portfolio-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);transition:transform .22s,border-color .22s}
.portfolio-card:hover{transform:translateY(-3px);border-color:rgba(55,223,195,.35)}
.portfolio-card[hidden],.category-section[hidden]{display:none}
.portfolio-card-image{position:relative;display:block;aspect-ratio:1.42;background:linear-gradient(145deg,#112335,#091520);overflow:hidden}
.portfolio-card-image img{width:100%;height:100%;object-fit:cover}
.portfolio-card-image .status{position:absolute;left:11px;top:11px;padding:7px 9px;border-radius:30px;background:rgba(4,13,21,.86)}
.portfolio-card-placeholder{display:grid;place-items:center}
.portfolio-card-copy{padding:16px}
.portfolio-card-copy .eyebrow{font-size:7px;margin:0 0 7px}
.portfolio-card-copy h3{font-size:17px;line-height:1.24;margin:0 0 8px}
.portfolio-card-copy>p{min-height:42px;margin:0;color:var(--muted);font-size:9px;line-height:1.65}
.portfolio-card-copy>a{display:inline-flex;gap:8px;align-items:center;margin-top:13px;font-size:9px;color:var(--text)}
.portfolio-card-copy>a span{color:var(--brand-mint)}
.image-kind{position:absolute;right:10px;top:12px;padding:6px 8px;border-radius:30px;background:rgba(4,13,21,.82);font-size:6px;letter-spacing:.12em;color:#dce6eb}
.catalogue-placeholder{display:grid;place-items:center;gap:5px;width:100%;height:100%;min-height:170px;background:radial-gradient(ellipse,rgba(55,223,195,.1),transparent 65%)}
.catalogue-placeholder b{font:500 26px var(--display);letter-spacing:.06em;color:var(--brand-mint)}
.catalogue-placeholder small,.catalogue-loading{color:var(--quiet);font-size:8px;letter-spacing:.12em}
.catalogue-loading{padding:24px 0}
.catalogue-note{margin-top:36px;color:var(--quiet);font-size:9px;line-height:1.7}
.project-detail{padding-top:34px;padding-bottom:100px}
.breadcrumb{display:flex;gap:9px;align-items:center;margin:0 0 37px;color:var(--quiet);font-size:9px}
.breadcrumb a:hover{color:var(--brand-mint)}
.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-bottom:57px}
.detail-title .eyebrow{margin-bottom:13px}
.detail-title h1{font-size:clamp(40px,5vw,62px);line-height:1.04;margin:0 0 17px}
.detail-title>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:13px;line-height:1.85}
.detail-title .status{margin-top:8px}
.detail-main-image{position:relative;margin:0;overflow:hidden;border-radius:18px;min-height:310px;aspect-ratio:1.22;background:linear-gradient(145deg,#102030,#091521);border:1px solid var(--line)}
.detail-main-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.detail-main-image figcaption{position:absolute;left:13px;bottom:13px;padding:7px 9px;border-radius:8px;background:rgba(4,13,21,.83);font-size:8px;color:#d8e3e9}
.detail-main-image.image-missing{display:grid;place-items:center}
.detail-main-image.image-missing:after{content:"Imagem do projeto a adicionar";position:absolute;bottom:16px;font-size:9px;letter-spacing:.06em;color:var(--quiet)}
.detail-main-image.image-missing .placeholder-icon{width:84px;height:84px}
.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px}
.detail-section{padding:27px 0;border-top:1px solid var(--line)}
.detail-section h2{font:550 22px/1.2 var(--display);letter-spacing:-.04em;margin:0 0 12px}
.detail-section p,.detail-section li{font-size:11px;color:var(--muted);line-height:1.85}
.detail-section ul{padding-left:18px;margin:0}
.detail-section li+li{margin-top:5px}
.detail-aside{position:sticky;top:96px;align-self:start;padding:20px;border:1px solid var(--line);border-radius:16px;background:rgba(13,28,42,.74)}
.detail-aside h2{font:600 11px var(--display);margin:0 0 12px}
.detail-aside p{font-size:10px;color:var(--muted);line-height:1.75}
.detail-aside .button{width:100%;justify-content:center;min-height:41px}
.detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.detail-gallery figure{margin:0}
.detail-gallery img{width:100%;height:205px;object-fit:cover;border-radius:12px;background:var(--surface)}
.detail-gallery figcaption{margin:7px 2px;color:var(--quiet);font-size:8px}
.detail-gallery-placeholder{height:205px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:12px;background:linear-gradient(145deg,#102030,#091521);color:var(--quiet);font-size:7px;letter-spacing:.13em}
.detail-next{margin-top:65px;padding:30px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}
.detail-next h2{font:550 28px var(--display);margin:0 0 8px}
.detail-next p{color:var(--muted);font-size:11px;line-height:1.8}
.detail-next .text-link{display:inline-block;margin-top:5px}
@media(max-width:850px){.home-hero{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:84px}.home-hero-copy{max-width:650px}.home-hero-image{width:min(100%,650px);justify-self:end;aspect-ratio:1.45;max-height:390px}.home-proof{margin-top:33px}.competency-grid{grid-template-columns:repeat(2,1fr)}.competency-card>p:not(.eyebrow){min-height:42px}.server-feature{gap:30px}.server-placeholder{min-height:290px}.featured-grid{grid-template-columns:repeat(2,1fr)}.production-note{grid-template-columns:1fr;gap:30px}.production-gallery img{height:265px}.about{grid-template-columns:.5fr 1.5fr;gap:35px}.partnership-inner{padding:42px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr .62fr;gap:25px}.detail-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.nav-shell{height:68px;padding:0 16px;gap:10px}.brand{font-size:10px;gap:8px}.brand img{width:32px;height:32px}.app-cta{padding:8px 11px;gap:7px;font-size:9px;margin-left:auto}.menu-toggle{display:flex;flex:none;flex-direction:column;gap:5px;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent}.menu-toggle span{height:1px;width:14px;background:var(--text);margin:0 auto;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:67px;left:0;right:0;padding:10px 20px 20px;background:rgba(7,17,29,.98);border-bottom:1px solid var(--line);flex-direction:column;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.section-wrap{padding-left:20px;padding-right:20px}.home-hero{padding-top:52px;padding-bottom:70px;gap:29px}.home-hero h1{font-size:clamp(43px,11.5vw,60px)}.home-lede{font-size:13px}.hero-actions{gap:17px;flex-wrap:wrap;margin-top:25px}.button{min-height:44px;padding:0 16px;font-size:10px;gap:12px}.home-hero-image{width:100%;aspect-ratio:.96;max-height:unset;border-radius:18px}.home-hero-image img{object-position:center 42%}.home-hero-image figcaption{left:13px;right:13px;bottom:13px;font-size:9px}.home-proof{gap:14px;margin-top:28px}.home-proof b{font-size:19px}.home-proof span{max-width:145px;font-size:8px}.home-hero>.hero-scroll{left:20px;bottom:21px;font-size:8px}.competencies,.featured{padding-top:70px;padding-bottom:76px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:35px}.section-heading>p{margin-top:13px;font-size:11px}.competency-grid{grid-template-columns:1fr 1fr;gap:9px}.competency-card{padding:8px 8px 12px;border-radius:14px}.competency-image{aspect-ratio:.95;border-radius:9px;margin-bottom:13px}.competency-card h3{font-size:15px}.competency-card .eyebrow{font-size:6px;letter-spacing:.1em}.competency-card>p:not(.eyebrow){min-height:65px;font-size:8px}.card-link{font-size:8px;padding-top:9px}.featured .section-heading>.text-link{display:inline-block;margin-top:15px}.server-feature{grid-template-columns:1fr;gap:22px;padding:12px;border-radius:17px}.server-placeholder{min-height:230px}.server-feature-copy{padding:0 6px 7px}.server-feature-copy h3{font-size:36px}.server-feature-copy>p:not(.eyebrow){font-size:11px}.featured-grid{grid-template-columns:1fr 1fr;gap:9px}.project-tile{min-height:190px;aspect-ratio:.9;border-radius:13px}.tile-info{inset:auto 11px 11px;gap:4px}.tile-info small{font-size:6px;letter-spacing:.1em}.tile-info b{font-size:14px}.tile-info i{font-size:8px}.image-note{font-size:8px;line-height:1.6}.production-note{padding-top:40px;padding-bottom:75px;gap:24px}.production-note-copy h2{font-size:34px}.production-note-copy>p:last-child{font-size:11px}.production-gallery{gap:9px}.production-gallery img{height:175px;border-radius:10px}.production-gallery figcaption{font-size:7px}.about{grid-template-columns:1fr;gap:21px;padding-top:70px;padding-bottom:75px}.about-label{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;align-items:center}.about-label .eyebrow{grid-column:span 2;margin:0}.about-rule{width:100%;margin:0}.about-index{font-size:7px}.about-copy h2{font-size:36px}.about-copy>p{font-size:11px}.partnership{padding-bottom:75px}.partnership-inner{display:block;padding:30px 23px;border-radius:17px}.partnership-inner h2{font-size:36px}.partnership-inner>div>p:last-child{font-size:11px}.partnership-inner .button{margin-top:20px}.site-footer{padding:19px 20px;display:grid;grid-template-columns:1fr auto;gap:10px}.site-footer>p{grid-column:1;grid-row:2;font-size:8px}.footer-social{grid-column:1;grid-row:3;margin:0;gap:13px}.footer-social a{font-size:8px}.site-footer>small{grid-column:2;grid-row:2;margin:0;font-size:8px}.portfolio-page{padding-top:50px;padding-bottom:75px}.page-intro{margin-bottom:28px}.page-intro h1{font-size:44px}.page-intro>p:last-child{font-size:12px}.filter-bar{gap:7px;margin-bottom:21px}.filter-button{padding:8px 10px;font-size:8px}.category-section{padding:21px 0 25px;scroll-margin-top:78px}.category-heading{display:block;margin-bottom:14px}.category-heading h2{font-size:26px}.category-heading p{margin-top:7px;font-size:9px}.portfolio-grid{grid-template-columns:1fr;gap:10px}.portfolio-card{display:grid;grid-template-columns:.85fr 1.15fr;border-radius:13px}.portfolio-card-image{aspect-ratio:unset;min-height:150px;height:100%}.portfolio-card-image .status{top:7px;left:7px;padding:6px;font-size:7px}.portfolio-card-copy{padding:12px}.portfolio-card-copy .eyebrow{font-size:6px}.portfolio-card-copy h3{font-size:15px}.portfolio-card-copy>p{min-height:0;font-size:8px}.portfolio-card-copy>a{margin-top:9px;font-size:8px}.project-detail{padding-top:25px;padding-bottom:72px}.breadcrumb{margin-bottom:25px;font-size:8px;flex-wrap:wrap}.detail-hero{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.detail-title h1{font-size:43px}.detail-title>p:not(.eyebrow){font-size:11px}.detail-main-image{min-height:250px;aspect-ratio:1.1;border-radius:14px}.detail-grid{grid-template-columns:1fr;gap:0}.detail-section{padding:21px 0}.detail-section h2{font-size:19px}.detail-section p,.detail-section li{font-size:10px}.detail-aside{position:static;grid-row:1;margin-bottom:14px;padding:16px}.detail-gallery{grid-template-columns:1fr 1fr;gap:8px}.detail-gallery img,.detail-gallery-placeholder{height:145px;border-radius:9px}.detail-gallery figcaption{font-size:7px}.detail-next{margin-top:38px;padding:22px}.detail-next h2{font-size:24px}.reveal{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.home-hero-image img,.project-tile>img,.competency-card,.portfolio-card,.app-cta{transition-duration:.01ms!important}}



/* Navegação inferior translúcida, compartilhada pelo site inteiro. */
.site-header .nav-links,.site-header .menu-toggle{display:none!important}
.site-header .nav-shell{justify-content:space-between}
body{padding-bottom:112px}
.site-dock{position:fixed;z-index:30;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:4px;width:max-content;max-width:calc(100% - 28px);padding:8px;border:1px solid rgba(255,255,255,.23);border-radius:21px;background:rgba(108,116,124,.46);box-shadow:0 14px 42px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.17);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}
.site-dock a{min-width:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 12px 7px;border-radius:14px;color:#edf1f4;font-size:10px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.25);transition:background .2s,transform .2s,color .2s}
.site-dock a:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}
.site-dock a[aria-current=page]{background:rgba(255,255,255,.2);box-shadow:inset 0 1px rgba(255,255,255,.15);color:#fff}
.site-dock svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.site-dock a:focus-visible{outline:2px solid var(--brand-mint);outline-offset:2px}
.reveal{transition:opacity .72s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.2,.72,.25,1) var(--reveal-delay,0ms)}
.home-hero-image img{transform:scale(1.035);transition:transform 1.15s cubic-bezier(.2,.72,.25,1)}
.home-hero-image.is-visible img{transform:scale(1)}
.home-category-list{width:100vw;margin:58px calc(50% - 50vw) 0}
.home-category-band{padding:58px 28px 64px;border-top:1px solid rgba(208,226,239,.15)}
.home-category-band[data-tone=cool]{background:#13212d}
.home-category-band[data-tone=deep]{background:#0e1923}
.home-category-inner{max-width:var(--max);margin:0 auto}
.home-category-heading{display:grid;grid-template-columns:100px minmax(0,1fr);gap:24px;align-items:start;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid rgba(208,226,239,.2)}
.home-category-number{color:var(--brand-mint);font:500 48px/.9 var(--display);letter-spacing:-.075em}
.home-category-heading .eyebrow{margin:0 0 10px;font-size:9px}
.home-category-heading h3{font:550 clamp(30px,3.3vw,42px)/1.08 var(--display);letter-spacing:-.052em;margin:0}
.home-category-heading>div>p:last-child{max-width:700px;margin:11px 0 0;color:#b4c2ce;font-size:14px;line-height:1.65}
.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-project-card{min-width:0;overflow:hidden;border:1px solid rgba(208,226,239,.14);border-radius:17px;background:rgba(7,17,29,.5);transition:transform .24s,border-color .24s,background .24s}
.home-project-card:hover{transform:translateY(-4px);border-color:rgba(55,223,195,.36);background:rgba(7,17,29,.68)}
.home-project-image{position:relative;aspect-ratio:1.42;overflow:hidden;background:linear-gradient(145deg,#142535,#09131e)}
.home-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.72,.25,1)}
.home-project-card:hover .home-project-image img{transform:scale(1.035)}
.home-project-kind{position:absolute;top:12px;left:12px;padding:6px 8px;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:rgba(4,13,21,.78);color:#d8e2e9;font-size:7px;letter-spacing:.1em}
.home-project-image .status{position:absolute;top:11px;right:11px;padding:6px 8px;border-radius:30px;background:rgba(4,13,21,.82);font-size:8px}
.home-project-copy{padding:17px}
.home-project-copy h4{font:550 18px/1.2 var(--display);letter-spacing:-.035em;margin:0 0 8px}
.home-project-copy p{min-height:52px;margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.65}
.home-project-link{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid var(--line);font-size:9px;color:#d5e2e9}
.home-project-link b{color:var(--brand-mint);font-size:13px}
.home-project-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:9px;background:radial-gradient(ellipse at 50% 45%,rgba(55,223,195,.12),transparent 64%),repeating-linear-gradient(0deg,transparent 0 45px,rgba(190,220,240,.04) 46px),repeating-linear-gradient(90deg,transparent 0 45px,rgba(190,220,240,.04) 46px)}
.home-project-placeholder>span{color:var(--brand-mint);font:500 30px var(--display);letter-spacing:-.07em}
.home-project-placeholder small{color:var(--quiet);font-size:7px;letter-spacing:.1em}
@media(max-width:850px){
  .site-dock a{min-width:86px}
  .home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  body{padding-bottom:96px}
  .site-dock{bottom:8px;width:calc(100% - 18px);max-width:none;justify-content:space-around;padding:5px;border-radius:18px;gap:0}
  .site-dock a{min-width:0;flex:1;padding:8px 3px 7px;gap:4px;border-radius:13px;font-size:9px;white-space:nowrap}
  .site-dock svg{width:19px;height:19px}
  .home-category-band{padding:42px 20px 46px}
  .home-category-heading{grid-template-columns:48px minmax(0,1fr);gap:12px;padding-bottom:19px;margin-bottom:18px}
  .home-category-number{font-size:32px}
  .home-category-heading h3{font-size:27px}
  .home-category-heading>div>p:last-child{font-size:12px}
  .home-project-grid{grid-template-columns:1fr;gap:10px}
  .home-project-image{aspect-ratio:1.55}
  .home-project-copy{padding:15px}
}
@media(prefers-reduced-motion:reduce){
  .site-dock a,.home-project-card,.home-project-image img,.home-hero-image img,.reveal{transition-duration:.01ms!important}
}

/* Categorias em faixas de página no catálogo. */
.category-section{width:100vw;margin-left:calc(50% - 50vw);padding:58px 0 70px;border-top:1px solid rgba(208,226,239,.16);scroll-margin-top:96px;background:#13212d}
.category-section:nth-child(even){background:#0e1923}
.category-section-inner{max-width:var(--max);margin:0 auto;padding:0 28px}
.category-heading{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:24px;padding-bottom:25px;margin-bottom:26px;border-bottom:1px solid rgba(208,226,239,.2)}
.category-heading .category-index{color:var(--brand-mint);font:500 48px/.9 var(--display);letter-spacing:-.075em}
.category-heading h2{font:550 clamp(30px,3.3vw,42px)/1.08 var(--display);letter-spacing:-.052em;margin:0}
.category-heading p{max-width:700px;margin:11px 0 0;color:#b4c2ce;font-size:14px;line-height:1.65}
@media(max-width:850px){
  .category-heading{grid-template-columns:74px minmax(0,1fr);gap:18px}
  .category-heading .category-index{font-size:39px}
}
@media(max-width:600px){
  .category-section{padding:43px 0 49px}
  .category-section-inner{padding:0 20px}
  .category-heading{grid-template-columns:48px minmax(0,1fr);gap:12px;padding-bottom:19px;margin-bottom:19px}
  .category-heading .category-index{font-size:32px}
  .category-heading h2{font-size:27px}
  .category-heading p{font-size:12px;margin-top:9px}
}

@media(max-width:600px){.reveal:not(.is-visible){opacity:0;transform:translateY(14px)}.reveal.is-visible{opacity:1;transform:none}}
