:root{--bg: #e7e7e7;--bg-soft: #efefef;--surface: #f8f8f8;--ink: #111111;--ink-soft: #464646;--line: #cfcfcf;--brand: #0f0f0f;--section-space: 68px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Public Sans,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}h1,h2,h3{font-family:Sora,sans-serif;letter-spacing:-.02em}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #111;outline-offset:2px}.container{width:min(calc(100% - 42px),1120px);margin:0 auto}.site-header,.admin-header{position:sticky;top:0;z-index:60;background:#e7e7e7f5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.nav,.admin-nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-family:Sora,sans-serif;font-weight:700;font-size:1.04rem}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#3f3f3f;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .16s ease,border-color .16s ease}nav a:hover{color:#000}nav a.is-active{color:#111;border-color:#111}.hero-stage{padding:28px 0 0;border-bottom:1px solid var(--line);background:#e5e5e5}.hero-v2{position:relative;padding-bottom:16px}.hero-v2:before{content:"";position:absolute;top:-36px;right:210px;width:310px;height:220px;background:radial-gradient(circle at 20% 30%,#46bcffb3,#fff578a6 43%,#ff8ac4a1 70%);filter:blur(20px);pointer-events:none;opacity:.9}.hero-topbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:22px}.hero-menu-toggle{display:none}.its-me{font-family:Sora,sans-serif;font-size:2rem;line-height:1;border-bottom:2px solid #111;padding-bottom:6px;margin-top:8px}.hero-links{display:flex;justify-content:flex-end;align-items:flex-start;flex-wrap:nowrap;gap:16px;max-width:none;margin-left:auto}.hero-link-card{display:block;width:230px;border-top:2px solid #111;padding-top:8px;border-bottom:none;padding-bottom:0;position:relative;transition:opacity .14s ease;text-align:left}.hero-link-card:after{content:"↗";position:absolute;top:8px;right:0;line-height:1}.hero-link-card:hover{opacity:.75}.hero-links .hero-link-card.is-active{opacity:1}.hero-links h3{font-size:1rem;margin-bottom:4px;display:block;padding-right:18px;font-family:Sora,sans-serif;font-weight:400}.hero-link-title{min-width:0;text-transform:none;color:#111}.hero-links p{font-size:.92rem;color:#3f3f3f;line-height:1.35;text-transform:none;letter-spacing:normal;font-weight:400;margin-left:0}.hero-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:8px;align-items:center}.label-mini{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:#6b6b6b;margin-bottom:12px}.hero-copy h1{font-size:clamp(2.2rem,6vw,3rem);line-height:1.03;margin-bottom:8px}.hero-copy h1 span{font-weight:800}.hero-wave{font-size:1.75rem;margin-bottom:10px}.hero-role-wrap{display:flex;align-items:center;gap:16px;margin-bottom:18px}.hero-role-line{width:105px;height:1px;background:#2b2b2b}.hero-role{font-size:2.5rem;font-weight:400;line-height:1}.hero-role-star{font-size:1.9rem;line-height:1}.hero-text{max-width:560px;color:var(--ink-soft);margin-bottom:16px;font-size:1.1rem}.hero-list{list-style:none;display:grid;gap:7px;margin-bottom:18px}.hero-list li{font-size:.9rem;color:#2d2d2d;padding-left:24px;position:relative}.hero-list li:before{content:"✓";position:absolute;left:0;top:-1px;font-size:.95rem;font-weight:700}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-solid-dark,.btn-outline-dark{border-radius:1px;padding:10px 18px;font-size:.83rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid #111}.btn-solid-dark{background:#111;color:#fff}.btn-outline-dark{background:transparent;color:#111;border-color:transparent;border-bottom-color:#111;border-radius:0;padding-inline:4px}.hero-visual{position:relative;min-height:640px;display:grid;align-items:end}.glow{position:absolute;top:45px;left:16px;width:240px;height:150px;background:radial-gradient(circle at 20% 40%,#46b4ff61,#ff788257 52%,#ffd2784d);filter:blur(22px);opacity:.5}.portrait{position:relative;max-width:760px;margin-left:auto;border-bottom:0px solid #111}.portrait img{width:100%;display:block;filter:grayscale(8%)}.bubble{position:absolute;left:-36px;bottom:196px;width:146px;height:146px;border-radius:50%;background:#0f0f0f;color:#fff;display:grid;place-items:center;font-weight:600;font-family:Sora,sans-serif;font-size:2rem;transform:rotate(-9deg)}.ticker-band{background:#111;color:#fff;border-top:1px solid #202020;border-bottom:1px solid #202020;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 0);background-size:18px 18px}.ticker-line{min-height:70px;display:flex;align-items:center;justify-content:center;gap:16px;overflow-x:auto;white-space:nowrap;padding:0 10px}.ticker-line span{font-size:1.2rem;font-family:Sora,sans-serif;letter-spacing:.02em;text-transform:uppercase;opacity:.98;line-height:1;font-weight:700}.ticker-line i{font-size:1rem;opacity:.8;font-style:normal}.portfolio-block{padding:var(--section-space) 0}.portfolio-block.alt{background:#ececec;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.block-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.block-head.center{flex-direction:column;justify-content:center;align-items:center;text-align:center}.block-head h2{font-size:clamp(1.8rem,4vw,1.9rem);line-height:1}.block-sub{max-width:640px;font-size:.95rem;color:#636363;line-height:1.45}.services-cta{border:1px solid #111;border-radius:1px;padding:10px 16px;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;background:#111;color:#fff;transition:transform .15s ease}.services-cta:hover{transform:translateY(-1px)}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.course-card{background:#f8f8f8;border:1px solid #222;padding:18px;display:grid;gap:10px;position:relative}.course-card small{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#666}.course-card h3{font-size:1.12rem;line-height:1.2}.course-year{position:absolute;top:10px;right:10px;font-size:.72rem;line-height:1;border:1px solid #222222;background:transparent;color:#454545;padding:4px 7px;border-radius:1px}.course-card p{color:#242426;font-size:.9rem}.offer-card{background:#f6f6f6;border:1px solid #202020;padding:22px;min-height:205px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease,box-shadow .18s ease}.offer-card:hover{transform:translateY(-3px);box-shadow:0 10px 18px #00000014}.offer-card.active{background:#111;color:#fff;border-color:#202020;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 0);background-size:18px 18px}.offer-kicker{text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;color:#676767}.offer-card.active .offer-kicker{color:#bcbcbc}.offer-card h3{font-size:1.42rem;line-height:1.16}.offer-card a{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.exp-list{display:grid;gap:10px}.exp-row{background:#f6f6f6;border:1px solid #262626;padding:14px 16px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px}.exp-row:first-child{background:#111;color:#fff;border-color:#111;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 0);background-size:18px 18px}.exp-row .idx{width:30px;height:30px;border:1px solid currentColor;display:grid;place-items:center;font-size:.82rem;font-weight:700}.exp-row h3{font-size:1rem}.exp-row p{font-size:.84rem;color:#696969}.exp-row:first-child p{color:#ccc}.exp-tech-badges{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.exp-tech-badge{display:inline-flex;align-items:center;border:1px solid #b8b8b8;background:#f1f1f1;color:#4d4d4d;border-radius:2px;padding:3px 8px;font-size:.68rem;line-height:1}.exp-row:first-child .exp-tech-badge{border-color:#5a5a5a;background:#1b1b1b;color:#c7c7c7}.exp-meta{display:grid;justify-items:end;gap:2px}.exp-meta span{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:#7a7a7a}.exp-meta small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.exp-row:first-child .exp-meta span{color:#aeaeae}.cases-swiper{padding-bottom:6px}.cases-swiper .swiper-wrapper{align-items:stretch}.cases-swiper-footer{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cases-swiper .swiper-pagination{position:static;display:flex;gap:8px}.cases-swiper .swiper-pagination-bullet{width:8px;height:8px;margin:0!important;border-radius:2px;background:#a7a7a7;opacity:1}.cases-swiper .swiper-pagination-bullet-active{width:20px;background:#111}.cases-swiper-nav{display:flex;gap:8px}.cases-swiper .swiper-button-prev,.cases-swiper .swiper-button-next{position:static;width:40px;height:40px;margin:0;border:1px solid #111;background:#f3f3f3;color:#111}.cases-swiper .swiper-button-prev:after,.cases-swiper .swiper-button-next:after{font-size:14px;font-weight:800}.cases-swiper .swiper-button-disabled{opacity:.35}.case-item{display:grid;grid-template-columns:1.1fr 1fr;gap:10px;align-items:stretch;border:1px solid #d0d0d0;background:#f4f4f4;min-height:310px}.swiper-slide .case-item{height:100%}.case-media{min-height:220px;background:linear-gradient(155deg,#191919 8%,#666 65%,#c2c2c2);overflow:hidden}.case-media img{width:100%;height:100%;object-fit:cover;display:block}.case-info{background:#f8f8f8;padding:16px;display:grid;gap:9px;align-content:center}.badge{width:fit-content;background:#111;color:#fff;font-size:.68rem;padding:4px 10px;border-radius:1px;letter-spacing:.08em;text-transform:uppercase}.case-info h3{font-size:1.4rem}.case-info p{color:#fff;line-height:1.45}.case-info a{text-transform:uppercase;letter-spacing:.08em;font-size:.77rem}.testimonial-band{background:#e9e9e9;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3}.testi-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}.testi-grid h2{font-size:clamp(1.72rem,3.35vw,2.65rem);line-height:1.05;margin-bottom:18px}.testi-copy{position:relative}.testi-copy:before{content:"“";position:absolute;top:-50px;left:-10px;font-family:Sora,sans-serif;font-size:4.2rem;color:#1a1a1a;opacity:.18}.testi-sign{display:grid;gap:3px}.sig-name{font-size:1rem;font-weight:700;letter-spacing:.01em}.sig{color:#626262;font-size:.86rem}.testi-photo{min-height:300px;position:relative;border:1px solid #222;background:#d8d8d8;clip-path:polygon(16% 0,84% 0,100% 16%,100% 84%,84% 100%,16% 100%,0 84%,0 16%);overflow:hidden}.testi-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(12%)}.stats-band{border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf;background:#efefef}.stats-grid-pro{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid-pro article{border-right:1px solid #cfcfcf;padding:18px 16px;display:grid;gap:6px;background:linear-gradient(180deg,#ffffff59,#fff0)}.stats-grid-pro article:last-child{border-right:none}.stats-icon{font-size:.94rem;color:#1f1f1f}.stats-grid-pro strong{font-size:2rem;line-height:1}.stats-grid-pro span{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:#636363}.contact-pro .block-head p{color:#626262}.contact-title span{color:#949494}.form-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}.line-form{background:#f8f8f8;border:1px solid #bbb;padding:18px;display:grid;gap:10px}.line-form h3{font-size:1rem;text-transform:uppercase;letter-spacing:.09em}.chip-field{display:grid;gap:8px;margin-top:2px}.chip-field p{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:#616161}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip-option{border:1px solid #a6a6a6;background:#f3f3f3;color:#222;border-radius:1px;padding:7px 12px;font-size:.74rem;line-height:1;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.chip-option.is-selected{background:#111;color:#fff;border-color:#111}.submit-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.submit-row small{color:#696969;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em}.line-form input,.line-form textarea,.form-box input,.form-box textarea,.form-box select,input,textarea,select{width:100%;border:none;border-bottom:1px solid #888;background:transparent;padding:8px 2px;font:inherit;transition:border-color .14s ease}.line-form input:focus,.line-form textarea:focus,.form-box input:focus,.form-box textarea:focus,.form-box select:focus,input:focus,textarea:focus,select:focus{border-bottom-color:#111}.line-form button,.form-box button,button,.button-link{width:fit-content;border:1px solid #111;background:#111;color:#fff;border-radius:1px;padding:10px 16px;text-transform:uppercase;letter-spacing:.08em;font-size:.77rem;font-weight:700;cursor:pointer}.alert{border:1px solid #222;background:#85ffaa;padding:12px 14px;margin-top:10px}.alert.success{border-color:#3f7c4d}.alert.danger{border-color:#a53a3a}.alert ul{padding-left:18px}.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.site-footer{border-top:1px solid #cfcfcf;padding:20px 0 26px}.site-footer p{color:#626262;font-size:.83rem;line-height:1.45}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-social-links{display:flex;align-items:center;gap:20px}.footer-social-links a{color:#262626;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}@media(max-width:640px){.site-footer-inner{align-items:flex-start;flex-direction:column;gap:12px}}.google-consent{position:fixed;left:14px;right:14px;bottom:14px;z-index:5000;border:1px solid #141414;background:#111;color:#fff;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;box-shadow:0 10px 22px #00000040;pointer-events:auto}.google-consent p{margin:0;font-size:.82rem;line-height:1.45;color:#ececec}.google-consent strong{color:#fff}.google-consent button,.google-consent .consent-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #fff;background:#fff;color:#111;min-width:112px;justify-self:end;cursor:pointer;touch-action:manipulation}body.has-consent-banner .back-to-top{display:none!important}.back-to-top{position:fixed;right:16px;bottom:16px;width:44px;height:44px;border:1px solid #111;background:#111;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .17s ease,transform .17s ease}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.section{padding:52px 0}.form-box{background:#f8f8f8;border:1px solid #bbb;padding:18px;display:grid;gap:8px}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto}.card{background:#f8f8f8;border:1px solid #bbb;padding:14px}.stats-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:16px}.stats-grid .card p{font-size:1.2rem;font-weight:700}.table-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}table{width:100%;border-collapse:collapse;background:#f8f8f8;border:1px solid #bbb}th,td{text-align:left;padding:10px;border-bottom:1px solid #ddd;font-size:.88rem}td.actions{display:flex;gap:8px;align-items:center}td.actions form{display:inline}.link-danger{border:none;background:transparent;color:#b13636;padding:0;cursor:pointer}.project-thumb{width:88px;height:58px;object-fit:cover;border:1px solid #d4d4d4;border-radius:6px;display:block}.muted{color:#6a6a6a;font-size:.82rem}.images-pane{border:1px solid #d8d8d8;background:#fff;padding:10px;display:grid;gap:8px}.project-gallery-admin{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;margin-bottom:8px;padding-bottom:6px}.gallery-item{border:1px solid #ddd;padding:6px;display:grid;gap:6px;min-width:145px;background:#fff;cursor:grab}.gallery-item.dragging{opacity:.55;cursor:grabbing}.gallery-item img{width:100%;height:90px;object-fit:cover;display:block}.gallery-item span{font-size:.78rem;color:#444;display:flex;align-items:center;gap:6px;word-break:break-all}.remove-temp{border:1px solid #b33;background:#fff;color:#b33;border-radius:4px;padding:4px 8px;font-size:.72rem;cursor:pointer}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.inline-form{margin-top:10px;display:flex;gap:8px;align-items:center}.auth-page{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(94%,430px);background:#f8f8f8;border:1px solid #bbb;padding:20px}.auth-card p{margin-bottom:10px;color:#555}.back-link{display:inline-block;margin-top:12px;color:#555}@media(max-width:980px){html{scroll-behavior:auto}:root{--section-space: 54px}.container{width:min(calc(100% - 28px),1120px)}.hero-links{grid-template-columns:1fr;width:100%;max-width:100%;display:none}.hero-topbar{align-items:center;gap:12px;flex-wrap:wrap}.hero-menu-toggle{width:42px;height:38px;border:2px solid #111;background:transparent;display:inline-flex;flex-direction:column;justify-content:center;gap:4px;padding:0 10px;margin-left:auto;cursor:pointer}.hero-menu-toggle span{display:block;height:1px;background:#111;width:100%;transition:transform .17s ease,opacity .17s ease}.hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}.hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(2){opacity:0}.hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.hero-topbar.is-menu-open .hero-links{display:grid}.hero-v2:before{right:30px;top:-18px;width:210px;height:160px}.its-me{font-size:1.5rem}.hero-shell,.testi-grid,.form-duo,.table-grid,.stats-grid,.stats-grid-pro,.offer-grid,.course-grid,.case-item{grid-template-columns:1fr}.exp-row{grid-template-columns:34px 1fr}.exp-meta{justify-items:start;grid-column:2}.cases-swiper-footer{flex-direction:column;align-items:flex-start}.nav,.admin-nav{flex-wrap:wrap;padding:10px 0}.hero-visual{min-height:360px}.hero-copy h1{font-size:clamp(1.95rem,10vw,3rem)}.hero-text{font-size:1rem}.hero-actions{width:100%}.hero-actions a{flex:1 1 auto;text-align:center}.hero-role-wrap{gap:10px}.hero-role-line{width:60px}.hero-role{font-size:1.32rem}.hero-role-star{font-size:1.3rem}.bubble{left:10px;bottom:16px;width:90px;height:90px;font-size:1.2rem}.ticker-line span{font-size:1.15rem}.ticker-line i{font-size:.82rem}.ticker-line{justify-content:flex-start;min-height:58px}.line-form{padding:14px}.line-form button,.submit-row,.submit-row small{width:100%}.testi-copy:before{top:-35px;left:-4px;font-size:3rem}.back-to-top{right:12px;bottom:12px;width:40px;height:40px}.google-consent{left:10px;right:10px;bottom:10px;grid-template-columns:1fr}.google-consent button,.google-consent .consent-link{width:100%;justify-self:stretch}body.has-consent-banner .back-to-top{bottom:120px}}@media(max-width:640px){:root{--section-space: 46px}.nav{min-height:auto;gap:10px}.brand{font-size:.95rem}nav a{font-size:.72rem;letter-spacing:.06em}.hero-stage{padding-top:18px}.hero-copy h1{line-height:1.06}.hero-list li{font-size:.84rem}.btn-solid-dark,.btn-outline-dark{padding:9px 12px;font-size:.72rem}.portrait{border-bottom-width:0px}.ticker-line span{font-size:.92rem}.offer-card,.course-card,.line-form{min-height:auto}.case-info h3{font-size:1.15rem}.testi-grid h2{font-size:clamp(1.55rem,8.2vw,2rem)}.stats-grid-pro strong{font-size:1.7rem}.chip-option{font-size:.68rem;padding:6px 10px}}.portfolio-home{--home-bg: #ececec;--home-surface: #ffffff;--home-surface-soft: #f5f5f5;--home-ink: #0f0f0f;--home-muted: #555555;--home-line: #141414;--home-line-soft: #c6c6c6;background:var(--home-bg);color:var(--home-ink)}.portfolio-home .container{width:min(calc(100% - 56px),1180px)}.portfolio-home .hero-stage{padding:26px 0 0;border-bottom:1px solid var(--home-line);background:var(--home-bg)}.portfolio-home .hero-v2:before,.portfolio-home .glow{display:none}.portfolio-home .hero-v2{padding-bottom:18px}.portfolio-home .hero-topbar{display:flex;align-items:center;gap:28px;margin-bottom:20px}.portfolio-home .its-me{display:inline-flex;align-items:center;min-height:62px;font-size:clamp(2rem,2.2vw,2.3rem);font-weight:700;text-transform:lowercase;border-bottom:3px solid var(--home-line);padding-bottom:4px;margin-top:0;white-space:nowrap}.portfolio-home .hero-links{margin-left:auto;width:auto;display:flex;align-items:center;justify-content:flex-end;gap:28px}.portfolio-home .hero-link-card{width:auto;min-height:0;padding:8px 0 5px;color:var(--home-ink);border-bottom:1px solid transparent;background:transparent;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:border-color .18s ease,opacity .18s ease}.portfolio-home .hero-link-card:hover{border-bottom-color:var(--home-line);opacity:1}.portfolio-home .hero-link-card.hero-link-cta{padding:10px 15px;color:#fff;border:1px solid #111;background:#111}.portfolio-home .hero-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);isolation:isolate;overflow:hidden;border:1px solid var(--home-line);background:var(--home-surface-soft)}.portfolio-home .ai-particle-field{position:fixed;inset:0;z-index:8;width:100%;height:100%;pointer-events:none;opacity:.72;mix-blend-mode:multiply}.portfolio-home .hero-copy,.portfolio-home .hero-visual{position:relative;z-index:1;padding:clamp(20px,3vw,38px)}.portfolio-home .hero-copy[data-aos],.portfolio-home .hero-visual[data-aos]{opacity:1;transform:none}.portfolio-home .hero-copy{border-right:none}.portfolio-home .hero-copy h1{font-size:clamp(2.4rem,3.1vw,4.2rem);line-height:.95;margin-bottom:10px}.portfolio-home .hero-copy h1 span{font-weight:700}.portfolio-home .hero-role-wrap{align-items:flex-start;gap:14px;margin-bottom:20px}.portfolio-home .hero-role-content{display:grid;gap:10px;min-width:0}.portfolio-home .hero-role-line{width:94px;background:#222}.portfolio-home .hero-role{font-size:clamp(1.3rem,2vw,2rem);line-height:1.1}.portfolio-home .career-badge{width:fit-content;padding:5px 8px;border:1px solid #111;color:#2f2f2f;background:#ececec;font-size:.68rem;font-weight:700;letter-spacing:.07em;line-height:1.2;text-transform:uppercase}.portfolio-home .hero-text{max-width:60ch;color:#3f3f3f;font-size:1.08rem;margin-bottom:14px}.portfolio-home .hero-list{gap:8px;margin-bottom:24px}.portfolio-home .hero-list li{font-size:1rem;color:#2c2c2c}.portfolio-home .hero-actions{gap:10px}.portfolio-home .btn-solid-dark,.portfolio-home .btn-outline-dark{border-radius:0;border-width:1px;padding:12px 16px;font-size:.78rem;letter-spacing:.1em}.portfolio-home .btn-outline-dark{border-color:var(--home-line);border-bottom-width:1px;background:transparent}.portfolio-home .hero-visual{min-height:500px;display:flex;align-items:flex-end;justify-content:center;background:#f5f5f5bd}.portfolio-home .ai-system-readout{position:absolute;top:18px;right:18px;z-index:5;display:grid;gap:4px;padding:9px 11px;border:1px solid rgba(17,17,17,.5);background:#f5f5f5c7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.portfolio-home .ai-system-readout span{display:flex;align-items:center;gap:7px;color:#111;font-size:.59rem;font-weight:800;letter-spacing:.12em}.portfolio-home .ai-system-readout i{width:6px;height:6px;border-radius:50%;background:#49b56a;box-shadow:0 0 0 4px #49b56a24;animation:ai-status-pulse 2.2s ease-in-out infinite}.portfolio-home .ai-system-readout small{color:#6b6b6b;font-size:.52rem;letter-spacing:.1em}@keyframes ai-status-pulse{50%{box-shadow:0 0 0 7px #49b56a00}}.portfolio-home .portrait{width:min(88%,610px);margin-left:0}.portfolio-home .portrait img{width:100%;height:auto;display:block;object-fit:contain;filter:grayscale(100%)}.portfolio-home .hero-artboard{position:relative;width:min(100%,610px);aspect-ratio:951 / 837;filter:drop-shadow(0 1.1rem 1.15rem rgba(0,0,0,.33))}.portfolio-home .hero-artboard img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:3;filter:none}.portfolio-home .hero-eyes-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.portfolio-home .hero-eye{position:absolute;width:14.2%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:transparent}.portfolio-home .hero-eye.left-eye{left:31.2%;top:34.5%}.portfolio-home .hero-eye.right-eye{left:56.7%;top:34.7%}.portfolio-home .hero-iris{width:80%;aspect-ratio:1;position:relative}.portfolio-home .hero-pupil{width:43%;aspect-ratio:1;border-radius:50%;background:#040608;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .1s linear}.portfolio-home .hero-pupil:after{content:"";position:absolute;width:26%;aspect-ratio:1;right:19%;top:18%;border-radius:50%;background:#ffffffc7}.portfolio-home .hero-steam-layer{position:absolute;left:7.2%;bottom:21.4%;width:17%;height:29%;z-index:4;pointer-events:none}.portfolio-home .hero-steam{position:absolute;bottom:0;width:19%;height:72%;border-left:4px solid rgba(255,255,255,.82);border-top:4px solid rgba(255,255,255,.7);border-radius:100% 0 0;filter:blur(.5px);transform-origin:bottom center;animation:hero-steam-rise 2.8s ease-in-out infinite}.portfolio-home .hero-steam.s1{left:18%}.portfolio-home .hero-steam.s2{left:44%;height:78%;animation-delay:.85s}.portfolio-home .hero-steam.s3{left:66%;animation-delay:1.5s}@keyframes hero-steam-rise{0%{opacity:0;transform:translateY(14px) scale(.9) rotate(-6deg)}30%{opacity:.9}65%{opacity:.62}to{opacity:0;transform:translateY(-54px) scale(1.12) rotate(8deg)}}.portfolio-home .ticker-band{background:#111;border-top:1px solid #111;border-bottom:1px solid #111;background-image:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px}.portfolio-home .ticker-line{min-height:62px;justify-content:flex-start;gap:12px;scrollbar-width:none}.portfolio-home .ticker-line::-webkit-scrollbar{display:none}.portfolio-home .ticker-line span{font-size:1rem}.portfolio-home .portfolio-block{padding:clamp(56px,7vw,56px) 0}.portfolio-home .portfolio-block.alt{background:#e8e8e8;border-color:#cfcfcf}.portfolio-home #projetos,.portfolio-home #especialidades{border-bottom:1px solid #cfcfcf}.portfolio-home .portfolio-block.dark-section{color:#f7f7f7;background:#111;border-color:#444}.portfolio-home .dark-section .label-mini,.portfolio-home .dark-section .block-sub{color:#aaa}.portfolio-home .dark-section .services-cta{color:#fff;border-color:#777}.portfolio-home .dark-section .offer-card{color:#fff;border-color:#444;background:#171717}.portfolio-home .dark-section .offer-kicker,.portfolio-home .dark-section .offer-description{color:#aaa}.portfolio-home .dark-section .offer-card a{color:#fff;border-bottom-color:#fff}.portfolio-home .label-mini{color:#666;margin-bottom:10px}.portfolio-home .block-head{margin-bottom:24px}.portfolio-home .block-head h2{font-size:clamp(1.9rem,3.9vw,1.7rem)}.portfolio-home .services-cta{border-radius:0}.portfolio-home .offer-grid{gap:14px}.portfolio-home .offer-card,.portfolio-home .course-card,.portfolio-home .exp-row,.portfolio-home .line-form,.portfolio-home .case-item,.portfolio-home .testi-photo,.portfolio-home .stats-grid-pro article{border-radius:0}.portfolio-home .offer-card{min-height:150px;border:1px solid var(--home-line);background:var(--home-surface);padding:20px}.portfolio-home .offer-card:hover{box-shadow:none;transform:translateY(-2px)}.portfolio-home .offer-card.active{background:#111;border-color:#111;background-image:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px}.portfolio-home .course-grid{gap:14px}.portfolio-home .course-card{border:1px solid var(--home-line);background:#f7f7f7}.portfolio-home .course-year{border-radius:0;border-color:var(--home-line);color:#222}.portfolio-home .exp-list{gap:12px}.portfolio-home .exp-row{grid-template-columns:44px minmax(0,1fr) auto;padding:16px;border:1px solid var(--home-line);background:#f8f8f8}.portfolio-home .exp-row h3{font-size:1.06rem}.portfolio-home .exp-row:first-child{background:#111;color:#fff;border-color:#111;background-image:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px}.portfolio-home .exp-tech-badge{border-radius:0}.portfolio-home .cases-swiper{padding:0 clamp(10px,3vw,26px) 4px}.portfolio-home .cases-full{width:100vw;margin-left:calc(50% - 50vw)}.portfolio-home .case-item{grid-template-columns:minmax(0,1fr);min-height:100%;border:1px solid var(--home-line);overflow:hidden;background:#111;max-width:min(94vw,1040px);margin-inline:auto}.portfolio-home .case-media{min-height:clamp(260px,42vw,430px);background:#d3d3d3}.portfolio-home .case-info{background:#111;color:#fff;padding:18px}.portfolio-home .case-info h3{font-size:1.3rem}.portfolio-home .case-info p{color:#fff}.portfolio-home .case-info a{color:#fff;border-bottom:1px solid #fff;width:fit-content;padding-bottom:2px}.portfolio-home .cases-swiper .swiper-button-prev,.portfolio-home .cases-swiper .swiper-button-next{border-radius:0;background:#fff}.portfolio-home .editorial-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:1px solid var(--home-line);padding-top:14px}.portfolio-home .editorial-case{display:grid;border:1px solid var(--home-line);background:var(--home-surface)}.portfolio-home .editorial-case.is-featured{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-column:1 / -1;min-height:460px}.portfolio-home .editorial-case.is-compact{grid-template-columns:1fr}.portfolio-home .editorial-case-media{position:relative;display:grid;min-width:0;min-height:420px;place-items:center;overflow:hidden;color:#f7f7f7;background:#161616}.portfolio-home .editorial-case-media:after{position:absolute;inset:0;border:1px solid rgba(255,255,255,.12);pointer-events:none;content:""}.portfolio-home .editorial-case-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.portfolio-home .editorial-case-media:hover img{transform:scale(1.025)}.portfolio-home .editorial-case-media>span{color:#333;font-size:clamp(5rem,10vw,9rem);font-weight:800;line-height:1}.portfolio-home .editorial-case-content{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,58px)}.portfolio-home .editorial-case.is-compact .editorial-case-media{min-height:230px;max-height:270px}.portfolio-home .editorial-case.is-compact .editorial-case-content{justify-content:flex-start;padding:24px}.portfolio-home .editorial-case.is-compact .editorial-case-heading{margin-bottom:24px}.portfolio-home .editorial-case.is-compact .editorial-case-content h3{max-width:22ch;font-size:clamp(1.35rem,2vw,1.85rem)}.portfolio-home .editorial-case.is-compact .editorial-case-summary{font-size:.9rem}.portfolio-home .editorial-case.is-compact .editorial-case-link{margin-top:auto;padding-top:24px}.portfolio-home .editorial-case-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:clamp(30px,4vw,54px)}.portfolio-home .editorial-case-index{color:#969696;font-size:.72rem;font-weight:800;letter-spacing:.14em}.portfolio-home .case-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px}.portfolio-home .editorial-case .case-category{margin:0}.portfolio-home .case-status{display:inline-flex;align-items:center;gap:6px;color:#363636;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.portfolio-home .case-status:before{width:7px;height:7px;border-radius:50%;background:#279447;content:""}.portfolio-home .case-technologies{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.portfolio-home .case-technologies span{padding:4px 7px;border:1px solid #bdbdbd;color:#3f3f3f;background:#eee;font-size:.68rem;line-height:1}.portfolio-home .editorial-case-content h3{max-width:16ch;margin:0;font-size:clamp(1.75rem,3vw,3rem);line-height:1.02;letter-spacing:-.035em}.portfolio-home .editorial-case-summary{max-width:58ch;margin:18px 0 0;color:#3f3f3f;font-size:.98rem;line-height:1.65}.portfolio-home .editorial-case-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px;border-top:1px solid var(--home-line);border-left:1px solid var(--home-line)}.portfolio-home .editorial-case-detail{padding:14px;border-right:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}.portfolio-home .editorial-case-detail>span,.portfolio-home .case-result strong{display:block;margin-bottom:7px;color:#777;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portfolio-home .editorial-case-detail p{margin:0;color:#333;font-size:.82rem;line-height:1.5}.portfolio-home .editorial-case .case-result{display:grid;grid-template-columns:minmax(90px,.28fr) 1fr;gap:16px;margin:22px 0 0;padding-top:16px;border-top:1px solid var(--home-line);color:#252525;font-size:.86rem;line-height:1.5}.portfolio-home .case-result strong{margin:0}.portfolio-home .editorial-case-link{display:inline-flex;align-items:center;gap:16px;width:fit-content;margin-top:28px;padding-bottom:3px;border-bottom:1px solid #111;color:#111;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.portfolio-home .editorial-case-link span{transition:transform .18s ease}.portfolio-home .editorial-case-link:hover span{transform:translate(4px)}.portfolio-home .editorial-case-empty{grid-template-columns:1fr;min-height:340px}.portfolio-home .testimonial-band{background:#e6e6e6}.portfolio-home .testi-grid{gap:28px}.portfolio-home .testi-grid h2{font-size:clamp(1.55rem,2vw,2.25rem)}.portfolio-home .testi-photo{clip-path:none;border:1px solid var(--home-line)}.portfolio-home .stats-band{border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}.portfolio-home .stats-grid-pro{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-home .stats-grid-pro article{border-right:1px solid var(--home-line);background:#f3f3f3;padding:20px 16px}.portfolio-home .stats-grid-pro span,.portfolio-home .contact-pro .block-head p{color:#242426}.portfolio-home .contact-title span{color:#7a7a7a}.portfolio-home .form-duo{gap:14px}.portfolio-home .line-form{border:1px solid var(--home-line);background:#f8f8f8;padding:20px}.portfolio-home .line-form h3{font-size:.95rem}.portfolio-home .line-form input,.portfolio-home .line-form textarea,.portfolio-home .line-form select{border-bottom-color:#242426}.portfolio-home .line-form input:focus,.portfolio-home .line-form textarea:focus,.portfolio-home .line-form select:focus{border-bottom-color:#111}.portfolio-home .back-to-top{border-radius:0}@media(max-width:1140px){.portfolio-home .hero-links{gap:18px}.portfolio-home .hero-copy h1{font-size:clamp(2.15rem,4.8vw,3.5rem)}.portfolio-home .hero-visual{min-height:460px}}@media(max-width:980px){.portfolio-home .container{width:min(calc(100% - 30px),1180px)}.portfolio-home .hero-stage{padding-top:18px}.portfolio-home .hero-topbar{align-items:center;flex-wrap:wrap;margin-bottom:16px}.portfolio-home .its-me{min-height:auto;font-size:1.6rem}.portfolio-home .hero-menu-toggle{width:42px;height:38px;border:1px solid var(--home-line);background:#fff;display:inline-flex;flex-direction:column;justify-content:center;gap:4px;padding:0 10px;margin-left:auto;cursor:pointer}.portfolio-home .hero-menu-toggle span{display:block;height:1px;width:100%;background:#111;transition:transform .17s ease,opacity .17s ease}.portfolio-home .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}.portfolio-home .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(2){opacity:0}.portfolio-home .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.portfolio-home .hero-links{margin-left:0;width:100%;grid-template-columns:1fr;display:none}.portfolio-home .hero-topbar.is-menu-open .hero-links{display:grid}.portfolio-home .hero-link-card{width:100%;min-height:0;padding:12px 4px;border-bottom-color:#c9c9c9}.portfolio-home .hero-link-card.hero-link-cta{width:fit-content;padding:10px 15px}.portfolio-home .hero-shell{grid-template-columns:1fr}.portfolio-home .hero-copy{border-right:none;border-bottom:1px solid var(--home-line-soft)}.portfolio-home .hero-visual{min-height:0;padding-top:0}.portfolio-home .portrait{width:100%;max-width:600px;margin-inline:auto}.portfolio-home .hero-steam{border-left-width:3px;border-top-width:3px}.portfolio-home .offer-grid,.portfolio-home .course-grid,.portfolio-home .testi-grid,.portfolio-home .form-duo,.portfolio-home .stats-grid-pro{grid-template-columns:1fr}.portfolio-home .stats-grid-pro article{border-right:none;border-bottom:1px solid var(--home-line)}.portfolio-home .stats-grid-pro article:last-child{border-bottom:none}.portfolio-home .career-roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-home .editorial-cases{grid-template-columns:1fr}.portfolio-home .editorial-case,.portfolio-home .editorial-case.is-featured{grid-template-columns:1fr;min-height:0}.portfolio-home .editorial-case .editorial-case-media,.portfolio-home .editorial-case.is-featured .editorial-case-media{grid-column:1;grid-row:1;min-height:clamp(300px,58vw,500px)}.portfolio-home .editorial-case .editorial-case-content,.portfolio-home .editorial-case.is-featured .editorial-case-content{grid-column:1;grid-row:2}.portfolio-home .cases-swiper-footer{align-items:end;gap:10px}.portfolio-home .exp-row{grid-template-columns:36px 1fr;gap:10px}.portfolio-home .exp-meta{justify-items:start;grid-column:2}.portfolio-home .hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.portfolio-home .hero-actions a{text-align:center}}@media(max-width:640px){.portfolio-home .container{width:min(calc(100% - 20px),1180px)}.portfolio-home .hero-copy,.portfolio-home .hero-visual,.portfolio-home .line-form{padding:16px}.portfolio-home .hero-copy h1{font-size:clamp(2rem,11vw,1.6rem)}.portfolio-home .hero-role{font-size:1.18rem}.portfolio-home .career-badge{font-size:.62rem}.portfolio-home .hero-role-line{width:54px}.portfolio-home .hero-text,.portfolio-home .hero-list li{font-size:.95rem}.portfolio-home .hero-actions{grid-template-columns:1fr}.portfolio-home .ai-particle-field{opacity:.46}.portfolio-home .ai-system-readout{top:10px;right:10px;padding:7px 8px}.portfolio-home .block-head h2{font-size:clamp(1.55rem,8.5vw,1.6rem)}.portfolio-home .editorial-case .editorial-case-media,.portfolio-home .editorial-case.is-featured .editorial-case-media{min-height:240px}.portfolio-home .editorial-case-content{padding:22px 18px 26px}.portfolio-home .editorial-case-heading{gap:14px;margin-bottom:28px}.portfolio-home .case-meta{align-items:flex-end;flex-direction:column;gap:8px}.portfolio-home .editorial-case-details{grid-template-columns:1fr}.portfolio-home .editorial-case .case-result{grid-template-columns:1fr;gap:8px}.portfolio-home .ticker-line{justify-content:flex-start}.portfolio-home .ticker-line span{font-size:.94rem}.portfolio-home .testi-grid h2{font-size:clamp(1.25rem,7.3vw,1.7rem)}}.portfolio-home .offer-description{min-height:4.5em;margin:14px 0 22px;color:#4c4c4c;font-size:.92rem;line-height:1.55}.portfolio-home .offer-card.active .offer-description{color:#d6d6d6}.portfolio-home .engineering-signals{position:relative;isolation:isolate;overflow:hidden;padding:34px 0;color:#f7f7f7;background:#111;border-block:1px solid #111}.portfolio-home .engineering-signals:before{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(111,157,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(111,157,255,.055) 1px,transparent 1px),radial-gradient(circle at 72% 35%,rgba(111,157,255,.12),transparent 28%);background-size:32px 32px,32px 32px,auto;content:""}.portfolio-home .signals-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.portfolio-home .signals-heading>p{max-width:54ch;margin:0;color:#b8b8b8;line-height:1.55}.portfolio-home .signals-heading .label-mini{color:#aaa}.portfolio-home .signals-heading h2{margin:0;font-size:clamp(1.6rem,3vw,2.7rem)}.portfolio-home .career-roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid #444;border-left:1px solid #444;list-style:none}.portfolio-home .career-roadmap li{position:relative;min-width:0;min-height:220px;padding:24px 22px 22px;border-right:1px solid #444;border-bottom:1px solid #444;background:#171717}.portfolio-home .career-roadmap li:after{position:absolute;right:20px;bottom:18px;width:28px;height:1px;background:linear-gradient(90deg,transparent,#6f9dff);content:"";animation:ai-data-scan 2.8s ease-in-out infinite alternate}.portfolio-home .career-roadmap li:nth-child(2):after{animation-delay:-.7s}.portfolio-home .career-roadmap li:nth-child(3):after{animation-delay:-1.4s}.portfolio-home .career-roadmap li:nth-child(4):after{animation-delay:-2.1s}@keyframes ai-data-scan{0%{opacity:.25;transform:translate(-12px)}to{opacity:.9;transform:translate(0)}}.portfolio-home .career-roadmap li:before{display:block;width:10px;height:10px;margin-bottom:22px;border:1px solid #777;border-radius:50%;background:transparent;content:""}.portfolio-home .career-roadmap .is-established:before{border-color:#49b56a;background:#49b56a}.portfolio-home .career-roadmap .is-applying:before{border-color:#6f9dff;background:#6f9dff}.portfolio-home .career-roadmap .is-learning:before{border-color:#f2cf33;background:#f2cf33}.portfolio-home .career-roadmap span{display:block;margin-bottom:10px;color:#969696;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.portfolio-home .career-roadmap strong{display:block;margin-bottom:12px;color:#fff;font-size:1.1rem;line-height:1.25}.portfolio-home .career-roadmap p{margin:0;color:#aaa;font-size:.86rem;line-height:1.55}.portfolio-home .workflow-section .block-head{align-items:end}.portfolio-home .workflow-section .block-sub{max-width:48ch;margin:0;text-align:right}.portfolio-home .workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--home-line);border-left:1px solid var(--home-line)}.portfolio-home .workflow-card{min-width:0;min-height:220px;padding:24px;border-right:1px solid var(--home-line);border-bottom:1px solid var(--home-line);background:var(--home-surface)}.portfolio-home .workflow-card>span,.portfolio-home .case-category{display:inline-flex;margin-bottom:28px;padding-bottom:3px;color:#555;border-bottom:1px solid #777;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.portfolio-home .workflow-card h3{margin:0 0 10px;font-size:1.25rem}.portfolio-home .workflow-card p{margin:0;color:#555;line-height:1.55}.portfolio-home .home-project-card .case-category{margin:0}.project-ai-evidence{padding:clamp(54px,7vw,92px) 0;color:#f7f7f7;background:#111}.project-ai-evidence .label-mini,.project-ai-evidence .block-sub{color:#aaa}.ai-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #444;border-left:1px solid #444}.ai-evidence-grid article{min-width:0;padding:26px;border-right:1px solid #444;border-bottom:1px solid #444}.ai-evidence-grid span{color:#888;font-size:.72rem;letter-spacing:.12em}.ai-evidence-grid h3{margin:18px 0 10px;color:#fff}.ai-evidence-grid p{margin:0;color:#c5c5c5;line-height:1.65;white-space:pre-line}@media(max-width:980px){.portfolio-home .workflow-grid,.ai-evidence-grid,.portfolio-home .career-roadmap{grid-template-columns:1fr 1fr}.portfolio-home .workflow-section .block-head,.portfolio-home .signals-heading{align-items:flex-start;flex-direction:column}.portfolio-home .workflow-section .block-sub{text-align:left}}@media(max-width:640px){html,body{max-width:100%;overflow-x:clip}.portfolio-home .hero-shell,.portfolio-home .hero-copy,.portfolio-home .hero-visual,.portfolio-home .hero-role-wrap,.portfolio-home .hero-role{min-width:0;max-width:100%}.portfolio-home .hero-copy h1{font-size:clamp(1.85rem,9vw,2.35rem);overflow-wrap:anywhere}.portfolio-home .hero-role-content{flex:1 1 0;width:0}.portfolio-home .hero-role{width:auto;overflow-wrap:anywhere}.portfolio-home .hero-role-line{flex:0 0 36px;width:36px}.portfolio-home .hero-artboard{width:min(88%,360px)}.portfolio-home .workflow-grid,.ai-evidence-grid,.portfolio-home .career-roadmap{grid-template-columns:1fr}.portfolio-home .workflow-card{min-height:0}.google-consent{box-sizing:border-box;width:auto;max-width:calc(100vw - 20px);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 10px}.google-consent p{display:-webkit-box;overflow:hidden;font-size:.7rem;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.google-consent button,.google-consent .consent-link{width:auto;min-width:82px;padding-inline:12px;justify-self:end}}@media(prefers-reduced-motion:reduce){[data-aos],[data-aos].aos-animate{opacity:1!important;transform:none!important;transition:none!important}.portfolio-home .hero-steam{animation:none;opacity:.45}.portfolio-home .ai-system-readout i,.portfolio-home .career-roadmap li:after{animation:none}}.project-page{--project-bg: #ececec;--project-surface: #f8f8f8;--project-ink: #111;--project-line: #141414;background:var(--project-bg);color:var(--project-ink)}.project-page .container{width:min(calc(100% - 56px),1140px)}.project-page .project-hero{padding:28px 0 36px}.project-page .hero-topbar{display:flex;align-items:flex-start;gap:18px;margin-bottom:20px}.project-page .its-me{display:inline-flex;align-items:center;min-height:62px;font-family:Sora,sans-serif;font-size:clamp(2rem,2.2vw,2.3rem);font-weight:700;text-transform:lowercase;border-bottom:3px solid #111;padding-bottom:4px;margin-top:0;white-space:nowrap}.project-page .hero-menu-toggle{display:none}.project-page .hero-links{margin-left:auto;width:min(100%,790px);display:grid;grid-template-columns:repeat(3,minmax(185px,1fr));justify-content:end;gap:14px}.project-page .hero-link-card{width:100%;min-height:120px;border:1px solid #111;border-top-width:3px;padding:10px 12px 14px;background:#fff;position:relative;text-align:left;transition:transform .18s ease,background-color .18s ease}.project-page .hero-link-card:after{content:"↗";position:absolute;top:10px;right:10px;font-size:1rem}.project-page .hero-link-card:hover{transform:translateY(-2px);background:#f1f1f1}.project-page .hero-link-card.is-active{background:#fff;transform:none}.project-page .hero-link-card.is-active:hover{background:#f1f1f1;transform:translateY(-2px)}.project-page .hero-link-kicker{display:inline-block;font-size:.66rem;line-height:1;text-transform:uppercase;letter-spacing:.14em;margin-bottom:9px;color:#2f2f2f;border-bottom:1px solid #7d7d7d;padding-bottom:3px}.project-page .hero-links h3{margin:0 16px 6px 0;font-size:1.2rem;line-height:1;font-weight:700}.project-page .hero-links p{margin:0;color:#404040;font-size:.93rem;line-height:1.35}.project-page .project-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--project-line);background:var(--project-surface)}.project-page .project-copy,.project-page .project-cover{padding:clamp(16px,2.6vw,30px)}.project-page .project-copy{border-right:1px solid #cfcfcf}.project-page h1{font-family:Sora,sans-serif;font-size:clamp(2rem,3.6vw,1.4rem);line-height:.98;margin-bottom:10px}.project-page .project-summary{color:#444;font-size:1.05rem;line-height:1.5;margin-bottom:16px}.project-page .project-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.project-page .project-badges span{border:1px solid var(--project-line);background:#fff;padding:5px 9px;font-size:.74rem;text-transform:lowercase;border-radius:0}.project-page .project-links{display:flex;flex-wrap:wrap;gap:8px}.project-page .project-cover{background:#111;border-left:1px solid #111;background-image:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px;display:grid;place-items:center}.project-page .project-cover img{width:100%;max-height:520px;object-fit:contain;filter:none}.project-page .project-content{padding-bottom:18px}.project-page .project-content-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-page .project-block{border:1px solid var(--project-line);background:var(--project-surface);padding:18px}.project-page .project-block h2{font-size:1.1rem;margin-bottom:8px}.project-page .project-block p{color:#444;line-height:1.55}.project-page .project-features{grid-column:1 / -1}.project-page .project-features ul{list-style:none;display:grid;gap:7px}.project-page .project-features li{padding-left:18px;position:relative}.project-page .project-features li:before{content:"■";position:absolute;left:0;top:1px;font-size:.58rem}.project-page .project-gallery-section,.project-page .project-related{padding:28px 0 8px}.project-page .project-gallery-section{border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf;background:#efefef;padding:22px 0}.project-page .project-gallery-swiper{padding:0 0 6px}.project-page .project-gallery-item{border:1px solid #141414;background:linear-gradient(180deg,#ffffff59,#fff0);width:100%;height:240px;padding:0;cursor:zoom-in;box-shadow:inset 0 0 0 1px #fff3}.project-page .project-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%)}.project-page .project-gallery-footer{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-page .project-gallery-swiper .swiper-pagination{position:static;display:flex;gap:8px}.project-page .project-gallery-swiper .swiper-pagination-bullet{width:8px;height:8px;margin:0!important;border-radius:2px;background:#a7a7a7;opacity:1}.project-page .project-gallery-swiper .swiper-pagination-bullet-active{width:20px;background:#111}.project-page .project-gallery-nav{display:flex;gap:8px}.project-page .project-gallery-swiper .swiper-button-prev,.project-page .project-gallery-swiper .swiper-button-next{position:static;width:40px;height:40px;margin:0;border:1px solid #111;background:#f3f3f3;color:#111;margin-top:0!important}.project-page .project-gallery-swiper .swiper-button-prev:after,.project-page .project-gallery-swiper .swiper-button-next:after{font-size:14px;font-weight:800}.project-page .project-gallery-swiper .swiper-button-disabled{opacity:.35}.project-page .project-lightbox{position:fixed;inset:0;background:#000000e0;z-index:1200;display:grid;place-items:center;padding:24px}.project-page .project-lightbox[hidden]{display:none}.project-page .project-lightbox img{max-width:min(94vw,1260px);max-height:88vh;object-fit:contain;border:1px solid #fff;background:#111;filter:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}.project-page .project-lightbox.is-dragging img{cursor:grabbing}.project-page .project-lightbox-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border:1px solid #fff;background:#0000004d;color:#fff;font-size:1.8rem;line-height:1;padding:0}.project-page .project-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:64px;border:1px solid #fff;background:#0000004d;color:#fff;font-size:2rem;line-height:1;padding:0}.project-page .project-lightbox-nav.prev{left:14px}.project-page .project-lightbox-nav.next{right:14px}.project-page .related-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-page .related-grid article{border:1px solid var(--project-line);background:var(--project-surface);display:grid;gap:10px;padding:12px}.project-page .related-media{border:1px solid #cdcdcd;min-height:130px;overflow:hidden;background:#e4e4e4}.project-page .related-media img{width:100%;height:100%;object-fit:cover}.project-page .related-grid h3{font-size:1.02rem;line-height:1.2}.project-page .related-grid p{color:#444;font-size:.9rem}.project-page .related-grid a{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #111;width:fit-content;padding-bottom:2px}@media(max-width:980px){.project-page .container{width:min(calc(100% - 30px),1140px)}.project-page .hero-topbar{align-items:center;flex-wrap:wrap;margin-bottom:16px}.project-page .its-me{min-height:auto;font-size:1.6rem}.project-page .hero-menu-toggle{width:42px;height:38px;border:1px solid #111;background:#fff;display:inline-flex;flex-direction:column;justify-content:center;gap:4px;padding:0 10px;margin-left:auto;cursor:pointer}.project-page .hero-menu-toggle span{display:block;height:1px;width:100%;background:#111;transition:transform .17s ease,opacity .17s ease}.project-page .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}.project-page .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(2){opacity:0}.project-page .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.project-page .hero-links{margin-left:0;width:100%;grid-template-columns:1fr;display:none}.project-page .hero-topbar.is-menu-open .hero-links{display:grid}.project-page .hero-link-card{min-height:0}.project-page .project-hero-grid,.project-page .project-content-grid,.project-page .related-grid{grid-template-columns:1fr}.project-page .project-copy{border-right:none;border-bottom:1px solid #cfcfcf}}@media(max-width:640px){.project-page .container{width:min(calc(100% - 20px),1140px)}.project-page .project-copy,.project-page .project-cover,.project-page .project-block,.project-page .related-grid article{padding:14px}.project-page .hero-links h3{font-size:1.05rem}.project-page .hero-links p{font-size:.84rem}.project-page .project-gallery-item{height:220px}.project-page .project-lightbox{padding:10px}.project-page .project-lightbox-nav{width:36px;height:52px}.project-page .project-lightbox-close{width:38px;height:38px}}.hero-social-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.hero-social-links a{display:inline-flex;align-items:center;min-height:32px;border:1px solid rgba(17,24,39,.18);border-radius:999px;padding:7px 11px;background:#ffffff94;color:#111827;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.hero-social-links a:hover{transform:translateY(-1px);border-color:#1118276b;background:#fff}body.portfolio-home{--home-bg: #041318;--home-surface: rgba(8, 29, 35, .9);--home-surface-soft: rgba(10, 35, 42, .84);--home-ink: #f3fbfc;--home-muted: #9bb3b8;--home-line: rgba(86, 199, 220, .3);--home-line-soft: rgba(86, 199, 220, .18);--ai-cyan: #43c6e8;--ai-cyan-soft: #9be8f4;--ai-pink: #ef5fa7;--ai-night: #041318;background:radial-gradient(circle at 15% 10%,rgba(67,198,232,.1),transparent 27%),radial-gradient(circle at 86% 22%,rgba(239,95,167,.08),transparent 22%),var(--ai-night);color:var(--home-ink)}.portfolio-home .ai-particle-field{opacity:.84;mix-blend-mode:normal}.portfolio-home .hero-stage,.portfolio-home .portfolio-block,.portfolio-home .portfolio-block.alt,.portfolio-home .portfolio-block.dark-section{color:var(--home-ink);background:transparent;border-color:var(--home-line-soft)}.portfolio-home .hero-stage{background:linear-gradient(180deg,#0413188a,#04131833)}.portfolio-home .hero-shell{border-color:var(--home-line);background:#06191fc2;box-shadow:0 24px 80px #0003,inset 0 0 80px #43c6e809;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.portfolio-home .its-me{color:var(--ai-cyan);border-bottom-color:var(--ai-cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1rem,1.5vw,1.3rem);letter-spacing:-.04em}.portfolio-home .hero-link-card{color:#b7cbd0;border-bottom-color:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.portfolio-home .hero-link-card:hover{color:var(--ai-cyan-soft);border-bottom-color:var(--ai-cyan)}.portfolio-home .hero-link-card.hero-link-cta{color:#06171b;border-color:var(--ai-cyan);background:var(--ai-cyan);box-shadow:0 0 24px #43c6e829}.portfolio-home .hero-copy h1,.portfolio-home .hero-role,.portfolio-home .block-head h2,.portfolio-home .signals-heading h2,.portfolio-home .contact-title{color:#f5fcfd}.portfolio-home .hero-copy h1:before{display:block;margin-bottom:13px;color:var(--ai-pink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:600;letter-spacing:.12em;content:"> SYSTEM.INIT"}.portfolio-home .hero-role-line{background:linear-gradient(90deg,var(--ai-cyan),var(--ai-pink))}.portfolio-home .career-badge{color:#ffd2e8;border-width:2px;border-color:#ef5fa79e;background:#ef5fa717;box-shadow:inset 0 0 14px #ef5fa70f,0 0 18px #ef5fa714;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.portfolio-home .hero-text,.portfolio-home .hero-list li,.portfolio-home .block-sub,.portfolio-home .contact-pro .block-head p{color:var(--home-muted)}.portfolio-home .hero-list li:before{color:var(--ai-cyan)}.portfolio-home .btn-solid-dark{color:#041318;border-color:var(--ai-cyan);background:var(--ai-cyan);box-shadow:0 0 26px #43c6e829}.portfolio-home .btn-solid-dark:hover{border-color:var(--ai-cyan-soft);background:var(--ai-cyan-soft)}.portfolio-home .btn-outline-dark{color:#eaf8fa;border-width:2px;border-color:#ef5fa78c;background:#ef5fa70a;box-shadow:inset 0 0 18px #ef5fa70b}.portfolio-home .hero-visual{background:radial-gradient(circle at 54% 45%,rgba(67,198,232,.13),transparent 43%),#04131838}.portfolio-home .hero-artboard{filter:drop-shadow(0 1.2rem 1.4rem rgba(0,0,0,.48)) drop-shadow(0 0 28px rgba(67,198,232,.1))}.portfolio-home .ai-system-readout{color:#eafcff;border-color:#43c6e86b;background:#041318c2}.portfolio-home .ai-system-readout span{color:var(--ai-cyan-soft)}.portfolio-home .ai-system-readout i{background:var(--ai-pink);box-shadow:0 0 0 4px #ef5fa726}.portfolio-home .ai-system-readout small{color:#91aeb4}.portfolio-home .ticker-band{border-color:var(--home-line-soft);background-color:#030e12d1;background-image:linear-gradient(90deg,rgba(67,198,232,.08) 1px,transparent 1px),linear-gradient(rgba(67,198,232,.08) 1px,transparent 1px)}.portfolio-home .ticker-line span{color:#e9f8fa}.portfolio-home .ticker-line i{color:var(--ai-pink)}.portfolio-home .engineering-signals{color:var(--home-ink);border-color:var(--home-line-soft);background:#041217ad}.portfolio-home .engineering-signals:before{background-image:linear-gradient(rgba(67,198,232,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(67,198,232,.055) 1px,transparent 1px),radial-gradient(circle at 72% 35%,rgba(239,95,167,.1),transparent 28%)}.portfolio-home .signals-heading>p,.portfolio-home .signals-heading .label-mini,.portfolio-home .label-mini,.portfolio-home .dark-section .label-mini,.portfolio-home .dark-section .block-sub{color:#86a5ab}.portfolio-home .label-mini{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.18em}.portfolio-home .label-mini:before{color:var(--ai-cyan);content:"// "}.portfolio-home .career-roadmap{border-color:var(--home-line)}.portfolio-home .career-roadmap li{border-color:var(--home-line);background:#081e24d1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.portfolio-home .career-roadmap .is-established:before,.portfolio-home .career-roadmap .is-applying:before{border-color:var(--ai-cyan);background:var(--ai-cyan);box-shadow:0 0 12px #43c6e880}.portfolio-home .career-roadmap .is-learning:before{border-color:var(--ai-pink);background:var(--ai-pink);box-shadow:0 0 12px #ef5fa773}.portfolio-home .career-roadmap span,.portfolio-home .career-roadmap p{color:#94adb2}.portfolio-home .career-roadmap li:after{background:linear-gradient(90deg,transparent,var(--ai-pink))}.portfolio-home #projetos,.portfolio-home #especialidades{border-color:var(--home-line-soft)}.portfolio-home .editorial-cases,.portfolio-home .workflow-grid{border-color:var(--home-line)}.portfolio-home .editorial-case,.portfolio-home .offer-card,.portfolio-home .dark-section .offer-card,.portfolio-home .workflow-card,.portfolio-home .course-card,.portfolio-home .exp-row,.portfolio-home .line-form{color:var(--home-ink);border-color:var(--home-line);background:#071b21db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portfolio-home .editorial-case-content h3,.portfolio-home .offer-card h3,.portfolio-home .workflow-card h3,.portfolio-home .course-card h3,.portfolio-home .exp-row h3,.portfolio-home .line-form h3{color:#f3fbfc}.portfolio-home .editorial-case-summary,.portfolio-home .editorial-case-detail p,.portfolio-home .editorial-case .case-result,.portfolio-home .offer-description,.portfolio-home .dark-section .offer-description,.portfolio-home .workflow-card p,.portfolio-home .course-card p,.portfolio-home .exp-row p{color:#9cb3b8}.portfolio-home .editorial-case-index,.portfolio-home .editorial-case-detail>span,.portfolio-home .case-result strong,.portfolio-home .offer-kicker,.portfolio-home .dark-section .offer-kicker,.portfolio-home .workflow-card>span,.portfolio-home .case-category{color:var(--ai-cyan)}.portfolio-home .editorial-case-details,.portfolio-home .editorial-case-detail{border-color:var(--home-line)}.portfolio-home .case-status{color:#b9d1d5}.portfolio-home .case-status:before{background:var(--ai-pink);box-shadow:0 0 9px #ef5fa773}.portfolio-home .case-technologies span,.portfolio-home .exp-tech-badge,.portfolio-home .course-year{color:#bceef5;border-color:#43c6e859;background:#43c6e814}.portfolio-home .editorial-case-link,.portfolio-home .offer-card a,.portfolio-home .dark-section .offer-card a,.portfolio-home .services-cta,.portfolio-home .dark-section .services-cta{color:var(--ai-cyan-soft);border-color:var(--ai-cyan)}.portfolio-home .editorial-case .case-result,.portfolio-home .workflow-card{border-color:var(--home-line)}.portfolio-home .exp-row:first-child{color:var(--home-ink);border-width:2px;border-color:#ef5fa773;background-color:#121d28eb;background-image:linear-gradient(90deg,rgba(239,95,167,.05) 1px,transparent 1px),linear-gradient(rgba(67,198,232,.05) 1px,transparent 1px)}.portfolio-home .exp-meta span,.portfolio-home .exp-row:first-child .exp-meta span,.portfolio-home .exp-meta small{color:#8eabb1}.portfolio-home .contact-title span{color:var(--ai-pink)}.portfolio-home .line-form input,.portfolio-home .line-form textarea,.portfolio-home .line-form select{color:#edf9fa;border-bottom-color:#43c6e861;background:transparent}.portfolio-home .line-form input::placeholder,.portfolio-home .line-form textarea::placeholder{color:#78969c}.portfolio-home .line-form input:focus,.portfolio-home .line-form textarea:focus,.portfolio-home .line-form select:focus{border-bottom-color:var(--ai-pink)}.portfolio-home .line-form select option{color:#edf9fa;background:#082128}.portfolio-home .select-label,.portfolio-home .submit-row small{color:#8ca7ad}.portfolio-home .hero-social-links a{color:var(--ai-cyan-soft);border-color:#43c6e84d;background:#43c6e80f}.portfolio-home .hero-social-links a:hover,.portfolio-home .back-to-top{color:#041318;border-color:var(--ai-cyan);background:var(--ai-cyan)}.portfolio-home .site-footer{color:#82a1a7;border-color:var(--home-line-soft);background:#031014}.portfolio-home .site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.portfolio-home .footer-social-links{display:flex;align-items:center;gap:22px}.portfolio-home .footer-social-links a{display:inline-flex;align-items:center;gap:7px;color:var(--ai-cyan-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portfolio-home .footer-social-links a span{color:var(--ai-pink);transition:transform .18s ease}.portfolio-home .footer-social-links a:hover span{transform:translate(2px,-2px)}@media(max-width:980px){.portfolio-home .hero-menu-toggle{border-color:var(--home-line);background:#071b21e6}.portfolio-home .hero-menu-toggle span{background:var(--ai-cyan)}}@media(max-width:640px){.portfolio-home .ai-particle-field{opacity:.58}.portfolio-home .site-footer-inner{align-items:flex-start;flex-direction:column;gap:12px}}body.project-page{--project-bg: #041318;--project-surface: rgba(7, 27, 33, .88);--project-surface-soft: rgba(10, 35, 42, .8);--project-ink: #f3fbfc;--project-muted: #9bb3b8;--project-line: rgba(86, 199, 220, .3);--project-line-soft: rgba(86, 199, 220, .18);--ai-cyan: #43c6e8;--ai-cyan-soft: #9be8f4;--ai-pink: #ef5fa7;min-height:100vh;color:var(--project-ink);background:radial-gradient(circle at 14% 9%,rgba(67,198,232,.11),transparent 28%),radial-gradient(circle at 87% 20%,rgba(239,95,167,.09),transparent 24%),var(--project-bg)}.project-page .ai-particle-field{position:fixed;inset:0;z-index:8;width:100%;height:100%;pointer-events:none;opacity:.82}.project-page .project-hero,.project-page .project-content,.project-page .project-ai-evidence,.project-page .project-gallery-section,.project-page .project-related,.project-page .site-footer{position:relative;z-index:10}.project-page .project-hero{padding-top:22px}.project-page .hero-topbar{align-items:center;margin-bottom:24px}.project-page .its-me{min-height:0;margin:0;padding:8px 11px;color:var(--ai-cyan-soft);border:1px solid var(--project-line);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:none;background:#43c6e80f}.project-page .hero-links{display:flex;align-items:center;justify-content:flex-end;width:auto;gap:clamp(16px,2.2vw,30px)}.project-page .hero-link-card,.project-page .hero-link-card.is-active{width:auto;min-height:0;padding:8px 0 5px;color:#a9c0c5;border:0;border-bottom:1px solid transparent;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-page .hero-link-card:after{content:none}.project-page .hero-link-card:hover,.project-page .hero-link-card.is-active:hover{color:var(--ai-cyan-soft);border-bottom-color:var(--ai-cyan);background:transparent;transform:none}.project-page .hero-link-card.hero-link-cta{padding:9px 13px;color:#041318;border:1px solid var(--ai-cyan);background:var(--ai-cyan)}.project-page .hero-link-card.hero-link-cta:hover{color:#041318;border-color:var(--ai-cyan-soft);background:var(--ai-cyan-soft)}.project-page .project-hero-grid{overflow:hidden;border-color:var(--project-line);background:#06181ed6;box-shadow:0 28px 80px #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-page .project-copy{border-right-color:var(--project-line)}.project-page .label-mini{color:var(--ai-cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.12em}.project-page .label-mini:before{content:"// ";color:var(--ai-pink)}.project-page h1,.project-page .project-block h2,.project-page .block-head h2,.project-page .ai-evidence-grid h3,.project-page .related-grid h3{color:var(--project-ink)}.project-page h1{max-width:13ch;margin-top:16px;margin-bottom:18px;font-size:clamp(2.35rem,5vw,4.9rem);line-height:.94;letter-spacing:-.055em}.project-page .project-summary,.project-page .project-block p,.project-page .block-sub,.project-page .ai-evidence-grid p,.project-page .related-grid p{color:var(--project-muted)}.project-page .project-summary{max-width:56ch;margin-bottom:24px}.project-page .project-badges span{color:#bceef5;border-color:#43c6e857;background:#43c6e814}.project-page .btn-solid-dark,.project-page .btn-outline-dark{min-height:43px;padding:11px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}.project-page .btn-solid-dark{color:#041318;border-color:var(--ai-cyan);background:var(--ai-cyan)}.project-page .btn-solid-dark:hover{color:#041318;border-color:var(--ai-cyan-soft);background:var(--ai-cyan-soft)}.project-page .btn-outline-dark{color:#ffd2e9;border:2px solid rgba(239,95,167,.72);background:#ef5fa70f}.project-page .project-cover{border-left-color:var(--project-line);background-color:#05151bf5;background-image:radial-gradient(circle at 50% 42%,rgba(67,198,232,.16),transparent 45%),radial-gradient(circle at 80% 15%,rgba(239,95,167,.11),transparent 30%),linear-gradient(90deg,rgba(67,198,232,.06) 1px,transparent 1px),linear-gradient(rgba(67,198,232,.06) 1px,transparent 1px);background-size:auto,auto,22px 22px,22px 22px}.project-page .project-cover img{border:1px solid var(--project-line-soft);box-shadow:0 22px 54px #00000059}.project-page .project-content{padding:16px 0 32px}.project-page .project-content-grid{gap:14px}.project-page .project-block,.project-page .ai-evidence-grid article,.project-page .related-grid article{border-color:var(--project-line);background:var(--project-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-page .project-block{padding:clamp(20px,2.4vw,30px)}.project-page .project-block h2{margin-bottom:13px}.project-page .project-features li{color:#c9dde0}.project-page .project-features li:before{color:var(--ai-pink)}.project-page .project-ai-evidence,.project-page .project-gallery-section,.project-page .project-related{padding:clamp(50px,7vw,84px) 0;color:var(--project-ink);border-top:1px solid var(--project-line-soft);border-bottom:0;background:transparent}.project-page .project-ai-evidence .label-mini,.project-page .project-ai-evidence .block-sub{color:var(--project-muted)}.project-page .project-ai-evidence .label-mini{color:var(--ai-cyan)}.project-page .ai-evidence-grid{border-color:var(--project-line)}.project-page .ai-evidence-grid article{padding:clamp(22px,3vw,34px);border-color:var(--project-line)}.project-page .ai-evidence-grid span{color:var(--ai-pink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.project-page .project-gallery-item{overflow:hidden;height:290px;border-color:var(--project-line);background:var(--project-surface-soft);box-shadow:inset 0 0 0 1px #43c6e80f}.project-page .project-gallery-item img{filter:none;transition:transform .28s ease}.project-page .project-gallery-item:hover img{transform:scale(1.025)}.project-page .project-gallery-swiper .swiper-pagination-bullet{background:#9be8f46b}.project-page .project-gallery-swiper .swiper-pagination-bullet-active{background:var(--ai-pink)}.project-page .project-gallery-swiper .swiper-button-prev,.project-page .project-gallery-swiper .swiper-button-next{color:#041318;border-color:var(--ai-cyan);background:var(--ai-cyan)}.project-page .related-grid{gap:14px}.project-page .related-grid article{padding:14px}.project-page .related-media{border-color:var(--project-line-soft);background:#061a20}.project-page .related-grid a{color:var(--ai-cyan-soft);border-bottom-color:var(--ai-cyan)}.project-page .site-footer{color:#82a1a7;border-color:var(--project-line-soft);background:#031014}.project-page .footer-social-links a{color:var(--ai-cyan-soft)}.project-page .footer-social-links a span{color:var(--ai-pink)}.project-page .back-to-top{color:#041318;border-color:var(--ai-cyan);background:var(--ai-cyan)}@media(max-width:980px){.project-page .hero-menu-toggle{border-color:var(--project-line);background:#071b21eb}.project-page .hero-menu-toggle span{background:var(--ai-cyan)}.project-page .hero-links{gap:0;padding:8px 14px;border:1px solid var(--project-line);background:#05161cf7}.project-page .hero-link-card,.project-page .hero-link-card.is-active{width:100%;padding:13px 2px;border-bottom:1px solid var(--project-line-soft)}.project-page .hero-link-card.hero-link-cta{width:fit-content;margin-top:10px;padding:10px 13px;border:1px solid var(--ai-cyan)}.project-page .project-copy{border-right:0;border-bottom-color:var(--project-line)}.project-page .project-cover{border-left:0}}@media(max-width:640px){.project-page .ai-particle-field{opacity:.58}.project-page h1{font-size:clamp(2rem,12vw,3.2rem);overflow-wrap:anywhere}.project-page .project-gallery-item{height:230px}}body.projects-index-page{--projects-bg: #041318;--projects-surface: rgba(7, 27, 33, .88);--projects-surface-soft: rgba(10, 35, 42, .8);--projects-ink: #f3fbfc;--projects-muted: #9bb3b8;--projects-line: rgba(86, 199, 220, .3);--projects-line-soft: rgba(86, 199, 220, .18);--ai-cyan: #43c6e8;--ai-cyan-soft: #9be8f4;--ai-pink: #ef5fa7;min-height:100vh;color:var(--projects-ink);background:radial-gradient(circle at 14% 9%,rgba(67,198,232,.11),transparent 28%),radial-gradient(circle at 87% 20%,rgba(239,95,167,.09),transparent 24%),var(--projects-bg)}.projects-index-page .container{width:min(calc(100% - 56px),1140px)}.projects-index-page .ai-particle-field{position:fixed;inset:0;z-index:8;width:100%;height:100%;pointer-events:none;opacity:.82}.projects-index-page .projects-index-hero,.projects-index-page .projects-index-content,.projects-index-page .site-footer{position:relative;z-index:10}.projects-index-page .projects-index-hero{padding:22px 0 clamp(48px,7vw,86px)}.projects-index-page .hero-topbar{display:flex;align-items:center;gap:18px;margin-bottom:clamp(58px,8vw,108px)}.projects-index-page .its-me{display:inline-flex;align-items:center;margin:0;padding:8px 11px;color:var(--ai-cyan-soft);border:1px solid var(--projects-line);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:800;letter-spacing:.08em;background:#43c6e80f}.projects-index-page .hero-menu-toggle{display:none}.projects-index-page .hero-links{display:flex;align-items:center;justify-content:flex-end;width:auto;gap:clamp(16px,2.2vw,30px);margin-left:auto}.projects-index-page .hero-link-card{width:auto;min-height:0;padding:8px 0 5px;color:#a9c0c5;border:0;border-bottom:1px solid transparent;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.projects-index-page .hero-link-card:after{content:none}.projects-index-page .hero-link-card:hover,.projects-index-page .hero-link-card.is-active{color:var(--ai-cyan-soft);border-bottom-color:var(--ai-cyan);background:transparent;transform:none}.projects-index-page .hero-link-card.hero-link-cta{padding:9px 13px;color:#041318;border:1px solid var(--ai-cyan);background:var(--ai-cyan)}.projects-index-page .projects-index-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);align-items:end;column-gap:clamp(30px,7vw,100px);padding:clamp(28px,5vw,54px);border:1px solid var(--projects-line);background:#06181ed1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.projects-index-page .label-mini{color:var(--ai-cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.12em}.projects-index-page .label-mini:before{content:"// ";color:var(--ai-pink)}.projects-index-intro .label-mini,.projects-index-intro h1{grid-column:1}.projects-index-intro h1{max-width:14ch;margin:18px 0 0;color:var(--projects-ink);font-family:Sora,sans-serif;font-size:clamp(2.5rem,5.8vw,5.8rem);line-height:.93;letter-spacing:-.06em}.projects-index-intro>p:not(.label-mini){grid-column:2;grid-row:1 / span 2;max-width:42ch;margin:0 0 72px;color:var(--projects-muted);font-size:1.02rem;line-height:1.65}.projects-index-count{grid-column:2;grid-row:2;display:flex;align-items:baseline;gap:12px;padding-top:18px;border-top:1px solid var(--projects-line)}.projects-index-count strong{color:var(--ai-pink);font-family:Sora,sans-serif;font-size:2.4rem}.projects-index-count span{color:#b9d2d6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.projects-index-content{padding:clamp(54px,8vw,96px) 0;border-top:1px solid var(--projects-line-soft)}.projects-index-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.projects-index-heading h2{margin:10px 0 0;color:var(--projects-ink);font-family:Sora,sans-serif;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.045em}.projects-index-heading>p{margin:0 0 8px;color:var(--projects-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.projects-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.projects-index-card{min-width:0;border:1px solid var(--projects-line);background:var(--projects-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.projects-index-media{display:grid;place-items:center;aspect-ratio:16 / 10;overflow:hidden;color:var(--ai-cyan);border-bottom:1px solid var(--projects-line);background:linear-gradient(90deg,rgba(67,198,232,.05) 1px,transparent 1px),linear-gradient(rgba(67,198,232,.05) 1px,transparent 1px),#061a20;background-size:20px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:2rem}.projects-index-media img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.projects-index-card:hover .projects-index-media img{transform:scale(1.025)}.projects-index-card-body{display:flex;min-height:320px;flex-direction:column;padding:22px}.projects-index-card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px;color:var(--ai-cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.projects-index-card-meta time{color:var(--ai-pink)}.projects-index-card h3,.projects-index-empty h3{margin:0 0 12px;color:var(--projects-ink);font-family:Sora,sans-serif;font-size:1.3rem;line-height:1.18}.projects-index-card-body>p{margin:0 0 20px;color:var(--projects-muted);line-height:1.58}.projects-index-technologies{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 22px}.projects-index-technologies span{padding:5px 8px;color:#bceef5;border:1px solid rgba(67,198,232,.3);background:#43c6e812;font-size:.68rem}.projects-index-link,.projects-index-empty a{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding-bottom:4px;color:var(--ai-cyan-soft);border-bottom:1px solid var(--ai-cyan);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.projects-index-link span{color:var(--ai-pink);transition:transform .18s ease}.projects-index-link:hover span{transform:translate(4px)}.projects-index-empty{grid-column:1 / -1;padding:clamp(28px,5vw,54px);border:1px solid var(--projects-line);background:var(--projects-surface)}.projects-pagination{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:24px;margin-top:36px;padding-top:24px;border-top:1px solid var(--projects-line);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.projects-pagination-direction{color:var(--ai-cyan-soft)}.projects-pagination-direction:last-child{justify-self:end}.projects-pagination .is-disabled{color:#597279}.projects-pagination-pages{display:flex;align-items:center;justify-content:center;gap:7px}.projects-pagination-pages a,.projects-pagination-pages span{display:grid;width:38px;height:38px;place-items:center;color:#a9c0c5;border:1px solid var(--projects-line-soft);background:#071b21b8}.projects-pagination-pages a:hover{color:var(--ai-cyan-soft);border-color:var(--ai-cyan)}.projects-pagination-pages .is-current{color:#041318;border-color:var(--ai-pink);background:var(--ai-pink)}.projects-index-page .site-footer{color:#82a1a7;border-color:var(--projects-line-soft);background:#031014}.projects-index-page .footer-social-links a{color:var(--ai-cyan-soft)}.projects-index-page .footer-social-links a span{color:var(--ai-pink)}.projects-index-page .back-to-top{color:#041318;border-color:var(--ai-cyan);background:var(--ai-cyan)}@media(max-width:980px){.projects-index-page .container{width:min(calc(100% - 30px),1140px)}.projects-index-page .hero-topbar{flex-wrap:wrap;margin-bottom:48px}.projects-index-page .hero-menu-toggle{display:inline-flex;width:42px;height:38px;flex-direction:column;justify-content:center;gap:4px;margin-left:auto;padding:0 10px;border:1px solid var(--projects-line);background:#071b21eb}.projects-index-page .hero-menu-toggle span{display:block;width:100%;height:1px;background:var(--ai-cyan);transition:transform .17s ease,opacity .17s ease}.projects-index-page .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}.projects-index-page .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(2){opacity:0}.projects-index-page .hero-topbar.is-menu-open .hero-menu-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.projects-index-page .hero-links{display:none;width:100%;margin-left:0;gap:0;padding:8px 14px;border:1px solid var(--projects-line);background:#05161cf7}.projects-index-page .hero-topbar.is-menu-open .hero-links{display:flex;align-items:flex-start;flex-direction:column}.projects-index-page .hero-link-card{width:100%;padding:13px 2px;border-bottom:1px solid var(--projects-line-soft)}.projects-index-page .hero-link-card.hero-link-cta{width:fit-content;margin-top:10px;padding:10px 13px;border:1px solid var(--ai-cyan)}.projects-index-page .projects-index-intro{grid-template-columns:1fr}.projects-index-intro .label-mini,.projects-index-intro h1,.projects-index-intro>p:not(.label-mini),.projects-index-count{grid-column:1;grid-row:auto}.projects-index-intro>p:not(.label-mini){margin:26px 0}.projects-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.projects-index-page .container{width:min(calc(100% - 20px),1140px)}.projects-index-page .ai-particle-field{opacity:.58}.projects-index-intro h1{font-size:clamp(2.25rem,12vw,3.5rem);overflow-wrap:anywhere}.projects-index-heading{align-items:flex-start;flex-direction:column;gap:8px}.projects-index-grid{grid-template-columns:1fr}.projects-index-card-body{min-height:0}.projects-index-technologies{margin-top:6px}.projects-pagination{grid-template-columns:1fr 1fr;gap:18px}.projects-pagination-pages{grid-column:1 / -1;grid-row:1;flex-wrap:wrap}}
