:root{--paper:#f4f3ef;--text:#121313;--ink:#090b0c;--on-ink:#f4f3ef;--green:#8ccb39;--accent:#42780c;--line:#c9c9c2;--display:'Barlow Condensed','Arial Narrow',sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--text)}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:800;line-height:.88;letter-spacing:-.025em}.outline{color:transparent;-webkit-text-stroke:1px currentColor;-webkit-text-stroke-color:var(--text)}.ink{background:var(--ink);color:var(--on-ink)}.ink .outline{-webkit-text-stroke-color:var(--on-ink)}.paper{background:var(--paper)}.section{padding:100px 6%}.skip{position:absolute;top:-80px;z-index:100;background:white;color:black;padding:16px}.skip:focus{top:0}.hero{min-height:850px;height:100svh;max-height:1200px;position:relative;padding:0 5%;isolation:isolate;overflow:hidden}#sonar{position:absolute;inset:0;z-index:-1;width:100%;height:100%}header{display:flex;align-items:center;justify-content:space-between;padding:32px 0;gap:30px}nav,.header-actions{display:flex;align-items:center;gap:30px}nav{margin-left:auto}nav a{font-size:14px}.hub{font-size:12px;letter-spacing:.2em;border-left:1px solid #777;padding-left:30px}#theme{font-size:27px;min-width:44px;min-height:44px}#menu{display:none}.cube-link{width:52px;height:52px;display:grid;place-items:center;perspective:250px;flex-shrink:0}.cube{width:28px;height:28px;position:relative;transform-style:preserve-3d;transform:rotateX(-22deg) rotateY(35deg);transition:transform .4s}.cube span{position:absolute;inset:0;border:1px solid currentColor;display:grid;place-items:center;font-size:20px}.cube span:nth-child(1){transform:translateZ(14px)}.cube span:nth-child(2){transform:rotateY(90deg) translateZ(14px)}.cube span:nth-child(3){transform:rotateX(90deg) translateZ(14px);background:var(--green)}.hero-copy{position:absolute;bottom:20%;left:5%;right:5%;pointer-events:none}.hero-copy a{pointer-events:auto}h1{font-size:clamp(95px,13.7vw,220px)}h1 span{display:block}.hero-copy p{font-size:clamp(20px,2.5vw,38px);margin:24px 0 36px}.links{display:flex;flex-wrap:wrap;gap:40px}.links a,.links button{padding:8px 0;border-bottom:1px solid currentColor;font-size:16px}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #666;font-size:12px;letter-spacing:.15em}.about{display:grid;grid-template-columns:45% 1fr;gap:7%;position:relative;align-items:center}.about:before{content:'';position:absolute;top:-14px;left:0;right:0;height:16px;background:var(--paper);clip-path:polygon(0 60%,3% 10%,7% 70%,12% 0,18% 60%,23% 15%,28% 65%,34% 0,40% 70%,47% 20%,52% 65%,57% 10%,62% 60%,69% 0,74% 65%,80% 15%,85% 60%,91% 0,96% 50%,100% 15%,100% 100%,0 100%)}.portrait-wrap{position:relative;padding:35px 25px 60px}.portrait{width:100%;position:relative;display:grid;place-items:center;min-height:200px;transform:rotate(-4deg);transition:transform .5s}.portrait img{width:100%;height:auto;display:block;filter:grayscale(1)}.photo-empty{font-family:var(--display);font-size:70px;color:#94948b;text-align:center}.hand{font-family:'Caveat',cursive;font-size:32px}
.stickers{position:absolute;inset:0;pointer-events:none}
.sticker{position:absolute;display:flex;align-items:center;justify-content:center;width:19%;aspect-ratio:1;padding:4%;background:#fdeb9d;box-shadow:5px 6px 0 rgba(9,11,12,.18);opacity:0;transform:translate(-50%,-50%) scale(2.6) rotate(var(--r,0deg));transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.sticker .hand{font-size:24px;line-height:1.15;color:var(--accent);text-align:center;white-space:pre-line}
.sticker:nth-child(1){--r:-6deg;left:86.8%;top:19.2%}
.sticker:nth-child(2){--r:5deg;left:12.8%;top:44.9%}
.sticker:nth-child(3){--r:-4deg;left:88.5%;top:57%}
.sticker:nth-child(4){--r:6deg;left:18.2%;top:78%}
.portrait-wrap.seen .sticker{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--r,0deg))}
.portrait-wrap.seen .sticker:nth-child(1){transition-delay:.1s}
.portrait-wrap.seen .sticker:nth-child(2){transition-delay:.35s}
.portrait-wrap.seen .sticker:nth-child(3){transition-delay:.6s}
.portrait-wrap.seen .sticker:nth-child(4){transition-delay:.85s}.eyebrow{display:block;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.14em;margin-bottom:24px}.about h2{font-size:clamp(55px,6.2vw,100px);margin-bottom:30px}.about h3{font-size:21px;line-height:1.35;margin-bottom:16px}p{font-size:18px;line-height:1.6}.words{display:flex;justify-content:space-between;margin-top:36px}.words span:nth-child(2){transform:rotate(8deg)}.section-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.1em}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:52px 0;border-bottom:1px solid var(--line)}.metrics>div{display:flex;align-items:baseline;gap:22px}.metrics strong{font-family:var(--display);font-size:clamp(90px,13vw,205px);line-height:1}.metrics span{font-size:clamp(18px,2.4vw,32px)}.expertise{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:70px}.expertise h2{font-size:clamp(50px,5.5vw,85px);line-height:1}.green-line{width:80px;height:4px;background:var(--green);margin:28px 0}.expertise p{max-width:410px}.expertise ul{list-style:none;padding:0;margin:0}.expertise li{border-bottom:1px solid var(--line);padding:17px 0;font-size:21px}.moon-section{position:relative;background:#08090b;color:#e8e8e8;height:740px}.breathe{position:absolute;top:36px;right:5%;font-size:14px;color:#b5b5b5;letter-spacing:.1em;z-index:2}#moon-stage{width:100%;height:100%;touch-action:pan-y}#moon-stage canvas{display:block;width:100%;height:100%}.moon-controls{position:absolute;bottom:28px;left:5%;right:5%;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.moon-controls button{border:1px solid #505050;padding:10px 15px;min-height:44px;font-size:14px}.moon-controls span{font-size:12px;color:#aaa;flex:1}.portfolio{padding-top:100px}
.empty-projects{text-align:center;color:#62625b;font-size:16px;padding:30px 0 70px}footer h2{font-size:clamp(60px,10vw,155px)}footer .links{margin:38px 0 90px}footer .links button{color:#aaa;border:0;font-size:20px}footer .links a{font-size:24px}.footer-bottom{display:flex;align-items:center;gap:30px;border-top:1px solid #555;padding-top:25px;font-size:14px}.footer-bottom>a:last-child{margin-left:auto}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.js .reveal.seen{opacity:1;transform:none}[data-theme=light]{color-scheme:light;--ink:#eeeee8;--on-ink:#141515}[data-theme=light] .hero-bottom{border-color:#aaa} @media(max-width:760px){.section{padding:65px 6%}.hero{min-height:680px;max-height:950px}header{gap:12px;padding:20px 0}.header-actions{gap:12px}#menu{display:block;min-height:44px}nav{display:none;position:absolute;top:84px;left:5%;right:5%;padding:25px;background:var(--ink);border:1px solid #888;z-index:5}nav.open{display:flex;flex-wrap:wrap}.hub{padding-left:12px}.hero-copy{bottom:24%}h1{font-size:17vw}.hero-copy p{font-size:21px}.links{gap:22px}.links a{font-size:14px}.about{grid-template-columns:1fr;gap:45px}.portrait-wrap{max-width:440px;width:100%;margin:auto}.sticker .hand{font-size:19px}.about h2{font-size:16vw}.metrics{gap:28px;grid-template-columns:1fr}.metrics strong{font-size:26vw}.metrics>div{justify-content:space-between;flex-wrap:wrap}.metrics span{font-size:24px}.expertise{grid-template-columns:1fr;gap:45px;padding-top:45px}.section-top>span:last-child{display:none}.moon-section{height:580px}.moon-controls{gap:10px}.moon-controls span{flex-basis:100%;order:4}footer h2{font-size:13vw}.footer-bottom{gap:12px;font-size:12px}footer .links{margin-bottom:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
/* Geometric header signature — transparent, theme-aware, fine-line */
.brand-lockup{display:flex;align-items:center;gap:13px;flex:0 0 auto;min-height:64px}
.wireframe-logo{display:block;width:64px;height:64px;overflow:visible;flex-shrink:0}
.brand-name{font-size:13px;font-weight:500;letter-spacing:.16em;line-height:1.55}
@media(min-width:761px) and (max-width:1050px){header{gap:16px}nav,.header-actions{gap:16px}.hub{padding-left:16px}.brand-name{font-size:12px;letter-spacing:.1em}}
@media(max-width:760px){.brand-lockup{gap:7px;min-height:48px}.wireframe-logo{width:48px;height:48px}.brand-name{font-size:11px;letter-spacing:.08em}.header-actions{gap:5px}.hub{font-size:10px;padding-left:8px}#theme,#menu{min-width:36px;padding:2px}}

[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero-title-second{display:block;width:min(100%,1000px);overflow:visible;font-family:var(--display);font-weight:800;font-size:200px;letter-spacing:-.025em}

@media(max-width:760px){.footer-bottom{flex-wrap:wrap;row-gap:20px}.footer-bottom .footer-brand{margin-right:auto}.footer-bottom>a:last-child{flex-basis:100%;margin-left:0;text-align:right}}

header{position:relative;isolation:isolate}#header-sonar{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* Bento gallery: grade com tamanhos variados, modal e dock de miniaturas. HTML/CSS/JS puro. */
#projects.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:14px;max-width:1152px;margin:0 auto}
.bento-tile{position:relative;overflow:hidden;border-radius:16px;background:#292b2b;isolation:isolate;text-align:left;transition:transform .35s ease}
.bento-tile:hover,.bento-tile:focus-visible{transform:scale(1.015)}
.bento-tile:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.bento-lg{grid-column:span 2;grid-row:span 2}
.bento-wide{grid-column:span 2}
.bento-tall{grid-row:span 2}
.bento-media{position:absolute;inset:0}
.bento-media img,.bento-media video{width:100%;height:100%;object-fit:cover;display:block}
.bento-media-fallback{position:absolute;top:16px;left:16px;right:16px;color:#ddd;font-size:12px;text-align:center;overflow-wrap:anywhere;pointer-events:none}
.bento-tile-info{position:absolute;inset:auto 0 0 0;padding:14px 16px;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.1) 70%,transparent)}
.bento-tile-info span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#d5f7a4;margin-bottom:4px}
.bento-tile-info h3{font-family:var(--display);font-size:clamp(16px,2vw,22px);font-weight:700;text-transform:uppercase;line-height:1.05;overflow-wrap:break-word}
.gallery-demo{font-size:12px;color:#62625b;text-align:right;max-width:1152px;margin:20px auto 0}

body.bento-modal-open{overflow:hidden}
.bento-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}
.bento-modal-backdrop{position:absolute;inset:0;background:rgba(9,11,12,.82);backdrop-filter:blur(6px)}
.bento-modal-panel{position:relative;z-index:1;width:100%;max-width:780px;max-height:88vh;overflow:auto;background:#141516;border-radius:18px;padding:16px}
.bento-modal-close{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;font-size:14px}
.bento-modal-close:hover{background:rgba(255,255,255,.22)}
.bento-modal-media-host{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.bento-modal-media-host .bento-media,.bento-modal-media-host img,.bento-modal-media-host video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.bento-modal-info{padding:18px 4px 6px;color:#fff}
.bento-modal-info h3{font-family:var(--display);font-size:clamp(22px,3vw,32px);font-weight:800;text-transform:uppercase;line-height:1.05}
.bento-modal-info p{font-size:14px;color:#b9b9b3;margin-top:8px}
.bento-modal-link{display:inline-block;margin-top:14px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.bento-dock{display:flex;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #2a2b2b;overflow-x:auto}
.bento-dock-item{position:relative;flex:0 0 auto;width:52px;height:52px;border-radius:10px;overflow:hidden;opacity:.55;transition:opacity .2s,transform .2s}
.bento-dock-item .bento-media img,.bento-dock-item .bento-media video{width:100%;height:100%;object-fit:cover}
.bento-dock-item .bento-media-fallback{display:none}
.bento-dock-item:hover{opacity:.85}
.bento-dock-item.is-active{opacity:1;outline:2px solid var(--green);outline-offset:2px;transform:translateY(-3px)}

@media(max-width:767px){#projects.bento-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.bento-lg{grid-column:span 2;grid-row:span 2}.bento-wide{grid-column:span 2}.bento-modal{padding:10px}.bento-modal-panel{padding:12px}}
