/* MARCELO NILO — V19 | HTML + CSS, sem dependências externas. */
@font-face{font-family:Montserrat;src:url('assets/fonts/font-1.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/font-3.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/font-4.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#151718;--muted:#666766;--accent:#be4511;--line:#dededa;--paper:#f5f3ef;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font-family:Montserrat,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,label:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}figure{margin:0}p{color:var(--muted);margin:0 0 22px}h1,h2,h3{line-height:1.15;margin:0;font-weight:600}h1{font-weight:700;letter-spacing:-.055em}h2{letter-spacing:-.035em}h3{letter-spacing:-.015em}.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.header{background:#fff}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:104px;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.monogram{width:53px;height:42px}.brand strong{display:block;font-size:16px;letter-spacing:.19em;line-height:1.2}.brand small{display:block;font-size:8px;letter-spacing:.28em;margin-top:6px}.header nav{display:flex;gap:29px;font-size:12px}.header nav a{padding:12px 0}.header nav a[aria-current]{color:var(--accent)}.skip{position:absolute;top:-100px;left:20px;z-index:50;padding:10px 20px;background:#fff}.skip:focus{top:10px}.button{background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 24px;min-height:50px;font-size:12px;border:1px solid var(--ink);transition:background .18s}.button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.button span{font-size:18px}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:16px}.text-link span{font-size:21px;color:var(--accent)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.17em;line-height:1.7;color:var(--muted)}
.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;min-height:595px;border-bottom:1px solid var(--line);position:relative}.hero-copy{position:relative;z-index:1;padding:45px 0}.hero h1{font-size:clamp(40px,4.7vw,62px);line-height:1.06;margin-bottom:25px;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{font-size:19px;line-height:1.55;margin-bottom:30px}.hero-art{height:590px;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-art img{width:100%;height:100%;object-fit:contain;transform:scale(1.18);transform-origin:50% 52%}
.section{padding:35px 0 42px;border-bottom:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.section-top h2{font-size:27px;display:flex;align-items:center;gap:30px}.section-top h2:after{content:'';width:48px;height:1px;background:var(--accent)}.featured-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:28px}.project-cover{display:block;background:#f7f7f5;overflow:hidden}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-cover:hover img{transform:scale(1.025)}.project-cover.model img,.project-cover.plan img{object-fit:contain}.featured-grid .project-cover{height:280px}.featured-grid .model img{transform:scale(1.16)}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0 8px}.project-caption h2{font-size:21px;margin-bottom:5px}.project-caption .eyebrow{font-size:9px}.featured-grid .project-caption .text-link{display:none}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:15px 0 22px}.services-grid article{display:flex;gap:22px;border-right:1px solid var(--line);padding-right:24px}.services-grid article:last-child{border:0}.services-grid svg{width:38px;height:38px;flex:0 0 38px;fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.services-grid h3{font-size:15px;margin:3px 0 10px}.services-grid p{font-size:12px;line-height:1.8;margin:0}.home-about{display:grid;grid-template-columns:1fr 1fr;gap:25px 70px;padding:58px 0}.home-about>.eyebrow{grid-column:1/-1}.home-about h2{font-size:39px}.home-about p{font-size:15px}.cta{background:var(--paper);margin:65px 0;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:25px;font-weight:400}.footer{border-top:1px solid var(--line);padding:30px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer strong{font-size:11px;letter-spacing:.16em}.footer span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.footer-links{display:flex;gap:22px;font-size:11px}.footer small{font-size:10px;color:var(--muted)}
.intro{padding:65px 0 42px;max-width:1000px}.intro .eyebrow{color:var(--accent);display:block;margin-bottom:15px}.intro h1{font-size:clamp(40px,5vw,64px);line-height:1.08;margin-bottom:20px}.intro>p{font-size:18px;max-width:740px;margin:0}.filters{padding:0;margin:0;border:0;min-width:0}.filters>label{display:inline-flex;padding:14px 0;margin-right:42px;font-size:13px;cursor:pointer;border-bottom:2px solid transparent}.filter-input,.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.filter-input:checked+label{color:var(--accent);border-color:var(--accent)}.filter-input:focus-visible+label{outline:3px solid var(--accent);outline-offset:3px}.project-list{border-top:1px solid var(--line);padding-top:28px;display:grid;gap:38px}.project-list .project-cover{height:430px}.project-list .model img{transform:scale(1.2)}.project-list .landscape{height:auto;aspect-ratio:8/3}.project-list .plan{height:470px}.project-list .project-caption{padding-top:18px}#f-residencial:checked~.project-list .project:not(.residencial),#f-comercial:checked~.project-list .project:not(.comercial),#f-lazer:checked~.project-list .project:not(.lazer){display:none}
.back{display:inline-block;margin-top:35px;font-size:12px;color:var(--muted)}.back+.intro{padding-top:28px}.detail-image{background:#fafaf8}.detail-image img{width:100%;height:auto;max-height:730px;object-fit:contain}.detail-image.landscape img{max-height:none}.detail-image.model img{padding:0 20px}.detail-image figcaption,figcaption{font-size:11px;color:var(--muted);padding:14px 0;background:#fff}.detail-copy{display:grid;grid-template-columns:1fr 1.4fr;gap:65px;padding:50px 0}.detail-copy h2{font-size:29px}.detail-copy p{font-size:15px}dl{margin:25px 0 0}dt{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:20px}dd{margin:4px 0 0;font-size:14px}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;padding:20px 0 30px}.about-grid p{font-size:15px}.about-grid .lead{font-size:23px;color:var(--ink);line-height:1.55}.about-grid blockquote{margin:34px 0;border-left:2px solid var(--accent);padding-left:22px;font-size:21px;line-height:1.5}.principles article{border-top:1px solid var(--line);padding:22px 0 12px}.principles span{font-size:12px;color:var(--accent)}.principles h2{font-size:23px;margin:8px 0}.principles p{font-size:13px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:20px 70px}.steps article{display:flex;gap:25px;border-top:1px solid var(--line);padding:28px 0}.steps article>span{color:var(--accent);font-size:21px}.steps h2{font-size:23px;margin-bottom:18px}.steps p{font-size:14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-bottom:65px}.contact-grid p{font-size:15px}.contact-grid img{width:100%;height:510px;object-fit:cover}.contact-list{margin-top:34px}.contact-list dd{border-bottom:1px solid var(--line);padding-bottom:18px;overflow-wrap:anywhere}.spacer{height:120px}
@media(min-width:1600px){.hero{min-height:650px}.hero-art{height:650px}}
@media(max-width:1000px){.header-inner{gap:20px}.header nav{gap:18px}.brand strong{font-size:13px}.brand small{font-size:7px}.brand{gap:10px}.monogram{width:42px}.hero{min-height:500px}.hero-art{height:500px}.hero h1{font-size:44px}.hero p{font-size:17px}.services-grid article{gap:12px;padding-right:15px}.services-grid svg{width:30px;flex-basis:30px}.about-grid,.contact-grid{gap:45px}.footer{flex-wrap:wrap}.featured-grid .project-cover{height:240px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{min-height:110px;flex-wrap:wrap;padding:20px 0 12px;gap:12px}.header nav{width:100%;justify-content:space-between;gap:8px;font-size:11px}.header nav a{padding:7px 0}.brand strong{font-size:14px}.brand small{font-size:7px}.hero{grid-template-columns:1fr;min-height:0;padding-top:20px}.hero-copy{padding:20px 0 0}.hero h1{font-size:clamp(33px,8.4vw,54px);white-space:normal;margin-bottom:18px}.hero p{font-size:16px;margin-bottom:22px}.hero-art{height:410px;margin-top:0}.hero-art img{transform:scale(1.18)}.button{min-height:48px;padding:12px 20px}.section{padding:28px 0}.section-top{gap:15px;flex-wrap:wrap;margin-bottom:20px}.section-top h2{font-size:23px;gap:15px}.section-top h2:after{width:26px}.text-link{font-size:11px;gap:9px}.featured-grid{grid-template-columns:1fr;gap:23px}.featured-grid .project-cover{height:260px}.featured-grid .landscape{height:auto;aspect-ratio:8/3}.featured-grid .project-caption .text-link{display:inline-flex}.project-caption h2{font-size:18px}.services-grid{grid-template-columns:1fr;gap:0;padding:0}.services-grid article{padding:22px 0;border-right:0;border-bottom:1px solid var(--line);gap:20px}.services-grid article:last-child{padding-bottom:0}.services-grid h3{font-size:16px}.services-grid p{font-size:13px}.home-about{grid-template-columns:1fr;gap:20px;padding:35px 0}.home-about h2{font-size:33px}.cta{margin:38px 0;padding:25px;flex-direction:column;align-items:start;gap:22px}.cta h2{font-size:23px}.footer{padding:27px 0;gap:22px;align-items:flex-start}.footer-links{gap:18px}.footer small{width:100%}.intro{padding:40px 0 30px}.intro h1{font-size:39px}.intro>p{font-size:16px}.filters>label{margin-right:21px;font-size:11px}.project-list{gap:25px;padding-top:22px}.project-list .project-cover{height:310px}.project-list .landscape{height:auto}.project-list .plan{height:380px}.project-caption{align-items:flex-start;gap:12px}.project-caption .eyebrow{font-size:8px;letter-spacing:.12em}.project-caption>.text-link{white-space:nowrap}.detail-copy,.about-grid,.steps,.contact-grid{grid-template-columns:1fr;gap:28px}.detail-copy{padding:32px 0}.detail-copy h2{font-size:26px}.about-grid .lead{font-size:21px}.contact-grid{margin-bottom:40px}.contact-grid img{height:auto}.detail-image img{max-height:540px}.steps{gap:0}.steps h2{font-size:22px}.steps article{gap:18px}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* V20 — logotipo original fornecido por Marcelo Nilo */
.brand-logo{display:block;width:350px;height:auto;max-width:100%}
@media(max-width:1000px){.brand-logo{width:295px}}
@media(max-width:700px){.brand-logo{width:min(320px,100%)}.brand{max-width:100%}}

/* V21 — coluna vertical da identidade original */
@font-face{font-family:Montserrat;src:url('assets/fonts/font-0.ttf') format('truetype');font-weight:300;font-display:swap}
.site-shell{display:grid;grid-template-columns:clamp(78px,7vw,114px) minmax(0,1fr);min-height:calc(100vh - 104px)}
.site-content{min-width:0}
.side-rail{position:relative;overflow:hidden;background:#080c0f}
.rail-monogram{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:17px;padding-top:43px;color:#f47700;font-size:51px;font-weight:300;line-height:1}
.rail-monogram i{display:block;width:43px;height:3px;background:#f47700}
.rail-pattern{position:absolute;top:540px;left:-90px;width:260px;height:650px;opacity:.65;background:repeating-linear-gradient(0deg,transparent 0 45px,#ffffff12 46px,transparent 47px),repeating-linear-gradient(90deg,transparent 0 45px,#ffffff12 46px,transparent 47px);transform:rotate(-35deg);pointer-events:none}
@media(max-width:1000px) and (min-width:701px){.site-shell{grid-template-columns:48px minmax(0,1fr)}.rail-monogram{font-size:30px;gap:12px;padding-top:35px}.rail-monogram i{width:25px;height:2px}.hero h1{font-size:40px}}
@media(max-width:700px){.site-shell{grid-template-columns:8px minmax(0,1fr)}.rail-monogram,.rail-pattern{display:none}}

/* V22 — testeira fixa, menu maior e acesso discreto ao currículo */
html{scroll-padding-top:125px}
.header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.header nav{font-size:16px;font-weight:600;gap:28px}
.curriculo-easter-egg{position:fixed;right:18px;bottom:18px;z-index:110;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#f7941d}
.curriculo-easter-egg:before{content:'';position:absolute;width:22px;height:22px;border-radius:50%;background:#080c0f;border:2px solid #f7941d;box-shadow:0 2px 9px #0002;transition:width .18s,height .18s}
.curriculo-easter-egg span{position:relative;opacity:0;font-size:11px;font-weight:700;transition:opacity .18s}
.curriculo-easter-egg:hover:before,.curriculo-easter-egg:focus-visible:before{width:40px;height:40px}
.curriculo-easter-egg:hover span,.curriculo-easter-egg:focus-visible span{opacity:1}
@media(max-width:1000px){.header-inner{flex-wrap:wrap;gap:4px;padding-block:12px}.header nav{width:100%;justify-content:space-between;gap:12px;font-size:15px}.header nav a{padding:8px 0}html{scroll-padding-top:150px}}
@media(max-width:700px){.header nav{font-size:14px;gap:5px}.header nav a{padding:10px 0}.header-inner{gap:5px}.curriculo-easter-egg{right:10px;bottom:12px}}
@media(max-width:360px){.header nav{font-size:13px}}
