:root{--green:#105637;--ink:#141916;--paper:#f5f6f3;--line:#d8ded7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #60b585;outline-offset:6px}header{padding:27px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;font-size:31px;font-weight:900;letter-spacing:-2px}.brand span{font-size:12px;letter-spacing:3px;margin-left:8px}.brand i{height:8px;width:8px;background:var(--green);border-radius:50%;margin-left:5px}nav{display:flex;gap:30px;font-size:14px}.nav-contact{border-bottom:1px solid;padding-bottom:5px}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:690px}.hero-copy{padding:65px 8% 55px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;margin:0 0 28px}h1{font-size:clamp(45px,5.2vw,82px);line-height:1.01;letter-spacing:-4px;margin:0;font-weight:750}em{font-style:normal;color:var(--green)}.hero-bottom{margin-top:45px;max-width:430px}.hero-bottom p,p{font-size:17px;line-height:1.65}.button{display:inline-block;background:var(--green);color:white;padding:18px 28px;font-weight:bold;font-size:15px;margin-top:16px;transition:background .2s}.button:hover{background:#207248}.hero-image{position:relative;overflow:hidden;background:#d6ddd6}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.7)}.image-label{position:absolute;bottom:28px;left:25px;right:25px;background:var(--paper);padding:16px;font-size:12px;letter-spacing:1.5px}.strip{background:var(--green);color:white;padding:24px 5%;display:flex;justify-content:space-between;gap:12px;font-weight:bold;font-size:15px;letter-spacing:2px}.strip b{font-weight:normal;opacity:.5}.section{padding:95px 5%}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;align-items:start;margin-bottom:50px}h2{font-size:clamp(36px,4.5vw,66px);letter-spacing:-2.5px;line-height:1.05;margin:0}.section-heading p:last-child{margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service-grid article{padding:35px 25px 30px 0;border-bottom:1px solid var(--line);margin-right:30px}.service-grid span{font-size:13px;color:var(--green)}h3{font-size:23px;margin:25px 0 15px;letter-spacing:-.5px}.service-grid p{margin:0;color:#505851}.about{background:#e5ebe3;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.portrait img{width:100%;display:block}.about-copy>p{color:#414a42}.experience{display:flex;align-items:center;gap:20px;margin:30px 0}.experience strong{font-size:60px;letter-spacing:-3px;color:var(--green)}.experience span{font-size:14px;line-height:1.5}blockquote{margin:30px 0;font-size:28px;font-weight:bold;line-height:1.25;letter-spacing:-.7px;border-left:3px solid var(--green);padding-left:20px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}figure{margin:0}figure:nth-child(even){padding-top:55px}figure img{width:100%;height:350px;object-fit:cover;display:block;filter:saturate(.7)}figcaption{font-size:12px;letter-spacing:1px;padding-top:18px;line-height:1.5}.portfolio{border-top:1px solid var(--line);max-width:100%}.portfolio p:not(.eyebrow){max-width:580px}.text-link{display:inline-block;border-bottom:1px solid var(--green);padding-bottom:8px;font-size:16px;font-weight:bold;color:var(--green)}.contact{background:var(--green);color:white}.contact em{color:#a4d7af}.contact h2{font-size:clamp(55px,8vw,110px)}.contact-row{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.light{background:white;color:var(--green)}.light:hover{background:#d8ead8}.contact-links{display:flex;gap:40px;border-top:1px solid #ffffff40;padding-top:30px;margin-top:35px;font-size:16px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 5%}footer p{font-size:13px;color:#626b63}::selection{background:#b4d7bb}@media(max-width:900px){nav{gap:18px}.hero{min-height:600px}h1{letter-spacing:-2px}.section-heading{grid-template-columns:1fr 2fr}.section-heading p:last-child{grid-column:2}.gallery{grid-template-columns:repeat(2,1fr)}.section{padding:65px 5%}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{padding:22px 5%;flex-wrap:wrap;gap:24px}nav{width:100%;justify-content:space-between;font-size:12px;gap:8px}.brand{font-size:28px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 5%}h1{font-size:49px;letter-spacing:-2.5px}.hero-image{height:460px}.hero-bottom{margin-top:30px}.strip{font-size:10px;letter-spacing:.8px;padding:20px 5%}.section-heading{display:block}.section-heading h2{margin-bottom:25px}.service-grid{grid-template-columns:1fr}.service-grid article{margin:0;padding:27px 0}.about{grid-template-columns:1fr;gap:40px}.portrait{max-width:420px}.gallery{gap:15px}.gallery img{height:230px}figure:nth-child(even){padding-top:35px}figcaption{font-size:10px}.contact-row{display:block}.contact-links{flex-direction:column;gap:20px}footer{flex-wrap:wrap}footer p:last-child{width:100%;margin:0}h2{letter-spacing:-1.5px}html{scroll-padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Cinematic depth */
:root{--paper:#0b100e;--ink:#eef3ed;--green:#84db9d;--line:#ffffff20}body{background:var(--paper)}header{position:relative;z-index:5;background:#0b100ee8}.brand i{box-shadow:0 0 20px #84db9d60}.hero{min-height:730px;overflow:hidden;background:radial-gradient(ellipse at 80% 45%,#173c2b 0,transparent 58%)}.hero-copy{position:relative;z-index:2}.hero-copy .eyebrow{color:#a5b9ad}.hero-copy h1{font-weight:700}.hero-bottom p{color:#bac7bf}.button{background:#84db9d;color:#0b2114;border-radius:4px;box-shadow:0 10px 30px #0005}.button:hover{background:#a5ecb9}.hero-stage{position:relative;display:flex;align-items:center;justify-content:center;perspective:1200px;min-height:650px}.hero-image{width:77%;height:530px;overflow:visible;background:transparent;transform:rotateY(-14deg) rotateX(5deg) rotateZ(3deg);transform-style:preserve-3d;box-shadow:30px 40px 80px #0009;border:1px solid #ffffff35;border-radius:7px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.hero-image:before,.hero-image:after{content:'';position:absolute;inset:0;border:1px solid #84db9d45;border-radius:7px;transform:translateZ(-28px) translateX(18px);background:#18362655;z-index:-1}.hero-image:after{transform:translateZ(-56px) translateX(36px);background:#10291b55}.hero-image img{border-radius:7px;filter:saturate(.65);object-position:center 28%}.image-label{background:#0b100ed9;color:#fff;border:1px solid #ffffff30;transform:translateZ(45px);bottom:25px;left:-30px;right:45px;box-shadow:0 15px 30px #0008}.stage-ring{position:absolute;width:500px;height:500px;border:1px solid #84db9d30;border-radius:50%;transform:rotateY(55deg) rotateX(25deg);pointer-events:none}.ring-two{width:590px;height:590px;transform:rotateY(-30deg) rotateX(50deg);border-color:#84db9d15}.stage-caption{position:absolute;bottom:35px;right:12%;font-size:12px;letter-spacing:3px;color:#8fa999}.strip{background:#10291b;color:#b4d7be;border-block:1px solid #84db9d25}.section-heading p:last-child,.service-grid p{color:#aebdb3}.service-grid{gap:18px;border:none;perspective:1200px}.service-grid article{position:relative;padding:30px;margin:0;background:linear-gradient(135deg,#1a251e,#101712);border:1px solid #ffffff16;border-radius:6px;transform-style:preserve-3d;transition:transform .35s,border-color .35s,box-shadow .35s}.service-grid article:hover{border-color:#84db9d70;box-shadow:0 20px 45px #0006}.service-grid h3{transform:translateZ(18px)}.about{background:#111c15}.about-copy>p{color:#b5c4ba}.portrait{perspective:1100px}.portrait img{transform:rotateY(7deg);box-shadow:-20px 24px 50px #0007;border-radius:5px}.gallery{perspective:1300px;align-items:start}.gallery figure{padding-top:0;background:#121c16;border:1px solid #ffffff20;border-radius:5px;overflow:hidden;transform-style:preserve-3d;transition:transform .4s,box-shadow .4s}.gallery figure:nth-child(even){margin-top:55px}.gallery figure:hover{box-shadow:0 25px 50px #0008}.gallery figcaption{padding:18px 14px;color:#c4d5c9}.portfolio{background:radial-gradient(ellipse at right,#173424,transparent 60%)}.portfolio>p:not(.eyebrow){color:#b5c4ba}.contact{background:#9adfac;color:#102719}.contact em{color:#285c39}.contact .eyebrow{color:#2d583a}.contact .button{background:#102719;color:white}.contact-links{border-color:#10271940}.contact-links a:hover{text-decoration:underline}footer p{color:#a8b8ad}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.hero-image{height:480px;width:82%}.stage-ring{width:370px;height:370px}.ring-two{width:440px;height:440px}.hero-stage{min-height:600px}}@media(max-width:600px){.hero-stage{min-height:530px;padding:25px 0 65px;overflow:hidden}.hero-image{height:420px;width:75%;transform:rotateY(-10deg) rotateZ(2deg)}.hero-copy{padding-bottom:15px}.image-label{left:-20px;right:20px;font-size:10px;letter-spacing:1px}.stage-caption{bottom:20px;right:10%;font-size:10px}.hero-stage .stage-ring{width:370px;height:370px}.ring-two{width:450px!important;height:450px!important}.service-grid article{padding:27px}.gallery figure:nth-child(even){padding:0;margin-top:30px}.portrait img{transform:none}.hero{min-height:0}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}[data-tilt]{transition:none!important}}
.carousel-stage{perspective:1400px;min-width:0}.orbit{position:absolute;inset:60px 0 95px;transform-style:preserve-3d;animation:float-orbit 8s ease-in-out infinite}.orbit-card{position:absolute;left:14%;top:0;width:72%;height:100%;padding:0!important;margin:0!important;border:1px solid #ffffff35;border-radius:7px;background:#17281e;overflow:hidden;box-shadow:20px 30px 65px #0008;transition:transform 1.6s cubic-bezier(.22,.68,.22,1),opacity 1.3s,filter 1.3s;will-change:transform;transform-style:preserve-3d}.orbit-card img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.75)}.orbit-card figcaption{position:absolute;bottom:20px;left:18px;right:18px;padding:14px;background:#08110de0;color:#fff;border:1px solid #ffffff30;font-size:11px;letter-spacing:1.3px}.orbit-card[data-position="0"]{transform:translate3d(0,0,80px) rotateY(-9deg) rotateZ(2deg);opacity:1;z-index:5;filter:brightness(1)}.orbit-card[data-position="1"]{transform:translate3d(105px,-18px,-160px) rotateY(-25deg) rotateZ(7deg);opacity:.65;z-index:3;filter:brightness(.6)}.orbit-card[data-position="-1"]{transform:translate3d(-95px,10px,-150px) rotateY(22deg) rotateZ(-7deg);opacity:.6;z-index:3;filter:brightness(.6)}.orbit-card[data-position="2"]{transform:translate3d(160px,-10px,-320px) rotateY(-40deg);opacity:0;z-index:1}.orbit-card[data-position="-2"]{transform:translate3d(-160px,5px,-320px) rotateY(40deg);opacity:0;z-index:1}.carousel-controls{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:center;gap:15px;align-items:center;z-index:6;font-size:12px;color:#b4cabb}.carousel-controls button{background:#0b160fc9;border:1px solid #ffffff30;color:#d6e6da;padding:9px 12px;border-radius:20px;cursor:pointer;font:12px Arial}.carousel-controls button:hover{border-color:#84db9d}.carousel-controls button:focus-visible{outline:2px solid #84db9d;outline-offset:3px}.carousel-stage.paused .orbit{animation-play-state:paused}@keyframes float-orbit{0%,100%{transform:translateY(0) rotateX(1deg)}50%{transform:translateY(-12px) rotateX(-1deg)}}@media(max-width:600px){.carousel-stage{min-height:550px}.orbit{inset:40px 0 95px}.orbit-card{left:17%;width:66%}.orbit-card[data-position="0"]{transform:translateZ(35px) rotateY(-5deg) rotateZ(1deg)}.orbit-card[data-position="1"]{transform:translate3d(65px,-10px,-100px) rotateY(-15deg) rotateZ(5deg)}.orbit-card[data-position="-1"]{transform:translate3d(-65px,10px,-100px) rotateY(15deg) rotateZ(-5deg)}.orbit-card figcaption{left:10px;right:10px;font-size:9px;padding:10px;letter-spacing:.8px}.carousel-controls{gap:8px}.carousel-controls button{padding:9px 10px}}@media(prefers-reduced-motion:reduce){.orbit{animation:none}.orbit-card{transition:none;will-change:auto}}
/* Sections overlap as dimensional pages while preserving natural scrolling. */
.immersive-scroll main{isolation:isolate}.chapter{position:relative;padding-bottom:24vh;margin-bottom:-24vh;pointer-events:none}.chapter-panel{position:sticky!important;top:var(--pin-top,18px);min-height:85svh;background-color:#0b100e;transform-origin:center top;box-shadow:0 -18px 65px #0008,0 -1px 0 #ffffff25;backface-visibility:hidden;pointer-events:auto;overflow:hidden;opacity:1!important;transition:none!important}.chapter-panel:after{content:'';position:absolute;inset:0;background:#000;opacity:var(--chapter-shade,0);pointer-events:none;z-index:20}.chapter-panel.about{background-color:#111c15}.chapter-panel.contact{background-color:#9adfac}.chapter-panel.portfolio{background-color:#0b100e}.chapter:last-child{padding-bottom:0;margin-bottom:0}.immersive-scroll .strip{position:relative;z-index:2}.immersive-scroll footer{position:relative;z-index:10;background:#0b100e}.chapter-panel.reveal{opacity:1;transform:none}.chapter-panel.hero{min-height:730px}@media(max-width:600px){.chapter{padding-bottom:15vh;margin-bottom:-15vh}.chapter-panel{min-height:75svh}.chapter-panel.hero{min-height:0}}@media(prefers-reduced-motion:reduce){.chapter{padding:0;margin:0}.chapter-panel{position:relative!important;top:auto!important;transform:none!important;border-radius:0!important;box-shadow:none}.chapter-panel:after{display:none}}
/* Pin each page in the same parent so the following page truly covers it. */
.chapter-marker{height:1px;pointer-events:none}.immersive-scroll main{overflow:visible;padding-bottom:8vh}.immersive-scroll .chapter-panel{margin-bottom:30vh;transform-origin:center 12%;box-shadow:0 -25px 75px #000b,0 -2px 0 #ffffff40;overflow:hidden}.immersive-scroll .chapter-panel:last-child{margin-bottom:0}.immersive-scroll .strip{z-index:1;margin-top:-22vh;margin-bottom:22vh}.immersive-scroll footer{box-shadow:0 -15px 40px #0008}@media(max-width:600px){.immersive-scroll .chapter-panel{margin-bottom:22vh}.immersive-scroll .chapter-panel:last-child{margin-bottom:0}.immersive-scroll .strip{margin-top:-14vh;margin-bottom:14vh}}@media(prefers-reduced-motion:reduce){.immersive-scroll .chapter-panel{margin-bottom:0}.chapter-marker{display:none}}
/* A stable mobile viewport prevents address-bar changes from moving pinned panels. */
.immersive-scroll .chapter-panel{margin-bottom:45vh;min-height:0;backface-visibility:visible;overflow:clip}.immersive-scroll .chapter-panel.hero{min-height:730px}.immersive-scroll .strip{margin-top:-30vh;margin-bottom:30vh}.immersive-scroll .chapter-panel:last-child{position:relative!important;top:auto;margin-bottom:0}@media(max-width:600px){.immersive-scroll .chapter-panel{margin-bottom:35vh}.immersive-scroll .chapter-panel.hero{min-height:0}.immersive-scroll .strip{margin-top:-20vh;margin-bottom:20vh}.immersive-scroll .chapter-panel:last-child{margin-bottom:0}}
/* Finish the stack before the contact and footer so retired pages cannot reappear. */
.immersive-scroll main{padding-bottom:0}.immersive-scroll #contato{position:relative!important;top:auto!important;transform:none!important;border-radius:0!important;margin-bottom:0!important;min-height:0;overflow:visible;z-index:30!important}.immersive-scroll #contato:after{display:none}.immersive-scroll footer{z-index:40;isolation:isolate;transform:translateZ(0);margin-top:0}.immersive-scroll #portfolio{margin-bottom:18vh}@media(max-width:600px){.immersive-scroll #portfolio{margin-bottom:12vh}.immersive-scroll #contato{padding-bottom:55px}}
.project-card{display:block;padding:24px;background:#17251d;border:1px solid #35513f;border-radius:16px;color:inherit;text-decoration:none}.project-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.project-card h3{margin:18px 0 8px}.project-card p{font-size:14px}#projects{margin-top:32px}

footer .admin-access{font-size:12px;color:#a1aaa5;text-decoration:none;opacity:.7;padding:8px;white-space:nowrap}footer .admin-access:hover,footer .admin-access:focus-visible{opacity:1;color:#c7e9d3;text-decoration:underline}
