
/* NICHO 2026 — editorial cinematic design system, version 0.2 */
:root{--lime:#f4f5f2;--ink:#080a08;--paper:#fff;--night:#050505;--radius:0px}
body{background:#fff;color:#111;font-weight:400}
.brand span,.footer-brand span{color:#fff}.footer-brand span{color:#fff}
.topbar{background:rgba(0,0,0,.07);border-bottom:1px solid transparent}.topbar.is-scrolled{background:rgba(5,5,5,.94)}
.nav-links a{font-size:13px;font-weight:480}.nav-cta{border-radius:0;border-color:rgba(255,255,255,.65);font-weight:500;font-size:12px}
.nav-cta:hover{background:#fff;border-color:#fff}
.nx-label{font-size:11px;letter-spacing:.17em;text-transform:uppercase;line-height:1.7;font-weight:560;color:#656a65}.nx-label.light{color:#b9beba}
.nx-hero{background:#000;color:white;min-height:850px;height:max(800px,100svh);position:relative;overflow:hidden}
.nx-hero:after{content:"";position:absolute;inset:auto 0 0;height:280px;pointer-events:none;background:linear-gradient(transparent,#000)}
.nx-hero-grain{position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' seed='8' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E")}
.nx-hero-shell{position:relative;height:100%;z-index:2;display:flex;flex-direction:column}
.nx-hero-overline{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.13em;margin-top:125px;color:#c7cac7;z-index:4}
.nx-hero-sculpture{position:absolute;width:min(66vw,990px);height:71%;right:-15%;top:10%;pointer-events:none;overflow:hidden;transform:translate3d(var(--orb-x,0px),var(--orb-y,0px),0);will-change:transform;filter:contrast(1.12)}
.nx-hero-sculpture img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;opacity:.85;mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 85%,transparent 100%)}
.nx-monolith{position:relative;margin-top:auto;margin-bottom:25px;z-index:3;isolation:isolate}
.nx-monolith h1,.nx-monolith-ghost{font-size:clamp(150px,24.5vw,420px);font-weight:660;line-height:.7;letter-spacing:-.11em;margin:0;margin-left:-.065em;display:block;white-space:nowrap}
.nx-monolith h1{background:linear-gradient(178deg,#f6faf6 0%,#babdbe 13%,#2c3031 25%,#eff2f0 35%,#858c8a 43%,#f3f5f2 53%,#4d5450 65%,#e0e7e1 79%,#adb5ae 100%);background-size:100% 150%;background-position:50% 20%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 7px rgba(255,255,255,.11));position:relative;z-index:2}
.nx-monolith .nx-dot{font-size:.75em;color:#fff;background:none;-webkit-text-fill-color:#fff}
.nx-monolith-ghost{position:absolute;inset:-10px auto auto 2px;color:rgba(255,255,255,.16);-webkit-text-stroke:1px rgba(255,255,255,.3);filter:blur(8px);z-index:1;pointer-events:none}
.nx-hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-bottom:87px;position:relative;z-index:3}
.nx-hero-intro{max-width:520px}.nx-hero-intro .nx-label{color:#b3bbb3}.nx-hero-intro p{font-weight:340;font-size:clamp(24px,3.1vw,46px);line-height:1.13;letter-spacing:-.056em;margin:15px 0 0;color:#fff}
.nx-hero-intro-right{display:grid;grid-template-columns:repeat(2,max-content);column-gap:30px;row-gap:11px;font-size:12px;color:#b2b9b2}
.nx-hero-intro-right span:before{content:"↗";color:#fff;margin-right:8px}
.nx-scroll-prompt{position:absolute;bottom:40px;left:40px;display:flex;align-items:center;gap:45px;color:#aeb5af;font-size:10px;letter-spacing:.14em;z-index:4}
.nx-scroll-prompt span{font-size:20px;color:#fff;animation:nx-nudge 1.8s ease-in-out infinite}
.nx-hero-coordinate{position:absolute;bottom:43px;right:40px;color:#8b948c;z-index:4;font-size:11px}
@keyframes nx-nudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(6px)}}
.nx-section-top{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:600;letter-spacing:.16em;color:#666d67;line-height:1.7}
.nx-manifesto{background:#fff;color:#0b0e0c;padding:110px 0 135px}
.nx-manifesto-inner{min-height:620px;display:flex;flex-direction:column}
.nx-manifesto-title{font-size:clamp(48px,6.7vw,102px);font-weight:340;line-height:1.06;letter-spacing:-.07em;margin:145px 0 80px;max-width:1280px}
.nx-manifesto-title span{color:#949b96}.nx-manifesto-title i{font-style:normal;border-bottom:2px solid #111}
.nx-manifesto-foot{margin-top:auto;display:flex;align-items:start;gap:45px;justify-content:flex-end}
.nx-manifesto-foot p{font-size:clamp(17px,1.8vw,23px);line-height:1.5;letter-spacing:-.025em;max-width:460px;font-weight:360;margin:0}
.nx-tiny-cross{font-size:40px;font-weight:200;margin-top:-12px}
.nx-motion-scene{height:max(600px,85svh);min-height:600px;position:relative;color:white;background:#0b0c0d;overflow:hidden;display:flex;align-items:center}
.nx-motion-image{position:absolute;inset:0;overflow:hidden}.nx-motion-image img{height:100%;width:100%;object-fit:cover;filter:contrast(1.1) brightness(.58)}
.nx-motion-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.16) 75%),linear-gradient(transparent,rgba(0,0,0,.18))}
.nx-motion-content{position:relative;z-index:2;width:100%}
.nx-motion-content h2{font-size:clamp(49px,7.5vw,117px);line-height:1.02;font-weight:350;letter-spacing:-.073em;margin:48px 0 42px}
.nx-motion-content h2 em{font-style:normal;color:#b2b8b3}
.nx-arrow-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid rgba(255,255,255,.8);padding:12px 0 15px;font-size:14px;font-weight:500;color:white}
.nx-arrow-link span{font-size:19px;transition:transform .3s}.nx-arrow-link:hover span{transform:translate(5px,-4px)}
.nx-solutions{padding:125px 0 145px;background:#fff}
.nx-section-title-row{display:flex;align-items:end;justify-content:space-between;gap:60px;margin:92px 0 90px}
.nx-section-title-row h2,.nx-flow-header h2{font-size:clamp(58px,8vw,122px);letter-spacing:-.079em;line-height:.98;font-weight:370;margin:0}
.nx-section-title-row h2 em,.nx-flow-header h2 em{font-style:normal;color:#999e9a}
.nx-section-title-row p{max-width:360px;color:#606960;font-size:18px;line-height:1.6;margin:0}
.nx-solutions-index{border-top:1px solid #1d211d}
.nx-solution-row{display:grid;grid-template-columns:70px 1fr 65px;gap:30px;align-items:center;min-height:190px;border-bottom:1px solid #c9cec9;color:#0d100e;transition:padding .3s,background .3s}
a.nx-solution-row:hover{padding-left:15px;background:#f5f6f3}
.nx-s-number{align-self:start;padding-top:36px;color:#798179;font-size:12px;font-weight:600}
.nx-solution-row h3{font-size:clamp(39px,5vw,74px);font-weight:380;line-height:1;letter-spacing:-.068em;margin:0 0 14px}
.nx-solution-row p{font-size:15px;line-height:1.55;color:#677167;margin:0}
.nx-s-arrow{font-size:35px;font-weight:250;align-self:center;justify-self:end;transition:transform .2s}a.nx-solution-row:hover .nx-s-arrow{transform:translate(6px,-6px)}
.nx-showcase{height:max(680px,95svh);position:relative;background:#11181c;overflow:hidden;display:flex;align-items:end;color:white}
.nx-showcase-image{position:absolute;inset:0}.nx-showcase-image img{width:100%;height:100%;object-fit:cover;opacity:.77}
.nx-showcase-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.09)),linear-gradient(transparent,rgba(0,0,0,.73))}
.nx-showcase-content{position:relative;z-index:2;padding-bottom:105px;width:100%}
.nx-showcase h2{font-size:clamp(57px,8vw,120px);line-height:1.01;font-weight:365;letter-spacing:-.08em;margin:26px 0 25px}
.nx-showcase p{max-width:590px;color:#e0e6e1;line-height:1.65;font-size:19px}
.nx-flow-section{background:#f5f5f3;padding:130px 0 140px}
.nx-flow-header{display:flex;justify-content:space-between;gap:65px;align-items:end;margin:90px 0 70px}
.nx-flow-header h2{font-size:clamp(66px,9vw,125px)}.nx-flow-header>div{max-width:410px}
.nx-flow-header p{font-size:18px;color:#626c65;line-height:1.65}.nx-demo-note{color:#797f78;font-size:10px;letter-spacing:.12em}
.nx-flow-demo{background:#101311;color:#fff;min-height:340px;display:grid;grid-template-columns:200px 1fr}
.nx-flow-tabs{border-right:1px solid #343a34;padding:32px 0}
.nx-flow-tab{width:100%;display:flex;justify-content:space-between;gap:10px;text-align:left;border:0;background:none;color:#888f8a;padding:19px 29px;font-size:15px;cursor:pointer;transition:.2s}
.nx-flow-tab.active,.nx-flow-tab:hover{background:#252b26;color:white}
.nx-flow-canvas{padding:75px 50px;display:flex;flex-direction:column;justify-content:center;gap:45px}
.nx-flow-nodes{display:flex;align-items:center;justify-content:space-between;gap:13px}
.nx-flow-node{padding:25px 20px;border:1px solid #65716a;flex:1;min-height:110px;display:flex;flex-direction:column;justify-content:space-between}
.nx-flow-node:nth-of-type(3){border-color:#fff;background:#eceeeb;color:#121512}
.nx-flow-node span{color:#a6aea8;font-size:10px;letter-spacing:.12em}.nx-flow-node strong{font-size:21px;letter-spacing:-.035em;font-weight:430}
.nx-flow-node:nth-of-type(3) span{color:#616e64}
.nx-flow-join{font-size:24px;color:#9ca59d}
.nx-flow-result{font-size:19px;color:#abb9ad;font-weight:350}
.nx-text-link{display:inline-block;color:#111;font-size:14px;font-weight:550;border-bottom:1px solid #111;margin-top:40px;padding-bottom:10px}.nx-text-link span{margin-left:30px}
.nx-final{background:#080a09;color:#fff;padding:120px 0 115px}
.nx-final h2{font-size:clamp(72px,11vw,166px);font-weight:360;letter-spacing:-.083em;line-height:.98;margin:75px 0 90px}
.nx-final h2 em{font-style:normal;color:#909993}
.nx-final-bottom{display:flex;justify-content:space-between;align-items:end;gap:45px}
.nx-final-bottom p{font-size:21px;line-height:1.5;max-width:480px;font-weight:350}
.nx-big-link{font-size:clamp(32px,5vw,63px);letter-spacing:-.055em;line-height:1;display:flex;gap:24px;align-items:center;border-bottom:1px solid white;padding-bottom:16px}
.nx-big-link span{font-size:clamp(28px,4vw,54px);transition:.25s}.nx-big-link:hover span{transform:translate(5px,-5px)}
/* suppress legacy footer CTA on pages that have a cinematic in-page final section */
body:has(.nx-final) .footer-cta{display:none}
body:has(.nx-hero) .footer-cta{display:none}
.footer{background:#080a09;border-top:1px solid #333}
.footer-brand{font-weight:420;letter-spacing:-.08em}
.nx-pagehead{background:#080908;color:white;padding:200px 0 100px;min-height:690px}
.nx-pagehead h1{font-size:clamp(72px,10.5vw,154px);line-height:.94;letter-spacing:-.082em;font-weight:370;margin:55px 0 35px}
.nx-pagehead h1 em{font-style:normal;color:#9da59e}
.nx-pagehead p{font-size:clamp(18px,2vw,23px);font-weight:350;line-height:1.65;max-width:690px;color:#bbc2bc}
.nx-page-index{display:block;margin-top:70px;font-size:11px;letter-spacing:.14em;color:#999f99}
.nx-micro{padding:110px 0}.nx-micro .nx-manifesto-title{margin:100px 0 35px;max-width:1150px}
.nx-page-solution{padding-top:140px}
@media(min-width:1550px){.nx-monolith h1,.nx-monolith-ghost{font-size:min(25.4vw,430px)}}
@media(max-width:1100px){.nx-hero-sculpture{right:-28%;width:85vw}.nx-monolith h1,.nx-monolith-ghost{font-size:25vw}.nx-hero-overline{margin-top:110px}.nx-showcase-content{padding-bottom:65px}}
@media(max-width:780px){
 .nx-hero{min-height:760px;height:100svh;max-height:1100px}
 .nx-hero-overline{margin-top:104px;font-size:9px}.nx-right-overline{display:none}
 .nx-hero-sculpture{width:135vw;right:-54%;top:8%;height:61%;opacity:.7}
 .nx-monolith{margin-bottom:65px}.nx-monolith h1,.nx-monolith-ghost{font-size:28vw}
 .nx-hero-bottom{flex-direction:column;align-items:start;gap:25px;padding-bottom:110px}.nx-hero-intro p{font-size:32px}
 .nx-hero-intro-right{grid-template-columns:repeat(2,max-content);column-gap:21px;row-gap:10px;font-size:11px}
 .nx-scroll-prompt{left:22px;bottom:35px}.nx-hero-coordinate{right:22px;bottom:36px}
 .nx-manifesto{padding:75px 0 85px}.nx-manifesto-inner{min-height:530px}.nx-manifesto-title{font-size:clamp(42px,10.5vw,67px);margin:95px 0 70px}.nx-manifesto-foot{justify-content:space-between;gap:20px}.nx-manifesto-foot p{font-size:17px}
 .nx-motion-scene{min-height:560px;height:78svh}.nx-motion-content h2{font-size:clamp(47px,9vw,80px);margin:45px 0}
 .nx-solutions{padding:80px 0 85px}.nx-section-title-row{flex-direction:column;align-items:start;gap:30px;margin:60px 0}.nx-section-title-row h2{font-size:clamp(57px,10vw,84px)}.nx-section-title-row p{font-size:16px}
 .nx-solution-row{grid-template-columns:35px 1fr 30px;gap:13px;min-height:165px}.nx-solution-row h3{font-size:35px}.nx-solution-row p{font-size:13px}.nx-s-number{padding-top:32px}.nx-s-arrow{font-size:22px}
 .nx-showcase{height:700px}.nx-showcase-content{padding-bottom:75px}.nx-showcase h2{font-size:60px}.nx-showcase p{font-size:17px}
 .nx-flow-section{padding:75px 0}.nx-flow-header{flex-direction:column;align-items:start;margin:65px 0 40px;gap:15px}.nx-flow-header h2{font-size:75px}.nx-flow-header p{font-size:16px}
 .nx-flow-demo{grid-template-columns:1fr}.nx-flow-tabs{display:flex;padding:0;border-bottom:1px solid #394139;border-right:0}.nx-flow-tab{padding:20px 11px;font-size:13px}.nx-flow-canvas{padding:30px 18px}.nx-flow-nodes{flex-direction:column;align-items:stretch}.nx-flow-node{min-height:80px}.nx-flow-join{transform:rotate(90deg);text-align:center}.nx-flow-result{font-size:16px}
 .nx-final{padding:85px 0}.nx-final h2{font-size:clamp(69px,12vw,99px);margin:55px 0}.nx-final-bottom{flex-direction:column;align-items:start;gap:20px}.nx-final-bottom p{font-size:18px}.nx-big-link{font-size:45px}
 .nx-pagehead{min-height:570px;padding:165px 0 75px}.nx-pagehead h1{font-size:clamp(69px,11vw,91px)}
}
@media(prefers-reduced-motion:reduce){.nx-scroll-prompt span{animation:none}.nx-hero-sculpture{transform:none!important}.nx-enter{transition:none!important}}


/* Editorial discipline across internal pages */
.page-head{background:#050505;color:#fff;min-height:700px;padding-top:210px}
.page-head:after{opacity:.18}
.page-head h1{font-weight:370;letter-spacing:-.085em;line-height:.96}
.page-head p{font-weight:340;color:#bfc5c0}
.page-head .tag{font-weight:470;letter-spacing:.15em}
.section .intro-line h2,.split h2,.reading h2,.statement{font-weight:380;letter-spacing:-.065em}
.tile,.feature-box,.service,.contact-panel{border-radius:0;box-shadow:none}
.tile,.service{background:#fff;border:0;border-bottom:1px solid #b8c0b9}
.tile h3,.service h3{font-weight:420}
.tile a,.service a{font-weight:480}
.section{padding-top:135px;padding-bottom:135px}
.service-focus{background:#f5f5f3}
.feature-box{min-height:275px}
.feature-box h3{font-weight:440}
.step{grid-template-columns:85px 1fr 1fr}
.step h3{font-weight:430}
.btn,.pill,.tag,.nav-cta,.badge{border-radius:0}
.btn{font-weight:510}
.btn-lime{background:#fff;color:#111}
.btn-dark{background:#0c0f0c;color:#fff}
.footer-cta h2{font-weight:370;letter-spacing:-.075em}
.highlight-band{background:#dedfda}
.highlight-band h2{font-weight:400}
.contact-panel{background:#f0f1ed;border:1px solid #dde2dc}
@media(max-width:760px){.page-head{min-height:auto;padding:158px 0 90px}.page-head h1{font-size:clamp(56px,11vw,90px)}.section{padding:82px 0}.step{grid-template-columns:38px 1fr}.step p{grid-column:2}}

/* Brand rules appended last: win over legacy navigation and responsive breakpoints */

/* Nicho Agencia Digital: commercial identity and editorial portfolio */
.nx-brand-contact{display:flex;flex-direction:column;gap:12px;margin-top:23px;font-size:13px}
.nx-brand-contact a{color:#e1e6df;overflow-wrap:anywhere}.nx-brand-contact address{font-style:normal;color:#adb8ad;line-height:1.7}
.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 21px}
.topbar .nav-links{gap:22px}
.nx-projects-teaser{background:#121512;color:#fff;padding:110px 0}
.nx-projects-teaser h2{font-size:clamp(57px,8vw,126px);font-weight:350;line-height:1;letter-spacing:-.074em;margin:38px 0}
.nx-projects-teaser p{font-size:20px;max-width:700px;line-height:1.65;color:#b7c4b7}
.nx-business-contact{background:#fff;color:#0c0f0d;padding:115px 0}
.nx-business-contact h2{font-size:clamp(44px,6vw,90px);font-weight:380;letter-spacing:-.069em;line-height:1.08;max-width:1050px;margin:40px 0}
.nx-business-contact>div>p{font-size:18px;line-height:1.7}
.nx-business-contact address{font-style:normal;font-size:17px;line-height:1.65}
.nx-business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:65px 0}
.nx-business-grid>*{display:flex;flex-direction:column;gap:15px;border-top:1px solid #bfc6be;padding-top:22px;overflow-wrap:anywhere}
.nx-business-grid span{font-size:11px;letter-spacing:.14em;color:#6c786c}
.nx-business-grid strong{font-size:clamp(19px,2vw,29px);font-weight:410;letter-spacing:-.035em}
.nx-port-hero{background:#050505;color:#fff;padding:190px 0 110px}
.nx-port-hero h1{font-size:clamp(62px,10vw,154px);letter-spacing:-.084em;font-weight:350;line-height:.97;margin:35px 0}
.nx-port-hero h1 em{font-style:normal;color:#a1aba1}
.nx-port-hero p{font-size:21px;line-height:1.65;color:#c6cbc6;max-width:850px}
.nx-port-list{padding:120px 0;background:#fff}
.nx-port-row{display:grid;grid-template-columns:150px 1fr 32px;gap:30px;align-items:start;padding:39px 0;border-bottom:1px solid #c3ccc3}
.nx-port-row:first-of-type{margin-top:30px;border-top:1px solid #a7b0a6}
.nx-port-row>span{font-size:12px;color:#788578}
.nx-port-row h2{font-size:clamp(35px,5vw,70px);letter-spacing:-.06em;line-height:1.05;font-weight:410;margin:0 0 15px}
.nx-port-row p{font-size:16px;color:#606c61;line-height:1.7;max-width:800px}
.nx-port-focus{background:#f1f2ef;padding:100px 0}
.nx-port-focus h2{font-size:clamp(45px,6.5vw,93px);letter-spacing:-.07em;line-height:1.04;font-weight:350}
.nx-port-focus p{font-size:19px;line-height:1.75;color:#627063;max-width:700px}
@media(max-width:1200px){.topbar .nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:#0b0c0b;padding:23px 40px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100svh - 82px);overflow-y:auto}.topbar .nav-links.open{display:flex}.topbar .nav-links a{font-size:18px;padding:12px 0}.topbar .menu-toggle{display:block;margin-left:auto}}
@media(max-width:780px){.nx-business-grid{grid-template-columns:1fr;gap:15px}.nx-port-row{grid-template-columns:1fr 26px;gap:10px}.nx-port-row>span:first-child{grid-column:1/-1}.nx-port-hero{padding:145px 0 80px}.nx-port-hero h1{font-size:clamp(55px,11vw,90px)}.nx-port-list,.nx-port-focus,.nx-business-contact,.nx-projects-teaser{padding:75px 0}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .nav-links{top:70px;padding:20px 25px;max-height:calc(100svh - 70px)}}
