:root{color:#171913;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f3f0e7;--ink:#171913;--night:#171a15;--orange:#f05a3f;--mono:"DM Mono", monospace;--serif:"Instrument Serif", Georgia, serif;--ease:cubic-bezier(.2,.72,.22,1);background:#f3f0e7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{min-width:320px;margin:0}body,button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}::selection{color:var(--paper);background:var(--orange)}.portfolio{overflow:clip}.site-header{z-index:20;height:80px;color:var(--paper);background:var(--night);justify-content:space-between;align-items:center;padding-inline:clamp(22px,5.7vw,92px);display:flex;position:sticky;top:0}.wordmark,.footer-wordmark{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;flex:none;width:46px;height:46px;display:block}.wordmark-name{letter-spacing:-.03em;font-size:15px;font-weight:600}.main-nav{align-items:center;gap:clamp(22px,3vw,45px);display:flex}.main-nav a,.nav-contact{align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.main-nav a:hover,.main-nav a:focus-visible,.main-nav .nav-contact{color:var(--orange)}.arrow{flex:none;width:18px;height:18px}.menu-toggle{display:none}.hero-section{min-height:min(890px,100svh - 80px);color:var(--paper);background:var(--night);align-items:center;padding:clamp(74px,10vh,130px) clamp(24px,8.2vw,132px) 76px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:1;width:min(100%,1240px);position:relative}.hero-brand-mark{z-index:0;aspect-ratio:1;place-items:center;width:clamp(190px,23vw,310px);margin:0;display:grid;position:absolute;top:50%;right:clamp(42px,9vw,138px);transform:translateY(-50%)}.hero-brand-mark img{object-fit:contain;filter:drop-shadow(0 18px 25px #0004);width:82%;height:82%;display:block}.hero-kicker{color:#c3c4b6;font-family:var(--mono);letter-spacing:.01em;margin:0 0 32px 8px;font-size:15px}.hero-kicker span{color:var(--orange);padding-inline:8px}.hero-section h1,.work-heading h2,.about-section h2,.contact-section h2{letter-spacing:-.065em;margin:0;font-size:clamp(76px,12.5vw,190px);font-weight:700;line-height:.9}.hero-section h1 em,.about-section h2 em,.contact-section h2 em{color:var(--orange);font-family:var(--serif);letter-spacing:-.06em;font-weight:400}.hero-bottom{justify-content:space-between;align-items:end;gap:32px;width:min(790px,84%);margin:45px 0 0 auto;display:flex}.hero-bottom p{color:#d4d2c8;letter-spacing:-.045em;max-width:440px;margin:0;font-size:clamp(21px,2.4vw,31px);line-height:1.28}.hero-bottom a,.work-heading>a,.about-links a,.contact-section>a{align-items:center;gap:10px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.hero-bottom a{color:var(--orange);flex:none}.hero-bottom a span{font-size:24px;transition:transform .2s}.hero-bottom a:hover span{transform:translateY(4px)}.work-section{background:var(--paper);padding:clamp(90px,12vw,170px) 0 0}.work-heading{justify-content:space-between;align-items:end;gap:40px;max-width:1470px;margin:0 auto;padding:0 clamp(24px,8vw,126px) clamp(62px,8vw,108px);display:flex}.work-heading h2{font-size:clamp(55px,8vw,112px);line-height:.88}.work-heading>a{padding-bottom:8px}.work-heading>a:hover,.about-links a:hover,.contact-section>a:hover{color:var(--orange)}.project-index{z-index:12;background:var(--paper);grid-template-columns:repeat(5,minmax(0,1fr));max-width:1470px;margin:0 auto;padding-inline:clamp(24px,8vw,126px);display:grid;position:sticky;top:80px}.project-index a{border-top:1px solid #17191366;border-bottom:1px solid #17191366;border-right:1px solid #17191333;justify-content:space-between;align-items:center;gap:8px;min-height:68px;padding:16px 14px;font-size:16px;font-weight:600;text-decoration:none;transition:color .2s,background .2s;display:flex}.project-index a:first-child{border-left:1px solid #17191333}.project-index a .arrow{opacity:0;transition:opacity .2s,transform .2s;transform:translate(-4px)}.project-index a:hover .arrow,.project-index a[aria-current=location] .arrow{opacity:1;transform:none}.project-index a:hover,.project-index a[aria-current=location]{color:var(--paper);background:var(--night)}.project-list{display:block}.project-spread{--spread-bg:#efc852;--spread-ink:#171913;min-height:680px;color:var(--spread-ink);background:var(--spread-bg);opacity:0;transition:opacity .75s var(--ease), transform .75s var(--ease);grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:clamp(34px,7vw,100px);padding:clamp(72px,9vw,132px) clamp(24px,9vw,146px) clamp(82px,10vw,144px);scroll-margin-top:68px;display:grid;position:relative;overflow:hidden;transform:translateY(25px)}.project-spread.is-visible{opacity:1;transform:translateY(0)}.spread-quarta{--spread-bg:#efc852;--spread-ink:#202216}.spread-pulso{--spread-bg:#a9d8e1;--spread-ink:#14252b;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.spread-sim{--spread-bg:#e6d9c8;--spread-ink:#28231f}.spread-rota{--spread-bg:#30212b;--spread-ink:#f3f0e7;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}.spread-trilha{--spread-bg:#425c43;--spread-ink:#f3f0e7}.project-composition{aspect-ratio:5/3;isolation:isolate;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.project-composition svg{width:100%;height:100%;display:block;overflow:visible}.project-composition svg text{fill:currentColor;font-family:var(--mono);letter-spacing:.12em;font-size:14px;font-weight:500}.composition-quarta{--diagram-accent:#dc5037}.composition-pulso{--diagram-accent:#267881}.composition-sim{--diagram-accent:#a1543e}.composition-rota{--diagram-accent:#ff816b}.composition-trilha{--diagram-accent:#c2d994}.map-street,.trail-street{fill:none;stroke:currentColor;stroke-width:2px;stroke-dasharray:2 9;opacity:.48}.map-route,.trail-route,.route-main{fill:none;stroke:var(--diagram-accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.map-route{stroke-dasharray:8 9}.map-pin circle:nth-child(odd),.route-stop circle{fill:var(--spread-bg);stroke:var(--diagram-accent);stroke-width:3px}.map-pin circle:nth-child(2n){fill:var(--diagram-accent);stroke:none}.signal-line,.group-branch{fill:none;stroke:currentColor;stroke-width:2px;opacity:.44}.signal-halo{fill:var(--diagram-accent);opacity:.14}.signal-core{fill:var(--diagram-accent);stroke:var(--spread-bg);stroke-width:7px}.signal-node,.group-dot{fill:var(--diagram-accent);stroke:var(--spread-bg);stroke-width:4px}.invite-card{fill:var(--spread-bg);stroke:currentColor;stroke-width:2px}.invite-card-back{fill:color-mix(in srgb, var(--spread-bg), white 42%);stroke:var(--diagram-accent)}.invite-rule{fill:none;stroke:var(--diagram-accent);stroke-width:1px}.project-composition svg .invite-script{fill:var(--diagram-accent);font-family:var(--serif);letter-spacing:-.04em;font-size:48px;font-style:italic}.route-terrain{fill:none;stroke:currentColor;stroke-width:1px;stroke-dasharray:2 8;opacity:.2}.route-main{stroke-width:3px;stroke-dasharray:7 8}.trail-start,.trail-end{fill:var(--spread-bg);stroke:var(--diagram-accent);stroke-width:4px}.trail-stop{fill:var(--diagram-accent)}@keyframes draw-route{0%{stroke-dashoffset:600px}to{stroke-dashoffset:0}}@keyframes signal-breathe{0%,to{opacity:.1;transform:scale(.92)}50%{opacity:.24;transform:scale(1.04)}}.spread-quarta.is-visible .map-route,.detail-quarta .map-route,.spread-rota.is-visible .route-main,.detail-rota .route-main,.spread-trilha.is-visible .trail-route,.detail-trilha .trail-route{animation:draw-route 1.25s var(--ease) both}.spread-pulso.is-visible .signal-halo,.detail-pulso .signal-halo{transform-box:fill-box;transform-origin:50%;animation:5s ease-in-out .3s infinite signal-breathe}.spread-sim.is-visible .group-branch,.detail-sim .group-branch{stroke-dasharray:300;animation:draw-route 1.1s var(--ease) both}.project-copy{z-index:2;align-self:center;max-width:590px;position:relative}.project-copy h3{letter-spacing:-.09em;margin:0 0 24px;font-size:clamp(52px,7.2vw,100px);font-weight:700;line-height:.86}.project-copy h3 a{align-items:flex-start;gap:8px;text-decoration:none;display:inline-flex}.project-copy h3 .arrow{width:.26em;height:.26em;margin-top:.09em;transition:transform .22s}.project-copy h3 a:hover .arrow{transform:translate(4px,-4px)}.project-summary{letter-spacing:-.045em;max-width:490px;margin:0;font-size:clamp(22px,2.5vw,31px);line-height:1.25}.project-status{opacity:.72;max-width:460px;margin:19px 0 0;font-size:16px;line-height:1.5}.project-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:32px;display:flex}.button-primary{border:1px solid var(--spread-ink,var(--ink));min-height:51px;color:var(--spread-ink,var(--ink));border-radius:2px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:15px;font-weight:700;text-decoration:none;transition:color .2s,background .2s,transform .2s;display:inline-flex}.button-primary:hover{color:var(--spread-bg,var(--paper));background:var(--spread-ink,var(--ink));transform:translateY(-2px)}.text-link{text-underline-offset:4px;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration-thickness:1px;display:inline-flex}.text-link:hover{text-decoration-thickness:2px}.spread-pulso .project-composition{order:2}.spread-pulso .project-copy{order:1}.spread-rota .project-composition{order:2}.spread-rota .project-copy{order:1}.about-section{color:var(--paper);background:var(--night);opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);align-items:start;gap:clamp(38px,10vw,150px);padding:clamp(105px,14vw,198px) clamp(24px,9vw,146px);display:grid;transform:translateY(24px)}.about-section.is-visible,.contact-section.is-visible{opacity:1;transform:none}.about-section h2{font-size:clamp(67px,9vw,130px);position:sticky;top:130px}.about-section h2 em{color:var(--orange)}.about-copy{padding-top:14px}.about-copy p{color:#d5d5cb;letter-spacing:-.035em;margin:0 0 24px;font-size:clamp(21px,2.3vw,29px);line-height:1.42}.about-copy p .about-project-link{color:var(--orange);text-underline-offset:4px;text-decoration-thickness:1px}.about-copy p .about-project-link:hover{text-decoration-thickness:2px}.about-links{flex-wrap:wrap;gap:28px;margin-top:38px;display:flex}.about-links a{color:var(--orange)}.contact-section{min-height:610px;color:var(--ink);opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);background:#f06a4e;padding:clamp(90px,12vw,160px) clamp(24px,9vw,146px);transform:translateY(24px)}.contact-section>p{margin:0 0 34px;font-size:clamp(20px,2.1vw,27px)}.contact-section h2{font-size:clamp(86px,14vw,190px)}.contact-section h2 em{color:var(--paper)}.contact-actions{flex-wrap:wrap;align-items:center;gap:20px 30px;margin-top:50px;display:flex}.contact-actions>a{border-bottom:1px solid;padding-bottom:8px;text-decoration:none}.contact-actions>a:first-child{align-items:center;gap:8px;font-weight:700;display:inline-flex}.contact-actions .contact-email,.contact-actions .contact-linkedin{font-size:16px}.site-footer{min-height:100px;color:var(--paper);background:var(--night);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:24px clamp(24px,5.7vw,92px);font-size:14px;display:flex}.footer-wordmark{gap:8px;font-weight:600;text-decoration:none}.footer-wordmark .brand-logo{width:34px;height:34px}.site-footer>span{color:#acada5}.site-footer>a:not(.footer-wordmark){align-items:center;gap:4px;text-decoration:none;display:inline-flex}.site-footer>a:hover{color:var(--orange)}.detail-page{color:var(--ink);background:var(--paper)}.detail-hero{background:var(--spread-bg,#efc852);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(30px,7vw,100px);min-height:min(820px,100svh - 80px);padding:38px clamp(24px,9vw,146px) 90px;display:grid;position:relative;overflow:hidden}.detail-quarta{--spread-bg:#efc852;--spread-ink:#202216}.detail-pulso{--spread-bg:#a9d8e1;--spread-ink:#14252b}.detail-sim{--spread-bg:#e6d9c8;--spread-ink:#28231f}.detail-rota{--spread-bg:#30212b;--spread-ink:#f3f0e7}.detail-trilha{--spread-bg:#425c43;--spread-ink:#f3f0e7}.detail-hero>.project-composition{grid-area:2/1;width:100%;min-height:0}.back-link{z-index:3;grid-area:1/1/auto/-1;align-items:center;gap:7px;width:max-content;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{text-underline-offset:4px;text-decoration:underline}.detail-title{z-index:2;grid-area:2/2}.detail-title>p:first-child{letter-spacing:-.04em;max-width:610px;margin:0 0 26px;font-size:clamp(22px,2.5vw,32px);line-height:1.27}.detail-title h1{letter-spacing:-.1em;margin:0;font-size:clamp(72px,10vw,142px);line-height:.83}.detail-status{opacity:.74;max-width:480px;margin:24px 0 0;font-size:16px;line-height:1.5}.detail-actions{flex-wrap:wrap;align-items:center;gap:17px 24px;margin-top:31px;display:flex}.detail-story{grid-template-columns:minmax(0,.85fr) minmax(300px,.75fr);align-items:start;gap:10vw;padding:clamp(85px,12vw,160px) clamp(24px,13vw,210px);display:grid}.detail-story h2,.proof-copy h2{letter-spacing:-.08em;margin:0;font-size:clamp(44px,6.4vw,88px);line-height:.95}.detail-story>p,.proof-copy>p{letter-spacing:-.025em;margin:0;font-size:clamp(20px,2.2vw,28px);line-height:1.45}.detail-proof{color:var(--paper);background:var(--night);grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);gap:clamp(35px,8vw,120px);padding:clamp(80px,11vw,145px) clamp(24px,9vw,146px);display:grid}.proof-copy h2{color:var(--orange)}.proof-copy>p{color:#d0d0c6;margin-top:27px}.code-proof,.flow-proof{align-self:center}.code-proof>a,.flow-proof>a{color:var(--orange);text-underline-offset:4px;overflow-wrap:anywhere;align-items:center;gap:7px;font-size:15px;font-weight:600;text-decoration:underline;display:inline-flex}.code-proof pre{border-left:2px solid var(--orange);color:#f3f0e7;font:15px/1.75 var(--mono);white-space:pre-wrap;margin:26px 0 18px;padding:28px;overflow-x:auto}.code-proof>p{color:#b5b7ad;max-width:540px;font-size:16px;line-height:1.5}.syntax-keyword,.syntax-constant{color:var(--orange)}.syntax-string{color:#e7a78f}.syntax-number{color:#88c9dd}.syntax-comment{color:#93978b}.flow-proof{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:17px;display:grid}.flow-proof>span{min-height:105px;color:var(--paper);border-top:1px solid #f05a3f77;border-bottom:1px solid #f05a3f77;align-items:center;padding:16px;font-size:clamp(18px,2vw,25px);line-height:1.2;display:flex}.flow-proof>b{color:var(--orange);font-weight:400}.flow-proof>a{grid-column:1/-1;margin-top:15px}.detail-next{grid-template-columns:1fr 1fr;gap:20px;padding:34px clamp(24px,9vw,146px);display:grid}.detail-next>a{border-top:1px solid #17191355;flex-direction:column;justify-content:center;gap:6px;min-height:120px;padding:20px 0;text-decoration:none;display:flex}.detail-next>a:last-child{text-align:right;align-items:flex-end}.detail-next span{color:#62635c;font-size:14px}.detail-next strong{letter-spacing:-.065em;font-size:clamp(28px,4vw,50px)}.detail-next .arrow{margin-top:6px}.detail-next a:hover strong{color:var(--orange)}@media (width>=1500px){.project-spread{padding-inline:max(9vw,50vw - 720px)}}@media (width<=850px){.hero-section{min-height:780px;padding-top:90px}.hero-section h1{z-index:1;font-size:clamp(76px,14vw,128px);position:relative}.hero-bottom{width:100%;margin-top:42px}.project-spread,.spread-pulso,.spread-rota{grid-template-columns:minmax(0,1fr) minmax(250px,.82fr);gap:28px;min-height:620px;padding-inline:7vw}.spread-pulso .project-composition,.spread-rota .project-composition,.spread-pulso .project-copy,.spread-rota .project-copy{order:0}.project-composition{min-height:0}.project-copy h3{font-size:clamp(48px,7vw,68px)}.project-summary{font-size:23px}.about-section{grid-template-columns:1fr 1fr;gap:7vw}.about-section h2{font-size:clamp(62px,9vw,88px);position:static}.detail-hero{grid-template-columns:.8fr 1.2fr;gap:25px}.detail-hero>.project-composition{min-height:0}.detail-title h1{font-size:clamp(65px,9vw,94px)}.detail-story{gap:7vw;padding-inline:8vw}.detail-proof{grid-template-columns:1fr}.proof-copy{grid-template-columns:1fr 1fr;align-items:end;gap:26px;display:grid}.proof-copy>p{margin:0}}@media (width<=600px){html{scroll-padding-top:70px}.site-header{height:70px;padding-inline:20px}.wordmark-name{font-size:14px}.menu-toggle{width:42px;height:42px;color:var(--paper);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:6px;padding:11px 7px;display:flex}.menu-toggle span{background:currentColor;width:25px;height:1px}.main-nav{background:var(--night);flex-direction:column;align-items:flex-start;gap:22px;padding:22px 24px 28px;display:none;position:absolute;top:70px;left:0;right:0}.main-nav.is-open{display:flex}.main-nav a{font-size:18px}.hero-section{align-items:flex-start;min-height:clamp(520px,84svh - 70px,710px);padding:62px 23px 66px}.hero-brand-mark{display:none}.hero-kicker{margin:0 0 26px 3px;font-size:13px}.hero-section h1{letter-spacing:-.065em;font-size:clamp(67px,15vw,96px);line-height:.91}.hero-bottom{flex-direction:column;align-items:flex-start;gap:20px;margin-top:34px}.hero-bottom p{max-width:350px;font-size:22px}.hero-bottom a{font-size:15px}.work-section{padding-top:87px}.work-heading{flex-direction:column;align-items:flex-start;gap:23px;padding:0 23px 48px}.work-heading h2{font-size:clamp(52px,12vw,72px)}.project-index{scroll-snap-type:x mandatory;scrollbar-width:thin;margin-bottom:0;padding-inline:23px;display:flex;top:70px;overflow-x:auto}.project-index a{scroll-snap-align:start;min-width:145px;min-height:61px;padding:14px 11px;font-size:16px}.project-spread,.spread-pulso,.spread-rota{flex-direction:column;align-items:stretch;gap:29px;min-height:0;padding:57px 23px 83px;display:flex}.project-composition{width:100%;min-height:0}.project-copy{width:100%}.project-copy h3{margin-bottom:20px;font-size:clamp(48px,12vw,67px)}.project-summary{font-size:22px}.project-status{margin-top:14px;font-size:15px}.project-actions{flex-direction:column;align-items:flex-start;gap:19px;margin-top:25px}.about-section{padding:94px 23px 100px;display:block}.about-section h2{margin-bottom:40px;font-size:clamp(64px,14vw,90px)}.about-copy p{font-size:21px}.about-links{margin-top:30px}.contact-section{min-height:500px;padding:92px 23px 80px}.contact-section>p{max-width:250px;font-size:21px}.contact-section h2{font-size:clamp(74px,17vw,108px)}.contact-actions{flex-direction:column;align-items:flex-start;gap:22px;margin-top:42px}.site-footer{justify-content:flex-start;gap:17px 24px;padding:23px}.site-footer>span{order:1;width:100%}.site-footer>a:not(.footer-wordmark){font-size:13px}.footer-wordmark{width:100%}.detail-hero{flex-direction:column;align-items:stretch;gap:25px;min-height:0;padding:26px 23px 64px;display:flex}.back-link{margin-bottom:5px}.detail-hero>.project-composition{min-height:230px}.detail-title>p:first-child{font-size:22px}.detail-title h1{font-size:clamp(68px,16vw,100px)}.detail-status{font-size:15px}.detail-actions{flex-direction:column;align-items:flex-start;gap:19px}.detail-story{padding:81px 23px;display:block}.detail-story h2{margin-bottom:25px;font-size:53px}.detail-story>p,.proof-copy>p{font-size:20px}.detail-proof{gap:42px;padding:82px 23px}.proof-copy{display:block}.proof-copy h2{font-size:53px}.proof-copy>p{margin-top:22px}.code-proof pre{margin:22px 0 15px;padding:20px 15px;font-size:13px;line-height:1.65}.code-proof>p{font-size:15px}.flow-proof{grid-template-columns:1fr;gap:0}.flow-proof>span{border-bottom:0;min-height:0;padding:17px 0;font-size:20px}.flow-proof>b{display:none}.flow-proof>a{margin-top:24px}.detail-next{gap:18px;padding:19px 23px}.detail-next>a{min-height:110px}.detail-next span{font-size:12px}.detail-next strong{font-size:clamp(22px,6vw,32px)}}@media (width<=360px){.hero-kicker{font-size:12px}.hero-section h1{font-size:clamp(54px,16.5vw,59px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-spread,.about-section,.contact-section{opacity:1;transform:none}.map-route,.route-main,.trail-route,.signal-halo,.group-branch{animation:none!important}}
