/* Product portfolio cards */
.project-card--featured{min-height:370px;justify-content:flex-start;color:#fff}.project-card--featured:before{inset:auto -35% -70% 20%;opacity:.45}.project-card--featured .project-card__top>span{color:rgba(255,255,255,.64)}.project-card--featured .project-card__top>b{color:var(--project-card-accent);border-color:color-mix(in srgb,var(--project-card-accent) 42%,transparent)}.project-card__brand{height:125px;margin:auto 0 1.5rem;display:grid;place-items:center;position:relative;z-index:2}.project-card__brand img{display:block;max-width:88%;max-height:100px;width:auto;height:auto;object-fit:contain}.project-card--featured>p{margin:0 0 1.6rem;color:rgba(255,255,255,.72);font-size:.78rem;line-height:1.65;max-width:320px}.project-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;position:relative;z-index:3}.project-card__footer>small{font:500 .55rem var(--mono);text-transform:uppercase;color:var(--project-card-accent);max-width:145px}.project-card__footer>button{border:1px solid color-mix(in srgb,var(--project-card-accent) 45%,transparent);background:color-mix(in srgb,var(--project-card-accent) 14%,transparent);color:#fff;padding:.78rem .85rem;font:500 .54rem var(--mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:.25s}.project-card__footer>button b{color:var(--project-card-accent);font-size:.85rem}.project-card__footer>button:hover,.project-card__footer>button:focus-visible{background:var(--project-card-accent);color:#071018;transform:translateY(-2px)}.project-card__footer>button:hover b,.project-card__footer>button:focus-visible b{color:#071018}
.project-card--onpsi{--project-card-accent:#43b9ef;background:radial-gradient(circle at 88% 12%,rgba(67,185,239,.22),transparent 34%),#071c2d}.project-card--hubia{--project-card-accent:#b9ce72;background:radial-gradient(circle at 88% 12%,rgba(185,206,114,.18),transparent 34%),#1b2416}.project-card--visual{--project-card-accent:#8c7cff;background:radial-gradient(circle at 88% 12%,rgba(140,124,255,.2),transparent 34%),#14131d}.project-card--tracker{--project-card-accent:#ff7a45;background:radial-gradient(circle at 88% 12%,rgba(255,122,69,.19),transparent 34%),#0b1724}.project-card--cerebro{--project-card-accent:#8dffb0;background:radial-gradient(circle at 88% 12%,rgba(141,255,176,.17),transparent 34%),#07110d}.project-card--mente{--project-card-accent:#ff4b9a;background:radial-gradient(circle at 88% 12%,rgba(255,75,154,.18),transparent 34%),#071a31}.project-card--visual .project-card__brand img{background:#fff;padding:.8rem 1.1rem}.project-card--mente .project-card__brand img{background:#f5f8fb;padding:1rem 1.2rem}.project-card--featured:hover{color:#fff;transform:translateY(-6px)}.project-card--onpsi:hover{background:#0a2940}.project-card--hubia:hover{background:#27351f}.project-card--visual:hover{background:#211f30}.project-card--tracker:hover{background:#12263b}.project-card--cerebro:hover{background:#0d2117}.project-card--mente:hover{background:#0d2a49}

/* Product detail presentation */
.project-case-modal{--project-accent:#8dffb0;--project-bg:#07110d;--project-soft:#eff8f2;width:min(1180px,94vw);max-height:92vh;background:#f2f1ed;color:#101923;border:0;padding:0;overflow:auto;overflow-x:hidden;box-shadow:0 50px 120px rgba(0,0,0,.78)}.project-case-modal::backdrop{background:rgba(3,7,11,.9);backdrop-filter:blur(14px)}.project-case-modal .modal-close{position:fixed;right:max(4vw,1.5rem);top:max(4vh,1.5rem);height:46px;padding:0 1rem;border:1px solid rgba(255,255,255,.28);border-radius:99px;background:rgba(7,16,24,.85);backdrop-filter:blur(12px);color:#fff;display:flex;align-items:center;gap:.8rem;z-index:8}.project-case-modal .modal-close span{font-size:1.2rem;color:var(--project-accent)}.project-case__hero{min-height:650px;padding:3rem clamp(2rem,6vw,5rem);display:grid;grid-template-columns:.72fr 1.28fr;grid-template-rows:auto 1fr;gap:2rem 5vw;background:radial-gradient(circle at 86% 12%,color-mix(in srgb,var(--project-accent) 24%,transparent),transparent 34%),var(--project-bg);color:#fff;position:relative;overflow:hidden}.project-case__hero:after{content:"";position:absolute;width:300px;height:300px;border:70px solid var(--project-accent);border-radius:50%;right:-210px;bottom:-220px;opacity:.72}.project-case__meta{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.17);padding-bottom:1rem;font:400 .58rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7)}.project-case__logo{align-self:center;position:relative;z-index:2}.project-case__logo img{display:block;width:min(100%,390px);max-height:180px;object-fit:contain;object-position:left center}.project-case__headline{align-self:center;position:relative;z-index:2}.project-case__headline>p:first-child{font:600 .61rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--project-accent)}.project-case__headline h2{font-size:clamp(3.8rem,7vw,7.2rem);line-height:.82;letter-spacing:-.075em;margin:1.2rem 0 2rem}.project-case__headline h2 em{font-style:normal;color:var(--project-accent)}.project-case__headline>p:nth-of-type(2){max-width:610px;color:rgba(255,255,255,.75);font-size:.86rem;line-height:1.75}.project-case__phase{display:inline-flex;margin-top:1.5rem;border:1px solid color-mix(in srgb,var(--project-accent) 48%,transparent);padding:.7rem .9rem;font:500 .56rem var(--mono);text-transform:uppercase;color:var(--project-accent)}.project-case__body{display:grid;grid-template-columns:.78fr 1.22fr}.project-case__vision{padding:clamp(3rem,6vw,5.5rem);background:var(--project-accent);color:#071018}.project-case__vision>span{font:600 .6rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.project-case__vision h3{font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:.93;letter-spacing:-.065em;margin:2rem 0}.project-case__vision p{font-size:.84rem;line-height:1.8;max-width:450px}.project-case__features{padding:clamp(3rem,5vw,5rem);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(16,25,35,.15)}.project-case__features article{background:#f2f1ed;padding:1.45rem;min-height:260px;display:flex;flex-direction:column}.project-case__features article:nth-child(2){background:var(--project-bg);color:#fff}.project-case__features b{font:600 .6rem var(--mono);color:color-mix(in srgb,var(--project-accent) 76%,#203040)}.project-case__features article:nth-child(2) b{color:var(--project-accent)}.project-case__features h4{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.05;letter-spacing:-.04em;margin:auto 0 1rem}.project-case__features p{font-size:.72rem;line-height:1.6;color:#657079;margin:0}.project-case__features article:nth-child(2) p{color:rgba(255,255,255,.7)}.project-case__features--four{grid-template-columns:1fr 1fr}.project-case__features--four article{min-height:210px}.project-case__features--four article:nth-child(3){background:var(--project-soft)}.project-case__features--four article:nth-child(4){background:var(--project-bg);color:#fff}.project-case__features--four article:nth-child(4) b{color:var(--project-accent)}.project-case__features--four article:nth-child(4) p{color:rgba(255,255,255,.7)}
.project-case-modal--onpsi{--project-accent:#43b9ef;--project-bg:#071c2d;--project-soft:#e8f6fc}.project-case-modal--hubia{--project-accent:#b9ce72;--project-bg:#1b2416;--project-soft:#f1f5e7}.project-case-modal--visual{--project-accent:#8c7cff;--project-bg:#14131d;--project-soft:#efedff}.project-case-modal--tracker{--project-accent:#ff7a45;--project-bg:#0b1724;--project-soft:#fff0e9}.project-case-modal--cerebro{--project-accent:#8dffb0;--project-bg:#07110d;--project-soft:#e7f9ed}.project-case-modal--mente{--project-accent:#ff4b9a;--project-bg:#071a31;--project-soft:#ffeaf3}.project-case-modal--visual .project-case__logo img,.project-case-modal--mente .project-case__logo img{background:#fff;padding:1.4rem}.project-case-modal--hubia .project-case__logo img{max-height:220px}
@media(max-width:900px){.project-grid{grid-template-columns:1fr 1fr}.project-case__hero{grid-template-columns:1fr;min-height:auto}.project-case__logo{padding-top:2rem}.project-case__headline{padding-bottom:3rem}.project-case__body{grid-template-columns:1fr}.project-case__features{min-height:0}}
@media(max-width:620px){.project-grid{grid-template-columns:1fr}.project-card--featured{min-height:350px}.project-case-modal{width:100vw;max-height:100vh}.project-case__hero{padding:2rem 1.4rem}.project-case__meta span:last-child{display:none}.project-case__headline h2{font-size:18vw}.project-case__body>*{padding:3.5rem 1.4rem}.project-case__features,.project-case__features--four{grid-template-columns:1fr}.project-case__features article,.project-case__features--four article{min-height:190px}}
.project-card--featured .project-card__top>b{overflow:hidden;padding:7px}.project-card--featured .project-card__top>b img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.project-screen-gallery{padding:clamp(3.5rem,6vw,6rem);background:#0b0f16;color:#fff;border-top:1px solid rgba(255,255,255,.13)}.project-screen-gallery[hidden]{display:none}.project-screen-gallery>header{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.project-screen-gallery>header span{font:600 .6rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--project-accent)}.project-screen-gallery>header h3{font-size:clamp(2.5rem,5vw,5.2rem);line-height:.9;letter-spacing:-.065em;margin:.9rem 0 0}.project-screen-gallery>header p{margin:1rem 0 0;color:#8f98a6;font-size:.72rem;letter-spacing:.01em}.project-screen-gallery__controls{display:flex;gap:.55rem}.project-screen-gallery__controls button{width:46px;height:46px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:1.15rem;cursor:pointer;transition:.2s}.project-screen-gallery__controls button:hover,.project-screen-gallery__controls button:focus-visible{background:var(--project-accent);border-color:var(--project-accent);color:#071018}.project-screen-gallery__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(min(760px,88vw),88%);gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--project-accent) rgba(255,255,255,.08);padding-bottom:1rem}.project-screen-gallery__track figure{position:relative;scroll-snap-align:start;margin:0;border:1px solid rgba(255,255,255,.14);background:#151a22;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.project-screen-gallery__track figure:after,.app-modal__device-shot:after{content:"+ ampliar";position:absolute;z-index:4;right:1rem;top:1rem;padding:.45rem .55rem;background:rgba(5,8,12,.78);color:#fff;border:1px solid rgba(255,255,255,.28);font:600 .5rem var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:0;transform:translateY(-4px);transition:.2s;pointer-events:none}.project-screen-gallery__track figure:hover:after,.project-screen-gallery__track figure:focus-within:after,.app-modal__device-shot:hover:after,.app-modal__device-shot:focus-within:after{opacity:1;transform:none}.project-screen-gallery__track img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:contain;background:#070a0f;cursor:zoom-in}.project-screen-gallery__track img:focus-visible,.app-modal__gallery img:focus-visible{outline:3px solid var(--project-accent,#d8ff3e);outline-offset:3px}.project-screen-gallery__track figcaption{font:500 .56rem var(--mono);text-transform:uppercase;letter-spacing:.09em;color:#a8afb9}
.media-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:clamp(1rem,3vw,2.5rem);border:0;background:rgba(4,7,11,.97);color:#fff;overflow:hidden}.media-lightbox[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.5rem,2vw,1.5rem)}.media-lightbox::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(10px)}.media-lightbox figure{min-width:0;min-height:0;max-height:calc(100vh - 5rem);margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:.85rem}.media-lightbox figure img{display:block;max-width:100%;max-height:calc(100vh - 8rem);width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 24px 60px rgba(0,0,0,.55))}.media-lightbox figcaption{font:600 .58rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#aab2bd}.media-lightbox__close{position:fixed;z-index:3;right:1.25rem;top:1.15rem;height:42px;padding:0 .9rem;border:1px solid rgba(255,255,255,.3);border-radius:99px;background:rgba(7,11,17,.88);color:#fff;font:600 .56rem var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.media-lightbox__close span{margin-left:.55rem;color:#d8ff3e;font-size:1rem}.media-lightbox__nav{width:50px;height:50px;border:1px solid rgba(255,255,255,.28);background:rgba(7,11,17,.75);color:#fff;font-size:1.25rem;cursor:pointer;transition:.2s}.media-lightbox__nav:hover,.media-lightbox__nav:focus-visible{background:#d8ff3e;border-color:#d8ff3e;color:#081016}.app-modal__gallery img{cursor:zoom-in}
@media(max-width:620px){.project-screen-gallery{padding:3.5rem 1.4rem}.project-screen-gallery>header{align-items:flex-start}.project-screen-gallery>header h3{font-size:14vw}.project-screen-gallery__track{grid-auto-columns:94%}.project-screen-gallery__controls{display:none}.project-screen-gallery__track figure:after,.app-modal__device-shot:after{opacity:1;transform:none;right:.7rem;top:.7rem}.media-lightbox{padding:.8rem}.media-lightbox[open]{grid-template-columns:1fr;grid-template-rows:1fr auto}.media-lightbox figure{grid-column:1;grid-row:1;max-height:calc(100vh - 5rem)}.media-lightbox figure img{max-height:calc(100vh - 8rem)}.media-lightbox__nav{position:static;grid-row:2}.media-lightbox__nav--prev{grid-column:1;justify-self:start}.media-lightbox__nav--next{grid-column:1;justify-self:end}.media-lightbox__close{right:.8rem;top:.8rem}}
