/* N Engenharia — versão de publicação */
:root{
  --ink:#0e1517;
  --ink-2:#172226;
  --paper:#f5f2ec;
  --paper-2:#ece8df;
  --white:#fff;
  --muted:#687074;
  --line:rgba(14,21,23,.14);
  --yellow:#e5b227;
  --max:1240px;
  --pad:clamp(22px,5vw,72px);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}.skip-link{position:fixed;left:16px;top:-70px;z-index:200;background:var(--yellow);color:var(--ink);padding:12px 16px;font-weight:700;transition:.2s}.skip-link:focus{top:16px}a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--max),calc(100% - (var(--pad)*2)));margin:0 auto}.site-header{position:fixed;inset:0 0 auto;z-index:80;background:rgba(245,242,236,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(14,21,23,.08);transition:.25s ease}.site-header.scrolled{box-shadow:0 14px 50px rgba(0,0,0,.08)}.nav-shell{height:78px;width:min(var(--max),calc(100% - (var(--pad)*2)));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;width:152px;height:auto}.nav{display:flex;align-items:center;gap:30px;font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}.nav a{position:relative;padding:10px 0}.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--ink);transition:.25s}.nav a:hover:after{right:0}.nav-cta{padding:12px 18px!important;background:var(--ink);color:var(--white)}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:6px 0}

.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#111}.hero-bg{position:absolute;inset:0;background:url('assets/hero.webp') center 48%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,12,.84) 0%,rgba(4,10,12,.48) 48%,rgba(4,10,12,.06) 78%),linear-gradient(0deg,rgba(4,10,12,.42),transparent 52%)}.hero-content{position:relative;z-index:2;padding-bottom:clamp(90px,12vh,138px);color:#fff}.eyebrow,.kicker{font-family:"Montserrat",sans-serif;font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.eyebrow{color:rgba(255,255,255,.72);margin:0 0 22px}.hero h1{font-family:"Montserrat",sans-serif;font-weight:300;font-size:clamp(58px,8vw,118px);line-height:.91;letter-spacing:-.055em;max-width:950px;margin:0}.hero h1 span{display:block;font-weight:300;font-style:italic;color:#f0cf73}.hero-lead{max-width:700px;font-size:clamp(17px,1.6vw,22px);line-height:1.6;color:rgba(255,255,255,.82);margin:30px 0 36px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{font-family:"Montserrat",sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:0 22px;font-size:13px;font-weight:750}.btn-primary{background:var(--yellow);color:#121718}.btn-secondary{color:#fff;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);backdrop-filter:blur(7px)}.hero-index{position:absolute;right:clamp(24px,5vw,68px);bottom:36px;color:#fff;z-index:3;display:flex;align-items:flex-start;gap:14px;font-size:11px;line-height:1.5;text-align:right}.hero-index span{color:#e8c35b;border-top:1px solid #e8c35b;padding-top:6px}.hero-index p{margin:0;color:rgba(255,255,255,.65)}

