@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#f8fafc;--white:#fff;--surface:#eef2ff;--primary:#6d5ef7;--primary-hover:#5546e8;--ink:#172033;--muted:#64748b;--border:#e2e8f0;--shadow:0 18px 65px rgba(43,53,89,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.site-header{height:78px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center}.brand{display:inline-flex;align-items:baseline;gap:5px;font-weight:800;font-size:24px;letter-spacing:-1.3px}.brand-suffix{color:var(--primary)}.nav{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:600;color:#475569}.nav>a{transition:color .2s}.nav>a:hover{color:var(--primary)}.nav-contact{border:1px solid var(--border);border-radius:9px;padding:12px 17px;background:#fff}.nav-contact span{margin-left:7px}.menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}.menu-toggle span{display:block;width:23px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}.section{scroll-margin-top:85px}.hero{overflow:hidden;padding:100px 0 116px;background:radial-gradient(circle at 83% 48%,#eeedff 0,transparent 34%),var(--bg)}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:45px}.eyebrow,.section-kicker{color:var(--primary);font-size:11px;letter-spacing:1.65px;font-weight:800}.eyebrow{display:inline-flex;align-items:center;gap:10px;background:#ede9fe;padding:11px 15px;border-radius:30px}.eyebrow-dot,.status-dot{width:7px;height:7px;background:#8b79ff;border-radius:50%}.hero h1{font-size:clamp(42px,4.65vw,66px);line-height:1.105;letter-spacing:-3.3px;margin:28px 0 22px;max-width:690px}.hero h1 span,.contact h2 span{color:var(--primary)}.hero-lead{font-size:17px;line-height:1.85;color:var(--muted);max-width:560px;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:51px;border-radius:9px;padding:0 22px;font-size:13px;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--primary);color:white;box-shadow:0 10px 24px rgba(109,94,247,.18)}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{background:white;border:1px solid #cbd5e1;color:#334155}.btn-outline:hover{border-color:var(--primary)}.hero-foot{margin-top:80px;display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:1.4px;color:#94a3b8;font-weight:700}.hero-foot .line{width:32px;height:1px;background:#a8b1c1}.hero-visual{height:440px;position:relative;display:flex;align-items:center;justify-content:center}.visual-orbit{position:absolute;border:1px solid #dddafa;border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:450px;height:330px}.orbit-two{width:380px;height:470px;transform:rotate(40deg)}.visual-panel{width:430px;height:300px;border-radius:16px;background:white;border:1px solid #e4e7f4;box-shadow:0 28px 85px rgba(61,59,119,.16);position:relative;z-index:2;transform:rotate(-4deg);overflow:hidden}.panel-top{height:43px;border-bottom:1px solid #edf0f6;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#a0a9bc;font-size:9px}.panel-dots{display:flex;gap:5px}.panel-dots i{width:7px;height:7px;border-radius:50%;background:#e2e7f0}.panel-dots i:first-child{background:#f2bac0}.panel-icon{font-size:17px}.panel-body{display:flex;height:calc(100% - 43px)}.panel-sidebar{width:86px;background:#fafbff;border-right:1px solid #eef0f7;padding:22px 14px}.side-logo{width:26px;height:26px;background:#e4ddff;border-radius:8px;margin-bottom:25px}.side-line{height:7px;width:52px;background:#e7ebf3;border-radius:5px;margin:15px 0}.side-line.active{background:#a99aff}.side-line.short{width:35px}.side-divider{height:1px;background:#e8ebf2;margin-top:22px}.panel-content{flex:1;padding:22px}.mini-label{font-size:8px;color:#a7afc0;letter-spacing:1.3px;font-weight:700}.mini-title{height:12px;background:#28344b;border-radius:5px;width:58%;margin:10px 0}.mini-subtitle{height:7px;background:#e8ebf2;border-radius:5px;width:76%}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:23px 0 15px}.metric{border:1px solid #edf0f6;border-radius:8px;padding:12px}.metric-label{display:block;width:46px;height:5px;background:#d9deeb;border-radius:4px}.metric b{display:block;font-size:22px;margin:9px 0;color:#2b354a}.metric-bar{display:block;width:75%;height:4px;background:#d4ddf3;border-radius:4px}.metric-bar.purple{background:#b9aaff}.chart{height:55px;border-radius:7px;background:linear-gradient(#f7f8fd 1px,transparent 1px) 0 0/100% 18px,#fcfcff;overflow:hidden}.chart-line{width:100%;height:100%}.chart svg{width:100%;height:100%}.floating-tag{position:absolute;z-index:3;background:#fff;border:1px solid #e8e8f5;border-radius:9px;padding:13px 16px;font-size:11px;font-weight:700;color:#4b5570;box-shadow:0 12px 34px rgba(53,59,105,.11);display:flex;align-items:center;gap:9px}.tag-top{right:-2px;top:35px;transform:rotate(5deg)}.tag-bottom{left:5px;bottom:38px;transform:rotate(4deg)}.status-dot{background:#34c89b}.code-symbol{color:var(--primary);font-weight:800;font-size:15px}.projects{background:#fff;padding:108px 0 120px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px}.section-heading h2,.skills h2,.about h2{font-size:clamp(31px,3.4vw,45px);letter-spacing:-1.9px;line-height:1.18;margin:16px 0}.section-heading p:not(.section-kicker),.section-description{font-size:15px;line-height:1.8;color:var(--muted);max-width:620px}.section-index{font-size:10px;color:#9aa6b8;letter-spacing:1.1px;font-weight:700;white-space:nowrap;padding-bottom:10px}.period{color:var(--primary)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:white;transition:transform .25s,box-shadow .25s}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.project-art{height:285px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.art-doc{background:linear-gradient(135deg,#e8ebff,#f4f6ff)}.art-bjj{background:linear-gradient(135deg,#ede9ff,#f6f2ff)}.art-caption{position:absolute;bottom:10px;left:15px;color:#8d94aa;font-size:9px}.mock-browser{width:82%;height:215px;background:white;border:1px solid #e3e6f3;border-radius:9px;box-shadow:0 16px 35px #7783c42b;transform:rotate(-3deg);overflow:hidden}.mock-toolbar{height:29px;border-bottom:1px solid #e8ebf4;display:flex;align-items:center;gap:5px;padding:0 11px}.mock-toolbar i{height:6px;width:6px;background:#cdd3e3;border-radius:50%}.mock-toolbar span{margin-left:16px;font-size:8px;color:#9aa4b5}.mock-doc-body{padding:18px}.mock-doc-head{display:flex;justify-content:space-between;font-size:11px;font-weight:800}.mock-chip{background:#e9e7ff;color:#6d5ef7;font-size:8px;padding:5px 9px;border-radius:5px}.mock-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:17px 0 7px;font-size:7px;text-align:center;color:#8793a9}.mock-schedule{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.mock-schedule span{height:25px;background:#edf0f9;border-radius:5px}.mock-schedule span:nth-child(3n){background:#dcd6ff}.mock-schedule span:nth-child(7n){background:#d8eae8}.mock-phone{height:253px;width:142px;border:5px solid #24283b;border-radius:25px;background:#fff;box-shadow:15px 20px 38px #8581c343;transform:rotate(8deg);position:relative;padding:13px 8px}.phone-notch{position:absolute;top:0;left:39px;width:56px;height:11px;background:#24283b;border-radius:0 0 9px 9px}.phone-inner{padding:13px 5px}.phone-title{font-size:12px;letter-spacing:-.5px;font-weight:800}.phone-title strong{color:#c43c4b}.phone-small{font-size:5px;color:#8c93a4;letter-spacing:1px;margin:6px 0 14px}.phone-graph{background:#faf4f5;border-radius:7px;padding:9px}.phone-graph-title{font-size:6px;font-weight:700}.phone-bars{display:flex;align-items:end;justify-content:space-around;height:55px}.phone-bars i{width:8px;height:40%;background:#e9b9bf;border-radius:2px 2px 0 0}.phone-bars i:nth-child(2){height:75%}.phone-bars i:nth-child(3){height:55%}.phone-bars i:nth-child(4){height:88%;background:#c43c4b}.phone-bars i:nth-child(5){height:68%}.phone-bars i:nth-child(6){height:95%;background:#c43c4b}.phone-bars i:nth-child(7){height:76%}.phone-item{display:flex;gap:7px;align-items:center;margin:11px 0}.phone-circle{width:19px;height:19px;border-radius:6px;background:#f3e5e7}.phone-lines{width:68px;height:13px;background:linear-gradient(to bottom,#dce0e9 0 4px,transparent 4px 9px,#eceef3 9px);border-radius:2px}.project-info{padding:29px}.project-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;font-weight:700}.project-number{color:var(--primary)}.project-category{color:#9aa6b8}.project-info h3{font-size:26px;letter-spacing:-1px;margin:19px 0 10px}.project-info h3 span{font-size:18px;color:#a5acc0}.project-info p{font-size:14px;color:var(--muted);line-height:1.7;min-height:48px;margin:0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.chips span{font-size:10px;font-weight:700;color:#66738c;padding:8px 10px;background:#f4f6fa;border:1px solid #ebedf3;border-radius:6px}.project-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:21px;font-size:12px;font-weight:700;color:var(--primary)}.skills{padding:120px 0;background:var(--bg)}.skills-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.skills-list{border-top:1px solid var(--border)}.skill-row{display:flex;align-items:center;gap:19px;padding:23px 0;border-bottom:1px solid var(--border)}.skill-icon{flex:0 0 44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#ede9fe;color:var(--primary);font-weight:800;font-size:19px}.skill-row h3{margin:0 0 6px;font-size:15px}.skill-row p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.skill-arrow{margin-left:auto;color:#b0b8c7}.about{padding:105px 0;background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.about-copy p{font-size:16px;line-height:1.9;color:#59677e;margin:0 0 20px}.about-note{background:#f5f6ff;border-left:3px solid var(--primary);padding:15px 18px;font-size:12px;line-height:1.7;color:#67738d}.about-note span{font-weight:800;color:var(--primary);margin-right:8px}.contact{background:var(--bg);padding:105px 0}.contact-box{border-radius:20px;background:linear-gradient(115deg,#eceaff,#f7f8ff);padding:65px 70px;display:flex;justify-content:space-between;align-items:end;gap:40px}.contact h2{font-size:clamp(30px,3.6vw,46px);line-height:1.2;letter-spacing:-1.8px;max-width:630px;margin:16px 0}.contact p:not(.section-kicker){color:var(--muted);font-size:14px;line-height:1.7}.contact .btn{white-space:nowrap}.contact-warning{font-size:11px!important;color:#8b93a6!important;text-align:right;margin:10px 0 0}.footer{background:#fff;border-top:1px solid var(--border)}.footer-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:15px}.footer-inner>span,.footer-inner>a:last-child{font-size:12px;color:#8a96aa}.footer-inner>a:last-child:hover{color:var(--primary)}
@media(max-width:1050px){.hero-grid{grid-template-columns:1fr 1fr;gap:15px}.hero h1{font-size:49px}.visual-panel{width:350px;height:270px}.hero-visual{height:360px}.orbit-one{width:360px;height:270px}.orbit-two{width:300px;height:370px}.tag-top{right:0}.skills-grid{gap:50px}}
@media(max-width:767px){.container{width:calc(100% - 40px)}.site-header{height:66px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:65px;background:white;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;border-bottom:1px solid var(--border);box-shadow:0 15px 25px #1c294011}.nav.open{display:flex}.nav a{padding:15px 8px}.nav-contact{border:0;padding:15px 8px!important}.hero{padding:67px 0 75px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:25px}.hero h1{font-size:clamp(36px,9vw,49px);letter-spacing:-2px;margin:23px 0 19px}.hero-lead{font-size:15px;line-height:1.75}.hero-actions{margin-top:26px}.hero-foot{margin-top:42px}.hero-visual{height:300px;max-width:450px;width:100%;margin:auto}.visual-panel{width:min(85%,340px);height:245px}.tag-top{top:12px}.tag-bottom{bottom:8px}.orbit-one{width:300px;height:220px}.orbit-two{width:240px;height:300px}.panel-content{padding:16px}.metric-grid{margin:15px 0 10px}.projects,.skills,.about,.contact{padding:75px 0}.section-heading{align-items:start}.section-index{display:none}.section-heading h2,.skills h2,.about h2{font-size:34px}.project-grid,.skills-grid,.about-grid{grid-template-columns:1fr;gap:24px}.project-art{height:245px}.project-info{padding:24px}.skills-grid,.about-grid{gap:30px}.contact-box{padding:36px 27px;display:block}.contact .btn{margin-top:22px}.contact-warning{text-align:left}.footer-inner{padding:23px 0;flex-wrap:wrap}.footer-inner>span{order:3;width:100%}}
@media(max-width:390px){.hero h1{font-size:36px}.eyebrow{font-size:9px}.btn{gap:12px;padding:0 15px}.hero-visual{height:265px}.visual-panel{height:225px}.tag-top{right:-8px}.tag-bottom{left:-5px}.project-art{height:220px}.mock-browser{width:90%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Portfolio v2 — identidade Light Soft preservada, com foco em software + produto + gestão. */
:root { --focus: #5143e6; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.skip-link { position: absolute; left: 12px; top: -100px; padding: 12px 18px; background: var(--ink); color: #fff; z-index: 100; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.hero { padding-top: 96px; padding-bottom: 104px; }
.hero h1 { font-size: clamp(42px, 4.55vw, 65px); }
.hero-lead strong { color: var(--ink); font-weight: 700; }
.hero-foot { margin-top: 57px; }
.eyebrow { max-width: 100%; line-height: 1.5; }
.project-info p { min-height: 95px; }
.project-contribution { border-top: 1px solid var(--border); padding-top: 16px; margin-top: 18px; display: flex; flex-direction: column; gap: 5px; }
.project-contribution>span { color: #8592a7; font-size: 10px; text-transform: uppercase; letter-spacing: .8px; font-weight: 700; }
.project-contribution>strong { font-size: 12px; line-height: 1.5; color: #39465c; }
.project-info .chips { margin: 20px 0; }
.project-bottom-note { margin-top: 27px; display: flex; align-items: center; gap: 14px; color: #64748b; }
.project-bottom-note p { font-size: 13px; line-height: 1.65; margin: 0; }
.mini-mark { background: #ede9fe; color: var(--primary); font-size: 18px; font-weight: 800; border-radius: 10px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; flex: 0 0 36px; }
.method { background: #f8fafc; padding: 108px 0 112px; }
.method-heading { max-width: 780px; }
.method-heading h2 { font-size: clamp(32px,3.6vw,48px); letter-spacing: -2px; line-height: 1.18; margin: 16px 0 20px; }
.method-heading h2 span { color: var(--primary); }
.method-heading>p:last-child { max-width: 710px; font-size: 15px; line-height: 1.85; color: var(--muted); }
.method-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 40px; }
.method-card { border: 1px solid var(--border); border-radius: 16px; background: #fff; padding: 27px 27px 31px; display: flex; flex-direction: column; align-items: flex-start; min-height: 275px; }
.method-number { font-weight: 800; letter-spacing: 1.3px; color: #8491aa; font-size: 10px; }
.method-icon { width: 47px; height: 47px; display: grid; place-items: center; margin: 24px 0 18px; background: #ede9fe; color: var(--primary); border-radius: 12px; font-size: 26px; }
.method-card h3 { font-size: 17px; margin: 0 0 11px; letter-spacing: -.5px; }
.method-card p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0; }
.skills { background: #fff; padding: 110px 0; }
.small-proof { margin-top: 28px; border-left: 3px solid var(--primary); background: #f6f5ff; padding: 17px 19px; font-size: 13px; line-height: 1.75; color: #65728e; max-width: 430px; }
.about { background: var(--bg); padding: 112px 0; }
.about-extended-grid { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: clamp(35px,6vw,100px); align-items: center; }
.about-photo-card { background: #e5e7fa; border-radius: 17px; overflow: hidden; box-shadow: 0 24px 60px rgba(57,69,119,.10); position: relative; }
.about-photo-card>img { width: 100%; height: 480px; display: block; object-fit: cover; object-position: center 24%; }
.photo-note { padding: 19px 22px; background: white; display: flex; flex-direction: column; gap: 5px; }
.photo-name { color: var(--ink); font-size: 17px; font-weight: 800; }
.photo-note span:last-child { font-size: 11px; color: var(--muted); line-height: 1.7; }
.about-detail h2 { font-size: clamp(32px,3.5vw,45px); letter-spacing: -1.8px; line-height: 1.2; margin: 14px 0 23px; }
.about-detail>p:not(.section-kicker) { font-size: 14px; line-height: 1.85; color: #59677e; margin: 0 0 16px; }
.about-detail strong { color: #344257; font-weight: 700; }
.about-quote { border-left: 3px solid var(--primary); background: #f0efff; padding: 17px 21px; font-size: 13px; line-height: 1.8; font-weight: 600; color: #4c5372; margin-top: 24px; }
.about-links { display: flex; flex-wrap: wrap; gap: 26px; padding-top: 25px; }
.about-links a { font-size: 13px; font-weight: 700; color: var(--primary); }
.about-links a:hover { text-decoration: underline; }
.credentials { padding: 115px 0; background: #fff; }
.credential-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap: 46px; }
.credential-main { border-top: 1px solid var(--border); }
.credential-line { padding: 22px 0; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 66px 1fr; gap: 14px; }
.credential-year { color: var(--primary); font-size: 12px; font-weight: 800; padding-top: 4px; }
.credential-line h3 { margin: 0 0 6px; font-size: 16px; line-height: 1.55; letter-spacing: -.2px; }
.credential-line p { margin: 0 0 7px; font-size: 13px; color: #586781; line-height: 1.55; }
.credential-line small { color: #8894a8; line-height: 1.7; font-size: 12px; }
.credential-aside { background: linear-gradient(140deg,#efedff,#f8f9ff); border: 1px solid #e6e3fd; border-radius: 16px; padding: 34px; display: flex; flex-direction: column; align-items: flex-start; align-self: start; }
.aside-kicker { color: var(--primary); font-size: 10px; letter-spacing: 1.4px; font-weight: 800; margin: 0 0 20px; }
.credential-aside h3 { font-size: 25px; letter-spacing: -.8px; line-height: 1.25; margin: 0 0 16px; }
.credential-aside>p:not(.aside-kicker) { color: #66728e; font-size: 13px; line-height: 1.8; margin: 0 0 23px; }
.registration-card { background: rgba(255,255,255,.85); border: 1px solid #e5e4f9; border-radius: 11px; padding: 19px; width: 100%; display: flex; flex-direction: column; gap: 8px; }
.registration-card span { color: #8a8fa6; font-size: 10px; font-weight: 800; letter-spacing: 1px; }
.registration-card strong { font-size: 18px; letter-spacing: -.4px; }
.registration-card small { font-size: 12px; color: #77849c; }
.credential-aside>a { margin-top: 24px; color: var(--primary); font-size: 12px; font-weight: 700; line-height: 1.6; }
.contact { background: var(--bg); }
.contact-details { display: flex; gap: 14px; justify-content: flex-end; flex-wrap: wrap; padding-top: 16px; font-size: 12px; color: #78849b; }
.contact-details a { text-decoration: underline; text-decoration-color: transparent; transition: color .2s; }
.contact-details a:hover { color: var(--primary); text-decoration-color: currentColor; }
@media (max-width: 1050px) {
  .hero-grid { grid-template-columns: 1.05fr .95fr; }
  .hero h1 { font-size: 48px; }
  .hero-lead { font-size: 15px; }
  .credential-grid { gap: 27px; }
  .about-extended-grid { gap: 36px; }
}
@media (max-width: 767px) {
  .hero { padding: 67px 0 68px; }
  .hero h1 { font-size: clamp(36px,9vw,49px); }
  .hero-foot { margin-top: 38px; }
  .evidence-grid { grid-template-columns: 1fr; }
  .evidence-item { padding: 18px 0; }
  .evidence-item:not(:first-child) { padding: 18px 0; border-left: 0; border-top: 1px solid var(--border); }
  .evidence-label { font-size: 9px; }
  .evidence-item strong { font-size: 15px; }
  .projects,.method,.skills,.about,.credentials,.contact { padding: 76px 0; }
  .method-grid,.credential-grid,.about-extended-grid { grid-template-columns: 1fr; gap: 18px; }
  .method-card { min-height: auto; padding: 24px; }
  .method-heading h2,.about-detail h2 { font-size: 34px; }
  .project-info p { min-height: 0; }
  .about-photo-card { max-width: 440px; margin-bottom: 24px; }
  .about-photo-card>img { height: 400px; }
  .credential-grid { gap: 32px; }
  .credential-aside { padding: 25px; }
  .contact-details { justify-content: flex-start; }
}
@media (max-width: 390px) {
  .about-photo-card>img { height: 340px; }
  .credential-line { grid-template-columns: 55px 1fr; gap: 10px; }
  .credential-aside h3 { font-size: 22px; }
  .contact-details { column-gap: 8px; }
}


/* Portfolio v3 — assinatura profissional e soluções */
.brand { gap: 8px; letter-spacing: -0.9px; font-size: 22px; white-space: nowrap; }
.brand-mark { font-weight: 800; }
.brand-dot { color: var(--primary); }
.brand-suffix { color: var(--primary); font-size: 12px; font-weight: 700; letter-spacing: 0; margin-left: 2px; }
.projects .section-heading { margin-bottom: 38px; }
.projects .section-heading h2 { margin-bottom: 0; }
.innovation-card { margin-top: 12px; }
.innovation-card small { line-height: 1.7; }
@media(max-width:480px) { .brand { font-size: 21px; } .brand-suffix { display: none; } }


/* v4 — in-page EN / PT language switch, desktop and mobile */
.header-actions{display:flex;align-items:center;gap:22px;min-width:0}
.header-actions .nav{gap:27px}
.language-switch{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;background:#f4f5ff;border:1px solid #e4e6f7;border-radius:10px;padding:4px;white-space:nowrap}
.language-option{min-width:31px;min-height:30px;border:0;border-radius:7px;background:transparent;color:#75809a;font-size:11px;font-weight:800;letter-spacing:.5px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.language-option.is-active{background:#fff;color:#6150e8;box-shadow:0 1px 5px rgba(35,38,85,.1)}
.language-option:hover:not(.is-active){background:#e9e6ff;color:#5546e8}
.language-option:focus-visible,.nav a:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.language-divider{font-size:10px;color:#a9afd0;font-weight:500;user-select:none}
@media(max-width:1050px){.header-actions{gap:13px}.header-actions .nav{gap:18px}}
@media(max-width:767px){.header-actions{gap:13px}.header-actions .nav{display:none;position:absolute;left:0;right:0;top:65px;background:white;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;border-bottom:1px solid var(--border);box-shadow:0 15px 25px #1c294011}.header-actions .nav.open{display:flex}}
@media(max-width:390px){.header-actions{gap:5px}.language-switch{padding:3px}.language-option{min-width:27px;min-height:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.language-option,.btn,.project-card{transition:none}}


/* v5 — real project screenshots and ezaqi branding */
.brand{gap:8px;font-size:22px;letter-spacing:-1px}.brand-mark{font-weight:800}.brand-suffix{font-size:18px}
.project-art{padding:18px}
.screenshot-browser{width:min(94%,510px);height:238px;transform:rotate(-2deg);overflow:hidden;border-radius:14px}
.screenshot-browser .mock-toolbar{height:34px;padding:0 12px}
.screenshot-browser .mock-toolbar span{font-size:9px}
.screenshot-browser-body{display:grid;grid-template-columns:1.55fr .95fr;gap:10px;height:calc(100% - 34px);padding:10px;background:linear-gradient(180deg,#fbfcff,#f3f6ff)}
.doc-main-shot,.doc-side-shot,.phone-screen-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.doc-main-shot{border-radius:10px;border:1px solid #d7dcec;box-shadow:0 10px 20px rgba(95,104,154,.10)}
.doc-side-stack{display:flex;flex-direction:column;gap:10px;min-width:0}
.doc-side-shot{flex:1 1 auto;min-height:0;border-radius:10px;border:1px solid #d7dcec;box-shadow:0 10px 20px rgba(95,104,154,.10);object-position:center top}
.mock-feature-card{border:1px solid #dbdff1;background:#fff;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;box-shadow:0 10px 20px rgba(95,104,154,.08)}
.mock-feature-card span{font-size:9px;line-height:1.3;color:#67758d;font-weight:700;text-transform:uppercase;letter-spacing:.9px}
.mock-feature-card strong{font-size:11px;line-height:1.35;color:#1d2840}
.art-caption{z-index:3;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:6px 8px;border-radius:8px;border:1px solid #eceef6;font-size:8px}
.project-availability,.project-contribution{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-top:1px solid #eef1f6;padding-top:16px;margin-top:16px}
.project-contribution strong,.project-availability strong{text-align:right;font-size:13px;color:#243046}
.project-contribution span,.project-availability span{font-size:11px;color:#7b879c;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.project-note{margin-top:12px;font-size:12px;line-height:1.6;color:#5b6880}
.bjj-phone-stack{position:relative;width:250px;height:245px}
.real-phone{position:absolute;width:128px;height:224px;border:7px solid #161d2f;border-radius:28px;background:#111829;box-shadow:0 18px 34px rgba(61,68,105,.24);overflow:hidden;padding:0;transform:none}
.primary-phone{left:14px;top:10px;transform:rotate(-6deg)}
.secondary-phone{right:8px;bottom:2px;transform:rotate(7deg)}
.phone-shell-top{position:absolute;top:0;left:31px;width:52px;height:13px;background:#161d2f;border-radius:0 0 9px 9px;z-index:2}
.phone-screen-wrap{position:absolute;inset:8px;border-radius:20px;overflow:hidden;background:#fff}
.phone-screen-wrap img{object-position:center top}
.contact-details{flex-wrap:wrap;row-gap:10px}

@media(max-width:900px){.screenshot-browser{width:min(100%,500px)}.project-contribution,.project-availability{flex-direction:column}.project-contribution strong,.project-availability strong{text-align:left}}
@media(max-width:767px){.brand{font-size:18px;gap:6px}.brand-suffix{font-size:14px}.project-art{height:280px;padding:16px}.screenshot-browser{height:224px}.screenshot-browser-body{grid-template-columns:1fr}.doc-side-stack{display:none}.bjj-phone-stack{width:220px;height:232px}.real-phone{width:118px;height:210px}.primary-phone{left:10px}.secondary-phone{right:2px}.art-caption{left:12px;bottom:10px}}
@media(max-width:390px){.brand{font-size:16px}.brand-suffix{font-size:12px}.screenshot-browser{height:205px}.project-art{height:252px}.bjj-phone-stack{width:198px;height:220px}.real-phone{width:108px;height:194px}.phone-shell-top{left:24px;width:50px}}


/* v6 — tighter fold and refined General BJJ device mockups */
.hero{padding:88px 0 58px!important}
.hero h1{margin:22px 0 18px!important}
.hero-actions{margin-top:26px!important}
.hero-foot{margin-top:44px!important}
.projects{padding:72px 0 120px!important}
.section-heading{margin-bottom:30px!important}

/* Improve the General BJJ phones */
.art-bjj{background:linear-gradient(135deg,#f1eeff,#f8f6ff)}
.bjj-phone-stack{position:relative;width:270px;height:248px}
.real-phone{position:absolute;width:126px;height:226px;border:0;border-radius:30px;background:linear-gradient(180deg,#34384a,#171d2d);box-shadow:0 18px 40px rgba(43,49,87,.18), 0 2px 6px rgba(33,36,57,.10);overflow:hidden;padding:0}
.real-phone::before{content:"";position:absolute;inset:1.5px;border-radius:28px;background:linear-gradient(180deg,#f8f9ff,#d8dceb 22%,#eef1f9 100%);z-index:0}
.real-phone::after{content:"";position:absolute;left:7px;right:7px;bottom:-2px;height:18px;border-radius:0 0 24px 24px;background:radial-gradient(ellipse at center, rgba(255,255,255,.18), rgba(255,255,255,0) 65%);z-index:0;pointer-events:none}
.primary-phone{left:18px;top:8px;transform:rotate(-8deg)}
.secondary-phone{right:18px;bottom:4px;transform:rotate(8deg)}
.phone-shell-top{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:52px;height:12px;background:#101625;border-radius:0 0 10px 10px;z-index:3;box-shadow:0 1px 0 rgba(255,255,255,.04)}
.phone-screen-wrap{position:absolute;inset:8px;border-radius:24px;overflow:hidden;background:#fff;z-index:1;border:1px solid rgba(220,226,242,.9)}
.phone-screen-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.primary-phone .phone-screen-wrap{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.secondary-phone .phone-screen-wrap{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}

@media(max-width:767px){
  .hero{padding:58px 0 40px!important}
  .hero-foot{margin-top:28px!important}
  .projects{padding:52px 0 75px!important}
  .bjj-phone-stack{width:232px;height:228px}
  .real-phone{width:112px;height:202px;border-radius:26px}
  .real-phone::before{border-radius:24px}
  .primary-phone{left:10px;top:8px}
  .secondary-phone{right:6px;bottom:6px}
  .phone-shell-top{width:46px;height:11px;top:7px}
  .phone-screen-wrap{inset:7px;border-radius:20px}
}
@media(max-width:390px){
  .hero{padding:52px 0 34px!important}
  .projects{padding:46px 0 75px!important}
  .bjj-phone-stack{width:210px;height:214px}
  .real-phone{width:102px;height:188px;border-radius:24px}
  .real-phone::before{border-radius:22px}
  .phone-shell-top{width:42px;height:10px}
  .phone-screen-wrap{border-radius:18px}
}


/* V7 — single modern iPhone mockup for General BJJ */
.art-bjj{background:radial-gradient(ellipse at 46% 50%,#f5f4ff 0%,#eeecff 58%,#e9e5ff 100%);isolation:isolate}
.art-bjj::before{content:"";position:absolute;width:220px;height:220px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#dcd7ff80 0%,#e9e5ff00 68%);z-index:-1}
.bjj-showcase{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;padding-bottom:6px}
.iphone-device{height:253px;width:125px;flex:0 0 auto;position:relative;border-radius:29px;padding:3px;background:linear-gradient(125deg,#565a67,#11151e 20%,#0b101a 63%,#8e92a2 98%);box-shadow:0 19px 33px rgba(38,34,82,.20), 0 2px 6px rgba(24,26,51,.16), inset 0 0 0 1px rgba(255,255,255,.5);transform:rotate(-4deg);transition:transform .28s ease,box-shadow .28s ease}
.project-card:hover .iphone-device{transform:rotate(-2deg) translateY(-2px);box-shadow:0 22px 38px rgba(38,34,82,.23),0 2px 6px rgba(24,26,51,.14)}
.iphone-bezel{width:100%;height:100%;border-radius:26px;position:relative;background:#070a11;padding:3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.iphone-screen{width:100%;height:100%;border-radius:23px;position:relative;background:#fff;overflow:hidden}
.iphone-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;opacity:0;transition:opacity .22s ease;display:block}
.iphone-shot.is-visible{opacity:1}
.iphone-dynamic-island{position:absolute;left:50%;top:7px;transform:translateX(-50%);width:47px;height:11px;background:#07090e;border-radius:20px;z-index:5;box-shadow:0 1px 1px rgba(0,0,0,.14);display:flex;justify-content:flex-end;align-items:center;padding-right:8px}
.iphone-camera{height:4px;width:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#36426a,#141a2b 70%)}
.iphone-home-indicator{position:absolute;z-index:6;bottom:8px;left:50%;transform:translateX(-50%);width:39px;height:3px;border-radius:9px;background:rgba(20,22,35,.68)}
.iphone-hardware-button{position:absolute;background:linear-gradient(90deg,#303541,#8b8e98,#2a2f3b);border-radius:3px;z-index:-1}
.button-volume-up{width:3px;height:22px;left:-2px;top:53px}
.button-volume-down{width:3px;height:25px;left:-2px;top:83px}
.button-power{width:3px;height:32px;right:-2px;top:77px}
.bjj-screen-switch{position:absolute;right:18px;bottom:17px;display:flex;align-items:center;gap:3px;padding:3px;background:#ffffffed;border:1px solid #e1defb;border-radius:9px;box-shadow:0 4px 15px rgba(61,59,119,.09)}
.bjj-screen-button{border:0;border-radius:6px;color:#79819d;background:transparent;padding:7px 9px;font-size:10px;line-height:1.2;font-weight:700;cursor:pointer;transition:background .2s,color .2s;min-width:0}
.bjj-screen-button.is-active{color:#5b50bd;background:#ebe8ff}
.bjj-screen-button:hover:not(.is-active){background:#f4f2ff;color:#5b50bd}
.bjj-screen-button:focus-visible{outline:2px solid #6d5ef7;outline-offset:2px}
@media(max-width:767px){.iphone-device{height:224px;width:111px;border-radius:27px}.iphone-bezel{border-radius:24px}.iphone-screen{border-radius:21px}.bjj-screen-switch{right:14px;bottom:16px}}
@media(max-width:767px){.bjj-screen-switch{right:6px;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column}.bjj-screen-button{min-width:63px}}
@media(max-width:390px){.iphone-device{height:213px;width:105px}.bjj-screen-switch{right:3px}.bjj-screen-button{font-size:9px;padding:7px 5px;min-width:57px}}
@media(prefers-reduced-motion:reduce){.iphone-device,.iphone-shot,.bjj-screen-button{transition:none}}


/* V8 — both General BJJ views displayed at once, no selector. */
.bjj-showcase{display:flex;align-items:center;justify-content:center;gap:21px;padding:13px 12px 17px}
.bjj-showcase .iphone-device{height:245px;width:137px;flex:0 0 auto;transform:none;transition:transform .25s ease,box-shadow .25s ease;border-radius:30px;box-shadow:0 19px 31px rgba(38,34,82,.16),0 2px 5px rgba(24,26,51,.13)}
.bjj-showcase .iphone-device--progress{transform:rotate(-6deg) translateY(-2px)}
.bjj-showcase .iphone-device--calendar{transform:rotate(6deg) translateY(4px)}
.project-card:hover .bjj-showcase .iphone-device--progress{transform:rotate(-4deg) translateY(-4px)}
.project-card:hover .bjj-showcase .iphone-device--calendar{transform:rotate(4deg) translateY(1px)}
.bjj-showcase .iphone-shot{opacity:1;object-position:50% 0;object-fit:cover}
.bjj-showcase .iphone-screen{background:#fff}
/* Remove controls entirely rather than merely hiding them. */
.bjj-screen-switch{display:none!important}
@media(max-width:767px){
  .bjj-showcase{gap:17px;padding:12px 6px 20px}
  .bjj-showcase .iphone-device{height:224px;width:124px;border-radius:28px}
}
@media(max-width:390px){
  .bjj-showcase{gap:12px;padding:12px 3px 17px}
  .bjj-showcase .iphone-device{height:205px;width:112px;border-radius:26px}
}
@media(prefers-reduced-motion:reduce){.bjj-showcase .iphone-device{transition:none}}