.manifesto{padding:clamp(95px,12vw,170px) 0}.manifesto-grid{display:grid;grid-template-columns:1.08fr .82fr;gap:clamp(60px,9vw,140px);align-items:center}.kicker{color:#84714b;margin:0 0 18px}.kicker.light{color:#e5be57}.manifesto h2,.section-head h2,.film-copy h2,.principles h2,.contact h2,.modal-copy h2{font-family:"Montserrat",sans-serif;font-weight:400;letter-spacing:-.045em}.manifesto h2{font-size:clamp(43px,5.2vw,73px);line-height:1.03;margin:0 0 32px}.manifesto-copy p{font-size:17px;line-height:1.75;color:#4f585a;max-width:720px}.manifesto-copy .lead{font-size:23px;line-height:1.52;color:var(--ink)}.manifesto-visual{margin:0;position:relative}.manifesto-visual img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.78) contrast(1.04)}.manifesto-visual:before{content:"";position:absolute;z-index:2;inset:-16px 16px 16px -16px;border:1px solid rgba(14,21,23,.18);pointer-events:none}.manifesto-visual figcaption{font-size:12px;line-height:1.6;color:#6a6f70;margin-top:18px}.manifesto-visual figcaption span{display:block;font-size:13px;font-weight:800;color:var(--ink);margin-bottom:2px}

.film-section{background:var(--ink);color:#fff;padding:clamp(90px,10vw,145px) 0}.film-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(44px,7vw,105px);align-items:center}.film-copy h2{font-size:clamp(42px,4.6vw,68px);line-height:1.03;margin:0 0 24px}.film-copy p{color:rgba(255,255,255,.64);font-size:16px;line-height:1.75}.sound-note{margin-top:22px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;padding:14px 16px;display:inline-flex;align-items:center;gap:40px;font-weight:700;cursor:pointer}.sound-note span{color:#efc75e}.film-frame{position:relative}.film-frame:before{content:"";position:absolute;left:-18px;top:-18px;width:72px;height:72px;border-left:1px solid #d8ad43;border-top:1px solid #d8ad43}.film-frame video{display:block;width:100%;aspect-ratio:16/9;background:#000;box-shadow:0 40px 90px rgba(0,0,0,.28)}

.services{padding:clamp(95px,12vw,160px) 0;background:#fff}.section-head{display:grid;grid-template-columns:1.4fr .6fr;gap:80px;align-items:end;margin-bottom:66px}.section-head h2{font-size:clamp(42px,5vw,68px);line-height:1.03;margin:0;max-width:840px}.section-head>p{font-size:15px;line-height:1.75;color:#666f71;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:260px;padding:28px 28px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:#fff;transition:.25s}.service-card:hover{background:var(--paper)}.service-card>span{font-size:10px;font-weight:800;color:#9a895f;letter-spacing:.15em}.service-card h3{font-size:21px;margin:88px 0 10px}.service-card p{margin:0;color:#6b7274;font-size:14px;line-height:1.65}

.projects{padding:clamp(95px,12vw,160px) 0;background:var(--paper-2)}.project-head{margin-bottom:52px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.project-card{position:relative;border:0;padding:0;text-align:left;min-height:520px;overflow:hidden;background:#111;color:#fff;cursor:pointer}.project-card-wide{grid-column:span 2;min-height:620px}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.project-card:hover img{transform:scale(1.035);filter:saturate(.8)}.project-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,10,12,.86),rgba(6,10,12,.03) 64%),linear-gradient(90deg,rgba(6,10,12,.26),transparent 55%)}.project-meta{position:absolute;left:34px;bottom:32px;right:80px;z-index:2;display:block}.project-meta small{display:block;font-size:10px;font-weight:800;letter-spacing:.15em;color:#e3c469;margin-bottom:10px}.project-meta strong{display:block;font-family:"Montserrat",sans-serif;font-size:clamp(32px,3vw,48px);font-weight:400;margin-bottom:8px}.project-meta em{display:block;font-size:14px;line-height:1.55;color:rgba(255,255,255,.75);font-style:normal;max-width:620px}.project-arrow{position:absolute;right:28px;bottom:34px;z-index:3;font-size:25px;color:#e7c15d}

.principles{padding:clamp(95px,11vw,150px) 0;background:#fff}.principles-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,9vw,135px)}.principles h2{font-size:clamp(42px,5vw,70px);line-height:1.03;margin:0}.principle-list{border-top:1px solid var(--line)}.principle-list article{display:grid;grid-template-columns:50px 190px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}.principle-list span{font-size:10px;color:#9d8b62;font-weight:800}.principle-list h3{font-size:17px;margin:0}.principle-list p{font-size:14px;line-height:1.65;color:#6a7274;margin:0}

.contact{background:var(--ink);color:#fff;padding:clamp(90px,10vw,145px) 0}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(60px,9vw,140px);align-items:end}.contact h2{font-size:clamp(48px,6vw,84px);line-height:.98;margin:0 0 22px}.contact p{max-width:660px;color:rgba(255,255,255,.6);line-height:1.7}.contact-links{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.15)}.contact-links>*{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:14px;color:rgba(255,255,255,.72)}.contact-links a:hover{color:#fff}.contact-links .contact-main{font-family:"Montserrat",sans-serif;font-size:clamp(25px,2.7vw,39px);color:#fff;display:flex;justify-content:space-between;align-items:center}.contact-main span{color:#e6be57;font-family:Arial,sans-serif}.footer{background:#090f11;color:#fff;border-top:1px solid rgba(255,255,255,.08);padding:34px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer img{width:140px;filter:brightness(0) invert(1);opacity:.9}.footer p{font-size:12px;color:rgba(255,255,255,.55);margin:10px 0 0}.footer a{font-size:12px;color:rgba(255,255,255,.65)}

.project-modal{position:fixed;inset:0;z-index:120;display:none}.project-modal[aria-hidden="false"]{display:block}.project-modal-backdrop{position:absolute;inset:0;background:rgba(5,10,12,.82);backdrop-filter:blur(5px)}.project-modal-panel{position:absolute;right:0;top:0;height:100%;width:min(1080px,92vw);background:var(--paper);overflow:auto;display:grid;grid-template-columns:.9fr 1.1fr;box-shadow:-30px 0 80px rgba(0,0,0,.3);animation:slideIn .35s ease both}.project-modal-close{position:absolute;right:18px;top:16px;z-index:6;width:44px;height:44px;border:0;background:rgba(14,21,23,.9);color:#fff;font-size:28px;cursor:pointer}.modal-media{min-height:100%;background:#111;display:grid;grid-template-rows:1fr 1fr;position:sticky;top:0;height:100vh}.modal-image-button{padding:0;border:0;background:#111;overflow:hidden;cursor:zoom-in}.modal-image-button img{width:100%;height:100%;object-fit:cover;display:block}.modal-copy{padding:70px clamp(32px,5vw,72px) 80px}.modal-copy h2{font-size:clamp(45px,5vw,72px);line-height:1;margin:0 0 24px}.modal-intro{font-size:21px;line-height:1.55;color:#293235}.modal-facts{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 34px}.modal-facts span{font-size:10px;font-weight:800;letter-spacing:.1em;padding:9px 11px;border:1px solid var(--line);color:#6d644e}.modal-story p{font-size:16px;line-height:1.78;color:#596164}.modal-story h3{font-size:16px;margin:34px 0 8px}.lightbox{position:fixed;inset:0;z-index:160;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:40px}.lightbox[aria-hidden="false"]{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes slideIn{from{transform:translateX(50px);opacity:.5}to{transform:none;opacity:1}}


.detailing{padding:clamp(100px,12vw,170px) 0;background:#11191c;color:#fff;overflow:hidden}
.detailing-intro{display:grid;grid-template-columns:.42fr 1.15fr .78fr;gap:clamp(34px,5vw,78px);align-items:start;margin-bottom:clamp(58px,8vw,105px)}
.detailing-intro .kicker{padding-top:10px}
.detailing blockquote{font-family:"Montserrat",sans-serif;font-weight:300;font-size:clamp(34px,4.3vw,64px);letter-spacing:-.04em;line-height:1.08;margin:0;color:#f5f2ec}
.detailing-copy{padding-top:8px;border-top:1px solid rgba(255,255,255,.18)}
.detailing-copy p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.62);margin:0 0 16px}
.detail-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}
.detail-feature{position:relative;min-height:500px;border:0;padding:0;overflow:hidden;background:#f4f2ed;text-align:left;cursor:zoom-in}
.detail-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f7f5f0;transition:transform .65s ease,filter .45s}
.detail-feature:hover img{transform:scale(1.025);filter:contrast(1.02)}
.detail-feature:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(0deg,rgba(9,14,16,.92),transparent)}
.detail-feature span{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}
.detail-feature small{display:block;font-size:9px;font-weight:800;letter-spacing:.16em;color:#e7c25e;margin-bottom:8px}
.detail-feature strong{display:block;font-family:"Montserrat",sans-serif;font-size:clamp(24px,2.4vw,37px);font-weight:400;line-height:1.05}
.detail-feature em{display:block;font-style:normal;font-size:12px;line-height:1.5;color:rgba(255,255,255,.66);margin-top:8px;max-width:420px}
.detail-caption{font-size:11px;letter-spacing:.05em;color:rgba(255,255,255,.42);margin:18px 0 0}
.project-noah img{object-position:center 52%}
.project-technical{background:#f4f1ea}
.project-technical img{object-fit:contain;background:#f4f1ea;filter:contrast(1.03)}
.project-technical:hover img{filter:contrast(1.03)}
.project-technical .project-shade{background:linear-gradient(0deg,rgba(7,13,15,.92) 0%,rgba(7,13,15,.22) 52%,rgba(7,13,15,.04) 75%)}
@media(max-width:980px){.nav{gap:14px}.detailing-intro{grid-template-columns:1fr 1.4fr}.detailing-intro .kicker{grid-column:1/-1}.detailing-copy{grid-column:2}.detail-gallery{grid-template-columns:1fr 1fr}.detail-feature:first-child{grid-column:auto;min-height:500px}.detail-feature{min-height:450px}.manifesto-grid,.film-grid,.principles-grid,.contact-grid{grid-template-columns:1fr}.section-head{grid-template-columns:1fr;gap:22px}.film-copy{max-width:760px}.film-frame{margin-top:15px}.service-grid{grid-template-columns:repeat(2,1fr)}.principle-list article{grid-template-columns:44px 160px 1fr}.project-modal-panel{grid-template-columns:1fr;width:min(780px,96vw)}.modal-media{position:relative;height:58vh;min-height:500px}.modal-copy{padding-top:46px}}
@media(max-width:760px){.detailing-intro{grid-template-columns:1fr;gap:28px}.detailing-copy{grid-column:auto}.detail-gallery{grid-template-columns:1fr}.detail-feature:first-child{grid-column:auto}.detail-feature{min-height:430px}.site-header{background:rgba(245,242,236,.95)}.nav-shell{height:70px}.brand img{width:132px}.menu-toggle{display:block}.nav{position:fixed;top:70px;left:0;right:0;background:var(--paper);padding:22px var(--pad) 32px;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:88svh}.hero-shade{background:linear-gradient(90deg,rgba(4,10,12,.81),rgba(4,10,12,.25)),linear-gradient(0deg,rgba(4,10,12,.48),transparent 55%)}.hero-content{padding-bottom:110px}.hero h1{font-size:clamp(55px,16vw,84px);max-width:90%}.hero-lead{font-size:16px;max-width:88%}.hero-index{display:none}.manifesto-grid{gap:55px}.manifesto-visual img{aspect-ratio:4/4.8}.service-grid{grid-template-columns:1fr}.service-card{min-height:210px}.service-card h3{margin-top:58px}.project-grid{grid-template-columns:1fr}.project-card,.project-card-wide{grid-column:auto;min-height:470px}.project-meta{left:22px;bottom:22px;right:60px}.principle-list article{grid-template-columns:36px 1fr;gap:14px}.principle-list p{grid-column:2}.contact-links .contact-main{font-size:27px}.footer-grid{align-items:flex-end}.project-modal-panel{width:100vw}.modal-media{height:55vh;min-height:390px;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.modal-copy{padding:40px 24px 70px}.modal-copy h2{font-size:46px}.modal-intro{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card img{transition:none}}

.hero h1,.manifesto h2,.section-head h2,.film-copy h2,.principles h2,.contact h2,.modal-copy h2,.project-meta strong,.detail-feature strong{font-synthesis:none}

/* Final publishing refinements */
.skip-link{position:fixed;left:14px;top:-60px;z-index:200;background:#fff;color:#111;padding:10px 14px;font-weight:700;transition:.2s}.skip-link:focus{top:14px}
a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.nav,.eyebrow,.kicker,.btn,.project-meta small,.service-card>span{font-family:"Montserrat",ui-sans-serif,Arial,sans-serif}
.detailing blockquote{font-family:"Montserrat",ui-sans-serif,Arial,sans-serif!important;font-weight:300!important;font-style:italic;letter-spacing:-.035em}
.detail-gallery-final{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.detail-gallery-final .detail-feature{min-height:410px}
.detail-gallery-final .detail-feature img{object-position:center}
.project-card, .detail-feature{border-radius:1px}
.contact-main{background:var(--yellow);color:var(--ink)!important;padding:18px 20px!important;margin-top:14px;border-bottom:0!important}
.contact-main:hover{background:#f0c348}
@media(max-width:760px){.detail-gallery-final{grid-template-columns:1fr!important}.detail-gallery-final .detail-feature{min-height:330px}.hero h1{letter-spacing:-.045em}}
